From: heltai )
-#
-
-MACRO(DEAL_II_APPEND_LIBRARIES)
-
- SET(_toggle "general")
- FOREACH(_tmp ${ARGN})
- IF( "${_tmp}" STREQUAL "debug" OR
- "${_tmp}" STREQUAL "optimized" OR
- "${_tmp}" STREQUAL "general" )
- SET(_toggle "${_tmp}")
- ELSE()
- IF("${_toggle}" STREQUAL "general")
- LIST(APPEND DEAL_II_EXTERNAL_LIBRARIES ${_tmp})
- ELSEIF("${_toggle}" STREQUAL "debug")
- LIST(APPEND DEAL_II_EXTERNAL_LIBRARIES_DEBUG ${_tmp})
- ELSEIF("${_toggle}" STREQUAL "optimized")
- LIST(APPEND DEAL_II_EXTERNAL_LIBRARIES_RELEASE ${_tmp})
- ENDIF()
- ENDIF()
- ENDFOREACH()
-
-ENDMACRO()
diff --git a/deal.II/cmake/macros/macro_deal_ii_invoke_autopilot.cmake b/deal.II/cmake/macros/macro_deal_ii_invoke_autopilot.cmake
index 38c93daec9..29867f93f8 100644
--- a/deal.II/cmake/macros/macro_deal_ii_invoke_autopilot.cmake
+++ b/deal.II/cmake/macros/macro_deal_ii_invoke_autopilot.cmake
@@ -152,7 +152,7 @@ ${_switch_targets}#
# $ make edit_cache - to change (cached) configuration variables
# and rerun the configure and generate phases of CMake
#
-# $ make strip_comments - strip the source files in this
+# $ make strip_comments - to strip the source files in this
# directory off the documentation comments
# $ make clean - to remove the generated executable as well as
# all intermediate compilation files
diff --git a/deal.II/cmake/macros/macro_pickup_tests.cmake b/deal.II/cmake/macros/macro_pickup_tests.cmake
index 2b0ace6afb..1e840dee4a 100644
--- a/deal.II/cmake/macros/macro_pickup_tests.cmake
+++ b/deal.II/cmake/macros/macro_pickup_tests.cmake
@@ -74,12 +74,12 @@ MACRO(DEAL_II_PICKUP_TESTS)
SET(_define_test FALSE)
ENDIF()
ELSE()
- MESSAGE(WARNING "
+ MESSAGE(FATAL_ERROR "
Invalid feature constraint \"${_match}\" in file
\"${_comparison}\":
-The feature \"DEAL_II_${_feature}\" does not exist. Test dropped.\n"
+The feature \"DEAL_II_${_feature}\" does not exist.\n"
)
- SET(_define_test FALSE)
+ #SET(_define_test FALSE)
ENDIF()
ENDFOREACH()
diff --git a/deal.II/cmake/macros/macro_register_feature.cmake b/deal.II/cmake/macros/macro_register_feature.cmake
new file mode 100644
index 0000000000..a4408fe8d9
--- /dev/null
+++ b/deal.II/cmake/macros/macro_register_feature.cmake
@@ -0,0 +1,99 @@
+## ---------------------------------------------------------------------
+## $Id$
+##
+## Copyright (C) 2013 by the deal.II authors
+##
+## This file is part of the deal.II library.
+##
+## The deal.II library is free software; you can use it, redistribute
+## it, and/or modify it under the terms of the GNU Lesser General
+## Public License as published by the Free Software Foundation; either
+## version 2.1 of the License, or (at your option) any later version.
+## The full text of the license can be found in the file LICENSE at
+## the top level of the deal.II distribution.
+##
+## ---------------------------------------------------------------------
+
+#
+# This macro is used for the feature configuration in deal.II
+#
+# Usage:
+# REGISTER_FEATURE(feature)
+#
+# This macro will
+#
+# - add ${feature}_INCLUDE_DIRS and ${feature}_INCLUDE_PATH
+# to the list of (internal) include
+# directories
+# - and if ${feature}_ADD_TO_USER_INCLUDE_DIRS is defined also to
+# DEAL_II_USER_INCLUDE_DIRS
+#
+# - add ${feature}_LINKER_FLAGS and ${feature}_LINK_FLAGS to
+# DEAL_II_LINKER_FLAGS
+#
+# - add ${feature}_CXX_FLAGS and ${feature}_COMPILE_FLAGS to
+# CMAKE_CXX_FLAGS
+#
+# - add ${feature}_LIBRARIES to the list of deal.II libraries depending
+# on general, optimized or debug keyword
+#
+
+
+MACRO(REGISTER_FEATURE _feature)
+ MESSAGE(STATUS "Register enabled external feature ${_feature}:")
+
+ # variables for include directories:
+ FOREACH(_var ${_feature}_INCLUDE_DIRS ${_feature}_INCLUDE_PATH)
+ IF(DEFINED ${_var})
+ MESSAGE(STATUS " ${_var}")
+ INCLUDE_DIRECTORIES(${${_var}})
+ IF(${_feature}_ADD_TO_USER_INCLUDE_DIRS)
+ LIST(APPEND DEAL_II_USER_INCLUDE_DIRS ${${_var}})
+ ENDIF()
+ ENDIF()
+ ENDFOREACH()
+
+ # variables for linker flags:
+ FOREACH(_var ${_feature}_LINKER_FLAGS ${_feature}_LINK_FLAGS)
+ IF(DEFINED ${_var})
+ MESSAGE(STATUS " ${_var}")
+ ADD_FLAGS(DEAL_II_LINKER_FLAGS "${${_var}}")
+ ENDIF()
+ ENDFOREACH()
+
+ # variables for compiler flags:
+ FOREACH(_var ${_feature}_CXX_FLAGS ${_feature}_COMPILE_FLAGS)
+ IF(DEFINED ${_var})
+ MESSAGE(STATUS " ${_var}")
+ ADD_FLAGS(CMAKE_CXX_FLAGS "${${_var}}")
+ ENDIF()
+ ENDFOREACH()
+
+ IF(DEFINED ${_feature}_LIBRARIES)
+ MESSAGE(STATUS " ${_feature}_LIBRARIES")
+ #
+ # Add ${_feature}_LIBRARIES to
+ # DEAL_II_EXTERNAL_LIBRARIES
+ # DEAL_II_EXTERNAL_LIBRARIES_DEBUG
+ # DEAL_II_EXTERNAL_LIBRARIES_RELEASE
+ # depending on the "optmized", "debug" or "general" keyword
+ #
+ SET(_toggle "general")
+ FOREACH(_tmp ${${_feature}_LIBRARIES})
+ IF( "${_tmp}" STREQUAL "debug" OR
+ "${_tmp}" STREQUAL "optimized" OR
+ "${_tmp}" STREQUAL "general" )
+ SET(_toggle "${_tmp}")
+ ELSE()
+ IF("${_toggle}" STREQUAL "general")
+ LIST(APPEND DEAL_II_EXTERNAL_LIBRARIES ${_tmp})
+ ELSEIF("${_toggle}" STREQUAL "debug")
+ LIST(APPEND DEAL_II_EXTERNAL_LIBRARIES_DEBUG ${_tmp})
+ ELSEIF("${_toggle}" STREQUAL "optimized")
+ LIST(APPEND DEAL_II_EXTERNAL_LIBRARIES_RELEASE ${_tmp})
+ ENDIF()
+ ENDIF()
+ ENDFOREACH()
+ ENDIF()
+
+ENDMACRO()
diff --git a/deal.II/cmake/modules/FindDEALII_LAPACK.cmake b/deal.II/cmake/modules/FindDEALII_LAPACK.cmake
index be470cec36..84b6a37d3f 100644
--- a/deal.II/cmake/modules/FindDEALII_LAPACK.cmake
+++ b/deal.II/cmake/modules/FindDEALII_LAPACK.cmake
@@ -114,6 +114,14 @@ IF(LAPACK_FOUND)
ENDFOREACH()
SWITCH_LIBRARY_PREFERENCE()
+ #
+ # Filter out spurious "FALSE" in the library lists:
+ #
+ IF(DEFINED BLAS_LIBRARIES)
+ LIST(REMOVE_ITEM BLAS_LIBRARIES "FALSE")
+ ENDIF()
+ LIST(REMOVE_ITEM LAPACK_LIBRARIES "FALSE")
+
MARK_AS_ADVANCED(
BLAS_DIR
LAPACK_DIR
@@ -130,14 +138,10 @@ ELSE()
)
#
- # If we couldn't find LAPACK, clean up the library variables:
+ # Clean up the library variables in case we couldn't find the libraries
+ # to avoid spurious inclusions of "-NOTFOUND" or "FALSE":
#
-
- IF("${BLAS_LIBRARIES}" STREQUAL "FALSE")
- SET(BLAS_LIBRARIES "")
- ENDIF()
- IF("${LAPACK_LIBRARIES}" STREQUAL "FALSE")
- SET(LAPACK_LIBRARIES "")
- ENDIF()
+ SET(BLAS_LIBRARIES)
+ SET(LAPACK_LIBRARIES)
ENDIF()
diff --git a/deal.II/cmake/modules/FindHDF5.cmake b/deal.II/cmake/modules/FindHDF5.cmake
index fec6194dbe..66417e3c33 100644
--- a/deal.II/cmake/modules/FindHDF5.cmake
+++ b/deal.II/cmake/modules/FindHDF5.cmake
@@ -49,7 +49,7 @@ FIND_LIBRARY(HDF5_HL_LIBRARY NAMES hdf5_hl
lib${LIB_SUFFIX} lib64 lib
)
-FIND_FILE(HDF5_PUBCONF H5pubconf.h
+FIND_FILE(HDF5_PUBCONF NAMES H5pubconf.h H5pubconf-64.h
HINTS
${HDF5_INCLUDE_DIR}
${HDF5_DIR}
diff --git a/deal.II/cmake/modules/FindPETSC.cmake b/deal.II/cmake/modules/FindPETSC.cmake
index 3bd673927c..1a4f3122c4 100644
--- a/deal.II/cmake/modules/FindPETSC.cmake
+++ b/deal.II/cmake/modules/FindPETSC.cmake
@@ -29,6 +29,7 @@
# PETSC_VERSION_PATCH
# PETSC_WITH_MPIUNI
# PETSC_WITH_64BIT_INDICES
+# PETSC_WITH_COMPLEX
#
INCLUDE(FindPackageHandleStandardArgs)
@@ -207,6 +208,17 @@ IF(PETSC_FOUND)
SET(PETSC_WITH_64BIT_INDICES TRUE)
ENDIF()
+ #
+ # Is petsc compiled with support for COMPLEX numbers?
+ #
+ FILE(STRINGS "${PETSC_PETSCCONF_H}" PETSC_COMPLEX_STRING
+ REGEX "#define.*PETSC_USE_COMPLEX 1")
+ IF("${PETSC_COMPLEX_STRING}" STREQUAL "")
+ SET(PETSC_WITH_COMPLEX FALSE)
+ ELSE()
+ SET(PETSC_WITH_COMPLEX TRUE)
+ ENDIF()
+
FILE(STRINGS "${PETSC_PETSCVERSION_H}" PETSC_VERSION_MAJOR_STRING
REGEX "#define.*PETSC_VERSION_MAJOR")
STRING(REGEX REPLACE "^.*PETSC_VERSION_MAJOR.*([0-9]+).*" "\\1"
diff --git a/deal.II/cmake/setup_finalize.cmake b/deal.II/cmake/setup_finalize.cmake
index 1b3849d7a4..cb01181acf 100644
--- a/deal.II/cmake/setup_finalize.cmake
+++ b/deal.II/cmake/setup_finalize.cmake
@@ -124,10 +124,15 @@ _both(
# ${CMAKE_CXX_COMPILER}
"
)
-_detailed(
-"# CMAKE_GENERATOR: ${CMAKE_GENERATOR}
-"
- )
+
+IF(CMAKE_C_COMPILER_WORKS)
+ _detailed("# CMAKE_C_COMPILER: ${CMAKE_C_COMPILER}\n")
+ENDIF()
+IF(CMAKE_Fortran_COMPILER_WORKS)
+ _detailed("# CMAKE_Fortran_COMPILER: ${CMAKE_Fortran_COMPILER}\n")
+ENDIF()
+_detailed("# CMAKE_GENERATOR: ${CMAKE_GENERATOR}\n")
+
IF(CMAKE_CROSSCOMPILING)
_both(
"#\n# CROSSCOMPILING!\n"
@@ -226,7 +231,7 @@ FOREACH(_var ${_features})
IF( # MPI:
_var2 MATCHES "^${_feature}_CXX_(COMPILER|COMPILE_FLAGS|LINK_FLAGS|LIBRARIES|INCLUDE_PATH)$" OR
# Boost:
- ( _feature MATCHES "BOOST" AND _var2 MATCHES "^Boost_(LIBRARIES|INCLUDE_DIRS)$" ) OR
+ ( _feature MATCHES "BOOST" AND _var2 MATCHES "^BOOST_(LIBRARIES|INCLUDE_DIRS)$" ) OR
# TBB:
( _feature MATCHES "THREADS" AND _var2 MATCHES "^TBB_(LIBRARIES|INCLUDE_DIRS)$" ) OR
# Generic:
diff --git a/deal.II/contrib/mesh_conversion/README.txt b/deal.II/contrib/mesh_conversion/README.txt
index ef00b074b1..10dfeb0360 100644
--- a/deal.II/contrib/mesh_conversion/README.txt
+++ b/deal.II/contrib/mesh_conversion/README.txt
@@ -54,3 +54,13 @@ Copyright:
----------
This program is distributed under the GNU GPL v2.0 copyright. Details can be found at:
http://www.gnu.org/licenses/gpl-2.0.html
+
+This copyright is extended to the example mesh files distributed with this program, namely
+./mesh/2d/2d_test.*
+./mesh/2d/quad.*
+./mesh/3d/CC.*
+./mesh/3d/CC_cubit_new.*
+./mesh/3d/CC_cubit_old.*
+./mesh/3d/test_cube_1.*
+./mesh/3d/test_cube_pave_1.*
+./mesh/3d/test_cube_two_materials.*
\ No newline at end of file
diff --git a/deal.II/contrib/mesh_conversion/mesh/2d/2d_test.cub b/deal.II/contrib/mesh_conversion/mesh/2d/2d_test.cub
old mode 100755
new mode 100644
diff --git a/deal.II/contrib/mesh_conversion/mesh/2d/2d_test.inp b/deal.II/contrib/mesh_conversion/mesh/2d/2d_test.inp
old mode 100755
new mode 100644
diff --git a/deal.II/contrib/mesh_conversion/mesh/2d/2d_test.ucd b/deal.II/contrib/mesh_conversion/mesh/2d/2d_test.ucd
old mode 100755
new mode 100644
diff --git a/deal.II/contrib/mesh_conversion/mesh/2d/quad.cub b/deal.II/contrib/mesh_conversion/mesh/2d/quad.cub
old mode 100755
new mode 100644
diff --git a/deal.II/contrib/mesh_conversion/mesh/2d/quad.inp b/deal.II/contrib/mesh_conversion/mesh/2d/quad.inp
old mode 100755
new mode 100644
diff --git a/deal.II/contrib/mesh_conversion/mesh/2d/quad.ucd b/deal.II/contrib/mesh_conversion/mesh/2d/quad.ucd
old mode 100755
new mode 100644
diff --git a/deal.II/contrib/mesh_conversion/mesh/3d/CC.cub b/deal.II/contrib/mesh_conversion/mesh/3d/CC.cub
old mode 100755
new mode 100644
diff --git a/deal.II/contrib/mesh_conversion/mesh/3d/CC_cubit_new.inp b/deal.II/contrib/mesh_conversion/mesh/3d/CC_cubit_new.inp
old mode 100755
new mode 100644
diff --git a/deal.II/contrib/mesh_conversion/mesh/3d/CC_cubit_new.ucd b/deal.II/contrib/mesh_conversion/mesh/3d/CC_cubit_new.ucd
old mode 100755
new mode 100644
diff --git a/deal.II/contrib/mesh_conversion/mesh/3d/CC_cubit_old.inp b/deal.II/contrib/mesh_conversion/mesh/3d/CC_cubit_old.inp
old mode 100755
new mode 100644
diff --git a/deal.II/contrib/mesh_conversion/mesh/3d/CC_cubit_old.ucd b/deal.II/contrib/mesh_conversion/mesh/3d/CC_cubit_old.ucd
old mode 100755
new mode 100644
diff --git a/deal.II/contrib/mesh_conversion/mesh/3d/test_cube_1.cub b/deal.II/contrib/mesh_conversion/mesh/3d/test_cube_1.cub
old mode 100755
new mode 100644
diff --git a/deal.II/contrib/mesh_conversion/mesh/3d/test_cube_1.inp b/deal.II/contrib/mesh_conversion/mesh/3d/test_cube_1.inp
old mode 100755
new mode 100644
diff --git a/deal.II/contrib/mesh_conversion/mesh/3d/test_cube_1.ucd b/deal.II/contrib/mesh_conversion/mesh/3d/test_cube_1.ucd
old mode 100755
new mode 100644
diff --git a/deal.II/contrib/mesh_conversion/mesh/3d/test_cube_pave_1.cub b/deal.II/contrib/mesh_conversion/mesh/3d/test_cube_pave_1.cub
old mode 100755
new mode 100644
diff --git a/deal.II/contrib/mesh_conversion/mesh/3d/test_cube_pave_1.inp b/deal.II/contrib/mesh_conversion/mesh/3d/test_cube_pave_1.inp
old mode 100755
new mode 100644
diff --git a/deal.II/contrib/mesh_conversion/mesh/3d/test_cube_pave_1.ucd b/deal.II/contrib/mesh_conversion/mesh/3d/test_cube_pave_1.ucd
old mode 100755
new mode 100644
diff --git a/deal.II/contrib/mesh_conversion/mesh/3d/test_cube_two_materials.cub b/deal.II/contrib/mesh_conversion/mesh/3d/test_cube_two_materials.cub
old mode 100755
new mode 100644
diff --git a/deal.II/contrib/mesh_conversion/mesh/3d/test_cube_two_materials.inp b/deal.II/contrib/mesh_conversion/mesh/3d/test_cube_two_materials.inp
old mode 100755
new mode 100644
diff --git a/deal.II/contrib/mesh_conversion/mesh/3d/test_cube_two_materials.ucd b/deal.II/contrib/mesh_conversion/mesh/3d/test_cube_two_materials.ucd
old mode 100755
new mode 100644
diff --git a/deal.II/doc/README.doc b/deal.II/doc/README.doc
index c2b56533b9..b3b1fd0c96 100644
--- a/deal.II/doc/README.doc
+++ b/deal.II/doc/README.doc
@@ -1,13 +1,9 @@
This folder contains the html documentation of deal.II
-With the exception of the content under publications/* and reports/* the
-documentation is covered by the same license as the deal.II library itself,
-namely LGPL-2.1+.
+The documentation is generally covered by the same license as the deal.II
+library itself, namely LGPL-2.1+.
-Unclear license status:
+Exceptions:
- external-libraries/p4est-setup.sh
- doxygen/doxygen.sty
- doxygen/options.dox.in
- reports/*
+ external-libraries/p4est-setup.sh - coming from the p4est project, GPL-2+
diff --git a/deal.II/doc/doxygen/doxygen.sty b/deal.II/doc/doxygen/doxygen.sty
deleted file mode 100644
index 948092592f..0000000000
--- a/deal.II/doc/doxygen/doxygen.sty
+++ /dev/null
@@ -1,63 +0,0 @@
-\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{doxygen}
-\RequirePackage{calc}
-\RequirePackage{array}
-\pagestyle{fancyplain}
-\newcommand{\clearemptydoublepage}{\newpage{\pagestyle{empty}\cleardoublepage}}
-\renewcommand{\chaptermark}[1]{\markboth{#1}{}}
-\renewcommand{\sectionmark}[1]{\markright{\thesection\ #1}}
-\lhead[\fancyplain{}{\bfseries\thepage}]
- {\fancyplain{}{\bfseries\rightmark}}
-\rhead[\fancyplain{}{\bfseries\leftmark}]
- {\fancyplain{}{\bfseries\thepage}}
-\rfoot[\fancyplain{}{\bfseries\scriptsize Generated on Wed Jan 11 21:30:49 2006 by doxygen\lfoot[]{\fancyplain{}{\bfseries\scriptsize Generated on Wed Jan 11 21:30:49 2006 by doxygen}}
-\cfoot{}
-\newenvironment{CompactList}
-{\begin{list}{}{
- \setlength{\leftmargin}{0.5cm}
- \setlength{\itemsep}{0pt}
- \setlength{\parsep}{0pt}
- \setlength{\topsep}{0pt}
- \renewcommand{\makelabel}{}}}
-{\end{list}}
-\newenvironment{CompactItemize}
-{
- \begin{itemize}
- \setlength{\itemsep}{-3pt}
- \setlength{\parsep}{0pt}
- \setlength{\topsep}{0pt}
- \setlength{\partopsep}{0pt}
-}
-{\end{itemize}}
-\newcommand{\PBS}[1]{\let\temp=\\#1\let\\=\temp}
-\newlength{\tmplength}
-\newenvironment{TabularC}[1]
-{
-\setlength{\tmplength}
- {\linewidth/(#1)-\tabcolsep*2-\arrayrulewidth*(#1+1)/(#1)}
- \par\begin{tabular*}{\linewidth}
- {*{#1}{|>{\PBS\raggedright\hspace{0pt}}p{\the\tmplength}}|}
-}
-{\end{tabular*}\par}
-\newcommand{\entrylabel}[1]{
- {\parbox[b]{\labelwidth-4pt}{\makebox[0pt][l]{\textbf{#1}}\\}}}
-\newenvironment{Desc}
-{\begin{list}{}
- {
- \settowidth{\labelwidth}{40pt}
- \setlength{\leftmargin}{\labelwidth}
- \setlength{\parsep}{0pt}
- \setlength{\itemsep}{-4pt}
- \renewcommand{\makelabel}{\entrylabel}
- }
-}
-{\end{list}}
-\newenvironment{Indent}
- {\begin{list}{}{\setlength{\leftmargin}{0.5cm}}
- \item[]\ignorespaces}
- {\unskip\end{list}}
-\setlength{\parindent}{0cm}
-\setlength{\parskip}{0.2cm}
-\addtocounter{secnumdepth}{1}
-\sloppy
-\usepackage[T1]{fontenc}
diff --git a/deal.II/doc/doxygen/options.dox.in b/deal.II/doc/doxygen/options.dox.in
index e30740fbdd..da03da80a6 100644
--- a/deal.II/doc/doxygen/options.dox.in
+++ b/deal.II/doc/doxygen/options.dox.in
@@ -1,996 +1,140 @@
-# Doxyfile 1.3.6
-
-# This file describes the settings to be used by the documentation system
-# doxygen (www.doxygen.org) for a project
-#
-# All text after a hash (#) is considered a comment and will be ignored
-# The format is:
-# TAG = value [value, ...]
-# For lists items can also be appended using:
-# TAG += value [value, ...]
-# Values that contain spaces should be placed between quotes (" ")
-
-#---------------------------------------------------------------------------
-# Project related configuration options
-#---------------------------------------------------------------------------
-
-# The PROJECT_NAME tag is a single word (or a sequence of words surrounded
-# by quotes) that should identify the project.
+# This file contains project-specific configurations for the
+# deal.II documentation.
PROJECT_NAME = "The deal.II library"
-
-# The PROJECT_NUMBER tag can be used to enter a project or revision number.
-# This could be handy for archiving the generated documentation or
-# if some version control system is used.
-
PROJECT_NUMBER = "Reference documentation for deal.II version @DEAL_II_PACKAGE_VERSION@"
-
-# The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute)
-# base path where the generated documentation will be put.
-# If a relative path is entered, it will be relative to the location
-# where doxygen was started. If left blank the current directory will be used.
-
OUTPUT_DIRECTORY = .
-# If the CREATE_SUBDIRS tag is set to YES, then doxygen will create
-# 4096 sub-directories (in 2 levels) under the output directory of each output
-# format and will distribute the generated files over these directories.
-# Enabling this option can be useful when feeding doxygen a huge amount of
-# source files, where putting all generated files in the same directory would
-# otherwise cause performance problems for the file system.
-
+# The doxygen documentation says this about the following flag:
+# If the CREATE_SUBDIRS tag is set to YES, then doxygen will create
+# 4096 sub-directories (in 2 levels) under the output directory of each output
+# format and will distribute the generated files over these directories.
+# Enabling this option can be useful when feeding doxygen a huge amount of
+# source files, where putting all generated files in the same directory would
+# otherwise cause performance problems for the file system.
+# We set the flag to NO since we occasionally need to reference individual
+# doxygen-generated files from other parts of the documentation and need
+# to have predictable file paths.
+#
+# The same is true for SHORT_NAMES, which compresses file names, and
+# CASE_SENSE_NAMES which allows file names to contain upper case letters.
CREATE_SUBDIRS = NO
+SHORT_NAMES = NO
+CASE_SENSE_NAMES = YES
-# The OUTPUT_LANGUAGE tag is used to specify the language in which all
-# documentation generated by doxygen is written. Doxygen will use this
-# information to generate all constant output in the proper language.
-# The default language is English, other supported languages are:
-# Afrikaans, Arabic, Brazilian, Catalan, Chinese, Chinese-Traditional,
-# Croatian, Czech, Danish, Dutch, Finnish, French, German, Greek, Hungarian,
-# Italian, Japanese, Japanese-en (Japanese with English messages), Korean,
-# Korean-en, Lithuanian, Norwegian, Polish, Portuguese, Romanian, Russian,
-# Serbian, Slovak, Slovene, Spanish, Swedish, and Ukrainian.
-
-OUTPUT_LANGUAGE = English
-
-# If the BRIEF_MEMBER_DESC tag is set to YES (the default) Doxygen will
-# include brief member descriptions after the members that are listed in
-# the file and class documentation (similar to JavaDoc).
-# Set to NO to disable this.
-
-BRIEF_MEMBER_DESC = YES
-
-# If the REPEAT_BRIEF tag is set to YES (the default) Doxygen will prepend
-# the brief description of a member or function before the detailed description.
-# Note: if both HIDE_UNDOC_MEMBERS and BRIEF_MEMBER_DESC are set to NO, the
-# brief descriptions will be completely suppressed.
-
-REPEAT_BRIEF = YES
-
-# This tag implements a quasi-intelligent brief description abbreviator
-# that is used to form the text in various listings. Each string
-# in this list, if found as the leading text of the brief description, will be
-# stripped from the text and the result after processing the whole list, is
-# used as the annotated text. Otherwise, the brief description is used as-is.
-# If left blank, the following values are used ("$name" is automatically
-# replaced with the name of the entity): "The $name class" "The $name widget"
-# "The $name file" "is" "provides" "specifies" "contains"
-# "represents" "a" "an" "the"
-
-ABBREVIATE_BRIEF =
-
-# If the ALWAYS_DETAILED_SEC and REPEAT_BRIEF tags are both set to YES then
-# Doxygen will generate a detailed section even if there is only a brief
-# description.
-
-ALWAYS_DETAILED_SEC = NO
-
-# If the INLINE_INHERITED_MEMB tag is set to YES, doxygen will show all
-# inherited members of a class in the documentation of that class as if those
-# members were ordinary class members. Constructors, destructors and assignment
-# operators of the base classes will not be shown.
INLINE_INHERITED_MEMB = NO
-
-# If the FULL_PATH_NAMES tag is set to YES then Doxygen will prepend the full
-# path before files name in the file list and in the header files. If set
-# to NO the shortest path that makes the file name unique will be used.
-
-FULL_PATH_NAMES = YES
-
-# If the FULL_PATH_NAMES tag is set to YES then the STRIP_FROM_PATH tag
-# can be used to strip a user-defined part of the path. Stripping is
-# only done if one of the specified strings matches the left-hand part of
-# the path. The tag can be used to show relative paths in the file list.
-# If left blank the directory from which doxygen is run is used as the
-# path to strip.
-
STRIP_FROM_PATH = @CMAKE_SOURCE_DIR@ @CMAKE_BINARY_DIR@
-
-# The STRIP_FROM_INC_PATH tag can be used to strip a user-defined part of
-# the path mentioned in the documentation of a class, which tells
-# the reader which header file to include in order to use a class.
-# If left blank only the name of the header file containing the class
-# definition is used. Otherwise one should specify the include paths that
-# are normally passed to the compiler using the -I flag.
-
-STRIP_FROM_INC_PATH =
-
-# If the SHORT_NAMES tag is set to YES, doxygen will generate much shorter
-# (but less readable) file names. This can be useful is your file systems
-# doesn't support long names like on DOS, Mac, or CD-ROM.
-
-SHORT_NAMES = NO
-
-# If the JAVADOC_AUTOBRIEF tag is set to YES then Doxygen
-# will interpret the first line (until the first dot) of a JavaDoc-style
-# comment as the brief description. If set to NO, the JavaDoc
-# comments will behave just like regular Qt-style comments
-# (thus requiring an explicit @brief command for a brief description.)
-
JAVADOC_AUTOBRIEF = NO
-
-# The MULTILINE_CPP_IS_BRIEF tag can be set to YES to make Doxygen
-# treat a multi-line C++ special comment block (i.e. a block of //! or ///
-# comments) as a brief description. This used to be the default behaviour.
-# The new default is to treat a multi-line C++ comment block as a detailed
-# description. Set this tag to YES if you prefer the old behaviour instead.
-
-MULTILINE_CPP_IS_BRIEF = NO
-
-# If the INHERIT_DOCS tag is set to YES (the default) then an undocumented
-# member inherits the documentation from any documented member that it
-# re-implements.
-
INHERIT_DOCS = YES
-
-# If the SEPARATE_MEMBER_PAGES tag is set to YES, then doxygen will produce
-# a new page for each member. If set to NO, the documentation of a member will
-# be part of the file/class/namespace that contains it.
-
-SEPARATE_MEMBER_PAGES = NO
-
-# The TAB_SIZE tag can be used to set the number of spaces in a tab.
-# Doxygen uses this value to replace tabs by spaces in code fragments.
-
TAB_SIZE = 8
-# This tag can be used to specify a number of aliases that acts
-# as commands in the documentation. An alias has the form "name=value".
-# For example adding "sideeffect=\par Side Effects:\n" will allow you to
-# put the command \sideeffect (or @sideeffect) in the documentation, which
-# will result in a user-defined paragraph with heading "Side Effects:".
-# You can put \n's in the value part of an alias to insert newlines.
-
-ALIASES =
-
-# Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C
-# sources only. Doxygen will then generate output that is more tailored for C.
-# For instance, some of the names that are used will be different. The list
-# of all members will be omitted, etc.
-
-OPTIMIZE_OUTPUT_FOR_C = NO
-
-# Set the OPTIMIZE_OUTPUT_JAVA tag to YES if your project consists of Java
-# sources only. Doxygen will then generate output that is more tailored for Java.
-# For instance, namespaces will be presented as packages, qualified scopes
-# will look different, etc.
-
-OPTIMIZE_OUTPUT_JAVA = NO
-
-# If you use STL classes (i.e. std::string, std::vector, etc.) but do not want to
-# include (a tag file for) the STL sources as input, then you should
-# set this tag to YES in order to let doxygen match functions declarations and
-# definitions whose arguments contain STL classes (e.g. func(std::string); v.s.
-# func(std::string) {}). This also make the inheritance and collaboration
-# diagrams that involve STL classes more complete and accurate.
-
-BUILTIN_STL_SUPPORT = NO
-
-# If member grouping is used in the documentation and the DISTRIBUTE_GROUP_DOC
-# tag is set to YES, then doxygen will reuse the documentation of the first
-# member in the group (if any) for the other members of the group. By default
-# all members of a group must be documented explicitly.
-
-DISTRIBUTE_GROUP_DOC = NO
-
-# Set the SUBGROUPING tag to YES (the default) to allow class member groups of
-# the same type (for instance a group of public functions) to be put as a
-# subgroup of that type (e.g. under the Public Functions section). Set it to
-# NO to prevent subgrouping. Alternatively, this can be done per class using
-# the \nosubgrouping command.
+BUILTIN_STL_SUPPORT = YES
-SUBGROUPING = YES
#---------------------------------------------------------------------------
# Build related configuration options
#---------------------------------------------------------------------------
-# If the EXTRACT_ALL tag is set to YES doxygen will assume all entities in
-# documentation are documented, even if no documentation was available.
-# Private class members and static file members will be hidden unless
-# the EXTRACT_PRIVATE and EXTRACT_STATIC tags are set to YES
-
EXTRACT_ALL = NO
-
-# If the EXTRACT_PRIVATE tag is set to YES all private members of a class
-# will be included in the documentation.
-
EXTRACT_PRIVATE = YES
-
-# If the EXTRACT_STATIC tag is set to YES all static members of a file
-# will be included in the documentation.
-
EXTRACT_STATIC = YES
-
-# If the EXTRACT_LOCAL_CLASSES tag is set to YES classes (and structs)
-# defined locally in source files will be included in the documentation.
-# If set to NO only classes defined in header files are included.
-
EXTRACT_LOCAL_CLASSES = YES
-
-# This flag is only useful for Objective-C code. When set to YES local
-# methods, which are defined in the implementation section but not in
-# the interface are included in the documentation.
-# If set to NO (the default) only methods in the interface are included.
-
-EXTRACT_LOCAL_METHODS = NO
-
-# If the HIDE_UNDOC_MEMBERS tag is set to YES, Doxygen will hide all
-# undocumented members of documented classes, files or namespaces.
-# If set to NO (the default) these members will be included in the
-# various overviews, but no documentation section is generated.
-# This option has no effect if EXTRACT_ALL is enabled.
-
-HIDE_UNDOC_MEMBERS = YES
-
-# If the HIDE_UNDOC_CLASSES tag is set to YES, Doxygen will hide all
-# undocumented classes that are normally visible in the class hierarchy.
-# If set to NO (the default) these classes will be included in the various
-# overviews. This option has no effect if EXTRACT_ALL is enabled.
-
-HIDE_UNDOC_CLASSES = YES
-
-# If the HIDE_FRIEND_COMPOUNDS tag is set to YES, Doxygen will hide all
-# friend (class|struct|union) declarations.
-# If set to NO (the default) these declarations will be included in the
-# documentation.
-
-HIDE_FRIEND_COMPOUNDS = NO
-
-# If the HIDE_IN_BODY_DOCS tag is set to YES, Doxygen will hide any
-# documentation blocks found inside the body of a function.
-# If set to NO (the default) these blocks will be appended to the
-# function's detailed documentation block.
-
-HIDE_IN_BODY_DOCS = NO
-
-# The INTERNAL_DOCS tag determines if documentation
-# that is typed after a \internal command is included. If the tag is set
-# to NO (the default) then the documentation will be excluded.
-# Set it to YES to include the internal documentation.
-
-INTERNAL_DOCS = NO
-
-# If the CASE_SENSE_NAMES tag is set to NO then Doxygen will only generate
-# file names in lower-case letters. If set to YES upper-case letters are also
-# allowed. This is useful if you have classes or files whose names only differ
-# in case and if your file system supports case sensitive file names. Windows
-# and Mac users are advised to set this option to NO.
-
-CASE_SENSE_NAMES = YES
-
-# If the HIDE_SCOPE_NAMES tag is set to NO (the default) then Doxygen
-# will show members with their full class and namespace scopes in the
-# documentation. If set to YES the scope will be hidden.
-
-HIDE_SCOPE_NAMES = NO
-
-# If the SHOW_INCLUDE_FILES tag is set to YES (the default) then Doxygen
-# will put a list of the files that are included by a file in the documentation
-# of that file.
-
-SHOW_INCLUDE_FILES = NO
-
-# If the INLINE_INFO tag is set to YES (the default) then a tag [inline]
-# is inserted in the documentation for inline members.
-
-INLINE_INFO = YES
-
-# If the SORT_MEMBER_DOCS tag is set to YES (the default) then doxygen
-# will sort the (detailed) documentation of file and class members
-# alphabetically by member name. If set to NO the members will appear in
-# declaration order.
-
+HIDE_UNDOC_MEMBERS = NO
+HIDE_UNDOC_CLASSES = NO
SORT_MEMBER_DOCS = NO
-
-# If the SORT_BRIEF_DOCS tag is set to YES then doxygen will sort the
-# brief documentation of file, namespace and class members alphabetically
-# by member name. If set to NO (the default) the members will appear in
-# declaration order.
-
SORT_BRIEF_DOCS = NO
-
-# If the SORT_BY_SCOPE_NAME tag is set to YES, the class list will be
-# sorted by fully-qualified names, including namespaces. If set to
-# NO (the default), the class list will be sorted only by class name,
-# not including the namespace part.
-# Note: This option is not very useful if HIDE_SCOPE_NAMES is set to YES.
-# Note: This option applies only to the class list, not to the
-# alphabetical list.
-
SORT_BY_SCOPE_NAME = NO
-
-# The GENERATE_TODOLIST tag can be used to enable (YES) or
-# disable (NO) the todo list. This list is created by putting \todo
-# commands in the documentation.
-
GENERATE_TODOLIST = YES
-
-# The GENERATE_TESTLIST tag can be used to enable (YES) or
-# disable (NO) the test list. This list is created by putting \test
-# commands in the documentation.
-
-GENERATE_TESTLIST = YES
-
-# The GENERATE_BUGLIST tag can be used to enable (YES) or
-# disable (NO) the bug list. This list is created by putting \bug
-# commands in the documentation.
-
-GENERATE_BUGLIST = YES
-
-# The GENERATE_DEPRECATEDLIST tag can be used to enable (YES) or
-# disable (NO) the deprecated list. This list is created by putting
-# \deprecated commands in the documentation.
-
GENERATE_DEPRECATEDLIST= YES
-
-# The ENABLED_SECTIONS tag can be used to enable conditional
-# documentation sections, marked by \if sectionname ... \endif.
-
-ENABLED_SECTIONS = YES
-
-# The MAX_INITIALIZER_LINES tag determines the maximum number of lines
-# the initial value of a variable or define consists of for it to appear in
-# the documentation. If the initializer consists of more lines than specified
-# here it will be hidden. Use a value of 0 to hide initializers completely.
-# The appearance of the initializer of individual variables and defines in the
-# documentation can be controlled using \showinitializer or \hideinitializer
-# command in the documentation regardless of this setting.
-
-MAX_INITIALIZER_LINES = 30
-
-# Set the SHOW_USED_FILES tag to NO to disable the list of files generated
-# at the bottom of the documentation of classes and structs. If set to YES the
-# list will mention the files that were used to generate the documentation.
-
SHOW_USED_FILES = YES
-# The FILE_VERSION_FILTER tag can be used to specify a program or script that
-# doxygen should invoke to get the current version for each file (typically from the
-# version control system). Doxygen will invoke the program by executing (via
-# popen()) the command
+
+ (Timo Heister, Matthias Maier, 2013/11/08)
+ Specific improvements
+
+ (Wolfgang Bangerth, 2013/11/13)
+
+ (Bruno Turcksin, Martin Kronbichler, 2013/11/06)
+
- These steps compile, link and install the deal.II library. The - whole process should take between a few minutes and an hour, depending - on your machine. + These steps compile, link, install the deal.II library, and run a few + consistency checks. The whole process should take between a few minutes + and an hour, depending on your machine.
@@ -370,7 +371,7 @@
paths.
However, this behavior can be changed using command line switches to
the initial call to cmake
. A detailed description
- can be found here: Detailed build system description.
+ can be found here: Detailed build system description.
@@ -534,7 +535,7 @@ for deal.II being able to use them). For details on how to set up deal.II with a non standard BLAS/LAPACK implementation, see the - advanced + advanced setup section in the CMake ReadME.
@@ -775,7 +776,9 @@ The deal.IIcmake
system allows far
greater control over what exactly is configured or built than just the
outline above. If you want to learn more about this, take a look
- here.
+ here. You might also be interested in
+ CMake for user projects or
+ build system internals.
diff --git a/deal.II/doc/reports/assemble/assemble.pdf b/deal.II/doc/reports/assemble/assemble.pdf
deleted file mode 100644
index 073d8afaf8..0000000000
Binary files a/deal.II/doc/reports/assemble/assemble.pdf and /dev/null differ
diff --git a/deal.II/doc/reports/assemble/assemble.ps b/deal.II/doc/reports/assemble/assemble.ps
deleted file mode 100644
index a8396084d7..0000000000
--- a/deal.II/doc/reports/assemble/assemble.ps
+++ /dev/null
@@ -1,4785 +0,0 @@
-%!PS-Adobe-2.0
-%%Creator: dvips(k) 5.86e Copyright 2001 Radical Eye Software
-%%Title: assemble.dvi
-%%Pages: 13
-%%PageOrder: Ascend
-%%BoundingBox: 0 0 596 842
-%%DocumentFonts: CMR17 CMTT12 CMR12 CMBX12 CMR10 CMTT10 CMTI10 CMMI10
-%%+ CMSY10 CMR7 CMMI7 CMEX10 CMSY7 MSBM10 MSBM7 CMMI5 CMBX10
-%%DocumentPaperSizes: a4
-%%EndComments
-%DVIPSWebPage: (www.radicaleye.com)
-%DVIPSCommandLine: dvips assemble -o assemble.ps
-%DVIPSParameters: dpi=600, compressed
-%DVIPSSource: TeX output 2002.06.14:1228
-%%BeginProcSet: texc.pro
-%!
-/TeXDict 300 dict def TeXDict begin/N{def}def/B{bind def}N/S{exch}N/X{S
-N}B/A{dup}B/TR{translate}N/isls false N/vsize 11 72 mul N/hsize 8.5 72
-mul N/landplus90{false}def/@rigin{isls{[0 landplus90{1 -1}{-1 1}ifelse 0
-0 0]concat}if 72 Resolution div 72 VResolution div neg scale isls{
-landplus90{VResolution 72 div vsize mul 0 exch}{Resolution -72 div hsize
-mul 0}ifelse TR}if Resolution VResolution vsize -72 div 1 add mul TR[
-matrix currentmatrix{A A round sub abs 0.00001 lt{round}if}forall round
-exch round exch]setmatrix}N/@landscape{/isls true N}B/@manualfeed{
-statusdict/manualfeed true put}B/@copies{/#copies X}B/FMat[1 0 0 -1 0 0]
-N/FBB[0 0 0 0]N/nn 0 N/IEn 0 N/ctr 0 N/df-tail{/nn 8 dict N nn begin
-/FontType 3 N/FontMatrix fntrx N/FontBBox FBB N string/base X array
-/BitMaps X/BuildChar{CharBuilder}N/Encoding IEn N end A{/foo setfont}2
-array copy cvx N load 0 nn put/ctr 0 N[}B/sf 0 N/df{/sf 1 N/fntrx FMat N
-df-tail}B/dfs{div/sf X/fntrx[sf 0 0 sf neg 0 0]N df-tail}B/E{pop nn A
-definefont setfont}B/Cw{Cd A length 5 sub get}B/Ch{Cd A length 4 sub get
-}B/Cx{128 Cd A length 3 sub get sub}B/Cy{Cd A length 2 sub get 127 sub}
-B/Cdx{Cd A length 1 sub get}B/Ci{Cd A type/stringtype ne{ctr get/ctr ctr
-1 add N}if}B/id 0 N/rw 0 N/rc 0 N/gp 0 N/cp 0 N/G 0 N/CharBuilder{save 3
-1 roll S A/base get 2 index get S/BitMaps get S get/Cd X pop/ctr 0 N Cdx
-0 Cx Cy Ch sub Cx Cw add Cy setcachedevice Cw Ch true[1 0 0 -1 -.1 Cx
-sub Cy .1 sub]/id Ci N/rw Cw 7 add 8 idiv string N/rc 0 N/gp 0 N/cp 0 N{
-rc 0 ne{rc 1 sub/rc X rw}{G}ifelse}imagemask restore}B/G{{id gp get/gp
-gp 1 add N A 18 mod S 18 idiv pl S get exec}loop}B/adv{cp add/cp X}B
-/chg{rw cp id gp 4 index getinterval putinterval A gp add/gp X adv}B/nd{
-/cp 0 N rw exit}B/lsh{rw cp 2 copy get A 0 eq{pop 1}{A 255 eq{pop 254}{
-A A add 255 and S 1 and or}ifelse}ifelse put 1 adv}B/rsh{rw cp 2 copy
-get A 0 eq{pop 128}{A 255 eq{pop 127}{A 2 idiv S 128 and or}ifelse}
-ifelse put 1 adv}B/clr{rw cp 2 index string putinterval adv}B/set{rw cp
-fillstr 0 4 index getinterval putinterval adv}B/fillstr 18 string 0 1 17
-{2 copy 255 put pop}for N/pl[{adv 1 chg}{adv 1 chg nd}{1 add chg}{1 add
-chg nd}{adv lsh}{adv lsh nd}{adv rsh}{adv rsh nd}{1 add adv}{/rc X nd}{
-1 add set}{1 add clr}{adv 2 chg}{adv 2 chg nd}{pop nd}]A{bind pop}
-forall N/D{/cc X A type/stringtype ne{]}if nn/base get cc ctr put nn
-/BitMaps get S ctr S sf 1 ne{A A length 1 sub A 2 index S get sf div put
-}if put/ctr ctr 1 add N}B/I{cc 1 add D}B/bop{userdict/bop-hook known{
-bop-hook}if/SI save N @rigin 0 0 moveto/V matrix currentmatrix A 1 get A
-mul exch 0 get A mul add .99 lt{/QV}{/RV}ifelse load def pop pop}N/eop{
-SI restore userdict/eop-hook known{eop-hook}if showpage}N/@start{
-userdict/start-hook known{start-hook}if pop/VResolution X/Resolution X
-1000 div/DVImag X/IEn 256 array N 2 string 0 1 255{IEn S A 360 add 36 4
-index cvrs cvn put}for pop 65781.76 div/vsize X 65781.76 div/hsize X}N
-/p{show}N/RMat[1 0 0 -1 0 0]N/BDot 260 string N/Rx 0 N/Ry 0 N/V{}B/RV/v{
-/Ry X/Rx X V}B statusdict begin/product where{pop false[(Display)(NeXT)
-(LaserWriter 16/600)]{A length product length le{A length product exch 0
-exch getinterval eq{pop true exit}if}{pop}ifelse}forall}{false}ifelse
-end{{gsave TR -.1 .1 TR 1 1 scale Rx Ry false RMat{BDot}imagemask
-grestore}}{{gsave TR -.1 .1 TR Rx Ry scale 1 1 false RMat{BDot}
-imagemask grestore}}ifelse B/QV{gsave newpath transform round exch round
-exch itransform moveto Rx 0 rlineto 0 Ry neg rlineto Rx neg 0 rlineto
-fill grestore}B/a{moveto}B/delta 0 N/tail{A/delta X 0 rmoveto}B/M{S p
-delta add tail}B/b{S p tail}B/c{-4 M}B/d{-3 M}B/e{-2 M}B/f{-1 M}B/g{0 M}
-B/h{1 M}B/i{2 M}B/j{3 M}B/k{4 M}B/w{0 rmoveto}B/l{p -4 w}B/m{p -3 w}B/n{
-p -2 w}B/o{p -1 w}B/q{p 1 w}B/r{p 2 w}B/s{p 3 w}B/t{p 4 w}B/x{0 S
-rmoveto}B/y{3 2 roll p a}B/bos{/SS save N}B/eos{SS restore}B end
-
-%%EndProcSet
-%%BeginProcSet: texps.pro
-%!
-TeXDict begin/rf{findfont dup length 1 add dict begin{1 index/FID ne 2
-index/UniqueID ne and{def}{pop pop}ifelse}forall[1 index 0 6 -1 roll
-exec 0 exch 5 -1 roll VResolution Resolution div mul neg 0 0]/Metrics
-exch def dict begin Encoding{exch dup type/integertype ne{pop pop 1 sub
-dup 0 le{pop}{[}ifelse}{FontMatrix 0 get div Metrics 0 get div def}
-ifelse}forall Metrics/Metrics currentdict end def[2 index currentdict
-end definefont 3 -1 roll makefont/setfont cvx]cvx def}def/ObliqueSlant{
-dup sin S cos div neg}B/SlantFont{4 index mul add}def/ExtendFont{3 -1
-roll mul exch}def/ReEncodeFont{CharStrings rcheck{/Encoding false def
-dup[exch{dup CharStrings exch known not{pop/.notdef/Encoding true def}
-if}forall Encoding{]exch pop}{cleartomark}ifelse}if/Encoding exch def}
-def end
-
-%%EndProcSet
-%%BeginFont: CMBX10
-%!PS-AdobeFont-1.1: CMBX10 1.00B
-%%CreationDate: 1992 Feb 19 19:54:06
-
-% Copyright (C) 1997 American Mathematical Society. All Rights Reserved.
-
-11 dict begin
-/FontInfo 7 dict dup begin
-/version (1.00B) readonly def
-/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def
-/FullName (CMBX10) readonly def
-/FamilyName (Computer Modern) readonly def
-/Weight (Bold) readonly def
-/ItalicAngle 0 def
-/isFixedPitch false def
-end readonly def
-/FontName /CMBX10 def
-/PaintType 0 def
-/FontType 1 def
-/FontMatrix [0.001 0 0 0.001 0 0] readonly def
-/Encoding 256 array
-0 1 255 {1 index exch /.notdef put} for
-dup 69 /E put
-dup 71 /G put
-dup 97 /a put
-dup 98 /b put
-dup 99 /c put
-dup 101 /e put
-dup 102 /f put
-dup 103 /g put
-dup 104 /h put
-dup 105 /i put
-dup 108 /l put
-dup 109 /m put
-dup 110 /n put
-dup 111 /o put
-dup 112 /p put
-dup 114 /r put
-dup 115 /s put
-dup 116 /t put
-dup 117 /u put
-dup 118 /v put
-dup 119 /w put
-dup 120 /x put
-readonly def
-/FontBBox{-301 -250 1164 946}readonly def
-/UniqueXX 5000768 def
-currentdict end
-currentfile eexec
-8053514d28ec28da1630165fab262882d3fca78881823c5537fe6c3dda8ee5b8
-97e17cb027f5c73fdbb56b0a7c25fc3512b55fe8f3acfbffcc7f4a382d8299cc
-8fd37d3cea49dabdca92847af0560b404ef71134b0f3d99934fc9d0b4e602011
-b9cfb856c23f958f3c5a2fbe0ef8587d1f5774879c324e51fcb22888b74f2415
-50d7401eb990d4f3a7af635198422283cac1b6cd446ddbcbd915db9bff88844e
-784c6bf7389803d9450b0c21756a017306462c563d51ece66fcc9c831843ecae
-1fefc1a232e2724f7baee428ae03aadb95c3035345c15e9922fe49e1f2cfc980
-237316572dbc57064edac9b0db8913a5e2d45e97e19a91435ccf8adfc835b585
-48e74b291446d689c7f2f8c4325e8356e974ae30c3e2977477baeaa33d141fb7
-80f59351e84bfc88c87b3a4a1d25e168b9d134554f6a581378c7d2d6eca8ac09
-045cc3a5e0ed86f147133f094029e3483bebc81cfde69942cf645ea20d0a2b64
-5140ccc2f9cb4a3d969f4b0a79cd3329b440dfcff5285494406f3dd08d804c86
-df191e57232f6f1f83df6430f214e03fa5412b1e13d83c60c52a698bc9a38159
-19a64162af7b83a9468fae9507c6cb55ea80df8c696dfbc3296c663902d77e89
-a181502627281181ac8624f65be9de5fb32f056cc7dd7cbc7366a91717b5892a
-34ef6b441871c6993da3a81afc9bf70ff3842a21a29c0e49da1ccba37dd6b920
-2702db510b8b1109acf4c27ee8d676bdbd16abe189f34a9b61532eb777457698
-cee0561838eaab2d3939c5093afbb215bac433d1918c739b62566906bb2187f3
-378521fb52e70c18886e1aa15f53a1f8a169528cf2ddd54c203613ff88e619f2
-6c9c50c2c3b8b8c868a88afab1dc8472e7b6f3f992a161723a3c0904865a7c42
-3281601eee91f35222c4a71f343739f102eb43145a47e4fac3bd666e4c114a90
-5950618ecb1bdc29f90f6ebed1d8325fe6b52e14a8870e9b4bb088e585c71b91
-493c12845a101937e3473ac5e9ae24f7c358f06d590d7618e1a1d5834d87621f
-e3f5432b655eebd4ca61a7b00dde0aa740796ce88a43d1c6952f8d2ca63d30b6
-dcbadbb0dadf13150a442714675dbe51ff838f2e47ebe8cd44f1eac6ae5b6ceb
-0b07af03f5d3896ff935a198aa635e337e367e1e128d15e31afe3ffca8245e41
-a3e17011340e49d52fa1e322b435b4f7f2f49ae01f6a319f68d3d786c24be810
-1e1c975a8ba8debd89c6d93db8646b0224c805409e897061b37e81edcb4eff88
-47640c51c28e66d1dfb39ea37525a7f925eab9bcaaa741f90bf207c73cb892e0
-45163ca4d9d25aacbd790e0bcda3746991c5c70ae00e1db0091854884e0fcca1
-a38cdbbe0589e466520f7a132741039b0fd0d2e7aeb2aa458405f0374eb2ad2f
-2c8cf8bc7583d1c7e127e9a50057dafeec9c515005478309a953ea6c972cd208
-1cc5364d221e1b4fecc486b2d79352e839bf4e6cdc7c62065d4aa0af68c919e7
-34e32b6232cf543e829a8c6b2ce9adede5898d91595e3a2efac8c464edf6bec7
-ee9f226ec716485d8171f69e74f0fc08abcc77df5f54a407fb69c928822a5ddd
-f60e7440a2520aa45245586aae9c67b82497decb370372e4ec1738b258bc358b
-4e5953940e16f418b8d27b59565986e3a76b485c2576f23cae22e71c30ec545b
-4f97baa009673d5de69f47fc1bf5450b4499c7c8e8021ab9c364a026799526e4
-92a75ff93fe940ae263a21cdc06af1085c4a18732323457c93e3aa7cf9812fd8
-c603c8e4bf534fc01e66a51a82c2b2be8eb855c73f3e7d578cd60ea458fe37ef
-b91339522a40d7b63d2e709e13e2458650ad20d5730187aef2467372050e92e5
-8d84186ac0c0bdb21f0728fcef3fb862f9a8965e6a65ccfbfe7e51fb157df270
-ae80f251a7a8dace39038b4a2fcfec671ce0ad92e4d5c90702c427fe23278ff6
-6115fa88fa4f338ec647873b483872e75ec56f1ee8e00d5a37e1b1a083f51913
-2f16c6cfb4cd098781a886eb5e8f93ea6c232aef4f64dc85ed090abfb289d654
-52c5b7daf6632fef944bd1db8c902403f769a0b369daa93d124d22c7831e3d64
-890f259bbe326e3a2ab1bd7a4b21f66026be8e37a1edc649f871a3fa75c55079
-d21142b35ee29cad28a15db16c26003e9b67337ee52739e54759aa37ffc908e0
-6cff5d0e05840094ec6b28a565c0b8485b13ebc3da97e5b5182e2b38f3f4027b
-f472d2dd4559849b256b85e535bb63e3bcd8734558a0dcd0d91b43d01baa1d76
-4c85a4eee967be0f383fc8d67c00d15a36f2c9368f5610ccf7f4f181e83a01b6
-24b04f74faa7748fb7f3bece2baab6c6225ee2f8f9f804a40ed0d8714e552fb4
-2e3441ddf48511ce387605ce62da66ed4eb7c87dc1d594bad8006ee519252550
-52f4a6d6d21e417b25c3fa4b624386e40acda51c16a3bd6f7e208d3788e3688f
-fe59e08965760a23bbb8f7d682538ee453d828a044245de5a6f1e28aa5053a3c
-4c0be8ba96974953b095004f9876b56fe9868d7dc1bc623c0c919b4ef8e8a2d4
-c0ecfeaaef0dcf37dfc34319f9c0c9459e7db76991a6683fc5f66d88d54629ff
-a833257926b752fdc3ed6e17c948c167ff7316075d277d16c72f17b9434e6844
-de9c647164245036dffc5dae9163d0e4b58237302332c6d2ca4a59ce6921033d
-5919eb617a490920d528c456a34e671df28c79cdf66ac4f8dd69da0b5163c3ba
-0b275dc0a54afba12164c6b9b6508193002cfa8041281220328c15acfdb64d26
-926adbffa5164efb714af5a14abfa7ecbe079dd5481bbaa9618b5bf625381372
-0cca156f71c2ce7e0ed9d56abe3ac04085e35383f90a8fbf7afcd2d5dfd6f52c
-186b172cf814d6f65663837be4ca4cdc418fa669ac6bf91867d2f46d66ca50e5
-04263f0e6d85d55269faebc393f63b37eb20f45dd95967fae7103322419eef5b
-59024c670b6b8c644fe8fd82628cf30d0af16948231abade88eae85e633bef10
-e72b3a6b627efad5d8ea7cdf55770a4c8af859c8e47481f8c64cd4bea275d4ec
-5766bc16002b118c5a98e03cafc77b5e37050b63e7bc8e4ef6f69f66cf22adec
-15b74db7b9f1dde25bd4b0384a58d5f51505c1e6ea5de3a2ec914f94099faf0e
-8ca7f90ee51e83978143711ffdf55cbeb05fe978f5865bed1fa0f24377c4cc07
-ece35a99a9fb7e62c19a3608d13ed7785ccc27961d8dd7c6ae26c8d6110a0618
-b13f4c570452a12fbac547cfbe5b2dc695b4fddc16704ac6fda3ff94e72d8957
-d2a48cbfed11839315bc45367db66fb83fc1898b9692a78cdfd5d1765a100013
-0485298a5c43d51b658c083bb97940c687ff6985804453001dc7a2bf28181e38
-45c71ea8420f6b48dcd3f3b332f8ac78bbf5d5d7eaf23f3cac919c05a6088be4
-66e7e770173f4df1a234e42cdf2c3f52968a203994092a00553d8b10be4b848b
-d99fe5bfebcb5c2c856c55e2e1aeddfe8e1c496a26f8f7d8de30ddf54103cc3b
-eaedcc16b3be2fb0bc52cda49430393855c38f7d5189f55895cf4b6c25c587d2
-37ee654c4bf55003a855afe57751cc74d3036771bfe1dd01b564767d94682720
-88d5b6fc1384dc1c00a8c6d827850a038475aefb57060707d1a3fadcff525138
-ec3420dcf11b4623fde6f2e90ab4206ee65ba26d85b936e2dac1d8f0985820de
-a1c5fcfa5dcd609e75e31bb0c3cf87f0eb7cdbc3d7f3067faea95137a8bcf65d
-41088f25f1fe4cee81f54bea54be1ca1d5cf238d36090b16e3cb02292af9127e
-e1377ccd08df3e349b35d271a4dfcf9a2495bbc1d56771949bf8083d6a81d77a
-90b8d8c8e4abafcf07ac8bef65f6fe4eea7ee09b3f6419c958e8f81e6b3d82c6
-1aa8e64e543a85b8ef1a61751fc5df599dbe75ea5669f843bdd048e839a4951c
-7dafe01ad3945caf0cc111e8fc95779f3dcd42ac01714b936e57f6d3ce30c78b
-ecbd9ab9edd7bf00ca85223830531a176bef009aeb9a522fd1b2228e547de4df
-36d3707e7b54311007332ee829f808fbb2cec5d4f165013bbbec3a615e057a15
-65cdc8992dbb4cdc7ffb9f930e4ea96ca2597ab45244c5ffbe46ccb43891ae28
-053bcf8c45d7b0e0f1743418f8afcbaf19415e35a4306879ca2a4ed99baa57de
-c9f3d6aaebcfa8999c25d7d89e5061fa40f97ce6fa3f8a8ad87e8e6c899ff376
-b251ba11747461f2e1a75e5e7ee40204ed802f225095f0edf3c8d4723062d7ab
-0fd3d18d30b18cca85ebe3765699a2e5bcaaf350506c7360e7914a75f36cd13a
-f8dd68a72030bc373fb58849d9b158c7b1508ed980e7817737e10f2fcc224d72
-2f16192a18a7d21f1922b6ff94b50261ceab28674f648efd90879a8d557bd734
-44f8d8e3310fb55099cdae0fb4f03090323408c4d319153a2bc36218e45b5555
-9be8603e721f99b41d400801b15d5301ea5eb2cd42752464bf25523aa6163aeb
-9764ddea342a78fd1d43c33f50acf8431d28016b943f6b5345a76f7de6cf273d
-aef8648f48e5fdac3f573149e7e705cf2c82996bb8aef7cb699c79304084e8b7
-c9e437cf9cf8e24c78eb6b1c6b528445e42f7cc553746105e98e19aa699f92c6
-def1446a7008a0298c0cc9c9ed9601a62177202dcbf60357549c824d9697e9a5
-a0f400f4ce741827bfd897ce4cce024a18eccae6783106a710d8c76d2c9da409
-810f437c0b395024f0155025ab4d82ec8f2024b136da891a625ed5a872e1b81e
-551598a9802ca89a85846620e215485e9ca1adcd94fe5ac86cd4d49f09c747e2
-295dfa2af72fd1f6130d277a212c05e91eeef5ff188f58cd4e99a838770bae00
-d12de9609410f847b491749b79aeed9f024acb6744eb560899de7f957e50dbc8
-4cd61b5a60eaf47717a48855f304a283c972213de3fa9812a03b6fdb829a3e0d
-cef701b4da8dcc4db91b2c1e3a11476c36f4426019d2d9aad2ea9a8e39ad5789
-4ff08f83eeef9a643e212eaad81cb81b2add7a8def7810ba7e2682d45c0f175f
-a2e16a127190227faa28f90efc2a41ec6dcb6399058ef56bad97e2b7d07199b2
-d00bba6af6024a4ba8acc7468d43b17dec3d7dec0cb79753a1a5a4839427c366
-f27b7346035f7349fd205392ad144abcbf23fabf068d12abad12ddbfcfb9de19
-5c72c0e51e0640ab8ba1f54560bb30d52961488dbc88ec9c67f2d577dca45d77
-37e9b074245b69b13b09cb447708d6e9bcf4fe1d30be0b6dbfb15e9fdd3fa182
-f90dad78e63bd0a21765f89eca3a5b6c9908a3e6a4c73f8b6d9a6b9992d6cae0
-9235e3ff65d3daebfa21917dd5da7961052ad5bf1b447ddbe5c40ef332e1926d
-f4a2e7e03ad2053f80db3cc5f9c25c7285c8154372bc6620b0b6c888ca046a53
-e64aa3a1f0add6c0bd28e992a3ac3a2229f86c089021ac84ab80fc0af7ff5ce7
-5941c3c15a706de1e6ecfe7acb81935d563db38b05736ba75b9e8489d44a3f54
-512173b661e92c2debab249d649013d83747fc625c54fb4fcb40c344fb9b9bc7
-981b3cbe955651908777338b0557369c5c86f588665e65a630f94fe5023014b8
-258aa8d65d3d8fb75b33465aebd208c7072b6531dcb96143c2ff45ffc60cfa4b
-5028ef487e42e5ad39557511a5838ea19090f019020ae01830d44c4e71d932d3
-03396252a730258436f90638142bd4c02137a2d5b84ee9e5a990fb626892b86e
-bd89c2acedafbe38a95d591206e387b5724c37816db308970787181be6e1596f
-83fd4aed608329db92480992c04d8e88946b9acefe54aa6350ee04de9be9154a
-6fa03606301fc922ee58129af63ead00d64c78576bf287eab9090b3b9baeaad4
-0138c4f09e50949fc667bb25dff16e27aeb0b9ba94963a02f645b16c624629c5
-bd0e31a2f65c3e7b35b6d59b2455765b8f332e351e8c4391fe9789a0f9b7a894
-3093d79daa0593e0fda554006799cc6399a14ec337a5ae6a3294c946193fdab7
-da21888dd9ddf8940ab450e851da5a0a78204a6ec4b4c8f760c39061c6dad9c6
-e59faa3d9b088f10564ff0dd78e091516b4c64cb6f7b9a7a6b375c6fc10e2086
-dbf84db0666380f71a426f9e620ee5f33be163a0326a02f320d28e8f99a87b06
-9b518894bb0aa7a32c79503ba0424237360dd1471cf7db50dcce112bcf73c69d
-a7097caad602f3ba9f95523737dae070166f6192f9fa37b4ee73531a0d869ce1
-ab10ca58439d4a4e76f7e29785081540777aa340f6e8a34e468e9ef42becd452
-cb48e180f92e5dca7bbb4182925e3f3d126f573e79de1c4a2b592a31d056314e
-7710aa2f3256682e03860d4e5881eb38d48d25770e4c2c76261a2844ff7ef14e
-68606e47705deced3700ef26544bc82faf609a85045f7d648c678b3d474af407
-93b28709a5403a3acbf996d49899b74412bd6ec9a5fe612ed549bccfb653286d
-4fb4cb9b728a16cf5b59a40419b262861de214487b144c654689c7f8ff62c86d
-272bf1793f0f6a0fae4760a2ba94c56a5e1fd56a868f7817c398c732571252bb
-068d2e6efbd15074befb6f0e2fba8ef814d05d151f02a00f89b824e20af72206
-418c0aaeaa51424f2c13e5b413733dc3c09329412107a882565d13fc889ceb05
-6928999bcc15f883610dbed7a711a19d2836beef96eaea83f6509d93c1bbe548
-f43e3b8fddf5a50971dbcaf6b0945d1b328a2b5a732e515239f81cca72adca7e
-fcd8f84924b8573525212bd891ae028b9b48a15dbaee8d869e36439dab294d7b
-9e504e4108599d3de92c1c64b504cf73e72e2cc1a3d034cca3836cba061fbd25
-9cab1a5ea506a99b8bd530649a3705831d53a36eb780bab97a6a2117943d1a0f
-66b8e5a5907c1b78e3614f894e7b7017e03b2134970414c7dc35b40b6ddd23b5
-47ef28adfb00fa09e6fc301cd23f32264c9c00593aa164931561d561bc97e269
-b981bf6c0766c8e86da1614eff50f4a95378120206c51e59dff6c01b06c46718
-1e8d207f8e171f5f04a8085a8c49cf7407502c07868194cadd1daace2774e163
-059be3b06b0c57acfbad62805e272c52c9ab882864df59482ca0660b9c2a484c
-3d2e702a2a0a7a3ddc74260084ec1b33c750fea409a96874e66d32625377f7a6
-c7c96bb2570c5a3b2486c5716551faf52434c9189efb3a472be391f34511cdb8
-e57e641d97802decade70552a9a5
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-cleartomark
-
-%%EndFont
-%%BeginFont: CMBX12
-%!PS-AdobeFont-1.1: CMBX12 1.0
-%%CreationDate: 1991 Aug 20 16:34:54
-
-% Copyright (C) 1997 American Mathematical Society. All Rights Reserved.
-
-11 dict begin
-/FontInfo 7 dict dup begin
-/version (1.0) readonly def
-/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def
-/FullName (CMBX12) readonly def
-/FamilyName (Computer Modern) readonly def
-/Weight (Bold) readonly def
-/ItalicAngle 0 def
-/isFixedPitch false def
-end readonly def
-/FontName /CMBX12 def
-/PaintType 0 def
-/FontType 1 def
-/FontMatrix [0.001 0 0 0.001 0 0] readonly def
-/Encoding 256 array
-0 1 255 {1 index exch /.notdef put} for
-dup 12 /fi put
-dup 45 /hyphen put
-dup 46 /period put
-dup 49 /one put
-dup 50 /two put
-dup 51 /three put
-dup 52 /four put
-dup 53 /five put
-dup 54 /six put
-dup 55 /seven put
-dup 58 /colon put
-dup 65 /A put
-dup 67 /C put
-dup 73 /I put
-dup 76 /L put
-dup 83 /S put
-dup 84 /T put
-dup 86 /V put
-dup 97 /a put
-dup 98 /b put
-dup 99 /c put
-dup 100 /d put
-dup 101 /e put
-dup 102 /f put
-dup 103 /g put
-dup 104 /h put
-dup 105 /i put
-dup 107 /k put
-dup 108 /l put
-dup 109 /m put
-dup 110 /n put
-dup 111 /o put
-dup 112 /p put
-dup 113 /q put
-dup 114 /r put
-dup 115 /s put
-dup 116 /t put
-dup 117 /u put
-dup 118 /v put
-dup 121 /y put
-readonly def
-/FontBBox{-53 -251 1139 750}readonly def
-/UniqueXX 5000769 def
-currentdict end
-currentfile eexec
-9b9c1569015f2c1d2bf560f4c0d52257bacdd6500abda5ed9835f6a016cfc8f0
-0b6c052ed76a87856b50f4d80dfaeb508c97f8281f3f88b17e4d3b90c0f65ec3
-79791aacdc162a66cbbc5be2f53aad8de72dd113b55a022fbfee658cb95f5bb3
-2ba0357b5e050fddf264a07470bef1c52119b6fbd5c77ebed964ac5a2bbec9d8
-b3e48ae5bb003a63d545774b922b9d5ff6b0066ece43645a131879b032137d6d
-823385fe55f3402d557fd3b4486be79011d1f5bfae5c1f476ee6f05eb1d2caeb
-269958b194521197b312fcced4867f3c8fbd030bd715d8ffda1dcd454b174e7a
-1a97b59fe770e67702519d9d9b23d61ac08424d555242a8ca08c49aef300945d
-99b999a79ce74804ae6bfde623f4463371442f6523a5f6ce19c839a708c02513
-2e22c696c8ccade45680e5197189d0f98e7f0d5f955e353970b392cf530a68cc
-56b0035ddfbf206c3074beeb0739dcbca272a6e629fb7aea2c5ba7bae50c7b4c
-a595df78200c352997ec3ee564df229fbb5473f5e8ccb1cc0153e9a7e299a8ea
-a29b69d1b622b1f0cffc58291248759607d91150cb0651120970dc9f743bebef
-44f6ae92facec57658999c8bf01f60611560043962c0695e1bb87d090e0fdaab
-659d6557208a660be9aeef8ae55f71b8bc76394d792967e41bd8023b6e7f8c3d
-9987d5e54c53bf2bbb32855b946473b44833bd78873df8e4c7e668ffff25aabb
-8da4148f744b9d0524d6cb8281247b3052cc5d66f3f1bcf8a56a3fb446ea587b
-d8be30257652cee035628aeddfd8283b5ad21b8b1480ad24d898970ac8a1e33e
-543ce4e3c48f9ee621c5ce3e8ae930f890011b630866c988606068d9e92396eb
-f51bb3db204505fc3d09d4701ac703a14d92bbfe27bd7411b363a88e33a8e9a8
-025ac31f21e73dc52b333b918d0b1270c54873a490222d041a66e0192612be6d
-2c88958a8f70c10390146ee5091df020ab97675e8e6b9e705fbe5d4a561453fc
-99aacd038d0c9d92ce58c764a1a6cd497ec3cef52975ae84cc7e1d0401a7fcd4
-d5e847133c58d736e373745cbfa06237a1ee4ff0706bcc02e316bfe85ec2f0b4
-2dc3c3bb232c4045115c86f37c3bf3aa17b765020265aa22553707335d7fcd8d
-9f619e844ae579bedcd8326b4e97b5ec744e172232ba7d77527d51619b629035
-8eeead95e65ecd25b250137cfbec4a4ab9ada531afc7675329140b035b5b95ef
-70e59fa7265b97d059802c03f27a892dbc7bba4029e2c27bde2b345629887d0f
-503daa813e2f4aa88286ca728443687bb970205e7a1bc8a1e926fbcc08bb53c9
-78dcd1347cbe7db6901de8961f3ae79fba9727894f0bd32eb07af25fbf0ed58a
-e411298f0038ebb9ce560f435ad1c4ac5a042bc7edc88360aa45b3fabc9c8715
-fda2833f3ce873627eb594816ea234b181df3e546cfe9357438b3769c9eaa461
-71a027ed4572e8a28931c3adfd19fb998d53cfb0c45e2144d17c94f0a89f2b2c
-3202e3aefc9c426deb8d01ff3f6c966870cbfc3946c6b2357447f6e2f1f698c2
-17c08485ba86f6ebf5be64a6d6176f777969da23715886a968bf837873ccc07e
-d48f716fc3320f9d97953c57120c222ae04fc5013a1e4dd685488fc7529f9555
-ddf4252c0f8641c504377286056e0970fb62e4662c43f643bb37f0295d8c36c1
-825cf8401224de7d95140c74ca72f9db638d61b82e5902a866f5bd9f9c1bccd8
-74e3ce55d29a5292b27bea670b6f062ea2fd3bc20343a531487570f70d59a173
-16967ca2c7a8e3e2d2b9b0be7b21a0127e3d9505703dff0406a5a3e1cccf8aa6
-d3e80ee67541e209a7fbd65abd7c6176c43d052585fbe2dfd15ecb272b91930e
-3ee3b3f2ee81a622318d2f686cac24627a53fbd56560d3ab78f375011c74f8ca
-d005cbf3eaecf21dd7bdbef92e825d30c975ec4f57af46941d2926a409d958aa
-bda09449e7f429db97a94d5702c1eb5c3f137dd843bd79225def89b5fdfaf347
-58227e12d909271428ea127048398598b6f0d90094931762a2f8c6f01aeffca8
-edfb0c8da62297a9f42c89c1a5b44ade846c5ea51319092cb21e09ad0fe37cc6
-216fa48547ebfbe7605cccaee295fb75e667ef38c098c9204d325b0f8b285863
-c406dd3cd3813a7b4c5958ff93d818044efd19bcf9fdd8b6be6245da8b9fbea1
-0043b3829086a220507bc437a57291eabd7d99654a27515d93ce5c19d2d02c05
-a116b88df31a29d1d9544aceb108941a3ed9b36a47da33225bf272072242cec2
-d53eeb44676ed03ffa4dddd61b1b222667c2bac3003360c11ee91f3edf2c0144
-4b811574de4ee463eea325f2d4640a1e638564ecf613fe627bedd8894e59fe11
-68b3189365025968046f434fab202d9ae6e0a54f2df3a23bb122e18ca1468883
-627de0bc7e77d53ea0bd991cbf022e9638957e84bb909038e72af12255edc69b
-76b9b76ac0a93b05a6ec27ca442ba2cb8a0da8910c281eaffdde5c24d0522438
-aa33889b312e45ec398f7ead409d5c562e68014de7c2d4d75f9c181f6dbaf6d5
-455b99ec218b40b078f0c5aee0bae2205ce69a868c107caf7fdca8221ca29cf1
-7d730f4aa13e605890552dee1e092b6e2b7c060c32c84c706b4884ed3b445729
-e0d425893a63a09107893a9dae4461cfa103a4a45322377f253de10109f0b33d
-176cf13bec9c174ed826744176de84f9a04d505b6502757f7de6c46fc2c649ab
-c6ce33f104ae05c87b9ea81fbd1d17a40a3c86743a0cb124a2441f37471831f0
-820d64a2d230f083b36d3884b831f8b793db77bd65cdd2e45ba3b6dda206dfa0
-2582557674544be0d59da90d2092153e5913b74885fcbf58ef808509a1533030
-3b1ac8c65edea8e64e9144acdc8409beeb3712d0eb972b9169e65a2de53dea89
-3e69ac66c264defab6d9a4470421ead6b0f27df74686ad9d9c0034d62c7931aa
-451c4a82c4fe6bfbd2cb79da008fcc4f6970ab87e1a5702040c0bf5a770255cc
-11cc019079e71b593109cdd2594ed2843bcf4872ed810536109cc6c939fd4a66
-c0ad753fa6f924c594efa9500cfe770de6c5966cebc6858e76c5bf1973fe1cd1
-b33e375c62c8c844f687880688258a0552b2ac68875e264b7d2b0927e37f409e
-f792741804c1ae9110c16bf36cd22521e9abea98cc6a3151e759f31d823873dc
-be8cbc8c54562508cd0d55b1565295970b4c7cb94f0b9d960d7b5a5b10099330
-f9914b89c25655eba70023723976ea31e53428c3b2cb8baf93d77b56ffdbe0dd
-f43904f574b040b2725c72bbfbc716a2624a052d0ea7cf6ca1eda1c559f591b0
-a9b218b76eca6edabee20bfc027ac7d102b7ff910ff11f741077fd2aca3ac620
-a0762495f3e7bf93b4d8dcd4025598cbaaddd840f1d67110f3b30b0cfc313439
-cd0d5edeb858df30c96db1898efafe57c1e364aaf71314fbc4cb5d95c6ad9c96
-846e09b38b1a13e534bbb06d622da308daf856ffcdb86ad624a4ae499fbff17c
-8e77f700412eab675975191d5ebdba69a0418ef1dd81a69f8d6bfe4cccd30827
-7c1b0075e5b612e82523f93341fef8c1197dc5e97911f480398952aa61bfc7b7
-77d05a960164fa8a34f6fc2433c6a249fffa777da51f9cd3ca73091f493b2e66
-11e6e5d2c5b3d8dd3a7f010412970a386e93c13a20bea29c23fc976b7c36bdf6
-db51553e05839357524a2a2eee2d95f00be1fb63fbd2cb39a5b1f491aa2e2766
-b9a7d9281f78e46639bc3c27e1bbc270d7ab1fed1eabf400db81c66c12409fb7
-c70016868b7a2a02f2a6716e98ecf347dccb3280dd6bbe191c804883ad5e2944
-5e40963bec09c3ca1bffd998f20cc9b340611392a59608b74734118cd88559e4
-c61f66a4dde1adc7d7c1d63f3558907e2416f4f3f7df0328b4654ca8969b94fe
-a06a9ca198a478b5e481c851dc7d1722bc46eb18c8f1fd0b093e82e6375b124f
-2142d871b7cf62da5889c49de3d7acb0180e39c8e85f91a34804845a346efed1
-f0b4e00f9f4961b2a27c11236ea5636562a82be3c81f3f1c1ee0a9e30080e323
-cd899aef0ae3130d436263ddcb9b31c8e36b5878e0675a83ffefa39e6b6e2d24
-5b79bfe5d9233b7eee90a558774ea3e08d1e2ad1ef56120441ec34b5be9c149e
-b31de826923c3e086815ae81fc56934f53bb1c324f5ef529243d38b7c30ba44d
-d18695ea8f04fc8b76241aa05f029d27276b6a0d8b27cf8c43a5edb489d38981
-bc5ae649850c607a569e73fa37f96a40b0c052282b065c0664477b46d32342ad
-d170b3bb92fb1230cb12d2114ed4789fbe3d3dae6e4d7b05395ed815e672f265
-b51cb6d7853c6f83e778481fdc9861a2470d4c22165bb0695c98f2a79d337858
-8fbf982a0c243b88e335dcfa917b8dfba901dc79913a5958f16cfd72a26c2aa3
-84ff3138a51af5fbaf09a06b4068fad84dd7b8554d22308bb7cc41c55f494fde
-654fc4e977d61fdd898eba73579537863bb4a9941546796ad1b2d3894011ac64
-de3aa04e5f6adbb9e69f21afa7c7dc0409b6569cf33bd993329cc914e797c5c2
-3b9e3e0ff18ac542f3e850a60e6553614cfa5f2d453c5954a8f74ddfce9d8bbd
-db07bd144dd14138f610139bea9358be42e8a002137be5180a3901de5502f371
-822c1a9d1eb3232de42421387aed207314b032972e72afcbf2f6406c0c62981c
-da0a780b17ed90518d587d3dd4cd14ca36f96c00fa8079b5b748bf51163191c0
-838aeecfbb3025995613e29765b18ce8c14e510d1203467fec6c0a8c63993bf2
-a78b31a639361f79b1f0fb21bafba4bd6e3299d437ab5e7d366ce52f66c92519
-efb631361fd68215f8891cafb5232f000dff4692abe5454fc53adb79a73e392a
-fb00aab08832492d0986c860503a5ace5e2262c048f9a9c07034f128e0e97023
-854ad209b10dd2507da4205c01ea61f99a685b080c2f9bae7011ae456e70143a
-19b4378ee74c69669b73c78f8ec9d19a560a11d81beff9ef717e6d607d52bc05
-a7cda8ff207c86204dc74c107c877348b43285817c42c2b8c32d93ca1ce869ca
-fef4b1ddc4ed4219d3499d2b19941bf4ad75c802cc6895a99837a66be6c14f2a
-c9f1650694389837e40f7df0e56ff3bfc9b1d4140bcf14b266466a3fcc71aa0e
-47fdaf8259a17dbb414b90b05950f5a968d642b2b9b1ff637417566fd3ec9ebb
-bdda5adabeaf41b045020bad7976a423935bd7e08a878cd1f561aa4656564a7a
-777acf608054ff390ad84e4cc40533f8bf8c23885724802bfaa18ab65b544ff2
-09b71d84fe83ad8c1e798857ec5cd79961b9e7ffd609b2cb7a3718c99375bff9
-c0c77370b730aea86c399333a657ba6cdf29e8a1a8a5666a9ef1b8c6a8dadc20
-440a875026917fb74d437b9e2de70030313ef00644c651ded8169b301d08b9fb
-20fa64b4ac404734e82abe89edd2c5ecb4dff4fb6b5113545fdff2f8c038c310
-310773862041a0035e06f4edaefdcf68cd935879d1c9a928d5c62273f230d268
-01d36b1e5cfd8232e40e3436b7194fd9d35121152fe1b8ba7dfa3dc70b8143f8
-bb5fc40f5c1b68d40bd9710a6ba1581778dafd5d064dbf797096b31cea949cdf
-71c4b80eef824b86caf0c22fef4369b212573753b94d3cc5314caae897432c73
-6362ed0071e6b998a7a2bdf62719df7b1c2ca96c1978cb26477b7e1fb47dfaba
-b641c6f9f0ddac69a29452957335c41957c33eb6f2fda4701a9ab06f34b28002
-fc51523581aafa78cb507319a4249723982086e64d632f27edcbd38dd91422ec
-6b77ae3accb6dd86a97caadf760fcb90b7d1ea98f4a01756336728002cc4647a
-476693cbd4ddce577a800a1bdf08a7f8c9cc1c06c32ac2efce853b29391df480
-3adfdb279b73755e96e3c883bea14163e7e29ebc6ec0889ba177da9fa1d531ce
-163984f30a8b015b182f7d4ee4ce95a454d86f4da3ca98e63fca130c934fe682
-267e8975c6472462cbc5915dd0533141f61f083a9e8cc21e7d992fe5f9778cd7
-0d272b613edfad4dd8a4d0cdf328606cf5764e82fcfb9dcac2ed7edc3064f5c4
-5b44db8dee36be5234b91c95711876966948f0bbcac41db838016e2fbc103481
-ed8481af6740ecf42ea20b24eb527188745d5a81785a8017ed15273ef10aa095
-6709a8a72d01663abf4c2043c8a7ecf908fd74ebbc095b55b29c6ea9fcbdbc6e
-728d74def74c0ab7591033adcc16a06f3c8a7f9f08f9d428be5bd3b69316b023
-91ae86585e0d3597002b7bb397559b5bd268c22895ec70171e9dfc8c35057092
-21b3a1bfa7059e21ea90233fb9463ebb7c04b4cb84057c21632db39b59e20c7f
-cbe176ed86419840c67e4ffd4f0afa6af32bc566caa5c8def4ff68d90adb0550
-bd1f16602565cb81285129e6dbfa859a25b82473d56aa05626d28e61330e3c7d
-c4e751df696982dc79ffa912a1b03f5261321528af05853a9af5c2dbc43f1c14
-237a2b0c8b4662b034e4a4b74b6779f4bad37d21e455bcd6256986f243e7e3df
-6a9d12e6e374b0b38c57c41681d7df5199865a5c1fdcf8ae1cf8ce962f969fc7
-3701ca9daedfc1b80fc5569fa5fdb4664e586cc906e051d74625884a6189a619
-ba749f102863f38ba49ccd86d10dcfbe2080d3d6cf95956c77181283791b16ae
-bb69c99cbce0dd2e9c55eb0176269a7abadbb873ae31c7211ba9f746b264b685
-bb7f517264a0df97d469ed4d9599de91b84de95f945ada6d229372546d39be57
-6e505c17ae867880dc86a499c769199a62a16dc9ffc304d6b70dde4971baa0ee
-49eb9956622dfe8c4007e4e536f720929e8c20ea04133a303a71798490ffa2c7
-10c962307b4b20e297af1db45565fa1f0db9c78e231e7b312b778b8b5bb7e6e0
-86bda82d2a253cd28e0a95b04492102fb7b3d1000b6fd1d2c21bc0d09e66502f
-d56ae39b152d60a9dd346d7981268598e718e5f33c0a647b766aa46044b9e82c
-1a83f8e700d1be3cab9e5d945d691039480b8274d8532f4ebab3b906903a3c7e
-96d7af6d3518e3ea6df8b95dc9fdf7cf601a095cd67628dad9a07fe5c67f5c70
-16ad50407ab57749d48f9ddd60f43a795ba180649ef8157da39e584ec6941575
-ee5aa861d67dbf6cb86f0d5f92814f3ff80e846be72be01a86cb72b2895069f4
-64e2f8ee4026989b314990e82c89ef7e2b5db62b94e5f5fd4fadfcab36fe68ee
-fd8f306b9eaf563bbe9794b4412784b440c8dfd5285e742cc8cf6a590b4f2ac2
-83730cc467c2b5f49f47a1df20422d460a9f02d18780c35f9478877a2b4255af
-7c2e782609e134f5ca25ce223deac2b4b2ba441b69246e356e41ac1340b45635
-386ef79aa368773b769da7492d7973f0071df7e407a8d4c7a934ab00fdc050c4
-4e82d23a7e1510f0b451267ce5778ac489f66e94d962b7f151dc50ef87bd1d5c
-4507eb7172da84cab441fd8d5f2b3974a0037b079f8f90a0fa76035cc1797a11
-f19ae567aa19ddf066703dcbcf04c878337fa123bf7ee20186cf4ebb1a3fcb1f
-c893963f72688e5eb31f5acb7e6c3e3e7744c4bd41483fc414144650015e6d98
-c6fa6f081c83c3af3c53a1e26b2fc4aecdee89d0bc0f354be9fce0d1f2bf88b3
-3738897ada4ffec0ecdf56449d251e691b2e7ecbb6e88ff7309abd43f0bfc0cc
-831b0aaf7c779a66346712450737e25ceafc2027bd75d75c5f56702c9ec78ee3
-b73b39147db1d4c0069d80b62f3905adb289f689ed70039a642ba6852f3283a8
-3561854c62e7ce9d65edab9d3dee07bd8d2547054204533bc4ea5b724a6b3cca
-bb12849f5d9b943602385edbb69b2d3ba682547bbbbca8ae62f8dd00848a07db
-688ef33da5533475f4c107abd5264e65ecf318cca84113ceaa8e2febea147a10
-e7c9095a377335be37ca2251f4d5f48cbb62c66f66ef089d31d7e01c50d74100
-d548ed77b07f5865dbfe963fed3d5271d66a787e075ed57938d694d5370f4ed0
-3c76a7b76c454993688bfd5a2043b3cb9c645af5665278fb5787bf29013ea3ee
-25e91cdfd655d093bb0bf2efb800ab7b6ac0010183f24b55e539a2c93882352e
-1d185fdbdfd240f65971933b3e03d4715c4a0ea7dcb26bbc2fb54136fdf93cd8
-32a39b2b4b99e32431a076bd90c7280181babbc729f58329399b161d64cec526
-fb0328ac19c179fc0539c1c4845fddc512438c43e3c5db3cc0b444e7525de4ef
-cce733465ad2e2e606adf1d14885e13c7bd15aaa81810d1b59dc91b113c17e51
-67781cbf3b0a400fe76139ef8583ce12aecb08abc2d86237b3ba47a8196d416e
-80e93f8e59c364ee7426d30f2a11aaa29118b90809998372cb5ded677c13e221
-27864d88f194629bf8c3d577a7aa6638b9637982c375fb15b0b64e8a747713ba
-2eb1e7b7b80a4ab9985d05f6a49cb26e7555d0a0a136d52d1cf028feb1fe3714
-52c6668ef27db0dbef424591b5ab4c18b526eb656ebc30829c558516f8c4d2a3
-eb97053c9cb9dbc810315897fa3ba632fdc76e2ae552d268821baebe0f96f037
-e0f2b8743d36ca24bebfcd7b0d78057009f1ab75998fa9210e54ca67118fec8e
-10ef59c05aaa566752652b6dcf52fddc0daa07f14bc6c28f6334955ba1ebed6a
-eaf5a365f553b2f9359c23aba570a02600e41d2944e140c802669a50be5e1485
-3e4837542b8aa1805e6267a2adf8b640e389c91d1f332cfbfdc2ea20c8249576
-127d420c1d4ff42f8c5c3272c1638666e908db925bd1889f445dde5596eae246
-3ffeb843e8da7dc4820cf72c94056b20e2382f97b5d3f30006fbf7f996df97f0
-dccd9f526d67507526a1c875917ee614d6f10383b71d0f38461ee54d54e12662
-70990f0d58cac89e3ae020307d824812c2e06907f7038b3744a45b9cfc59b4ae
-3554afd96398f265673a554b9aebc334fd481853dcf42b0357d9d29a4fa7b73a
-ece3fd639725bb7030e14194ca5f766fff5fa1a4aa8c76d29ed1f50bfab1b8f1
-583ddc734f22ecced4212458f428c4f386077334f5d00614e3239b5637128c02
-882c7d860f9a5022e1703f1931be1e7daef8d0393078a2896a6fc156dd50f8d5
-38b644ae0e89fd60a3590d686d8e12b3feaf9ab32c570353527d93507c9032c1
-fe6883d2ea1f78a876b85cf29d44328668a1d5169c76fbfcf4faa309370db180
-732af198481f456bcc5ef50bcb2726560eda602eda58f5a42d664f339e7227a9
-f07114ef6e13225d7a41935848702fd9fe5bc7695237e313b7dfd2d2d2ca23dc
-6ccc539a7851397c6ff2d879b49c137f80d3cc648f3330af99aaa6614396a40f
-1ddb3390a55d2486dcd9d89f7415d173f4fbce3596cec0ec245fc727ef549e93
-cb33cad8105b0e8bbe64408f01001ba5c7da7cbee7e9b7f0a7af360cb3be4ed6
-fb425c7839968234828a09a0b78c20d0b0bc8755ac0efb9c8ccb437a985a3982
-26614a5b022c5ab98d75c2391c9c01f9724d2db6c5c72203dc81f3b3c6e6f7ab
-fd96
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-cleartomark
-
-%%EndFont
-%%BeginFont: CMMI5
-%!PS-AdobeFont-1.1: CMMI5 1.100
-%%CreationDate: 1996 Aug 02 08:21:10
-
-% Copyright (C) 1997 American Mathematical Society. All Rights Reserved.
-
-11 dict begin
-/FontInfo 7 dict dup begin
-/version (1.100) readonly def
-/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def
-/FullName (CMMI5) readonly def
-/FamilyName (Computer Modern) readonly def
-/Weight (Medium) readonly def
-/ItalicAngle -14.04 def
-/isFixedPitch false def
-end readonly def
-/FontName /CMMI5 def
-/PaintType 0 def
-/FontType 1 def
-/FontMatrix [0.001 0 0 0.001 0 0] readonly def
-/Encoding 256 array
-0 1 255 {1 index exch /.notdef put} for
-dup 113 /q put
-readonly def
-/FontBBox{37 -250 1349 750}readonly def
-/UniqueXX 5087380 def
-currentdict end
-currentfile eexec
-80347982ab3942d930e069a70d0d48311e252234d51741e18db3a68e8ad10242
-29e5817a10e796a78d2c7f7c1f50961b9a57aa604c9f821dbf5a9295197bc666
-31678d7d2c7e1f8f2151ce0c29efce46270570f4301c5dad1b38884732e53dad
-05dfc36b020e726ca575f71f04abf2b49e1f1d6d2a08a477658ca9a48f1c8cce
-14382f0a42201de56e2821ee2b0e91a818b1b753d810ec2428dae5153b66af66
-9442192024becf743a8f6264a58a0b3aa823510a4957d1bab3e1b83135362888
-3e392f49926471a8021fdb48637baf0abcf31204b1b214f48c99f44af7782323
-69d772ae4f49be53a1bf584747bf29b94f530d59a5be5370b8dd0691e32a21ba
-9d0d592cf3bb50a99a3ecd18d6c4114cb4cfecc49705da90d7edb10e3a28f9eb
-a49347a09d31eec896f2a28e9607d99d42914aea16545c16e136bdd0b75fe486
-61e24c7a9e9b233a76754c760822d0a88c575e08ae3e3f081d7bfb80ec4c03ac
-a08b65fb6474f71fc95c7c2462f2eb3754e647c29498288f2ced0bd3a2bca5c3
-2f80a61fa667802d376cacd34de1f9572d1b3ab09d6f352750db4a768f869638
-a87457889aa502850427b40e1294c5ba33e6b17532b2d13b5f50e71582f93daa
-231e86597872a2a968127afb0f36257a76ce1eb24e6c4f29fce2aaf6532fb5cf
-df84da03f03a45b915209f67d398c7c4f7a3b0623750259087a478dca684b29e
-a8b7f52060bae9394369ed1cecc645d113cca3772a8dc36c6d916b5c5e65454c
-0a188a33395fd3da67ad0a31ddab6a8434dd80f0bd0ea1a2a62eecc331d88b3e
-369552daa1c575a98fe84383548626b65be7c24ae7eb61159f149872cfd87cf7
-6c1a7c155c7186c7600e58cb61b8cb0c5dea98268a39e928bf6fc53985eaa763
-2b28c1eb3d82e4d3fe225223f4266d2b6147e344aad2d4884a9308aadc7801af
-a606838925e3e50ee7aaf73f090baefcfd4e34b795cd92d83c944d91a4940f2f
-c955d727ea5bd76f0c8057b12621eceb0947b0a5dd10dbcbc52957dd978d7db0
-c794660afdd4e946b3d7fc1ba60907fb3f756aab0406c0e7bce5a2238fb3e12e
-07e2c0a7f465e90057642d704434ae0b57bd46c8ea91ab2a386e24c6deaf9cb0
-8cdaa8fc4ec3fadc06bf28659cb878453db16f4b03925b2127b83be8fc240f33
-23ea950b51d70c8fe861e30c346efa0a0125137598caca5478991e35f5bbbc19
-4c787488ba339830bca15f8333431902e82b66a514a41c0bff92719a6a0d9587
-4cff62c622fc61a0308a69f9fb7ef51bb274ce9e059c04b64e817abdbbb39375
-bb4d84ca40de5fa46b84b04f3056d74aecb5c4a207114d9a5a6df3dae68c068b
-a8eac3ce90f11cea03322a18b1486fd2d40cbf112c42389798b819c71671be40
-469fb02a086961899aa8f163c9458603ab61d9bff4cf30447fe852a0ee54074c
-a70c4743a4f4b834f93f9a38a92f5a22713daa7ca2e367a51c37ebe2d879955e
-67b53fd9fc22ba858f47b9c160c48845d0eb4ad008e078fe9518d901d4e609bf
-7e6920bcb1db428a1114552e607fa92b6d0cca4cc7029c7b73f937c2e5169ed1
-484af89fd965b6a96f7a315fc92041494e00af617f6c0f76ee6e2e81a1ba9bd8
-86ff90e811643630b7313c97c2652bd5b1e878434cfd26f1d2828ec210748a7e
-e81ca140d9af69d8404bee469ae0d863542fb878b0025e9698e77c9361c47618
-10009cf766e9a06223dd2f219b70639b7bc7fa8c4bee8310ce8f4ce007213242
-cafdefb30bb05c1476cfcd1bb8f4d193884b1343b6eea03ccc6d87c51f9bbe7a
-7005855330dfbda83d1d6224
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-cleartomark
-
-%%EndFont
-%%BeginFont: MSBM7
-%!PS-AdobeFont-1.1: MSBM7 2.1
-%%CreationDate: 1992 Oct 17 08:30:50
-
-% Math Symbol fonts were designed by the American Mathematical Society.
-% Copyright (C) 1997 American Mathematical Society. All Rights Reserved.
-
-11 dict begin
-/FontInfo 7 dict dup begin
-/version (2.1) readonly def
-/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def
-/FullName (MSBM7) readonly def
-/FamilyName (Euler) readonly def
-/Weight (Medium) readonly def
-/ItalicAngle 0 def
-/isFixedPitch false def
-end readonly def
-/FontName /MSBM7 def
-/PaintType 0 def
-/FontType 1 def
-/FontMatrix [0.001 0 0 0.001 0 0] readonly def
-/Encoding 256 array
-0 1 255 {1 index exch /.notdef put} for
-dup 84 /T put
-readonly def
-/FontBBox{0 -504 2615 1004}readonly def
-/UniqueXX 5032014 def
-currentdict end
-currentfile eexec
-b5e2457af4a6caaa4536453c498a618ecdce7b5f6f2d5944265309f833bd3d50
-3df8bd14c071f404d2177500681a801856cb8c9c9cf0112c9bd17ccba9ab8944
-1759a320b2078df0fafdd3e357994bd81740d1a7522ddfafb75d58f5def046f7
-084d10fa2f702e570b09a7073d70efe37b48c355a7089772238b7b4538c4912f
-cf6703a14fa416057ea2e1b94455913dd271b42846ee10d78270a8118e7e4bcb
-8deb048bb280c240d59409d47046c890e5f79e5dd4b0be65a28a77aeb53dd33e
-ac506a6da87bb55e329f433627e06c3c94b078838b908538d93f888e504e25e0
-3a8ccf7d2c02122ab3d485525564295390d1154e15fee35edff4eb016fadd32c
-26d1b4c09de87943780954cebc4965aa890fe1f80b03eb07103e13d468245c7b
-c26455f229e8859585c6eeafd9474acdb27290fd62950dc52f893c99a2a614d4
-2a7e3618266f3fb0c68a01a30373e048385ffe7dd5844e208a55d1a9263ab2db
-cb9b19038724f95af00349840157be45cb337871b55a304b87ade64b10ff0eba
-21aa0eaeef74aa01f049303a8b25de0acc26bb3a33fcf267f479a2a73f7dece3
-2aa23083687322b417fe86e8f5afc2136d045ad6b392364811a17630a94ff097
-038eedeedb8da4ebf8fa5a96ce27a2ebf771d14f4a11fb1f9f48cdd207209934
-885ef9118463552984b0fd3cf15d55de967fbb051549dd65f60dfe07f299690e
-58252f032bca78935b7d2df852ed688bd13dd171b91cf7bd46d5433aef9f50f1
-41a2517c4912b837793f84ddcf1116f70f7e9b1e6ec752dbc9183d4791d92602
-397bafe29ac6f879ceb72c673c8a1aa0135d6f92d0db7791f9a2f1a5b55347e0
-3e63723efd258754f5f4a9ad35873a98d54b6c54b17a39892dc1d38660597448
-fdba9258493a0db0d560c01d49f2d889a99eaa8a5b5919cbd33f6b3d97bf27b3
-e0b94b48d5d21d6c29aee4faca71bd775bb9defa37ff627f1e4926f10d59313e
-77d81a511027ef9a8ed5b7fa9b5bd67758cd13bab6ac18411c974a65d0c90085
-67bf5860d0930d7f43e557ee45e76ecb2806d21f4732bb282ac8b591f2b8775d
-4b3ce2a37ebb371cb74a3cc513bdd70a0115de4760c21f034f5080d769f7ff83
-554af524184702a02e534d1eb98dd3f7c5d51900409354dea37de4ac72c4128f
-b7c08af8a17f2033761abc7ce4578d50960ba229f0bbde72a750e61ebf32f961
-f519c386735f979944540cdbe8c8e2ef8a191839e033fffae82e797b6d99eb09
-96caf6191f6824680f0aa167fa3670df501492d493d04da4e0d40c579bc98f69
-1368624f1beefe7c681a84f0122a97651ffc905047fcec9abc49089fd5be8cc2
-aef34559b180555eda5ee38056cb66ff3c179cf5715dacb4b66b8a695434dbd8
-fab68a01da044cba0abe634c035c19d20a8113a66ef4bf6f80b8332f2edca065
-eb99277c1ad03f15837aaa9bb52f5f63c73de2760c253efe0533e75467f968f4
-0847ada5c4e097b1096db482b171b8397131a4d797896ae8361281c3a70e55e5
-71a1c17b23a4203a62adaa8f8bd4491db48f60541846f0776653b8bcfdf845e1
-4197d51ede41b129e79157e9c6597d52ab4460ea133d48d02cd32c43b3f02e97
-19954b9ff25fdf
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-cleartomark
-
-%%EndFont
-%%BeginFont: MSBM10
-%!PS-AdobeFont-1.1: MSBM10 2.1
-%%CreationDate: 1993 Sep 17 11:10:37
-
-% Math Symbol fonts were designed by the American Mathematical Society.
-% Copyright (C) 1997 American Mathematical Society. All Rights Reserved.
-
-11 dict begin
-/FontInfo 7 dict dup begin
-/version (2.1) readonly def
-/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def
-/FullName (MSBM10) readonly def
-/FamilyName (Euler) readonly def
-/Weight (Medium) readonly def
-/ItalicAngle 0 def
-/isFixedPitch false def
-end readonly def
-/FontName /MSBM10 def
-/PaintType 0 def
-/FontType 1 def
-/FontMatrix [0.001 0 0 0.001 0 0] readonly def
-/Encoding 256 array
-0 1 255 {1 index exch /.notdef put} for
-dup 84 /T put
-readonly def
-/FontBBox{-55 -420 2343 920}readonly def
-/UniqueXX 5031982 def
-currentdict end
-currentfile eexec
-80347982ab3942d930e069a70d0d48311d7190fa2d133a583138f76695558e7a
-e9348d37cac6651806d08527c1bb4a062a4835ac37784cc39ad8841404e438b4
-d52d3901e47a1de4f7924e0fb3daf442499175bab1226edf692a4956739f8828
-e80592f450c5d5c22ac88bcfbe9748f61d18243a16f4a4467f084e8e2be46ef4
-7fc51c3a8199e3cda62ff9c4fb73956dab8b6683d2156377808cb35026073e80
-523f59a30d195fcf9b9fce4ffafc6d56491bdecdcafdc988206c5a457a19270b
-37d0ab776e03eaa7eb568eeab6b5e79dec03b0dcbf923a2aa8e4f4deda2cb043
-858d8b430efef0ed914a80ffc9818aba0fb30dae3694e5b31df3855892d59b89
-7f82ff79fce8444c7926ffc4ea008e63bc518936c9098afc2d1c14030a2c15bc
-c9285c1b57e80570d2f6301009e63d9ddeba44e3251c75ca9616a2c5de9ade66
-1a15db37b40b67c1bd71f77343912c62f47dd24be0e03dd833ea60d2eb020407
-eaf042fed30f0c2f01956c83d46d982b50dd979c2026ed5f71979dd98c9c1eee
-25054000a5eed5ce9498b2cb59a7ee55e0538ab47d86e69b2ac79229c8c6bfc9
-3a24e822a2f1c9964fe630344579a25f66646113f73d1315c447f070c575de76
-266c6773b01137e4a039df5e4c2f199e8e3396ef9fd001eebe090e04384c4089
-ec9f13a07ad8733c6af775f432f154ef50ec4477e08760c03c006e4d1eb1c7cd
-acb8955ca4b0d62c7de046ff58d431bb9883d28586552c51809e3ced4dfc2198
-b97ad9e52ea33c91b9e335a80d9b77d3430e0487930f992459664abca5dd9177
-150b0fb502fbb04ccaa94ffe2697ed07906f95fd98e7b325bfbf10ea6b39fd76
-c1e5295022cb39e9cd471b7b0b3f9d72da99deb0615d35cc22f42dbf5cfb70dc
-6279fd520d99f32201abf25e621cfe1d37961d9c0ad36ef3d9264c547638152a
-be30812eae30521c3c775adf1959595a43d8a9c4e12d9f9ece27a0c9b5f45e38
-8e26a39cb0ad4e25ab8f21b25ad1b106ed22af7947ea8ae4dc17b9facbc5e22e
-89a91b046ba4cddde69c1997fa7f4cd949ba3ac4b6e001475daf165b9432dc70
-6e30aeead8cc342d94b20a4045a331175655d6aa279627efc0fb53a4ce66b68f
-a45b5765f0c1368c02c39418366880efada9c81e9dfcee2a9443eadb1aa1b209
-eace5b0fe59ec29ceadcbb5e9902b4cbedc5786ee430d30d2ad87b4cc744296e
-0a6790d555ad3370c4241d355add157a77d9ab97711af34254de54115b4318b6
-528051b275ff76cd466285941b741ccee31bc492d4f92a3281f6dc36cdeb73c2
-ba6eb39ef2ed5e75a795d89c78a49e0c62df0959176e3de1337ec0011eea5841
-4c44f9680262fc604be5d51e04e69668379b034284b2eda1c7495a8032ff6871
-2070880d3da11d49556d625ac9f774a2e5836f36097467c3559ec9db7464cca2
-09f46aeafa09908ed25b3fff86b6a495c2d3e80beeae93b31b9d95e14850d06c
-99e2416db06fc949761a01a98a7445e04de2a89247599e931215ac51c2493912
-bd378c2b98618bf7756fb17992f7b27feb5fedaba21d5fdd0f24d935dac3fedc
-12e6082d19a99b96b8463d0bf33c174d88e687671fe9295f747bfc10b720d62d
-b5ebb3cc1256
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-cleartomark
-
-%%EndFont
-%%BeginFont: CMSY7
-%!PS-AdobeFont-1.1: CMSY7 1.0
-%%CreationDate: 1991 Aug 15 07:21:52
-
-% Copyright (C) 1997 American Mathematical Society. All Rights Reserved.
-
-11 dict begin
-/FontInfo 7 dict dup begin
-/version (1.0) readonly def
-/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def
-/FullName (CMSY7) readonly def
-/FamilyName (Computer Modern) readonly def
-/Weight (Medium) readonly def
-/ItalicAngle -14.035 def
-/isFixedPitch false def
-end readonly def
-/FontName /CMSY7 def
-/PaintType 0 def
-/FontType 1 def
-/FontMatrix [0.001 0 0 0.001 0 0] readonly def
-/Encoding 256 array
-0 1 255 {1 index exch /.notdef put} for
-dup 0 /minus put
-dup 50 /element put
-readonly def
-/FontBBox{-15 -951 1252 782}readonly def
-/UniqueXX 5000817 def
-currentdict end
-currentfile eexec
-9b9c1569015f2c1d2bf560f4c0d52257bac8ced9b09a275ab231194ecf829352
-05826f4e975dcecec72b2cf3a18899ccde1fd935d09d813b096cc6b83cdf4f23
-b9a60db41f9976ac333263c908dcefcdbd4c8402ed00a36e7487634d089fd45a
-f4a38a56a4412c3b0baffaeb717bf0de9ffb7a8460bf475a6718b0c73c571145
-d026957276530530a2fbefc6c8f73e9b697ddc0351763500e23c4d170ea8a2d2
-75ad0b6b23097f02fa803c1f46f9ac10fe0e527c431b11b1b9a50e874896cca6
-17fe3e255960846bc319ca68b9b930a45d5d0fc36b352c3443ab6f7793b38d2c
-7fb9c409ab7980ead55e9f8f6b83c70088d1fa6d7f2214da8928e40b96334ad2
-72d1b5db9d1355a579b26a8dac21f021e393d7d837a95deb8de92ed818a8b80b
-98ee9cdd8a3c57ad7d6eb7a82f43eaa6ec520eefa7302e750edc4b495f70bba2
-24a2182eec37f1a1c5dc8e20973007150237daa6bf03d498826777eeebe09014
-ebfe05a8731e1a421cfc513d47d673e3d94d805f5d0668ffa265e0962cb5a75a
-4a93d9b873912be368f3f300b584a7c5dcdc5e3f796d62bd191959cd043bc0a0
-108ac1860e97e05173d3b979ffeaa815405d9db68a72c102cca8b3becc60437a
-946131e0670abd3348ce6dcbd3bdd4797f83472f944778fbeb0a0b93d8a4d446
-9bd54ed42cc57e2736d312a9961d759ffe9b3c98b7b27e4a4f067d1b37e5bb99
-cfd1b895c4bf965c25c21028cf9669c5e8e7e3ee85a5afb8f60e436a84164e91
-ae86ef778ed1f461c1e2f0a520be7297c2f256549c13a73adcd7e18f38d442fc
-97c1a047f71e118e524d7bb28b0b5ccd466b9fae8ad3511a6beebe684eaff350
-12dae83db9f4a4bc77838081b25dfad9a2f9bd4b40091695d05925d5e8c8f975
-d2b1aa768834bc87e3a5f70f1a0c55dea887fee957a15b7a3c26e2467f35369a
-394937b277f888e534406f4d247303f5331a7f435ba5ed3a99ca0b38ba37d619
-ddaccc6dee082b7718fbd1a8be7055914fc63c54b0e69b52742352d7ae51b14a
-c95753b097
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-cleartomark
-
-%%EndFont
-%%BeginFont: CMEX10
-%!PS-AdobeFont-1.1: CMEX10 1.00
-%%CreationDate: 1992 Jul 23 21:22:48
-
-% Copyright (C) 1997 American Mathematical Society. All Rights Reserved.
-
-11 dict begin
-/FontInfo 7 dict dup begin
-/version (1.00) readonly def
-/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def
-/FullName (CMEX10) readonly def
-/FamilyName (Computer Modern) readonly def
-/Weight (Medium) readonly def
-/ItalicAngle 0 def
-/isFixedPitch false def
-end readonly def
-/FontName /CMEX10 def
-/PaintType 0 def
-/FontType 1 def
-/FontMatrix [0.001 0 0 0.001 0 0] readonly def
-/Encoding 256 array
-0 1 255 {1 index exch /.notdef put} for
-dup 0 /parenleftbig put
-dup 1 /parenrightbig put
-dup 16 /parenleftBig put
-dup 17 /parenrightBig put
-dup 18 /parenleftbigg put
-dup 19 /parenrightbigg put
-dup 26 /braceleftbigg put
-dup 32 /parenleftBigg put
-dup 33 /parenrightBigg put
-dup 48 /parenlefttp put
-dup 49 /parenrighttp put
-dup 64 /parenleftbt put
-dup 65 /parenrightbt put
-dup 66 /parenleftex put
-dup 67 /parenrightex put
-dup 80 /summationtext put
-dup 88 /summationdisplay put
-dup 90 /integraldisplay put
-readonly def
-/FontBBox{-24 -2960 1454 772}readonly def
-/UniqueXX 5000774 def
-currentdict end
-currentfile eexec
-80347982ab3942d930e069a70d0d48311d7190fa2d133a583138f76695558e7a
-e9348d37cac6651806d08527c1bb4a062a4835ac37784cc39ad8841404e438b4
-d52d3901e47a1de4f7924e0fb3daf442499175bab1226edf692a4956739f8828
-e80592f450c5d5c22ac88bcfbe9748f61d18243a16f4a4467f084e8e2be46ef4
-7fc51c3a8199e3cda62ff9c4fb73956dab8b6683d2156377808cb35026073e80
-523f59a30d195fcf9b9fce4ffafc6d5649664203ab24acb938d58d246707ffe7
-d62f04bec4b70c21ef75beb2b812622b3c74e969d72d3cd11bd7106294a99caf
-0b1629bc7d4de6b96ca82930831d64575f23f4ad06a0e45e315b1d392411be8d
-6d73c998789ff258a07a3c8c2057325784514c845500bfd1a971310cfc11d41c
-1a167dbd5ff012c60add4e87325f6e5299032a839de65fb1473a166aae1876a4
-414a434f22c1d241591fb36f857df6fa930608750ffc0c54f44994662b1f00f1
-400bf752ea8d83ffc4cb77a290bc2d99981ae59a191748ba5c7ba1a9d2583fd2
-1398452b6ff5d83a059f7eadcd2ef744e9dd22bdf9c79d049bf06835e878c32b
-7765c69bdd8ef4deb4ea7cfff4cf9354a4ddffa689de961d16772491c7afbd7f
-ffde42400764c68e954ee5c455a5687959829bc3b319b2147deaab3628662c80
-30c5e02fea09609abe4eaa12e217bc3af673f1bc36a7039eb13fcacb4218fe0f
-c5a3f9452d4edf46cc91db67b624d4f2d37502fb9f11af4da18ca40b61097f95
-d44329375467ed13c5cb585ec53f62b83ef9502cc755af44bf32b87b8ae9f3f2
-f8dbf72dab90acafbacd280db6aaffaefdff6d5eff26669bac56280a950560e3
-d01714ba38659b0e4e28bf8cdc1f15ff7e3ea9d95a6afbbe3d8e6905aa6d531d
-6b6dcab89e2036cc492c65f76ddcc3cfcff33fde3d9ffd10f7a90530fd5c7683
-4329baa902e701ca42717476298c9ff511b1941244bb1dfd0e5cab92a43970cd
-1bdb292eadd055c97972844fdcdb0aa06401e7b2632b9d134f96bce0064860f3
-9859da7a9a82be0a840672a1331212752ae1b521b693b384a72dba8d37a86eaf
-a0341e7fc5f6ef7a8c566aacb91e8bf5005c18837894c4eacff41dba54e071ca
-83fd0f12cbb9773faea8074d8bd9ea37f030d986e98005cbed3f1c881fa23c87
-f911ae5d13f56ff5dd1a25442783ba213bb6a93e276ff63d12d224f4017e5166
-ead00f973cf9db90af1dab42dc6f1d2ae4a284fbd5136f805b3398eb0c50d783
-8c179ad372384b236c64fa4632bfd5bfb64b748442f9d8d0605382b98c4799f3
-ad25c000601c01996c785779c26dff0c1319d9f4bdb375d923d76f226f334476
-2a2ccecd95b30de86ba86f43d999e56e2780acb74ae5b054a428d318260f8e05
-c15e5b0e06815fb1d876d613349d284463895a8a015e976b88cdf1ea950701b7
-8a9d3b6995b674a1a64f7819c1580ef181214231c4da92234b108aab4ea41589
-3ac86480441d5bb9cebb69ee46f8ee3a2e190783243fceec192db6cd794e106b
-47b3e879676a2010cbe354ffad34dd897c5428e65d3e67a73360998776ca3ca8
-9c001e17f5c8c2f38d08e1b4e072384ff64ced8259739fd20ebb12c8e0e58f17
-f8f3ed36866170dcb0321378226d029eeff42a3b2a175677af5602cebace2d36
-37414bc12a8d9e9ff85510db5831bd86ffb9a2feed6acf21dad414f54bebf3b0
-e2f2005878ae109d8d81ec2f7309123fd86f556dc96e7c7e2dc9b2efe3bf2d5a
-1ae7599d61e8c1cb1f2fdbb5636f2da5e6960b0fa3e601de8e3f294b8023984d
-0cf0f61aa9f564fe3a2b647172015362c5b6205190b7d9b7062d3b73b456dd60
-b262b13dec5a283b71627662242f22a6528729bdc457e30807aa62c9c2dbf9b6
-e89de730291405a6e3bd95dd31acde9644840947242ebc7e7c1a77a672cbb56c
-3e791268f2ea6b8e1bb7c64522b22bca05905fdaa697f084238682fda5e667ff
-e27281f1c543157774b65702c675edff440e027fbd3ab5b98878cbf040014455
-e3a872e956fbae99882885060698e64cd81db0abac0a35627dc8ec2e9b704012
-3f99f5dd70b91b7d75826142856becef45c966dc3a845992af89206db8a79289
-497bcb45427c81b5e4e097f7d8d11dfd683f8c191f27710e540bf6172e6a7ea3
-b514070b9d243fc31b9e8b3f9ffa2606314ee8a73d047a612b8b7a2b93e545ea
-a17ed99bd0f39037d33346f55e0c8fce9175767f19da473cdaecae5aed360f30
-86618d84d61ddee6e89f70abeb83199ee6652db67299cf6de6b363f146e554f9
-6b96ca03e351d249163b61aaf8bb9e1d77a0774f30b6967de477539f2c16ac3b
-3047ea940709d5206a8c1cbf82442c9210938d67837e800cfec13d6aa3ba4ad2
-5a663d4959c11e116b65d2331933402bc9d143eb96d53f8cb5a454ef6adf037e
-e4e76ff1189c01ac981e1c2de02e5f76a0389ffe20ecd918ceb3cc14a586c2a6
-f4dc0b563137424e5d3ea7919da8ab8c23e6dc68a0ce743fac5b1eba0acf85db
-bfe31dd949e00cbfdae9f730c871d206a182cdafdbf22e772a29824c7c2ee6c4
-310f08782fe6ba671c5259a4cd45c38493c3fa2fafaa6ec2fd66980b6e0ba7dc
-dd7f9ba303d82be6becedda4c18e351e21a520057b98e217733a6b48585892bf
-2de931c1fb49bb3ff3a6e3f973b4d5bd205d6f9bcd010b2376b1ad08051bb592
-c8cc08ac7a97a281001f43b2ff2f0d99205229b868c4589face968b286aa81bc
-409b9bddc21f9f9855d739d026eeb3ea3477bcd8e30ba144f6ad2942b1f3b629
-e3d73705b734716290087110c76dd324a4f112c49214ec3772a15d6f01cf7147
-8df8bc20d4f0eacb8bf7ddd50f777d790850ca8e8827ffdeddc1bd62e7c8764a
-94f68d42a91fb72d9f23d989219578c03a670f0078df3333cdaa5bea49197cdb
-5ed702f67368ce43f8a2638adfdd95748a4509d6890c7e74b0677298b2332889
-d3ba74402ba802652be2c92f085e45349ca9961097805bdb9cf3a3dab3f9b194
-79f0092c553e381e20f551767b832ffc567462911e4c1422935db29278a2a04c
-dc310d3684dfc3ea1e2d61086689f67f44253d692a91590e498c26903b419ce2
-52f4cc4c4a1e5ba36b4bd8cf80269823c02f860d4715d0d60854f00785986d0c
-334eda7626c27573c6a4e1f1347a76d44c312fc50cf789440a8f70ebb0bfa585
-327e9cac8f3f2bccb844eb0dbda7372a9ae068c4d5fe98e8e84804e93ecf5aff
-88ccd19d794ffb8f9e803a5f10c86f0fd6b3fb3696a9cdeefa810575c563519c
-ee458762f45906ca833195d806efe5d56298b0285596cd4fd4eb31cef8726a5f
-7a8bf001ff24953af1698ab9465d5d2ff9e76470905cf00b6a9a563f38c8e028
-3e19ee598dc848fa01d93321cca6351932efc82bf4057d7dfbd34dfc5ed60a83
-7e325d524dca8dd6f8bf75b994a8ac6740df3ab435cc8358ef7b035f1c8ad7b7
-dd9c4e56969a0f5abb68e04d9bb789294e316c327e71f9ce06fe3175331ddb17
-ed87dac38f8564afd0ddfa7f26b83a30b603d132dd1d960d08cb88815dea42f4
-f0fca10964e343fe8cd754eddbb9a991007b7bc393f08b29d8f2b2adeb88e966
-84bfdc757585689182bbc3352c57a434c7bd5464f151646ca7a78b7af88bab1c
-c66f827183800e2c5c743fb03f4b60d396325cf1cc4a539e32e111eae1c823cc
-8c127a32dbeaf51f5e200dcce6759e13b7bc577055e15772e73772ed0f92410d
-1b2cce55862846f7d990c941b3ddb49a0813172eff3c943fea30e3284e61b671
-9ab9690ab93cd82e8e3aeec31136bfee856e02de3bcfae6fa326e104acfcba6d
-284e01199a2c6522261e0dee189d9eae5b45f8248faa14098be8e10317ce7570
-a2289ae116a72cb868a6f4f3fd00ccef636a0d3a3917e2f50bd2ebb57fecd1d5
-de42f083f032cdb65846d009b02974cf170e42e367c4926b608f52ade9de82ec
-eae10007a15aff196b215c61b1b02a7dd376844fc08c2374586b24ed573e8f31
-30ec15288e4c354a1cee6bf99657f07278933e59b5897e54dc8475ef33a504c5
-1042a6c96a0e003c4cb525dc97f13e62d250c1c07c10b475b18d90ea878b5e09
-5759b686d68609c93263c7db41bedfb61cd3a34585fc843f3b8fca94ac310fd5
-5f1710d2cc9f4a095d9e864e753a36f8bf8ff96c16a078a4175db59c90c0f1b8
-c16ed94bb52b23d5298a60d01c533a5208a4d13414920e53d897e9238b471f18
-e7f6ecffcfca7e2b51e1db7104d55c63e717584dc2d5c578c0f7d772e71a3055
-8bbf8c7273b23cb16855d58ebdef6ed5f61b2b0b77dc52c13906f97b88a12cf8
-3508933a9b9b5ad9d11a359d22710d440cdc903b159df0ccedb27a6835c0a316
-30c642ac68479da45c6ccef48e59a79926299c2670ad3a4d568f153ec3f18148
-f5dbba52bce098e746fb4e45ea65fccc128df496fc70459ad574b2b170c71097
-fb9c2e29e9c20490a98e887fd1a7e31bc129f3f9413bea5f6f0819f9ef443503
-fff7d456194c11d9f4e64d27570fbf2ea3e8f20f67db81b43b7712587ec3f609
-7dc52284a1d3a39d0337f5ae2e8c0a00453d084c190ca8751e677e52c0ce20aa
-bbf4c9392e1abac7708da434ea711fb02382b40dc656d2571ca966201229a503
-730c1dc6b8144738db8a6379bde4fc1cb7a7213951d4d552f78e0fc333adefca
-b15225ac2ae505295da8cc9b735a91c36be16215f4e40fd614956a5e2128c393
-b169c19114c593c591febe162da7a68123ad6a50454a9ade64f70fcc8d7c6ae0
-f8855836b5f3cf596590c785193833ec8b7e214711cc97ea6cf21a27c43d1282
-a0a7bf1d99c6dab4b402af458c1235ba4fbe064e8691b28cf2ffecbf252796e0
-e986c9908178e7061d2c108ea0baa6fb6225824f7aa99b4178482643e3c8649d
-cbcd3d2356136810b0f120680065dcbf6103872151466ca8d8cce2c38e0608a7
-282663e2ca3d7f77f43a272c2723a7e6729f3f6a9a85a7608b935b3853947240
-2b1ee879b65d88515a2753b1277ed0fbc6fd2f57de88e77dc43392ed6a90646c
-00575c25a49372d4ac5cd6efc8c759053d67cdcdec95a674a9d0e47269ca022c
-1c68c6477a0719adce72b223ad6c5fdd795d37fe7b997800863baf27ded8b5c8
-81846ba1b1c1955403ef0201c6fa4a826c1e43cd9c0582798ae58ee10f1ab02b
-44da6ebbacc4aa922d63f64b20d45e269334cc9ab5b2d6c20b6248f4a71cca49
-07183a13e491e1aa14c97e524f12ebf354fbdcfdf4b1ed9367f3b42d32eb20c4
-2cb2837367fa254dc9d599eceeb58a95c9acb60f89157935
-
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-cleartomark
-
-%%EndFont
-%%BeginFont: CMMI7
-%!PS-AdobeFont-1.1: CMMI7 1.100
-%%CreationDate: 1996 Jul 23 07:53:53
-
-% Copyright (C) 1997 American Mathematical Society. All Rights Reserved.
-
-11 dict begin
-/FontInfo 7 dict dup begin
-/version (1.100) readonly def
-/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def
-/FullName (CMMI7) readonly def
-/FamilyName (Computer Modern) readonly def
-/Weight (Medium) readonly def
-/ItalicAngle -14.04 def
-/isFixedPitch false def
-end readonly def
-/FontName /CMMI7 def
-/PaintType 0 def
-/FontType 1 def
-/FontMatrix [0.001 0 0 0.001 0 0] readonly def
-/Encoding 256 array
-0 1 255 {1 index exch /.notdef put} for
-dup 59 /comma put
-dup 75 /K put
-dup 78 /N put
-dup 84 /T put
-dup 97 /a put
-dup 98 /b put
-dup 99 /c put
-dup 103 /g put
-dup 104 /h put
-dup 105 /i put
-dup 106 /j put
-dup 107 /k put
-dup 108 /l put
-dup 111 /o put
-dup 113 /q put
-readonly def
-/FontBBox{0 -250 1171 750}readonly def
-/UniqueXX 5087382 def
-currentdict end
-currentfile eexec
-80347982ab3942d930e069a70d0d48311d725e830d1c76fba12e12486e989c98
-74c2b527f0925722787027f44470d484262c360cdfdddf3657533a57bb16f730
-48bfbbfcb73a650484015441fdc837add94ac8fbd2022e3ec8f115d4b4bb7b7f
-15388f22cc6198efe768bd9fceb3446ee4a8dc27d6cd152485384ef5f59381ff
-da43f2d20c8fb08aa27ab2015b774db10dacfdcd33e60f178c461553146ab427
-bdd7da12534ba078ad3d780414930f01bdaae649990604a33aa9eaffbe5b5489
-e5c7c9ff9d9be01b08220832c41caac64816b53bbc087ae4b621d2b44b21ae5e
-3f7fe4ddb05c675abfe30510eee4a7c874bb57b2ffe521a6875eddfdfd18c781
-25bfca5a097aad361dd94df46f14026c25ea988194899b95001209cb7009cead
-4b4ea03473ea120e7a7e341d4e3926796347fdb3a124c29660ac09f4648b313c
-b58e824884382f24ce08d2edc686923acace1201c16a07a42803288cd0b946f7
-546510e95b1fa1cc96f0bf72aa823d8e83d7c68c752c82a54c752eed2b1e699d
-e9db1830272ffbf2f4996ccc2d6fe2ae272798989525ef3b67b0d09bffcef749
-a805e5f76578222b9c4a8a09b13189a16ab746ddef7875f1ecf83e568f493d82
-ff729baa1e0834dbec30a35d3c49c9b10c5e1d90c6e3c8fb737df5ceb3299d96
-0fb79632f91f257753b4d2e34e3f54a26c7b950981fb7fe4dee3315db63e75b0
-24b4d318baec8aac9cde186f6d65767df1dba35124287c2e805bc660a3a22772
-0ae4fa097f1d75107441c0a0fbb9eec17d5516fa03b98756b7df7ac7eff9c7a2
-364b9f691ed5cb692dfff9dd80c761e9c4d5d6061782b327302c053ce1cd09ba
-0605ebf761cf9b730524e1994e7dfaa956799d522ec53d5acba27a35c4d28279
-617771938ece58c5ab664aa00c1bc4efba2d15504247a68e3af0f9bd59a387b3
-80db88cca083b06f5af70d768d1699826fb12ce12efc2b4c70923e052dbb964f
-5fa957c3ce225c0fda64d9b5321ee1ade207c1cc93105096cc73118f4082594c
-8ecddeb0d7bfde6f70bc62f10407c26a476ed88be7999d64a15912493829a9de
-62c71f5a34fbf5a843e311873cd98817dc9f8a4aeb7e0738b5de10043f5cfea7
-147c908eaae2af4d09272289231f5d80c37f63f858f713f1348f3519606f2b1c
-b32498b9322c2ec5d38b8d205d10acb61335fb5c8dec41461f5c767e054e691e
-60a73f6ac42bf38f9eeb48ce671ef7fb68a7b136f99f7564d0e3df036ef98ab5
-6819d7c66223c1123930beacf9e67647c427bd78a9f481c2a573a1fd2e21ac71
-65ffd14a7ed14ae0f20425e8b3d861b6373a0ba50fa0afba8e38f2f1fc114dd3
-847975c59686ccea85a507a2f113d40699ff037af8471385851c88304c3044d1
-6ca1ce00e62e97a16057d153e3cc0ec64261f9eca87099af409985d7893aa6cb
-23264f4180e917e1c34f4b68f0f4f93cd078a2f1d842f0e22c728984a3426653
-816cc64fd2e79df4fd3ecf0e4b1a1a13f97435e6b84e7cfb410f2be52cc8e480
-951d13449c8a9631ea081de5e4f4813e58d27e0952638b7d0dd1c7f0a5061ebb
-6aedb99329b63f86b8d052f3eb5769a6a26238d1870daa539daae91f155f8e27
-0120addbb7961f8768261aed2e775a4e620127d67ee977744dcd7a077ea29f02
-1dc28f13980d5a4f3a4e9a4c41768632634c666e0a0788db338f096228d8722f
-74a139d8e665bd8ccf7c3a6ea2a70e39d96d484ae36c56a5537f6bd27d220d6c
-0f1a5ee3276134bfb0d646538878e63ed7f69430dc06bc9be26443174774339f
-c86905b8f5ccf562ad74e8d979da721d9d2cc3ee687b0dac0043238d0cc8b5d4
-6fbfe1340166dc1724f93d19efa5e6e7a8ff6953aa8e9b46e05b87a6cd7a3b50
-a404d9f85977b135ecfd70dad236c147f506b6cc28a19cca657d34696d6d8608
-197d13d2c4b10b83958b6f0ac695ecc01664394a229f527a577f10aeeb3c86b0
-b4ed99ebb0f512ae7287bf94ddaad921f0de9a7a48a9ff73ddc377eb8aaf9e53
-bf810005c4cbb6e9bb6213105b4f93e6a8b70f89b473542cbdbeba27f7979c98
-46995036fe40805dcdb4ff428f8a7501a41b9d90ca7371c55f8a62a581b2eafb
-e2c157da72ea3b988a3c782fc5e7e47bedd9120d9ecd889761cd7c9377ba7b30
-f4f4a21f8524266134f997d5d5dde34697052dfcf2998001e9085e8267cece01
-14a07090a9c397d5dfe1a887e0d565a4258704d6c03466e08e6b806d6d02d78f
-0cd93eae3334d53071af55d544f4582e070cf8dfb0445fa2f521c48eab605075
-208f7ff7d4a9438d4fae0ba803be2bca0d74cc4a95f95e81368bf13e73e8b8e7
-cdbcf86f13d106410e10d52df3c224691cf1bc657d8fc56b25b7b882700724f7
-752127c505ca581679b858a08a70927c4177713140701abbb1e30d616370d823
-e348abe9def37688fb8e314c4f1c5766dfc41d189059d21b6230e971415604f1
-961597c501a354aa14bb4bf5d8dcad5c0efb391e158fc4a823ebd6f6b5599de0
-8e0131ce8b1a6505a08a236241f802966445579969e272e53b2026b6a1d8f663
-2ec2e07a2f4c9fbef5f6d78883075a0b7575ea565315d2e42d1e9f16c99221c7
-da0b77907657aa020e46f9eb4a27248a8bc6de31de22e9db3e4fc7742d865943
-63d56f5ad7fda25741fc9b6c56e07006699e3abb7dc30e9f1cdea74392ceaa6b
-0fff7e52b5a070830e8061c1042a32099096e2acf5a233473c9cf774994d3fa6
-89fd5c965fe943d77ae971488a6878ee12efe60b5bd362cf6730b61cc2e15de0
-cc50d238d0fdc18e30dbfcbd3282cc05621c7954dfdf78a844821994172b861d
-8a064c5ddd8f187121520e9b7591c18b70ca17f658cfa0c11cf5bf3ac68e8187
-8ebbd0b8bb353ac4398452356b6cd309b6d5304e3d40baf9b6603548b18d53c4
-7bf554663751b2900e27ee1e46dd2134992dc683d2790ff48039adca64a9a7af
-9239d64d37b593307b10a3793784853eafe1dc7b53efa215727eb7dbd4dd0e8f
-7f22205c2305c5582aaabbe1e04bfa0f014da5eb4d4db37edfa08ff22102bf02
-25c17ef51f3b29331e5eb582cad31e14a089ca97a1915536b6449d944cbdc23b
-39bcccac5dccce5cf1c0124f1d508ff69303b3f68588851a342c118bd60e170b
-25e7cef0102c2dc4aaf045c339d5e21da358cc6341567a1ceb3d82bd9fb5c6ab
-ba26bbaaac92e2d4808a482f7a86a9b9b7ae64e282a4fa9c8b180dd5a4223995
-f2bb360f43c57dc0001c3bea49e27e65ee4e10365ff2ccfd406ede218e43a0ab
-e95fcb6f6ad1771ed6f1422ecc03bbdd46a86a64664f75fd700775fd9b8b27d4
-6803c6a5c06cbb04b585b5766447870eea063c83969efb11747e5113d559df96
-8f2c27d92e3a237bca8c181fb3c82bd75f4d3ec8296e5adb3273d63b2c124b7b
-22c6941b5709a9e4ad8a771c7cb44ad034b0802ef526b0ed52cab81fe4cb4b3f
-5dc72dc5b86b724d32eccc40def6313bf73bf16cf56ea92c236e3df997a8c4d0
-1f89ddd7b2fcc8981e6731ec8ef80cbf665ba08d41486bb48210e0fe9e8d9601
-5e538a0c7353bc5bb1e6c70cc8a5b2bcbac6a6a1e08b4e8c13b372a8942577dc
-9779de2198b20b7552c4e001adba2b013809f31167c1901a58c1658eede633b5
-214a79bcaed71a86b4414ff4eeb36bdc2bd67cf7c95ca9f01520c718ea59905c
-bb838b367f7b3fdae701df64c3f34fba0dce8c884455d0dea1ab985c9483f91c
-64597df66fd19cd2b1d5aa90d5d0d98326ffb26a59c2c982e8c4b029ceeaec40
-2c106cb40913440d26f8e73d81cc62727c97cf697f81aa040378ef25128968bc
-0ab6acae0ca91d4398fb9c10445d94ecbe315400f42150b2f8cfe8dbefa745f0
-1a4e26e79c189054334bafb83205854136a68fc375f32057f5821ae684d1de32
-4c6d40c5ac0b7da9ab3e04bd51d1e2ed10447dd5a990badb93b04b5d79825f71
-0b21e566fbe8acf3eb06988cad4f2ce3ee7ea67068f475ec6c3313794adbf23d
-51c84dec0cc0568d2860ddf75dfd2f9fad70a71701729d744dd543e7f37497cb
-006694da423d491220598b43240c48fec615c5300d4b9149b8f7754506eed3fb
-d919b8fdab8863f6e224029c939a81ad91b3189823fe93a7a8346404ea422ca2
-120d1dd287e716771fc3d0307f1471a408f987986914d1531dc227adb927906c
-090d360d801b802dc8f14afdb5f85031d77a48f6fc7b4c291bfe77141843c195
-ec2d98eb08c50598b11b57f14cbbb981b385fbf2601ebf0a2193fe3f2a0d016f
-7eda8341c2e842953743dd5303bed4321b6a6086f2529acb942bb4867b601ccb
-0e033f1d9ad071349425abb30fc5c59be2f8de422825a0c65c9af229367d88cb
-e64d10baa696a7d9234f1d9013b0230e3637686f78218d92f3f68c940a9c71cb
-9b9ae607c2531e2d4c0922ee3fccfa919f564d54093fbe4f7a38f35fce87f94e
-1f9852ed10f0e2589366b8b93639187389cd6418b06b0d24f4ae84ccc7a47eae
-11355a44eb6702241553ed7bf24d711a966970efa823fd0741f39b8289ca405f
-89b6778daff3790cdc8b1e3d92d3d3576dd09e9be6a0fd0d7ca5b6b51592e0f4
-74e746db72a8b8ac44e0f1514e20d6fde235ecb35c92da6e3d713617c6cc713f
-e295b2789dab9b86bfb429277a9af1f48caeedfb367a1af6407cfdd6ae871400
-c5f6e4aef1f8a95aded9445aa935e9d029b19912fae49d8c0813537a1f83a397
-5d3d503416962627e7a064486bca01e9be649e9592837808c289347818c56d07
-ed37354b64ab0239f279e8502e086e6d5556db55c78ccc5eaad23fd55f02703e
-3a50318b84528743570cfc45714e4f2a87168298c1730f4882f24542fe34d407
-008cbf83bd09afaee4816427112a5f7764d6dd4ada8711d9a585960dc1d20f4e
-fe80fd13dbdc18d165c8c4b96a523de74b4c6865f1ac55fe63c39be0e10abc3e
-66554aba2b3f1fdedb01dce1aa8652633b6b157c35513cf96db9f75924dadf1f
-ddc6d3e66fe86db851f9ec9bf9eacdfb01e9f82a6f6e1522abac7cdf380372b7
-5b50bf95413a33cac888caf762dbe3e94a6b46a3d64b1bf2666e00cf6afe2c15
-8aca7e1175bdee5978c13492775b0da771a26a3d066674e6451121cbfff3ef13
-67926ecec8cdbc68fb60b2b87dc81f81f3e7f36db93e185b8503716da045b4a2
-92407e0dcac3de6e0421db593d2ab73786f4e5d2b30b52829fb2ac70eec5c9e2
-912dc4915a230c6244e3dd2e88af1c6af60f9b9c390446b459fe1add8171cbd9
-6332b29fcfecf1b968d82a16ed1790dc5fe720b0ef1d69b8a9b84ce4907bd3c3
-0a5624aee58d7bbc275cc6da5cf77e64c9b6ce73b17f03156dad97fd1f5fc095
-ebdc92cb98cd72d097a768835011f83f4a543606e2f58e9264c4a134bb2f1df9
-0632e52a1ebede1ee706d6d0efcbf96943a3be71eab3068862420e57ce79a81b
-a4aae9e6442daa2a4217e2546b29794893e30bb0bc39f53dde14413b308c37e4
-ec9e1419c956f96658cd17ea4fbfb62e4ded3d7047cc88e10bd5a32663ee8ddb
-4e07b6ba4c45026e1281c09f9d4ea975c7158fb8ab
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-cleartomark
-
-%%EndFont
-%%BeginFont: CMR7
-%!PS-AdobeFont-1.1: CMR7 1.0
-%%CreationDate: 1991 Aug 20 16:39:21
-
-% Copyright (C) 1997 American Mathematical Society. All Rights Reserved.
-
-11 dict begin
-/FontInfo 7 dict dup begin
-/version (1.0) readonly def
-/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def
-/FullName (CMR7) readonly def
-/FamilyName (Computer Modern) readonly def
-/Weight (Medium) readonly def
-/ItalicAngle 0 def
-/isFixedPitch false def
-end readonly def
-/FontName /CMR7 def
-/PaintType 0 def
-/FontType 1 def
-/FontMatrix [0.001 0 0 0.001 0 0] readonly def
-/Encoding 256 array
-0 1 255 {1 index exch /.notdef put} for
-dup 10 /Omega put
-dup 40 /parenleft put
-dup 41 /parenright put
-dup 48 /zero put
-dup 49 /one put
-dup 50 /two put
-dup 61 /equal put
-readonly def
-/FontBBox{-27 -250 1122 750}readonly def
-/UniqueXX 5000790 def
-currentdict end
-currentfile eexec
-9b9c1569015f2c1d2bf560f4c0d52257bacdd6500abda5ed9835f6a016cfc8f0
-0b6c052ed76a87856b50f4d80dfaeb508c97f8281f3f88b17e4d3b90c0f65ec3
-79791aacdc162a66cbbc5be2f53aad8de72dd113b55a022fbfee658cb95f5bb3
-2ba0357b5e050fddf264a07470bef1c52119b6fbd5c77ebed964ac5a2bbec9d8
-b3e48ae5bb003a63d545774b922b9d5ff6b0066ece43645a131879b032137d6d
-823385fe55f3402d557fd3b448685940729e6e22f4be0e08c6505cba868f7950
-93f556b64b808dd710eb936d3ac83e5783b5f7e56d363a59a026a5619a357d21
-c4e77bea121eb24b09027d1aad93158edf912940e91cd2f17922b35885894644
-7773730bb19af9e70453e1b78d5edc123b273a979891d6d5e624f4a388f3897e
-13b045e34b4ee2f5e4fc5e996d3549640010c671de14d18b0b3cd300e57dac03
-22e59bfbf7b29422230870f5897fcfaad4b50c7c1c58edcd119218163d6f6e56
-25ccb882db7b6d09a1586508e8cb642a11c29a46915e4a96e282079cb21922c1
-c2e360b487a45302fd22ec8c5fab63e54b5e844d4b17ca2fff37c69c366dd72a
-d02922c14c0932f65ed03e4219c117962edbad2dcdeaa9c10ce8af38a4ae52e2
-b377245b0be19a77d6c936e7530cc4d0b78d0cc4a92698fa2870fa54f2d8503e
-2d17b3d52fb2febb09f2b2af0c2a1892039ebe19a690098799a858e3d39631bd
-6925a154d161df3918074ada6bd52baddd0adc3f07e2d9f15e27cbf7fe8b98c4
-07205c811121fa91e059f2f99322fed63f359ac9da97aec383f067f23e5de331
-51e80f0a88ab50fe8fdae4a5de93c1ae2fdca06150b37246140c0e87cb2325a6
-0d2349162ae3ac93144eee1e665a1289105318fdfe86b6e76251cb25adc967d3
-d0b97fe5e279e1161736ab22b4ca510b964342383a840defd38f96a7280e6ac1
-34e48d740607ff2e7804164a16d47735864db847c97335e6d4215cb99911a1ec
-015a3edaac1f28fedd56d2467130d07bae9416c15f0827d27c6c79f59054282a
-418c12c157c91223a829947f47592f7cafd93ca182b25a73a9419127e3b12a9e
-5167ac3963f2b019b338ac46d63880f94dda4b538835884d2a5538c85528d6bd
-977f844d32b43b0e48caed5a4bdabcefe71695d69ca784d64d476eddddd04fb4
-dd6833f4b71645d7f76cc408f4aab6476e7c58a62af2693158dee00e15147afb
-1ad390821f90872f0ec9c322cc6823a6837c5d9c9506c8dc44144588283e02a6
-db49cc3281594301a76a0573d9c95d986f108e988d3900ebb6edca7b8580d4dd
-500c8d5ce83fa8d80cce38a5a3647ca9a87ce5e1558729e80e20e641cd833d27
-f0f881ee92ed59dcc51d037d4d869189c996959b7a0d6c35f8612381133ebb4a
-608587e67e0fdf52cfaaabee88cd286475815456a89f3885824c1d7ed2e6b7b8
-aeb41c9df9493a8b534f8a8fd885ed7dbcf74f1d9ae9c598e305e82f4dbe9441
-c616cfb31195dc5864171e112804cae020c5ed0162f367d35773680ca20a42f4
-988a84aa9ad085056c3c37f858b8e1e050564539a5e49de198204c46929695d3
-189624e2dbeafae6c84f7554f02a0e6516277a478118a13337e1185c3d23c1e3
-cd1241bfc2454ebcdf3532db75fcbb9d4bdadf41fe191e8a7e73746b6829b5b2
-a8cb0cdf77f6cd864364ee9950fa88796d9eb61bcf21960bb95f6767cd58cd71
-3b8b0af3ff926cdd1d121b391830e040290a961b79b9041dd33e8c6f1712ac21
-92b624389fd7a739320f6bd71987819687cfd66595cbdfd5c2a2f1e908286612
-bd58cfa49b8e2080cbfee7fa1958ee86ad87130976e18d1dee4ecdadbdaa0a85
-d254e8565ea03d7d74baaa2f2ae85307cc4d3f1ab3839e77ce6412508092746e
-e67ea260cf4dda2f5d007e4517a240223050791c2d718c20dc7fb1d285399e18
-91838c7e41450cc88bb3f8a795e38b1b8473b2920c115faa28fdf0a30ce6f41f
-30e3684268deddd1d1d5fb550cb71572bac10d6b3fca6d434ccd1673ac17b5a8
-f9c580d376580fe5da673aa0acda29ca8482169410a8a127f41e590b3b498d47
-a487ec7c434a9e8e8b824fdf56a42759e07b38cc537d6a3a7410a71b003619f5
-9ea1cba489220ede7b504a047df332ba29e44d05a2e91a76bcb5a029d9e6df31
-4e9ba7a5b1127ab0235367ee050e970a3427942dbf20ed1e84c8e30f49592e94
-1e9d98365667a8d6b68cf992d30b9b77bd34815cc5286664e8409d1a5962ce25
-f086658b56a65e9612e4b058d03a7a723b1887928c44b1cfe5bfe1590a6d372f
-e01e354b2a75a782ef19dbf4315c6e2b095a61517da93696503965b720a7ccd9
-ad214caf370fa7a79c4436f7c1a950e8d51a926d26952c82bf312453d1d8e3c9
-b1a14154368db8901987b1c11a39ca2d9b9f9f46d08ccf61099fbd6ff65d9d61
-6c5d04ae92d965d6fbc967e54598465c50e0e652c23d22d3c57dbfd019a45176
-6576335e467c41c024f46b904ed6b9b11e32042406f35207727dde598a53b9a5
-4579f8adc256ca73784fa67691c0c6b265c0bf359f48487bc02555ef8f91fe6b
-5ab927c3df47063731fd04dfc22a45303ed4ddf20623e7909180e2e60cb5d35e
-496ea412c139464656ed52649b1a4c76452fc5a933b0e4d710bbef4806d6f77f
-7744814001ab6781029f2cf5c1330b259f72e60c5f2313972bb5e81afb8e5e54
-ee5bd3df39b998e9821e3787
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-cleartomark
-
-%%EndFont
-%%BeginFont: CMSY10
-%!PS-AdobeFont-1.1: CMSY10 1.0
-%%CreationDate: 1991 Aug 15 07:20:57
-
-% Copyright (C) 1997 American Mathematical Society. All Rights Reserved.
-
-11 dict begin
-/FontInfo 7 dict dup begin
-/version (1.0) readonly def
-/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def
-/FullName (CMSY10) readonly def
-/FamilyName (Computer Modern) readonly def
-/Weight (Medium) readonly def
-/ItalicAngle -14.035 def
-/isFixedPitch false def
-end readonly def
-/FontName /CMSY10 def
-/PaintType 0 def
-/FontType 1 def
-/FontMatrix [0.001 0 0 0.001 0 0] readonly def
-/Encoding 256 array
-0 1 255 {1 index exch /.notdef put} for
-dup 0 /minus put
-dup 1 /periodcentered put
-dup 2 /multiply put
-dup 15 /bullet put
-dup 17 /equivalence put
-dup 20 /lessequal put
-dup 25 /approxequal put
-dup 32 /arrowleft put
-dup 33 /arrowright put
-dup 50 /element put
-dup 54 /negationslash put
-dup 56 /universal put
-dup 102 /braceleft put
-dup 103 /braceright put
-dup 106 /bar put
-dup 114 /nabla put
-readonly def
-/FontBBox{-29 -960 1116 775}readonly def
-/UniqueXX 5000820 def
-currentdict end
-currentfile eexec
-9b9c1569015f2c1d2bf560f4c0d52257bac8ced9b09a275ab231194ecf829352
-05826f4e975dcecec72b2cf3a18899ccde1fd935d09d813b096cc6b83cdf4f23
-b9a60db41f9976ac333263c908dcefcdbd4c8402ed00a36e7487634d089fd45a
-f4a38a56a4412c3b0baffaeb717bf0de9ffb7a8460bf475a6718b0c73c571145
-d026957276530530a2fbefc6c8f67052788e6703bb5ee49533870bca1f113ad8
-3750d597b842d8d96c423ba1273ddd32f3a54a912a443fcd44f7c3a6fe3956b0
-aa1e784aaec6fce08dae0c76da9d0a3eba57b98a6233d9e9f0c3f00fcc6b2c6a
-9ba23af389e6dfff4efec3de05d6276c6be417703ce508377f25960ef4ed83b4
-9b01b873f3a639ce00f356229b6477a081933fef3bb80e2b9dffa7f75567b1fa
-4d739b772f8d674e567534c6c5bbf1cf615372be20b18472f7aa58be8c216dbd
-df81cc0a86b6d8318ca68fe22c8af13b54d7576fe4ca5a7af9005ea5cc4edb79
-c0ab668e4fec4b7f5a9eb5f0e4c088cd818ecc4feb4b40ec8bd2981bf2336074
-b64c4302856ef184e72b8e52f8eaeea96d7cc14bca7caa95822ca41fddf44eb0
-3bb40da5b3924d358871e96edff313a6ec2499923dfa1949492a642c97bec26a
-3211dde8eefec916a57acd1e634dadcb6a63d42213c71983d04d3090df55f0a5
-b7c9836900216207d18e17c3db80dab291c185465ec32366f135d7ad7aa76942
-bd63888a2bd5065497d506848893d2a605b26c44783988bb1a8a1bedf197592d
-7a0180e49420396162a13e4a9b59de2d0f38b7dc25f730b461b5da9b221bf3b4
-3d713046ddb4fec29cdc420a8fc6aac27530d5818ab56259fd436bb5a73c7abe
-84c08e6aaef6ce9eeb098643abb517e194f608ef6da255a292f0146fddf5b75a
-c961836d838165d45a52345e9b5da40481ccab1bac422f0e02278f2ddf7a4c1d
-d1bae5851e9372f9b8ea2e29c3c71f455db7642430ba1878df32be678bf5ce0c
-48bb1290d70cf26785d4fb2e6df551b47414d2fb3d85e630cf436b08484817ba
-cac8c295e2c6fb01b523323e40652c04710ce9828743c9aef92bdcc05edbd9c4
-96186ac8f1b4ffda3a6dbfb4ffce69a91afb182ae013027c15abeed6d2075a59
-b0f5662a741702ff73224ffdeaa42d29b9b5b81ac347192325f8a377fe9eb5bc
-acd8204054b335a6d75bab5be98075b720a8f5dbf285b0a267e25bd1a813c353
-82d26725a047419263aec87da1e1aa2a440afd0915e25a8a28485864c1df7b41
-6430c57561e27e10c66002acb8a3edc82d86ca58d58ce24a90ca8e0b12881428
-a5c4cf0eef500dc032c2feb578277a18f3495f5daa3849c9dd04bd513dbb30e8
-644edbc79b64f7c22a8e7590ab84e607fa1e9849c7b5f27e1ef21661898e6fda
-d1271fee8ed88a3bcb0e281458e1c7ff0068a7d94b508e06feb5ae961a2e2f0f
-eb80e8d466152ad24407313fd123ceb54ef1f8ae5b9137a89b4c2c782ccd70d7
-e3eb0b15b87122a6c33af361c19bbf64f7c192f0b3a319bdb5da389ccc0b9ae1
-111cdfbf8bd1bfbd7649cd4d262a9e03714a4ee46a1a48dfdcd87c842659b8a8
-dc474d69d998050f46041693463b558471cff92cdc2c29b60254fad319ac272f
-8f54489b63771bd182b92bb869275e0a4f6ec1de4830f49cdad6d73de04b46d9
-1c62086cede7d96aa1bac32defbec9608f963a0a09bf7c27fc5acf04e52b8889
-bcfa27ec4527cd0a4693fc11d8b52fa742ffcfda7a893e087e4d4e2898383916
-f19b7273cd31fd7bc82d02b3c2c81ad2849e6cdca5a03f18461aa70dbd7f61a3
-6f6461a5e540e95cb0d8d287be12ad032ef029c29d47f15121a52639aad590ce
-c0d83f8f97277a08a67da5085c608b10a1f1cf498e75514c67fc7247cdb4203d
-5d72f12330385154bfec076b07d8e5a3e2a90830dea7e1f3d02b1907476c4c60
-1248af0fa77faea617a3f26a78533702beee40cc156c2cdc025b50c393286db9
-88aa919ea0d1f9d4ff734d98759f56bf9b6377e960485f0412bbfdce01492e8e
-900f22f0b088fea71e6d57e798efab73c11dcd367b7d0e45ca59c806feacef5e
-d257296989838e436b0f6e80bc4b989a7bfa1dee1ab186f0d001e0b50494edd7
-7b6d671a5907e8fe28dddbdcb163000060dd454de2aeb84522b2c047ee2ab0dc
-aa489a2a8affb95a50e4104176ae3dabed9d0ef8128b567bfbb016ad8fb3ca47
-8135f2a8a71fd987d3f9e87f864934756a65cb3f5d6c3f6c9ea796e85aabaf56
-79075315d18f420d037f4a24de26ffb8e1aaaf169665759d74e73c7661ca2723
-4d8c33fd9b5802868360a42d722ad913dd1df87ec624aa643a648fbc66ca9552
-9df1d29fe249d82d5d7654d606b1d6bd814637ee73f38eb1eacc6a46c4908a87
-add4692aaa49f3fffef89366fb74aba70cd115876c9c1fb78930ac59d29921b1
-f5e67d9841ed4651f34bcbabc8781e79d3b2c141ac89b37a079adbc5779d0d94
-b0cb910725b1e4cbeda6a58d99e6571154eedd378c770abd8b7d65b42a135688
-073519669324d73f0891ef83946156642a019cf0ed1ffa216a298399cc7ffb58
-f3d453429a712bca43f77dec8e89078c98e3692925974642309817915f1278b0
-97335251a9be4a6a6569b6252fad51089bbc91facadfb2a473e8df6273c4651b
-12a57f7c2735996642e7524980c5f58c2f651eac4690530a9263b566e4296846
-650f5db14699d6c5c2db390fa85ad243c250bc399b8e67e376bc8f1316d5334b
-e276b3019b932089b95e15db0033a0903a42a701deb64518634b9055cf98bb09
-e54fbb51e31dd69849c00d0c160c2a9a253baecf9c5b055b7568d547635b84d6
-b1f2fe3d074fce320ed79388d034ec570f935dab98c42cfb101c8d1e35e3d36b
-ecb152aaead0dfbad8ff645eef0a8e5f515b45ec3f3ba0cfdca784c16f1934a9
-7b9a8c585434626d2c63b629a0fdb72181d1cb4bf77f19d1753d923de2f2755b
-d2f23f8dca7605741be7d01da13a608fc090077878cda5897bdfab3028041c68
-1107416a6cefadc1758ad359197dfa9da8d57206f48c0e6e8571ac91c7e76392
-8a87c49cc560a8c7e518eb91faf4f9214c8245d5bfb7002bcd15472373095c44
-e41996b4eaca71c31ff1486aadee4fca3ba1c266f897ccce99471647932cff2a
-a6f22eb29c56d7c52eb4d24ea0ce30515349219cb7831428b694ddc0277738b1
-747557b5c500787adfc2ed266c9f754a9ef11b856c05dbe93ab8e8ceaf36b4a8
-c4d658b331bb1c0a39f4a27ee58d7b868ffbee9f2b4a9a04df3aeb2e3b37fce2
-596c681bfbba5efce13ad045eff1a90f6ee3163851c315e0c0644373d187e7db
-0c578df822dd1f4d7f370974da1e49203cfdb96389ad11c3deaff93fff81528b
-fe828923218745b2c0a04b2ef7b3892c3b3c63318cf64ae90ff45508dd1f96a2
-c9e53ee27784c5cb3d400def3b7efcb12b5f3a0666f38ff3a631cbe302d456f1
-3b97d7390591714ec0f4176689808e820e505060c9b1096675b8d9c3bf12dc5b
-3fa883a4264fd03972c298c54ccbb353743c205b257327962b26ef90a7740a82
-34b0e6ffbdf432f78540f02f31975289bc0fe05310329180fa3abb024ed6a8f0
-5cd22238adc7787e0e04731c8e6d14f4a62c6ca364e92d78ce9d6e638fa8471e
-155fdd6a
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-cleartomark
-
-%%EndFont
-%%BeginFont: CMMI10
-%!PS-AdobeFont-1.1: CMMI10 1.100
-%%CreationDate: 1996 Jul 23 07:53:57
-
-% Copyright (C) 1997 American Mathematical Society. All Rights Reserved.
-
-11 dict begin
-/FontInfo 7 dict dup begin
-/version (1.100) readonly def
-/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def
-/FullName (CMMI10) readonly def
-/FamilyName (Computer Modern) readonly def
-/Weight (Medium) readonly def
-/ItalicAngle -14.04 def
-/isFixedPitch false def
-end readonly def
-/FontName /CMMI10 def
-/PaintType 0 def
-/FontType 1 def
-/FontMatrix [0.001 0 0 0.001 0 0] readonly def
-/Encoding 256 array
-0 1 255 {1 index exch /.notdef put} for
-dup 12 /beta put
-dup 14 /delta put
-dup 21 /lambda put
-dup 22 /mu put
-dup 23 /nu put
-dup 32 /psi put
-dup 39 /phi1 put
-dup 58 /period put
-dup 59 /comma put
-dup 60 /less put
-dup 61 /slash put
-dup 64 /partialdiff put
-dup 65 /A put
-dup 70 /F put
-dup 73 /I put
-dup 74 /J put
-dup 75 /K put
-dup 78 /N put
-dup 81 /Q put
-dup 85 /U put
-dup 86 /V put
-dup 97 /a put
-dup 98 /b put
-dup 99 /c put
-dup 100 /d put
-dup 102 /f put
-dup 103 /g put
-dup 105 /i put
-dup 106 /j put
-dup 108 /l put
-dup 111 /o put
-dup 112 /p put
-dup 113 /q put
-dup 117 /u put
-dup 118 /v put
-dup 119 /w put
-dup 120 /x put
-readonly def
-/FontBBox{-32 -250 1048 750}readonly def
-/UniqueXX 5087385 def
-currentdict end
-currentfile eexec
-80347982ab3942d930e069a70d0d48311d725e830d1c76fba12e12486e989c98
-74c2b527f0925722787027f44470d484262c360cdfdddf3657533a57bb16f730
-48bfbbfcb73a650484015441fdc837add94ac8fbd2022e3ec8f115d4b4bb7b7f
-15388f22cc6198efe768bd9fceb3446ee4a8dc27d6cd152485384ef5f59381ff
-da43f2d20c8fb08aa27ab2015b774db10dacfdcd33e60f178c461553146ab427
-bdd7da12534ba078ad3d780414930da4f8d58abefd45db119b10eb409dd89792
-3c6e705479464a4b310b58348c4b42393988fef4925cf984423aaf65fea9f0e6
-4629953bcf50b919d968d99bd185f83112b2759cc411764e9bde677f57c5ee5a
-c555448d5f81a16259ded1e11bf4119d53e8ab07a802df900d3a2d5ccc1c6876
-d29c5e9effb7af3ef83400b0910c07873a8c56fa7b1eb1ba426043b00cc95dbe
-dc6e136cbbbcb3f67509964f9f281ebf81fe5b018122eaf66c4a838487e82e18
-6e006093042848a903efb3469ab6b4049767aadb95c30408dfd58d8a10f4cb22
-168decd9f3ee100f07b49aa44c92139b669cc312ba20192454eb2375be6284b0
-26659d964b96ae82d4942e758027fcf23c25ed01115af27ce7f20efe2a822bb6
-84004f20243a49c9e93301fc21b80815c033c3e2ba58ef53da2157d524b395f2
-b37abca13bc6a2f42e824ab7e47106176b0d6db267fbb795ac7425582df2e3dc
-55863468a9200742bd7b552c48f8cf58bc21343bd3b95abfa140f33f37c6f3f7
-8b0d8a5154eb7c1f62ec598267f13e841a3e64172663935ac8b665d86540d316
-ddece329c008049c5e74b27d59022c5515059bc3b89370b1bc6a169c888bb325
-e0b74282d6f053a50da4024ed1e433271a32ab8c17d41c632b41cf9f3ecd5fe1
-24daf7aea7ce8a63047b245822930d517df7baaafa69d2d17f7d93cebd45416d
-f3459365434123a76ccf883a4973bab19807e1f0c4bab03a45f7ed69ff2660ff
-3963e4def11001eec4238c368a39d874fd30b3c14f4186ec7700fbce22abe468
-eb32baf7b0164f8f21a9b5e706b91411faaa44467cb2180ab03de375c1ab93e9
-76e11ab92fdd4a7280a6d1a8dc65c4c89d04c8ed6988045a2a3de9a4c7b1efd3
-75b6c82686e73bb775a43d527131a99f996092d2fd0271cbbd894159d9c4349f
-963f8cad05b7a3474a493fa92e3a4c36c32b4a1491f478ce1cceb9e8afd88e05
-14a1a9794e2f5811abf84a3cb6a981393332eb618459aa41758cc7697276d0ab
-1bd1f12e879020427a05393d90b8b1f3a26b29a774cb303f3a8773b7c8aed695
-ea0a2395efe28a4a42a092ef70fcf011b65b4ef23d10d1a62c09f6d8be7706f9
-e0bea08b0974bfadd7097a11ca757972f639f771dc640894cf69fa1ac8ce20bb
-93a2c420dcb61e408b4c49416756aa9ed8767a73e2b287903e4fa7ea654f6abe
-7dfbe52ec02836ff7c7c0dfd17b12d9ebd36eb04ce62b6fc165094a72a0b64fc
-d4837cc13eb9c1955d8988e89d0fc746d572e45befc8fe20b493a08af05792f3
-3ea5719bb43a6b544868707a12c68e31f85d4a80706451ece8617690d580c991
-f4deb6f83a35116070be36242b3970f90b2b34457c55436f19b5fcf093d07e4a
-19e255f8434ab0395cf2a4f1bc58e6fa989431e13d96633109e04a3f04b8493e
-2e24c0f87e21eec9d88cc43b6af8b3a068c3beb2f0f5182cfb5e56b69526a014
-e6008183f67fded09046ce1221d82ce622e013c4cda54c9f1ae2f58f5e522378
-b584a2eb9401c6ba5780994eb99c35265d454a3aa0b26cefd20d59ecfe4be62d
-ecb8256b056ed27ad45c05ea569de7ee337b19d7df6737d2dcf68eccadb327fd
-51bbfeb958f1b2a0b4450435067a1f8a959b62609ba8830695a97b11b86e5f3f
-67e34832bd1be9fa658d9de712abad8c3282164582efcd03ff8218ea8fc2098e
-95594fc4e08b6edab8d8001fe4bf88bea89df97e63f6382c21887720505f6e8b
-5738b9da76f4acc28cd941ea7fdad45cbcbc274cb24c8805bda158e415a6e3bc
-3c989e6ac3cafed5604f152a9b262ef18e567d0fb0eabc88a8035884671f2e0c
-827d9fdcbec7fbac02b932dbdd788360039c6a6785da78f485aa5a5933ad99fd
-19ee71d6c930b12cce33c7a1563bc1834ea516192246f84d4a6c4e47652cd8f5
-f5ce53dd72198eb90f490434b55ea637a1fb46fa799eb283efb88fd8d12334b0
-83f112b08aebe46f86d092c4e9f8d97ce2a3eb4929cc9aabdfe7c4f67f97d9b6
-6c8d70e99e69e00d7d564cb7f5865b27f99f6aea21379dace806b799291b4c59
-b34557eb14ed4f9196db1a817cf7688d2516379e13525fc8a0cf2b586b55281b
-7f5657606a289f185cb5e9d8ee9ea190f8ee211985cd909beae0288b582f3234
-4e5a0d73d98518ee3279d3d854f16560b20c72346782b8373c030c5e31dd9dca
-40b03970a64ac36006aba1ee3407f38a7bc1d34d17d6eb8280a830b2c2150db3
-c67a8a930aae2928984f9e2456ecd309884e0e276d64a693603cfa01b784338f
-dd0a6fb50a9e2dc18c9a49acfa440f648fac48457dd08ca486705fc8efe3a4b0
-a1b345a521cfd974b35eeafd7668329d89962a7bbe0a5a786fc769d2753cda67
-155a62850252b0dc59c735112058bb713d8bf5c93a143d25c013c84f99cb7c12
-3d813d9d0c3af073db48821b8d9f2da5917a9ef83af8ce94f289cf54716080b6
-784c8e4e6d8f8b4ba8ba62401d8c89ec602cae99746a3918a2b6edbb1d6cf375
-8814b0f2a2f0e9d9934cafee9ef29d8bb70ee46897cbf286ec49dfd85f90f651
-040f82829caf9311242be2f872b789deb0d57c9e9b9ff9e8cf33a556181f6314
-8c19f8c7f015d6f034ad7a70efc91818fcdec1b25535b8e2dfe9d526931b29ea
-8262833ca4bf3213392053aaee02a01faf431717d8a3b93426acdda121ab85ce
-899a758d49d79be5b2af02a9bd1844d972445690f4dc85ac0bd4b4b211859efc
-422121a29126f4381c3fceb9b37dfe526604d9d0a187b68afd703d4f38b3dcd0
-d943c5133add4eeeda2186ea58ab4c28f6233ed8304dd65b5217cd23dda4a449
-6556679cab23280bb49a3af9b763a4c6c8e9dcb3397c47dbaeb139b41091322b
-e4d7e47f611c435945c2ecca69d9146388eb6913616d6d9be7449f5d323311f6
-7b9a95fbe6a4e039b398a806d00a4e71248a6b2e9a6918515cc38bb0a4cfd323
-1c196043a99727f1bfbf46ac0ffbe965bb2c68349874249cd366d8b2ffcfd4a6
-a7c68f9dc77c01bc6e9fbe9531ea5190f6d9e86a310e456ad87862c8f187f5c5
-89320d6d484fdbdc118f9867834b10b4bb5f14693e725524634b5d5f54a5185b
-d9d8f51b0cb2ab963889772ed88d3703646645601d4d1efc080dc7481bf10047
-a9346612b013db61c59267f4fab3f386e03dfd42b1ae58dd2e6e9d70a743ace0
-c0e1722b60ac000099d589df4f6ccb7824e4330f373c20bf17bb17d734e500eb
-72eca1ec8f6cc4c0ab331b1fa5a35f06bc0a8def90217eecac810096d6ecdb77
-ed0a45910059f985f6aa7e47630e370867ce961ace19c447e40720840ab96f4b
-dc61db820841d9d1794a2be4d0dd6e8db366dec26970c7d737832471db257be3
-7457e62aa194dc9a174962dce261053d5514beb305626e77ad1882bd6a153807
-97408a8a6893f83f38cde0297a37f566a83982200abe8ed7c50e01867d5bcbc1
-56f9cfd88f14c42404767057b9a0b4a805429cb6b117aac30cd83ed6c1910444
-f1af8ccdcc5f7d4946f1d48c1849bed26be6562310b4979b6b8161477e2a9993
-09e048100ff85a14332d53ff67e7f056bc894e77b2bf3cc08df4b6d46283b8ec
-fb9cfcabf30c1096eefd39a74d861462317d791f63e5a858b23ce21a0d993a42
-c2b271838aa79762a9efcfd29e9b538b991dc8103ee5255f6286c07aabd47a77
-3521d3ffbc4ad4125b2b4455a8236ff725e61f19986f3adc7fa7b34890b202fc
-1638360144c1e474519f83588585c289a7347c3f3a675a4ff7603dc66d2dd9c7
-681d4bcfe1f4614cfe623a9480eeb51dd1da758fa6f0c1e21acc3095288b4a52
-bcecfd5f590df206d43ce35a81a5c6fa294c3671a540c967b27a70d079d50d2f
-bf688c56e3bcac86db01a8b9058cd06d9ebf8146c9da92a18c6c5ad8a105dc42
-e9b9fb1133cbd9ed62552e9669029b1afe510fc71933190dfe1676b99452d9b2
-b5743f37c581b3348bf5d3e3a9bd81c538162b6a227bfff480165866891c5e7d
-20193bcdf8a5993040bb71e7ae002d27fd34970897385bc1f815286886051bb6
-a0effab4055a3648a2c5eae8fc2e42b5839ca0ea2ec0e150e24c801f7a2d082c
-4c0e37da1e7ce037ab0257591f0303e5a1555a301c32a05288d100b747376654
-29f03f17e078d21da9dc428038e07a80ffcbf5617d8543efbe87b9200b01f0bc
-a133ecf2478973cafdd00404d4a05791cc85c86c2cd2ce6aaa00a84317ee2846
-16c7fa1e142e2f086fb070cf17c48d597d963b53ec82a4f341546b81f6f00b1b
-c05c60f48e3f1bd68b2d4c96d7ac6ba1aebe765a1f50b62b116f5504090882ac
-ce2cea9e38664a5cc60d2d9caa99a2817f1bd9de967dadae69cc73977695a2c3
-501247d1ac73065ea4bea71f5b257ac09b9d76b092209913b166e0ffd0d5f4e7
-1363b74aa8a37f8be3fc1337a60d4615a61ec9308d93b2f70c8d92d6d7fc29a2
-c3064ce24971c2b8e1b07e920d89ed0a044e0050019fd4233d2f57c8f092e836
-fcdf48a441a50da0ec5c38ea137deac64a3d6a527f51750283bbc4783fa58453
-372bd9ad06e9f183570728c2651788e3018e83cf9bcd7badb3279bbd91b1a015
-13e97d9c9e37cbc7ba0b43d7c378be25817b679c1a0574de0927268f9a0435ea
-e49308dc8acbe4312f42924ab3cb66e4111cdcb11f10700825378e5ddfdc8170
-6dccf55d16d3e58ccac7858b11625e9d1965e3effd430df3ba229b0def8062d6
-e916264f306df9ecbed95d08729bb86e1a127a3e8665b42964b96871e361275b
-e0c2d5a8de8fb36fb712ead4548b10623437f0bba56a35bc06eb5915c27aae65
-c367f31e87badcec7b32998ec7c91f62be646140afb28a93ce0518196cabbc93
-73e7de347d342365688035b612def1e5d558370d747b55cda302038d0754fa59
-3ccdd2232b51c0c03b50946a189b29c0d2839e068fb95ea5b4ec54248d67659e
-c4c40e62a9ce197dcb6ba5dfdcd34585c5db5b0326dec02e88705c5b65222503
-0ab1ed366ee0e8a6d0b6e9a21bf3d3522956f9f309c21e79aa78346587d8d478
-718729765ed66668394ec3691dbde3d8062cd7953b48be4fb48c6139d0caf99a
-322099402db1ead0cd282cfba49782ee9ddff07a390dfc0a1d08045608a80f81
-f83de3dda018fe309d2a9084928b99137552bd9b1eecf33c4d275822dad9e448
-a3b1d9d48e2411e2bb0e7ed4cb2029303d6c59e377b0a3c15ffe4b2df0877a6d
-883ee027db89e7a9188d8daf0fcc62020f08727423040a97d0a587c10747789f
-d413d3d55da0a530e49b3b49ded82568d722f681d3010e51d848a27b9b6afd22
-6a6c0e7ed78186727fa4fddf136074b0367bcf3103ea41ce6298f9688ba8547a
-aab453fd860847c3a36584990fc4ec252a3a41ed9e6434a7494c79a2db1626ab
-eb1beb1ddead0e082db5ad0b126b38a4d177e800f18920dcc610a8cd39e705ef
-71e021c18783eacf42d5f1225d3a31d3f1f6c87e1b7703784889f560cb8e5c38
-2163bf533ac305b1efce25cac1cd09dbab5c2e1cbb84a8cfca5c4d35299fba7d
-9d49072d27d04e13c8c1030cfb66960e3d1640c4bdeb0b9652e7a82233c340b8
-0e7dc44597f1f4b25eaa9a392feb61c120a1354b76e3ec1b39bf46bf63c88e42
-53317a6f9e21923cc479ca2837d934b22f3a63de42c16fefd68c25826670d3e3
-9a820d6de32ea20f5f51bb1213686883cda8fdf46e7d0d62c14d80012460a3c8
-c72b2607323ef921eafea39bf61ee401aeaaa277c46a8e9c2f5d93245a3db5e0
-c1a51fce53e31991a5040bf1565762d52b8851e00f27758f3b1dbb1b85709513
-d33e295205802b043603c9565f0921f267d856e111e8609d6dfbc3bdcf742829
-eebb6cd59ace388d30d101aad627f29ac3f0b1eab30de25a35343d227532c512
-75205ecbe9b32f8484e4c1227145c5189ea3c073e40f10e655fe3614921e7a3a
-c4e67229b82438decce9b34ce1d36223abf8eb6d9950603de32bc9e0c7daf092
-a811ec1d1aafa3e3719902976a4b6a055465511cff3744d8b4b546386b89eb9a
-49eedcac3325a1b5001b5b2a162d38c3e12577285c9c489e6482684335189e2c
-0d16ed690dccaecc8979560783e5d50e0a4ad066bd181076859a4416069a387d
-9f776106722ac91fee83013c5877108d83a105a6da1c5b2ee11d09898e40d819
-481fa8ddf7a8f8baf3ad95265f7cefc90bfc55fc09cc2c6f45eddcd0396aecba
-8fc6642379378e674c7e64771b2aa8f709938253f6047b6e8cb6f382c60821d7
-f9803d37900d0afe349e83f0abf2c67955ede557809af6608986e09f895cc37e
-ab14c0a448b29579594c52f06725ad78f8e7f2a0e35b078aa8629509b64f481e
-95cb2195b4c53782a17b55cbcf43f5741c614c7dc57f87afa4ef1239042c3886
-6e8f550f23ae0577ea75e9574e0ac7fca96755a4dfc0eb02bf4c1f3be82f75d7
-ebe47928bf682642bf7f2ce3da842d6275c909572112f8697f7bf8f8fef1b573
-ea68613bf5cd6860512e1092770ec59d14aa4a0794ee60dedc11b0c01c1b261d
-a2a5aed8a3fca15eba32ff78cd4e478acba05b56b042d3126b8a4a005a56791a
-da0f64c80ea855b2ad43b494fe079ad7da3eb1483d7c9d6ae2b57507213e8984
-4251af0f718936ff84ed0a2e7c3ef1abbf9b81a81012a3373eb6e4ca2ad8cb1c
-44376c1e4fa13e994488b4cc638c1541c3c412b7227d1044449838d6734c14a4
-4011f5611d0f31faf52f5f1ad4fdf97bb10851cb0ba814ffb8522b86d194d368
-35f5d9c0ce02b1d9a76dadaf71da54fb2fd8b476e911b62e8646692c2dd5fd23
-14daf09b539067d657f9787de364290877bcde1f721abd316ca19b3fec5fa07d
-da25a63bb94022ec52ab6a858562fd21c282082a78a852e3feb7248860d7aead
-0396cbda56541ea44af11923338cd6ae449136d0899b7f3fc5571d3da6767126
-4daa3b010c01db57960e24ffc4d8b0a73417cfd445a46a73811e32810e1ca950
-4969cf44399d9273ced22912f42479ee954e5c61ed6b52ad655e8731e364e811
-237b645fd6bbcbc7c4222771596f5f9c3ee4f233fb3c3b56746d7fcf8bae3828
-9d1931d6c6977152433c47dbb267b1ca36d1c4468680f309d9a66730bcfa16c4
-3914393cc8c277393fdf4bcc6904bfa118c6765cb56ea4c00c33a96a03fbe5c8
-37dce38171360b07c180c401db9983359c29be4e68297960b2ceaf1f6b55078f
-227dc4dfd50344ae6151f8ffac49a5efe1b454b83317f0315e7b574012e60374
-c677961fe08bf76d1cd6e3865edc3dbd679325ec9e0b20f497d993dda74a9caa
-dcc5b366b48aefd55671ceb8f2236e6df62416fe48f953761d6c515289a16eeb
-9859290e5e389e9c5c7d082c83533b6065ca18b6d06e5678a11ad419e3a6f5a5
-5f459c70372a7f0419766a6d42008e679a207dd7989e941d6d9f543012c1935f
-33a553be813923e9137a2f0d40fbbd1ec98a86195adc0856c0285ace5516c6d0
-bf688e33b1339fd16632f21dae5d2837af15c66054c987dfa62d9808af608851
-e8da8d3be44128ba4bebf5f372b4c4ce8565652d0d7aff995fcd283c20c25103
-2bf1eb8a5fe4b8533f5bbb224239efbdb0dec2d9baaaa030a78d0ce6d9993a77
-7a2888322ccaeaabb2a1d2a501b57c8524e74a778e3d6a80b7b46bdf9780849a
-4d76d6e5f79d5e788b896ba314d6a1da2cf09582656b70100fbd820ac92c66fc
-57cdae03a4b7a2f0ff82c41666bab6b62834e72ee538b74d3d25a0d7c83fd124
-35997adfdb586cfed7e13e59b4cf7f844553fcc563ad85797ae14cb919477716
-0f230aa5dd2f1cfe7e8da916555b8dd4678ad4df107cac2f16a31ffcdfde5003
-4b7f04addb3f69ed1f1af19f2cfcdc439e6c8fef5288c9c310644f6dc78c2d6d
-65289fe2ee32dbe76a81921a7a3e5a2856f7e5dcb848691861928b4233e00093
-ed5b8d6e5b8c83f5a5247e8443a82a85b5961e53b0570abd120d19592168bd7e
-a6b81a245f1c9ae5899eee3d3838018343bdbf8e8c5d90e50880218b021a4474
-842760eeeb4ede9af41a5095baace2582341c422dc36c37e5859aac59aa9b657
-b40c9fd648ef69ba15fc05fbdd1e42d5190caa3b72612c8c7cd31cc3b77cc81b
-0be619df94a3394a1884708c11f904105808fa74b44b08c3151cceac9820b74e
-df6fbfd954e32c09aef856027ee074789a9bb0b16de1a0e8ca1695630657776b
-054b560fff78bd2d9d56887b05f62dd516ce5201d2af5881efad7ed75dc11e78
-cd08cfd65cc1919b038bb338a808ecf6950974accbaa8db694cdf98605775889
-0fd9a047fad18e9bf982555dcff94082919aca04fa1b282efed4965fcaccafe3
-dbbea3ab4fbdd40077acc9d5ad9b3b724e661fc8239522038fe887277df552c6
-3a59e28621a72147d62f90a974689566ea6fa310022680a0999643da14f1268b
-87ed9f07152faef12905c0005c5af753e5b22d68e2112484d315f57c1b602769
-0df965b2d9679e38a68a0edcbd1ce6df9c7864f938426492ff2d71a759389073
-97d577cf45cc7a1b1720fdf93d06d9c1d114b24e05914a36c74e51cfe6f4dcd0
-df6bfa44d8ffe2255c9b7c4d0e01f28fa3e55ab90c544411a418f80f206180c6
-5ea414ef1968df38ca341a53db3b1cdc0bc0419a3d59394061e3e4402a48af65
-3bad74da7231c2d670e8a582d4ca5a7952beed6b211f2e1e187da899ce3fe648
-337e7489e135f78c52d5bfce51b945db0f72415a9f65e73bf15590af07dd2caf
-c1f8f685f9532c5bde13d52df54dfdadc2663ab9a98c9d613b393a561f8551bf
-18cfa630baf1ba0287765716185918346aca6ef21c317fc939f302c7a9084d1e
-c7d328888ef63c03c10aa200f62d779320ebfed643313f806c31bfe4ccaaa706
-36342297e4e6b45817e89d41485c16deb935df0c9614bdbee682a7280ad66b74
-8868b5307e513e969bdb28aebe3bc583fc73008b1876d5d23ef5aee7c65ace41
-9d8d49fea2d233d5787712a06a64507ec5237f88dbfb0796561858eac3dd6f10
-3b02e93ea3d11fc94354ee097540651df89d21738e7abeef2af8cae9c2c66b6b
-c3d4a4608fb8cd7ba6cf4830367353984c2429fd7ca631353233839ec5bcaef0
-f45de8678cd357c3a58581d884db17237183c3cff4f6ad1ab3c90600f1912c27
-23312c05675cf0225ecec06c2f700dd3101e05b62fd990c8a780a7c67d309d15
-4028f3ddf624d5d9e8b6a589d9157765d221fe6b1bd7b937edea1481c0edea60
-b06bd5273563abe4eaffd6cf8a5ef7e15d620f54d13158816c9cf62901c6f4d3
-1b016afba2b5ad5e7312332514957fd0dafd608a45079d90d027c537d28bd038
-080867d10214648a6a97e6c207b488a17db10022e03f8431cd1fa5e1b02ee7cc
-361cca6df87d1ea41f862efd3c271b9a4b4957210d04d55a8fe05f1c3609e81f
-473ad8cb6a83493b23bb3fa4050736f20a54d63a3f2125af5edde712285e1a88
-d810d30e7eb5347a68f68812cd7e518a73127442990b2010abb8f17d3b1f9195
-16ac7b57e79de2d8752de0eee1f0d2a851ae02faf7d72900edddbcb5783cf879
-c6be384891c274431bbc9b07e4525e6e766593401cb0a1fd4c3a2382ce872c62
-3febd440dc183410d697f558644877dd9351e40ab7419fcf19f5f3519cfd1e0d
-87bb2ea2a2c71bc26438047179d2c0bf8ba817b3d0f9296ee7794574283699f3
-4da47462f60a0e6d4720b4668bd94a3a48c93a4ceb4c188400615d640851165b
-53551600e7d60c4e3c6cb3924544e8e64d35d59a17a215828981457a75d9e0f0
-cba401b64eee8beff5d1b584b722590790cb500aa321ed786bc2a9e74ca7b55f
-b35251d034972570ab8ce4452ad3e601d627f4ee61a3524bfa8ee3b1a4e3daac
-394d6577459f14af7f3d98321ff4ef1e9b78aaef8e1f58712921b7da9c5cd7d2
-c0f2384a83dfa4a3f68c475ba1bb955f5f235a1e8da626670f0548f1bf95776d
-f498f5a12ab40a89ea2e927ba3519a7037f5460dea7db73683b9409fa18e4e30
-1971ae782a5dd528adae11a2e275b180009ea11f0b5dafbe0994622683baa049
-9b29426357211d20eaec88b9a70127abb08f9b91ab3388a953f911915a78511a
-baa3389550d5ea1e84340f3444e250af7f43e681700a8123feaf4b06a8b373f5
-43359c89429c1d47e5cc4fcba2f34d7f09ff069d1c7f05f1c1d667729cf6886a
-ae98803fc710c435d5b1e1584f13797163f8c7b113d26adc38512ca90ac0353c
-463f19ba813fc866801c55d1e575bf0a4e97935101774bf87b5fe5c9bf67044a
-9b3e6f7fd46023e352f004a23ab7bf84ac03f4e4342e7b6be5f99900e81e1d60
-d853a2cad61784b62d5d86cf2e535be99f06e079957928bc58d7c7a31c371796
-6853ecb5f85084262498439184e90cebcb52a341f67bc9943a0580100b7c782d
-5c36a61efafa80e3fdf41e4f63d7e01ad53abbfb979afc9dc0f5c2cdc922b747
-2dbffe17403ef2253cc28c8f60c3fc183df0f2db1b108503fdb80565d730c2e7
-39b2214386465f9c2bec07b8e6d64cc210f9f7286e40e8d01e167d4268048ecf
-f068ea80c4303a2de66b651c8166fa314d36453a281026d58b1f9cae623b0df2
-a3d16f1e0404a3e9821efee9a67aa96fd2b3b2ce010ac9ee08751af5e29de43d
-b6b2786fbdc210c7fd1e55591c18672fee9e9c5675184fe56b001be88e23303e
-0b36a1a6fbdc703b768367473bba77eae8cc7214362bed6f503026626e5a7bcd
-960097309cbc19aa795363b696c9d8f23d36c4ae0ccdabb2ca499d26d273f14d
-31bd002c245ac404db88c73e3d9bff37db63bfe1a98339eef889a1d83ee7b511
-49c41c12dd2203cc5a1a2ff4342cccc2173c13da7e4669074be823cd9ec85ed4
-8406e5427360bf9b2008056e1224170d8add21a16ed847e8201cb3b3e066c9ef
-143fbd7152201e003d2f3a542cedd210a0c3e454bc32337d2bad6e47d52990bb
-2f2194e1757206283fcf4dca1c21cddf1004fe8c03f1f99cc3ffcfc5d184f43d
-67b6246168f32e7d1c35399e2fcee1af8ab2a354eb58a8432d1f94e11229d1bb
-d7ad0b8fda04ba5619c0175f99a0c937373523e0cb2e756c504c83ea3a262086
-80
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-cleartomark
-
-%%EndFont
-%%BeginFont: CMTI10
-%!PS-AdobeFont-1.1: CMTI10 1.00B
-%%CreationDate: 1992 Feb 19 19:56:16
-
-% Copyright (C) 1997 American Mathematical Society. All Rights Reserved.
-
-11 dict begin
-/FontInfo 7 dict dup begin
-/version (1.00B) readonly def
-/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def
-/FullName (CMTI10) readonly def
-/FamilyName (Computer Modern) readonly def
-/Weight (Medium) readonly def
-/ItalicAngle -14.04 def
-/isFixedPitch false def
-end readonly def
-/FontName /CMTI10 def
-/PaintType 0 def
-/FontType 1 def
-/FontMatrix [0.001 0 0 0.001 0 0] readonly def
-/Encoding 256 array
-0 1 255 {1 index exch /.notdef put} for
-dup 12 /fi put
-dup 45 /hyphen put
-dup 58 /colon put
-dup 68 /D put
-dup 71 /G put
-dup 97 /a put
-dup 99 /c put
-dup 100 /d put
-dup 101 /e put
-dup 102 /f put
-dup 103 /g put
-dup 104 /h put
-dup 105 /i put
-dup 108 /l put
-dup 109 /m put
-dup 110 /n put
-dup 111 /o put
-dup 112 /p put
-dup 114 /r put
-dup 115 /s put
-dup 116 /t put
-dup 117 /u put
-dup 118 /v put
-dup 119 /w put
-dup 122 /z put
-readonly def
-/FontBBox{-163 -250 1146 969}readonly def
-/UniqueXX 5000828 def
-currentdict end
-currentfile eexec
-8053514d28ec28da1630165fab262882d3ffd20326947b1065649b533eb5e9e3
-a88a87fe987918a687950b26f647d6e08bf14d983ed1d4a8ca1e2da8d985f944
-2eb916f5b6ed0697ac7c33e1e36a3bf460d34ce45f1631871097cb04f18e3889
-4cf4ac1538eb19481311d24fe3be7beaa4a3730e8b4831fe59d6d9ce2e46116b
-629c7ba2f9ce3ecba2f43bc162a5a077ca1b2882a42afdcec3f4b75b5d63e0bc
-8e5dc95257766d8ea467ad9cbaf47be60f797580cced6884b3a68f70c91f4fdf
-80fd00ed9139e7f480dc3a76af72ad9b434187730bdfaefe4cbfe5c7edcaaf24
-9204fd703011932e5a3c27be468b7dab69daa18dbbb6335ab8ddfdc607961c7c
-02582763fa069d43563ba17704029945cf42fcb19cf78c51df0ec4d851086d43
-c1ab38e865ef36865fff3a08b01cbcb070ba4893f7482dc7819ad03d337e520e
-7d8cd83bb8ac7aff4df36751f4f12aaaea2b6d7260c09a26e987c904003e0723
-7dbcc4a8e4e85cd3259f40d3caf55c742cbb40ad0db1044c20a4f122a63f7b81
-1d945bfa69662189ce4d089464d2ead9f6ed60b581b04114d5d45e97be27a576
-35154e9b8464f2a0df18da855eb51b8f64d3054b0b2e84621f025a0776d16fed
-b988a43d2d64c32768dd106b9f541ae8e68ac0bb7399e16f4d4ba074b2152d0a
-4e9b5bfc21bfa0d531e28165e518ffc054dd4ed0d74eca079d20e79670419f92
-e03bcbfeecf3554d661596f6f29e12170804d15a250d917ffe7a8b6e8fa53047
-1ed97ba56481589a65ca13619129f1e26affe6c22f0c38540f8ce37efb6e9e9b
-60b51a5a9cb4454fd7c7f92f2f9437159687ab590f35b946a54491a7739c9269
-e0f1fb48b129811c82edb3171cbd5105fe65906974db8a7da92f4f43dc7f6b36
-6981146d86d23613a0b38d9d6191db9fea0172e982cb1cc50e382f69da1b377c
-1be9407f88a2a761b56f398467a057f35d18c01cc377e0061822b94abb98feaf
-33e32c9bc59416e65491cb08cd8de429deca10ec4765d20faea23f130f5226ac
-4d27d24db0385cc31b8b3227812d2c2fd223d0b86eb936ff0bdc45a281c544fb
-d7798b4aa264d33ce1e3eed7c77fc4942637b524a072aaf76b4aa25c250c8496
-d0787d1139a647e7165191dd7ef7d25d830220b8ba0e91b1019c1541cd052faa
-de1157d53f434b7002e6456b12be1b16806309326894d6a0a3485f24ef480e9a
-14342b11ce0fd8891c13c10e390a6fb53c39847f4d08d29b5b7ffe083aebe339
-5b1f4ca06296feea1e03576816fb7c1df7ca971e36c78b30f8721577705a7ab9
-1c9531bda0a59d24edf8e82b31b8bc5a1a12d9c07af1cce3312d00dbf1b771b2
-6c5589abd3ed060751f05846eddb31de522d181687e78299c0ff890ccc069a4b
-371e360c5ffc3d65e8d01215c6126bcb6caef861c1b6a11523eab958ec503309
-818ce93536ef9474838e560e830c527971da10f4a50108a7762127d5f40e2d2a
-5422e2cafb000ffb8e7c99f21996044b88ac6d80ad7f0bf30819ea1ec68bc5fc
-cae4c05f4bf371a1d086241258c581fbfd4de1dc42cc471c13fc760eb996be51
-bc2ea2b9998877d89fdf034d271d5f85d786b7ce92e532e9ef649b2533b45060
-38928fa310feafad7588c7402bca7b7bc26f803c60e9116da753650a88ac7a59
-36b58cefc3228a1e058d3a757690c056bbfceb35bf3a845a938fed86cbd798a3
-9850be5e69c72b913485a89d7347ba1fa91bd36c886402da3f609a6351ca109e
-69fe0506461092f65449e9db2a8d6e5fa4942992a335f740d49ee3daf044e66a
-42fb1f9f8cf3e73772fc63e93490c7990a96218a953e52eab5720a4696a1d8b9
-3d6f986693331a2f656cf7b4b64eb1e4d9e22215f179d33f06fd0db415b65fcf
-e625276719a077e79fb1d92f3211c968549cc645ab67b01b0eee62f9bcba4340
-f39870264e521d39f0ecfd652b7ba7214254091e16458d3b32e51f7db37bb132
-8973e4df7a2f52c7fda7d4d7d8f263ccf85cfe46ff489ed1a5e78e0b534bee9e
-970f7fe9ada93a5f1156e7fc1ad9e513276b55db0a28d34296ca85d28a0832bd
-dcbbd3159784b6628d0ecdd905b431499e45a463fa5609ce615a19caefb2f106
-f0f92db3d6d708da9d3d8d6e0ab1496bee7d77956dae5974a2889df2dc02a921
-f71f4937f15abbb81c9bcd22fdf190530808881a346b22aba6e8b0ff5677cc19
-7e5ccb56a7726450a2cfbd2e5d87a4b6cf8426f18238a23424b3b92d73008998
-1cbc1fcf86c3eb58e3babe6c34129605fbba175f1ee19276a94712bcd620574d
-0b45791aa9914585f5f5506ea6006e8f9482bf1c55201c0bac872bd8ef2f19e3
-58560c111c367c23ab327c5a9059c8481a6f030006616906d920b6a6ecba3a04
-d8bab040337fc81c3cfc7ca06814ceb40de36cacf79d3d4b37859b77436e056d
-29b3ec580d4abf59a8abe4603ba15c6b3562f38b2c85bbe20ab2fbe9cf04c981
-477119b4b670b13873a58a0939aae3a1711a648b09d970abe5cf73f4cd65d61f
-7fd011847173601a50badb334baac5043c9ff088901b23ce8d96519ab03bef3e
-5cd038cbb4e7d5949604c46b8b105724874886457e61b642d3b6de8b469b5d81
-433b9993631720d28ced32b3658228e74f9893d43835fe5e3e0abe338df28e56
-978a375c35f60c974094f40cbf53570c67e121c3596008a179a0729f91d46e5e
-38a8014a08b8b1837f88013a84c5e25d9e997b78dd1a3acacf6ea4b6f22b7633
-498ec8fd01637db6652c8e13a1b2ec63bb7ecc0fc433aa7fe9b98e23399504b1
-63342aec4942dff2e03b10ec2f878aeba8eba0317d18d319565f4a4aa9a8d58d
-3bd5c07574a4a5cb1470c6cdfea2fac23e48070b78efc47f04349d4af2af42be
-5cfcadc6c4486c57e544e915a3716e730bbf0bb0b8f02b7695b5e41e17bff778
-6ec02a8ba75f0ee0ddae7fc2b155821267d1274701c5f115cbc7e4662491289c
-c1a848a53a41989a21635ca76430338179c3a21dc4448b63c921714b98d2dff8
-a56c2cda854064c815de263f52f499c683482cdb1f8ea28627bbc0e2881b507f
-82de8fc1a4fd8edbb842c4b314158d13f50e857b11459c6b327a9d79988f716e
-c53bd57a7aa8b8cf72636750a399a014cf390025b84cad918a077641e93353de
-ccff0916d3a38eb9ec8329349406da403dfe6de263b3fcd64ab8302de5f8311e
-1bf0c82f273dcee0abf0fdf1b7e9ba56258344499e01ce9bc64bb39b114432ad
-0a073a49aced5c1565a4260de577d54e66faf7a25e314fe187e71e6036df0166
-aee19ab0c0f17cef521c6b343e313b7d061c784b796ecde5525364901ac92a69
-9a0be0b1736203a4097182cb3eda67c4ab278d318cb505db11bbc87cd7ee0a0d
-8fa13d5ee0be00d03ecbde7d97eac4bc75c94b46bb1ace9e44261b8f8a592198
-f9602227c06dd68cc227375aee4a18d15ac1ae5f2e7afa89a0c10a916bb9704d
-c9ae1e1487f435db4721e0e878c166d428e0d994a73e22dcda3dcf7fa1c726bd
-33c0a2f2e61c528ecd89d78892ce9880b2b2c9c568795cec45aabcc5d3ca6836
-d7f18cc57705048e484a91f02a1c6582bc7fefe6ae2d3c0ba391da4ce7b4082a
-4f851ada61b157e424271ea88e2e2a7e3ca022753d103ca3ecda78d65b7f33b5
-f65fff1e547a95008cbb1069c2a9ca3f1e8d5cd06a3791a783d5710dd3a2bf45
-1739b6fc37c0b1ff7956d367cd4ec1865068d068364563cb3031ceed51989b77
-161c3fc9267aab57d0e3ef202e4be4fa5ce74b2a215dbacc6b2bdd41e065285c
-10af1569b61d0f0a39195b323b910c9e96cfaa173804d44adf39143652d5e64b
-2acdae6883e2069232d999d27e9fada2e9ef4d1c6b96d4b8e6053665e7e527d4
-68bd7a83390c70bb3dd73b96d517bcb24c5210669507144ed49ccf20d9685696
-ac300384506f8fb34e5151604f3fdeb47e82bb631c42dbffa851ce01092e8bfa
-67e418bca43abe2b9b646cf959af0623d7e19c82c40e50a8f4e2efab94c04084
-852361f4056c6ab42ac9a588128544028c3c4f9f2de2089869aa240698b3276a
-10032049fc4a1633d4dd7702f596bd3267fa8c4862b88e6ae21c5f5b13ebcdeb
-e59e2b8443ee59ef027a2de9bad3151e7dd59581b991b6f86d0dfeffd5bf2e91
-887b1fcb8d8b0cd6e9066588f7f02cb7777cc070004737a24364f993a1e9bcb0
-fad861eabf3747fa629b72018a2dfc17c29894dae3f496ffd0fa11321938222c
-fd9dcc787c782c95c0085d3573c32e90bcd9b7f40efba4138a26286845a5b992
-613bdc8fb07662d52b01d771b03329e94408feea1dd31b9d29f3f14a5e93a5e8
-5e35b2505a0675b0d80f8ed5b726076765a2609eb25466507c97bd200e29f988
-c18c94379764be35369fcc1a9aa08d141973a33af367398e3250712153d082ce
-cb6a1bbc56180f55b99c3d979a2553e52849153029f30dfe86d1bd1b72d7e1bc
-9848c0145f4ccfe1ebf7ef48b85505c71cbe584f6d001bf1310f51ae315478aa
-45ddad248a875fd6588823d483b2425bbd3df516064665cab2d1fd7918916776
-8a79099b4fe239fc338b93eeef026db890c5f2344a87876a56fb8475541b5f3f
-f87eada7eaaaa6f15728c058a6a510990aee9c82cb5bfbc86274dbe1c62c43cd
-e042400665b34b1ada889f40c71028857b2a800a0c3446ba53eb4b33cc22ef3e
-8ff1acb6017e67ac5958dca7c336f5eae73fc79e4c9d4e83e9e31b81c7069af4
-316cc3f1843bb4d8a86c1b64ae5882f3437ff3a3ddd126cf13b66593dda3757b
-0cfbc0dcba28f02ffdbddba82d58d2cb74ecb9f410c989e0e216a16fe0ff291a
-0d7d46635fa780ff107d3d54c5e01fa866132e5c6cc2ce37874a04cf6b980f45
-389f0febb4ac067f31ef51f18f7b8c40f988bbfaf20d9c76b26736eb73293784
-9bbc22210ed0eef68f9d5660f2fa98531668a6ad9f0cf9163cf4d01920428037
-032d7fb7f625561511ff322e508f558ebaab877ae75af7c70ce92a41ba163ec7
-8c0f820b763a408eeb3f315e76715614db10818e6107296ca9ecf1376e0bb5f0
-21538e410ab05f40ae71e7f8f5f9504ab7eb8d9eb75d7969ce1069fab55ef8df
-ad3146e99590a2178f1c6621984070bcb18f16fd8f8dc8adeda9ac3126403f5f
-ef75226bf78a47eb300d56932c20de486b311c668c566cb1227744d0c77593c5
-dbffb4083d710f7344bb4923c39b8ecf375bd2fe7db162151b78f90a836a8f97
-43e16773929ded333b3397875a0dd78824d1428145213d1c36e1ec0a9b3b5da8
-1dd17175bf95c92e3c94812cb18fd213d33399138a8727f97c04f509d90bd238
-9947b0a318e2c124dccfd837926a983e75b171ebd7c51836fde9eab589490bf2
-2c323209a9bc2200c93a0f6ef5a955d9e554c493feaae35f59f58f92d6e5bcef
-3330fc3fd18184c73dcab9708b86462af71733ec25735e725441f0c60e5218d5
-c6f81dd53df7127d3f42dc086b851301ac12b5dbb62640f5ee2c789414fe7372
-6b8012059b5d5d452645d530588f5d56d49de17c5142811cf1c018c950cf6168
-6f1bc25eb90d90cfbd4907ab819293dc308a4534f3d96ba371ccbd69b7eba2a7
-912c74015bd1f9d591909bc89d2b5a18e9cafb94b6a933d124fe9f23e4e206f0
-b2f912cfd850bd9f2241476617e422f7b0a23b2ef4d252d194ef0a5955b0d1ad
-07fdd9b8060157f4e5f70102608b49558a049ebfdc7f1e440046e2576c286d7f
-9b0302e66dbddaeca264b0c76a1c7d5623d74501d52368d3fdf5a5385bc9c2f3
-1e138d11473637b5d709aeda39b929019c5a9045f08f033f180871a4efe28049
-6e44f0e47242ea584327d28c8b5df1d27b55ec763bc4ed21620c00e48c87f821
-98f58c54721946022dc721571ea56d2cadae561b6e0342d90da037ea59f5490a
-89a7237d7693ed06e7de0b915e39265fa960d1fd63aacd44354a1f074bfdbfa1
-89579cee9c5e1b681283711576e0da93f45ef8fdfc6aa3f1c76f5bf0d3a745c0
-901f7bf3af7757ccee7ff8e8aba6c921730b1a048005cd37627ae36cf66ea398
-8d032c87c60efa29c1a70c225c5a62f7f94b963c42770a8eb3c4f78d1ceb8195
-ed8a4ac3372e718fd8fabafcfc9d65576e284e257a679ad56dbfa8d165ccf1d9
-4d6cc68aa9d391c24cf06194ff66822089153f9ef77de9b63bca0c05785252fe
-5b5ba7038692602bb8eea3f9ed9f51f6350a1bcf45b5a19ddf79e41d3a1719a6
-75e539c4708067fb4515e41c5fa12b59ee39c288f25aea40b713adbbf832450e
-ffcc36f837a6f62119e74ccffe60c2d0c1aac2c26872d35bb99cde9efec166f9
-2ae7579be3a972046372898343ce8dae0a0de3276c182d25896bdcfd578119ad
-c8b8d9fac64929e8e350be397b34a02027fd040170c183a71454419dc7061759
-4f83ce2cf137e277b4e222eff5c20c031c70b2824239c753d53152fba0aee6b3
-71f438adc86d941ebef0b20f856ffce6e47a757ff94ad406b0b01cd493dc7117
-7d4b01c9b26c5a443b04ae5dab07b02fad4d39033d02eab89847eb84291cb9aa
-70fb50e54bf9ecd24319cc98c2fb394fb23911fec80dc0cc86294714a1bc45fa
-bf829a3c84f6d1279560b9218eb584ea8d0f066fbb718ba5f3946de4fcf4157f
-b44ebfa718eba3a2f4d666bce59da5e9c16c23fb839e57a307e607047ac3f141
-4c0e3aa8439272367b790f0e48d26b7dfdf080b14f21b24e1d8f4f4088c84d12
-fe5616c430eeb3d01d8f7bd0a2ad86ec14dd7f1d33ecae964d4841952b343bed
-0e1342ec931d1032d72b2b553b6cc139a20934a1616ae8b1bd923e8729d73071
-142a1e977380ecc2e306a1e83fa12f47d3c7159eeaf9a21f703238c578e21c93
-8d3369e2a899902070a0ac5f1df345d83fd9a9b16c12043f3ade6835c837ff7e
-2ceaefe2b346e6ed0ff6e33e07661ee775730eefd22c06aa9ee61297822fb37e
-0c853e9d2687154a17a36f0bd6773f0e954b5a36e1e74123cbb9333b70525435
-b1ab97e5963fd97333fc91a3345de4e293c61ce91f85edaa6d7a9e595421ced7
-1d9d92c2b455d7ad5c319485705102e6dce6679846ca08ce2d513f731a9424f5
-a972e208dbb1ef213044ba7a95f42b85bf95b8596ae9b34783ca50b316668cf8
-96af9bc1e36d0f2f8da7517c72eb8c6df8714e1029c4f3778d6b1cc14d25e767
-5173a678cc11dec825ca3959fcd3250cd49514fc085afafb3f328b844cc1ef54
-20fa4650f154b5d5a13936a0dcebcade7ce08262395a0669d70c97cc9e7a633e
-67ea4d5e1442a460ba734efe47006a8649d6b937cd328c93b8c60578a6eb9418
-e568c5f1f7f40ab1261c21b24be86b5f91c23e6ff04d4c409bdd125d5f8b4c9d
-244401c5bda954df82f45e757e4fc41290043ddf7626e6db4905613aa9211918
-7a2057e4585cfb06894ebb36cdf8a9ee8ce80ae01f91ca4a8bf58c23c6efd2d9
-0923e954464052e5548dd1c2adc3086c5ce99639999bc190af99a1932a2d573f
-7f8543e2334fce16d64336a82e65b6fb24cb61c4bf109cdc82a6b3cd1c7f2774
-f11d8901dbd8757be8acd02d8408d79ebf94fbc3deda82180450b2d331696bfe
-30515d6911749fc31e2f8044e1092ffe73244ff9501393aaed350e9dce07493a
-c3d93ef6c898c707db3d1d533a7795b9eede2849772adfa9136817a3d12940f1
-e42a0e8b67265a113154852d8462e6acc3bc34957555a611931a94dc4dc6e3da
-17eb5d4cf2cfaf833736c1e29303fde272055266bb2ded75461f236987485382
-de077cfa3bc576db7efcea8b99879a703f8915438c7a98f01d5b02161e75feb0
-0ee7eb405ac4a044e6e2f8e06dbbd21acb552620c8dc9cdcd0c5cea48a4d9758
-025373cf9d4acea8de7e8418412748530b496da725e1fa75a7a78cfea5a41e4c
-fc400e6e59c7ba5292812d513dc15e6996a97a431ad6ab7047700f1fa25c312a
-a2947c3fa06019658cd1c322fabb4ea38cdfa6fb047f50e4c805a9fb9df42cee
-b09bdf0d4e9434274fce598ad8e37a158ec4eb4ff59a9d8552ee53fcbd903e3a
-584f45e6d2baeb0273fe2735ef5f0d0fc0b305ba868bc03b055f58837de58d0a
-3a8b2e58412a4fd61e12560a7b25065b0c9f5ddf61c36a2a259b094be5216b5f
-414b2fe72e227ac67f672d59f417c19a87388e0cb7eabdae0fd846bf1f535b8e
-6e669eeeaae681e442773fbdffc27eaaef5dd8c6cdf7674d55e3334b492b6f3a
-208af8d159cd2aadf9a0f89f876ee37fe2a1893b45c487f412ef1a80179a001a
-9efadba5fb13df4fea0d7a5e03bb2c4deaf502a3e2b33dfb238ffc5761f7304b
-64003f6445588fe23d1e4d338689f444639e18bb2f56e57980d0fe2edf951064
-7aafe870ae659b615c8c7a
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-cleartomark
-
-%%EndFont
-%%BeginFont: CMTT10
-%!PS-AdobeFont-1.1: CMTT10 1.00B
-%%CreationDate: 1992 Apr 26 10:42:42
-
-% Copyright (C) 1997 American Mathematical Society. All Rights Reserved.
-
-11 dict begin
-/FontInfo 7 dict dup begin
-/version (1.00B) readonly def
-/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def
-/FullName (CMTT10) readonly def
-/FamilyName (Computer Modern) readonly def
-/Weight (Medium) readonly def
-/ItalicAngle 0 def
-/isFixedPitch true def
-end readonly def
-/FontName /CMTT10 def
-/PaintType 0 def
-/FontType 1 def
-/FontMatrix [0.001 0 0 0.001 0 0] readonly def
-/Encoding 256 array
-0 1 255 {1 index exch /.notdef put} for
-dup 33 /exclam put
-dup 38 /ampersand put
-dup 40 /parenleft put
-dup 41 /parenright put
-dup 42 /asterisk put
-dup 43 /plus put
-dup 44 /comma put
-dup 45 /hyphen put
-dup 46 /period put
-dup 47 /slash put
-dup 48 /zero put
-dup 49 /one put
-dup 50 /two put
-dup 58 /colon put
-dup 59 /semicolon put
-dup 60 /less put
-dup 61 /equal put
-dup 62 /greater put
-dup 63 /question put
-dup 68 /D put
-dup 69 /E put
-dup 70 /F put
-dup 71 /G put
-dup 72 /H put
-dup 73 /I put
-dup 74 /J put
-dup 77 /M put
-dup 81 /Q put
-dup 84 /T put
-dup 85 /U put
-dup 86 /V put
-dup 87 /W put
-dup 91 /bracketleft put
-dup 93 /bracketright put
-dup 95 /underscore put
-dup 97 /a put
-dup 98 /b put
-dup 99 /c put
-dup 100 /d put
-dup 101 /e put
-dup 102 /f put
-dup 103 /g put
-dup 104 /h put
-dup 105 /i put
-dup 106 /j put
-dup 107 /k put
-dup 108 /l put
-dup 109 /m put
-dup 110 /n put
-dup 111 /o put
-dup 112 /p put
-dup 113 /q put
-dup 114 /r put
-dup 115 /s put
-dup 116 /t put
-dup 117 /u put
-dup 118 /v put
-dup 119 /w put
-dup 120 /x put
-dup 121 /y put
-dup 122 /z put
-dup 123 /braceleft put
-dup 124 /bar put
-dup 125 /braceright put
-readonly def
-/FontBBox{-4 -235 731 800}readonly def
-/UniqueXX 5000832 def
-currentdict end
-currentfile eexec
-8053514d28ec28da1630165fab262882d3fca78881823c5537fe6c3dda8ee5b8
-97e17cb027f5c73fdbb56b0a7c25fc3512b55fe8f3acfbffcc7f4a382d8299cc
-8fd37d3cea49dabdca92847af0560b404ef71134b0f3d99934fc9d0b4e602011
-b9cfb856c23f958f3c5a2fbe0ef8587d1f5774879c324e51fcb22888b74f2415
-50d7401eb990d4f3a7af635198422283cac1b6cd446ddbcbd915db9bff88844e
-784c6bf7389803d9450b0c21756a017306462c563d51ecefaacd079732f12c29
-315e4b9623a5752c6f1d8145869e120d910b2644887cea7e30b15676a92537c2
-9d3aa80dc30082aba94b40990b82fb1a877e805e0c8c48f61e9f2edac05b944e
-e4d8084ec1d5cc517aaeec5b3ea379dd011eeb454cecab3ad2443c887c582789
-72355673e503affe0394fc7db31de364e4f56c24033c7df2265c56445ec63a1d
-5695a6041ea1b94407e1cdb7c5635603a4fd047e6edcaeb2d0da6c9e0e9396d5
-1a4a58e8fdc1578730f992435560a6e2d3e3687703ee2f78f5896389ac8470bc
-806169eb01762e89b6dc9adf857ead656620e2589aae722c37a2ed7a2941c360
-b067ee34d8d5ca3bf68db725614d936bcb207781f4d4ec2ac67b13a5ad161f3f
-059add7b5e3d904831e31c20c04546fae83ca93a35989e65c201756888f727b9
-7e5313c9870ec96e4cec3901ea03a5c744754485e7d169bbc98bf872d0796e18
-9d43b712950c3786257d8be06ab6080b9d9392313298327549a8a41c00a2cea3
-690b4a333e45aa815a64facae1c2b44640860b8b8687afbefdbd5b4a541a7251
-4ee7d3e0752af3e96a88c95d31fa16d34ba2f02fdb0088b165844f02611c734a
-dbcc2037bf741fdea7e8bcdc130c70c33772f777d8bcddf4611db99001ccff14
-d7af2bb05defc3480bdab312a0eff2f375afb4e0df2f803c594b7c93f71ca4af
-861ae1711932fef19bfe2f9b7adb69d68e5a70ea4d1a3d5bd85231b16993f65e
-fb37a0a823f0542f8c2340a073dc1be4a8347f9d3068a6435cd8278b0db1809e
-8af9664c2c989b9f16873c009449b6284b85da4dee11c96a05ba83292f0edbd9
-2cf674aad6ac1a5ff966ffc37e88a66048deed053565b55ef6bdb8c2f2f67832
-f8939a32442ea54f13d003494d6350a2864b427a9126a9c26a031909fe53fa84
-63b80c3ffd536c9a5dd29ceb03148dbc24c0033aea2a574a8c8d945fe4b2a75f
-bfeb92e03e5c29f9fe0ade45bd289affbe6de29b95bdca1b14cfb1029e83ce14
-30e04503100dae953b01334479ddc3994823f4b5af856c2573169189b3b77193
-636afd0a7ef8102205c0ef082d34ef6182bfcc89750be59de2ecb291b918d72e
-06263e4c8aaac685287c997908cbabef64b2604179ce6cc65b05cf6ff8cbb6e3
-57689d43672ad21c31052a01e8df852eb3e9f5771a2e4e976b51492f47aa2f4d
-d71b8e53cde9f398eeb841ca03ce3c20a6452581ef985eb6f91c9a719f3244b5
-ebccf59e740a455f3e1fbf3f8a852b93e620a36eea4487d17cbf625c2b7e2cdb
-4d8504b06fbbfe867bf9fa467927769b39176c24dc5d40e28ca54a2a2999656b
-ed420923bdd64ba1409806066da78637eb81cab9a140ae4422cb00ad9543a3ad
-beea8d4c01a43b0115961fbcefdcb4c22a238466b1f38ecf9f6eac0e72db1021
-32b781408b2de8ed88e9971be38d24937f6c111653c5daadf58b414da78f6251
-6fd3a4b5f6bd21529b55d4fe7620fd2d8d13a7e8604ada78c2c287087a40af79
-5092eadcda6a502dddd06c3d592ea3a752fc60e6b246fc9098cad8c2bd614ea7
-4351e0a5ec9721969b52302327f3f4a2c199db96eb724cff99d86a4af59ff5cd
-15345cc94ceb500b32884427525fbdaefaab12cd7239da224e4234dee5188396
-2192fdfe6935a088bf012b3dd8063663aef6c5487d27affd1a8ea501f4164c66
-986b7674dbcd9fac8223c938286aaefcbad9c5d26b4e744fed12842cb23c3309
-6e1d127d6d1294bc06cc3a0469e2d15bb0c166c962d5fede747e54a18fe66be6
-650e43e1831dbd5fbf39519213291419dc442c30b835e8f0395492f7e21408dc
-d4043ed3cfca51e68bce4a358b2d23e406e1ef34a294b2c41e7bb6c93b989b0b
-c5ab91e6b26c68b371f71e2d895f7db1ced99485edb5f09590c37682dc064a2c
-cb8c2ad1896d45fade7745fc4404d0da5ba23975382930ee860460d6b450a5b7
-8156d3ced15e7b9b50605f830a29333a7645748cfc5b17bf9bb8cfc8219d09fd
-7433484674baf9d5385492cb3402cb3273ccbe121f93838a21ca03395d9772d3
-c30cce1e7c2718f9a825ee7d401fdb733fabb8c9685212fc70afb90dc296bac5
-94c52f8a08b1d1c889807f65f5ed30fdc79c167507e85d42eb5ee579f17e5461
-cf108be5a17c74c533e5929ae8d9ba34b95e4af05696d5bacfc39ae07969cd95
-23c18ddcd9097ebe6e33dd6494f3213c3f4db165174bacf6e742cf03a246bdd3
-ad60d0bc19592eff8335bc7079b3d192b4423c10ea73775681d3e9c3155f5e2a
-4afe36038f1d2fceb44d2f366477c355359e6e764293b4da0ddd1eb9ccfd0033
-0ef6eac0977e873dc902d5a1be235c0a1d777841dad4731ce0e6addac0d0b8b4
-8b645099f3a482aedf8e49b735655adf0eae1d42826369be4a1de71c941f6155
-fe81b5bb7fc5c1e420ee5959cdbb338c4b47c5795183841c18acf75f6f0b7e98
-18e5ffb7a30f1e780ebf8406a247e7ee390c26a8092bfcc32a353b9b57ff9c5c
-d5d7793b54ebf122fcd20a0faae7c2da9c6d67971d1e172cd75778252615c74b
-51c0c113ce1cff124b8c35989d3ba1939f94f1c8e53dc2e56e757a8d775185d9
-71c3b1d75a8866667e6e117e42bc9eb224a2bdb5617e98355c8189b21b718f67
-f88c49011f6098804e4a602299ccffd8a94ad17b13786e234a5dba6db7c46bbd
-d53f6415621363cd1d37477d1f39c256710afaf8e1e37ba56c784e48841cdae5
-91d3bcedcc3a87e948b99741899305ec448f6cb58616d583914e787d7df826a3
-b54a1b93d49393c658656f4fa6e51546a16ae79de1990b74d7e651f7914bc65f
-4e73eef9ea372d04e3cae7b47e73b7b86d38f607a95fa2ec47fcdf365aedfd89
-59c7bd3c55835a7f7794b313b05565b627edd1538b6b6d36d42b287907139991
-2cc88c7c7825e5604e90ce776a20218efb54304e287948af136c8083aada107e
-d50b24cf0cb2d37a45c4e78be8f5b5ebdf59b49c5e75b064c63fcb715652c988
-d6af0e8a221fbbae93cd8a638a4e496cd43b2879e2ee85d502ebc6eec2851d72
-ed5ddca18251a7b9b0da80e4617f6b119461bf40773a4d6aae7ec8c705bf4495
-5557ec37aee0e4622dad05bc78401c7ac15bfd9f86255507162eac66f1262ff1
-efb9d3d08dda78911ab1cbc85163f03109f01b6363bbd353ffdaabf69e4fc0a1
-9f7c5650bea97ffece85ac8f80979ada0ddfe65b78a98f42662dc48947e45287
-539ef183e0014822b99a1437a7691664e3796df1088062631d4e2bb4c467310d
-7c1b1cf7a7a8342b3ed2ad460bbc70b465d7984691706eeca413b9c9ede63d66
-7d9e8627e0fe1fc0207332637365e5097b3c334abf3d8360495372d1c0d3bbb0
-547a7af6022baf5b75721db0b8a56cdfbc47c1381a34f4ebdc84c11e19a7cece
-77fd340652a79d4498390455f5593d71db49b28c09c6a11cd8bdc13d4af8b377
-fc701d17d61af73b872d40aac89e4ff426cf033e9c11db747e2c7a5b19eca754
-fb0fd8c6c96ae9469d411aded314ba294867d1b350403ff9a701577441d7a92e
-638df839b7b04c8430ce91c5f5cf1b0cf1b4541dc598a09216de86112548b086
-c2530169c07efe56992a60ed4e2497f68b29aab7e0f34b93e1f198478de75cb7
-01d9cef4ca847dd6e681dbcb95c8d170191e9fcae9635f334803ea8f66134353
-ab9ea1c5c2a770260ea0d0fddc8904f8ed72ef85901ba992e0116e14d07fc3fe
-a0830fb392a57af8bf658b24e64d84803b3a9e6de15bf921e52bc3f8b8338129
-ef0b43527774e703c00308c0c5ef0f691e14a60fc1cfc084b3ca376229044938
-a61b48d55acf33b8aa6758026ba6072f0336173ba65ffcfa14a0654b76109c68
-b62522e8e21a282446ab955666ae6a23030767ee001a42bcb4363fbddc8beb54
-7e1d10dbf56c1ae64efda30c03a2dbd2b6880c8750a531b570e28017149a7d46
-826d9add7cc098730dcdca1b37e8d5609e8937152cd7defcec52971132ff4aa7
-34be78109fdee933aafa4cd6d68426116796ef1ae30c94d93adc62e757986d99
-fc4b07e3e47d30f2be13da1bae17a360beef8a49801eb2099bc73498e970cf03
-77a7c20696cacdac3c717c3dcf63f43e85d9806d4c172af9755654930d92a801
-4cf9b09e44059e235c7ae1ede6f0cd0e1d900093cdadc235d613b14591ed9fac
-de5c2811b03fbdbbfa3b925293ab300cb6910a30c287b9aaf58d82588307c643
-e2b803d789b59290f0ffaf27dc1f721d28daa2ff71fcdd1ec10f81fedd778d28
-b847b3ca8114fa63a297eeb76c19bca3778df9cadf20ed74ff3a2191ad3780e7
-028eb830f0ba173ed16d2992216e1cba1d1f0451511423e16581862ca92a9c0b
-4ae6ca1dc96a52408b4177930825da5e9dadaa2ab0b3b7cdb99258898eeeb296
-44c48e0163d1df45ab4a4cc861ac108d0487384882f558d5df2d9ee420837009
-f0ae65a8ef75bfddd493afce88aa1d8232c08b71bc50595b6805b54775b2e37a
-b075a319e4d77c04365069cc5f32dc7e8d93599d9ef77a9699d1c2c0a0b5e00f
-324e508e3c240998b5edde1958b7bf7b64cd4eab474e18ba70b6dd8b4ad99cb1
-350ef9449e7594ae133e160b15f84fb85db7aa5ebbfb5e11bd637a5c457d5ab0
-7ab0abb8d36f3194ccc58c8408133897df859cb06615cc1886bf1c52867c1ff6
-7a7089b9136976d9b77421179d249a20cdb51e2d1d4aca8afebd7713f178045b
-04894639e532105e30cc40a33950fa55725ba217251be8f599e125219785597f
-97923cd28893b41dc1000c8fa8df8abb9562950739c727018fe70fb2e6f492cc
-58894d6771347ab57f34c1ff0674360b3686f51e8e16e4d498a6fa8f176cd40e
-3c52039181140f10decd1aecd83dd67425fa2305b58722426922e7a62d8ab16b
-28971f4652fff5a541da6a35ca36b2b81ceedac6e59f5a9cd7b17b5370ba284d
-f53fd469a66ef24ee29bc44dfdb136ddda693b9b4fe42ee044f5d070c6b9199d
-e21dfaccf084c507c76ccb6baca8c95cbae00c572d54e62193581ff4baa4a94d
-8e257a19c2abf7b5f4fcfb60741a9dc2cd2a7efb0797bde78f1b348fbbd6309f
-c30312365613ea45dbfd061400077cc1c112c40714e04b253ac3983836abe40c
-71a6bfca857fd06cf214954dcebd4a04d29462bac446f7601c5c17b976f4d50b
-c930e2e24f9b75e700a02e4ee5c87d222a41808fcdd2131f0cce57bcb0a6cdc1
-985375c08d69938e958ef5ce494e7edaad53fa54d292da30c819a4e22ac60e66
-8f9dc1c65b6c43e016da6a33d75c87f3b80a95cf6fc9f705e5a99e928cd3f576
-8e9d34ef286581a3d315ce142a719ac7901d578702b8d2a9a8306f25be279a9e
-354dacf1e47e4385c53581d5b842180bd2321e9f8f373a145b73eeb999f6da22
-dfd25ab85ce28f9fb48c46925a5f6ab293a038b96b3724e4ea782925f9cfea2c
-1e50cf68bec65ad1764e42265ce9451e00eaaf28095acd40799d59fede1ed725
-55ba65ae6745c420058539e420635dcd0a9a249530c0f2c2e61d1f75fcd8d3e2
-c0aa195bc2a6409820b4f8c2b73c9f79ceddb391780665098a47f3435031655f
-704029ed3b92a0ea56b260a1147767d7b3bb1c724206de6d8cfcabc52de025f9
-0e84c0dfa06a4f72a497181b496c05c10a1b84fde32ab2ca4425cf110ca3f76f
-2ea7a5faf53a860eefe9e5400df45248d0750bc2b2d38c96242c819395558255
-fa71022f72cce154355c0e69b2994f4ebb477a4f9db95d449e8473f2a0e4db43
-4795e45fae17ad46f1ca580e9371f6de778c9e82a1eeb339be6e20c41f5b1ca6
-dcdc9a611b2f7671892abeb642ff6499b52891fc64fcc90b6520017d88618d71
-09a805a9ec3be8d1a65d9b822bb3bd464d4aaa6e1d1912dfda0591aec4092c11
-004520573c20ad0ac2008dd177ae587523f435da621a8ec7b26e9a3b8bf35d08
-a7475a3307f9822e764b7a041002371a2c0c94efb7d74492b6c8fceeb8dcbd55
-4106f5f632611fddf1161533471215da6df575b80fef3bfcf2831772ee8185dc
-8471478f85c118b94cabe4a589291e66d7edfdfd79c61ae5af31a0eb5ae7e96e
-6ef6f3ca607a53ab02758197b021f003f645475d69ec2b3e7bd937687b7b3369
-2caa4317e0638c0c3ebc5b6708b86459820e22c56e1b91e81578b7eb0edbaf54
-615a1d08eca9919ca36a38f2c6057cdb51d42cb509d883d846a30129a2fa59e7
-f8b1974b8e073eff7e6de62317782e4faa62a45dd4def8287ba8a62b8e769833
-21b2b1a9dc2f9e574d696ef0c074592b204981dc6732f355a813175888161f1f
-0e6a22388c0a40194f3223531f13bf340e4afadafe33a5823e30dccbd9be3fb3
-d1e420180f789ce44062baaacfba961aea5b207c408d34563b76eed5f33e3e0f
-50086d0e065d5ee7c4fc8234860c2daf0ac703bf97b30788dd109d84a4db83ca
-ab69f3f1450125990c2eda22549fabaa0b429085d8de9d40ca4f4e2865b5e12a
-74a2cbe57ac8f07d0e7fd170d42f820ebf8a610e52772e4dcb210e817ac0b461
-519777b9151b4770d2d97d9a66a6e40aba0cb7291a517f5b79a8bff03ea1b183
-9b70b9a6d595e87ed2e8a6dad65840b91d58c4d2e5502875716962dd30cde125
-38fefacbc5c5bd2f332bcaac29217b70c5ba18a58796e1a920b7d5f41691d38a
-3e83fbd39e9a8f67f6ebf951ea7a2b23c2901e3c80c9094ae32dccfcb53a497d
-98438de3d7255f7b6cf633a58c6f85a1ec31f95c8410f61cbfa0bf7351e5f43c
-c1e5c88b53a86ae66252c7a0c3fb0570c7ce839c3aa6b59d6ac3d03eca2e77fb
-c0fa3e0c460c30784ab5baf996cfd283d6bbf3a41c11157fdcfa3e41b68545a0
-78509ea3b96175748c65f5391745e5393bcad99be2815d6e51571e38759bdefb
-2f525b0810f541cbf2ecc878250b44ef35a9ec3beb108ca7e523556cb5c6b531
-0e43ba3ed2aae783b05eaf13abf1575d120efa6042e07a5a1eab856fed89d5d7
-5ae59898fb71945cc0cf987635ba73b6a80af4ed58f67652926c75731ff3dfe5
-d0e27501c55eb1a5a004c7545cb674ed642987a11d693efc7c264720e14d771d
-f49b44c5c1714209d94b3a69b54f359e60090d5c0288b80acc8775c0089b66bf
-453c4790dd93dd1550ad38aa9fb6da74ef7c6aebf33f749389433d3372e5bdcd
-3fb5674e1a481a6c8b2db9eeabadb30375857b7220b017747eb63e396ed9049b
-49fc0a4b4d1ff40e9f1383f907cbf2287a066bd376407eaea68e59e1dc5ff56a
-0d5cf12c75b5613986b7c0840ba9695dfdf7d135aa5e75c4bcf17ac3a62ba79d
-9b5bb5180274e8e1e26f6382a2c95f2c0db1914697f21b642aac6c3bf00cc2c2
-a34f2a7db4b4133068ef8e16ee8c39e92ef0cb122e040a216aad5bc871d6d04c
-453e20c8e2f9baf2715b330b22c57d34aed1a309bd76d2a24cd223a04a8530df
-a132bd32dd75fc94db551cdf673057a2b70b61f3fc4380866b003d6edeaa7da3
-1bc95f221600403d0cb233aa552b3c69a0fcbe1fc802758210445f3139e5ed1e
-11b14b0789fa3ea6de0f3ee50c2e039c1f812ad7542820ee2adae97a92e238e7
-33cd732a277f5176d4610d903700215451e822235309edbf5b9e37f3846df85f
-afe4b92ad06e5d4751ae8a8cf976e0e4d46fc222b512958d83c482798f21221a
-96a9dc1de701e9e54438ba55a4dc5eb4ccf206efe8a3cf072f8b9b161c0ffd87
-c509164624562a15eec35008cb0fd5676bcd7b649dcf2715001a1e6c302cd654
-e809ff768da5fff9a3f46de8498c34087fea7d65f70827657170d25e6293b3b8
-6eb825d01dc2181c523da298d3fcfd4afaedbd33b35c80a76df1cd279c6b6f04
-6908c7bf7dbf791a68413c3c9fd2a0f61ee9c94c8817bf9d8332b059c21bfcec
-b055c96aa0ec60207e76ca7160411edcc61a4c7386d53385fe6ab899e0827b1e
-59075be124a25956d21adc79ffeaf0a81a74b65fad7532e6036d033005de0da5
-5d69a8f9ec183a1b003d5fc9652720f016d72ac6d65f0eb6ff4ec9f29a58c1d0
-1684a220e871b2babd7b2288d0f3732ebf71369695e776fe2b38551bc71086b1
-9c245294952185b9e7389713820a1306603d205b67004a56eda30d78a9df0445
-f509467b34115350cea6f72c020a8cc1c6db9ff07aaf234409d34149da781d3f
-61ba459a2e4bf03239eb1fd6f6af118f9aac56d8828feb03da1f26ecc293f715
-f820855e45301c45e70c0fc7a33e17756af3c6828fbfe7bcc9e57d0652c36997
-e45b34e2c1f69c2ffb7baa220347cffc31f70863e86a6c39917f1c007f2d53cd
-741c2bd408844798ea7389eeb68c74c656050a1cb16b4841b015673ade151529
-d7f88af9d7ab1742e453e31c41cc4bf60224e99c2acb846e3c289cfacb4f03ad
-c30ad76cd18390210022cbd1fab91821b28e5306473d861af97f24db321f96c7
-c12ebb6aff8e6f7cf3376409b826de9f1295726b04276ab95f333106c3622353
-952d35cde588e2f0b7256399be37b91409b70e4ff7199a42a4dd68dfbcd0a3c0
-10a7e374b38fa6e21214834c522ba81e46fb0650c629e6f03bbbaf70efb76466
-1f849b71b1208855d40778ec7307d3485275dfcf8d4f6670957929de6a4db8c4
-bf0bf4e33daaa5db5c5da9200d448cb95f0f822757f96b7b0c5409c223c2fc0f
-4e4e66c9741c9fd130616e7c4aa7c77d4e6bfb7b67f5eeb9099681cb5cb3970e
-43c5268e350099030d2d9eb16f26e95e1a4d2d07b755a174c0658d7e17bee09f
-ed08fefdf73f687400cdad541f4d2c42bda687f7799fe2ace66ee662094b7412
-5d7e5d168d191d06788964f3029f6829cb0c13e8999e5705ec65c4ff1a3efdfe
-503beffc00486d214b5d6ee59a24c825283c9522ce88876e5f5be1f239acc55f
-55bb812c38623bd4a1c15a3b89adc53832b048fe10a311f7965cfcb373366d40
-0b6474b276e7b2fb8ef89af3e5192927c80d66ea768739794b48a1a65e55200b
-7eda32472b65bd4ddf4e7c70cfc1a0c5a5d604b9580fe1595eba57de5d3e172c
-07e537eec376e7140f6b3a16b494246a5a5a42591cd2d971c9339930f05807d0
-9681a826ae7c5c68ef28c35fbad4360583198aab1fd8e105da7b8dd1f7c87bb6
-5b97edcc7b48ab797ce989ff7b2dadfe2cb29fc1c8900647f2d9d92e77e034ef
-2e0859cec90429ad0ec54edc771c0b1dcbccedacefbbffe498fd554c25a95684
-2b12b76e7755235a831005ce3a9885306cb9396512dc1f09cf644bd551bc8cfb
-643b7128a558b17755a7386285c295962037a72ef87e1dbd32715262e541f5f9
-b7d3f3ef4125f156de6ae09cc9376e0a5f5849b312573b348e05096b841b8fbf
-aac8942845f67cc2530fcb1a9c5c4187e56a76f46bcabdc8312480bb2543545b
-806c6948d74ed5d6738c2e13a171a583eb1455e07131ee0c9a889a5d2fec5e6b
-72660378fdf2126f2cc8fcdd18da1dc687e9f9839e53f332dbfb953e72ec82e2
-c1974f1aac79a8116c11d0b50478ad3ddb14410e5d49b2fe857b4f323f5e360e
-9765067fb057bc14d1576e678462766afc88dd6f5dcec4332f4ea5a021ee5726
-535f96900e250b579588a43b5bfb210c1585c8f2f261b67f7dc08a8d23e950c0
-dba521bf2300bf603aa1be04d7dccf380dc92d5a64bf3289e44fb5c8a578b39c
-81b340402d996691d284d47cc548010855617eb748b5107a1d316d0cb2958399
-29f6a7f51b153792e1168bfe04f2534830c2ae59d953420aefa0cc0838dc3acc
-4fd00931f97b4d92e237a633e430b6d2645fe03ac5e8cd8652e3bed7dcbb3ddb
-0708618694908567d9a26d17b365d61c051a9f439d8e3a7108bb69385bc621e1
-9b142de584cd65dab71a9fdd5c74ca8f8020cbf9cc9a99b517eeb570ae679dcd
-821c7beefaf8abd0dcfcf40013d067d9861f8764a149a4ab1a4dae073342720c
-ede94ae7987464d8a7499093cec892bf7d549193421752ca9da3d5b8bdf616b9
-99a0c7de11cf30d77d2b114bb430efb34a2ea0e47f8f67cba7b576b432c47a04
-24be8f0734a90752345fbfc58940adaa7cee25fc7f619196fd520d3e3856a9ad
-f8939e6e63d20079f67bbee3206f4a5ec0dbf5274b76008ca45e65b33987183d
-ffac4113eae6a69a4a8ca21f20bc6c550aa7060e910f52dcd630a74918509d38
-d780180cbfd7d75e1cd04e433a8cd8a7a3c6828314120d7f7ea48d55c6a21b03
-a311c8d344f6fd0506d8654203afcfd61c4a0856725fa9793c4aee19c703a7b8
-eeb7bb1e475cbae39b542a556b328267f4953b5706d043388086cb76950bac3a
-405c35b6ae6c286b289a0db03809deb6f32749b2308b9764e4251b1c935a4ad2
-625690f7555991e2d080e0e4755cb88ff582201ac0c874ca84af76bdaa74ba37
-2fed5da2877f1ae1fa7165e3c23c7d3347994ab74ce6f167eb004793284f1d84
-44607ed31bcf584b96a95f8329b35ca823c7774e8ba96541d7c59b42eaeab3f1
-22a292a66f1bb00d4c3f98fcd250935fb842ae3d71e503ee53d177e060be7e39
-4880b982cbc8997b03fa349548056b0b058c00983fa23bc0b0cacf05a67f0d35
-da6268cb29adac2fcd25e14879190779b75883ece69dc7e3790776ea50c8cdcf
-5224d6b8c4bb0ae3f3d5be1a4607f0ccce7658af8c9fbf3a82df3c635cc340e2
-1cede24ed459cb673326ea15b278023de2daa06fc95a211c5b8a6e77c9f59464
-6a1de6ae1058339dba7dc68bc73541daaa1028f70f3a4b004bcda23d15a38262
-02acfba6158243b66c34f23cf62b39f76d0a1e8a1b34eca8302bc4ff10e00fd8
-2175fb9d65bc7bccf9cf62c974b9b1d6ed9dfbaefde1d233b556d8ad0ba98648
-ab896887b4332235e23d4171bd47dac7a158a42086bb510e98437184c1d053e9
-919f04dfc573c234ecae192de9f18d071b91448d1b155edc961192db903e9cd9
-a625b42ad3ac341107afd7d6098d3358980fa8a5fae07b5e55c26f2fbbbe0d43
-26bcc1bbb1112643f9a4679af19bc658b109e97aeca3a3ee2712879a7440c9cc
-a9f327d52d97d421b457580768145a920343c308a1618ef2825198b67f6c0139
-994856cce7bc2a1d6c50de08c482f001c28d569b2fac3beda57e8dc436de14dc
-24d4f987a279a69a00bfe723eceb41f20d3b51feb37ee1d55a600ad072bad704
-60a9922972d22868592836031123789171e3092108bfb04b7635f80fbf11e8ea
-b0c021550e915993313d15d4335f6c828055beb1d7ceaabc6028bc13a6a04501
-cd4519bf60d58b262bf0fb34602f932374e2b2b6d5f35272887ca52b1337f23a
-b45bb11d124a53a360b07a05df562df6b410db2c8e8082f3362ffc275ffd4e86
-e8b79659b871f22568c914f42325004aea280e7ea65947127d6bc9eac7804f39
-80c21af73eee20345481d1b99aedfd3a2ddac74ed8f9324810ff701ddc563419
-3707cd085d8d56c4e667dcc87184d5099576f2698874f418aeadbcfb438fdc96
-b1b9a7376c06aa8aef4478020ea79620176b82e800bb62ba4ebd794fc7263e95
-44c700fa409eeb75aaaf3ce676fc3c8c6a53bcfdae477788c32313dc5ae261c7
-3bb5ed09e54f96e8e456d78adc17bdd2e23161c834162586ebe8d718248a8395
-4695c70159c8ff278dc04bf74923ebc2fe7c4421426dc4a7cd15061fb5e9b7b0
-97fc8bbcc0d24eba72fb300a6ca95288a69d72efebc148b5f0af2a3a1c74f714
-c52767df305417c17dd42fc1d6472dbc995d168820d61f15c1f166fab3e33032
-3cb301f3cc403710e28ceead2eb4bcb73231e69a3b7c5168e2bc9948ea219792
-6040c2739b8f27702be0d7cff735d99bd2a3fec60979169c297093c5168d8dee
-9ccd4710052a67f490137d56819e01f5b6fad259b8e97b4c8221ac60b309a5ed
-38bda4a5e512eb3a62d33dbc87669b332f83c9d24e0fbff384f8d1784c5d96b4
-a423d4fb804741fad0aff9fcccc372bcfff830fb9cb5af0fca777c78bcbbdcd4
-979a1fea1590d3bdeb8123cb111534cf971afc9769e3a7be30eb9c45b3c03760
-159393c9b21d33ebd87d7e07054400ac358e1d110385342f3beaba3a7856b1d7
-3545cb4c0000674d60541aa5c3071974b78449b753720add9330a748a190d6e2
-5a5c522e29e1b8444dbacc886c525fa6765e05ad235cec1ecb53163c1e70d244
-b3d01ef0f8ad22a4bdb5a5fce201ad8f31c109a763cad4b9cad435624255d3b6
-567cb5a0ee78e146d86bf9d1f8e943dec16c8785c73c0f57237f361b5068ba84
-0e60c099eb88158708bb92e4a9146b5fded1952deba9dc874a28df80ef76d8ab
-9e2e673a863a6d56b14da700dd8fd2dd10fbf6844fbf67fd6c5ce970723375f6
-aa21e479917a4ae40118800d85e36bb26770ab1344ea3c4cf424b685a2f310fd
-f31238ff1cd4b6a1aea4b36ccedf1f807ef56a7b38bb6002f9dd1db80253c64c
-700026b8433bcd1a481497171e06dceca3a627cdd0a47a96b1b03d57bc3930f0
-fac24237482cfb88303be384c514fe2b429bcffe7640ffe074b6c4a714f2b3cd
-45d21c3f90bf0cef030a43297057315e477700b3af3e0e698f42b20b263f32e8
-00f34eff7083aed3b7cc610fcf9676d1e19dd76fca9d849f802cbb89eb69d644
-ee28c4eed2648b889bcdf43152a92aa3e631de76988ba8af1e7d45312c458ab3
-50334d7eb6c48cd5f5075d32942b625abae985237be5371667316b59f9af04cd
-987f1ac9f810656fd0e32e411f069aa398b941810fd5cb76adf012a391e88b77
-9c71551751ba9a7c4b48ca076699d8b1363adcc1ddd7804a1332e5d13837265b
-2c52abb97d1dbef6259d038ca5f5be2a1fd833252da9c3af558f07e5ddc87a17
-ec9d015e3763251c325308053e4b5a4b00b8d758cad87add1df483a2afed3b69
-348c0c24d4412faa7b2bcf4fa735f754f07f650c77ac4a35727e11d62b984d2e
-ac7042a03a5b5657cb86d43549f1705beeaf7774ace9ceb6ddba9d17a82cdf41
-e2b7ef4faecc13815d9ccc2303f94d44500b4435fda9d4098e75f1ecf96e15af
-d1ada67ed113133821ece3f646743a6949c683d4c9532042b234dbdf7bd4ec54
-308bafd25b0d611a24a0bc6efb028f83813ab25776d255f39239647623b3f84f
-a2cfc4031e1a3fb112c01762296bdd28bebad061bfac4397e5b8f1946576f734
-40198b709742d45123f4f459f188dd3761fb3893d3928143573fedaddc29c362
-6ba3cf664873eaec3b904af89d59d637359fa1cf8d91542bf698de17756b6ca2
-605a092ce66b490b93a357f29098380ddd201d094682479eb3d4c35355d89898
-9bdbe3ea97a0dec8b2f85486a2355ad0abcb339fc5bb581aa7544da94477b8c4
-9bd9b90ac4be98afeb9ebf23c8bf43e456e54b164e800bc877c04d01548bf8c7
-ebd47fcda4c5092d66f112c5263ba68d8683bd3093b8ad41e2bd51f221a4a791
-c6983fee462bb74e05d604fb8a157212d8932a2d7b6526a70c5d7079a1998ed5
-52a65a948a094b8c48c4b525f9518577344b805cc445afb2809241e94f84f3a1
-6e4d5369daa55f49c8a9516a838000be5e1aa9da892fbf76f427188a8eb14ffb
-5c457989047e7e59f45699a0414f8bdedd54ef0214b78c810271f9ce9e35d955
-977ad6ece2e0fa2f81bb868567615d48e2952f6844801d3843d419a60130f130
-ec3aac418f6b6f7279b1b2fef3f3877532ae2e2892c281f077ce6b34b11d7af7
-b0fd6a12b04dd6fd1bd720eaa5ba7833031c4f8b3cac0db53640fb5ac1b1a19d
-491201a7a7cce0ca8649d2e466ed6cdb7b80ab8d79b39c7a65bf4375c120d9bb
-92a4e95f8e6f167dd23d5b63fa6ff33f53f5ee9d239c1095b5382daf230b3687
-3a20fcf50c9ac92ce9af02a502d5e95a55a8008316ff6a61408bb8ddd90f168c
-c4c7da2aa5114102a6f518ba17d3e476a40b025b0ccff255ba423c5877a555ab
-9cd4ae8d9c329f87c1fd034df388995ef031b1350acc0b6876b51e58e4a2dd9b
-62917e83102b4800f522f983c36bdb468b211c487a7de62e7b21cb510059aa7f
-b1e43af1bbf828c365f7df8ad9afc1a3adae64b68e5fcc1877b9e047091f53d6
-0475f26fd3232f59ab323a644218d4cc5e558ad5790a1cfd134027f00149b8ae
-847294af29dc7bb204e757eb5a7f5a7a9baac629714e7df3f13743db3dca8798
-f0898f428f644a7a6adfcc56267b50ed4268cca5ca59b344e4246e6070e71905
-e6d7156e4766013ad5905c0dfc898085e4d40a5163563090292eb4d8bc909499
-203a1f4231bcb1ccf3240cd2e112fa09964131c0f0e2ba2ecbe9e6e3170ee297
-26c3375a09269703b1819486c008e492ad0b8dc591f43fcbc41c8d76a881b35c
-633a79821509c9e0d8bcf9a9b071c784b019d49f9038d13f51693629c4bf6649
-27e8d99ca2d1d9ca0f1c7f705ceb9044586bb33fbe48f5fa87846cedef53fd8f
-23442daa7ddf41882af3b964a1a4e0a1e4c96b98e26f963829ab158983c6e02d
-810fe3574b6a3ba31c549fec27c0703279e6a0f0c4ef
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-cleartomark
-
-%%EndFont
-%%BeginFont: CMR10
-%!PS-AdobeFont-1.1: CMR10 1.00B
-%%CreationDate: 1992 Feb 19 19:54:52
-
-% Copyright (C) 1997 American Mathematical Society. All Rights Reserved.
-
-11 dict begin
-/FontInfo 7 dict dup begin
-/version (1.00B) readonly def
-/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def
-/FullName (CMR10) readonly def
-/FamilyName (Computer Modern) readonly def
-/Weight (Medium) readonly def
-/ItalicAngle 0 def
-/isFixedPitch false def
-end readonly def
-/FontName /CMR10 def
-/PaintType 0 def
-/FontType 1 def
-/FontMatrix [0.001 0 0 0.001 0 0] readonly def
-/Encoding 256 array
-0 1 255 {1 index exch /.notdef put} for
-dup 1 /Delta put
-dup 8 /Phi put
-dup 10 /Omega put
-dup 11 /ff put
-dup 12 /fi put
-dup 13 /fl put
-dup 14 /ffi put
-dup 19 /acute put
-dup 34 /quotedblright put
-dup 39 /quoteright put
-dup 40 /parenleft put
-dup 41 /parenright put
-dup 43 /plus put
-dup 44 /comma put
-dup 45 /hyphen put
-dup 46 /period put
-dup 47 /slash put
-dup 48 /zero put
-dup 49 /one put
-dup 50 /two put
-dup 51 /three put
-dup 52 /four put
-dup 53 /five put
-dup 54 /six put
-dup 55 /seven put
-dup 56 /eight put
-dup 57 /nine put
-dup 58 /colon put
-dup 59 /semicolon put
-dup 61 /equal put
-dup 63 /question put
-dup 65 /A put
-dup 66 /B put
-dup 67 /C put
-dup 68 /D put
-dup 70 /F put
-dup 71 /G put
-dup 72 /H put
-dup 73 /I put
-dup 74 /J put
-dup 75 /K put
-dup 76 /L put
-dup 78 /N put
-dup 79 /O put
-dup 83 /S put
-dup 84 /T put
-dup 87 /W put
-dup 89 /Y put
-dup 91 /bracketleft put
-dup 92 /quotedblleft put
-dup 93 /bracketright put
-dup 94 /circumflex put
-dup 97 /a put
-dup 98 /b put
-dup 99 /c put
-dup 100 /d put
-dup 101 /e put
-dup 102 /f put
-dup 103 /g put
-dup 104 /h put
-dup 105 /i put
-dup 106 /j put
-dup 107 /k put
-dup 108 /l put
-dup 109 /m put
-dup 110 /n put
-dup 111 /o put
-dup 112 /p put
-dup 113 /q put
-dup 114 /r put
-dup 115 /s put
-dup 116 /t put
-dup 117 /u put
-dup 118 /v put
-dup 119 /w put
-dup 120 /x put
-dup 121 /y put
-dup 122 /z put
-readonly def
-/FontBBox{-251 -250 1009 969}readonly def
-/UniqueXX 5000793 def
-currentdict end
-currentfile eexec
-8053514d28ec28da1630165fab262882d3fca78881823c5537fe6c3dda8ee5b8
-97e17cb027f5c73fdbb56b0a7c25fc3512b55fe8f3acfbffcc7f4a382d8299cc
-8fd37d3cea49dabdca92847af0560b404ef71134b0f3d99934fc9d0b4e602011
-b9cfb856c23f958f3c5a2fbe0ef8587d1f5774879c324e51fcb22888b74f2415
-50d7401eb990d4f3a7af635198422283cac1b6cd446ddbcbd915db9bff88844e
-784c6bf7389803d9450b0c21756a017306457c7e62c1d269f306bd3402e266de
-fc3b5e7d8a8d2f5bf0fe6ddd40d07391df4fad4a6018dce29a2b8f692b29f202
-3a7c0e66de8ed85c14f1f8492167357f51a7e84cc5d92e0fee4d81cf7fbc8de5
-2d2e7bb57142033993f9c08c315abade8dbc4a732e84e142d3bee51557910e12
-cd8aa37c459a5e6b7f5269f59078aba3be4641a11ac48d0b625c8325b38ec08e
-4c9e5e7fed976a5650d99d82114f449b9ca14c4ec957702295a39a93ef93f618
-99b8ea06b092c3c1e503e6e436e0a9fa22576c8930ab3dc8c20f5d82b69cddf8
-ff4dacfa9c54bed5a3aa3ea5b129fe96be632843b9b6bc91b615581a985db56b
-1e01ca60ee69ca92cf5c0882ece62edad3e106d835348822400f0b66af658f2a
-e56ed08f8b0010571807009b73ab12a8cf14ca6c71f03c2a48c500f9d62266af
-154a6375ff600d9bac3f05ce34142d6867a79581c533176bb2f3117336671e2e
-44638a97167e2ea9644e31ea16c2ad2990ea33c54001e0c8156e6de8ab6a4d40
-a7137ba275f39589fea2e2db8256adc103d6f9cc038037a47e8fd469c5f98a5e
-3c15bd4ace40d340018b1cff7d1ed8abb0ac57b5b5a2c20a51957b96c453edb7
-dae5affd91a46d938fe0a13363001d844ded4323f1ee6d30012aea19b024a552
-315505535c85dc26bad31e09c50e6512802976d298c4e90d0044c362e6bf3ab3
-62a454ee93de25ce54411090c29e9d75c80ce26a84404bd9de3aee0e3f921ac5
-87f907572b8354a5c3165eea7e8b2ba4e333802132f760b41a900c698eb3d273
-8bea0aaf7aae96a558f08b61aec7c7d65b2889bb7b99800cffee5ba19ac90fce
-11437be1ddfcf0bca5670b543b9644a71c8726d0c1005abdb96f6e0cf7caaa31
-95017ca81519151c2c0b04f81e717c0691b63a76e9b25329ce2625b711cb7bf9
-9d23ec2bb5ec8aefb8c1a3b422ad617b3da4d49685fd44cc21a1fe5e1541163a
-b3e1594601d63c7e98801d7746474377ce93f81404f3570afbd5dbfe77578605
-917ab96963987e6efc2d3f99fa56ecae6422579852567f90cc90e4ef6d6f71d1
-858270205477e221018a375ca83c572b3f972c5181d18643cecb04909d84cf76
-7174b3c0c8ec69bf1e9fdfbc0fc7ed97ec67d878ea4ddac8caa522fdc6932df7
-21b81af837a200e1d96e90a7ad7589fa917658d7a173a511db53af1848892270
-44c4603be1a5ac1893c15a21fe5979a09aed3473a98e06c98356dc01ed3f5e14
-1c3c057c3f97e2f9e8718b12bea7715a3432abe07df50291d1a395e7ba2f06ba
-7cf20988904310104fa43c7a1f6d32f5fd290d4d572cdb5ab4b433bb849dd1a3
-58b292cbd5c762262751c26d8756c7a3c4e6bef14ad9a628fa2ef5c0010ee4a8
-d530f3786bd4e0af07d5587e90e19687d1a31921f975bff26ec2cf07f3efd4fc
-54fd4f92f08a60ce2b3beb2dc8d81a303c8103283e6e5341eaf61191f0122624
-2a4a88caca606438a767277972e2ad7ddc9a36f43d5b2d010b30cac07a383c1f
-9c18c89749e610d026f72e5ee2477286eb57b77567af9c4f20f7454a5719b0f1
-9581ebf64277e8f2ddf1ce08ee33f2a532228509a9ec0d95bec2b7beb23319d4
-236fb1446ff7df90952101435fdb0a0fe7622a6a3972afa4b2cd99b5822b1bbd
-c28f623efa3532adbe2bb8f50ee214454f95d282af029d174edec357747b4d50
-b02e2f47b1e9d736f85d789b58fc9ef2951954f075ea9fe373318b67a917096d
-d42424e1aa676b2a74c3884c66435e9183ba2559d85d0b6324fb4d4762451abc
-740b64a53c5a631b6c07dca48a300620142a53eb735cb766d2498da48f90dbc7
-5fb27ef80da2deddcef6012b8033648f89c18a4ab69d8df089041c5d0673886d
-060e54e6f2ba0562ab6d2acc623b70d9f0942e64b542e609e688dc8d8cba3069
-5a19987b0ae02ec45bbe6af8c5e84e43abaec2b7cdfe89236d857168d424319f
-054dfb95e1abd2445266e279886bc60fd18a05f9c21f684d0874264d933326d9
-c88b9668da837ceb89213019d211e757edc72e2303bb2b40954f254de88622d5
-601e0bcc65d903271fbdc32bcea059e5a0c32b9545a2c6e8262eaa912df734d3
-f46bbadf4640f3957b5c01ed33616319deb18f9f602de5d6fe326269066c3273
-8e9d0f99038be34ba574ad957f6b7a197f66f06956172883849e7ccb21f271bc
-4ee1c357c752886254e0bba6fc13e301986d5cad37ffbdab3069ef8417fd6d1a
-69e26263688b4ca921aef70783041a8abc1c751302f0657fa596dd3724a480b0
-5c037ed88981a99e2443a38cca3fb92c18aab5f67e1228506b4f5c7e99c08a5e
-e87a49811966564caea15d5602f0dd4eb1116048a7e49cc29498a240bc7e9c22
-dfbc699ee270dc8e3aa694ad439469013a0e480a061ac9569f972d5d308337e1
-d433b4f108bdd6af35febd0fec567f249265b5e3ee8868151c943e0eb606ac71
-50378e7c790f3e31b5d22d2e3a143ccdfeda4aac9fa69de57210cdea7ced9e04
-137ecfc978dcbc8fac0baba3de6602b0d0288de3526611c811453fcec09b08b0
-8fb514c6f2db0c8770a1be1be605ce5c851e195d976c33840542d446a3617299
-f99bc6929f70839cf3a27a4cc3c350832b2d9b50b7de3cfd1133c0bdb825b5ef
-b75a1d7194b096f400faedb7ee15327987b28c4a1b96314ed9486755d64799c2
-d0d3ff8503970bdfc9ea099bf06d90fc88bb512e76017c4f3b2a0fed291aad8a
-0f3dc32dd5f08098bc600a30e2f8c170d2c5c0794cd9ad2e01d560c1ff40eab6
-001ef931195705e5d7e8a7cd2f0741b88e3491134d9a28ce6bd5ddf4ea320b95
-4609d24b53fc2587583d6b3daf1dbaf44604d67800b05d966d3423f138eb960e
-a7ceb5c3679c466bb9e59bcbe482eab715398c4e5297a239cc977b61e853694f
-df75728c331dd90a43dc7acc8e752eaeef32e23d24737f6db0227f856c47d726
-fd221115551034baba90738d8a2a832754ea21b4cb437f60d5e9598dc218e2fb
-695c6c789a58eaff7041bdf4fcdc37a128fd6eb9d9ebc22a755e9499f1d0d9ca
-49c008600191dc9cce8783e4afaff581a986dbbec5cbd4e8da639b241cd1f0df
-f70b27d91f152d4e245e9dbf7dccbf4afe8e22d838952a0a2d91642dbd27e176
-9d6d5f90b8fd9bc84b94ab8eb17b0e62cfdc0e78c9e11b294f5f1347c85f4635
-16980766d9c387f0393ff9f532146ec7ff297a7b3000eabd54893383fa030e46
-3211f8f53ab4464e045b48afb0dec9167020dfd4d1cae71ecf32608952c7c3fc
-f1c3be9c6bad89dd019cca32be6efa86214ed1ffb1a6cf4dad9d8f58974028e5
-60f54d16d911ea0da2b257601085f94a642f082262d0cefaec93c2cae7b698fc
-ead0044d713f1f69e6c8835f7d027a4e0cb500bca8bb7eac6801655fcccfab8d
-21e48e2aa8b42f36c1bf4a39b8a8f0c7c8de17d9abad925e2999583b6fa61756
-be51150dce628dfe9d4d05e389b427f062efab63db8aedabe0a50c2dea08f095
-1784a735771e58163e1b083d3a5b8c8db80838d0031fcab2063144d554577e33
-947948cdc0e0818f99868c67c1ba5959cebfc99ca3b4e927c39c92736c54e98f
-2376d88a8e495a0aba0966cc01bb3459d1a9bb16653c59da0f21e214f4e342d7
-d6b35426c09bb71ec93eabde31ff4c3d657e058386f97b5b0d7565c9c6d7e3bc
-486e1086e9824cedfa80c0591e1ac4a0e46b04d1c502a8408f1b399a55f86390
-7717860dcb5e816542b37be544a7ea9f9f3712d3ff986be9961ecb9c927dd27a
-3b7740a8924f572dd2059108990ee3cb5fe87b76425619e02de39966f64a32ca
-26e9daacab48776a9cda828c187c9ed220e7d135468a1b35a49d53a1926e62dd
-528ac0bbeaa882e334a787a1a4580b05c88d4cf648c4dc50ec7ede530916cbe6
-fce2a2ff4f03943adc5ec543268b0833c8e8c0f8d3295da127c51e7e501c3f2c
-02cbc555eb744f42f625ab34a1614921258c2a73c969a076248ec549730929e4
-8d64f7a07e1a150d36ebae24476a34d5e2ec706d19a485ac61a6cb9ac628cafe
-615cd14df7a10d4c0886ca0be8c7c20e2e70862b60a44e147fb1be5684a2288f
-c68ae9287e6bb54ba665d4c01280ae50ebbd2d6f6f2b2716bf16ee7e6ed6775d
-e810af333693469a6e99a33a9533b9b1fe61cd1f962753092a800897883684e2
-db9cd91668b608847c759b7e465373c797770bec3aa5a0cc9073e851ab2f27b3
-c59475c586a264ef263e1003ddcfd2e583fae8bff66b9ea5bcc2e517e87c3227
-1cf7882dd45fe4ab0cc4e8bf8362fa5800dfc3ef240af21753c26f9050d391d6
-b75e22998592a74b06f201429e5285eaf749de5536ccfe75e45b511dcfcd3f29
-6df14a09142477cb83bb0faa20326997551dd1b037e3f973c6b71e123003fd50
-ca395a20f6de9883ea4114fd3cb5ef3bf928e51e203732e9fac0268e740317de
-17cc84c09d6e27c448c027f5424d04b67bb791dce4b40ac66a768a97db358d6f
-c5c32ef9aa1ce68cd5edf9a61005731bf730783501f5c43786724f3d31513947
-04cd43cd4e4adb81edde7c01a22da6f543e55909f4195785d19abece5fe62be6
-2e7ab5c5ced8229b30c229894769c253bb656a53c8ee344d849fdfb20206bedb
-2d5e5a1f3812974f61096fd4c4c87d27b43dbf116ef9c10ede96ddb84ac10819
-eea925d277814713e39984383fc7a0beea3a402360fe8fc256f21f1219793475
-aa4e71afcff1cd1d330a8eaa8c74fb829a9907e6d98a50d9f606fddbc7ffce80
-f136befacedea17d12a1472bab80f42c1dec071774c3789a4e0bb5bbbb1f4f71
-8f1948c09e86b38cb40b4936c3a6267676f101d8789389e7bd365438d1825483
-ca34a740ae7f8cd7ac27e80e559c18892c6452a1a4b4452ae8a314bd03429dad
-9c67c79971a701d789d38a032e39d0abc9dd8ab09633080bd042c53d9e8e449f
-89d09efc7506a1b0d448e561eac8375151f594f1a9b42f71b929ab847a600f54
-3cf0dbd3c1d1a4f39ea3b05fedc6a8d3651ed7dd56a8a54432bfb8728080d2e6
-8d0b61f00d92714a1cc2b64e2c079e09ee3cc866ba5e7ce0364eb0e22833c964
-ea40247c62f0001e8dbe66389fc10f686fb30e9f7702688e35c0c90bd1c53623
-e46f40eb0fb42c12298082c7b4b1e1457d3d76b92a99e0bf5816a10dd22e5568
-3be2d97de2945ec87c16fd9fa240e1c165f56979647b69019f4e3a1519a3a86c
-25d2aab62174af62526706f6c49129733f81e5a63c0aaded9bc746f040da879c
-1348f3022e5c3b39d659aa87d6e7d105b9b7029fb7e8eae4469bc478baf18859
-97cfbc70f1193c8dfce109717d9e576c6c7de2727e8056a6dbebcf91e6ccb2aa
-65af48ac505a3b89f61877065d3fd79fc89bcdb0165f404afa563e81543db19e
-8207fcb26fc3073d265f7c7dd74d7bc4b05a23ec3291f5203b6806c302658c61
-4b7b9b8584eeb2847c1b4b070434e3d50e040b4715d48d06182c5d1c232125ec
-75b72e25bd9ecdb5f8937ae8b92938de5d30fb067e447ff388c1a08d7ef1ef83
-5d3c5ba89aa8edcf2491f41d6d1110fe31019c4adcd3967d6ffe33f1ed8d9d06
-e79aec0f3f95d4417ab16316f66fc7acc8a9082692780d7862043a00ab0689f7
-85fdaa8f4c75752b726ae4c704922f49844483807e16af019b4bd905ca8816cc
-8763718ce3998c4b9f7bd5a6859333774d3f9e8d7aee946cd9d5c6c5846f0030
-44edfabf7006b4f6321f8eb833badf3690dc283623dfa7ee35bab5bc86bc46ea
-beb720e13e21768e551fbde2f003ec3ff6085e54493477844525a6604d256634
-d37daa73e308e13f2f4df915b07f53638514328c6f26acf1321438a140246c4c
-402f8902486d028c3549585efb9b9c58061798977a65efddbc9a4576d26e9772
-629f7ef532c7b18c51d675b84c77329b04c2a23fe0a0f4b9347b8550337127c6
-692e80e365fca46815a6e11754c466f957b7ea8d468545a0af0c1d7a1fc3135a
-83096cfd0bafd397518641011e4756337c5cb7de0e94f2374f2a1cf74d596ad2
-1be06533e630efbc8e27492e4084f08e56ed8687a32c2ce5e0a01f5a8b3598f3
-dc007e8757f64d9bc7f7979a6a36b70a0702ef43ffcaea3d8446bada7f3890db
-f29bbfc459808c8c97fdaaab4bfe6ce2739a2fa52d28580b343d814f3d0529cd
-304011622346d4e9a7fcdded7245bd8417aba90104f24ca493eb2a7ddc6e5df4
-cdf6872f1733f22acdeeca0a660a4f74142b5466ad76747c7f558afa6b997d49
-5bda8b577d70ea0faee81b34eaed8f823ca3fc6a2984a0d207ee8a505011c6cf
-806f7cf37c34b6f1920a27c97144c5b787646a41b73ece348739785b86a1c745
-a0c0475a6c6f82142c6d9e17d6b2b2a544be1738d50381b1ddf9152a393b4cbe
-5cec04679897515b3e3640a775ab3501320cec975e74a52700fa70d9fafff8d1
-254109429a31f1e5674ef72186f10bbb65937d4f4a841a88459d492f21b38458
-74899b49271e52117fb01b2b4e1f4d1236db85acda95fdd60361e7f40e5854cc
-f9fe9b4f2c8a3cee532bcb4bd8a933c30a21d43001907ab21dd7f193d1665c8a
-29b363a9288c3a22c27d4007601a7333b584171a4c8cf62bfb3cfc6dbd691863
-4998e7eda8b657182a82624744e54b6049ff55b982fdba66dddfba783e749a4c
-ba4c187458f30aa4180aec9e6970873d7fbd479bbb623f92ecee1e764d0ada70
-aaef8a65c6f0a12dcf381512a3ed2d7c1fbca9fd4c339f54e9e07751e76bc41e
-076c810d371944ee53550509c36494ac0c721ddd4d4e1e56c2b28255a922f443
-eeb39be4d1d9f3093edf4f50e98ace4710b14664b012adb5bd89a434c686e4f8
-9d08835c0169cbf9208332512f5f54cebf4dea1a226900f93a59cfda627aa736
-33118fdced43b32d602dfa09e3e7dd97f962befa7d3ec4732ab665ca19269c22
-32ca37623967cab87ebc0e883786a3912e6d727ee79b57e12f7e55a82d205ce8
-c6ef96ba1e070a5eaa38864d45d9c3a0c09f0aceff82add96481708e61f49638
-c65e2e97a538c98a9c38d59deef0df54dfd473300f174e8e284c3fed1bba95d5
-6890f49e3f6474248d904ff92aa7310fb9d7ac03bf8762af4f438ad547ee149f
-4bd091747e8692c58798ec4e38b0e127b7adc842aad4ffaf8b516491880643db
-f61bda9628a5b12a9352d2bf0ab476bd551ff2df950ac860d01e56beccced7fb
-89e299a7d14bbaad3986e32599c71cf3152518e8f7227d09349119f21a02388f
-3937e7e7b59c9256865ac867cf6281c08860b5e1a759bb2f5ef45ce8af4e1a44
-ab231b1580d31e740485c269a43e958293386b6620ca3d3a1bde0dd59c5b7009
-b4cd0e307323acd1f3bdfb34f1b064084eab7ade9a97a64f80bd0330708f993e
-5f1cfe25af6736172d974f060effe7450f48112fe515af2e48506dc426fe3ee5
-deee30e475bc8077de4f409beb2449080c32e0f4aa67fe891f05e28ccfaca02e
-7cdd24cafe6fa5c5103c3875c69177d3fda49a3734f56ec1bbc5876854f80d4c
-24583fa83e423f362c1aaf15376ad679fe115ad7b2405958f7d75fe431574a71
-3c0645148e3f5058ca1e2a01480f05a0072e74a7e00e789f7a4e73d9d7a6ca31
-97d549a590ffa592f689aa8f78e5794ada22465fd28fb1f85b2b9e8aebff4478
-515c7a0ee09cee08f5a000e35cbc09aaba9120f68d0d13ab4c6e2ca137c8eeaa
-8797a1500a046eff4b5225c2dcc1a0aece46d4462dc69c0a162425d2ee38e7b5
-d8d0714983a94bef8990267b7e6e4ec61ae03092d3731c96e7de891109b61c1b
-e5e2fe6357aa63ccb881a27b3e4e7c4729cb9ff7daa426c51ca11c0460f41e7c
-adcbab982a9ca4080a62e8fa0486ce7851dbb49b994d6763ce9b7c6f165ce6ea
-0a41ce3dd71e1d9fa393fe69c16de92c952b9f8989cc7a7d1f67d968a29d1f4d
-b5733a3e10bfc89e243e21915220813451969593eb43b00888bf791c0aba7666
-dae91c65a93b8b8cbac730a3ba7ac5c8be74a6b40f6eb7193b68c1a662434f2c
-d6752d8f4e3dfb94f0d74e8e8d4a32880670141dcf5788b8e5ecb6390097b9f0
-dd13e0fdd3cf92e6c9537c927e0f14ea023207a38040a85897939f8616b6db16
-699c46e7fa915cc0f953e6cfe0a6ae224d99e360cf92657009aabcd521bbd7f4
-9907623df385245546ac1aaa54c15438ccc278a2f1b4d542ac2105881f990d67
-a9c17ac10cd1a3734572920d2fbe94305f338a3189b6a33cb226ce1faa107058
-cf2923530ed6ec6b39da94de955f1779f480739c120cdadfd91b62a3d8f132bf
-f9fe42f0c0dbfe83003c4f99872e0ab6bcae9696167fcf36a5c915697944e758
-e74e6980da0c6cfe3572c27bbd2f6dcabf51a7d186085a941286d81c1e0c0a64
-23a287e8ecd11e3618da7a668dcfe8c857bf66cf5ff866517ada4f2fe6b2ae30
-62ace29fb869cb803a8c04149be3157ebadf810d30d223741bf2e464889fc55b
-768322c47a32219645be960d30cd017ad32440ff572d5b6fa13130e448a47e1f
-1a1484a3bb1672aa597f4a3c1056018df3d9382dcac8703f18918a7c513bf42a
-78acadfb1b49e2f6273dbfcb51d06fe631680de7eecbf2b8ef014d720a4da7e6
-c4a3921794f63e402c36d77fe5ba1cc960ac2959ae8e4486e0f2f33630f641c4
-7790b7b689f60775f3eaba5d626b64444751d464a7b88fe5521ce190f5e31ead
-181b5b58ced29c6a2426ac4470130f40576d6da2f8c773cd34fa701843dd5afc
-10561a36404b38b3723adab28205fb5222e86f56fc1980cd966dbd72759603ed
-4e13b12f33ac167ab07e9c9800b5233acf0c2f567dd1581031232b090cad9640
-e98585a183eb9d6baebcd1a41d892c5094d4111c6a9f25fbea8002c5c753bd9d
-04b871bbd040d59e8750dd5c55e196c57457ea5f9419ea5a24357ce7d92fb76f
-38a1733a46e3fb78402041caef0f08e487e356641568ec1ecc6bd9426ca5986f
-af9b3a6e4549cbbb5c862e95fe776f211e8e0ecd7bef5dafea96c0a7eaa1de0c
-0e0b4563e6cad7533ee0bb48221b9a2f1d28452e3b95e5a2b6fe3c988f91a840
-af705a3912ecf67c19b4c70b77d6594e0396a694cb18e3985872e804bcd0199f
-cd6363551578b3e1f8662d0cc4757a2132ea6c0f2fb3c7dd583bd96d37cb77a7
-fb7620d06fba720dcbc7f941f72cbefdbb60b00a533ad2b33ff4a93001dfd876
-510e3dfd5c13ca50b460abdf9f2e62e3f905311fed6075b69857fb6c4375d9bc
-9c7ad3c09b68131600f08c7b65291425ef2860d5342d5b848246db9b566d0f79
-d55c79b7e2050c55f4a4c324d1f90bb612c66cf6dba2ef84964430caf49b3a22
-6f69eda213ab844ba63caa2193801bc69791d9f96b6b341bcd22f90b2479564e
-334bafab111cab39e2b642f40e68142cc117c9c3101107e9f57b0779776ade8e
-64c5b63bbd8417a51887eecded57c88757b03b2d8c7ff443cb7c928f1593a304
-63028099104ac1843fab7a6ae7f766bf98eb2d25cdfdf5849e91456ac3cfd3d7
-ce7377f5470d6730e7c7f8e704b21ce4ccff7552f5789ab3076e43d84bb0c80c
-44eda42bba72d6fe2369097949b4d13d3077149af5ddf5292ed311400ec60624
-abad78a00857e69f9464523ab1791493f62000081a56e2de70e90ea0f21ff005
-b14bbf10a43ef2145e21296bb56689cc3ae5542b364001a1523db41ca5b62687
-95a10ad583d933b5974ad6ab632c79c632e3c59a16142705c8368460faaba9f4
-420071c50a54ef544414dfb71284db6fe4422dfa0df97dc33c9929acaa229d5a
-ce4ba10658d4cc1e6ea26b4f6ec5febd8ab50a6a18df75275407fdf3b31a84b7
-bee9de120e81b1744fb9152ddad1335292a1614a6e70dd33cf9ddc306c60a36c
-c5e1bcb3c3b7685eb5e4d7580273239ceaa84adf57ce1b36d3d7baacf1d58d9e
-4a3925d3b1c2f4af856eed3d237f708993b8f040ef00da03c80f71f1c93f7d2b
-f4248dad2a8a4bba75070b3414be02abcdf60f2f73e055541c1421a154c1dd8c
-cc6fd9c8cd920555137835690111d8b2ffee1bdff793d1bf13923518f170295d
-c52ac34170ffe825564967902a48ed232ca6e1058585b0ffd48b2a540abf3297
-e6738c776100195569fd7a1ee8f99226715aa63950aa8c9e58137faaf049612e
-7dce103f313652c105826fde10e7f3037c3dfda674912c2bd196924f76df04ba
-9400e2b7461e89cf080f76f1f3ffd2b97c11bed972082fe39ac214fc8fd9d893
-c14fef3a2be39537de1128d095feea28d8ca06f23053531d39990febd12746da
-b702467999e01bda59185a9adcd63f2decdfeadbcddff01eb23d61cbe1fe216c
-5ed66953877f5a9fcb924ec7ca78315748a59deee67983f4a609c6b1ab229ffd
-2d1ba3aec6845720695619be40abfc84d27b8d6e5ad0d99186c7751932ebda32
-940f9e644e64959076268deb307e4b7ac71ed9b0c31729c5fc6e0c322ab54af2
-59a99d3c77ddcfff33e22b2c5aba398b7ee54aa3e3ef0ddded70dcec4fbd573b
-52a04f0fdf725fde3ac6be96694869974cd4abba8207dc2ba441d24394ca7352
-56dc9ce701e6dd846f2c3f5438a9421fbe734ece254bf01a9d194e38e99389db
-8b8ac9fdf2937769221483efb16b926891f770adb8f14c8eb08b66470e10def6
-b603a7c6ff985ef6b4d5e70db8f35ef81606665ac243176e1403a87c14f1077e
-9c5f4b9613c0b1ee375779e0b4afafba1837891921a2e0014a153e7dcf384096
-0ddcd16b47917abf6afea23f3995f92d14dd3ea8c2374affa9b8bae577a8f1ed
-c609e6f439950d1812a704017a837fefe028bef8f4ca25239e80a9f9f56a7a68
-d2e709b84458a1be684068f500c1ddbd91068238d6d81bd87152e601cdd6d9f4
-d0e2d8fa8ad851ada277b9b75696d85518a5c05406c4ea28cb9224f4ca07a6d0
-861223396d0e8a672437aa404d1cd3f6492283bd5396ce249aae86e4b36179a7
-0bcd800625d9787f30f73b5b77fe0a89757dea0723c177544a081a4612e9869b
-58b925e25f90790f0970a9a7d8085f8e5f665d26651ea0f8a7e59377536f9039
-b798e1300768d283301bc144646b6cab6908a6b3e6893ff31fdd36682a3ba11a
-25e266a179286413aa0c05ae9f6edb5a7708d5f015eeab9cc2a2029689783367
-790e79989d17ce431ea33c7c6e3dd1ab2f49a7b014fd8190f0f61bd7303d1583
-a850543d9c0f766f00989d82e3e3eb90d3ae0048a743d1d95fc2828d16786d72
-ae0b08f3a6b9e4c886bc569a71e6b0d7b71d99406d12cdcad7d0ac8e722b2e8b
-3cb4e91814c89d0a23784b48ce33902b1013f701c06bfd431bcf8fbcab428b7e
-47baa21e77db69547504d5cd4ad8ca68f6735f75c6007e0a28a56935924a4360
-8a693822857e5e63138fa6f62f5d7213515f503b507c9e9d0bb74225893840d9
-efd0d205c007cca7aef6e26103bd713a790ea0b732fac802a2ed9c8e93ed4687
-193c70e80ef98e91069d20f966b6923aeb0fb2611ad6209d058597095c13d30f
-e4853808c77ac63f9cad98f060248fbbcc341054542cca09b6ee574c03e46f27
-50f58ac2870af9643735162cd9c8ca92b34b06151efa7fa20dfd65943af9c0ce
-93feed224469c7ca8f5019719678e1090f1accb24a506d50c85e96c80c17a3b9
-2f4138b25424da0b47fe69bd87651e0ede08a552d4b561b936654d0e0715ae98
-d21dbc03e82c784c0a05be9b8152a01e4908fa1192234db3fe8528f38fc436ec
-1065fc4000a34d86b06b46d77f8e20fd7abdf2c83797828f4cc7bb6b03a26695
-6f09888fb45e088ad2627e2a8c16600ca022da2d217d4fc84239e0c34d9bc904
-9fa7bdb49b7f2f8516e2b0d14ac6931a5b1c80daf47cb787191833a434950b20
-7f30d7aa23c0a59b2b29b8ef5b8c078df0da796720c684e313a5392c9a0beb92
-1a24c094447dcac8cfe9a33bfa473dcd5c6cf94a59afef957406da114fb248d1
-d81d603413ae224de104081891d6f3e006aec17e09b96d3f2bd5f716edb5a630
-806b15379febac723dd889b850ca28b56bd19fe23106c7da95cee26a87feab90
-d7ebf3bccce37c464757fe7b8b64b7b4e3634f9ca658c762780e7b2c57d3757c
-0eb14ea621c15ad3ad018a2b993ef65189aa2a89702d5e3b4236e502cea8eda6
-795115274c745e87256e2ecced919b7e582dbf8c0115cae9ce8361a771dcb82e
-78fa222875762ccfbe9ccd78ee0999c4a6b6de22506fd878265432f9f533a069
-1028988011964ff7bf5fcf6bbaec121f77594ad8030f88e2cddf8d73904413d7
-1d3e4c5facd19418f866512df9755b5204c3abfaaca69ff92d075a81c2fe299b
-bc8e5254f1a4bf96dbc2aa3e50c53b93344cf7556fd7427b6f7244cb78679157
-287d9ba441c243e4ef4b0ad36c2712c1868ad585d40f6dc0d136d46630b90584
-cec60c100bd93efbd82b0124905000993f1c5bc71031446da0bb1e9d8637b942
-0c98e16a5f755560d7682a46e42513a232d0d1fe1fba77c9ae23eb629d43fcd0
-b1b9c0cfdab678e793d85f0482254acecce4ad807df3c78f5d7cde6c019753bf
-25321ec2005c287e2fda0f13d19e136d98a8c6fc5559704941170a372615dc60
-8d6514e4523cb4c89943699b733b0d8e1eec7c0e1dabadebd3d26cdb3e6e3b8d
-e22509e1337ba480131137daccbe5c7eb0cfdd1d7deebfa378cfd3f958d92700
-2dbae1e3ebb67da61b74352e5ce25d44ee86e0e05a350e10c322006d2bcdc6f9
-cddc111063b9e32f713f75c0e4131c3f0ec7a7756bc6aca09adb5f2600ee4be1
-6baf2ca4943fdba744ef0e25199907aec67c08429a75f47fed8ea4e347d30406
-bd8262e86ea3b2bda3946b47d43aa0ded683e51f10bd89798114324ce0d36d78
-f7d57a1a4f5eab9eed5371eb688ab14e601149dcb7c81e97414fbd18985c6db6
-c4e1d6c830663cb5361ae808dbfad9a799f1aeef5d3931a4461f5fea80c7f1bd
-941247993773007a04b80d1b742754ff1baf845a59aaf397404576d9914bba74
-14d3680b220697a80876648f03cb05dc289410c263e71033f1fb136b899e1ca2
-1ff0f75d78d869e43953b1f48b6feaa8dd9c996d025de3f8e920a601b229f242
-bf1e2dc7c3ccb09609bd6c07dd29f6c4e43467b6a24897c49fc30d9d40d6251b
-5db00a27ac9e3ba31f0674350b0f15a056b151ac22bae56a91767969f6f3eda3
-cd45946a2aa86f594f8e5b3ce08095af6b7e7094e3d8523fe518660a2433da0f
-7b64f687c1803c2f2b9103a4e2898160a954b87a068a6aaa35304771e466e539
-c4a8319310805881e7ffaa319182cd40d9fd98ac7d3f2046080070c505acf070
-d6836b1d6ea48c5cb5d2be8c73f8eaf46fd0d07dec52a96f0a60aaa1eb393799
-b41a5b9d683093d30897ec93537893e7f15ab7086f871bd8593b953dc9492b94
-8a51904ca999bc890bbe92c8cb927aa7321b027086c72bb6d2fc1cb6bdcdb216
-3de7bcebdacdbeed306b0611ecc170712adc01925ca2dd77cbe9d9a3c6a75a5b
-1486e3c736bae26438dcaf9b70819b0ecf90441ec57e6fa7c0d4e5d8df318b42
-de4c4004ba7249649d4b74e5823670ba18dda9f44593c1a941fceb5f8c8b80aa
-4db4a8bf5451b915e1098328ede089f626f8df6445c5057e9b7549b0fd5e2244
-32787f9fc2df42cae9a3d63af3c9c3919f2d49fb278d0af1612d4fc29b89816e
-fd2241bcafef8fee74fcbcb324ef593a2f3df28647d31ae106fe8f844e3344f1
-d731e6de21166fa3fcfdf67fe4395ff214035e21e160c73f1802b68fcb5c8418
-651bfcebf502a3fd68cd49af9ef85d4720026244d76ca085f7db8551659eae38
-8e023c33e20c5837b30220b823178e721d8637a7cda8a4daca9dc5b2e7966568
-bd239ade15729b823f2cc4504b5c5971c82cfb7981a67cfb04befb9a785b2662
-d59f12d909388cc2bdb32b6205f619644c06aa9d15944843084e3d26c6a3855e
-c7ea537fc70cab978545be18dad23fb231ba6e9c94f418550fae668e0397cd38
-913608cb2e273034cf9315eea33b6cb9b3d2313edc6108b24fe84b370babbf28
-102eb92b2dc6abd1a7793f5168153459636a9d7ba34de9d4ad1f5f443e016799
-9f3c08e30731e6fc8ddb830d6c883e84cd88be9be6ed1c6c2ca2abb859bc5239
-3e4cd913e165c8494b622763e3c98956065497111804034094e426585597618f
-377c4787782d96c17397d0161f9c9ad786fc0494ff66c382ec06b67042874d7a
-1a3fac936e74e7a23266451f45a007805f2a7e006c921ee45f8150c48360b167
-f6cd447a4c64cd292c38cc7f8f9e4f2777331122e53e4394eba63f0b6dba76ae
-6099f16377e1fb7c20d090fbc96530db5a4f1c85bfde805809de1539a049635f
-67db71db139500642abf08c8fdbed3e580f08ee07efa1e65f266c02e6071062c
-7d71481d44682bc2409884f072f4df7f213bf4ae2917fd01bd44dc0c4838b11b
-6edc242e4b29a9eff5381c348ec2a43284514fd6c0c74447ab6f507d5f15b7df
-d75da2979228e21e893fd048e2ff74810314399be42edffc133666ab4a198bc9
-54c43faa1608b30cfd16b80766522bba0b9eaead4c7fc78a3fea34bf9c4e7c86
-8165bb285caf76f517ad73210e40942985e6aa8ed9ab2a807d672eba28482fdc
-772a4ce9c0e089e3635c7cc2cc3e7ba917855f22931b20e64966c8e5a05c7a1d
-622a0db3f46e6dcc450ec2307866d5161d90057357b7c4901a06e17b676cca13
-3a5f03e5f4dfcf88cfbbc8dcdb3f082f45738ffe9b945e5d5a24d7c83d241d83
-e6ce0f8d6e2ddaec5c3c8bc4e2bb5fde73b0df392b0a558337a444af1938e394
-057d0d8dab8957643cd51fc771dbc25090cefb656a4d8bc3cb50db3fd73a3f98
-774f6e400363bef02ff40f5c5e01269291e734ec9f48b9de31ce52a0a13d5004
-c46048f354aeeb0c5043da6b741fbb31df61826c99f788c1923a3d8729fee351
-185fd0e451e66aab88193f6fa0f62f915f147e06ed9b2fbb719d20570c00088c
-42a5482774f25d5fa87e1b4958de97a97c4c107ea5ad6b7196c565e75b0a21aa
-1fb06250d80dd99bc74bf099659f5e18b09d151bbcaf12da91c796151450804c
-bcfacf4df761c1ec3fcd0a5f5f18f76d2392be6c7e2ebfbd8bc74d0b9715f92a
-07f39d6bad9404faa4ef401325966717e05d8e9f81f61eff39f52a10f2bdca55
-633967076fafac89f1ac71419a868b8870532a29a10bb5997899e1bff54b6a0e
-f6a4b4992ff286a30105b76a6ec1e01fee2a5fb710332657b68c9a9c04a931b6
-f19ee576da7c07c6a26a60043c48db2f4f181fa7f2c61a15dd0ff8b6844428a4
-024d690d8594c8d55ac5e7194280a06fd45e8a3604d316b9d94934fafed77bb3
-4d1a8a5a7c0074f6bec5f2698cc345bf7f41d65f74987c16edab9f856f156e49
-20282e77d2da027361aacc3fc9b00b054ca46ec3ceabe2d79cd506761941e9d7
-ae6132ecaf19443acecdecda81d7645980a92445a745bad81f23d54ab61a6755
-4246a9e4b500478e3e033f9020ac3a663ba59d1a15f2ee86c714440aa4f78149
-5174c776c560120ab417ba580ce6249d3afff64f6531d682665a8de1712a4fe5
-49d0cc0ad7f274fb1c94712fdf1c8afee5ee5763969042fac16613ade30a41cd
-5812ed4c5cfaf0ed5371e1dd4713101e6a28358408a5a678f4240e2bcf59576b
-e935d2eb8f7b187ef1c3252b4660cf8868883a1e34af76a51e1a2cc298a0d869
-555c14b4f699f7b5ac31be8597bb837d4437d076ac20da918b2bacc74aae016c
-751aac2c883d710f13480505382071d1c575fb5d03fdffd72d6a2094ee88e83a
-25c7722fc2de6bcc7feb52bd518ff005e39768f05c880ddf9ffec733909867ca
-cdde2a2bbb9de48341b46f9196e7f8734c135703f398f53dc2bbf4d682cfa15a
-16c66b2dd9d87baf522ce7fc6995c42c2baf739a7bae0c8c704e7acde6e3b45d
-e63495dba7683cba496577579625c85eaa79d478e28ef698fdf629b9fff7d293
-5dba7e431b288a5826ba7c28c9930d84f1acb4a75d48a8d9d23a27ac7300482c
-132c3daabb5848f0988f89d87f9871391b0c3a5460db1836bf90478ddddf39ea
-87186908e87ac8c455994249c326ed6b96abd204b37cd863070625a7e1eb2542
-3c9a6df27ae269110f020586e7694551ba05c8dd93f2f589585ebcaf8df0f959
-bbaee3aa4dd5d544022b07a9bddc7cfff9c63d28f40dd05433ba65d1f738a045
-c742ef69183e999f0fe3e7694012dcd94f44c02a46d91bc55fee95ffae8c0d11
-3e0d4ebaad6caac508d3feb748fe15c88b617f05f07eaa611edb5fb376335439
-0416fc97aa5903130a846ee8339c05aa28e7e4cd40bbd6e54c65a6075cd40bc6
-11c3b56026dbd648e0a0d81886186ab74ad765b8c962830b353b324853d4da55
-4c3ca93c06bf357edde434e49abe2fa45579d09260ad59664c3585dc51ea473b
-e749f82fedf4e57e6bc8c68ca375fcd8a5eb096036357d9e03429b5e1c87dced
-39b5ccbef31ba751bb0f18ccf31066a591348b9bf0bda45b5c3f9b4f9e44be65
-fd9b07ef18cda6261f09bf80fcc4d7d47a1b875b1b54b6009b342f75741ff79c
-3e9e24f59d2f1b40319d6d34f51731214accda46db534f5eb6ba4cc60ac321e3
-969e1269dfb72916a56af2449049de085626563221b3f59df08b3f0806eeb5b6
-08e143b0972073188d936e34aff2980991b97cde6c2d914cc8983e7ee1ee0932
-216bee4e5c190967d199c0ed6215d760618423221f92cc15b4ba2bb8bb006f35
-e3fa42e74ba98c78b3c2217b4d64727dc036ed148cf29a7bbb6313ecaa0dce49
-91f71f16da69c779241167253922dcd59c5186f2dfb78143df850d6e4260241d
-e677af13010da78ac45610825c97004e929977eafa85283869e5244d10ae08c5
-106474101c7bac56b80339a912bf749aaf8497bffbfd6ceeebde42b536140d16
-c447c40038a77f696745cc8cf78ebbed7d448cebc5f94539af2a28de4621a142
-024191e27431676fde34151137283ee00272a3cb383fb6b62d9c7ff6e525b37c
-76b3cef3c81d3955857833e3fc0bfd561f7b2ec83b0f884602c2e9a07471904e
-6071dd72af32912d4743e3939bf4e215d5edf2a8c0e79d3f26ba239ae6d919fe
-d210388cb6ffa9580568e5f1d277b1c0339c72244c11f071d0d47f10e9258d72
-ece6dcc22f03c783c8901973d69c19a791ad8259c67803c0dca86ceb44903c1c
-117cc5bd0f507c173588a4b6751694c2e2b2c1221da7a9d3fe11c0eb464350c6
-8ff963fb5d14cba8b884dc9244727d1fce9afc93a3e3715428fb0772339943ba
-94e4b54eb0878cac02dd572dd5cc2b3a8aec7e0897316b4192f0cea168086c24
-c96d511f13680490119eef16a0fc8371aa5b9d5fa9749566fa2c0d250c81dd2d
-0cda28f7b32d894bba5f6cb0e33f62e52a2754ca699edb1f4e6afa65ce6dc617
-76b2911081fbf7a1f09d0545f8cf67c548a5e0963f07c42c22410448abb55d05
-38d8d88fa5a6b57188de4110fd3bd87fbdbe613675b3c9196cd630f9b7dc50d5
-2e76f6349a9198a827b4cc3d4610d7ddc6aba586b0c11fb08bd1cf8a1cc0dfb7
-3dbf5d9bbfaffb5c4034275298d4a7956395c1dcac02041c40425217fe8611dd
-9d03663b0832a10a5f4bd7758866856d4d480fddce109c3c26ffe6351f3eb159
-615d69058c32c240c8bbcbf84b828e5b275709c3bef7e8c56a5ce4e11a81b2f6
-5dd400cbaf59226d8753eea61b3a1c05f93993cd26f33e92550a1b5f81801802
-b7e70927fb7e3b476f1b21e21bf6a8b6ceee3f33aee9631ae2c456db548f83ab
-ca6be161038a083611596c361ae607f0e460dfb535b3f19cca6d8dce4f23e056
-e60e1fad2406cee07c5a5c42cfff9adb309a77d9be94e36411ef39f43878f7b9
-bd9b56924f19b1cc64e4c5dd0db62d27c25d3350eb2695d40a4d48d0274d993a
-d4fea893b7ddf6af678801939f33a366f7a47fd309980341a61f119b582322ea
-fb4aae95241ff180ae845a8360ac2c15306c7df0cd0b5dc00372b3e8453fbd62
-3437a8b6736ab8545c1b705f56905448f0149a1ac5f469bf63e856f3efe049ce
-d9ae727f3ec769f044f41c247f244ce7e506658ed068bd14c998f324ecc17ee5
-db9339bc8a48f29de7b8daa2b646c460a36414d0ce257287079f17fcc45c079e
-44a7bc49e67b88e36c728a98f4284153b07635f7ab4ce780c688924f1636427e
-4096935519f8d11ff62b594297a3f1579e403cb18b0945c4701e27870e3e4634
-b35952029cb1a22832402541c96e76393a02096ad4b139a863291255e7a4ba27
-f827485417e8fec67444b11961b5236d0b07a6ae188f8dbb86e81bde1901bc5c
-9e730284787aac89a4f52ace0a4b4aa32fcd943a8d070ce36c38212d0f856e5f
-fd1d55ed7e20cf5216c9a7cfd757e7c4d207c928d10d9d0df854a1f402ad10f4
-41e1ce4ceb76f06d48f91f18ede3be0a15b484bb20b3d2e9f5ff7fc29b05fc66
-53b5fcb100fcc44f97c96f5c5e90bffd6842c44d0e224301c4cf7e387466c5db
-53736ea732e361fd81b55a5cb1040ae1729f05eca2a970dee9c400555490e9a8
-ea1da61cdd0eb81bd11040453f887cb721401c01de8441bc0ee4d5cbc9bae418
-5e4b7a17998de56b9ce921bc1fd4443009b6bc82cae29704a2b798dd17dfd011
-307e888330d1b3ec87081ab27a2b35d21c50c59f75e5a190d6951b0402a4a8f1
-7584474b6407f237bbc2558ca0936a4c4be5d69292860cbd13f7fa609729b196
-1380281ccec11039a4a1df6fe5026ef18c55a665ffe4807de21cb71289048136
-8ff3de1c275e34031ba1d17a540e0d4f5a0b57bbdee87e4825d269962f3de6fb
-8fe75ad356412319592e51fd627d9a395ca4b5f9c3212126c05736f7c0cde20a
-b39165589373dfdec2b54634ee58ecb0465d00249720809620abb99c57307f4c
-0fbea4dcde56b66c9e84de579642221c1e9a9307f79fba1d1b91cadd92381dd4
-51ec2d6c6ff8f077ddbc5da659908ea03b4e2c2392bb40ebf2d7277affe3f61d
-330f55f28b25d06f42c5518a623842675a66bcb6ade4aa8c066038cc37e77364
-a28da5025111315c9a48f3325993e6701623dabbcf072574e23b8e902440e504
-d145f7a786f178e2a9a0568865e5d69c4e944f81281f8ca86dd1dcea53dca3d6
-051c893071c1562dea22b817356bd6307dad57c44d47a0ce248977113107ddc0
-2d994a55263259fdf52b4a0221ce39f39a77a31523ab0c8ac60f6626461a8433
-5f80e50e343dfc8045b407cce1cc61d0d9dffcef085de077ff0b8d11dbd073e9
-7ab09737f12f40d8e602c80d22abca05e68d827aee4451bf466f6205add41e56
-b4fe989b278fdfed8fc086c168c4859307e2104bbb74a2b11c9c08e56c96594a
-8e6f09b504fb5c18dccf956c1fa14c250ad8395fe676d8c2b5bdc8b3fdf34196
-924f0b33188301978635ee2a1a6ec8040f12e34bb2cd15c3716ef2f0edf0a1b6
-79f8b021dd56a95c54719da4189de035cc15da1880a3f7f9844c341f42dcdfb4
-3556e3d300697faf0dbce932875a83d1098890b169f67c1ae3eaa336b2bd0b5d
-27cec749553216cb15552a92e9603bc7a9438244f0143a14474f6e99ee7f6bb8
-e7ecc328f3bc25a54d87ac07922edd1d2cc211a330be20c413d883f38eda69cc
-cd00735409827ea7429dc48e43e5ff22318c6a6b691f18d05837da656db3116f
-11254d292701f6bd92edb8687ab02b15f67213105731b4ec90735c72cd33e17b
-7f701153ef785b1ab39303854e34a63c3da69a10ed9f018d95505aab7d2a6f8e
-bb9b33fee02c4f397a20c80649e9d88e6ae4053bda65690d398e7c6c5bfdd0c5
-4e31bc4d1c8f62369189421378638e0cc24646d0eac6084d53fbff200009a954
-01f4aa6b2c71a84eb5acf649ffe28d775736e6b06dde795a8e6050712b8365df
-47d9cfff08fc36e821398ff092366e1d1d623749bd80ca1a3ffa703174ac8b8f
-017dba3f3d753bb5536b0b40fd9f07de7d
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-cleartomark
-
-%%EndFont
-%%BeginFont: CMR12
-%!PS-AdobeFont-1.1: CMR12 1.0
-%%CreationDate: 1991 Aug 20 16:38:05
-
-% Copyright (C) 1997 American Mathematical Society. All Rights Reserved.
-
-11 dict begin
-/FontInfo 7 dict dup begin
-/version (1.0) readonly def
-/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def
-/FullName (CMR12) readonly def
-/FamilyName (Computer Modern) readonly def
-/Weight (Medium) readonly def
-/ItalicAngle 0 def
-/isFixedPitch false def
-end readonly def
-/FontName /CMR12 def
-/PaintType 0 def
-/FontType 1 def
-/FontMatrix [0.001 0 0 0.001 0 0] readonly def
-/Encoding 256 array
-0 1 255 {1 index exch /.notdef put} for
-dup 44 /comma put
-dup 48 /zero put
-dup 50 /two put
-dup 66 /B put
-dup 69 /E put
-dup 72 /H put
-dup 77 /M put
-dup 83 /S put
-dup 84 /T put
-dup 87 /W put
-dup 90 /Z put
-dup 97 /a put
-dup 99 /c put
-dup 100 /d put
-dup 101 /e put
-dup 102 /f put
-dup 103 /g put
-dup 104 /h put
-dup 105 /i put
-dup 108 /l put
-dup 110 /n put
-dup 111 /o put
-dup 114 /r put
-dup 116 /t put
-dup 117 /u put
-dup 119 /w put
-dup 121 /y put
-dup 122 /z put
-dup 127 /dieresis put
-readonly def
-/FontBBox{-34 -251 988 750}readonly def
-/UniqueXX 5000794 def
-currentdict end
-currentfile eexec
-9b9c1569015f2c1d2bf560f4c0d52257bacdd6500abda5ed9835f6a016cfc8f0
-0b6c052ed76a87856b50f4d80dfaeb508c97f8281f3f88b17e4d3b90c0f65ec3
-79791aacdc162a66cbbc5be2f53aad8de72dd113b55a022fbfee658cb95f5bb3
-2ba0357b5e050fddf264a07470bef1c52119b6fbd5c77ebed964ac5a2bbec9d8
-b3e48ae5bb003a63d545774b922b9d5ff6b0066ece43645a131879b032137d6d
-823385fe55f3402d557fd3b4486858b2a4b5a0cc2e1bf4e2a4a0e748483c3bcf
-5de47cc5260a3a967cac70a7a35b88b54315191d0423b4065c7a432987938c6b
-edad3b72ad63c2918b6e5a2017457e0d4ebc204a520640fd7c4d05e35ea5486f
-a43d0e970787203855daccb1ed0b16325828b13b7c767a1a58c87902f0546ea5
-404440fa6526975783c2d7a9572b8e5d5176bac598b8960609f49016aebf3763
-89c1adfe6a1ffc0c53b3acd9d168ec3a278fd4f1d9b085dc2df701346c9d0887
-3d230a161692b42a45bb5da343b4edd839dd60685a59aaa49fc65cd8e2ad2a9c
-5cab953495172a1a9f40d5f38e922443a519dd96f667201a408bd1d89e35f4ab
-98e2f68c3366efc14b5afe1018d9c845d808d4f8e07ea8168518a171ab4d6e21
-70eeac099eb7ef46eb9781384da1fac3b3133bb718bc80082eaea88759745188
-f266b31d0c7e791d633f16ed94e05517a32163e74cbd96dc5db066f2a5313d6d
-7f09465608cb404613e0f058073af000e5bdfafbbf9da0c0d5c02a3447f2cdc1
-f56481901e34265c26d331ac3f85bdcbc7c51ef9eddf2b9c189c5253f8e74282
-d6f053d7d183ae17ea175e5ebc401e67d21a9fea139cbbf3bb1358c713a75843
-b39a69aa2b1a7b975f53ff22d1dc3bdf7acd17afa1da21568310c68241b31d3d
-03bf404bd30baf9cc19c75b958bce7155f03cb0cfe2cae0327aad4b603284a51
-7c26de75b8c6f6aaa9debe4aec08ca4b646d787a9dfac85b2c01760e9c6c6162
-fbbc67dbd0796831e00c477d8e23c375ffab46d289be9d2328aec2b7534ae4cd
-d782ec2453e7787f6e6b4537b46c01545cba6f90b8e9a1bccac1937bceeaa5e7
-8e9f368ce067a0a31da98bfbb545be555a7270f0031fadd4f9b186629e5d2c5f
-d264f8f24cd5a1c0f68399ff4b29fd77c4a54d82965234121dcfc95e04370c28
-d64929bfeb9ff4f28dfdc4a4652968683eff42d778fcdf289227f64e13bd9292
-68f9acc1a2bc66d018df949d6c794030609fe89bdffe1f5cfd2b51dbe9f1ecf5
-26acc116fa1e5525a59c8ed8973774bed98ca3288cdd22f53604ed47fd53fda3
-c7965e31f5e6f00a589e7712cfac3d361e096ab30fcedfcfd57a556dbcb4d379
-69055e450f37fb7686e482a84a746cad4c03b4adfabd6a5d61fae8a7198daae3
-32309661c3ff3eda6c2909101ca253b91574857f77f6fb002eb81b2476648a3d
-5c0e17349c459cc7bfab1ee2b8d5960c05afb4ed469d1aaeb3b34b8890cffc8d
-d159388c2b0b9021be4e011ddd667a5cb5bc2f9101ee010115adc66d7bfbad78
-a8a6401144a558e4b887caa6ad8283df4794d02738ba4bd8e37529c421354a3d
-1b16027db74965a1ec575cf97d600b3d48c74b12cf547c13b871cf80d216c71f
-cadf111fd83d52c0fc240c49af8c529f6787c9eb582728ccde7508998ed429b1
-98e5b2bf94ecddb566fe81b83a4b33f67069fbcfd1e679361c93c4b90b90d534
-9a81d51d8e2a2a6cf04347511f68b65212e2710c4b76c2b1204e657291988de5
-68a82dfc20c5d49e2d168909a043b6fa258e24e8f0a905de6ef3ce8b7a907360
-1704773886c5db7b088985c809a4905b8c1a7c3bca4e9392d5db6ba1406f6211
-9bc0c0a65a66068916011225b97a77db011a01240e35c04da36e9d898ab7045a
-20d51bc23d88a4d0f24f2029730b48b24695495aac2894de1d91de7401dd53f4
-f7be0487b22168ecc40cea2b4e77b0372ee0cd1e04be810b65ca98c9e5597556
-31837b721446b8dff5b5bdfc8c1978c150bb82901b0bd2b7c03de4e5e298c4f4
-286b58199d564f0c9511c582ad9d11e973d059d72e6018fa19f5ab8bb6ca25b1
-80158e99f095105039447beda3e34a43e863e115d57c76cbe33c8159f4b10fe0
-2a9bfffb4638ec1abee13188b59ca7460a6b6830581eba36ccc2ea6370f19fa5
-b15722fa1dbae99c1c453a2398e07fa3d3503c403f5be341623aa1ace3a2f925
-6e7b7b0e25244c5b45d0df37e4a64af63bc5b7cc60edb7ce1140b356e4c5b1ab
-fe29af3a87fcacfefd6943bb13eb5d5939fbc33b591d8ead4e54bbc9b34f8e00
-671c5b8ea129d609f6f51eab562d3e4f76bd8978ebb4a23707f49639d2f4ed9b
-40787d4a635ffbb531f2c7bb9fe0165d4e471e11e51c0d033121fdda26a5391e
-45203b3fc27d9d34d2f756f45f6409f2b906cc2bc92fc0cb04999d9657982575
-801e4b7c46c6f8561820a3225b8595fe9eb51ee46f66460a6cef9ffaffeae7ef
-f55a86f51b5329bcac4320897c8e1ac4e6d49c649ed4fa6b257a38d777722234
-ff7dea4f248d827dea6cb748cd2fadeaea24bfee1b8ef9146c379b1f14c1c71d
-1815a3d1352b240784e8176f9047a413ac4bfc8af3cf6a2262bad3afe71e9557
-96ed95a9dda893c10d22314314385ae19b2b0b99f401eedb85c973759a2282f7
-0607d1600baaf56c769a1c46ab52e4bfa0c8bba42ca11d4c1b6ce2344a83f9cd
-52fda2de36c880ff7aaacaad5504fd77e549872892aa26ad14a30f6b308de436
-654e447df32cd6dae0bd8123069739131529264427d4730881114d0956344bdb
-78e2998c44bce0bfa4fcf8a926b66b2e8060f3a1d28255021824b3ef0a750080
-75c345add1f28298eefe0c2cd8a8d4bfcee4bb47dca267eff2db6eee52fb618e
-51c41d62d85b2d05826db83819f49ea4934fcb8eb0714532b5f666e24cebc3d1
-8a07c382889758492be197b4cd6659a5b2779a7c843e26a563e53c487b0626c8
-51470da3998e661519706bce94db33f98666eb1450ef37ab7bc49d90b208f56e
-a4bdc356668a0782b0f4cea076733681cbedb623d912b1448e1f6de3dd536977
-8da655f41f580a0f4ddb4b8ae54089b4c4e6952f887034e297ec1abce3e5128c
-c08c2a86232361a18b9daaf9be265cbfc7d4fc743964abac39ea2163cc583bd8
-ba05fc1b0632a412d67e80a812e5bcf4a7a6108f300a19c39fa6ea1c0089b6a2
-35946ced7574cea0a53cb8190e5a99c81bc824b4c15826b7752f530dae60bf5d
-1f2c3b8cc1dd32bae7ab9c6cd3640b07e2a4324f33297ef5b5c1b19ca3fb4647
-1c85c572e400c383d5db5cb4e8f913ed6502ea5dfeeb391cfc002ddd7a6d583d
-38d0d3e5d5a5a985768de91795dde9d98090d7f9f20cc36d1a409eb3f1749666
-2f4853d739792023c85fcc667b7298cfca13474f009c2306be84507faa60063b
-bd395409f5e25a65da18235a4a581802b78891c9c335469e3b942ff555e311e7
-7ee6d1c4ea6ff2a53c70984cd2d19a91d2a3f259bc44baa7158d84e21582d49b
-3ea5bae04d5b32f2831e079f4541276c471c3237fdfc910ad56587c9fabd33b5
-4bbbcc530b71a85573636e30b3a820d6f414fa0b0a45f4314d65ef8f11cce617
-c44e501c8c161d556927c0fee825b1a98aec4afbd10477ae3de0c1418e3d0a63
-e5604e9949db08fee78389f8889925fcc3fd51a324803ba58e299cc584518640
-e44e05080349d59a409d7e4abe33a3128f99da9385b44cbe27c018e5630d3e1e
-8a8b1010a089a4af2ea4a1f1c9b6736e21b3ce7130d5a1ffa44da7752595d038
-6b62d245706b3d0a3b2106953c8d016b59b6a10fb911c74ae6e3059d62b8ddde
-03ca3dbcd47ea4e75843ff144f3f30167797c803ee30d1290e8d2a9bcf899e55
-e75b9b3f5e5ce04a2db7b82f3630c4a2c706809939e8d7d847e69466740001d6
-8fbfa7f9fa4b3093d970b9a6ccfcc82ede0749ae050f99c04025a7b5b4f4d0b1
-0271b628f1e5bfaec70fdd7c80c687b5155874c8a541fd85141519b804a65727
-6d9b125f0280fb01f4ff546e28409c3fa714cd384ef47768dbbdfc038de4ff2a
-c1de9b43e7d9d2d62ba4110596d94a20644420585f735d87697fbe97c639bd48
-5c7225b18acc2034821e136b6a29f4563e8260b7215f53bd83985f0b2b10da60
-6984ade8c9aea46d98dd85c99dbb0fd0eedfbc4fb93898e36c422b49a0c93412
-f1f1e301bc7070a1590b6088e9fad166c553054e1a1ca2441ca2cdf53eb78ec5
-480e70dbed42dde10c85bade30c88edd3fdf9c07d802a8003eb4fef03dacebab
-5a6dd1d8736081a7c3073859655de8db331a902a27be01c358de3a27a7965661
-edb1bd249369470fc41b04f036973a1461fcf24befcffc6a3ea1a7082b821e07
-6343839d66096c448915059e7330b6ed524af20a61d0c528a999786eff1118a1
-1f381fa65e1d98f0be571625217590ef08f68a600f08a4a6d7fbb56d9e199d10
-d81ab1159fa48fed4a40a3cbcec30280451c3163d5ad7110116f378f2d5bbb28
-62babb9c1a72787773601d0dc4b3017c46958d6106acb356d34f04872871aaac
-1aadead00e3c195a83f3c1adbf66c4f140da0daf618285f83e7665b8db6b37a1
-5b7b39686fff8e113b2897952fda0dcf6e6f5fa53936c2ba6f48cfbf33c5e03e
-38d486e3bbc716be6174396f310a3956188879a019fb4bac194041c98e4873aa
-85ad472d97d47d2af2d753ab10ac100d07faeecbe3baa5b4a196b955a7e10b07
-a6230c62bf44cd57519cee73bf3be94bc3730e5037ef6e1400db1209b111a809
-5c5b2b56f748346102f8d97b4ad4d2665a928d468683599f7ae842166e423607
-c7faab073651c771dd47cbbe6730fcc442a76c0272b44caf93e6086fe153336b
-efa41fc52dcefc9e2f7ff514904fa5fb506a54380a1b0f04711115ada32a6fe6
-e68e6c7de7cea029bd8b21fcb83f4bf43d34fc8239ce92fcc1d9a9f86700bd02
-a04eb68511136b9cc47367f62bd601459b08c72b09f4df7a40999332c5be467d
-dd83f7de33741e9b6be82ab6facc7cb8b8da567a16957ebd7f3a694c41b6bb2a
-4b82de1d85b7c28f4a510c4bfada3ebf1cab17ab8efeefc7c2996c6fcb263ce8
-b5868cf2a9a587e74307c8bde142af63601e59de0031b282a075d70e7b18866e
-3725872e224c83571bee2a98e113128cf71fdbab36d8214c4663cc8a8df2caad
-e8a46787c726818f292518ea40838189dc66d55b1862687a794616dfcef2c1cf
-6446f2a20daa5b6f3e059eb222d6e03e7fba92bd3cc56adde303f2478b0f02e0
-d1bcdff34ae31fd15cd4597fc352c0c176db6f75d4d00b5336560c0451453c5f
-57c59cdd66557b3008aa998cfc708a9ca7dfdf160efc978283f6fcf6573d2a6e
-9868dec9689f4269b4e98c061f3adb3a5e16b2487760f493c2593873b124c34f
-21a35ff5ad5faadcd34dc6b50a863a462abe24d9b7aa59e6a03c3db0da0c4894
-011f25345ff3ad6cde3ac2df58607f50aebd4bd2bee95d21eae6b4e0e90cac13
-399c188b7e693d648f2496eb9e406617b1c113eb996f0a7f44fc8c465cdd6c95
-7211fd550935818945cbe984344b5b6d7b87dfd7de82a6521b0923c87fde92de
-3e956348bcd7170858df8780cb4fdae79bca6dc31b40df5b687b4032e005c762
-5b55a08c57cc340681675f708217931a9e3de86fc0b0f0717e1ad38dfb17e8a4
-ab4645c23661c9e9090340403918782660200fd4a3117e3d80587911edd64abe
-b3a2e0a8504269279601bf23d74bcbbf957e5a2f198094854212e712b2948772
-0cb4bb7ea4279736c4a1fb650633ed22b35c33db57c17d5a2a6c1ea3ef4d3425
-49bda52d7a20b521ed657ddd201156caffe6f3e2611193b5639283fe956bb7d6
-ad775c3a9321b5f946cc9380f76fa73e149196bd35e3bb720dae3d8036c915bd
-b7894be538c58f06c4121af00d3b458438d46bd9d0ee6bd1a7a7fcf828192b1d
-90a6085a198345d4e093c748cd53eec4701c949087c125d5db577ed463504b0c
-69afc54eafb1a40d7ae7d2fd899110ab661bead22b0d3f57928cd214fc38b014
-c7cc400b53cd2f559b133e558f5a484ef1ce318d9347c5eb6ad03fe0cc50cdd0
-cd3d3e54c075a4fb923e335bab843b1eb715d120d754315796c6e0c7104f9edf
-f755259ed3a2d9f035976f64c3b3ab3d7f2d3218eb445edd9329477670bfa26b
-d975f9f68d7637d5636fdd82084953f46a7b0e673b099c960c03322acf23e52c
-cb4a963685a952f542110ba4ab174567f8a9db2d1b784624b056026f941fc024
-ffcc8dc32003db5809bd58ba1207265ea496065b05f925b313f06209ef83da94
-b5453533a144350c1c7dede0d5101a513fcad9b5ccb13eca2a53056853464bbd
-fcaf8bf0df1d5d1b389c2972aa00b702e61cd9ab3533a2862d80f9a58b1750b3
-76b4210eb7fd29ad2c1382ddad8631a2926103660d164329309ce99b465fcf55
-f2f33abc0d5063915fe1469e431c0f96e10147f2e7b149de0981330db3f67ed1
-e2947a448b6b0ec1dce097a050149d03de51c49cd467aa5075478b68cb5634f7
-5a3bd0427c88059666bce79c28bd4446484bd194f0329679bef277ad038d7bac
-5a8fa07e6714944b107b54ef8ab7b8be380c5571199cc150beb4148e6ea55471
-d18be0ef4c664e5f974d5c097245059898595b73f36a2ece852cb5c5ed7c3813
-71d91c73df7a0c05746f2b3aef2bba53512fcc4ad6f17dc7c143fba306fc2bce
-bd78503cbfeaedbade60cad708c34912c4b1c01f56c487d22e7ab70dee6f8f58
-266c9a79c5e13db7741608e9a30dbdcacd9ad4272f9760f65e0521873cf28c67
-cfbeae2aeb72df1630832eaefa394de4aa1e48f9a084258a96cc405056682948
-dd02745365d7a581ab43777b213f72569e1e533f845059f53f3914864f2658f2
-80c18f35b8ae1dcf266ccad0b6eb481f6727bcea10c559e261a4fab8bbdda2b2
-bf7e0bd4855c853e0169810d7be61dccd1018cf6622ccdc44ffc59e5a5da0ba7
-b95a860f4c9b3c8f38f878f98c0fdb16871ff0feef442000e2526b66bc02016c
-4e089aec867d9ea5e8200b194ffd9ced0e2da665b044b0466fb4709c3c852598
-3cdea107a21fc9ee3b7d04b8b627a565338c92377c6f53ddad9a66c0f26f3488
-d6fa8389f4f6c58a10df6d2d7ffa9c3b686cd22ed3e6850fe63a29266da60462
-64a3f58bdfbe25d87ce7c73e21e671e77222f4e7d9ae18a51fb2c8b36cd28eb2
-a4bfd6c535e58bef4252261763e120c9536e125d0b6ecc32356dbd865aab0daa
-78606b3f9b5eb84dc79b6df0df9ec2e2130c0091b3aa808a26feef1c0335599a
-a68b23178af27858f7b4c63c411e054d11e92320c033c58c2d3322f01e05a4ec
-d335274085a0768bfef664886a97930624365cd15f3706c259e5a57aa554e348
-6025ef93c878b27dbc676187031bf82fc03f3d6628cc40e0d15ae9a0232eed5f
-c26a21059baad438e80333bdddc245872371030c0b184febcb251b6158403833
-947378ae0a83c254f42d0ad2d92ac2bc5462d316e28550e4b5924764d85aada3
-097409d4f3bf6e115a22ccbe41cde5c611fc69f49e1ed0af55ba24f145e90573
-d60d26b150d542a22262b09599c75e77e55a24b0b6d30764ee423534167fc3d0
-43a1294cb9f6d0bf7d864cec71e84e6436b2278d0fab4cc2fcbbc98434db5099
-68455bf1070758007ebc1d17447eff296faae7c9e0253396c03689b4456a9f55
-aa93a7f75b8d42c17257dab88a3175cc699f9db6f090d02ec3eb535a73
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-cleartomark
-
-%%EndFont
-%%BeginFont: CMTT12
-%!PS-AdobeFont-1.1: CMTT12 1.0
-%%CreationDate: 1991 Aug 20 16:45:46
-
-% Copyright (C) 1997 American Mathematical Society. All Rights Reserved.
-
-11 dict begin
-/FontInfo 7 dict dup begin
-/version (1.0) readonly def
-/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def
-/FullName (CMTT12) readonly def
-/FamilyName (Computer Modern) readonly def
-/Weight (Medium) readonly def
-/ItalicAngle 0 def
-/isFixedPitch true def
-end readonly def
-/FontName /CMTT12 def
-/PaintType 0 def
-/FontType 1 def
-/FontMatrix [0.001 0 0 0.001 0 0] readonly def
-/Encoding 256 array
-0 1 255 {1 index exch /.notdef put} for
-dup 46 /period put
-dup 73 /I put
-dup 97 /a put
-dup 100 /d put
-dup 101 /e put
-dup 108 /l put
-readonly def
-/FontBBox{-1 -234 524 695}readonly def
-/UniqueXX 5000833 def
-currentdict end
-currentfile eexec
-9b9c1569015f2c1d2bf560f4c0d52257bacdd6500abda5ed9835f6a016cfc8f0
-0b6c052ed76a87856b50f4d80dfaeb508c97f8281f3f88b17e4d3b90c0f65ec3
-79791aacdc162a66cbbc5be2f53aad8de72dd113b55a022fbfee658cb95f5bb3
-2ba0357b5e050fddf264a07470bef1c52119b6fbd5c77ebed964ac5a2bbec9d8
-b3e48ae5bb003a63d545774b922b9d5ff6b0066ece43645a131879b032137d6d
-823385fe55f3402d557fd3b4486be79011d1f5b667eed85fade30ab2ec4e1c2f
-4fe750cf9a69506458071de8896261c001b1c290937fa42a1fa87de406e9f86a
-4c9c0f03f69fba719114f8ae51040a4c03a58b6f3de027f6726f32743dce7395
-14c2c6f3c2de1aeddcfa8eed7da56dd68dbcde33c29ff7a694769049e4325ec9
-61b2df16add2ad46f18781fbd63eec62c26f1db41e6a666a09886382dceba91d
-8ff7cedd64ddc8a2f15fe34076a064c46febd1f4dc3707aede0ce8af161bcb8e
-4ada202d0954baca5be71c28ab8bf32fd72029aa07f27d658a68f454a4bf386f
-6314224d16c7f0a8624f6b86319a4e2fd178f596f3b20db032ea28c157a68a69
-fad2bc88881658d2286c0d4ef061bc070c3145f2a37ebec03f51de7cda34cd97
-7eeebd86b00f9758b3a496f41d9a74279ef3c6322dc54945f95062c5f37a1e51
-cf7eaf45f2b3634b2d7d01ec3b298ff35b6616cd3020e096f6c6aa2bf04c4a93
-61c19f3c67a28d936ffc8120f1e46980b29bf54047c5f1fa48e67611a74fa434
-3384f802a4079b28b94681e119ab0c1692de5bbf426440ad1023506cb80732de
-c64d9061869cb34de924d2c26e404b7dbd9be55b9c0c5ae3095c15d278adbb49
-12df1484ed2d73128e5d9c1f1a3b9ac19e2ce5366c96644f5b3d3eea589caedb
-586fd9b8f4df32ec910e9b7434d5bbe57e03892eb03890567df5b811afa0da5e
-929d456af362fda0789aa0cff464e238029294fde86cfc8d7d33d5c98b18c76c
-319811e4d3d49560f2ac39103594ec513e0b1377c2c3e22979866c19b61448d5
-a7201ca4b7538aa370f6347253b0853d4c5d575a7572f93cb73a598e2e26b11a
-d46a1126e44e7e1795dff01562316b6ccc6678663e66a73db285746df3f4405d
-d51714679581946ef7272a38f41798f0c0cb66b7e7b525e0437c12ac8d4568c3
-f37379470d93b09babe1aabd17f20c07908f1908c4177db0d7dc73fce84bfc5e
-8a1daac7004c1c0fc0f1af83e4946f560408efe85dd014668bfff2d51f3442ad
-86e0c4292debd64376ce1aacfc0b21da230958c6a4e4fc75f8ccc09b3bfbffa3
-6d0589e50b5a2c67b299bee3378e33b59dadbc0b5dcb724ac58d274387f2a479
-ecccf173832a3c33b4aaf172c9043af569f5c04b29fe7bcb5aac415e409fba6d
-82ce66e4901498ab8a2b2b6853d1d82e10a0b5d672c65d9b102048137bd2dd49
-d962973a91bd8a1e7e85fa2edc25f24c2d1ed63c138280fe6c7af10ef776224d
-6c8ae754aa2eb851c786f862cb52e58b51630f238f3b2845e4814568e0248017
-cd18639feea7c4f1bc5d21ccd62dee3c822320941e5dbd058f92947ff957258b
-4daa2c24d2541f16811f19babdf0d40c2ee470579c80fbb776784ddb3136ba9c
-d782cb10f699f45658c7e544b8a46a58802ab7ea9c708325d74f03e388d00b87
-f3c8358ba3853155b5e4133946ca165f4ed605e522995cd06752db1406d4bd88
-0685fd14a8c67353056549d3224c18c5e905d61d6fa723b0b85e3cfd16c0dc4a
-9ebc37a4adf757a9a831bafad0a70c27a83de810238f74d2b6056f8be7b00782
-7c151f28f0e77c6f474c649b71803e688a76d12da609a91eece6e266cf6d4ab0
-2fe97321802dc1aac743e0c85b2e08f04d2c46d1db63e7fe8d2c540907be97fd
-a189965832117c499484c6ef64c08d68b7cff9affa39615d880163490f400cea
-f1feac75bed02b3e0a490bf2b73294d8e840aa30c60f2c0034123e8e6c415c2b
-6848f972a4ff965b58a6d2f2b9e94ce50d0b96811d802daf14b4bc9169a4ca0b
-49c78cafa3d78a966cf7a25aacfbcdd0bf914dc95d118f5929e4ddd32c75122d
-43458cd20b237ae3fde46db81222d297801bb4a8d9dd6bec8d2f08f43411b93f
-67b8e72cd3879ff8ac02888e44bfaa85da3035b5b9294280fb6334d05f175d49
-5d32eafaacffe930ba72a16a1be5bf68b1b050e2636efe6cf5039a7618c77f03
-89fbe0cf224beb18b79f54910ca148613d7989a1229f782574f4606079414344
-4794d352a5f431353ce93ff1d5139b2d1067a7b6bccf128f3b57a6c96fba11f1
-9990e2bb9c6ab0315be36fecd6d6b436cc9606384553b5c31341e675286c143e
-170223b1450b26fae16bffbd2a36b414273b04b9a6
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-cleartomark
-
-%%EndFont
-%%BeginFont: CMR17
-%!PS-AdobeFont-1.1: CMR17 1.0
-%%CreationDate: 1991 Aug 20 16:38:24
-
-% Copyright (C) 1997 American Mathematical Society. All Rights Reserved.
-
-11 dict begin
-/FontInfo 7 dict dup begin
-/version (1.0) readonly def
-/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def
-/FullName (CMR17) readonly def
-/FamilyName (Computer Modern) readonly def
-/Weight (Medium) readonly def
-/ItalicAngle 0 def
-/isFixedPitch false def
-end readonly def
-/FontName /CMR17 def
-/PaintType 0 def
-/FontType 1 def
-/FontMatrix [0.001 0 0 0.001 0 0] readonly def
-/Encoding 256 array
-0 1 255 {1 index exch /.notdef put} for
-dup 65 /A put
-dup 97 /a put
-dup 98 /b put
-dup 99 /c put
-dup 101 /e put
-dup 103 /g put
-dup 105 /i put
-dup 108 /l put
-dup 109 /m put
-dup 110 /n put
-dup 114 /r put
-dup 115 /s put
-dup 116 /t put
-readonly def
-/FontBBox{-33 -250 945 749}readonly def
-/UniqueXX 5000795 def
-currentdict end
-currentfile eexec
-9b9c1569015f2c1d2bf560f4c0d52257bacdd6500abda5ed9835f6a016cfc8f0
-0b6c052ed76a87856b50f4d80dfaeb508c97f8281f3f88b17e4d3b90c0f65ec3
-79791aacdc162a66cbbc5be2f53aad8de72dd113b55a022fbfee658cb95f5bb3
-2ba0357b5e050fddf264a07470bef1c52119b6fbd5c77ebed964ac5a2bbec9d8
-b3e48ae5bb003a63d545774b922b9d5ff6b0066ece43645a131879b032137d6d
-823385fe55f3402d557fd3b4486be356c29c3aec91ef17f5d31183b1e489f1fa
-559a6693fbdd04d4f7e99886d8cb7cca13d4aa9ceb34a708af22e69ccef0e504
-c3997075243585edf60b6447c8d01cffb04b6e3ddbaa7da5891286861322a795
-e9d990fd56af2f5c2b35801a0b07874e4ac3170481d232e150443253c92a8b05
-513d4a4154a99d91f629ccd30376500f5d16aaa9b203bad6350e4b19424c0e33
-75f2949bc1927a6f6221252f8a96618e646aa1b0810753c98becc26b37837775
-24bca72b818d314074c1c91f4e1f4148d3d703d12d179ee6970bd55d04aa9a9d
-97f63f2c7dbd129ec2ed3ba5f8080270ea5854ea165dbcc061e2f47f1aaf0997
-2ac9a689a2a9620b91b53f6b5092884372f5f7afca495f331138d85a97c5bb83
-d8072dc88010fc89108b60bc06d4f93c722e8908d7ce3c1ea3c70e9e65edd769
-7db17ce0e012ad37d4030f33d30a73fd655b7a2e572f3378ac933dd75082f2f1
-68702be19bc60cef6bd5f0ada180d21408c04b7f7db9b6dbaefe09e809a80ddf
-a5366d10930d3e68ca53e4721ff525853f4c784f2c2c3aa0129a34d9df00debc
-ae4037e4c0fbdce3989f35964b4c07e7817b805bfe8c15f0c0ebf226cff606b6
-2954f0f42dff8c214a6537ab666d25389c44db7b5866440bbfc137712bcdcc89
-c68cd1adfd85648b1ed29bfb45a564b02172137feef782d604e0d7e1f1737c96
-719cca9e4b9dfdc87e5999b886a15ac572183dfafd8c4176cd98430c204d4e7c
-e989e1dea814d3088a21d9ae6c5fe7ab3d399b2982fd605e65509a8ed6790c21
-a08a23e53dbe70f676d0e7b2e8261b092dc3415ac785635d133d309ac670c0c5
-5868fd863ce42542ff1e83e1fa20a7a0e5d680dec3a22700f7f48d2582b8411d
-757d17ab7530ceec0c6727c6a80f2493196b0b36e727bd6595b5d4f5baef0318
-f3c8107380a2a731f5d5ac8bd86ab3b2d774b8a256e4f52628d6f8d0e40f1163
-6026c69f76f274283931ee02d73937f334b843177f8fbfb051019ecf7a56a07a
-81a3809c71515bbe9c043437a5c1007ca9ba87bc597d1c84d4585de379ed04d4
-c53958e67875f5b49403df15843727ce4199229066016f33ddd7a8cd1ab88c85
-8653e20c90c2304e7dfbfdc69c0267ffa4bb3d605fa3cf9b9f540d115108b370
-a90059c35cb2a7ddbe72d48be3b8b393e03d07b793c0e7ef7566510a3da0af14
-6850f0db2413057385a635c3a412d31689248523e8c872350e0e78e5e455434d
-85bbaae7111b59fa84e5a16ea843f527d3e398d03e09fe3b362056e5e0de9dbe
-059bbc07c0dd42bfd9793e6fb82efe052d2f7a99052933a0496004e8f275da81
-d057d670172a1813d3107c5f41460dd9165420769b7f53979dcb41d6dd227e21
-3f1048b696356a07c96ee32fc18956b3d39953105906ac952d6246617a0eb07d
-13fbc467c5ace362567a8602abbba19346bcbc9af3a68b4d35d6b30c411d4359
-de75bd50920366be8a1d82329766e28aa45ae7b8359d7bc4ea8cf1348b997fc2
-682d84e09e363dd855c07d8eba0ce8641a73fd51555ef8eda75e13d1ab68d0d9
-da5583b935ebe895c27465d55985c3ae229dfbf6e9e97fd240e94344f95996c0
-44d8b46fca2d9e479a46f0c7855a59424d865bddd4b8b2715025b1aa920712b7
-c10d1c1aa764bfea3644d2a36a573728a9e1eef8afb3ec97b83936964577e8b3
-59c15fa4747da752b3b90e70bbb5b864496622ea8cb412f9eb5439c4c587a4e5
-fac054a1a5a1d992f63ff57d4f4281431016f9d3c107fe07ba12b0c5a82dfc31
-f1ccee58266f49e1cb8fe4d11edf30c6d0e52e8bfb183e178b994b27c6a8cb22
-0ae48dfa9834170902b06fc025b1e178d14cda92a496c85d204b17c2df9489a5
-aa1c6b0ebad624dc2b80c55cfef54072a1a3acce666ff043eb8bac830da01ac5
-f46441985156788679836dbc89c54cf97b7cf286b5c81c1a3603dfd2a573a9c2
-ea43e5c0df58037052e36df2039425b26fe8bd5efbfb8f848647197717cc1fa8
-23f52d1530713ed4f598f57c22c51b8d08d14d9a690967a9c17ad6c41215723e
-aac82de701334898d5530664f5d196aeb609eeb7d17eb0e9649fabae457e9db4
-0b92c57c0645a2cc5af867fff332d673361f09d72eb5bc9f4694b8a980a50d19
-e68710f6901aa6666c8274cbe16350efb313b05b1540c59e302402e662e62112
-2d0564795639954f1e56c341e5f2d99379d1164aebd5cd4d85d83644ecd5755a
-1ef9e3f66950207cf657cd339466352e4959d3e0f5ed10730b1fa65a539aec23
-9440bf8dd18ce753221301ed42e234549cb914c8f15324358b1bbdfa162b5e39
-92f2451d67fb403982e74083bfb7eb84b61f04f1621331563e8ed8cc8427afab
-9b2b356e85c23135359cc7dbc798c57c4667be292e8ad7006f55c342a5c4e153
-c175595d93e46763eeecc9b68088f9c732a3fcc2d18d702b96232022ee08c605
-0c07a0f866b917fcda0103d2250ab9cd8eab1067e28bd54331e447583d5cd6cb
-2c395c6ac49826d9077a7560a2b2652b9b3bb296d94089f5b8d2ea10ea46dd69
-c6cd8eb28cdce5a23848f1939be39528e28948d41be8c9a6f33c7656c90859c4
-befdb3eac63fe60893826ae55b8898e537c9856cc945a16b3a6fdf32af252bb0
-c40405f7cb615e9bb17cb6f23a86304faeac7a56f7b85488d3525adc7b9da686
-56d8211b27fc863134ed3a9054fe6bd3d21b59dd6d6c3718f6e64217d8d5e882
-30ec37d8ba92bb638864484082d9530ce9031f8bf15a9a07ba9e3c3cca56267a
-e10c7a3e7c13f449d9b02fa731f52d97c9500151f866b217e3018c5cda7432ee
-2220789a006e298a9ab501eff5ffb6c3079b9e60bffc9127f6c8b9e04df6ebdd
-dae8e9323a5d699dfc0143bf8ed224f2a076850075f5f5665ed82190516be315
-a91fd410679b82443c993a1746cc54d4597cfe722db5e8d0a9b4e5195052ed5f
-422177715c237e4dcb7567a332d011a38a078454d16d323ebcb92186eba23992
-4cd7002933e081b430ee2bc421abbc45fbfd9b41ffaee25a935b20991c377056
-a383d73750cd1d55804bccebe430ce22b16592376f54a18a9cbdfbd1de92ea50
-c77711c69722ff6ddc1a5c6297493ee4cd63c50e8412b4e42b8a5729e87fd435
-54316f57db2792258bfa2f38383558c5d85acd5abf65e54cbcd090eb34554be2
-1734e4374158e800c28050165b81bf94791f8ce24d0f45f05fb2df681ff0181f
-0ac9d37cae93dc938783a3e8a9b20fdfcd2e31d22de9b7fe061f91054a0b32fd
-97069b7cf02150b83bd7cc1d9ba29a5a112be9e28b9349344d535f719822c8b7
-a55d92a1a4084102d110f32ab3b59d1a7493b1bcf549eb583e6cea6744cbaf7f
-436704653e774435ccf84a37faa5443b4969041ef2f16b659527c6f01aa540f3
-5396f7c7c03f4dae8828ab2ad194b5972b2691bd414f5e25246c83918d455fe8
-2c1c4d5f704bf8f95357af4d9ab0155e9f1b9304d67d0ebef9a47827dded45b4
-51339f0fd7a914add1f59c07cf74f7aa0a12549b441e12dd5449bcd1de00ddf3
-13637d693da44cfb22a4e73093d64f9f86328322fc39a343cfe752b904aecf1c
-145c05d133f7d2d8606a3df1bcacfbab34e457e685f459d731ffa68f383a6182
-70edc182d4678152023981b39a150c87cf9cd2603527b80d5a94e9281ac1ea8b
-cb325cbcea7e638b5b43aa0c0ca95d103528c2841667bba973080813ca05ee4b
-96974224c9724ed6a7512451f95b180cae87ab46c61623154d6540c03c616b53
-8251b40c69c57276f72340aa2c83fc6a40fd440dc5aa9ae8fb438f0cc156fa52
-4afb2ed766a7bdf0c7b4f49877448c293ec40d13969da521b68480e6294ae3e7
-ea1ea3cd5ffd766cce3a2e3fe4800e16780c9d89a0f2533aad21c9b78afde506
-f53ed9389830243c250f79daf56551d8bf2d1337e53f31e1f77feb379a3b8fc6
-27fd03a8b30b0cb71b8a6a1c9fa058a8f24631622719fb0a3aed5522c872056e
-40f6c350c8ffd334887feb234ef8f78a09fe93891fe303539f
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-cleartomark
-
-%%EndFont
-TeXDict begin 39158280 55380996 1000 600 600 (assemble.dvi)
-@start /Fa 135[50 69 50 53 37 38 39 1[53 48 53 80 27
-2[27 53 48 29 44 1[42 53 46 25[75 1[63 69[{}22 83.022
-/CMBX10 rf /Fb 138[62 44 44 1[59 1[56 62 1[31 59 1[31
-62 2[51 1[50 1[54 12[78 62 28[56 56 56 1[56 56 2[31 46[{}21
-99.6264 /CMBX12 rf /Fc 142[27 113[{}1 41.511 /CMMI5 rf
-/Fd 171[39 84[{}1 58.1154 /MSBM7 rf /Fe 171[55 84[{}1
-83.022 /MSBM10 rf /Ff 205[45 49[52{}2 58.1154 /CMSY7
-rf /Fg 165[46 1[120 7[88 12[73 73 73 73 14[73 73 14[66
-66 5[62 6[61 61 50 50 14[38 38{}18 83.022 /CMEX10 rf
-/Fh 142[30 1[33 2[21 35 27 23 39 32 3[30 29 36 12[39
-5[53 2[56 15[20 59[{}15 58.1154 /CMMI7 rf /Fi 194[51
-10[33 33 33 6[26 26 29[47 10[{}7 58.1154 /CMR7 rf /Fj
-141[69 7[23 2[42 42 45[46 1[0 3[55 16[83 83 6[65 4[65
-2[65 1[42 12[65 23 65{}16 83.022 /CMSY10 rf /Fk 135[47
-59 40 48 3[37 42 40 2[25 1[34 29 1[40 41 1[43 36 36 44
-10[48 57 3[66 2[67 2[71 46 36 2[53 4[62 44 2[42 65 23
-23 18[54 6[54 8[41 50 48 6[37 1[47 12[{}37 83.022 /CMMI10
-rf /Fl 133[34 2[55 38 45 28 34 35 1[42 42 47 68 21 2[25
-42 38 25 38 42 38 1[42 25[64 2[63 9[25 12[30 32[47 12[{}25
-83.022 /CMTI10 rf /Fm 130[44 44 44 44 44 44 44 44 44
-44 44 44 44 44 44 44 44 44 44 44 44 44 44 44 44 44 44
-44 44 1[44 1[44 1[44 3[44 44 44 44 2[44 3[44 2[44 44
-44 44 44 44 44 4[44 44 44 44 44 44 7[44 44 44 44 44 44
-44 44 44 44 44 1[44 4[44 33[{}64 83.022 /CMTT10 rf /Fn
-133[37 44 44 60 44 46 32 33 33 44 46 42 46 69 23 44 25
-23 46 42 25 37 46 37 46 42 2[42 23 42 23 1[62 1[85 2[60
-46 3[65 62 1[52 65 43 30 62 65 54 1[63 60 59 62 1[39
-1[65 1[23 23 42 42 42 42 42 42 42 42 42 42 42 23 28 23
-65 1[32 32 23 4[42 14[42 4[69 46 46 48 60 1[60 6[69 1[{}78
-83.022 /CMR10 rf /Fo 134[71 2[71 75 52 53 55 1[75 67
-75 112 37 2[37 75 67 41 61 75 60 75 65 10[102 1[94 7[81
-2[50 5[97 1[102 6[37 2[67 67 67 67 67 67 67 3[45 32[75
-12[{}36 119.552 /CMBX12 rf /Fp 128[49 4[43 51 1[70 1[54
-38 1[38 2[49 54 1[27 2[27 54 49 30 43 54 43 1[49 6[60
-2[100 2[70 54 5[89 4[73 2[66 2[69 15[49 1[49 3[27 44[{}29
-99.6264 /CMR12 rf /Fq 147[89 6[89 89 2[89 23[89 26[89
-46[{}6 172.188 /CMTT12 rf /Fr 139[61 62 61 3[88 133 43
-2[43 1[79 1[70 1[70 88 79 31[119 65[{}13 172.188 /CMR17
-rf end
-%%EndProlog
-%%BeginSetup
-%%Feature: *Resolution 600dpi
-TeXDict begin
-%%BeginPaperSize: a4
-a4
-%%EndPaperSize
-
-%%EndSetup
-%%Page: 1 1
-1 0 bop 670 427 a Fr(Assem)l(bling)51 b(matrices)h(in)g
-Fq(deal.II)1417 661 y Fp(W)-8 b(olfgang)32 b(Bangerth)1293
-777 y(ETH)h(Z)s(\177)-51 b(uric)m(h,)33 b(Switzerland)1623
-977 y(Ma)m(y)g(2002)330 1251 y Fo(1)135 b(In)l(tro)t(duction)330
-1433 y Fn(Assem)n(bling)23 b(the)i(system)e(matrix)h(for)f(\014nite)i
-(elemen)n(t)f(discretizations)e(is)i(standard,)g(at)f(least)330
-1533 y(as)39 b(far)f(as)h(scalar)f(problems)g(are)g(concerned.)71
-b(Ho)n(w)n(ev)n(er,)41 b(things)e(b)r(ecome)g(a)g(little)h(more)330
-1632 y(complicated)26 b(in)g(implemen)n(tations)g(once)f(problems)h
-(are)f(v)n(ector-v)-5 b(alued,)24 b(and)i(in)g(particular)330
-1732 y(if)39 b(\014nite)f(elemen)n(ts)g(are)f(used)h(in)g(whic)n(h)g
-(di\013eren)n(t)g(comp)r(onen)n(ts)g(of)g(v)n(ector-v)-5
-b(alued)36 b(shap)r(e)330 1831 y(functions)28 b(are)f(coupled,)g(suc)n
-(h)g(as)g(for)g(example)g(for)h(div)n(ergence-free)d(elemen)n(ts.)455
-1931 y(It)32 b(is)h(this)f(case)g(that)g(w)n(e)h(are)e(in)n(terested)h
-(in)h(in)f(this)h(rep)r(ort,)g(and)f(w)n(e)g(will)h(discuss)f(the)330
-2031 y(implemen)n(tational)h(details)g(user)g(programs)e(m)n(ust)j
-(follo)n(w)e(if)i(they)g(w)n(an)n(t)f(to)g(use)g(suc)n(h)g(ele-)330
-2130 y(men)n(ts)c(with)g Fm(deal.II)p Fn(.)d(In)j(order)e(to)i(explain)
-f(the)h(problem)g(in)g(a)f(simple)h(w)n(a)n(y)-7 b(,)28
-b(w)n(e)g(start)g(b)n(y)330 2230 y(reviewing)c(the)i(algorithms)e(that)
-h(are)f(used,)i(\014rst)f(for)g(the)g(scalar)f(case,)h(then)g(for)g
-(the)h(case)e(of)330 2330 y(\\simple")j(v)n(ector-v)-5
-b(alued)26 b(\014nite)j(elemen)n(ts,)f(and)f(\014nally)h(for)f(the)i
-(most)e(general)g(case.)37 b(Ho)n(w-)330 2429 y(ev)n(er,)27
-b(w)n(e)h(do)g(not)h(in)n(tend)g(to)f(giv)n(e)f(an)h(in)n(tro)r
-(duction)g(in)n(to)g(the)h(deriv)-5 b(ation)28 b(of)g(\014nite)h
-(elemen)n(t)330 2529 y(metho)r(ds,)f(or)f(of)g(p)r(osing)g(a)g(partial)
-g(di\013eren)n(tial)h(equation)f(in)g(w)n(eak)g(form.)455
-2628 y(The)19 b(in)n(terface)f(for)g(v)n(ector-v)-5 b(alued)18
-b(\014nite)h(elemen)n(t)g(shap)r(e)g(functions)h(with)f(more)f(than)h
-(one)330 2728 y(non-zero)i(comp)r(onen)n(t)i(that)g(is)g(describ)r(ed)f
-(in)h(this)h(rep)r(ort)e(is)g(presen)n(tly)g(b)r(eing)h(implemen)n
-(ted,)330 2828 y(and)d(will)h(b)r(e)g(merged)f(with)h(the)g(library)f
-(after)g(v)n(ersion)f(3.4)h(is)g(released.)34 b(Th)n(us,)22
-b(it)f(will)g(b)r(e)g(part)330 2927 y(of)g(v)n(ersion)e(3.5)h(or)f(4.0)
-h(of)h(the)g(library)-7 b(,)21 b(dep)r(ending)g(on)f(whic)n(h)h(v)n
-(ersion)e(n)n(um)n(b)r(er)h(w)n(e)g(will)h(assign)330
-3027 y(to)33 b(the)h(successor)d(of)i(3.4.)53 b(By)33
-b(then,)i(the)f(library)e(will)h(also)g(con)n(tain)f(an)h(implemen)n
-(tation)330 3127 y(of)j(Nedelec)g(elemen)n(ts,)j(for)c(whic)n(h)i
-(these)f(tec)n(hniques)g(are)f(necessary)-7 b(.)61 b(The)36
-b(in)n(terface)g(for)330 3226 y(primitiv)n(e)g(v)n(ector-v)-5
-b(alued)35 b(shap)r(e)i(functions,)i(for)d(whic)n(h)g(only)g(one)h(v)n
-(ector)e(comp)r(onen)n(t)h(is)330 3326 y(non-zero,)26
-b(has)h(b)r(een)h(part)f(of)h(the)g(library)e(since)h(its)h
-(publication)g(with)g(v)n(ersion)e(3.0.)330 3600 y Fo(2)135
-b(Linear)45 b(systems)h(for)f(\014nite)g(elemen)l(t)i(metho)t(ds)330
-3782 y Fn(W)-7 b(e)30 b(start)f(b)n(y)g(brie\015y)g(in)n(tro)r(ducing)g
-(the)h(w)n(a)n(y)e(\014nite)i(elemen)n(t)f(matrices)g(are)f(assem)n
-(bled)h(\\on)330 3882 y(pap)r(er".)34 b(As)24 b(usual)e(in)h(\014nite)h
-(elemen)n(ts,)g(w)n(e)f(tak)n(e)f(the)h(w)n(eak)f(form)h(of)g(the)g
-(partial)f(di\013eren)n(tial)330 3982 y(equation.)36
-b(In)28 b(the)g(most)f(general)g(case,)f(it)i(reads:)36
-b Fl(\014nd)30 b Fk(u)22 b Fj(2)i Fk(V)48 b Fl(such)30
-b(that)1320 4164 y Fk(a)p Fn(\()p Fk(u;)14 b(v)s Fn(\))23
-b(=)f(\()p Fk(f)t(;)14 b(v)s Fn(\))1855 4176 y Fi(\012)2074
-4164 y Fj(8)p Fk(v)26 b Fj(2)d Fk(V)5 b(;)330 4347 y
-Fn(where)31 b Fk(a)p Fn(\()p Fj(\001)p Fk(;)14 b Fj(\001)p
-Fn(\))32 b(is)f(the)g(bilinear)g(form)g(asso)r(ciated)f(with)i(the)f
-(partial)g(di\013eren)n(tial)g(equations,)330 4446 y(and)26
-b Fk(V)46 b Fn(is)26 b(the)h(space)e(of)i(test)f(functions.)37
-b(F)-7 b(or)26 b(simplicit)n(y)-7 b(,)27 b(w)n(e)f(ha)n(v)n(e)f(here)h
-(assumed)g(that)h(the)330 4546 y(problem)d(is)g(linear)g(and)h(that)g
-(then)g Fk(a)p Fn(\()p Fj(\001)p Fk(;)14 b Fj(\001)p
-Fn(\))25 b(is)f(a)g(bilinear)g(form;)i(if)f(the)g(problem)f(is)g
-(nonlinear,)330 4646 y(it)k(is)g(usually)f(solv)n(ed)f(using)h(a)h
-(sequence)f(of)g(linear)g(problems,)g(so)g(this)h(is)f(no)h
-(restriction.)455 4745 y(In)j(\014nite)g(elemen)n(ts,)h(w)n(e)f
-(de\014ne)g(an)g(appro)n(ximation)e(of)i(the)g(solution)g
-Fk(u)f Fn(b)n(y)h(c)n(ho)r(osing)e(a)330 4845 y(\014nite)g(dimensional)
-f(subspace)g Fk(V)1397 4857 y Fh(h)1468 4845 y Fn(spanned)h(b)n(y)f
-(the)h(basis)e(functions)i Fj(f)p Fk(')2712 4857 y Fh(i)2739
-4845 y Fj(g)p Fn(,)g(and)f(searc)n(hing)330 4945 y Fk(u)378
-4957 y Fh(h)444 4945 y Fj(2)23 b Fk(V)570 4957 y Fh(h)639
-4945 y Fn(b)n(y)i(testing)h(the)g(w)n(eak)f(form)g(b)n(y)g(the)h(test)g
-(functions)g(from)f Fk(V)2576 4957 y Fh(h)2620 4945 y
-Fn(.)36 b(The)25 b(problem)h(then)330 5044 y(reads:)36
-b Fl(\014nd)29 b Fk(u)793 5056 y Fh(h)859 5044 y Fj(2)23
-b Fk(V)985 5056 y Fh(h)1058 5044 y Fl(such)30 b(that)1219
-5227 y Fk(a)p Fn(\()p Fk(u)1343 5239 y Fh(h)1385 5227
-y Fk(;)14 b(v)1462 5239 y Fh(h)1506 5227 y Fn(\))23 b(=)g(\()p
-Fk(f)t(;)14 b(v)1803 5239 y Fh(h)1846 5227 y Fn(\))1878
-5239 y Fi(\012)2096 5227 y Fj(8)p Fk(v)2182 5239 y Fh(h)2248
-5227 y Fj(2)24 b Fk(V)2375 5239 y Fh(h)2418 5227 y Fk(:)455
-5409 y Fn(No)n(w,)39 b Fj(f)p Fk(')775 5421 y Fh(i)802
-5409 y Fj(g)e Fn(is)g(a)f(basis)h(of)g Fk(V)1418 5421
-y Fh(h)1461 5409 y Fn(.)66 b(W)-7 b(e)37 b(denote)g(the)h(dimension)f
-(of)g Fk(V)2686 5421 y Fh(h)2767 5409 y Fn(b)n(y)g Fk(N)9
-b Fn(,)39 b(and)e(will)330 5509 y(henceforth)e(let)h(all)e(sums)h(b)r
-(e)h(o)n(v)n(er)d(the)j(range)e(0)14 b Fk(:)g(:)g(:)f(N)32
-b Fj(\000)23 b Fn(1,)37 b(to)e(k)n(eep)g(with)g(the)h(standard)330
-5609 y(notation)f(of)h(the)h(C/C++)d(programming)g(languages.)60
-b(With)37 b(this,)i(w)n(e)c(can)h(expand)g(the)1809 5919
-y(1)p eop
-%%Page: 2 2
-2 1 bop 330 390 a Fn(solution)25 b Fk(u)690 402 y Fh(h)756
-390 y Fn(=)843 328 y Fg(P)931 348 y Fh(N)6 b Ff(\000)p
-Fi(1)931 415 y Fh(j)s Fi(=0)1093 390 y Fk(U)1150 402
-y Fh(j)1185 390 y Fk(')1239 402 y Fh(j)1274 390 y Fn(,)26
-b(and)g(b)n(y)f(bilinearit)n(y)g(of)h(the)g(form)f Fk(a)p
-Fn(\()p Fj(\001)p Fk(;)14 b Fj(\001)p Fn(\),)27 b(the)f(problem)f(ab)r
-(o)n(v)n(e)330 490 y(is)i(equiv)-5 b(alen)n(t)28 b(to)998
-633 y Fh(N)6 b Ff(\000)p Fi(1)1010 657 y Fg(X)1012 834
-y Fh(j)s Fi(=0)1155 736 y Fk(U)1212 748 y Fh(j)1247 736
-y Fk(a)p Fn(\()p Fk(')1377 748 y Fh(j)1413 736 y Fk(;)14
-b(')1504 748 y Fh(i)1531 736 y Fn(\))24 b(=)e(\()p Fk(f)t(;)14
-b(')1842 748 y Fh(i)1871 736 y Fn(\))166 b Fj(8)p Fk(i)23
-b Fn(=)f(0)14 b Fk(:)g(:)g(:)f(N)28 b Fj(\000)18 b Fn(1)p
-Fk(:)561 b Fn(\(1\))330 989 y(Denoting)1143 1159 y Fk(A)1205
-1171 y Fh(ij)1286 1159 y Fn(=)23 b Fk(a)p Fn(\()p Fk(')1504
-1171 y Fh(j)1539 1159 y Fk(;)14 b(')1630 1171 y Fh(i)1658
-1159 y Fn(\))p Fk(;)347 b(F)2113 1171 y Fh(j)2171 1159
-y Fn(=)23 b(\()p Fk(f)t(;)14 b(')2427 1171 y Fh(j)2462
-1159 y Fn(\))p Fk(;)330 1329 y Fn(the)28 b(equations)f(determining)g
-(the)h(expansion)f(co)r(e\016cien)n(ts)g Fk(U)2312 1341
-y Fh(i)2367 1329 y Fn(are)g(therefore:)1671 1499 y Fk(AU)32
-b Fn(=)23 b Fk(F)r(:)1236 b Fn(\(2\))455 1669 y(Note)26
-b(that)h(w)n(e)g(ha)n(v)n(e)e(tak)n(en)h(a)g(rev)n(erted)g(order)f(of)i
-(indices)f(in)h(the)g(de\014nition)g(of)g Fk(A)p Fn(,)g(since)330
-1768 y(w)n(e)h(w)n(an)n(t)f(the)h(linear)g(system)f(\(2\))i(with)f(the)
-h(solution)e(to)h(the)g(righ)n(t)g(of)g(the)g(matrix,)g(to)g(k)n(eep)
-330 1868 y(with)33 b(standard)e(notation,)i(instead)f(of)g(to)g(the)g
-(left)h(as)e(in)i(\(1\).)50 b(F)-7 b(or)32 b(symmetric)g(problems,)330
-1967 y(there)40 b(is)g(no)f(di\013erence,)k(but)e(for)e(non-symmetric)g
-(ones)h(this)g(is)g(a)f(common)h(source)f(for)330 2067
-y(problems)27 b(and)g(a)g(rather)g(common)g(trap.)455
-2167 y(F)-7 b(or)26 b(partial)h(di\013eren)n(tial)g(equations,)g(the)h
-(bilinear)f(form)g(used)g(in)h(\(1\))f(in)n(v)n(olv)n(es)f(an)h(in)n
-(te-)330 2266 y(gral)20 b(o)n(v)n(er)g(the)i(domain)g(\012)f(on)h(whic)
-n(h)g(the)g(problem)f(is)g(p)r(osed.)35 b(F)-7 b(or)21
-b(example,)i(for)e(the)h(Laplace)330 2366 y(equation)27
-b(w)n(e)g(ha)n(v)n(e)905 2574 y Fk(A)967 2586 y Fh(ij)1049
-2574 y Fn(=)22 b Fk(a)p Fn(\()p Fk(')1266 2586 y Fh(j)1302
-2574 y Fk(;)14 b(')1393 2586 y Fh(i)1421 2574 y Fn(\))23
-b(=)g(\()p Fj(r)p Fk(')1719 2586 y Fh(j)1755 2574 y Fk(;)14
-b Fj(r)p Fk(')1915 2586 y Fh(i)1943 2574 y Fn(\))1975
-2586 y Fi(\012)2049 2574 y Fn(=)2137 2461 y Fg(Z)2183
-2649 y Fi(\012)2249 2574 y Fj(r)p Fk(')2372 2586 y Fh(j)2426
-2574 y Fj(\001)k(r)p Fk(')2590 2586 y Fh(i)2641 2574
-y Fk(dx:)330 2786 y Fn(F)-7 b(or)24 b(practical)g(purp)r(oses,)h(w)n(e)
-f(split)h(this)g(equation)f(in)n(to)h(in)n(tegrals)e(o)n(v)n(er)g(the)i
-(individual)g(cells)330 2885 y Fk(K)35 b Fn(of)30 b(the)g
-(triangulation)e Fe(T)i Fn(w)n(e)g(use)f(for)g(the)h(discretization.)42
-b(In)30 b Fm(deal.II)p Fn(,)d(these)j(cells)f(are)330
-2985 y(alw)n(a)n(ys)d(lines,)h(quadrilaterals,)f(or)g(hexahedra.)36
-b(With)28 b(this,)g(w)n(e)g(ha)n(v)n(e)e(that)721 3167
-y Fk(A)d Fn(=)906 3088 y Fg(X)894 3266 y Fh(K)t Ff(2)p
-Fd(T)1051 3167 y Fk(A)1113 3132 y Fh(K)1177 3167 y Fk(;)346
-b(A)1608 3132 y Fh(K)1608 3187 y(ij)1696 3167 y Fn(=)22
-b Fk(a)1827 3179 y Fh(K)1891 3167 y Fn(\()p Fk(')1977
-3179 y Fh(j)2013 3167 y Fk(;)14 b(')2104 3179 y Fh(i)2132
-3167 y Fn(\))166 b(0)23 b Fj(\024)f Fk(i;)14 b(j)28 b
-Fj(\024)22 b Fk(N)27 b Fj(\000)19 b Fn(1)p Fk(;)330 3420
-y Fn(where)39 b(the)h(bilinear)f(form)g Fk(a)1301 3432
-y Fh(K)1365 3420 y Fn(\()p Fj(\001)p Fk(;)14 b Fj(\001)p
-Fn(\))40 b(only)f(in)n(v)n(olv)n(es)f(an)h(in)n(tegral)f(o)n(v)n(er)g
-(the)i(cell)f Fk(K)6 b Fn(.)72 b(The)330 3519 y(imp)r(ortan)n(t)23
-b(p)r(oin)n(t)h(is)g(that)g(w)n(e)g(do)f(so)g(since)h(for)f(the)h(lo)r
-(calized)g(basis)f(functions)h(used)f(in)i(\014nite)330
-3619 y(elemen)n(ts,)i Fk(A)754 3589 y Fh(K)845 3619 y
-Fn(is)g(a)g(matrix)g(with)g(almost)f(only)h(zeros.)35
-b(The)28 b(only)e(elemen)n(ts)h(whic)n(h)g(are)f(not)330
-3719 y(zero)34 b(are)g(those)g(corresp)r(onding)f(to)i(indices)g
-Fk(i;)14 b(j)39 b Fn(indicating)c(those)g(shap)r(e)g(functions)g(that)
-330 3818 y(ha)n(v)n(e)20 b(supp)r(ort)h(also)g(on)g(the)h(elemen)n(t)f
-Fk(K)6 b Fn(.)35 b(F)-7 b(or)20 b(example,)j(in)e(2d)g(and)h(using)f
-(the)h(usual)f(bilinear)330 3918 y(shap)r(e)26 b(functions)h(for)e(a)h
-(scalar)f(problem,)h(only)g(the)g(four)g(shap)r(e)g(functions)h(asso)r
-(ciated)e(with)330 4017 y(the)33 b(v)n(ertices)e(of)h(the)h(cell)f
-Fk(K)38 b Fn(are)31 b(nonzero)g(on)h Fk(K)6 b Fn(,)33
-b(and)f(th)n(us)g(only)g(the)g(en)n(tries)g(in)g Fk(A)3122
-3987 y Fh(K)3219 4017 y Fn(are)330 4117 y(nonzero)25
-b(where)h(the)h(four)f(ro)n(ws)f(corresp)r(onding)f(to)j(these)f
-(indices)h(and)f(the)h(resp)r(ectiv)n(e)e(four)330 4217
-y(columns)i(in)n(tersect.)455 4316 y(In)j(general,)g(assume)f(that)i
-(there)f(are)f Fk(N)1769 4328 y Fh(K)1863 4316 y Fn(shap)r(e)i
-(functions)f(with)h(supp)r(ort)f(on)g(cell)g Fk(K)6 b
-Fn(,)330 4416 y(and)26 b(let)h(the)g(set)f(of)h(their)f(indices)h(b)r
-(e)g(denoted)f(b)n(y)g Fk(I)2016 4428 y Fh(K)2081 4416
-y Fn(.)36 b(Then)27 b(w)n(e)f(can)g(de\014ne)h(a)f(matrix)3226
-4395 y(^)3204 4416 y Fk(A)3266 4386 y Fh(K)330 4516 y
-Fn(of)33 b(\(small)g(dimension\))g Fk(N)1182 4528 y Fh(K)1268
-4516 y Fj(\002)21 b Fk(N)1421 4528 y Fh(K)1518 4516 y
-Fn(holding)33 b(these)g(nonzero)f(en)n(tries,)h(and)g(w)n(e)g(can)f
-(obtain)330 4615 y(bac)n(k)27 b(the)h(original)e(con)n(tribution)h
-Fk(A)1502 4627 y Fh(K)1594 4615 y Fn(to)g Fk(A)h Fn(b)n(y)f(the)h
-(transformation)585 4840 y Fk(A)647 4806 y Fh(K)647 4861
-y(ij)734 4840 y Fn(=)822 4723 y Fg(\032)925 4780 y Fn(0)568
-b(if)28 b Fk(i)23 b Fj(62)g Fk(I)1777 4792 y Fh(K)1869
-4780 y Fn(or)k Fk(j)h Fj(62)23 b Fk(I)2147 4792 y Fh(K)2212
-4780 y Fn(,)947 4867 y(^)925 4888 y Fk(A)987 4858 y Fh(K)987
-4915 y(local)p Fi(\()p Fh(i)p Fi(\))p Fh(;local)p Fi(\()p
-Fh(j)s Fi(\))1535 4888 y Fn(otherwise)o Fk(;)2466 4840
-y Fn(0)g Fj(\024)f Fk(i;)14 b(j)28 b Fj(\024)23 b Fk(N)k
-Fj(\000)18 b Fn(1)p Fk(:)330 5070 y Fn(Here,)27 b Fk(l)r(ocal)r
-Fn(\()p Fk(i)p Fn(\))f(giv)n(es)g(the)h(n)n(um)n(b)r(er)g(of)g(the)h
-(global)e(degree)g(of)h(freedom)f Fk(i)h Fn(on)g(the)g(cell)g
-Fk(K)6 b Fn(,)27 b(i.e.)330 5170 y(the)i(p)r(osition)f(of)h
-Fk(i)f Fn(in)h(the)g(index)f(set)h Fk(I)1577 5182 y Fh(K)1641
-5170 y Fn(.)40 b(One)28 b(could)g(call)2277 5149 y(^)2256
-5170 y Fk(A)2318 5140 y Fh(K)2410 5170 y Fn(the)h Fm(reduced)d
-Fn(form)i(of)h Fk(A)3243 5140 y Fh(K)3307 5170 y Fn(,)330
-5269 y(since)e(the)h(man)n(y)f(zero)g(ro)n(ws)f(and)h(column)h(ha)n(v)n
-(e)e(b)r(een)i(stripp)r(ed.)455 5369 y(In)k(general,)g(when)h(assem)n
-(bling)e(the)h(global)f(matrix,)i(the)g(rev)n(erse)d(w)n(a)n(y)h(is)i
-(used:)46 b(when)330 5469 y(adding)27 b(up)h Fk(A)784
-5439 y Fh(K)876 5469 y Fn(to)f Fk(A)p Fn(,)h(w)n(e)g(do)f(so)g(only)g
-(with)1823 5448 y(^)1801 5469 y Fk(A)1863 5439 y Fh(K)1955
-5469 y Fn(b)n(y)898 5639 y Fk(A)960 5654 y Fh(g)r(lobal)p
-Fi(\()p Fh(i)p Fi(\))p Fh(;g)r(lobal)p Fi(\()p Fh(j)s
-Fi(\))1492 5639 y Fn(+)-5 b(=)1662 5618 y(^)1640 5639
-y Fk(A)1702 5604 y Fh(K)1702 5659 y(ij)2098 5639 y Fn(0)23
-b Fj(\024)f Fk(i;)14 b(j)28 b Fj(\024)23 b Fk(N)2533
-5651 y Fh(K)2615 5639 y Fj(\000)18 b Fn(1)p Fk(:)1809
-5919 y Fn(2)p eop
-%%Page: 3 3
-3 2 bop 330 390 a Fn(Th)n(us,)34 b(indices)f(only)g(run)f(o)n(v)n(er)f
-(the)j(\(small\))f(range)f(0)14 b Fk(:)g(:)g(:)f(N)2277
-402 y Fh(K)2362 390 y Fj(\000)22 b Fn(1)32 b(instead)h(of)g(0)14
-b Fk(:)g(:)g(:)f(N)31 b Fj(\000)21 b Fn(1.)330 490 y(Here,)30
-b Fk(g)s(l)r(obal)r Fn(\()p Fk(i)p Fn(\))e(denotes)h(the)h(global)f(n)n
-(um)n(b)r(er)g(of)h(the)g(degree)f(of)g(freedom)h(with)g(n)n(um)n(b)r
-(er)f Fk(i)330 589 y Fn(on)34 b(this)g(cell)g Fk(K)6
-b Fn(,)35 b(i.e.)56 b Fk(g)s(l)r(obal)r Fn(\()p Fk(i)p
-Fn(\))31 b(=)j Fk(I)1547 601 y Fh(K)1611 589 y Fn([)p
-Fk(i)p Fn(],)h(where)f(the)g(brac)n(k)n(et)e(op)r(erator)h(returns)g
-(the)h Fk(i)p Fn(th)330 689 y(elemen)n(t)28 b(of)f(the)h(set)g
-Fk(I)1040 701 y Fh(K)1104 689 y Fn(.)455 789 y(The)c(main)g(part)g(of)g
-(assem)n(bling)f(\014nite)h(elemen)n(t)h(matrices)e(is)h(therefore)f
-(to)i(assem)n(ble)e(the)330 888 y(lo)r(cal)35 b(matrix)833
-867 y(^)811 888 y Fk(A)873 858 y Fh(K)937 888 y Fn(.)60
-b(Before)34 b(w)n(e)h(go)f(on)h(with)g(discussing)g(ho)n(w)f(this)i(is)
-f(done)f(in)i Fm(deal.II)p Fn(,)330 988 y(w)n(e)e(w)n(ould)g(lik)n(e)h
-(to)f(commen)n(t)h(on)f(the)h(ev)-5 b(aluation)34 b(of)g(the)h(in)n
-(tegrals)e(in)n(v)n(olv)n(ed.)57 b(Since)35 b(the)330
-1088 y(in)n(tegrals)i(are)g(usually)g(to)r(o)h(complex)f(to)h(b)r(e)h
-(ev)-5 b(aluated)37 b(exactly)h(\(they)g(ma)n(y)g(dep)r(end)g(on)330
-1187 y(co)r(e\016cien)n(ts)24 b(app)r(earing)g(in)h(the)g(equation,)g
-(or)f(the)h(solution)f(of)h(previous)e(steps)i(in)g(nonlinear)330
-1287 y(or)33 b(time-dep)r(enden)n(t)h(problems\),)h(they)f(are)f(appro)
-n(ximated)f(b)n(y)h(quadrature.)54 b(Assume)33 b(w)n(e)330
-1386 y(ha)n(v)n(e)18 b(a)g(quadrature)g(form)n(ula)g(with)h
-Fk(N)1535 1398 y Fh(q)1590 1386 y Fn(p)r(oin)n(ts)g Fk(x)1878
-1398 y Fh(q)1934 1386 y Fn(de\014ned)g(on)g(cell)g(in)g(real)f(space)g
-(\(as)h(opp)r(osed)330 1486 y(to)31 b(the)h(unit)g(cell\))g(and)f(w)n
-(eigh)n(ts)g Fk(w)1469 1498 y Fh(q)1506 1486 y Fn(.)48
-b(Then,)33 b(for)e(example)g(for)f(the)i(Laplace)f(equation,)g(w)n(e)
-330 1586 y(appro)n(ximate)679 1833 y(^)658 1854 y Fk(A)720
-1819 y Fh(K)720 1874 y(ij)807 1854 y Fj(\021)895 1741
-y Fg(Z)941 1929 y Fh(K)1018 1854 y Fj(r)p Fk(')1141 1866
-y Fh(i)1188 1854 y Fj(\001)19 b(r)p Fk(')1353 1866 y
-Fh(j)1411 1854 y Fk(dx)24 b Fj(\031)1612 1741 y Fh(N)1665
-1749 y Fc(q)1698 1741 y Ff(\000)p Fi(1)1638 1775 y Fg(X)1639
-1950 y Fh(q)r Fi(=0)1797 1854 y Fj(r)p Fk(')1920 1866
-y Fh(i)1948 1854 y Fn(\()p Fk(x)2027 1866 y Fh(q)2064
-1854 y Fn(\))19 b Fj(\001)g(r)p Fk(')2280 1866 y Fh(j)2315
-1854 y Fn(\()p Fk(x)2394 1866 y Fh(q)2432 1854 y Fn(\))27
-b Fk(w)2550 1866 y Fh(q)2588 1854 y Fj(j)p Fn(det)h Fk(J)8
-b Fn(\()d(^)-47 b Fk(x)2887 1866 y Fh(q)2924 1854 y Fn(\))p
-Fj(j)p Fk(:)222 b Fn(\(3\))330 2119 y(F)-7 b(or)28 b(other)g(problems,)
-g(the)h(in)n(tegrand)f(is)h(di\013eren)n(t,)g(but)g(the)g(principle)g
-(remains)f(the)h(same.)330 2218 y(det)i Fk(J)8 b Fn(\()d(^)-47
-b Fk(x)609 2230 y Fh(q)647 2218 y Fn(\))31 b(denotes)f(the)h
-(determinan)n(t)f(of)h(the)g(Jacobian)e(of)i(the)g(transformation)e(b)r
-(et)n(w)n(een)330 2318 y(the)e(unit)g(cell)g(on)f(whic)n(h)h(the)g
-(quadrature)e(w)n(eigh)n(ts)h(are)f(de\014ned,)i(and)g(the)g(real)f
-(cell,)g(and)32 b(^)-47 b Fk(x)3293 2330 y Fh(q)330 2417
-y Fn(is)25 b(the)h(p)r(oin)n(t)f(on)h(the)f(unit)h(cell)g(corresp)r
-(onding)d(to)i(the)h(quadrature)e(p)r(oin)n(t)h Fk(x)2796
-2429 y Fh(q)2859 2417 y Fn(in)g(real)g(space.)455 2517
-y(Since)37 b(all)h(matrices)e(and)i(righ)n(t)e(hand)i(side)f(v)n
-(ectors)f(only)i(require)e(kno)n(wledge)g(of)i(the)330
-2617 y(v)-5 b(alues)19 b(and)h(gradien)n(ts)e(of)i(shap)r(e)g
-(functions)g(at)g(quadrature)e(p)r(oin)n(ts,)j(this)g(is)e(all)h(that)g
-Fm(deal.II)330 2716 y Fn(usually)38 b(pro)n(vides.)69
-b(One)38 b(can)g(see)h(this)g(as)f(a)g(kind)h(of)f Fl(view)49
-b Fn(on)39 b(a)f(\014nite)h(elemen)n(t,)j(as)c(it)330
-2816 y(only)f(pro)n(vides)f(a)g(certain)h(p)r(ersp)r(ectiv)n(e)g(on)g
-(the)g(actual)g(de\014nition)h(of)f(a)f(shap)r(e)h(function.)330
-2916 y(Nev)n(ertheless,)21 b(this)f(is)g(en)n(tirely)f(su\016cien)n(t)i
-(for)e(all)h(purp)r(oses)f(of)h(programming)e(\014nite)j(elemen)n(t)330
-3015 y(programs.)455 3115 y(In)g Fm(deal.II)d Fn(the)j
-Fm(FEValues)d Fn(class)i(do)r(es)g(this:)34 b(y)n(ou)20
-b(giv)n(e)g(it)i(a)e(\014nite)i(elemen)n(t)f(de\014nition,)h(a)330
-3214 y(quadrature)i(form)n(ula)g(ob)5 b(ject,)25 b(and)g(an)g(ob)5
-b(ject)24 b(de\014ning)i(the)f(transformation)e(b)r(et)n(w)n(een)i
-(unit)330 3314 y(and)j(real)g(cell,)g(and)h(it)f(pro)n(vides)f(y)n(ou)h
-(with)h(the)g(v)-5 b(alues,)28 b(gradien)n(t,)f(and)h(second)g(deriv)-5
-b(ativ)n(es)330 3414 y(of)25 b(shap)r(e)g(functions)h(at)f(the)g
-(quadrature)f(p)r(oin)n(ts.)36 b(It)26 b(also)e(giv)n(es)g(access)g(to)
-h(the)g(determinan)n(t)330 3513 y(of)k(the)h(Jacobian,)e(although)g
-(only)h(m)n(ultiplied)h(with)g Fk(w)2120 3525 y Fh(q)2186
-3513 y Fn(as)f(these)g(t)n(w)n(o)f(are)g(alw)n(a)n(ys)g(used)h(in)330
-3613 y(conjunction.)55 b(It)33 b(also)g(pro)n(vides)f(y)n(ou)h(with)g
-(man)n(y)g(other)g(\014elds,)i(suc)n(h)e(as)g(normal)g(v)n(ectors)330
-3713 y(to)i(the)h(outer)f(b)r(oundary)-7 b(.)59 b(In)35
-b(practice)g(y)n(ou)g(do)g(not)g(need)g(them)h(all)f(computed)h(on)f
-(eac)n(h)330 3812 y(cell;)44 b(th)n(us,)d(y)n(ou)d(ha)n(v)n(e)f(to)i
-(sp)r(ecify)g(explicitly)f(in)h(whic)n(h)g(data)f(y)n(ou)f(are)h(in)n
-(terested)g(when)330 3912 y(constructing)28 b Fm(FEValues)c
-Fn(ob)5 b(jects.)455 4011 y(In)20 b(the)i(follo)n(wing,)f(w)n(e)f(pro)n
-(vide)g(a)g(list)h(of)g(connections)f(b)r(et)n(w)n(een)g(the)h(sym)n(b)
-r(ols)f(in)n(tro)r(duced)330 4111 y(ab)r(o)n(v)n(e,)38
-b(and)e(the)h(resp)r(ectiv)n(e)f(functions)h(and)g(v)-5
-b(ariable)36 b(names)g(used)h(in)g(t)n(ypical)f Fm(deal.II)330
-4211 y Fn(programs.)e(With)27 b(this,)g(w)n(e)f(will)h(subsequen)n(tly)
-e(sho)n(w)h(the)h(basic)e(structure)h(of)g(an)g(assem)n(bly)330
-4310 y(routine.)45 b(If)31 b(y)n(ou)f(ha)n(v)n(e)f(already)g(tak)n(en)h
-(a)h(lo)r(ok)e(at)i(the)g(example)f(programs)e(pro)n(vided)i(with)330
-4410 y Fm(deal.II)p Fn(,)d(y)n(ou)i(will)i(recognize)d(all)i(these)g
-(names.)43 b(If)31 b(y)n(ou)e(ha)n(v)n(en't,)h(this)g(w)n(ould)g(b)r(e)
-g(a)g(go)r(o)r(d)330 4510 y(time)e(to)g(lo)r(ok)e(at)i(the)g(\014rst)f
-(three)h(of)f(them.)p 690 4604 2280 4 v 688 4703 4 100
-v 740 4674 a Fk(A)498 b Fm(system)p 1569 4674 27 4 v
-29 w(matrix)p 2968 4703 4 100 v 688 4812 4 109 v 762
-4761 a Fn(^)740 4782 y Fk(A)802 4752 y Fh(K)1300 4782
-y Fm(cell)p 1481 4782 27 4 v 30 w(matrix)p 2968 4812
-4 109 v 688 4912 4 100 v 740 4882 a Fk(K)489 b Fm(cell)p
-2968 4912 V 688 5011 V 740 4981 a Fk(N)k Fm(dof)p 1437
-4981 27 4 v 30 w(handler.n)p 1863 4981 V 28 w(dofs\(\))p
-2968 5011 4 100 v 688 5111 V 740 5081 a Fk(N)807 5093
-y Fh(K)1300 5081 y Fm(fe.dofs)p 1613 5081 27 4 v 29 w(per)p
-1774 5081 V 30 w(cell)p 2968 5111 4 100 v 688 5210 V
-740 5181 a Fk(I)776 5193 y Fh(K)1300 5181 y Fm(local)p
-1525 5181 27 4 v 29 w(dof)p 1686 5181 V 31 w(indices)p
-2968 5210 4 100 v 688 5310 V 740 5280 a Fk(N)807 5292
-y Fh(q)1300 5280 y Fm(quadrature)p 1745 5280 27 4 v 27
-w(formula.n)p 2168 5280 V 28 w(quadrature)p 2636 5280
-V 27 w(points)p 2968 5310 4 100 v 688 5410 V 740 5380
-a Fk(')794 5392 y Fh(i)822 5380 y Fn(\()p Fk(x)901 5392
-y Fh(q)939 5380 y Fn(\))329 b Fm(fe)p 1393 5380 27 4
-v 31 w(values.shape)p 1952 5380 V 26 w(value\(i,q\))p
-2968 5410 4 100 v 688 5509 V 740 5479 a Fj(r)p Fk(')863
-5491 y Fh(i)891 5479 y Fn(\()p Fk(x)970 5491 y Fh(q)1008
-5479 y Fn(\))260 b Fm(fe)p 1393 5479 27 4 v 31 w(values.shape)p
-1952 5479 V 26 w(grad\(i,q\))p 2968 5509 4 100 v 688
-5609 V 740 5579 a Fk(x)787 5591 y Fh(q)1300 5579 y Fm(fe)p
-1393 5579 27 4 v 31 w(values.quadratu)o(re)p 2171 5579
-V 25 w(point\(q\))p 2968 5609 4 100 v 688 5709 V 740
-5679 a Fj(j)p Fn(det)q Fk(J)8 b Fn(\()d(^)-47 b Fk(x)1012
-5691 y Fh(q)1049 5679 y Fn(\))p Fj(j)p Fk(w)1163 5691
-y Fh(q)1300 5679 y Fm(fe)p 1393 5679 27 4 v 31 w(values.JxW\(q\))p
-2968 5709 4 100 v 690 5712 2280 4 v 1809 5919 a Fn(3)p
-eop
-%%Page: 4 4
-4 3 bop 455 390 a Fn(With)41 b(this)g(v)n(o)r(cabulary)-7
-b(,)42 b(the)f(t)n(ypical)f(matrix)g(assem)n(bly)g(lo)r(op)g(in)h
-Fm(deal.II)d Fn(has)i(the)330 490 y(follo)n(wing)27 b(form:)38
-b(\014rst)29 b(declare)e(a)h(quadrature)f(ob)5 b(ject)28
-b(and)g(use)h(it)f(for)g(the)h(initialization)f(of)330
-589 y(a)f Fm(FEValues)e Fn(ob)5 b(ject)27 b(as)g(discussed)g(ab)r(o)n
-(v)n(e:)417 743 y Fm(QGauss2<2>)83 b(quadrature_formul)o(a;)417
-842 y(FEValues<2>)39 b(fe_values)h(\(fe,)i(quadrature_formu)o(la,)1420
-942 y(UpdateFlags\(upd)o(ate)o(_v)o(alu)o(es)168 b(|)1943
-1042 y(update_gradient)o(s)38 b(|)1943 1141 y(update_JxW_valu)o(es\))o
-(\);)330 1295 y Fn(In)e(practice,)g(y)n(ou)f(ma)n(y)g(w)n(an)n(t)f(to)i
-(use)f(a)g(di\013eren)n(t)g(set)h(of)f(\014elds)h(to)f(b)r(e)h(up)r
-(dated)g(on)f(eac)n(h)330 1394 y(cell.)53 b(F)-7 b(or)32
-b(example)g(if)i(y)n(ou)e(do)g(not)h(need)g(the)g(v)-5
-b(alues)33 b(of)g(shap)r(e)f(functions)i(on)e(a)h(cell,)h(y)n(ou)330
-1494 y(ma)n(y)25 b(omit)h Fm(update)p 969 1494 27 4 v
-29 w(values)d Fn(from)i(the)h(list.)37 b(Also)25 b(note)g(that)h(b)n(y)
-g(default)g(a)f(bi-)h(or)e(tri-linear)330 1593 y(\(dep)r(ending)j(on)e
-(space)g(dimension\))i(mapping)e(b)r(et)n(w)n(een)h(unit)h(and)f(real)f
-(cell)g(is)h(used.)37 b(Other)330 1693 y(mappings)32
-b(are)g(p)r(ossible,)h(for)f(example)h(quadratic)e(ones,)i(or)f(a)g
-(mapping)h(that)g(mak)n(es)e(use)330 1793 y(of)e(the)h(fact)f(that)h
-(in)f(man)n(y)g(cases)f(cells)h(are)f(actually)h(rectangular,)f(rather)
-g(than)h(arbitrary)330 1892 y(quadrilaterals;)24 b(in)j(order)d(to)i
-(use)g(them,)h(another)e(constructor)f(of)i(the)h Fm(FEValues)22
-b Fn(class)j(can)330 1992 y(b)r(e)c(used,)h(whic)n(h)e(tak)n(es)f(a)h
-(mapping)g(ob)5 b(ject)20 b(as)g(\014rst)g(argumen)n(t,)h(b)r(efore)f
-(the)h(other)e(argumen)n(ts)330 2092 y(listed)28 b(ab)r(o)n(v)n(e.)455
-2191 y(Next)f(w)n(e)h(de\014ne)g(abbreviations)e(for)h(the)h(v)-5
-b(alues)27 b(of)g Fk(N)2213 2203 y Fh(K)2305 2191 y Fn(and)g
-Fk(N)2533 2203 y Fh(q)2570 2191 y Fn(:)417 2344 y Fm(const)42
-b(unsigned)e(int)592 2444 y(dofs_per_cell)e(=)43 b(fe.dofs_per_cell)o
-(,)592 2544 y(n_q_points)170 b(=)43 b(quadrature_formu)o(la)o(.n_)o(qu)
-o(adr)o(at)o(ur)o(e_p)o(oi)o(nts)o(;)330 2697 y Fn(Then)28
-b(ha)n(v)n(e)e(an)i(ob)5 b(ject)27 b(to)g(store)g(the)h(matrix)1845
-2676 y(^)1823 2697 y Fk(A)1885 2667 y Fh(K)1949 2697
-y Fn(,)g(whic)n(h)g(is)f(of)h(size)f Fk(N)2640 2709 y
-Fh(K)2722 2697 y Fj(\002)18 b Fk(N)2872 2709 y Fh(K)2936
-2697 y Fn(:)417 2850 y Fm(FullMatrix- Wolfgang Bangerth, 1998, 1999, 2000 -
- - --The class hierarchy of the accessor classes used to retrieve and store -data in the triangulation and degree of freedom handler objects is one -of the more complicated parts of the library. It makes heavy use of -class templates with integers as template parameters as well as of -explicit specialization of classes and member functions. Therefore, -it is not so easy to see the connections and inheritance relations -within this part of the class tree; this document tries to shed a bit -of light onto this. -
- --Furthermore, it lists the member functions that can be queried to -obtain information from an iterator. -
- - -Table of contents --When using adative finite elements, the data structures often are -extremely complex, requiring multiply indirected access and complex -relationships between the different places where data is stored. The -traditional way to handle this is to put all data which belongs -together somehow into a structure or object; however, sometimes this -can not be done efficiently, leading to either higher memory -consumption (when you have to store many small data pieces and because -you have to store a lot of pointers to other objects) or higher coding -requirements (when you want to follow all those pointers to the object -you desire). -
- --Therefore, we took over a concept which was already used in the C++ -standard template library, namely iterators and accessors. An accessor -is an object that looks like if it had all the information stored but -really only delegates the access to the right places; in fact, within -this library, accessor store almost no information but know where to -get everything from the complex and nested data structures the -triangulation object offers. They have a simple interface which allows -to extract any desired information from the triangulation and -therefore makes access much easier and safer in three ways: first it -performs range and parameter checking when in debugging mode; second, -it encapsulates the access to the real data from the user, hiding the -true data structures and thus allowing them without changing the user -programs as well as those parts of the library which only act through -accessors; and third by reducing the coding errors because of reduced -complexity, since the chains of indirect access are replaces by simple -commands. -
- -
-Iterators are a related concept: while accessors act as if they were
-structures with data contained in them, iterators act as if they were
-pointers pointing to accessors. You can dereference them using the
--> and * operators as with any other pointer, but they have more
-functionality. Essentially, they have overloaded ++ and -- operators,
-which allow the next or previous object pointed to to be just about
-anywhere in memory. A good introductory example are the iterators of
-the STL list<T>
class, which act on a linked list
-as if it were a contiguous array. The iterators in this library go
-even a step further: they do not point to different objects but rather
-tell the associated accessor object which data to look at
-next.
-
-Additionally, there are different versions of the iterators which -behave differently when being incremented or decremented: while -raw iterators let the associated accessor point to any of the -objects it is made for, normal iterators always point to -objects which are in use. Usually, you will not want to see cells or -lines which are there but are unused by the triangulation (these cells -are somewhat like holes in the arrays of the triangulation; such -things happen when unrefining a cell, the freed memory is then kept -for a while because of better efficiency), so you will almost never -want to use raw iterators; they are mostly there for internal use in -the library. Normal iterators are almost like raw iterators, but -whenever you call the ++ or -- operator, the look at what they are -pointing at and skip all unused elements by increasing or decreasing -the pointer as often as necessary to reach the next used object. -
- --Finally, there are active iterators, which are the most -important ones. They are like normal iterators but only point to -active cells or lines. By active we mean that they have no children; -in the context in which this library is used, this is equivalent to -the fact that we do computations on these cells, lines or -whatever. Active iterators are normal iterators which skip over all -non-active cells, lines, etc when being incremented or decremented. -
- - - - --The triangulation accessors are used to retrieve and store data in the -triangulation. There exist accessors for lines in one and higher -dimensions, accessors for quads in two and higher dimensions, and so -on. The general naming scheme is as follows: -
TriaAccessor<dim>
is a general base class
- which is of not much interest.
-TriaObjectAccessor<objectdim,spacedim>
denotes
- an accessor for an object with dimension
- objectdim
in a spacedim
dimensional
- space. It is derived from TriaAccessor<spacedim>
.
-CellAccessor<dim>
presents the special
- properties that a cell has. It is therefore derived from
- TriaObjectAccessor<spacedimdim,spacedim>
.
--Their inheritance trees in the different space dimensions therefore -look like this: -
- -- -
- -
- -
-Some of the data is only useful if an object is a cell. For example, -neighborship is only accessible for cells, while faces (e.g. lines in -2D) can't access their neighbors (neither the adjacent cells, nor the -other faces it touches). Therefore, the CellAccessor classes are -derived from whatever object a cell is in the respective dimension, -i.e. from lines in 1D, from quads in 2D, and so on. -
- - - - -
-The Triangulation<1>
class declares the following data
-types which involve accessors:
-
- typedef TriaRawIterator <1,CellAccessor<1> > raw_line_iterator; - typedef TriaIterator <1,CellAccessor<1> > line_iterator; - typedef TriaActiveIterator<1,CellAccessor<1> > active_line_iterator; - - typedef raw_line_iterator raw_cell_iterator; - typedef line_iterator cell_iterator; - typedef active_line_iterator active_cell_iterator; --Since lines are cells in one space dimension, all line iterators are -cell iterators as well. - - -
-In two space dimensions, the following types are declared by the
-Triangulation<2>
class:
-
- typedef TriaRawIterator <2,TriaObjectAccessor<1, 2> > raw_line_iterator; - typedef TriaIterator <2,TriaObjectAccessor<1, 2> > line_iterator; - typedef TriaActiveIterator<2,TriaObjectAccessor<1, 2> > active_line_iterator; - - typedef TriaRawIterator <2,CellAccessor<2> > raw_quad_iterator; - typedef TriaIterator <2,CellAccessor<2> > quad_iterator; - typedef TriaActiveIterator<2,CellAccessor<2> > active_quad_iterator; - - typedef raw_quad_iterator raw_cell_iterator; - typedef quad_iterator cell_iterator; - typedef active_quad_iterator active_cell_iterator; - - typedef raw_line_iterator raw_face_iterator; - typedef line_iterator face_iterator; - typedef active_line_iterator active_face_iterator; --Since in this space dimension, quads are cells and lines are the faces -of cells, the appropriate face and cell iterators are declared in -terms of the underlying accessor types. - - - -
-In three space dimensions, the following types are declared by the
-Triangulation<3>
class:
-
- typedef TriaRawIterator <3,TriaObjectAccessor<1, 3> > raw_line_iterator; - typedef TriaIterator <3,TriaObjectAccessor<1, 3> > line_iterator; - typedef TriaActiveIterator<3,TriaObjectAccessor<1, 3> > active_line_iterator; - - typedef TriaRawIterator <3,TriaObjectAccessor<2, 3> > raw_quad_iterator; - typedef TriaIterator <3,TriaObjectAccessor<2, 3> > quad_iterator; - typedef TriaActiveIterator<3,TriaObjectAccessor<2, 3> > active_quad_iterator; - - typedef TriaRawIterator <3,CellAccessor<3> > raw_hex_iterator; - typedef TriaIterator <3,CellAccessor<3> > hex_iterator; - typedef TriaActiveIterator<3,CellAccessor<3> > active_hex_iterator; - - typedef raw_hex_iterator raw_cell_iterator; - typedef hex_iterator cell_iterator; - typedef active_hex_iterator active_cell_iterator; - - typedef raw_quad_iterator raw_face_iterator; - typedef quad_iterator face_iterator; - typedef active_quad_iterator active_face_iterator; --Since in this space dimension, hexes are cells and quads are the faces -of cells, the appropriate face and cell iterators are declared in -terms of the underlying accessor types. - - - - - -
-We briefly state a short list of the functions offered by the
-triangulation accessors. For a more complete discussion of these
-functions, please refer to the online
-API
-documentation of the `grid' classes. These functions can be
-accessed by iterator->function()
if iterator
-is a cell-, face-, hex-, quad-, or line-iterator. Some functions are
-not available for all iterator types, which is noted for the
-individual entries.
-
true
for all iterators that are either normal iterators
- or active iterators, only raw iterators can return
- false
. Since raw iterators are only used in the
- interiors of the library, you will not usually need this function.
- -The DoFAccessor classes provide access to the degree of freedom -information associated with cells, lines, etc. The inheritance -relationship is much the same as for the triangulation accessor -classes, as can be seen from the following pictures. - -
- - -
- - -
- -
-The main difference to the triangulation accessor hierarchy is that we -want the DoF accessors to provide the information about the degrees of -freedom, but for convenience also that of the triangulation. This way, -we can get all the information from one object rather than needing two -which work in parallel, and the class hierarchy shown above does -exactly this. -
- -
-For the named reason, it is necessary to derive the
-DoFObjectAccessor<1,dim>
from the
-TriaObjectAccessor<1,dim>
class of the
-triangulation accessor hierarchy, as well as the
-DoFObjectAccessor<2,dim>
from the
-TriaObjectAccessor<2,dim>
. However, we would also
-like to include the functionality added by the CellAccessor class;
-this is done through some template magic: when in one space dimension,
-the DoFObjectAccessor<1,1>
is derived from
-CellAccessor<1>, while when in higher dimensions, it is derived
-from DoFObjectAccessor<1,dim>
; the same applies for
-the DoFObjectAccessor<2,dim>
class. Note that this
-way, CellAccessor is always a base class to DoFCellAccessor and the
-inheritance lattice is dimension dependant; the exact way of achieving
-this is complicated but not of interest here.
-
-The typedefs done by the DoFHandler class are much alike those done by -the Triangulation class. They could be summarized as follows: -
- --For one space dimension: -
- typedef TriaRawIterator <1,DoFCellAccessor<1> > raw_line_iterator; - typedef TriaIterator <1,DoFCellAccessor<1> > line_iterator; - typedef TriaActiveIterator<1,DoFCellAccessor<1> > active_line_iterator; - - typedef raw_line_iterator raw_cell_iterator; - typedef line_iterator cell_iterator; - typedef active_line_iterator active_cell_iterator; --Since lines are cells in one space dimension, all line iterators are -cell iterators as well. - - -
-For two space dimensions: -
- typedef TriaRawIterator <2,DoFObjectAccessor<1, 2> > raw_line_iterator; - typedef TriaIterator <2,DoFObjectAccessor<1, 2> > line_iterator; - typedef TriaActiveIterator<2,DoFObjectAccessor<1, 2> > active_line_iterator; - - typedef TriaRawIterator <2,DoFCellAccessor<2> > raw_quad_iterator; - typedef TriaIterator <2,DoFCellAccessor<2> > quad_iterator; - typedef TriaActiveIterator<2,DoFCellAccessor<2> > active_quad_iterator; - - typedef raw_quad_iterator raw_cell_iterator; - typedef quad_iterator cell_iterator; - typedef active_quad_iterator active_cell_iterator; - - typedef raw_line_iterator raw_face_iterator; - typedef line_iterator face_iterator; - typedef active_line_iterator active_face_iterator; -- - -
-For three space dimensions: -
- typedef TriaRawIterator <3,DoFObjectAccessor<1, 3> > raw_line_iterator; - typedef TriaIterator <3,DoFObjectAccessor<1, 3> > line_iterator; - typedef TriaActiveIterator<3,DoFObjectAccessor<1, 3> > active_line_iterator; - - typedef TriaRawIterator <3,DoFObjectAccessor<2, 3> > raw_quad_iterator; - typedef TriaIterator <3,DoFObjectAccessor<2, 3> > quad_iterator; - typedef TriaActiveIterator<3,DoFObjectAccessor<2, 3> > active_quad_iterator; - - typedef TriaRawIterator <3,DoFCellAccessor<3> > raw_hex_iterator; - typedef TriaIterator <3,DoFCellAccessor<3> > hex_iterator; - typedef TriaActiveIterator<3,DoFCellAccessor<3> > active_hex_iterator; - - typedef raw_hex_iterator raw_cell_iterator; - typedef hex_iterator cell_iterator; - typedef active_hex_iterator active_cell_iterator; - - typedef raw_quad_iterator raw_face_iterator; - typedef quad_iterator face_iterator; - typedef active_quad_iterator active_face_iterator; -- - - - - -
-Since degree of freedom accessors are derived from triangulation -accessors, they inherit the functionality of these accessors, but add -some of their own. We only list the additional functionality -below. For a full reference, including data types of parameters and -return values, please refer to the general -API -documentation of the `DoF' classes. -
- - --