From 1b19d95e647335f4bec1c00d3f979e3e669d81eb Mon Sep 17 00:00:00 2001 From: yfr Date: Mon, 19 Jul 2004 16:00:04 +0000 Subject: [PATCH] DCQ:prepare 2.0.0 --- doc/DevelopersGuide/DevelopersGuide.tex.in | 1056 ---- doc/DevelopersGuide/Makefile.in | 61 - doc/DevelopersGuide/SALOME.png | Bin 23887 -> 0 bytes doc/DevelopersGuide/SALOME.ps | 4601 ----------------- doc/DevelopersGuide/bldtree.eps | 366 -- doc/DevelopersGuide/bldtree.fig | 130 - doc/DevelopersGuide/bldtree.pdf | Bin 3761 -> 0 bytes doc/DevelopersGuide/makefile.skel | 40 - doc/DevelopersGuide/makefile_own.skel | 10 - doc/DevelopersGuide/srctree_module.eps | 364 -- doc/DevelopersGuide/srctree_module.fig | 110 - doc/DevelopersGuide/srctree_module.pdf | Bin 4053 -> 0 bytes doc/DevelopersGuide/srctree_unit.eps | 425 -- doc/DevelopersGuide/srctree_unit.fig | 145 - doc/DevelopersGuide/srctree_unit.pdf | Bin 4432 -> 0 bytes doc/DevelopersGuide/subtrees.eps | 187 - doc/DevelopersGuide/subtrees.fig | 57 - doc/DevelopersGuide/subtrees.pdf | Bin 1498 -> 0 bytes doc/KernelResources/kernel_resources-1.html | 224 - doc/KernelResources/kernel_resources-2.html | 137 - doc/KernelResources/kernel_resources-3.html | 77 - doc/KernelResources/kernel_resources.html | 56 - doc/KernelResources/kernel_resources.lyx | 915 ---- doc/html/INPUT/HTML/Logger.html | 18 - doc/html/INPUT/HTML/SALOMEDS.html | 602 --- doc/html/INPUT/HTML/SALOMEDS_Attributes.html | 862 --- doc/html/INPUT/HTML/SALOME_Component.html | 78 - .../INPUT/HTML/SALOME_DataTypeCatalog.html | 30 - doc/html/INPUT/HTML/SALOME_Exception.html | 2 - doc/html/INPUT/HTML/SALOME_ModuleCatalog.html | 70 - doc/html/INPUT/HTML/SALOME_Registry.html | 42 - .../INPUT/HTML/SALOME_RessourcesCatalog.html | 22 - doc/html/INPUT/HTML/SALOME_Session.html | 30 - doc/html/INPUT/HTML/SALOME_TestComponent.html | 14 - doc/html/INPUT/HTML/TestNotif.html | 22 - doc/html/INPUT/HTML/TypeData.html | 2 - doc/html/INPUT/doxyfile | 209 - doc/html/INPUT/exemple/Example1.html | 54 - doc/html/INPUT/exemple/Example10.html | 59 - doc/html/INPUT/exemple/Example11.html | 59 - doc/html/INPUT/exemple/Example12.html | 67 - doc/html/INPUT/exemple/Example13.html | 68 - doc/html/INPUT/exemple/Example14.html | 57 - doc/html/INPUT/exemple/Example15.html | 51 - doc/html/INPUT/exemple/Example16.html | 158 - doc/html/INPUT/exemple/Example17.html | 162 - doc/html/INPUT/exemple/Example18.html | 171 - doc/html/INPUT/exemple/Example19.html | 547 -- doc/html/INPUT/exemple/Example2.html | 46 - doc/html/INPUT/exemple/Example20.html | 160 - doc/html/INPUT/exemple/Example21.html | 136 - doc/html/INPUT/exemple/Example22.html | 137 - doc/html/INPUT/exemple/Example23.html | 35 - doc/html/INPUT/exemple/Example3.html | 68 - doc/html/INPUT/exemple/Example4.html | 66 - doc/html/INPUT/exemple/Example5.html | 58 - doc/html/INPUT/exemple/Example6.html | 56 - doc/html/INPUT/exemple/Example7.html | 55 - doc/html/INPUT/exemple/Example8.html | 64 - doc/html/INPUT/exemple/Example9.html | 59 - doc/html/INPUT/sources/Application-About.png | Bin 19226 -> 0 bytes doc/html/INPUT/sources/Application-About1.jpg | Bin 14327 -> 0 bytes doc/html/INPUT/sources/application.gif | Bin 2602 -> 0 bytes doc/html/INPUT/sources/application.jpg | Bin 792 -> 0 bytes doc/html/INPUT/sources/bg_salome.gif | Bin 17294 -> 0 bytes doc/html/INPUT/sources/logocorp.gif | Bin 1792 -> 0 bytes doc/html/INPUT/sources/myheader.html | 24 - doc/html/INPUT/sources/occ.gif | Bin 14790 -> 0 bytes doc/html/INPUT/sources/static/Link.gif | Bin 13959 -> 0 bytes doc/html/INPUT/sources/static/SObject.gif | Bin 4966 -> 0 bytes .../INPUT/sources/static/Study_Struct.gif | Bin 5833 -> 0 bytes doc/html/INPUT/sources/static/doxygen.css | 49 - .../INPUT/sources/static/examples_Kernel.html | 134 - .../sources/static/examples_Life_cycle.html | 116 - .../INPUT/sources/static/examples_Naming.html | 66 - .../INPUT/sources/static/examples_Study.html | 790 --- doc/html/INPUT/sources/static/mapping.html | 329 -- doc/html/INPUT/sources/static/ns_f3-1.jpg | Bin 8650 -> 0 bytes .../INPUT/sources/static/overview_Kernel.html | 191 - .../sources/static/overview_Life_Cycle.html | 90 - .../INPUT/sources/static/overview_Naming.html | 197 - .../INPUT/sources/static/overview_Study.html | 261 - doc/html/INPUT/sources/static/page2.html | 34 - doc/html/INPUT/sources/static/tree.js | 200 - doc/html/INPUT/sources/static/treeview.js | 505 -- doc/html/Makefile.in | 42 - 86 files changed, 16385 deletions(-) delete mode 100644 doc/DevelopersGuide/DevelopersGuide.tex.in delete mode 100644 doc/DevelopersGuide/Makefile.in delete mode 100644 doc/DevelopersGuide/SALOME.png delete mode 100644 doc/DevelopersGuide/SALOME.ps delete mode 100644 doc/DevelopersGuide/bldtree.eps delete mode 100644 doc/DevelopersGuide/bldtree.fig delete mode 100644 doc/DevelopersGuide/bldtree.pdf delete mode 100644 doc/DevelopersGuide/makefile.skel delete mode 100644 doc/DevelopersGuide/makefile_own.skel delete mode 100644 doc/DevelopersGuide/srctree_module.eps delete mode 100644 doc/DevelopersGuide/srctree_module.fig delete mode 100644 doc/DevelopersGuide/srctree_module.pdf delete mode 100644 doc/DevelopersGuide/srctree_unit.eps delete mode 100644 doc/DevelopersGuide/srctree_unit.fig delete mode 100644 doc/DevelopersGuide/srctree_unit.pdf delete mode 100644 doc/DevelopersGuide/subtrees.eps delete mode 100644 doc/DevelopersGuide/subtrees.fig delete mode 100644 doc/DevelopersGuide/subtrees.pdf delete mode 100644 doc/KernelResources/kernel_resources-1.html delete mode 100644 doc/KernelResources/kernel_resources-2.html delete mode 100644 doc/KernelResources/kernel_resources-3.html delete mode 100644 doc/KernelResources/kernel_resources.html delete mode 100644 doc/KernelResources/kernel_resources.lyx delete mode 100644 doc/html/INPUT/HTML/Logger.html delete mode 100644 doc/html/INPUT/HTML/SALOMEDS.html delete mode 100644 doc/html/INPUT/HTML/SALOMEDS_Attributes.html delete mode 100644 doc/html/INPUT/HTML/SALOME_Component.html delete mode 100644 doc/html/INPUT/HTML/SALOME_DataTypeCatalog.html delete mode 100644 doc/html/INPUT/HTML/SALOME_Exception.html delete mode 100644 doc/html/INPUT/HTML/SALOME_ModuleCatalog.html delete mode 100644 doc/html/INPUT/HTML/SALOME_Registry.html delete mode 100644 doc/html/INPUT/HTML/SALOME_RessourcesCatalog.html delete mode 100644 doc/html/INPUT/HTML/SALOME_Session.html delete mode 100644 doc/html/INPUT/HTML/SALOME_TestComponent.html delete mode 100644 doc/html/INPUT/HTML/TestNotif.html delete mode 100644 doc/html/INPUT/HTML/TypeData.html delete mode 100755 doc/html/INPUT/doxyfile delete mode 100755 doc/html/INPUT/exemple/Example1.html delete mode 100755 doc/html/INPUT/exemple/Example10.html delete mode 100755 doc/html/INPUT/exemple/Example11.html delete mode 100755 doc/html/INPUT/exemple/Example12.html delete mode 100755 doc/html/INPUT/exemple/Example13.html delete mode 100755 doc/html/INPUT/exemple/Example14.html delete mode 100755 doc/html/INPUT/exemple/Example15.html delete mode 100755 doc/html/INPUT/exemple/Example16.html delete mode 100755 doc/html/INPUT/exemple/Example17.html delete mode 100755 doc/html/INPUT/exemple/Example18.html delete mode 100755 doc/html/INPUT/exemple/Example19.html delete mode 100755 doc/html/INPUT/exemple/Example2.html delete mode 100755 doc/html/INPUT/exemple/Example20.html delete mode 100755 doc/html/INPUT/exemple/Example21.html delete mode 100755 doc/html/INPUT/exemple/Example22.html delete mode 100755 doc/html/INPUT/exemple/Example23.html delete mode 100755 doc/html/INPUT/exemple/Example3.html delete mode 100755 doc/html/INPUT/exemple/Example4.html delete mode 100755 doc/html/INPUT/exemple/Example5.html delete mode 100755 doc/html/INPUT/exemple/Example6.html delete mode 100755 doc/html/INPUT/exemple/Example7.html delete mode 100755 doc/html/INPUT/exemple/Example8.html delete mode 100755 doc/html/INPUT/exemple/Example9.html delete mode 100755 doc/html/INPUT/sources/Application-About.png delete mode 100755 doc/html/INPUT/sources/Application-About1.jpg delete mode 100644 doc/html/INPUT/sources/application.gif delete mode 100755 doc/html/INPUT/sources/application.jpg delete mode 100755 doc/html/INPUT/sources/bg_salome.gif delete mode 100755 doc/html/INPUT/sources/logocorp.gif delete mode 100755 doc/html/INPUT/sources/myheader.html delete mode 100755 doc/html/INPUT/sources/occ.gif delete mode 100755 doc/html/INPUT/sources/static/Link.gif delete mode 100755 doc/html/INPUT/sources/static/SObject.gif delete mode 100755 doc/html/INPUT/sources/static/Study_Struct.gif delete mode 100755 doc/html/INPUT/sources/static/doxygen.css delete mode 100755 doc/html/INPUT/sources/static/examples_Kernel.html delete mode 100755 doc/html/INPUT/sources/static/examples_Life_cycle.html delete mode 100755 doc/html/INPUT/sources/static/examples_Naming.html delete mode 100755 doc/html/INPUT/sources/static/examples_Study.html delete mode 100755 doc/html/INPUT/sources/static/mapping.html delete mode 100755 doc/html/INPUT/sources/static/ns_f3-1.jpg delete mode 100755 doc/html/INPUT/sources/static/overview_Kernel.html delete mode 100755 doc/html/INPUT/sources/static/overview_Life_Cycle.html delete mode 100755 doc/html/INPUT/sources/static/overview_Naming.html delete mode 100755 doc/html/INPUT/sources/static/overview_Study.html delete mode 100755 doc/html/INPUT/sources/static/page2.html delete mode 100755 doc/html/INPUT/sources/static/tree.js delete mode 100644 doc/html/INPUT/sources/static/treeview.js delete mode 100644 doc/html/Makefile.in diff --git a/doc/DevelopersGuide/DevelopersGuide.tex.in b/doc/DevelopersGuide/DevelopersGuide.tex.in deleted file mode 100644 index ae8a400fe..000000000 --- a/doc/DevelopersGuide/DevelopersGuide.tex.in +++ /dev/null @@ -1,1056 +0,0 @@ -\documentclass[11pt,a4paper]{article} -\usepackage{isolatin1} -\usepackage{psfig} -\usepackage{graphicx} -\usepackage{fancyheadings} -\usepackage{lastpage} -\usepackage{epic} -\usepackage{longtable} -\usepackage{times} -\usepackage{verbatim} - -% -%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% mise en page du document % -%%%%%%%%%%%%%%%%%%%%%%%%%%%% - \voffset -20pt - \topmargin 0 cm - \headheight 15pt - \headsep 0 cm - \textheight 670 pt - \footskip 1 cm - \marginparwidth 0 cm - \oddsidemargin 0 cm - \evensidemargin 0 cm - \textwidth 16.2 cm - \parindent 0 cm - -% -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% test si on passe par pdflatex % -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\newif\ifpdf - \ifx\pdfoutput\undefined - \pdffalse % we are not running pdflatex - \else - \pdfoutput=1 % we are running pdflatex - \pdfcompresslevel=9 % compression level for text and image; - \pdftrue - \fi - -\ifpdf -\usepackage{thumbpdf} -\usepackage[pdftex, - colorlinks=true, - urlcolor=rltblue, % \href{...}{...} external (URL) - filecolor=rltgreen, % \href{...} local file - linkcolor=rltred, % \ref{...} and \pageref{...} - pdftitle={Adding a new module or unit development}, - pdfauthor={Patrick Goldbronn, Marc Tajchman}, - pdfsubject={}, - pdfkeywords={}, - pagebackref, - pdfpagemode=None, - bookmarksopen=true]{hyperref} -\usepackage{color} -\definecolor{rltred}{rgb}{0.75,0,0} -\definecolor{rltgreen}{rgb}{0,0.5,0} -\definecolor{rltblue}{rgb}{0,0,0.75} -\else -\usepackage{color} -\fi - -%% -%%%%%%%%%%%%%%%%%%%%%%%%% -%% epaisseur des traits % -%%%%%%%%%%%%%%%%%%%%%%%%% -\linethickness{1pt} -%% -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%% mise en page des environnement array % -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - \arraycolsep 2pt - \renewcommand{\arraystretch}{1.6} -%% -%%%%%%%%%%%%%%%%%%%%%%%%%%% -%% interligne du document % -%%%%%%%%%%%%%%%%%%%%%%%%%%% -\renewcommand{\baselinestretch}{1.2} -%% -%%%%%%%%%%%%%%%%%%%%%%%% -%% haut et bas de page % -%%%%%%%%%%%%%%%%%%%%%%%% -\newcommand{\version}{0.3} - -\pagestyle{fancy} -% - \chead{} - \lhead{} - \rhead{} -% - \lfoot{ - SALOME - } - \cfoot{ - Using the SALOME configuration and building system V. \version - } - \rfoot{ - \thepage/\pageref{LastPage} - } -%% - \setlength{\headrulewidth}{0pt} - \setlength{\footrulewidth}{1pt} -% -%----------------------------------------------------------- -% Les racourcis : -\newcommand{\fsc}{\sc} - - -%%----------------------------------------------------------- -%%----------------------------------------------------------- -%%----------------------------------------------------------- - - -%% Bring items closer together in list environments -% Prevent infinite loops -\let\Itemize =\itemize -\let\Enumerate =\enumerate -\let\Description =\description -% Zero the vertical spacing parameters -\def\Nospacing{\itemsep=4pt\topsep=-5pt\partopsep=-5pt% -\parskip=0pt\parsep=0pt} -% Redefinition de art12.sty pour commencer a la marge de gauche -%\leftmargini 1.2em % 2.5em - -\def\noitemsep{ -% Redefine the environments in terms of the original values -\renewenvironment{itemize}{\Itemize\Nospacing}{\endlist} -\renewenvironment{enumerate}{\Enumerate\Nospacing}{\endlist} -\renewenvironment{description}{\Description\Nospacing}% -{\endlist} -} - -\def\doitemsep{ -% Redefine the environments to the original values -\renewenvironment{itemize}{\Itemize}{\endlist} -\renewenvironment{enumerate}{\Enumerate}{\endlist} -\renewenvironment{description}{\Description}{\endlist} -} - -%%%% fin macro %%%% - -\begin{document} -\noitemsep - -%%%%%%%%%%%%%%%%%%%% -%% TITRE AUTEUR(S) % -%%%%%%%%%%%%%%%%%%%% - -\textcolor{white}{.} -\vfill\vfill -\begin{figure}[!h] -\begin{center} -\ifpdf - \includegraphics[width=11.88cm, height=5.11cm]{@srcdir@/SALOME.png} -\else - \includegraphics[width=11.88cm, height=5.11cm]{@srcdir@/SALOME.ps} -\fi -\end{center} -\end{figure} - -\bigskip -\bigskip - -\begin{center} -{\usefont{T1}{phv}{bx}{n} -\huge Using the SALOME configuration and building system -environment -} -\bigskip -\medskip - -{\LARGE Version \version} -\end{center} - -\vfill - -{ -\large -\renewcommand{\arraystretch}{0.85} -\begin{tabular}{lll} -Patrick & Goldbronn & C.E.A. \\ -Marc & Tajchman & C.E.A. -\end{tabular} -} - - -\def\Mkin{{\tt Makefile.in }} - -\thispagestyle{empty} - -\newpage -%----------------------------------------------------------- -\section*{Successive versions} - -\vfill -\begin{tabular}{|p{2cm}|p{1.5cm}|p{8cm}|p{2cm}|} -\hline -\textbf{Date} & \textbf{Version} & \textbf{Description} & \textbf{Author(s)}\\ -\hline -10/07/2001& 0.0 & Initial version & PG \\ -\hline -25/07/2001 & 0.1 & English traduction, rewriting & MT \\ -\hline -29/08/2001 & 0.2 & Add source creation, some precision & PG \\ -\hline -24/05/2002 & 0.3 & Add instruction to do installation correctly & PG \\ -\hline -\end{tabular} -\vfill -\vfill - -%\thispagestyle{empty} -\newpage -%----------------------------------------------------------- - \begin{abstract} - This document contains rules and advices to configure, - build and extend the SALOME platform. - \end{abstract} - - \newpage -%----------------------------------------------------------- - \tableofcontents - \newpage - \parskip 0.2 cm -%----------------------------------------------------------- -\newpage - -\section{SALOME Configuration} - -\subsection{Directories organisation} - -We suppose here that you unpack the SALOME distribution from scratch. -The path to the SALOME sources will be named ``top source directory'' -or {\tt SALOME\_ROOT}. - -It is possible, but not advised, to build the set of binaries and libraries -in the same subtree. Instead, we suppose you have choosen a different subtree -where to put builded files (you can so build to multiples architectures from the same source tree). The root of the build subtree will be named -``top build directory''. - -At the end of configuration and compilation processs, you may install -builded files in a separate subtree, name ``installation subtree''. -The root of the installation subtree will be named ``top installation directory''. - -The figure \ref{FigDirs} shows subtrees organisation. - -\begin{figure}[h] -\ifpdf - \includegraphics{@srcdir@/subtrees.pdf} -\else - \includegraphics{@srcdir@/subtrees.eps} -\fi -\caption{\label{FigDirs} Subtrees organisation} -\end{figure} - -\subsection{PreConfiguration step} - -SALOME needs some environment variables (to be defined for example in -a .cshrc or .bashrc file in your home directory)~: - -\begin{tabular}{|p{3.5cm}|p{11cm}|} -\hline -\it variable & \it set value and check \\ -\hline -{\tt QTDIR} & root directory of qt distribution ({\tt \$QTDIR/lib} must contain libqt.so) \\ -\hline -{\tt HDF5HOME} & root directory of hdf5 distribution ({\tt \$HDF5HOME/lib} must contain libhdf5.so) \\ -\hline -{\tt VTKHOME} & root directory of vtk distribution ({\tt \$VTKHOME/common} must contain libVTKCommon.so) \\ -\hline -{\tt CASROOT} & root directory of OpenCascade distribution ({\tt \$CASROOT/Linux/lib} must contain libTKernel.so) \\ -\hline -{\tt PYTHONHOME} & root directory of python distribution ({\tt \$PYTHONHOME/lib/pythonXXX/config} must contain libpythonXXX.a) \\ -\hline -{\tt OMNIORB\_CONFIG } & path to the omniORB.cfg file (this file contains default -options to omniORB, see below) \\ -\hline -\end{tabular} - -\bigskip -Create a file named omniORB.cfg in your root tree, containing default -options to omniORB. Put in this file, the following line~: -\begin{verbatim} -ORBInitRef NameService=corbaname::localhost -\end{verbatim} - -(tells omniORB that the CORBA name service is local). - -\subsection{Configuration step} - -\begin{enumerate} -\item There are two cases~: -\begin{itemize} -\item There is a {\tt configure} file in the top source directory, -and you didn't change the SALOME structure (adding a module or unit, -see sections \ref{sec_module} or \ref{sec_unit} below). -Go to point \ref{pConf}. -\item You don't have a {\tt configure} file or you add a module/unit -in the SALOME system. -Go to point \ref{pReConf} -\end{itemize} - -\item \label{pReConf} -Go to the top source directory and type~: -\begin{verbatim} -./reconfigure -\end{verbatim} -This script find all file with suffix {\tt .in} (which will be generate by {\tt configure} script) and add them in {\tt configure.in} file, launch {\tt aclocal} and {\tt autoconf} to generete {\tt configure} script. - -Continue with point \ref{pConf} - -\item \label{pConf} -Go to the top build directory you choose. - -If you plan to install SALOME files after building in a non-standard -location (i.e. different from /usr/local), type~: - -\begin{verbatim} -/configure \ - --prefix= -\end{verbatim} - -otherwise, type~: -\begin{verbatim} -/configure -\end{verbatim} - -where ``path to the top source directory'' is to be replaced by the path -to the SALOME sources. - -For other options to the configure command, type~: -\begin{verbatim} -/configure --help -\end{verbatim} - -This will create a mirror subtree of the sources into the top build directory -where object files, binaries and libraries will be builded. Also a makefile -system will be created into the build tree. - -\end{enumerate} - -\subsection{PostConfiguration step} - -This phase is optional, to be used only if the compilation process -(see next section) fails to use {\tt libtool} script. - -On some systems, the {\tt libtool} script generated by the configure -command will not operate correctly during compilation -(see next section). If you encounter this situation, -copy the local libtool script in your system (e.g. in the /usr/bin -directory) to the top build directory after configuration and before -compilation phases. - -Check the following line in libtool script : -\begin{verbatim} -deplibs_check_method=... -\end{verbatim} - -If needed, replace this line by -\begin{verbatim} -deplibs_check_method="pass_all" -\end{verbatim} - -\section{SALOME compilation} - -From the top build directory, type -\begin{verbatim} -make -\end{verbatim} - -After some time (be patient ...), it will create various binaries. -Building SALOME is split in several phases~: - -\begin{itemize} -\item {\tt make inc} : copy/update header files exported by development units -in the directory {\tt inc} of the build tree ; -\item {\tt make depend\_idl} : determine dependencies between idl files (useful when recompiling SALOME after idl modification); -\item {\tt make depend (make dep)} : determine dependencies between source files and header files (useful when recompiling SALOME after source modification); -\item {\tt make lib} : generate libraries, put a copy/link into the {\tt lib} directory of the build tree; -\item {\tt make bin} : generate binaries; -\item {\tt make tests (make check)} : build and run tests (not yet implemented). -\end{itemize} - -After building, testing, the user may install the system in a choosen directory -(different from and not included in the top source directory and the top build directory). - -From the top build directory, type~: -\begin{quotation}\noindent% - {\tt make install} : install libraries, header and idl files, binaries, -resource files in the installation directory -\end{quotation} - -\section{\label{sec_module}Module creation} - -In this section, the new module will be named {\tt }. Replace -each occurence with the real name of your module. - -\begin{enumerate} -\item In the source tree root {\tt SALOME\_ROOT}, create a new directory -{\tt } : - -\begin{verbatim} -cd SALOME_ROOT -mkdir -\end{verbatim} - -\item Modify the \Mkin file in the {\tt SALOME\_ROOT} directory to add the new module~: - -Append to the line beginning with -\begin{verbatim} -SUBDIRS = -\end{verbatim} - -the name of the new module. - -\item In the module root directory, create two subdirectories {\tt src} and {\tt resources} and create a file \Mkin - (e.g. copy the corresponding file in {\tt GEOM} module for example)~: - -\begin{verbatim} -cd -mkdir src -mkdir resources -cp ../GEOM/Makefile.in . -\end{verbatim} - -\item In the {\tt src} subdirectory, copy a \Mkin file (e.g. from the corresponding file in {\tt GEOM/src} subdirectory for example)~: - -\begin{verbatim} -cd src -cp ../../GEOM/src/Makefile.in . -\end{verbatim} - -\item Edit this file and replace the line -\begin{verbatim} -MODULE = GEOM -\end{verbatim} - -with -\begin{verbatim} -MODULE = -\end{verbatim} - -\item Edit this file and replace the line -\begin{verbatim} -SUBDIRS = GEOMDS GEOM GEOMGUI -\end{verbatim} - -with -\begin{verbatim} -SUBDIRS = -\end{verbatim} - -(empty list of development units in this module). - -\item Edit this file and replace the line -\begin{verbatim} -RESOURCES_FILES = arc.png \ -... -\end{verbatim} - -with -\begin{verbatim} -RESOURCES_FILES = -\end{verbatim} - -(list of all ressources for this module). - -\item Add the new \Mkin files in the global list of .in files. - -In the root directory of the source tree, execute the {\tt reconfigure} -script or manually : - -\begin{enumerate} -\item edit the configure.in file in the source tree root, -add \Mkin files into the {\tt AC\_OUTPUT} list, -\item from the source tree root directory, run the {\tt genconf} script which launch {\tt aclocal} and {\tt autoconf}. -\end{enumerate} - -\end{enumerate} - -Figure \ref{srctree_module} summarize these changes. - -\begin{figure}[h] -\ifpdf - \includegraphics{@srcdir@/srctree_module.pdf} -\else - \includegraphics{@srcdir@/srctree_module.eps} -\fi -\caption{\label{srctree_module} Source tree : modification when adding an new module} - -\end{figure} - -\section{\label{sec_unit}Development unit creation} - -Here we want to add a development unit named {\tt } -in the existing module {\tt } (replace the names {\tt } -and {\tt } with real ones). - -\begin{enumerate} - -\item In the {\tt src} subdirectory of {\tt }, create a -subdirectory named {\tt }~: - -\begin{verbatim} -cd >/src -mkdir -\end{verbatim} - -Modify then \Mkin file in the {\tt src} directory to add -the new unit -to the compilation process~: - -Complete the line beginning with -\begin{verbatim} -SUBDIRS = ... -\end{verbatim} - -with the name of the new directory - -\begin{verbatim} -SUBDIRS = ... -\end{verbatim} - -\item Create a \Mkin file in the new {\tt } directory (you can copy a \Mkin file from the corresponding subdirectory in {\tt GEOM} module : {\tt GEOM/src/GEOMGUI} subdirectory for example, and modify as you need) - - -\begin{verbatim} -cd -... create Makefile.in -\end{verbatim} - -The details of \Mkin creation is detailed in the next section. -\end{enumerate} - - -The different files of your unit must be located in several directories -(see figure \ref{srctree_unit} and the list below). - -\begin{figure}[!h] -\ifpdf - \includegraphics{@srcdir@/srctree_unit.pdf} -\else - \includegraphics{@srcdir@/srctree_unit.eps} -\fi -\caption{\label{srctree_unit}Source tree : modification when adding an new unit in an existing module} -\end{figure} - -\begin{itemize} -\item Private source and header files of your unit - -Place the only copy of these files in your unit. If you use -the proposed makefile system, dont put them in subdirectories -of your unit. - -Note -\begin{quotation}\noindent% -Using a non-flat directory structure for an unit, has not been -tested but it should work. You must write your makefile to take care -of subdirectories. -\end{quotation} - -\item Exported idl files from a unit - -These files are provided by the unit for CORBA communication -with other units. - -Place the only copy of these files into the idl subdirectory of the -root source tree. - -\item Exported header files from a unit - -These files are provided by the unit for direct communication -from other units (using the unit's library). - -Place the master copy of these files in your unit subtree. - -Assure that these files are automatically or manually copied in -the inc subdirectory of the root build tree. - -\end{itemize} - -\section{Creating a \Mkin file in a new unit} - -\subsection{Using predefined make rules} - -Copy the following \Mkin \ skeleton in the unit directory~: - -\verbatiminput{@srcdir@/makefile.skel} - -Adapt this \Mkin skeleton to your particular needs~: -\begin{itemize} -\item if you have to compile a library - -\begin{enumerate} -\item Complete the line -\begin{verbatim} -LIB = -\end{verbatim} - -as -\begin{verbatim} -LIB = lib.la -\end{verbatim} - -Example~: -\begin{verbatim} -LIB = libGeometryGui.la -\end{verbatim} - -Notes -\begin{enumerate} -\item the library name {\bf must} begin with {\tt lib} and end with -{\tt .la} (this allows automatic creation of shared libraries with libtool). -\item there must be only one library by development unit -\end{enumerate} - -\item Also add to the line~: -\begin{verbatim} -LIB_SRC = -\end{verbatim} -the list of sources files (in this unit) needed to build the library - -\item If your library uses QT MOC file, add to the line~: -\begin{verbatim} -LIB_MOC = -\end{verbatim} -the list of headers files to transform with moc. - -\item If your library uses CORBA functionnalities from other units (i.e. -uses idl files exported from other units), add to the line~: -\begin{verbatim} -LIB_CLIENT_IDL = -\end{verbatim} -the list of idl files. - -\item If your unit provides CORBA functionnalities (i.e. exports idl -files to the other units), add to the line~: -\begin{verbatim} -LIB_SERVER_IDL = -\end{verbatim} -the list of idl files. -\end{enumerate} - -\item if you want to build one or more executables~: - -\begin{enumerate} -\item Complete the line -\begin{verbatim} -BIN = -\end{verbatim} - -as -\begin{verbatim} -BIN = .. -. -\end{verbatim} - -Note -\begin{quotation}\noindent% -For each executable in the {\tt BIN} list, say {\tt MyBin1}, the main -function {\bf must} be in a file named accordingly, in this example~: -{\tt MyBin1.cxx} and {\tt MyBin2.cxx}. -\end{quotation} - -\item Also add to the line~: -\begin{verbatim} -BIN_SRC = -\end{verbatim} -the list of source files (in this unit) needed to build {\bf all} the executables, -{\bf excluding files containing main function(s)}. - -Notes~: -\begin{enumerate} -\item The makefile system will automatically add to each executable, its -main function file. That's why these files must not be included in the -{\tt BIN\_SRC} list -\item The object files (compiled from the source files in the {\tt BIN\_SRC} -list) will be properly dispatched between the executables by the linker. -\end{enumerate} - -\item If your binaries uses QT MOC file, add to the line~: -\begin{verbatim} -BIN_MOC = -\end{verbatim} -the list of headers files to transform with moc. - -\item If your binaries uses CORBA functionnalities from other units (i.e. -uses idl files exported from other units), add to the line~: -\begin{verbatim} -BIN_CLIENT_IDL = -\end{verbatim} -the list of idl files. - -\item If your unit provides CORBA functionnalities (i.e. exports idl -files to the other units), add to the line~: -\begin{verbatim} -BIN_SERVER_IDL = -\end{verbatim} -the list of idl files. - -\end{enumerate} - -\item List the exported header files that your unit provides -to other developments units~: - -Complete the line -\begin{verbatim} -EXPORT_HEADERS = -\end{verbatim} -with the list header files. - -Note -\begin{quotation}\noindent% -The makefile system will automatically copy these files in a -subdirectory {\tt inc} in the top build directory, and maintain -coherence with your private copy inside your unit subtree. -This is to assure name uniqueness of differents exported header -files from different units and to write easier makefiles. -\end{quotation} - -\item List the python scripts files that your unit export~: - -Complete the line -\begin{verbatim} -EXPORT_PYSCRIPTS = -\end{verbatim} - -\item To generate qm file from po file (use by QT), list po files in~: - -\begin{verbatim} -PO_FILES = -\end{verbatim} -Note -\begin{quotation}\noindent% -The resulting qm files will ge generated directory which contain Makefile. -It will be copied in resources directory when do {\tt 'make install'}. -\end{quotation} - -\end{itemize} - - -\subsection{Using your own makefiles in an unit} - -If the proposed makefile system don't suit your needs (several libraries, -non flat unit subtree structure, ...). It's possible -to write your own makefiles. - -\begin{enumerate} -\item Create a file \Mkin - -This file must begin with the lines - -\verbatiminput{@srcdir@/makefile_own.skel} - -\bigskip - -The rest of the file has the standard GNU make format. - -You must define the following targets~: - -\begin{enumerate} -\item {\tt inc} : copy/update the exported header files to the {\tt \$top\_builddir/inc} directory -\item {\tt dep} : update dependencies -\item {\tt lib} : build libraries and link them into the {\tt \$top\_builddir/lib} directory -\item {\tt bin} : build executables and link them into the {\tt \$top\_builddir/bin} directory -\end{enumerate} - -Some of these targets may be empty, if not applicable. - -\end{enumerate} - -The line -\begin{verbatim} -@\texttt{COMMENCE}@ -\end{verbatim} -provides a number of predefined variables that you can use in your makefile -rules (defining standard libraries locations, compiler options, ..., see next section). - - -\section{Add or remove a script} - -If you want to add a new shell script in {\tt SALOME\_ROOT/bin}, you must edit {\tt SALOME\_ROOT/Makefile.in} to add it in {\tt BIN\_SCRIPT}. - -If this script have some package dependent variable, you must create a ".in" file and add this reference to {\tt configure.in} file. - -To remove an existing script, you must of course remove it from CVS archive and also remove it from {\tt SALOME\_ROOT/Makefile.in} and if any, from {\tt configure.in}. - -If you want to add a new python script, put it in {\tt EXPORT\_PYSCRIPTS} variable. It will be copied at same place than others executables. - - -\section{Add or remove an IDL file} - -If you want to add a new IDL file in {\tt SALOME\_ROOT/idl}, you must edit {\tt SALOME\_ROOT/idl/Makefile.in} and add its in {\tt IDL\_FILES}. - -To remove an existing IDL file, you must of course remove it from CVS archive and also remove it from {\tt SALOME\_ROOT/idl/Makefile.in}. - - -\section{Predefined symbols used in {\tt Makefile.in}} - -You can use predefined symbols in you {\tt Makefile.in} files. -These symbols define -\begin{itemize} -\item compilation flags for source compiling, -\item header files location in your local system, -\item libraries needed for binaries linking. -\end{itemize} - -For example to use the OpenCascade libraries in your unit, you will add the -\begin{itemize} -\item {\tt \$OCC\_INCLUDES} symbol to the included header file locations, -\item {\tt \$OCC\_CXXFLAGS} symbol to the compilation flags, -\item {\tt \$OCC\_LIBS} symbol to the linker's flags -\end{itemize} - -If you use the predefined make rules, add the lines -\begin{verbatim} -CPPFLAGS+=$(OCC_INCLUDES) -CXXFLAGS+=$(OCC_CXXFLAGS) -LDFLAGS+=$(OCC_LIBS) -\end{verbatim} -in your {\tt Makefile.in} file after the @{\tt COMMENCE}@ line. - -For each standard tool you need in SALOME (QT, python, OpenCascade, CORBA, VTK, \ldots), main symbols listed below. - -\begin{enumerate} -\bigskip - -\item {\it Corba} -\smallskip - -\begin{longtable}{|p{3.2cm}|p{9.1cm}|} -\hline -\it variable & \it value \\ -\hline -{\tt CORBA\_ROOT } & CORBA home base \\ -\hline -{\tt CORBA\_INCLUDES} & compiler options to include CORBA headers \\ -\hline -{\tt CORBA\_LIBS } & libraries needed to link with CORBA \\ -\hline -{\tt CORBA\_CXXFLAGS } & C++ compiler options to use with CORBA \\ -\hline -{\tt IDL} & idl compiler \\ -\hline -{\tt IDLCXXFLAGS} & options to the idl compiler to generate C++ -stub or skeleton code \\ -\hline -{\tt IDLPYFLAGS} & options to the idl compiler to generate python -stub or skeleton code \\ -\hline -{\tt IDL\_CLN\_H} & extension of generated CORBA header files (client side) \\ -\hline -{\tt IDL\_CLN\_CXX} & extension of generated CORBA source files (client side) \\ -\hline -{\tt IDL\_CLN\_OBJ} & extension of generated CORBA object files (client side) \\ -\hline -{\tt IDL\_SRV\_H} & extension of generated CORBA header files (server side) \\ -\hline -{\tt IDL\_SRV\_CXX} & extension of generated CORBA source files (server side) \\ -\hline -{\tt IDL\_SRV\_OBJ} & extension of generated CORBA object files (server side) \\ -\hline -\end{longtable} - -\item {\it python} -\smallskip - -\begin{longtable}{|p{3.2cm}|p{9.1cm}|} -\hline -\it variable & \it value \\ -\hline -{\tt PYTHON} & python interpreter (absolute path to) \\ -\hline -{\tt PYTHON\_VERSION} & python version \\ -\hline -{\tt PYTHONHOME} & python home base (sometimes needed - to run python) \\ -\hline -{\tt PYTHON\_INCLUDES} & compiler options to include python header files \\ -\hline -{\tt PYTHON\_LIBS} & libraries needed to link with python \\ -\hline -\end{longtable} - -\bigskip -\item {\it QT} -\smallskip - -\begin{longtable}{|p{3.2cm}|p{9.1cm}|} -\hline -\it variable & \it value \\ -\hline -{\tt MOC} & moc compiler \\ -\hline -{\tt UIC} & uic graphical compiler \\ -\hline -{\tt QTDIR} & QT home base \\ -\hline -{\tt QT\_ROOT} & QT home base \\ -\hline -{\tt QT\_INCLUDES} & compiler options to include QT headers \\ -\hline -{\tt QT\_MT\_INCLUDES} & same as above, for multithreaded applications \\ -\hline -{\tt QT\_LIBS} & libraries needed to link with QT (single threaded) \\ -\hline -{\tt QT\_MT\_LIBS} & same as above, for multithreaded applications \\ -\hline -\end{longtable} - -For SALOME developments, multithreaded versions of qt options and libraries -are needed. - -\bigskip -\item {\it OpenGL} -\smallskip - -\begin{longtable}{|p{3.2cm}|p{9.1cm}|} -\hline -\it variable & \it value \\ -\hline -{\tt OGL\_INCLUDES} & compiler options to include OpenGL headers \\ -\hline -{\tt OGL\_LIBS} & libraries needed to link with OpenGL \\ -\hline -\end{longtable} - -\bigskip -\item {\it VTK} -\smallskip - -\begin{longtable}{|p{3.2cm}|p{9.1cm}|} -\hline -\it variable & \it value \\ -\hline -{\tt VTK\_INCLUDES} & compiler options to include VTK headers \\ -\hline -{\tt VTK\_LIBS} & libraries needed to link with VTK \\ -\hline -\end{longtable} - -\bigskip -\item {\it HDF (v5)} -\smallskip - -\begin{longtable}{|p{3.2cm}|p{9.1cm}|} -\hline -\it variable & \it value \\ -\hline -{\tt HDF5\_INCLUDES} & compiler options to include HDF headers \\ -\hline -{\tt HDF5\_LIBS} & libraries needed to link with HDF \\ -\hline -{\tt HDF5\_MT\_LIBS} & libraries needed to link with HDF - (multithreaded version) \\ -\hline -\end{longtable} - -\bigskip -\item {\it OpenCascade} -\smallskip - -\begin{longtable}{|p{3.2cm}|p{9.1cm}|} -\hline -\it variable & \it value \\ -\hline -{\tt OCC\_INCLUDES} & compiler options to include OpenCascade headers \\ -\hline -{\tt OCC\_LIBS} & libraries needed to link with OpenCascade \\ -\hline -{\tt OCC\_CXXFLAGS} & C++ compiler options to use with OpenCascade \\ -\hline -\end{longtable} - -\end{enumerate} - -\section{Location of generated files in the build tree} - -A partial view of the build tree shows the location of files generated -during the compilation process. - -\begin{figure}[h] -\ifpdf - \includegraphics{@srcdir@/bldtree.pdf} -\else - \includegraphics{@srcdir@/bldtree.eps} -\fi -\caption{Partial view of the build tree : generated files during compilation} -\end{figure} - -\section{What's matter when launch {\tt make install}} - -When all libraries and binaries files are generated, make copies all identified files as {\tt configure} parameters {\tt --prefix}, {\tt bindir}, {\tt datadir}, ... (see {\tt configure --help} for details). - -If you specify nothing, all are installed in {\tt =/usr/local}. - -All executables (binaries and scripts) are placed in {\tt /bin} (see BIN and BIN\_SCRIPT variables in {\tt Makefile}). - -All libraries are placed in {\tt /lib} (see LIB variable in {\tt Makefile}). - -All includes are placed in {\tt /include} (see EXPORT\_HEADERS variable in {\tt Makefile}). - -All idls are placed in {\tt /idl} (see IDL\_FILES variable in {\tt Makefile}). - -All python srcipts are placed in {\tt /lib/pythonX.X/...} (see {\tt EXPORT\_PYSCRIPTS} variable in {\tt Makefile}). - -All ressources files (icons, messages, configuration, ...) are placed in {\tt /share/salome/ressources} (see RESOURCES\_FILES variable in {\tt Makefile}). - - -\section{Creating source files according to SALOME building system} - -Building system use dependencies between files writing in Makefile rules. We use {\tt C} or {\tt C++} preprocessor to automatically generate this dependencies rules. - -There are some configuration and useful macro defined in header file {\tt SALOMEconfig.h}. \textbf{All files should be included this header !} -You must include it ussing {\tt <>} delimiter because {\tt SALOMEconfig.h} must not appear in dependencies rules (see below \ref{include}). - -When a {\tt Makefile} is regenerate with {\tt config.status} script, all files are regenerates (in particular {\tt SALOMEconfig.h}).It is a restriction of {\tt autoconf 2.13} which could not regenerate only one particular file. -So, all files which depend of {\tt SALOMEconfig.h} are rebuild even if it does not change. If you effectively change {\tt SALOMEconfig.h} file, you must clean all and rebuild. - -\subsection{{\tt C} or {\tt C++} source files} - -\textbf{You must name your {\tt C} file {\tt .c} and header file {\tt .h}} - -\textbf{You must name your {\tt C++} file {\tt .cxx} and header file {\tt .hxx}} - -To have right dependencies rules, you must correctly write the include statement in your source files. We only take care about SALOME package header files to generate dependencies. We suppose that other header files (qt, vtk, OpenCascade, ...) are stables and are not modified when we build some SALOME modules. - -According to cpp documentation, local header files must be included with {\tt ""} statement and system or tools headers files must be included with {\tt <>} statement. -\label{include} - -If you do not respect this notation, dependencies would not be true and some rebuilding trouble can appear~ ! - -\subsection{idl files} - -We use {\tt C} preprocessor to build dependencies between idl files. The same convention must be applied as {\tt C} or {\tt C++} source files. - -If included file is an external files, you must use statement {\tt <>} because this file will not be modified during SALOME devloppement and/or building. -If included file is part of SALOME files, you must use statement {\tt ""}. - -If you do not respect this notation, dependencies would not be true and some building or rebuilding trouble can appear~ ! - -\subsection{Included header file generated from idl file} - -To include header file generated from idl file, you must use macro {\tt CORBA\_CLIENT\_HEADER} or \\ -{\tt CORBA\_SERVER\_HEADER} defined in {\tt SALOMEconfig.h}. - -These two macros replace idl prefix into corresponding header name generated (take care if you use client part or server part) - -{\bf Example :} -\begin{verbatim} -#include CORBA_CLIENT_HEADER(geom) -#include CORBA_SERVER_HEADER(mesh) -\end{verbatim} - - -\end{document} diff --git a/doc/DevelopersGuide/Makefile.in b/doc/DevelopersGuide/Makefile.in deleted file mode 100644 index fc731be0a..000000000 --- a/doc/DevelopersGuide/Makefile.in +++ /dev/null @@ -1,61 +0,0 @@ -# Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN, -# CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS -# -# This library is free software; you can 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. -# -# This library is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public -# License along with this library; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -# -# See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org -# -# -# -# File : Makefile.in -# Author : Patrick GOLDBRONN (CEA) -# Module : doc -# $Header$ - -top_srcdir=@top_srcdir@ -top_builddir=../.. -srcdir=@srcdir@ -VPATH=.:@srcdir@ - - -TEX=DevelopersGuide.tex -TEX_PS=$(TEX:%.tex=%.ps) -TEX_PDF=$(TEX:%.tex=%.pdf) - -.SUFFIXES: .tex .dvi .ps .pdf - -doc: $(TEX_PS) clean $(TEX_PDF) clean - -clean: - \rm -f *~ *.bak *.aux *.log *.dvi *.toc $(TEX:%.tex=%.out) - \rm -f dummy thumb* - -distclean: clean - \rm -f $(TEX_PS) $(TEX_PDF) - -install: - -#implicits rules -.tex.dvi: clean - latex $< - latex $< -.dvi.ps: - dvips $< -o $@ - - -.tex.pdf: clean - pdflatex $< - pdflatex $< - diff --git a/doc/DevelopersGuide/SALOME.png b/doc/DevelopersGuide/SALOME.png deleted file mode 100644 index e6d626c55a14b1a0384a8bc5c9c3eff1d66cc754..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 23887 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 Z?)I function - /rgbdata exch store % call input 'rgbdata' - rgbdata length 3 idiv - /npixls exch store - /rgbindx 0 store - 0 1 npixls 1 sub { - grays exch - rgbdata rgbindx get 20 mul % Red - rgbdata rgbindx 1 add get 32 mul % Green - rgbdata rgbindx 2 add get 12 mul % Blue - add add 64 idiv % I = .5G + .31R + .18B - put - /rgbindx rgbindx 3 add store - } for - grays 0 npixls getinterval - } bind def - - % Utility procedure for colorimage operator. - % This procedure takes two procedures off the - % stack and merges them into a single procedure. - - /mergeprocs { % def - dup length - 3 -1 roll - dup - length - dup - 5 1 roll - 3 -1 roll - add - array cvx - dup - 3 -1 roll - 0 exch - putinterval - dup - 4 2 roll - putinterval - } bind def - - /colorimage { % def - pop pop % remove 'false 3' operands - {colortogray} mergeprocs - image - } bind def - } ifelse % end of 'false' case - - - -350 150 8 % dimensions of data -[350 0 0 -150 0 150] % mapping matrix -{currentfile pix readhexstring pop} -false 3 colorimage - -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfdfdfdfdfdfdfdfdfdfdfd -fefdfdfefdfefefdfefefdfefefdfefefdfefefdfefefdfefefdfefefdfefefdfefefdfe -fefdfefefdfefefdfefefdfefefdfefefdfefefdfefefdfefefdfefdfdfdfdfdfdfdfdfd -fdfdfdfdfdfdfdfdfdfdfdfdfdfdfdfdfdfdfdfdfdfdfdfdfdfdfdfdfdfdfdfdfdfdfdfd -fdfdfdfdfdfdfdfdfdfdfdfdfdfdfdfdfdfdfdfdfdfdfdfdfdfdfdfdfdfdfdfdfdfdfdfd -fdfdfdfdfdfdfdfdfdfdfdfdfdfdfdfdfdfdfdfdfdfdfdfdfdfdfdfdfdfdfefdfefefdfe -fefdfefefdfefefdfefefdfefefdfefefdfefefdfefefdfefefdfefefdfefefdfefefdfe -fefdfefefdfefefdfefefdfefefdfefefdfefefdfefefdfefefdfefefdfefefdfefefdfe -fefdfefefdfefefdfefefdfefefdfefefdfefefdfefefdfefefdfefefdfefefdfefefdfe -fefdfefefdfefefdfefefdfefefdfefefdfefefdfefefdfefefdfefefdfefefdfefefdfe -fefdfefefdfefefdfefefdfefefdfefefdfefefdfefefdfefefdfefefdfefefdfefefdfe -fefdfefefdfefefdfefefdfefefdfefefdfefefdfefefdfefefdfefefdfefefdfefefdfe -fefdfefefdfefefdfefefdfefefdfefefdfefefdfefefdfefefdfefefdfefefdfefefdfe -fdfdfdfdfdfdfdfdfdfdfdfdfdfdfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfdfdfdfdfdfdfdfdfdfdfdfdfdfdfdfdfdfdfdfdfefdfefefefefefefefefefefefefe -fffefeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -fffffffffffffffffffffffffffffffffffffffffffffffffffffffefefefefefefefefe -fefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefe -fefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefe -fefefefefefefefefefefefefefefefefefefefefefefefefefefeffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -fefefefefefefefefefefefefefefefdfdfdfdfdfdfdfdfdfdfdfdfdfdfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfdfdfefdfefefdfefefdfefefdfe -fefefeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -fffffffffffffffffffffffffffffffffffffffffffefefefefefefefefefefefefefdfd -fefdfdfefdfdfefdfdfefdfdfefdfdfefdfdfefdfdfefdfdfefdfdfefdfdfefdfdfefdfd -fefdfdfefdfdfefdfdfefdfdfefdfdfefdfdfefdfdfefdfdfefdfdfefdfdfefdfdfefdfd -fefdfdfefdfdfefdfdfefdfdfefdfdfefdfdfefdfdfefdfdfdfdfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfefdfeffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -fffffffffffffffffffffffffffffffffffffefefefefefefefefefefefefefefefefefe -fefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefe -fefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefe -fefefefefefefefefefefefefefefefefefefefefefefefefefefefefdfefdfdfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfefefeffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -fffffffffffffffffffffffffffffffefefefefefefefefefefefefefefefefefefefefe -fefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefe -fefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefe -fefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefdfe -fefdfefefdfefefdfefefdfefefdfefefdfefefdfefefdfefdfdfdfdfdfdfefdfefdfdfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfefefeffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -fffffffffffffffffffefefefefefefefefefefefefefefefefefefefefefefefefefefe -fefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefe -fefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefe -fefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefe -fefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefe -fefdfefdfdfefdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfefefeffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -fffffffffffffffffffefefeffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -fffffffefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefe -fefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefe -fefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefe -fefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefe -fefefefefefefefefefefefefefefefefefefefefefefefefefefeffffffffffffffffff -fefefefefefefdfdfdfdfdfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfefefeffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -fffffffffffffffffffefefefefefeffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffefefe -fefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefe -fefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefe -fefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefdfdfd -fdfdfdfdfdfdfdfdfdfdfdfdfefefefefefefefefefefefefefefefefefefefefefefefe -fefefefefefefefefefefefefefefefefefeffffffffffffffffffffffffffffffffffff -fffffffefefefefefefefefefefefefefdfdfefdfdfefdfdfefdfdfefdfdfdfdfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfefefeffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -fffffffffffffefefefefefefefefefefefeffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffefefe -fefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefe -fefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefe -fefefefefefefefefefdfdfdfdfdfdfdfdfdfdfdfdfdfdfdfdfdfdfdfdfdfdfdfdfdfdfd -fdfdfdfdfdfdfdfdfdfdfdfdfdfdfdfdfdfdfdfdfdfdfdfdfdfdfdfefefefefefefefefe -fefefefefefefefefefefefefefefefefefeffffffffffffffffffffffffffffffffffff -fefefefefefefefefefdfefefefefefefefefefefefefefefefefefefefefdfdfdfdfdfd -fdfdfdfdfcfcfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfefefeffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -fefefeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -fffffffffffffefefefefefefefefefefefefefefefefefeffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffefefefefefe -fefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefe -fefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefdfdfd -fdfdfdfdfdfdfdfdfdfdfdfdfdfdfdfdfdfdfdfdfdfdfdfdfdfdfdfdfdfdfdfdfdfdfdfd -fdfdfdfdfdfdfcfcfcfcfcfcfdfdfdfdfdfdfdfdfdfdfdfdfdfdfdfdfdfdfdfdfdfefefe -fefefefefefefefefefefefefefefefefefefffffffffffffffffffefefefefefefefefe -fefefefefefefcfcfcfdfdfdfdfdfdfdfefefdfcfcfdfdfdfcfdfdfcfdfdfdfdfdfdfdfd -fdfdfdfdfdfdfcfcfcfcfcfcfcfcfcfdfdfdfdfdfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfefefeffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -fffffffffffffffffffffffffffffffffffffffffffffffffffffffbfcfdf4f6fbeef1f8 -e9edf6e5eaf4e4eaf4e2e8f4e0e7f2e3e9f4e4eaf4e5ebf5eaeef6eff2f9f9fafcfefeff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffefefe -fefefefefefefefefefffffffffffffffffffffffffffffffffffffffffffffffffefefe -fefefefefefefffffffffffffefefffafafdfdfefeffffffffffffffffffffffffffffff -fffffffffffffffffffefefefefefefefefefefefefefefefefefeffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -fffffffffffffffffffffffffffffffffffffffffffefefefefefefefefefefefefefefe -fefefeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -fffffffffffffffffffffffffffffffffffffefefff8f9fceff2f9e8ecf5e3e9f3dfe6f2 -dfe6f1dfe6f1e0e7f2e4eaf3e8ecf5eff1f7f8f9fbfdfdfdfdfdfdfdfdfdfdfdfdfdfdfd -fdfdfdfdfdfdfdfdfdfdfdfdfdfdfdfdfdfdfdfdfdfdfdfdfdfdfdfcfcfcfcfcfcfdfdfd -fdfdfdfdfdfdfdfdfdfdfdfdfdfdfdfdfdfdfcfcfcfcfcfcfcfcfcfafafbf7f8faf6f7fa -fbfbfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfdfdfd -fdfdfdfefefefefefefefefefefefefefefefffffffffefefefdfcfdfdfcfdfcfbfcfcfb -fcfcfbfdfdfcfcfcfbfcfcfbfcfcfcfcfcfbfcfcfbfcfcfbfdfdfdfdfdfdfcfcfcfcfcfc -fcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfdfcfcfdfdfdfdfdfdfdfdfdfdfdfd -fdfdfdfdfdfdfdfdfdfdfdfdfdfdfdfdfdfdfdfdfdfdfdfdfdfdfdfdfdfdfdfdfdfdfdfd -fdfdfdfdfdfdfdfdfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfefefeffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -fffffffffffffffffffffffffffffffbfcfeecf0f8dbe3f1cad9eaadc6e08faed4779bca -668dc35481bc5280bb4a79b84172b44c7bb95280bb5783bd678fc47fa1cea3bfdcc8d7e9 -dde4f2f2f5fafefeffffffffffffffffffffffffffffffffffffffffffffffffffffffff -fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffefefe -fefefefefefefefefefefefefefefefffffffffffffffffffffffffffffffbfcfdf1f3f9 -e7ecf5dee5f2d7dfefccdaebbbd1e5a7c1dec6d5e8ffffffffffffffffffffffffffffff -fffffffffffffffffffffffffefefefefefefefefefefefefefefefefefefefefefefefe -fffffffffffffffffffffffffffffffffffff0f3f9dde4f1dae2f0dae2f0dae2f0dae2f0 -dae2f0dae2f0dae2f0dae2f0eaeef6fbfbfdfefefefefefefefefefefefefefefefefefe -fefefefefefefefefefefefeffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -fffffffffffffffffffdfdfeeff2f9dae2f0c4d5e8a1bcdb7c9fcc628cc2517fba4172b3 -3f71b33f71b34476b55582bc668fc382a4cea7c1ddc7d6e8dbe2efeff2f7fbfbfbfcfcfc -fcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfc -fcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcf4f5f9dde3f0c8d7e8b3cae1a5bfdca4bfdb -b6cde2c8d7e8d9e1eef0f3f8fcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfc -fcfcfcfdfdfdfdfdfdfdfdfdfdfdfdfefefefefefefefefefefefefdfdfdfdfcfcfcfcfb -fcfcfbfcfcfbfcfcfbfcfcfbfcfcfbfcfcfbfcfcfcfdfdfdf7f8fae1e7f2d7dfedd7dfed -d7dfedd7dfedd7dfeddce2eff4f6f9fcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfc -fcfcfcfcfcfcfbfcfceef0f7dee4f0d8e0eed7dfedd7dfedd7dfedd7dfedd7dfedd7dfed -d7e0eed8e0eed8e0eed8e0eed8e0eed8e0eed8e0eed8e0eed8e0eed8e0eed8e0eed8e0ee -d8e0eed8e0eed8e0eed8e0eed8e0eed8e0eed8e0eedce3f0f9f9fbfdfdfdfdfdfdfdfdfd -fdfdfdfdfdfdfdfdfdfdfdfdfdfdfdfdfdfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfdfdfdfdfdfdfdfdfdfdfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfefefeffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -fffffffffffffffffff8f9fcd6dfefaec5df7aa0cc4d7eba2165a90459a000579e00579e -00579e00579e00579e00579e00579e00579e00579e00579e00579e00579e01589f2366aa -5282bc8aadd3c8d5eaf8fafcffffffffffffffffffffffffffffffffffffffffffffffff -fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffefefe -fefefefefefefefefefefefefefefefefefefffffffffffffffffff1f4f9b9cbe487aad1 -6f97c75886be4376b52667ab0659a000579e2769abe9eef7ffffffffffffffffffffffff -fffffffffffffffffffffffffefefefefefefefefefefefefefefefefefefefefefefefe -fefefefefefeffffffffffffffffffffffff99b5d85281bc4a7cb84a7cb84a7cb84a7cb8 -4a7cb84a7cb84a7cb84d7db989a6d1e4e9f4fefefefefefefefefefefefefefefefefefe -fefefefefefefefefefefefefefefeffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -fffffffbfcfde0e6f3b9cbe481a6cf4c7db91a62a701589f00579e00579e00579e00579e -00579e00579e00579e00579e00579e00579e02589f2266a95483bb88abd1bdcde4e1e7f2 -fafafbfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfc -fcfcfcfcfcfcfcfcfcfcfcfcfcfcfceff2f7aabfdc5885bd2265aa0459a000579e00579e -02589f2366a94e7fba8daed2dae1effcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfbfbfbfbfbfb -fcfcfcfcfcfcfcfcfcfcfcfcfdfdfdfcfcfcfdfdfdfdfdfdfefefefefefefefefdfdfdfc -fcfcfbfcfcfbfcfcfbfcfcfbfcfcfbfcfcfbfdfdfdf5f7fabacae3638ec2497bb7497bb7 -497bb7497bb7497bb75583bbb9c8e1f8f8fafcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfc -fcfcfcfafafbd4deec8baad15a87bf4b7cb8497bb7497bb7497bb7497bb7497bb7497bb7 -497bb7497bb7497bb7497bb7497bb7497bb7497bb7497bb7497bb7497bb7497bb7497bb7 -497bb7497bb7497bb7497bb7497bb7497bb7497bb75383bce0e6f2fdfdfdfdfdfdfdfdfd -fdfdfdfdfdfdfdfdfdfdfdfdfdfdfdfdfdfdfdfdfdfdfdfdfdfdfdfdfdfdfdfdfdfdfdfd -fefefefefefefefefefffffffefefefefdfefefdfefdfdfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfefefeffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffd5deef95b4d64e82bb1861a600579e00579e00579e00579e00579e00579e -00579e00579e00579e00579e00579e00579e00579e00579e00579e00579e00579e00579e -00579e01589f3a74b3c5d2e8ffffffffffffffffffffffffffffffffffffffffffffffff -fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffefefe -fefefefefefefefefefefefefefefefefefefefefefffffffcfcfebed0e62c6dae00579e -00579e00579e00579e00579e00579e00579e03599f9db2d9ffffffffffffffffffffffff -fffffffffffffffffffffffffefefefefefefefefefefefefefefefefefefefefefefefe -fefefefefefefefefeffffffffffffffffff3a7bb301589e00579e00579e00579e00579e -00579e00579e00579e00579e356eb0c7d3e8fefefefefefefefefefefefefefefefefefe -fefefefefefefefefefefefefefefefefefeffffffffffffffffffffffffffffffffffff -fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffefeff -e3e9f4abc0dd5f8ec22567ab00579e00579e00579e00579e00579e00579e00579e00579e -00579e00579e00579e00579e00579e00579e00579e00579e00579e01589f2c6bad6694c4 -b0c2dee6eaf4fcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfc -fcfcfcfcfcfcfcfcfcfcfcfcf9fafbc2d2e6296bac00579e00579e00579e00579e00579e -00579e00579e00579e055aa0638fc2ebeef5fafafafafafafafafafafafafafafafafafa -fafafafbfbfbfbfbfbfbfbfbfbfbfbfbfbfbfbfbfbfcfcfcfcfcfcfdfdfdfdfdfdfdfdfd -fdfdfcfdfdfcfcfcfbfcfcfbfcfcfbfcfcfbfafafbcad6e93b76b300579e00579e00579e -00579e00579e00579e00579e678cc2f0f3f7fcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfc -fcfcfcdde3f06590c20d5da200579e00579e00579e00579e00579e00579e00579e00579e -00579e00579e00579e00579e00579e00579e00579e00579e00579e00579e00579e00579e -00579e00579e00579e00579e00579e00579e00579e1b62a7d6e0eefcfcfcfdfdfdfdfdfd -fdfdfdfdfdfdfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfdfdfdfdfdfdfdfdfdfdfdfd -fefefefefefefffffffffffffffffffffffffffffffffffffdfdfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfefefeffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -f8f9fcb6c6e14f84bc0d5ca200579e00579e00579e00579e00579e00579e00579e00579e -00579e00579e00579e00579e00579e00579e00579e00579e00579e00579e00579e00579e -00579e00579e00579e88a2d0fffffffefefefefefefefefefefefefefefefefefefefefe -fefefefefefefefefefefefefffffffffffffffffffffffffffffffffffffffffffefefe -fefefefefefefefefefefefefefefefefefefefefefefefeecf0f77ca2cd01589f00579e -00579e00579e00579e00579e00579e00579e01579e447ab7f2f4faffffffffffffffffff -fffffffffffffffffffffffffefefefefefefefefefefefefefefefefefefefefefefefe -fefefefefefefefefefefefefefefeffffff3177b000579e00579e00579e00579e00579e -00579e00579e00579e00579e336cafc6d2e7fefefefefefefefefefefefefefefefefefe -fefefefefefefefefefefefefefefefefefefefefefefefeffffffffffffffffffffffff -fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdfefebfcde5 -6292c32265a900579e00579e00579e00579e00579e00579e00579e00579e00579e00579e -00579e00579e00579e00579e00579e00579e00579e00579e00579e00579e00579e00579e -2767ab6b98c6c5d1e6fafbfbfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfbfbfbfbfbfb -fbfbfbfbfbfbfbfbfbfbfbfbf5f6f9a4beda00579e00579e00579e00579e00579e00579e -00579e00579e00579e00579e1161a4aabbdbf9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9 -f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9fafafafafafafbfbfbfcfcfcfdfdfd -fdfdfdfdfdfdfdfdfcfcfcfcfcfcfcfbfbfbe9eef56892c301589f00579e00579e00579e -00579e00579e00579e00579e5c84beeff2f7fcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfc -fbfbfbb4c2df2e6eae00579e00579e00579e00579e00579e00579e00579e00579e00579e -00579e00579e00579e00579e00579e00579e00579e00579e00579e00579e00579e00579e -00579e00579e00579e00579e00579e00579e00579e638ac1f1f3f7fcfcfcfcfcfcfcfcfc -fcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfdfdfdfefefefefefe -fefefefefefefffffffffffffffffffffffffffffffffffffdfdfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfefefeffffffffffffffffffffffff -fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff5f7fb -96b2d5306eae00579e00579e00579e00579e00579e00579e00579e00579e00579e00579e -00579e00579e00579e00579e00579e00579e00579e00579e00579e00579e00579e00579e -00579e00579e00579e819dcdfefefefefefefefefefefefefefefefefefefefefefefefe -fefefefefefefefefefefefefefefefefefefffffffffffffffffffffffffffffffefefe -fefefefefefefefefefefefefefefefefefefefefefdfdfecedbeb2e6fae00579e00579e -00579e00579e00579e00579e00579e00579e00579e1061a5b7c5e3ffffffffffffffffff -fffffffffffffffffffffffffefefefefefefefefefefefefefefefefefefefefefefefe -fefefefefefefefefefefefefefefefefefe3177b000579e00579e00579e00579e00579e -00579e00579e00579e00579e336cafc6d2e7fefefefefefefefefefefefefefefefefefe -fefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefe -fefefefefefefefefefefefefefefefffffffffffffffffffffffff5f6fba3b9da3875b2 -01589f00579e00579e00579e00579e00579e00579e00579e00579e00579e00579e00579e -01579e0f5da40c5ca300579e00579e00579e00579e00579e00579e00579e00579e00579e -00579e0359a0427ab5a4bbd9f1f3f7fbfbfbfbfbfbfbfbfbfbfbfbfbfbfbfafafafafafa -fafafaf9f9f9f9f9f9fafafaf4f5f8a3bcda00579e00579e00579e00579e00579e00579e -00579e00579e00579e00579e0559a04c81b9e5e9f1f8f8f8f8f8f8f7f7f7f7f7f7f7f7f7 -f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f8f8f8f8f8f8f7f7f7f9f9f9fafafafbfbfb -fbfbfbfcfcfcfcfcfcfcfcfcfcfcfcf8f9fa9bb3d7135fa400579e00579e00579e00579e -00579e00579e00579e00579e5c84bdeef1f6fbfbfbfbfbfbfbfbfbfbfbfbfbfbfbfafafa -fafafaadbddb296bac00579e00579e00579e00579e00579e00579e00579e00579e00579e -00579e00579e00579e00579e00579e00579e00579e00579e00579e00579e00579e00579e -00579e00579e00579e00579e00579e00579e065aa1adc2def8f9fafbfbfbfbfbfbfbfbfb -fbfbfbfbfbfbfbfbfbfbfbfbfbfbfbfcfcfcfcfcfcfcfcfcfcfcfcfdfdfdfefefefefefe -fefefefefefefffffffffffffffffffffffffffffffffffffdfdfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfefefeffffffffffffffffffffffff -fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdfefe9eb5d8 -2368aa01589e00579e00579e00579e00579e00579e00579e00579e00579e00579e00579e -00579e00579e00579e00579e00579e00579e00579e00579e00579e00579e00579e00579e -00579e00579e00579e819dcdfefefefefefefefefefefefefefefefefefefefefefefefe -fefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefe -fefefefefefefefefefefefefefefefefefefefefef3f5fa8fadd30559a000579e00579e -00579e00579e00579e00579e00579e00579e00579e055aa05a8abffcfcfeffffffffffff -fffffffffffffffffffffffffefefefefefefefefefefefefefefefefefefefefefefefe -fefefefefefefefefefefefefefefefefefe3177b000579e00579e00579e00579e00579e -00579e00579e00579e00579e336cafc6d2e7fdfdfdfdfdfdfdfdfdfdfdfdfdfdfdfdfdfd -fefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefe -fefefefefefefefefefefefefefefefefefefefefefefefef4f5fb8dacd22669ab01579e -00579e00579e00579e00579e00579e00579e00579e00579e00579e2266a95685bd7da3cc -9bbcd7a8c2dca6c1db95b7d4769ec94b7eb81961a600579e00579e00579e00579e00579e -00579e00579e03589f2a6cac92aed2eff1f6f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9 -f9f9f9f9f9f9f8f8f8f8f8f8f3f4f6a3bcd900579e00579e00579e00579e00579e00579e -00579e00579e00579e00579e00579e1964a7a4b6d7f7f7f7f7f7f7f6f6f6f6f6f6f6f6f6 -f6f6f6f6f6f6f6f6f6f5f5f5f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f7f7f7f8f8f8 -f9f9f9fafafafbfbfbfbfbfbfcfcfccdd8ea276bac00579e00579e00579e00579e00579e -00579e00579e00579e00579e5c83bdeef1f6fafafafafafafafafaf9f9f9f9f9f9f9f9f8 -f8f8f7abbcda296bac00579e00579e00579e00579e00579e00579e00579e00579e00579e -00579e00579e00579e00579e00579e00579e00579e00579e00579e00579e00579e00579e -00579e00579e00579e00579e00579e01589f4c80badfe6f0fafafafafafafafafafafafa -fafafafafafafafafafafafafafafafbfbfbfcfcfcfcfcfcfcfcfcfdfdfdfefefefefefe -fffffffffffffffffffffffffffffffffffffffffffffffffdfdfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfefefeffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc2cfe73573b1 -03589f00579e00579e00579e00579e00579e00579e00579e00579e00579e00579e00579e -1a62a64c7db96a92c680a3ce86a9d186a9d184a7d07b9fcc6991c5517fbb2869ac075aa0 -00579e00579e00579e819dcdfefefefefefefefefefefefefefefefefefefefefefefefe -fefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefe -fefefefefefefefefefefefefefefefefefefefefee2eaf33b74b300579e00579e00579e -00579e00579e00579e00579e00579e00579e00579e01579e236babc9d4e9ffffffffffff -fffffffffffffffffffffffffefefefefefefefefefefefefefefefefefefefefefefefe -fdfdfdfefefefefefefefefefefefefefefe3177b000579e00579e00579e00579e00579e -00579e00579e00579e00579e336cafc5d1e6fcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfc -fdfdfdfdfdfdfdfdfdfefefefefefefefefefefefefefefefefefefefefefefefefefefe -fefefefefefefefefefefefefefefefefefefefefef8f9fc92aed32168a902589f00579e -00579e00579e00579e00579e00579e00579e00579e1862a66794c4b6c9e1dae1efeceef5 -f9fafafafafafafafaf6f7f8e8ebf3d3dceba7bedb5486bb115ea300579e00579e00579e -00579e00579e00579e03589f266aab94b0d2f4f5f7f9f9f9f9f9f9f9f9f9f9f9f9f8f8f8 -f8f8f8f8f8f8f8f8f8f7f7f7f2f3f5a2bcd800579e00579e00579e00579e00579e00579e -00579e00579e00579e00579e00579e0559a04c83b8e1e4eef5f5f5f5f5f5f5f5f5f5f5f5 -f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f6f6f6f6f6f6 -f6f6f6f7f7f7f9f9f9fafafaf3f4f75485bc00579e00579e00579e00579e00579e00579e -00579e00579e00579e00579e5c83bdedf0f5fafafaf9f9f9f9f9f9f8f8f8f8f8f8f7f7f7 -f6f6f5abbcda296bac00579e00579e00579e00579e00579e00579e00579e00579e00579e -00579e00579e00579e0b5ca23871b1628cc17ca0cc91b0d49bb8d89bb8d89bb8d89bb7d7 -9ab7d69ab7d69ab7d69ab7d69ab7d6a1bdd8cfd9e9f5f5f7f9f9f8f9f9f8f9f9f8f9f9f8 -f9f9f8f9f9f9f9f9f9f9f9f9fafafafbfbfbfcfcfcfcfcfcfdfdfdfefefefefefefefefe -fffffffffffffffffffffffffffffffffffffffffffffffffdfdfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfefefeffffffffffffffffffffffff -fffffffffffffffffffffffffffffffffffffffffffffffffffffff5f6fb5e91c1085ba1 -00579e00579e00579e00579e00579e00579e00579e00579e00579e00579e2c6bad83a4cf -c6d6e9dee6f2e8ecf6eff2f9f1f3faf1f3f9eff2f9ecf0f7e7ebf5dfe6f2d2deedb1c7e1 -7c9ecc4877b62b69acb0c0e0fefefefefefefefefefefefefefefefefefefefefefefefe -fefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefe -fefefefefefefefefefefefefefefefefefef9fafca5bbdc085aa100579e00579e00579e -00579e00579e00579e00579e00579e00579e00579e00579e0d5ea37b9dcafefefeffffff -fffffffffffffffffffffffffefefefefefefefefefefefefefefefefefefefefefdfdfd -fdfdfdfdfdfdfdfdfdfdfdfdfdfdfdfdfdfd3077b000579e00579e00579e00579e00579e -00579e00579e00579e00579e336cafc4d0e6fbfbfbfbfbfbfbfbfbfbfbfbfbfbfbfbfbfb -fcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfdfdfdfdfdfdfdfdfdfdfdfdfdfdfdfdfdfdfdfdfd -fefefefefefefefefefefefefefefefefefefefefeb5c4e13070af03589f00579e00579e -00579e00579e00579e00579e00579e00579e296aac9ab4d6e3e9f3f8f9fbfbfbfbfafafa -fafafaf9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f3f4f7dbe3ed85a3cd1c64a700579e00579e -00579e00579e00579e00579e03589f3372afb3c3def8f8f8f7f7f7f7f7f7f7f7f7f7f7f7 -f7f7f7f7f7f7f7f7f7f7f7f7f2f2f5a2bcd800579e00579e00579e00579e00579e00579e -00579e00579e00579e00579e00579e00579e1f67a8a0b3d5f4f4f4f4f4f4f4f4f4f4f4f4 -f4f4f4f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f4f4f4f4f4f4 -f5f5f5f5f5f5f6f6f6f7f7f79bafd40c5ca200579e00579e00579e00579e00579e00579e -00579e00579e00579e00579e5c83bdeceff4f9f9f9f8f8f8f7f7f7f6f6f6f5f5f5f5f5f4 -f5f5f4aabbd9296bac00579e00579e00579e00579e00579e00579e00579e00579e00579e -00579e2064a9698fc3afc4ded4deece2e7f1ebeef5f1f3f7f4f5f9f4f5f8f4f5f8f3f4f7 -f3f4f6f3f4f6f3f4f6f3f4f6f3f4f6f5f6f7f9f9f8f9f9f9f9f9f8f9f9f8f9f9f8f8f8f7 -f8f8f7f9f9f8faf9f9fafafafafafafbfbfbfcfcfcfdfdfdfdfdfdfefefefefefefefefe -fffffffffffffffffffffffffffffffffffffffffffefefefdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfefefeffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffc3d0e82f72af00579e -00579e00579e00579e00579e00579e00579e00579e00579e00579e457db8bfcfe6f2f5fa -fdfdfefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefafbfc -f0f3f9e6ebf4e1e9f2f4f6fafefefefefefefefefefefefefefefefefefefefefefefefe -fefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefe -fefefefefefefefefefefefefefefefefefef0f3f9537dba00579e00579e00579e00579e -00579e00579e00579e00579e00579e00579e00579e00579e01589e3777b2dce2f1fefefe -fffffffffffffffffffffffffffffffefefefefefefefefefefefefefefefefefefefefe -fdfdfdfdfdfdfdfdfdfdfdfdfdfdfdfcfcfc3077b000579e00579e00579e00579e00579e -00579e00579e00579e00579e336cafc3cfe4f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9 -fafafafafafafbfbfbfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfc -fcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfce4e8f35389bd055aa000579e00579e00579e -00579e00579e00579e00579e00579e2266a99bb3d6f1f4f8fcfcfcfbfbfbfafafaf9f9f9 -f9f9f9f9f9f9f9f9f9f9f9f9f8f8f8f8f8f8f8f8f8f7f7f8ebedf2819fcb1561a500579e -00579e00579e00579e00579e00579e0559a0578bbddbe1edf7f7f7f7f7f7f7f7f7f7f7f7 -f6f6f6f6f6f6f6f6f6f5f5f5f0f1f3a1bbd800579e00579e00579e00579e00579e00579e -00579e00579e00579e00579e00579e00579e04599f4d85b8dce0eaf3f3f3f3f3f3f3f3f3 -f2f2f2f2f2f2f1f1f1f1f1f1f2f2f2f2f2f2f2f2f2f2f2f2f1f1f1f1f1f1f2f2f2f2f2f2 -f3f3f3f4f4f4f5f5f5cad3e6226aaa00579e00579e00579e00579e00579e00579e00579e -00579e00579e00579e00579e5c83bdebeef3f8f8f8f6f6f6f5f5f5f5f5f4f4f4f4f4f4f4 -f4f4f3aabbd8296bac00579e00579e00579e00579e00579e00579e00579e00579e0559a0 -447db6b6c6e0e8ecf3f6f7f9fbfbfbfafafafbfbfbfbfbfbfbfafafbfbfbfafaf9fafaf9 -fafaf9fafaf9fafaf9fbfbfafbfbfafbfbfafbfbfafafafaf9f9f9f9f9f9f9f9f9fafaf9 -f9f9f8f9faf9fafbfafbfbfbfbfbfbfcfcfcfdfdfdfefefefefefefefefeffffffffffff -fffffffffffffffffffefefefefefefefefefefefefffffffdfdfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfefefeffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffff94abd41962a600579e -00579e00579e00579e00579e00579e00579e00579e00579e306eafb7c8e3fbfcfdfefefe -fefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefe -fefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefe -fefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefe -fefefefefefefefefefefefefefefefdfdfec1cfe70559a000579e00579e00579e00579e -00579e00579e00579e00579e00579e00579e00579e00579e00579e1a64a79ab0d7fefefe -fefefefffffffffffffffffffffffffefefefefefefefefefefefefefefefefefefefefe -fefefefdfdfdfdfdfdfdfdfdfcfcfcfcfcfc3077b000579e00579e00579e00579e00579e -00579e00579e00579e00579e326caec2cee3f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8 -f8f8f8f8f8f8f9f9f9f9f9f9f9f9f9fafafafafafafbfbfbfcfcfcfcfcfcfcfcfcfcfcfc -fcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcaebfde286cac00579e00579e00579e00579e -00579e00579e00579e00579e01589f6193c2e7eaf4fbfbfbfafafafafafaf9f9f9f8f8f8 -f8f8f8f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7e4e7f0407db602589f -00579e00579e00579e00579e00579e00579e286aaba9bad9f6f6f6f5f5f5f5f5f5f5f5f5 -f5f5f5f5f5f5f5f5f5f5f5f5eff0f3a0b9d600579e00579e00579e00579e00579e00579e -00579e00579e00579e00579e00579e00579e00579e2267a99fb2d4f1f1f1f0f0f0f0f0f0 -f0f0f0f1f1f1f0f0f0f0f0f0efefefefefefefefefefefeff0f0f0f0f0f0f0f0f0f1f1f1 -f1f1f1f2f2f2eaecef5183b90559a000579e00579e00579e00579e00579e00579e00579e -00579e00579e00579e00579e5b83bdeaedf2f5f5f5f5f5f5f3f3f3f2f2f2f2f2f2f2f2f2 -f3f3f3a9bad7296bab00579e00579e00579e00579e00579e00579e00579e075aa05487bc -d7deecf5f6f7f9f9f9f9f9f9f9f9f9fafafafbfafafbfbfbfbfbfbfafaf9fafaf9fafaf9 -fafaf9fafaf9fbfbfafbfbfafbfbfafbfbfafbfbfafbfbfafafaf9fafaf9fafaf9fafaf9 -fafafafcfcfcfcfcfcfcfcfcfcfcfcfdfdfdfefefefefefefefefefefefeffffffffffff -fffffffefefefefefefefefefefefefefefefffffffffffffdfdfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfefefeffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffff6597c40559a000579e -00579e00579e00579e00579e00579e00579e00579e01589e73a0caf2f3f9fefefefefefe -fefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefe -fefefefefefefefefefefefefefefefefefefdfdfdfdfdfdfdfdfdfdfdfdfdfdfdfdfdfd -fdfdfdfdfdfdfefefefefefefefefefefefefefefefefefefefefefefefefefefefefefe -fefefefefefefefefefefefefefefefafbfd5d86bf00579e00579e00579e00579e00579e -00579e00579e00579e00579e00579e00579e00579e00579e00579e01579e4684b9ebeff7 -fefefefefefefefefefffffffffffffffffffffffffefefefefefefefefefefefefefefe -fefefefefefefdfdfdfcfcfcfcfcfcfcfcfc3077b000579e00579e00579e00579e00579e -00579e00579e00579e00579e326caec1cee2f7f7f7f7f7f7f7f7f7f6f6f6f7f7f7f7f7f7 -f6f6f6f6f6f6f7f7f7f7f7f7f8f8f8f8f8f8f8f8f8f9f9f9f9f9f9fafafafafafafafafa -fbfbfbfbfbfbfbfbfbfbfbfbfbfbfbfafafb719ec7075aa000579e00579e00579e00579e -00579e00579e00579e00579e2265a9a3b6d8fafafafafafaf9f9f9f9f9f9f8f8f8f7f7f7 -f7f7f7f6f6f6f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f6f6f6f6f6f6f6f6f68ca3ce1360a4 -00579e00579e00579e00579e00579e00579e01589f6d9cc5eeeff2f5f5f5f4f4f4f4f4f4 -f4f4f4f4f4f4f3f3f3f3f3f3edeef19fb9d500579e00579e00579e00579e00579e00579e -00579e00579e00579e00579e00579e00579e00579e00579e4c84b7d5dae6efefefeeeeee -eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeefefef -efefefedeeef8aa2cb1260a400579e00579e00579e00579e00579e00579e00579e00579e -00579e00579e00579e00579e5b82bce8ebf0f4f4f4f2f2f2f0f0f0f0f0f0f0f0f0f0f0f0 -f0f0f0a8b8d6296aab00579e00579e00579e00579e00579e00579e03599f447fb6dde1ed -f6f6f6f7f7f7f8f8f8f9f9f9f9f9f9f9f9f9f9f9f8fafaf9f9f9f8fafaf9fafaf9fafaf9 -fafaf9f9f9f9f9f9f9f9f9f9fafaf9f9f9f9f9f9f9f8f8f8fafaf9fafaf9fafaf9fafaf9 -fbfbfafcfcfcfcfcfcfcfcfcfdfdfdfefefefefefefefefefefefefefefefefefefefefe -fefefefefefefefefefefefefefefefefefefffffffffffffdfdfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfefefeffffffffffffffffffffffff -fffffffffffffffffffffffffffffffffffffffffffffffffafbfd5790bf00579e00579e -00579e00579e00579e00579e00579e00579e00579e1760a59ab6d7fefefefefefefefefe -fefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefe -fefefefefefefefefefefefefdfdfdfdfdfdfdfdfdfdfdfdfdfdfdfdfdfdfdfdfdfdfdfd -fdfdfdfdfdfdfdfdfdfdfdfdfefefefefefefefefefefefefefefefefefefefefefefefe -fefefefefefefefefefefefefefefed7dff0065aa000579e00579e00579e00579e00579e -00579e00579e00579e00579e00579e00579e00579e00579e00579e00579e246aaba9bcdc -fefefefefefefefefefefefefffffffffffffffffffefefefefefefefefefefefefefefe -fefefefefefefdfdfdfcfcfcfcfcfcfcfcfc3077b000579e00579e00579e00579e00579e -00579e00579e00579e00579e326caec1cde2f7f7f7f6f6f6f7f7f7f7f7f7f7f7f7f6f6f6 -f7f7f7f7f7f7f6f6f6f7f7f7f6f6f6f7f7f7f7f7f7f8f8f8f8f8f8f8f8f8f9f9f9f9f9f9 -f9f9f9fafafafafafafafafafafafae5e9f2548bbd00579e00579e00579e00579e00579e -00579e00579e00579e00579e2b6cacafbfddfafafaf9f9f9f9f9f9f8f8f8f8f8f8f7f7f7 -f6f6f6f7f7f7f7f7f7f6f6f6f6f6f6f6f6f6f6f6f6f5f5f5f5f5f5f5f5f5a2b4d61864a6 -00579e00579e00579e00579e00579e00579e00579e568abcd9deeaf3f3f3f3f3f3f3f3f3 -f3f3f3f2f2f2f2f2f2f3f3f3ecedf09db7d400579e00579e00579e00579e00579e00579e -00579e00579e00579e00579e00579e00579e00579e00579e2367a99cb1d1ececedeeeeee -eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee -ededeeb8c5dc266dab00579e00579e00579e00579e00579e00579e00579e00579e00579e -00579e00579e00579e00579e5b82bce6e9eef1f1f1f0f0f0efefefefefefefefefeeeeee -eeeeeea7b7d5296aab00579e00579e00579e00579e00579e00579e1a65a7a2b4d6f5f5f5 -f5f5f5f6f6f6f7f7f7f8f8f8f9f8f8f9f8f8f8f8f7f8f8f7f8f8f8f8f8f8f8f8f8f8f8f8 -f8f8f8f8f8f8f8f8f8f8f8f7f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f9f9f9fafaf9fafaf9 -fcfcfcfcfcfcfcfcfcfdfdfdfefefefefefefefefefefefefefefefefefefefefefefefe -fefefefefefefefefefefefefefefefffffffffffffffffffdfdfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfefefeffffffffffffffffffffffff -fffffffffffffffffffffffffffffffffffffffffffffffff1f3fa518bbd00579e00579e -00579e00579e00579e00579e00579e00579e00579e1f64a8a4badafefefefefefefefefe -fefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefe -fefefefefefefdfdfdfdfdfdfdfdfdfdfdfdfdfdfdfdfdfdfcfcfcfcfcfcfcfcfcfcfcfc -fcfcfcfcfcfcfcfcfcfdfdfdfdfdfdfdfdfdfdfdfdfefefefefefefefefefefefefefefe -fefefefefefefefefefefefefdfdfd7395c800579e00579e00579e00579e00579e00579e -00579e00579e00579e00579e00579e00579e00579e00579e00579e00579e075aa06595c4 -f2f4f9fefefefefefefefefefefefefffffffffffffffffffffffffefefefefefefefefe -fefefefefefefdfdfdfcfcfcfcfcfcfcfcfc3077b000579e00579e00579e00579e00579e -00579e00579e00579e00579e326caec0cce1f5f5f5f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6 -f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f7f7f7f6f6f6f6f6f6f7f7f7f7f7f7f7f7f7 -f7f7f7f7f7f7f8f8f8f8f8f8f8f8f8d8dfec4a84b900579e00579e00579e00579e00579e -00579e00579e00579e00579e2b6cacaebedcf8f8f8f8f8f8f7f7f7f7f7f7f7f7f7f6f6f6 -f6f6f6f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5a1b3d51863a6 -00579e00579e00579e00579e00579e00579e00579e4b81b7cdd4e4f2f2f2f2f2f2f2f2f2 -f1f1f1f1f1f1f1f1f1f1f1f1e9eaee94b0d000579e00579e00579e00579e00579e00579e -00579e00579e00579e00579e00579e00579e00579e00579e01589f578abbd3d9e3ececec -ecececececececececececececececedededededededededeeeeeeeeeeeeeeeeeeeeeeee -d8dce65485b9075aa000579e00579e00579e00579e00579e00579e00579e00579e00579e -00579e00579e00579e00579e5a82bae2e5eaededededededecececececececececececec -edededa6b6d4296aab00579e00579e00579e00579e00579e00579e2970acd9dee9f4f4f4 -f4f4f4f5f5f5f6f6f5f6f6f5f6f6f5f6f6f5f5f5f5f5f5f5f5f4f4f5f4f4f5f5f5f5f5f5 -f5f5f5f5f5f5f5f5f4f5f5f4f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f6f6f5f8f8f7f9f9f9 -fbfbfbfcfcfcfcfcfcfdfdfdfefefefefefefefefefefefdfefefdfefefefefefefefefe -fefefefefefefefefefefefefffffffffffffffffffffffffdfdfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfefdfefefefefefefefefefefefefe -fefefefefefefefefefefefefefefefefefeffffffffffffffffff5e94c202589f00579e -00579e00579e00579e00579e00579e00579e00579e085aa17ea6cdf4f6fafefefefefefe -fefefefefefefefefefefefefefefefefefefefefefefefefefefefdfdfdfdfdfdfdfdfd -fdfdfdfdfdfdfdfdfdfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfc -fcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfdfdfdfdfdfdfdfdfdfefefe -fefefefefefefefefefefefee1e6f21c66a800579e00579e00579e00579e00579e00579e -00579e00579e00579e00579e00579e00579e00579e00579e00579e00579e00579e3574b1 -bfcde5fefefefefefefefefefefefefefefefefefefffffffffffffefefefefefefefefe -fefefefefefefdfdfdfcfcfcfcfcfcfcfcfc3077b000579e00579e00579e00579e00579e -00579e00579e00579e00579e326caebfcce1f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5 -f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f6f6f6f6f6f6f6f6f6 -f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6d6ddeb4a83b900579e00579e00579e00579e00579e -00579e00579e00579e00579e2b6cacadbddbf7f7f7f7f7f7f6f6f6f6f6f6f6f6f6f5f5f5 -f5f5f5f4f4f4f4f4f4f4f4f4f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3a0b2d51863a6 -00579e00579e00579e00579e00579e00579e00579e497fb7cad2e3f0f0f0f0f0f0efefef -efefefefefefefefefeeeeeee4e6eb86a6cb00579e00579e00579e00579e00579e00579e -00579e00579e00579e00579e00579e00579e00579e00579e00579e2468a99db3d1e8e8ea -ecececececececececedededededededededeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee5e7eb -87a4ca1963a600579e00579e00579e00579e00579e00579e00579e00579e00579e00579e -00579e00579e00579e00579e5a81badfe2e7eaeaeae9e9e9e9e9e9e9e9e9e9e9e9eaeaea -eaeaeaa4b4d2286aaa00579e00579e00579e00579e00579e00579e2d73ade9ebeef2f2f2 -f2f2f2f3f3f2f3f3f2f3f3f2f4f4f3f3f3f2f2f2f2f2f2f2f2f1f1f2f1f0f2f1f0f2f2f2 -f2f2f2f2f1f1f2f2f1f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f4f4f3f6f6f5f7f7f7 -f9f9f9fbfbfbfcfcfcfdfdfdfefefefefefefefefefdfdfcfdfdfcfefefefefefefefefe -fefefefefefefffffffffffffffffffffffffffffffffffffdfdfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfefdfefefefefefefefefefefefefe -fefefefefefefefefefefefefefefefefefefefefefefefeffffff7ba1cb0e5da300579e -00579e00579e00579e00579e00579e00579e00579e00579e3d79b5bdcde5f9fafcfefefe -fefefefefefefefefefefefefefefefefefefefefefdfdfdfdfdfdfdfdfdfdfdfdfdfdfd -fdfdfdfdfdfdfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfc -fcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfdfdfdfdfdfdfdfdfd -fdfdfdfdfdfdfdfdfdfdfdfd89a6d0075ba000579e00579e00579e00579e00579e00579e -00579e00579e00579e00579e00579e00579e00579e00579e00579e00579e00579e115ea4 -83a6cef5f7fafefefefefefefefefefefefefefefefefefefffffffefefefefefefefefe -fefefefefefefdfdfdfcfcfcfcfcfcfcfcfc3077b000579e00579e00579e00579e00579e -00579e00579e00579e00579e326caebecbe0f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3 -f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5 -f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5d5dcea4983b800579e00579e00579e00579e00579e -00579e00579e00579e00579e2b6bacacbcdaf6f6f6f5f5f5f5f5f5f5f5f5f4f4f4f3f3f3 -f3f3f3f3f3f3f3f3f3f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f1f1f1a0b1d41863a6 -00579e00579e00579e00579e00579e00579e00579e497fb6c8d0e1efefefeeeeeeeeeeee -eeeeeeeeeeeeedededededede2e4e986a5cb00579e00579e00579e00579e00579e00579e -00579e00579e00579e00579e00579e00579e00579e00579e00579e01589f5c8cbcd2d7e3 -ecececededededededededededededeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeecededb0c2d9 -3173ae00579e00579e00579e00579e00579e00579e00579e00579e00579e00579e00579e -00579e00579e00579e00579e5980b8dcdee3e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7 -e8e8e8a3b3d02869aa00579e00579e00579e00579e00579e00579e256daacad1e2efefef -f0f0eff0f0f0f1f1f0f1f1f0f1f1f0f0f0efefefeeefeeeeefeeeeefeeedefeeedf0efee -f0efeeefeeedefeeedefeeedefeeedefeeedefeeeef0efeff0f0f0f1f1f0f3f3f3f4f4f4 -f6f6f6f9f9f9fbfbfbfcfcfcfdfdfdfefefefefefefefefefefefefefefefefefefefefe -fefefefefefefffffffffffffffffffffffffffffffffffffdfdfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfefdfefefefefefefefefefefefefe -fefefefefefefefefefefefefefefefefefefefefefefefefefefeaabcdd2369ab00579e -00579e00579e00579e00579e00579e00579e00579e00579e085aa15288bcbdcee5f5f7fa -fefefefefefefefefefdfdfdfdfdfdfdfdfdfdfdfdfdfdfdfdfdfdfdfdfdfcfcfcfcfcfc -fcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfc -fbfbfbfbfbfbfbfbfbfbfbfbfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfbfbfbfcfcfcfcfcfc -fbfbfbfbfbfbfbfbfbe3e8f23775b202589f00579e00579e00579e00579e00579e00579e -00579e00579e00579e00579e00579e00579e00579e00579e00579e00579e00579e00579e -4a82b9d2dbecfefefefefefefefefefefefefefefefefefefefefefefefefefefefefefe -fefefefefefefdfdfdfcfcfcfcfcfcfcfcfc3077b000579e00579e00579e00579e00579e -00579e00579e00579e00579e326caebecadff2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2 -f2f2f2f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f4f4f4f4f4f4f4f4f4f4f4f4 -f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4d4dbe94983b800579e00579e00579e00579e00579e -00579e00579e00579e00579e2a6bacabbcd9f4f4f4f4f4f4f4f4f4f3f3f3f3f3f3f2f2f2 -f2f2f2f3f3f3f2f2f2f2f2f2f1f1f1f1f1f1f1f1f1f0f0f0f0f0f0f0f0f09fb0d31763a6 -00579e00579e00579e00579e00579e00579e00579e497eb6c8cfe0eeeeeeedededededed -edededececececececebebebe1e3e886a5ca00579e00579e00579e00579e00579e00579e -00579e00579e00579e00579e00579e00579e00579e00579e00579e00579e2166a8a0b6d2 -e9e9ebeeeeeeeeeeeeeeeeeeeeeeeeefefefefefefefefefefefefefefefd2d8e45d8bbc -085aa000579e00579e00579e00579e00579e00579e00579e00579e00579e00579e00579e -00579e00579e00579e00579e5980b8dadde2e6e6e6e5e5e5e6e6e6e6e6e6e6e6e6e5e5e5 -e6e6e6a2b2cf2869aa00579e00579e00579e00579e00579e00579e1361a485a2c8e8e8ea -ededeceeeeedededecededececececebebeaebeae9ebeae9ebeae9ebeae9ebeae9ecebea -ecebeaebeae9ebeae9ebeae9ebeae9ebeaeaebeaeaecebebededecededeceeeeeef0f0f0 -f3f3f3f6f6f6f9f9f9fbfbfbfcfcfcfdfdfdfdfdfdfdfdfdfdfdfdfdfdfdfdfdfdfefefe -fefefefefefefffffffffffffffffffffffffffffffffffffdfdfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfefdfefefefefefefefefefefefefe -fefefefefefefefefefefefefefefefefefefefefefefefefefefedee4f1447fb703589f -00579e00579e00579e00579e00579e00579e00579e00579e00579e075aa03c7bb494afd4 -dae1f0fbfbfdfdfdfdfdfdfdfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfc -fcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfbfbfbfbfbfbfbfbfbfbfbfbfafafafafafa -fafafafafafafafafafafafafafafafbfbfbfbfbfbfbfbfbfbfbfbf9f9f9f9f9f9f9f9f9 -f9f9f9f9f9f9f9f9f99eb2d71160a400579e00579e00579e00579e00579e00579e00579e -00579e00579e00579e00579e00579e00579e00579e00579e00579e00579e00579e00579e -1a64a79ab7d7f9fafcfdfdfdfefefefefefefefefefefefefefefefefefefefefefefefe -fefefefefefefdfdfdfcfcfcfcfcfcfcfcfc3077b000579e00579e00579e00579e00579e -00579e00579e00579e00579e326cadbdc9def1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f2f2f2 -f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2 -f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2d3dae84982b800579e00579e00579e00579e00579e -00579e00579e00579e00579e2a6bacaabbd8f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f1f1f1 -f0f0f0f1f1f1f0f0f0efefefefefefefefefefefefefefefefefefefefef9fb0d31763a6 -00579e00579e00579e00579e00579e00579e00579e487eb5c6cedfecececebebebebebeb -ebebebeaeaeae9e9e9e9e9e9dfe1e684a4c800579e00579e00579e00579e00579e00579e -00579e00579e00579e00579e00579e00579e00579e00579e00579e00579e01589f5f8cbd -d4dae5eeeeeeeeeeeeefefefefefeff0f0f0f0f0f0f0f0f0f0f0f0e4e6ec89a7cc1963a6 -00579e00579e00579e00579e00579e00579e00579e00579e00579e00579e00579e00579e -00579e00579e00579e00579e5880b7d8dbe0e3e3e3e3e3e3e3e3e3e4e4e4e4e4e4e3e3e3 -e3e3e3a0b1ce2869a900579e00579e00579e00579e00579e00579e03589f3472aeb1bfd7 -e8e9eaeaeae9e8e8e8e8e8e8e8e8e7e8e7e6e7e7e6e7e6e5e7e6e6e8e7e7e8e7e7e8e8e7 -e8e8e7e8e8e7e8e7e7e8e7e7e8e8e7e8e8e8e7e7e7e8e8e8e8e8e8e9e9e8eaeaeaebebeb -eeeeeef2f2f2f5f5f5f7f7f7f9f9f9fafafafbfbfbfbfbfbfcfcfcfcfcfcfefefefefefe -fefefefffffffffffffffffffffffffffffffffffffffffffdfdfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfdfdfdfdfdfdfdfdfdfdfdfdfdfd -fdfdfdfdfdfdfdfdfdfdfdfdfdfdfdfdfdfdfdfdfdfdfdfdfdfdfdfcfcfd94b0d51763a6 -00579e00579e00579e00579e00579e00579e00579e00579e00579e00579e00579e1c63a7 -4b84ba90abd2c6d1e8f6f7fafcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfc -fcfcfcfbfbfbfbfbfbfbfbfbfbfbfbfbfbfbfafafafafafafafafafafafaf9f9f9f9f9f9 -f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f8f8f8f7f7f7f7f7f7 -f8f8f8f8f8f8e6e9f14b81b80559a000579e00579e00579e00579e00579e1863a65a89bd -81a8cc739dc72d6fae05599f00579e00579e00579e00579e00579e00579e00579e00579e -01589f6090c2dfe5f1fcfcfcfdfdfdfdfdfdfdfdfdfdfdfdfdfdfdfefefefefefefefefe -fefefefefefefdfdfdfcfcfcfcfcfcfcfcfc3077b000579e00579e00579e00579e00579e -00579e00579e00579e00579e326badbcc9ddf0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0 -f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2 -f2f2f2f1f1f1f1f1f1f1f1f1f1f1f1d2d8e74982b700579e00579e00579e00579e00579e -00579e00579e00579e00579e2a6baba9bad7f1f1f1f1f1f1f0f0f0f0f0f0f0f0f0efefef -eeeeeeefefefeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeedededededed9eafd21763a6 -00579e00579e00579e00579e00579e00579e00579e487eb5c5cddde9e9e9e9e9e9e9e9e9 -e8e8e8e8e8e8e7e7e7e7e7e7dde0e483a3c700579e00579e00579e00579e00579e00579e -00579e00579e00579e00579e00579e00579e00579e00579e00579e00579e00579e1c65a7 -a4bad4e9eaeceeeeeeefefefefefefefefeff0f0f0f0f0f0eeeeefb3c5db3373af00579e -00579e00579e00579e00579e00579e00579e00579e00579e00579e00579e00579e00579e -00579e00579e00579e00579e587fb7d7dadee2e2e2e2e2e2e1e1e1e2e2e2e2e2e2e2e2e2 -e2e2e29fafcd2869a900579e00579e00579e00579e00579e00579e00579e095ba14479b3 -a7b8d2dddfe2e5e5e5e6e5e5e6e6e5e6e6e5e6e6e5e6e6e5e6e6e5e6e6e5e6e6e5e6e6e5 -e6e6e6e6e6e6e6e6e5e5e5e4e5e5e5e5e5e4e6e5e5e6e6e5e5e5e5e5e5e5e5e5e5e6e6e6 -e8e8e8ecececefefeff2f2f2f4f4f4f7f7f7f8f8f8fafafafcfcfcfdfdfdfefefeffffff -fffffffffffffffffffffffffffffffffffffffffffffffffdfdfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfdfdfdfdfdfdfdfdfdfdfdfdfdfd -fdfdfdfdfdfdfdfdfdfdfdfdfdfdfdfdfdfdfdfdfdfdfdfdfdfdfdfdfdfde7ebf4678fc3 -0a5ca100579e00579e00579e00579e00579e00579e00579e00579e00579e00579e00579e -00579e1961a63676b25b90c09bb1d6cad3e9f1f3f8fcfcfcfcfcfcfcfcfcfbfbfbfbfbfb -fbfbfbfbfbfbfafafafafafafafafaf9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9 -f9f9f9f8f8f8f8f8f8f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7 -f7f7f7f6f6f6acbcda1d67a800579e00579e00579e00579e00579e0b5ca2628fc0d6dde9 -eceef2e4e8ef93add21e67a800579e00579e00579e00579e00579e00579e00579e00579e -00579e276bacb3c7e0fbfcfcfcfcfcfcfcfcfcfcfcfdfdfdfdfdfdfdfdfdfdfdfdfdfdfd -fdfdfdfdfdfdfdfdfdfcfcfcfcfcfcfcfcfc3077b000579e00579e00579e00579e00579e -00579e00579e00579e00579e326badbcc9ddf0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0 -f0f0f0f1f1f1f1f1f1f1f1f1f1f1f1f1f1f1f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2 -f2f2f2f1f1f1f1f1f1f1f1f1f0f0f0d1d8e64882b700579e00579e00579e00579e00579e -00579e00579e00579e00579e2a6baba8b8d6efefefefefefeeeeeeeeeeeeeeeeeeededed -edededededededededededededededededededededecececebebebebebeb9caed01763a5 -00579e00579e00579e00579e00579e00579e00579e487db4c4cbdce7e7e7e7e7e7e7e7e7 -e7e7e7e6e6e6e6e6e6e6e6e6dcdee282a1c600579e00579e00579e00579e00579e00579e -00579e00579e085ba15380b7789bc2628cbc1f63a600579e00579e00579e00579e01579e -608abdd5dae4edededeeeeeeeeeeeeeeeeeeefefefefefefd1d8e55e8abd075aa000579e -00579e00579e00579e00579e00579e00579e00579e00579e00579e00579e00579e00579e -00579e00579e00579e00579e587fb7d7dadee2e2e2e0e0e0e1e1e1e1e1e1e1e1e1e0e0e0 -e0e0e09eaecc2869a900579e00579e00579e00579e00579e00579e00579e00579e085aa0 -2c6eab7498c0bfc7d7dfe0e1e4e4e3e5e5e4e4e4e4e5e5e4e4e4e3e4e4e3e4e4e3e3e3e2 -e3e3e2e3e3e2e3e3e2e2e2e1e2e2e2e3e2e2e3e3e2e3e3e3e1e2e1e1e1e1e1e1e1e2e2e2 -e2e2e2e6e6e6e9e9e9edededf1f1f1f4f4f4f8f8f8fafafafcfcfcfefefeffffffffffff -fffffffffffffffffffffffffffffffffffffffffffffffffdfdfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfdfdfdfdfdfdfdfdfdfdfdfdfdfd -fcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcdce4f0 -5c87bf0559a000579e00579e00579e00579e00579e00579e00579e00579e00579e00579e -00579e00579e00579e04599f1c65a82e72af4883b8799bc9a8b9dbd1d8ebf1f2f7fafafa -fafafafafafaf9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f8f8f8f8f8f8f8f8f8f8f8f8 -f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f6f6f6f6f6f6f6f6f6 -f5f5f5ebedf1588bbd075aa000579e00579e00579e00579e00579e266baba9bbd9f4f4f4 -f4f4f4f4f4f4dfe3ec407db502589f00579e00579e00579e00579e00579e00579e00579e -00579e0559a0789ecae9ecf5fcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfc -fcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfc3077b000579e00579e00579e00579e00579e -00579e00579e00579e00579e326badbcc9ddf0f0f0f0f0f0f0f0f0f0f0f0f1f1f1f0f0f0 -f1f1f1f1f1f1f2f2f2f2f2f2f2f2f2f2f2f2f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f2f2f2 -f2f2f2f2f2f2f2f2f2f1f1f1f0f0f0d1d7e64881b700579e00579e00579e00579e00579e -00579e00579e00579e00579e2a6baba8b8d5eeeeeeededededededededededededececec -ecececececececececebebebebebebebebebebebebebebebeaeaeaeaeaea9caed01763a5 -00579e00579e00579e00579e00579e00579e00579e477db4c3cadbe7e7e7e6e6e6e6e6e6 -e6e6e6e5e5e5e4e4e4e4e4e4dadce082a1c600579e00579e00579e00579e00579e00579e -00579e00579e82a2c5c7cddad6d9dfcad0db789bc200579e00579e00579e00579e00579e -1360a491abcde2e3e8ebebebedededededededededd5dbe56e93c2115fa300579e00579e -00579e00579e00579e00579e00579e00579e00579e00579e00579e00579e00579e00579e -00579e00579e00579e00579e5880b8d8dbe0e3e3e3e1e1e1e1e1e1e1e1e1e0e0e0e0e0e0 -e0e0e09eaecc2869a900579e00579e00579e00579e00579e00579e00579e00579e00579e -01579e1160a32e71ac648cbb9aabccbec7d8d9dae0e3e3e3e3e3e3e3e2e1e2e3e3e1e2e1 -e0e1e0e1e1e1e1e0e0e0e0e0e0e0e0e0e0e0e1e0e0e0e0e0dfdfdfdededededededddddd -dededee1e1e1e5e5e5eaeaeaf0f0f0f4f4f4f9f9f9fbfbfbfdfdfdfefefeffffffffffff -fffffffffffffffffffffffffffffffffffffffffffefdfefdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfdfdfdfdfdfdfdfdfdfdfdfdfdfd -fcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfc -e1e8f26b8fc400579e00579e00579e00579e00579e00579e00579e00579e00579e00579e -00579e00579e00579e00579e00579e00579e03589f0e5da31a65a7246dab417cb57899c9 -b4c2dfebeef4f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f7f7f7f7f7f7f7f7f7f7f7f7 -f7f7f7f7f7f7f7f7f7f7f7f7f6f6f6f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5 -f5f5f5bac6df2b6fad00579e00579e00579e00579e00579e02589f4581b6dfe3ebf2f2f2 -f3f3f3f3f3f3f2f3f387a3cc1360a400579e00579e00579e00579e00579e00579e00579e -00579e00579e3f75b4cbd6e9fcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfc -fcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfc3077b000579e00579e00579e00579e00579e -00579e00579e00579e00579e326badbcc9ddf0f0f0f0f0f0f0f0f0f1f1f1f1f1f1f1f1f1 -f2f2f2f2f2f2f2f2f2f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f5f5f5f4f4f4f4f4f4f4f4f4 -f3f3f3f2f2f2f2f2f2f2f2f2f1f1f1d1d7e54881b700579e00579e00579e00579e00579e -00579e00579e00579e00579e2a6baba7b7d4ecececebebebebebebebebebebebebeaeaea -eaeaeaebebebeaeaeae9e9e9e9e9e9e9e9e9e9e9e9e8e8e8e8e8e8e8e8e89badcf1763a5 -00579e00579e00579e00579e00579e00579e00579e477db3c1c9d9e5e5e5e5e5e5e4e4e4 -e3e3e3e3e3e3e2e2e2e2e2e2d9dbdf82a1c600579e00579e00579e00579e00579e00579e -00579e00579ec4ced8e0e0e0e0e0e0e0e0e0b6c2d3336cac00579e00579e00579e00579e -00579e1764a56f90c0b1bdd6d2d6e1c7cfdf99adcf4b7db50f5ea300579e00579e00579e -00579e00579e00579e5481b8acbfd7bccedd6d93c200579e00579e00579e00579e00579e -00579e00579e00579e00579e5980b8d9dce1e4e4e4e3e3e3e2e2e2e2e2e2e1e1e1e0e0e0 -e1e1e19fb0cd2869a900579e00579e00579e00579e00579e00579e00579e00579e00579e -00579e00579e00579e0b5ca11863a5216aa8276faa3074ac497db4497db3497db4497db3 -4f7fb46f8fbdaab6cfd6d7dcdedededededededededddddddcdcdcdadadadadadad9d9d9 -dbdbdbdfdfdfe5e5e5ecececf2f2f2f7f7f7fbfbfbfdfdfdfefefeffffffffffffffffff -fffffffffffffffffffffffffffffffffffffefefefdfdfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfefdfefefefefefefefdfdfdfdfdfd -fdfdfdfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfc -fcfcfceef1f798b1d62365a900579e00579e00579e00579e00579e00579e00579e00579e -00579e00579e00579e00579e00579e00579e00579e00579e00579e00579e03589f0a5ca1 -1262a52b6fad7f9ccbd4dbebf7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f6f6f6 -f6f6f6f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5 -f2f2f36d98c30b5ca200579e00579e00579e00579e00579e1762a68fa8cef0f0f1f1f1f1 -f2f2f2f2f2f2f3f3f3cad3e5256dab00579e00579e00579e00579e00579e00579e00579e -00579e00579e065aa093b2d4f2f4f8fbfbfbfbfbfbfbfbfbfbfbfbfcfcfcfcfcfcfcfcfc -fcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfbfbfb3076b000579e00579e00579e00579e00579e -00579e00579e00579e00579e326cadbdcadff2f2f2f2f2f2f3f3f3f3f3f3f3f3f3f3f3f3 -f4f4f4f4f4f4f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f6f6f6f6f6f6f6f6f6f6f6f6f5f5f5 -f6f6f6f4f4f4f3f3f3f3f3f3f2f2f2d1d7e64881b700579e00579e00579e00579e00579e -00579e00579e00579e00579e2a6aaba6b5d2eaeaeae9e9e9e9e9e9e9e9e9e8e8e8e9e9e9 -e9e9e9e8e8e8e8e8e8e7e7e7e8e8e8e8e8e8e7e7e7e7e7e7e7e7e7e7e7e79bacce1763a5 -00579e00579e00579e00579e00579e00579e00579e477cb3c0c7d8e3e3e3e3e3e3e1e1e1 -e0e0e0e0e0e0e1e1e1e1e1e1d7d9de809fc400579e00579e00579e00579e00579e00579e -00579e00579ec8d1d8dfdfdfdedededededed1d3da7296be00579e00579e00579e00579e -00579e00579e0a5ba11261a41765a51564a50f5fa305599f00579e00579e00579e00579e -00579e00579e4677b3c9d2dfe9eaebebededc9d5e200579e00579e00579e00579e00579e -00579e00579e00579e00579e5980b8dbdee3e7e7e7e6e5e4e5e5e4e4e4e4e3e3e3e3e3e3 -e3e3e3a1b1ce2869aa00579e00579e00579e00579e00579e00579e00579e00579e00579e -00579e00579e00579e00579e00579e00579e00579e01579e04599f04599f04599f04599f -05599f095ba11863a57699bfced1d8dbdbdbdbdbdbd9d9d9d8d8d8d5d5d5d6d6d6d7d7d7 -dbdbdbe2e2e2eaeaeaf1f1f1f7f7f7fbfbfbfdfdfdffffffffffffffffffffffffffffff -fffffffffffffffffffffffffffffffffffffefefefdfdfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfefdfefefefefefefefefefefefefe -fefefefdfdfdfdfdfdfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfbfbfb -fbfbfbfbfbfbf8f8fae0e5f07e9ccb2769ab065aa002589f00579e00579e00579e00579e -00579e00579e00579e00579e00579e00579e00579e00579e00579e00579e00579e00579e -00579e01579e04599f0b5ea37593c6d7ddebf3f4f5f6f6f6f5f5f5f5f5f5f5f5f5f5f5f5 -f5f5f5f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f4f3f3f3f3f3f3f3f3f3 -c2cce13876b100579e00579e00579e00579e00579e00579e2e72adced5e4f0f0f0f0f0f0 -f1f1f1f2f2f2f3f3f3f3f4f45e8abe075aa000579e00579e00579e00579e00579e00579e -00579e00579e00579e4f7fbad7deedfafafafafafafafafafafafafafafafafafafafafa -fafafafafafafafafafafafafafafafafafa3076b000579e00579e00579e00579e00579e -00579e00579e00579e00579e326caebfcce0f4f4f4f4f4f4f5f5f5f5f5f5f5f5f5f5f5f5 -f5f5f5f5f5f5f6f6f6f6f6f6f7f7f7f7f7f7f7f7f7f8f8f8f8f8f8f8f8f8f8f8f8f7f7f7 -f6f6f6f6f6f6f5f5f5f5f5f5f3f3f3d2d9e74882b700579e00579e00579e00579e00579e -00579e00579e00579e00579e296aaaa4b4d1e8e8e8e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7 -e7e7e7e7e7e7e7e7e7e7e7e7e6e6e6e7e7e7e6e6e6e6e6e6e5e5e5e5e5e59aaacc1762a5 -00579e00579e00579e00579e00579e00579e00579e467cb3bec6d6e1e1e1e0e0e0e0e0e0 -e0e0e0e0e0e0e0e0dfe0e0e0d6d8dd809fc300579e00579e00579e00579e00579e00579e -00579e00579ec6cfd6dcdcdcdcdcdcdcdcdcdbdbdbacb9ce2e69aa00579e00579e00579e -00579e00579e00579e00579e00579e00579e00579e00579e00579e00579e00579e00579e -00579e105da3a4bad3e6e7e8ebebebeaeaebbac8db00579e00579e00579e00579e00579e -00579e00579e00579e00579e5980b9dde0e5e8e8e8e7e7e7e8e8e8e7e7e7e6e6e6e7e7e7 -e6e6e6a2b2cf2869aa00579e00579e00579e00579e00579e00579e00579e00579e00579e -00579e00579e00579e00579e00579e00579e00579e00579e00579e00579e00579e00579e -00579e00579e00579e3e73afb1bbced9d9d9d7d7d7d4d4d4d2d2d2d2d2d2d5d5d5dbdbdb -e2e2e2eaeaeaf1f1f1f7f7f7fbfbfbfdfdfdffffffffffffffffffffffffffffffffffff -fffffffffffffffffffffffffffffffffffffefefefdfdfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfefefefefefefefefefefefefefefe -fefefefefefefefefefdfdfdfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfbfbfbfbfbfb -fbfbfbfafafafafafafafafaf9f9f9e5eaf2a4b6da5684bc1e69a91161a40c5da204599f -00579e00579e00579e00579e00579e00579e00579e00579e00579e00579e00579e00579e -00579e00579e00579e00579e01579e1f67a99bb0d4eaecf1f4f4f4f4f4f4f4f4f4f4f4f4 -f3f3f3f3f3f3f3f3f3f3f3f3f2f2f2f2f2f2f3f3f3f2f2f2f2f2f2f2f2f2f2f2f2eeeff0 -82a2c9135fa400579e00579e00579e00579e00579e0c5ca27193c2eeeeeeefefefefefef -f0f0f0f2f2f2f3f3f3f5f5f5b0bedc1562a500579e00579e00579e00579e00579e00579e -00579e00579e00579e085ba2abc3ddf6f6f8fafafafafafaf9f9f9f9f9f9f9f9f9f9f9f9 -f9f9f9f9f9f9fafafafafafafafafafafafa3076b000579e00579e00579e00579e00579e -00579e00579e00579e00579e326caec0cce1f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5 -f6f6f6f7f7f7f8f8f8f9f9f9f9f9f9f9f9f9fafafafafafafbfbfbfbfbfbfafafafafafa -f8f8f8f8f8f8f6f6f6f5f5f5f4f4f4d3d9e74882b700579e00579e00579e00579e00579e -00579e00579e00579e00579e296aaaa4b4d0e6e6e6e6e6e6e6e6e6e6e6e6e7e7e7e6e6e6 -e7e7e7e6e6e6e6e6e6e6e6e6e5e5e5e5e5e5e4e4e4e4e4e4e3e3e3e3e3e399aacc1762a5 -00579e00579e00579e00579e00579e00579e00579e467cb2bec5d6e0e0e0e0e0e0e0e0e0 -dfdfdfdfdfdfdfdfdfdfdfdfd6d8dc809fc300579e00579e00579e00579e00579e00579e -00579e00579ec5ced5d9dadadbdbdbdadadad9d9d9c9ccd5658db903589f00579e00579e -00579e00579e00579e00579e00579e00579e00579e00579e00579e00579e00579e00579e -05599f6e93bfd3d7dfe6e6e6e7e7e7e5e6e6b3c2d700579e00579e00579e00579e00579e -00579e00579e00579e00579e5981b9dee1e6eaeaeaeaeaeae9e9e9e9e9e9e8e8e8e8e8e8 -e8e8e8a2b3d02869aa00579e00579e00579e00579e00579e00579e00579e00579e00579e -00579e00579e00579e00579e00579e00579e00579e00579e00579e00579e00579e00579e -00579e00579e065aa05280b4b9c0ced4d4d4d2d2d2d0d0d0d0d0d0d4d4d4dbdbdbe4e4e4 -ecececf3f3f3f9f9f9fcfcfcfefefeffffffffffffffffffffffffffffffffffffffffff -fffffffffffffffffffffffffffffffefefefdfdfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfefefefffffffffffffffffffefefe -fefefefefefefefefefefefefdfdfdfdfdfdfcfcfcfcfcfcfcfcfcfcfcfcfbfbfbfbfbfb -fafafaf9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f7f8f8dee3efaebedd839dcc4d82b9 -2d73af226baa1864a70d5ca200579e00579e00579e00579e00579e00579e00579e00579e -00579e00579e00579e00579e00579e00579e1360a47b9ac7e0e4ebf2f2f2f2f2f2f3f3f3 -f3f3f3f2f2f2f2f2f2f2f2f2f2f2f2f2f2f2f1f1f1f1f1f1f0f0f0f0f0f0f0f0f0ccd3e3 -467fb600579e00579e00579e00579e00579e00579e1c66a7b5c0daeeeeeeeeeeeeefefef -f0f0f0f1f1f1f3f3f3f5f5f5ebedf23475b001589e00579e00579e00579e00579e00579e -00579e00579e00579e00579e628cc1e3e8f0f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9 -f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f93076af00579e00579e00579e00579e00579e -00579e00579e00579e00579e326caec1cde2f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6 -f7f7f7f8f8f8f9f9f9fafafafafafafbfbfbfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfc -fafafaf8f8f8f7f7f7f5f5f5f4f4f4d3d9e74882b700579e00579e00579e00579e00579e -00579e00579e00579e00579e296aaaa3b3d0e5e5e5e5e5e5e5e5e5e5e5e5e6e6e6e5e5e5 -e5e5e5e5e5e5e5e5e5e4e4e4e3e3e3e3e3e3e2e2e2e2e2e2e2e2e2e1e1e198aacb1762a5 -00579e00579e00579e00579e00579e00579e00579e467bb2bdc5d5e0e0e0e0e0e0e0e0e0 -dfdfdfdedfdfdfdfdfdfdfdfd5d7dc809fc300579e00579e00579e00579e00579e00579e -00579e00579ec1cad3dadadad9d9d9d9d9d9d9d9d9d9d9d99db1c82366a700579e00579e -00579e00579e00579e00579e00579e00579e00579e00579e00579e00579e00579e00579e -3670adb6c3d5e2e2e2e3e3e3e3e3e3e2e3e4a2b4d000579e00579e00579e00579e00579e -00579e00579e00579e00579e5980b9dee1e6eaeaeaeaeaeaeaeaeae9e9e9e9e9e9e8e8e8 -e8e8e8a2b3d02869aa00579e00579e00579e00579e00579e00579e00579e00579e00579e -00579e03589f0e5da21964a51c66a61c65a61c65a61c65a61b65a61b65a51b65a51b65a5 -1c65a5216aa75382b4afb9cbd2d2d2d0d0d0cdcdcdccccccd1d1d1dadadae3e3e3eeeeee -f5f5f5f9f9f9fdfdfdfefefeffffffffffffffffffffffffffffffffffffffffffffffff -fffffffffffffffffffffffffffffffefdfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfefefeffffffffffffffffffffffff -fffffffefefefefefefefefefdfdfdfdfdfdfcfcfcfcfcfcfcfcfcfcfcfcfbfbfbfbfbfb -fafafaf9f9f9f9f9f9f9f9f9f9f9f9f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f9f9f9 -e9ecf4c8d0e7a2b5d87497c73b7db5246bab0e5da200579e00579e00579e00579e00579e -00579e00579e00579e00579e00579e00579e00579e1661a57f9fc8e3e6ecf0f0f0f1f1f1 -f0f0f0f0f0f0f0f0f0f0f0f0efefefefefefefefefefefefefefefefefefebebed94adcf -1d64a700579e00579e00579e00579e00579e03599f467db5e7e8ebeeeeeeeeeeeeeeeeee -f0f0f0f1f1f1f3f3f3f5f5f5f5f5f592a7d0075ba000579e00579e00579e00579e00579e -00579e00579e00579e00579e1c62a7c3d2e5f7f7f8f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9 -f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f93076af00579e00579e00579e00579e00579e -00579e00579e00579e00579e326caec0cde2f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f7f7f7 -f8f8f8f9f9f9f9f9f9fafafafbfbfbfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfbfbfbfbfbfb -fafafaf8f8f8f6f6f6f5f5f5f3f3f3d2d8e64881b700579e00579e00579e00579e00579e -00579e00579e00579e00579e296aaaa2b2cfe3e3e3e4e4e4e4e4e4e4e4e4e5e5e5e4e4e4 -e4e4e4e3e3e3e3e3e3e3e3e3e2e2e2e2e2e2e1e1e1e1e1e1e1e1e1e0e0e098a9ca1762a5 -00579e00579e00579e00579e00579e00579e00579e467cb2bdc5d6e0e0e0e0e0e0e0e0e0 -e1e1e1e0e1e1e0e0e0e0e0e0d6d8dd809fc400579e00579e00579e00579e00579e00579e -00579e00579eb1bdcfdadadadadadad9d9d9d9d9d9d9d9d9c2c8d35886b603589f00579e -00579e00579e00579e00579e00579e00579e00579e00579e00579e00579e00579e115fa3 -82a0c3d5d6dbdfdfdfdfdfdfdfdfdfdededf96abcb00579e00579e00579e00579e00579e -00579e00579e00579e00579e5980b8dcdfe4e8e8e8e8e8e8e8e8e8e8e8e8e8e8e8e7e8e8 -e7e8e8a2b3d02869aa00579e00579e00579e00579e00579e00579e00579e00579e00579e -085aa02f6fab7193bf9faecca9b5d0a8b4cfa8b4cea7b3cda6b2cca5b1cba5b1cba5b1ca -a7b2cab9bfcecfd0d3d2d2d2cdcdcdcacacacacacacececed8d8d8e3e3e3edededf6f6f6 -fbfbfbfdfdfdfefefefefefeffffffffffffffffffffffffffffffffffffffffffffffff -fffffffffffffffffffffffffefefefdfdfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfefefeffffffffffffffffffffffff -fffffffffffffefefefefefefefefefefefefdfdfdfcfcfcfcfcfcfcfcfcfcfcfcfbfbfb -f9f9f9f9f9f9f9f9f9f8f8f8f8f8f8f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f6f6f6f6f6f6 -f7f7f7f8f8f8fafafafafbfbe7ebf4b1c1df7198c63274b00f5da300579e00579e00579e -00579e00579e00579e00579e00579e00579e00579e00579e276caba2b7d4ecedeeefefef -eeeeeeeeeeeeefefefefefefeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeedededd2d8e45689bb -01589f00579e00579e00579e00579e00579e0c5ea29aadd0ececececececedededeeeeee -efefeff1f1f1f4f4f4f5f5f5f6f6f6d9deec1d65a800579e00579e00579e00579e00579e -00579e00579e00579e00579e00579e7d9ecbeef0f5f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9 -f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f9f93076af00579e00579e00579e00579e00579e -00579e00579e00579e00579e326caec0cde2f6f6f6f6f6f6f6f6f6f7f7f7f7f7f7f7f7f7 -f8f8f8f9f9f9f9f9f9fbfbfbfcfcfcfcfcfcfcfcfcfcfcfcfcfcfbfbfbfafafaf9fafaf9 -f8f8f7f6f6f5f4f5f4f3f3f3f1f1f1d0d7e44881b600579e00579e00579e00579e00579e -00579e00579e00579e00579e296aaaa1b1cde2e2e2e3e3e3e3e3e3e4e4e4e4e4e4e3e3e3 -e3e3e3e2e2e2e2e2e2e2e2e2e1e1e1e1e1e0e0e0e0e0e0e0e0e0e0e0e0e097a8ca1762a5 -00579e00579e00579e00579e00579e00579e00579e467cb3c0c7d8e3e3e3e3e3e3e4e3e3 -e4e4e4e4e4e4e4e4e4e4e4e4dadce182a1c600579e00579e00579e00579e00579e00579e -00579e00579eb0bdd0dbdbdbdadadad9d9d9d9d9d9d9d9d9d7d7d88ea7c41d64a500579e -00579e00579e00579e00579e00579e00579e00579e00579e00579e00579e05599f5281b4 -bdc4d2dadadadbdbdadbdbdadcdcdbdadadb8ca2c600579e00579e00579e00579e00579e -00579e00579e00579e00579e5880b8d9dce1e5e5e5e6e6e6e5e6e6e6e6e6e6e6e6e6e7e6 -e6e7e7a2b2d02869aa00579e00579e00579e00579e00579e00579e00579e00579e00579e -2c6caaa0b1ccdddedfe0e0e0dfdfdfdedfdfdddddddbdbdbdadadad9dad9d9d9d8d8d8d8 -d6d6d6d4d4d4d1d1d1cdcdcdc8c8c8c6c6c6cacacad4d4d4e2e2e2edededf6f6f6fbfbfb -fdfdfdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -fffffffffffffffffffffffffefdfefdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfefdfefefefefefefefefefeffffff -fffffffefefefefefefefefefefefefefefefefefefdfdfdfcfcfcfcfcfcfcfcfcfbfbfb -fafafaf9f9f9f9f9f9f8f8f8f7f7f7f7f7f7f7f7f7f6f6f6f6f6f6f6f6f6f5f5f5f5f5f5 -f6f6f6f6f6f6f7f7f7f9f9f9fafafafbfbfbf0f3f7bfcde46d95c51c66a800579e00579e -00579e00579e00579e00579e00579e00579e00579e00579e04599f598bbbd5dbe5eeeeee -ededededededededededededededededededececececececececece9e9eaa2b7d32669aa -00579e00579e00579e00579e00579e00579e2d6dabd5d9e3ebebebebebebecececeeeeee -efefeff2f2f2f4f4f4f5f5f5f6f6f6f7f7f7628ac000579e00579e00579e00579e00579e -00579e00579e00579e00579e00579e2f6daed8e0edfafafafafafafafafafafafafafafa -fafafafafafafafafafafafafafafafafafa3076b000579e00579e00579e00579e00579e -00579e00579e00579e00579e326caec0cde2f6f6f6f6f6f6f6f6f6f6f6f6f7f7f7f7f7f7 -f8f8f8f9f9f9f9f9f9fbfbfbfcfcfcfcfcfbfbfbfbfbfbfafbfbfafafaf9f9f9f8f8f8f7 -f6f6f5f4f4f4f3f3f2f1f1f1efeeeeced5e34781b600579e00579e00579e00579e00579e -00579e00579e00579e00579e2969a9a1b1cde2e2e2e3e3e3e4e4e4e4e4e4e4e4e4e3e3e3 -e3e3e3e2e2e2e2e2e2e2e2e2e1e1e1e0e0e0e0e0e0e0e0e0e0e0e0e0e0e098a8ca1762a4 -00579e00579e00579e00579e00579e00579e00579e477db4c4cbdce9e9e9eaeaeaeaeaea -e9e9e9e9e9e9e9e9e9e9e9e9dfe1e684a3c800579e00579e00579e00579e00579e00579e -00579e00579eb2bfd1dddddddcdcdcdbdbdbdadadad9d9d9d8d8d8bec4d14c80b202589f -00579e00579e00579e00579e00579e00579e00579e00579e00579e00579e266aa896acc6 -d6d6d8d9d9d9d8d8d8d8d9d8d9d9d8d6d6d7819ac100579e00579e00579e00579e00579e -00579e00579e00579e00579e577eb6d6d8dde1e1e1e2e2e2e2e2e2e3e3e2e4e4e3e4e4e4 -e5e5e5a1b2cf2869aa00579e00579e00579e00579e00579e00579e00579e00579e00579e -467eb3c4cad8dfdfdfdedededcdddddcdcdcdadbdbd9dad9d8d9d8d9d9d9d8d8d8d7d7d7 -d5d5d5d2d2d2cecececacacac6c6c6c7c7c7cfcfcfddddddeaeaeaf5f5f5fbfbfbfdfdfd -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -fffffffffffffffffffefefefdfdfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfefdfefefefefefefefefefefefefe -fefefefefefefefefefefefefefefefefefefefefefdfdfdfcfcfcfcfcfcfcfcfcfcfcfc -fafafaf9f9f9f9f9f9f8f8f8f8f8f8f7f7f7f6f6f6f5f5f5f5f5f5f5f5f5f4f4f4f4f4f4 -f4f4f4f4f4f4f5f5f5f6f6f6f6f6f6f8f8f8f9f9f9fafafae0e6f081a3cd1d67a800579e -00579e00579e00579e00579e00579e00579e00579e00579e00579e2d6dacabbcd6ececec -ececececececebebebebebebebebebebebebeaeaeaeaeaeaeaeaead7dbe36a94c00559a0 -00579e00579e00579e00579e00579e02589f7895c2e8e8e8eaeaeaeaeaeaebebebededed -efefeff2f2f2f4f4f4f5f5f5f6f6f6f7f7f7b8c5df04599f00579e00579e00579e00579e -00579e00579e00579e00579e00579e01589f9ab2d6f8f8fafbfbfbfbfbfbfbfbfbfbfbfb -fbfbfbfbfbfbfbfbfbfbfbfbfbfbfbfbfbfb3076b000579e00579e00579e00579e00579e -00579e00579e00579e00579e326caec0cde2f6f6f6f6f6f6f6f6f6f6f6f6f7f7f7f7f7f7 -f8f8f8f9f9f9fafafafbfbfbfbfbfbfafafafafaf9fbfbfaf9f9f8f9f9f8f7f7f6f5f5f4 -f3f3f2f2f2f1f0f0efeeeeedecececccd3e04780b500579e00579e00579e00579e00579e -00579e00579e00579e00579e296aaaa2b1cee3e4e3e4e4e4e4e4e4e4e4e4e4e4e4e4e4e4 -e3e3e3e2e2e2e2e2e2e2e2e2e1e1e1e1e1e1e1e1e1e1e1e1e2e2e2e2e2e299aacb1762a5 -00579e00579e00579e00579e00579e00579e00579e497fb6c9d0e1f0f0f0f1f1f1f0f0f0 -f0f0f0f0f0f0efefefeeeeeee3e6ea86a6cb00579e00579e00579e00579e00579e00579e -00579e00579eb5c2d4e1e1e1dedededddddddcdcdcdadadad9d9d9d6d6d8819fc01862a4 -00579e00579e00579e00579e00579e00579e00579e00579e00579e105da26c90bac8ccd4 -d8d8d8d7d7d7d7d7d7d7d7d7d7d7d7d3d4d57692bd00579e00579e00579e00579e00579e -00579e00579e00579e00579e577db5d3d5dadedededededddfdfdfdfdfdfe0e0e0e1e1e1 -e2e2e2a0b0ce2869a900579e00579e00579e00579e00579e00579e00579e00579e00579e -477fb3c4cad6dddddddcdcdbdbdbdbdadadad8d9d9d8d8d8d7d7d7d6d6d6d5d5d5d4d4d4 -d1d1d1cecececbcbcbc9c9c9c9c9c9cececed9d9d9e6e6e6f2f2f2fafafafdfdfdfefefe -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -fffffffffffffefefefefdfefdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfefdfefefefefefefefefefefefefe -fefefefefefefefefefefefefefefefefefefefefefdfdfdfcfcfcfcfcfcfcfcfcfcfcfc -fbfbfbf9f9f9f9f9f9f8f8f8f8f8f8f7f7f7f6f6f6f5f5f5f4f4f4f4f4f4f3f3f3f3f3f3 -f3f3f3f2f2f2f3f3f3f3f3f3f4f4f4f5f5f5f7f7f7f7f7f7f7f7f7dfe4ee7197c5115fa4 -00579e00579e00579e00579e00579e00579e00579e00579e00579e0d5ca284a6c9e8e8e9 -eaeaeae9e9e9e9e9e9e8e8e8e9e9e9e9e9e9e8e8e8e8e8e8e7e8e8b0c1d6306ead00579e -00579e00579e00579e00579e00579e03589fa6b3d1e7e7e7e8e8e8e9e9e9ebebebededed -efefeff2f2f2f4f4f4f5f5f5f6f6f6f7f7f7ebeef31460a500579e00579e00579e00579e -00579e00579e00579e00579e00579e00579e3e77b3f0f3f7fcfcfcfcfcfcfcfcfcfcfcfc -fcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfc3077b000579e00579e00579e00579e00579e -00579e00579e00579e00579e326caec0cde2f6f6f6f6f6f6f6f6f6f6f6f6f7f7f7f7f7f7 -f9f8f8f9f9f8fafaf9fafaf9fafaf9fafaf9fafaf9f9f9f8f7f7f6f6f6f5f4f4f3f3f3f2 -f1f1f0efefeeedececebebebe9e9e9cad1de467fb400579e00579e00579e00579e00579e -00579e00579e00579e00579e296aaaa3b2cfe5e5e4e5e5e5e5e6e5e5e5e5e5e5e5e5e5e5 -e5e5e5e5e5e5e4e4e4e4e4e4e4e4e4e4e4e4e5e5e5e5e5e5e6e6e6e7e7e79badcf1763a5 -00579e00579e00579e00579e00579e00579e00579e4a80b8cdd5e6f5f5f5f6f6f6f5f5f5 -f5f5f5f5f5f5f4f4f4f2f2f2e7e9ee88a7cd00579e00579e00579e00579e00579e00579e -00579e00579eb7c4d7e4e4e5e2e2e2dfdfdfdedededbdbdbdadadad9d9d9b9c1d03e79af -01579e00579e00579e00579e00579e00579e00579e00579e01589e3b76adb0baccd7d6d6 -d7d7d7d6d6d6d6d6d6d6d6d6d6d6d6d2d3d56e8cbb00579e00579e00579e00579e00579e -00579e00579e00579e00579e577db5d0d3d8dadadadadad9dbdbdbdcdcdcdddddddedede -dfdfdf9eafcc2869a900579e00579e00579e00579e00579e00579e00579e00579e00579e -467eb2c3c9d5dbdcdbdadadad8d8d8d6d6d6d2d2d2d0d0d0cecececdcdcdcdcdcdcecece -cececececececfcfcfd0d0d0d5d5d5dcdcdce6e6e6f0f0f0f8f8f8fdfdfdfefefeffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -fffffffffffffdfdfefdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfefdfefefefefefefefefefefefefe -fefefefefefefefefefefefefefefefefefefefefefdfdfdfdfdfdfcfcfcfcfcfcfcfcfc -fbfbfbfafafaf9f9f9f9f9f9f8f8f8f7f7f7f5f5f5f5f5f5f4f4f4f3f3f3f2f2f2f2f2f2 -f1f1f1f0f0f0f1f1f1f1f1f1f1f1f1f2f2f2f4f4f4f4f4f4f4f4f4f4f4f4becae03574b0 -00579e00579e00579e00579e00579e00579e00579e00579e00579e00579e6795bfdbdee4 -e8e8e8e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7d9dce27a9dc4085aa000579e -00579e00579e00579e00579e00579e02589e7592c0dedfe2e6e6e6e7e7e7eaeaeaececec -eeeeeef1f1f1f4f4f4f5f5f5f6f6f6f7f7f7c6d0e50b5ca200579e00579e00579e00579e -00579e00579e00579e00579e00579e00579e085ba1b7c6e2fdfdfdfdfdfdfdfdfdfdfdfd -fdfdfdfdfdfdfdfdfdfdfdfdfdfdfdfcfcfc3077b000579e00579e00579e00579e00579e -00579e00579e00579e00579e326caec1cde2f7f7f7f6f6f5f7f6f5f5f5f5f6f6f6f7f7f6 -f9f8f7f9f9f8fafaf9fafaf9fafaf9fafaf9f9f9f8f8f7f6f5f6f5f4f4f3f3f3f2f1f1f1 -efeeeeedecebeaeae9e8e8e8e7e7e7c9d0dc467fb300579e00579e00579e00579e00579e -00579e00579e00579e00579e296aaaa4b4d0e8e7e7e8e8e7e8e8e8e8e8e8e8e8e8e8e8e8 -e8e8e8e8e8e8e8e8e8e8e8e8e9e9e9eaeaeaebebebecececedededefefef9fb1d31863a6 -00579e00579e00579e00579e00579e00579e00579e4b81b9d0d8eaf9f9f9f9f9f9f8f8f8 -f8f8f8f7f7f7f6f6f6f5f5f5e9ebf089a8cf00579e00579e00579e00579e00579e00579e -00579e00579eb6c4d8e7e7e7e5e5e5e1e1e1dfdfdfdddddddbdbdbdadadad4d5d77898be -1460a300579e00579e00579e00579e00579e00579e00579e1a64a5829ec1d1d3d6d7d8d7 -d7d7d7d7d7d6d6d7d6d5d6d5d5d5d5d1d2d56484b800579e00579e00579e00579e00579e -00579e00579e00579e00579e567db4cdd0d5d8d7d7d8d7d7d8d8d8d9d9d9dadadadbdbdb -dddede9dadca2768a900579e00579e00579e00579e00579e00579e00579e00579e00579e -467eb2c0c6d2d6d6d6d2d2d2ccccccc9c9c9c6c6c6c6c6c6c8c8c8cccccccfcfcfd4d4d4 -d8d8d8dbdbdbdededee2e2e2e6e6e6ecececf2f2f2f8f8f8fcfcfcfefefeffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -fffffffefdfefdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfefdfefefefefefefefefefefefefe -fefefefefefefefefefefefefefefefefefefefefefefefefdfdfdfdfdfdfcfcfcfcfcfc -fcfcfcfafafafafafaf9f9f9f8f8f8f7f7f7f5f5f5f5f5f5f4f4f4f3f3f3f1f1f1f0f0f0 -f0f0f0efefefefefefefefefefefeff0f0f0f0f0f0f1f1f1f1f1f1f1f1f1e6e8ec548abb -03589f00579e00579e00579e00579e00579e00579e00579e00579e00579e5c8cbbd1d6e0 -e6e6e6e6e6e6e6e6e6e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5bec8d84075b000579e00579e -00579e00579e00579e00579e00579e00579e1a63a55b8ab996a9cba8b6d1b1bcd5b3bed7 -b4c0dab6c1dcb7c3ddb8c4dea8b9d98ba4ce3676b100579e00579e00579e00579e00579e -00579e00579e00579e00579e00579e00579e00579e5d86bffefefefefefefefefefefefe -fefefefefefefdfdfdfcfcfcfcfcfcfcfcfc3076b000579e00579e00579e00579e00579e -00579e00579e00579e00579e326caec0cde1f6f6f5f7f7f6f7f7f6f7f7f6f8f8f7f9f9f8 -fafaf9fbfbfafafaf9fbfaf9fbfaf9faf9f8f8f8f7f6f6f6f5f5f5f4f4f4f1f1f1f0f0f0 -eeeeededececebebeae8e8e8e8e8e8cad0dd467fb400579e00579e00579e00579e00579e -00579e00579e00579e00579e2a6baba7b7d4ecececededededededededededededededed -ededededededeeeeeeefefeff1f1f1f2f2f2f3f3f3f3f3f3f4f4f4f6f6f6a2b4d71864a6 -00579e00579e00579e00579e00579e00579e00579e4b82b9d2daecfbfbfbfbfbfbfafafa -f9f9f9f9f9f9f8f8f8f6f6f6eaecf189a9cf00579e00579e00579e00579e00579e00579e -00579e00579ea7b9d5e7e8e8e6e6e6e2e2e2e0e0e0dedededbdbdbd9d9d9d9d9d9b4bdce -3172ab00579e00579e00579e00579e00579e00579e085aa05282b4c6c9d3d9d8d8d9d9d9 -d8d8d8d8d8d8d8d7d7d8d8d7d7d7d7d1d2d45b80b500579e00579e00579e00579e00579e -00579e00579e00579e00579e557cb3c9cdd1d5d5d4d7d6d6d8d8d8d9d9d9dadbdbdcdcdc -dedede9eaecb2769a900579e00579e00579e00579e00579e00579e00579e00579e00579e -447cafb8becac9c9c9c3c3c3bfbfbfc0c0c0c6c6c6cdcdcdd6d6d6dddddde3e3e3e8e8e8 -ecececefefeff1f1f1f3f3f3f6f6f6f9f9f9fbfbfbfdfdfdfefefeffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -fefefefdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfdfdfefefefefefefefefefefefe -fefefefefefefefefefefefefefefefefefefefefefefefefdfdfdfdfdfdfcfcfcfcfcfc -fcfcfcfbfbfbfafafaf9f9f9f9f9f9f7f7f7f6f6f6f5f5f5f4f4f4f3f3f3f1f1f1f0f0f0 -efefefeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeededed7097c2 -0d5ca200579e00579e00579e00579e00579e00579e00579e00579e00579e5a8abacfd4de -e5e5e5e4e4e4e4e4e4e3e3e3e3e3e3e2e2e2e2e2e2dbdde08da9c90b5ba100579e00579e -00579e00579e00579e00579e00579e00579e00579e085ba01a64a61f67a72269a8226aa9 -236aa9236aaa236aaa236baa1e67a81560a501579e00579e00579e00579e00579e00579e -00579e00579e00579e00579e00579e00579e00579e1360a4d7deeffefefefefefefefefe -fdfdfdfcfcfcfbfbfbfafafaf8f8f8f7f7f72f76af00579e00579e00579e00579e00579e -00579e00579e00579e00579e326caec0cde1f6f6f5f7f7f6f8f8f7fafaf9fbfbfbfcfbfb -fcfbfbfdfcfbfcfbfbfbfbfafafaf9f9f8f8f8f7f7f6f6f6f4f4f4f3f3f3f2f1f1f1f0f0 -efefefeeedededecececebebebeaead0d5e14982b600579e00579e00579e00579e00579e -00579e00579e00579e00579e2a6baca9bad7f1f1f1f1f1f1f2f2f2f2f2f2f3f3f3f3f3f3 -f3f3f3f4f4f4f5f5f5f6f6f6f7f7f7f7f7f7f8f8f8f9f9f9f9f9f9f9f9f9a4b5d91864a6 -00579e00579e00579e00579e00579e00579e00579e5085bbd6ddecfbfbfbfbfbfbfbfbfb -fafafaf9f9f9f8f8f8f7f7f7eaecf189a9cf00579e00579e00579e00579e00579e00579e -00579e00579ea0b4d2e5e5e6e3e3e3e1e1e1dfdfdfdddddddbdbdbd9d9d9d9d9d9d4d5d8 -7090bc105ea200579e00579e00579e00579e03589f3170abaab7cbd9d9d9dbdadadadada -dadadadadadadad9d9d9dad9d9dad9d3d4d75279b400579e00579e00579e00579e00579e -00579e00579e00579e00579e567cb3cccfd4d7d8d8dbdbdadededddfdfdee1e1e0e1e1e1 -e2e3e3a0b0ce2869a900579e00579e00579e00579e00579e00579e00579e00579e00579e -4178acadb3bfbbbbbbbababac1c1c1cbcbcbd8d8d8e3e3e3ecececf2f2f2f6f6f6f9f9f9 -fafafafbfbfbfbfbfbfcfcfcfdfdfdfdfdfdfefefefefefeffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -fefefefdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfdfdfdfdfdfdfdfdfdfdfdfdfdfd -fdfdfdfefefefefefefefefefefefefefefefefefefefefefdfdfdfdfdfdfcfcfcfcfcfc -fcfcfcfbfbfbfbfbfbf9f9f9f9f9f9f8f8f8f6f6f6f5f5f5f4f4f4f3f3f3f1f1f1f0f0f0 -efefefeeeeeeededededededececececececececececececebebebebebebeaeaea7899c3 -115ea300579e00579e00579e00579e00579e00579e00579e00579e00579e5b8bbaced3dc -e2e2e2e2e2e2e1e1e1e1e1e1e1e1e1e0e0e0e0e0e0c7cdd94e7cb500579e00579e00579e -00579e00579e00579e00579e00579e00579e00579e00579e00579e00579e00579e00579e -00579e00579e00579e00579e00579e00579e00579e00579e00579e00579e00579e00579e -00579e00579e00579e00579e00579e00579e00579e03589f839dcefefefefefefefcfcfc -fbfbfbf9f9f9f7f7f7f5f5f5f2f2f2f0f0f02e74ae00579e00579e00579e00579e00579e -00579e00579e00579e00579e326caec0cde1f6f6f6f8f8f7fafaf9fbfbfafbfbfafcfcfb -fcfcfcfbfbfbfbfbfafbfbfafafaf9f9f9f8f7f7f6f7f7f6f6f6f5f4f4f3f4f4f3f3f3f2 -f2f2f1f1f1f0f1f1f0f0f0efefefefe3e5eb568cbb00579e00579e00579e00579e00579e -00579e00579e00579e00579e2a6cacacbddaf6f6f6f6f6f6f7f7f7f7f7f7f8f8f7f9f9f8 -f9f9f9fafafafafafafbfbfbfbfbfbfbfbfbfafafafafafaf9f9f9f8f8f8a3b4d81864a6 -00579e00579e00579e00579e00579e00579e00579e5d8fbfe2e6f0f9f9f9fafafafafafa -f9f9f9f9f9f9f8f8f8f7f7f7eaecf189a9cf00579e00579e00579e00579e00579e00579e -00579e00579e9eb1cfe2e2e3e0e0e0dfdfdfdcdcdcdbdbdbd9d9d9d9d9d9d9d9d9d9d9d9 -bcc2d14078af05599f0b5ca14270af6587b988a0c3b7c2d0d6d7d9dadadadadadadbdbdb -dbdbdbdcdcdcdcdcdcdcdcdcdcdcdcd5d7da4973b100579e00579e00579e00579e00579e -00579e00579e00579e00579e577db5d4d6dbe0e1e0e2e1e0e2e2e2e2e3e2e3e3e2e2e2e2 -e2e2e29fafcc2768a900579e00579e00579e00579e00579e00579e00579e00579e00579e -3e75a8a5abb6b9b9b9c4c4c4d3d3d3e1e1e1edededf4f4f4f9f9f9fcfcfcfdfdfdfefefe -fefefeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfdfdfdfdfdfdfdfdfdfdfdfdfdfd -fdfdfdfdfdfdfdfdfdfefefefefefefefefefefefefefefefefefefdfdfdfdfdfdd2daed -869fcd7c97c9bac5e2fafafaf9f9f9f8f8f8f7f7f7f6f6f6f4f4f4f3f3f3f1f1f1f0f0f0 -eeeeeeededededededeaeaeaeaeaeaeaeaeae9e9e9e9e9e9e8e8e8e8e8e8e3e4e6568bb8 -03599f00579e00579e00579e00579e00579e00579e00579e00579e00579e6b97bedadbdf -e0e0e0e0e0e0dfdfdfe0e0e0dfdfdfdfdfdfdcdcde9fb4cc075ba100579e00579e00579e -00579e00579e00579e00579e00579e00579e00579e00579e00579e00579e01589f115ea4 -2365a82365a82366a91c62a70559a000579e00579e00579e00579e00579e00579e00579e -00579e00579e00579e00579e00579e00579e00579e00579e1f6aaaeaedf6fbfbfbf8f8f8 -f6f6f6f3f3f3f0f0f0edededeaeaeae8e8e82c73ac00579e00579e00579e00579e00579e -00579e00579e00579e00579e326caec0cde1f7f8f7fafaf9fbfbfafbfbfafbfbfafcfcfb -fcfcfbfdfcfbfcfbfbfcfbfafbfbfafbfbfafbfbfbfafafafafafaf8f8f8f7f7f7f7f7f7 -f6f7f7f7f6f6f6f5f4f5f5f4f5f5f4f5f5f584a4cb135fa400579e00579e00579e00579e -00579e00579e00579e00579e2467aaa5b9d9fafbfafbfbfafbfcfbfafaf9fbfbfbfcfbfa -fcfcfcfcfcfcfcfcfcfbfbfbf9f9f9f7f7f7f6f6f6f4f4f4f3f3f3f1f1f18ca3cc1360a4 -00579e00579e00579e00579e00579e00579e095ba17ea6cbf6f6f7f9f9f9f9f9f9f9f9f9 -f9f9f9f9f9f9f8f8f8f7f7f7eaecf189a9cf00579e00579e00579e00579e00579e00579e -00579e00579e9baecbdcdcdddcdcdcdbdad9d9d9d9d9d8d8d8d8d8d8d9d9d9d9d9d9d9d9 -d8d8d9ccd1d5b6c1d0c8ced4cfd2d7d2d4d7d6d7dad9d9dadbdbdbdcdcdcdbdbdbdcdcdc -dddddddddddddedededddddddfdfdfd7d9dc3f70af00579e00579e00579e00579e00579e -00579e00579e00579e00579e587fb7d7dbdfe2e2e2e2e2e2e2e2e2e0e0e0e0e0e0dfdfdf -dedede9dadca2768a900579e00579e00579e00579e00579e00579e00579e00579e00579e -3e75a7aaafbac9c9c9d9d9d9e8e8e8f2f2f2f9f9f9fcfcfcffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -fffffffffffffffffffffffffffffffffffffffffffffffffffffffffefefefefefdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfefdfefdfdfdfdfdfdfcfcfcfcfcfc -fcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfdfdfdfdfdfdfdfdfdf8f9fbb3c3e0226bab -00579e00579e0559a0537fbabccbe3eff1f5f4f5f6f6f6f6f4f4f4f3f3f3f1f1f1efefef -eeeeeeedededebebebeaeaeae9e9e9e9e9e9e8e8e8e7e7e7e6e6e6e3e4e5a9b8d12c6eab -00579e00579e00579e00579e00579e00579e00579e00579e00579e2566a89baecbe0e0e0 -e0e0e0dfdfdfdfdfdfdedededdddddddddddccd0d85780b500579e00579e00579e00579e -00579e00579e00579e00579e02589e0a5ca11d66a66a87ba97a6c6bbc1d1d5d6dae2e2e2 -e8e8e8edededf2f2f2f5f5f5f5f5f6d6dceca9b8db6589c11162a50559a000579e00579e -00579e00579e00579e00579e00579e00579e00579e00579e0c5da295abd4f6f6f6f3f3f3 -efefefececece8e8e8e6e6e6e2e2e2e0e0e02b71ab00579e00579e00579e00579e00579e -00579e00579e00579e00579e2c69abb8c7ddf4f4f4f7f7f7f9f9f8fbfbfafbfbfafcfcfc -fcfcfcfefdfdfdfdfdfdfdfcfdfdfcfdfdfcfdfcfbfcfbfafbfbfafbfbfafafaf9fbfbfa -fbfbfafbfbfafafaf9fafaf9fbfbfafbfbfabfcce43374b001579e00579e00579e00579e -00579e00579e00579e00579e03589f6898c4eceef4fbfbfafbfbfafbfbfbfbfcfcfafafa -f8f8f8f7f7f7f6f6f6f4f4f4f1f2f2eff0f0eeeeeeecebebe8e8e8d9dbe2417bb303589f -00579e00579e00579e00579e00579e00579e3572b0b9c5dff6f6f6f8f8f8f9f9f9f9f9f9 -f8f8f8f8f8f8f7f7f7f6f6f6ebedf289a9cf00579e00579e00579e00579e00579e00579e -00579e00579e98acc8d7d8d8d9d8d7d8d9d9d8d8d8d8d7d6d8d8d7d9d8d8d9d8d7d9d8d7 -dad9d9d9d9d9d9d9d9d9d9d9dbdbdbdadadadbdbdbdcdcdcdddddddddddddedededddddd -dddddddededededededfdfdfdfdfdfd6d9dd2164a700579e00579e00579e00579e00579e -00579e00579e00579e00579e587fb7d6d9dde0e0e0e0e0e0dfdfdfdcdcdcd9d9d9d8d8d8 -d7d7d799a9c62768a800579e00579e00579e00579e00579e00579e00579e00579e00579e -4179acb8becaddddddeaeaeaf5f5f5fbfbfbfefefeffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -fffffffffffffffffffffffffffffffffffffffffffffffffffffffefefefdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfefdfefefefefefefefefefefdfdfd -fcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcf3f5f9a6bbdb246bab00579e -00579e00579e00579e00579e115ea3638ac0b4c7dfe0e6eeeceef1f2f2f2f1f1f1efefef -edededebebebeaeaeae9e9e9e8e8e8e7e7e7e5e5e5e3e4e4dcdde1b4c1d5457db404599f -00579e00579e00579e00579e00579e00579e00579e00579e05599f5384b6c7ccd9e0e0e0 -dfdfdfdfdfdfdedededddddddddddddbdbdcaebdcf0c5ca100579e00579e00579e00579e -00579e00579e00579e0b5ca12e6eaa90a4c5ced0d5d7d7d7d6d6d6d8d8d8dbdbdbe0e0e0 -e5e5e5ebebebf1f1f1f5f5f5f9f9f9fbfbfbfcfcfcfbfcfdcdd7ec5983bd0a5ca200579e -00579e00579e00579e00579e00579e00579e00579e00579e02589f3a77b1e7e9edededed -e9e9e9e6e6e6e2e2e2dfdfdfdddddddbdbdb2a70aa00579e00579e00579e00579e00579e -00579e00579e00579e00579e02589f719ac4d4dbe6eff0f2f7f7f6f7f7f7f9f9f9fafafa -fbfbfafbfbfafcfcfbfcfcfbfcfcfbfbfbfbfbfbfbfbfbfbfbfbfbfcfcfbfcfcfbfbfbfa -fafafafbfbfbfafafafbfbfbfcfcfcfcfbfbf5f6f9749dc90e5ea300579e00579e00579e -00579e00579e00579e00579e00579e286aaca3b9d8f0f2f5f6f6f6f6f6f6f4f4f4f2f2f1 -f1f1f1eeefeeecedecebebebe8e8e8e5e5e5e3e3e3e0e0e0d5d7dc809ac21761a400579e -00579e00579e00579e00579e00579e0d5ea2739dc6edeef2f6f6f6f7f7f7f8f8f8f8f8f8 -f8f8f8f8f8f8f7f7f7f6f6f6eaecf189a9cf00579e00579e00579e00579e00579e00579e -00579e00579e97aac7d8d7d7d8d8d8d9d9d8d8d8d8d9d8d8d8d8d8d8d8d8d9d9d8d9d9d9 -d9d9d9dadadadadadadbdbdbdbdbdbdcdcdcdbdbdbdcdcdcdddddddedededededededede -dedededfdfdfe0e0e0dfdfdfe0e0e0d8dbde1d62a600579e00579e00579e00579e00579e -00579e00579e00579e00579e587fb7d5d8dddedededbdbdbd8d8d8d5d5d5d2d2d2d0d0d0 -cfcfcf94a4c02667a700579e00579e00579e00579e00579e00579e00579e00579e00579e -3472acabb9d0e5e7e9f5f5f5fbfbfbfefefeffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -fffffffffffffffffffffffffffffffffffffffffffffffffefefefdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfefdfefefefefefefefdfdfdfdfdfd -fdfdfdfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcaec2de296ead00579e00579e -00579e00579e00579e00579e00579e00579e105ea34a7db791add0c0cfe0d4dbe7dde1e9 -e5e6eaeaeaebe9e9e9e7e7e7e2e2e5dadce2ced3ddbac6d688a3c6316fad01589f00579e -00579e00579e00579e00579e00579e00579e00579e03589f326eaca4b3cee0e0e0e0e0e0 -dfdfdfdfdfdfdedededdddddddddddd4d6d96589b900579e00579e00579e00579e00579e -00579e00579e1360a36689b9c4c9d3d8d9d9d7d7d7d5d5d5d4d4d4d4d4d4d8d8d8dddddd -e3e3e3ebebebf1f1f1f5f5f5f9f9f9fcfcfcfcfcfcfefefefefefedfe6f2608bc0085aa1 -00579e00579e00579e00579e00579e00579e00579e00579e00579e1864a6a7b6d4e8e8e8 -e5e5e5e1e1e1dedededbdbdbdadadad8d9d92970a900579e00579e00579e00579e00579e -00579e00579e00579e00579e00579e075aa15583b9a0b8d3c1d0e0c6d4e3c8d6e4c9d8e6 -cad8e6cad9e8cbd9e8cbd9e8cbd9e8ccdae8ccdae8ccdae8ccdae8cedae8d7dfece5e9f1 -f7f7f9fafafafafaf9fafaf9fafaf9fafaf9fafaf9d4dbeb4881b8065aa000579e00579e -00579e00579e00579e00579e00579e00579e316fae9eb4d3dce0e8eaebebebebebe8e9e9 -e7e7e7e4e4e4e2e2e2dfdfdfdddddddadadad5d6d8c4c9d37f9ac01d64a600579e00579e -00579e00579e00579e00579e075ba04e84b9d0d8e8f6f6f6f6f6f6f7f7f7f8f8f8f7f7f7 -f7f7f7f7f7f7f7f7f7f6f6f6eaecf189a9cf00579e00579e00579e00579e00579e00579e -00579e00579e8da1c3d7d7d7d7d8d7d9d8d8d9d8d7d8d8d8d8d8d8d9d8d8d9d9d9d9d9d9 -d9d9d9dadadadbdbdbdcdcdcdcdcdcdbdbdbdddddddddddddedededfdfdfdfdfdfdfdfdf -dfdfdfe0e0e0e0e0e0e0e0e0e0e0e0d6dbde00579e00579e00579e00579e00579e00579e -00579e00579e00579e00579e587eb6d3d6dbdadadad5d5d5d0d0d0ccccccc8c8c8c6c6c6 -c6c6c690a0bc2667a600579e00579e00579e00579e00579e00579e00579e00579e00579e -0459a0417ab4a0b8d6cad8e8d6e0eed8e1efd9e1f0d9e1f0d9e1f0d9e1f0d9e1f0d9e1f0 -d9e1f0d9e1f0d9e1f0d9e1f0d9e1f0d9e1f0dce4f1f0f3f9fefeffffffffffffffffffff -fffffffffffffffffffffffffffffffffffffffffffffffffdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfefefefffffffefefdfefefdfcfcfc -fcfcfbfbfbfafbfbfafcfcfcfcfcfcfbfbfbfafafafafafa81a8ce0e5ea300579e00579e -00579e00579e00579e00579e00579e00579e00579e00579e00579e2064a8507eb87197c4 -8dabcca2bcd3a3bcd2a1bbd192aecb7c9dc45d86ba2e6bab03599f00579e00579e00579e -00579e00579e00579e00579e00579e00579e04589f286aa98aa4c5d8d9dddfdfdfdfdfdf -dfdfdfdfdfdfdedededddddddcddddbdc6d31e62a600579e00579e00579e00579e00579e -00579e125fa37192bdcaced5d9d9d9d9d9d9d7d7d7d4d4d4d2d2d2d2d2d2d4d4d4d9d9d9 -e0e0e0e8e8e8efefeff5f5f5fafafafcfcfcfdfdfdfefefefefefefefeffcbd9eb3c77b4 -00579e00579e00579e00579e00579e00579e00579e00579e00579e095aa15d86badcdde1 -e0e0e0dddddddbdbdbd9d9d9d9d9d9d8d8d82970a900579e00579e00579e00579e00579e -00579e00579e00579e00579e00579e00579e00579e00579e155fa41b62a61b62a61b62a6 -1b62a61b62a61b62a61b62a71b62a71b62a71b62a71b62a71b62a72465a94174b46f95c6 -b9cbe1eff0f3f7f7f6f6f6f5f6f6f5f6f5f4f5f5f4f5f5f4bbc6de3d78b204599f00579e -00579e00579e00579e00579e00579e00579e00579e1f63a76b92bfaebdd4c7cedad3d6dc -dbdbdcd9dadad8d8d8d3d4d5c9cbd3b9c1ce99adc65a83b5165fa400579e00579e00579e -00579e00579e00579e075aa0457db5bcc9e0f6f6f6f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7 -f7f7f7f7f7f7f7f7f7f6f6f6eaecf189a9cf00579e00579e00579e00579e00579e00579e -00579e00579e849bc2d6d7d7d8d8d8d8d8d7d8d9d9d8d8d8d9d8d8d9d9d9d9dadadadada -dbdbdbdbdbdbdbdbdbdddddddddddddddddddddddddedededfdfdfdfdfdfdfdfdfe0e0e0 -e0e0e0e1e1e1e2e2e2e2e2e2e2e2e2d3d8de00579e00579e00579e00579e00579e00579e -00579e00579e00579e00579e577db5ced1d6d2d2d2cccccbc5c5c5c1c1c1c0c0c0c2c2c2 -c6c6c692a1be2667a700579e00579e00579e00579e00579e00579e00579e00579e00579e -00579e00579e0559a01f64a8376eb03c70b23c70b23c70b23c70b23c70b23c70b23c70b2 -3c70b23c70b23c70b23c70b23c70b23c70b24576b687a7d1ecf0f8ffffffffffffffffff -fffffffffffffffffffffffffffffffffffffffffffefefefdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfefefefffffffffffffffffffefefd -fefefdfdfdfcfcfcfbfcfcfbfbfcfcfcfcfbfbfbfbfbfbfbccd6e96693c3266aab0659a0 -00579e00579e00579e00579e00579e00579e00579e00579e00579e00579e00579e00579e -00579e00579e00579e00579e00579e00579e00579e00579e00579e00579e00579e00579e -00579e00579e00579e00579e00579e065aa03772ad8ca5c5d4d6d9dddddddddddddddddd -dddddddddddddddddddddddddbdcdc7a95bf00579e00579e00579e00579e00579e00579e -05599f5b86b7c2c8d3d9d9d9d8d8d8d8d8d8d7d7d7d4d4d4d2d2d2d1d1d1d1d1d1d5d5d5 -dbdbdbe3e3e3ecececf4f4f4fafafafcfcfcfdfdfdfefefefefefefffffff3f5fa91b0d5 -115ea400579e00579e00579e00579e00579e00579e00579e00579e00579e256ba9b1bcd2 -dddddddbdbdbd9d9d9d8d8d8d8d8d8d8d8d82970a900579e00579e00579e00579e00579e -00579e00579e00579e00579e00579e00579e00579e00579e00579e00579e00579e00579e -00579e00579e00579e00579e00579e00579e00579e00579e00579e00579e00579e02589f -2e6eadb5c2daeeeeedededececececececececebebebebeaebeaeab2bed6447cb3075aa0 -00579e00579e00579e00579e00579e00579e00579e00579e00579e2766a85280b57096bc -84a5c08da9c28ba7c17e9fbd698fb94979b11b61a500579e00579e00579e00579e00579e -00579e00579e0b5da24f84b9bdc9e0f5f5f5f6f6f6f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7 -f7f7f7f7f7f7f7f7f7f6f6f6eaecf189a9cf00579e00579e00579e00579e00579e00579e -00579e00579e849bc1d6d7d7d9d9d9d9d8d8d8d9d8d9d9d8d9d9d9d9d9d9dadadadbdbdb -dbdbdbdcdcdcdcdcdcdcdcdcdddddddedededfdfdfdfdfdfe0e0e0e0e0e0e1e1e1e1e1e1 -e2e2e2e2e2e2e3e3e3e4e4e4e4e4e4c5cddb00579e00579e00579e00579e00579e00579e -00579e00579e00579e00579e567db4c5c8cdc4c4c4bcbcbcbabababcbcbcc2c2c2cbcbcb -d4d4d49aabc82769a900579e00579e00579e00579e00579e00579e00579e00579e00579e -00579e00579e00579e00579e00579e00579e00579e00579e00579e00579e00579e00579e -00579e00579e00579e00579e00579e00579e00579e075aa1aabddefefeffffffffffffff -fffffffffffffffffffffffffffffffffffffefefefdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfefefeffffffffffffffffffffffff -fffffffefefefefefefefefefcfcfcfcfcfcfcfcfcfcfcfcfbfbfbdfe4f0a8bcda6593c3 -3471b00459a000579e00579e00579e00579e00579e00579e00579e00579e00579e00579e -00579e00579e00579e00579e00579e00579e00579e00579e00579e00579e00579e00579e -00579e00579e00579e00579e1f64a65786b6a7b4ccd6d7d9dadadadadadadadadadadada -dbdbdbdbdbdbdbdbdbdbdbdbcacfd72b68a900579e00579e00579e00579e00579e00579e -2c6ca9a3b5cad7d7d8d9d9d9d8d8d8d8d8d8d7d7d7d6d6d6d3d3d3d1d1d1d0d0d0d2d2d2 -d7d7d7e0e0e0e9e9e9f2f2f2f9f9f9fcfcfcfdfdfdfefefefffffffffffffefefecfd9eb -487db700579e00579e00579e00579e00579e00579e00579e00579e00579e0f5ea26e93bc -d6d7d9d9d9d9d8d8d8d6d6d6d6d6d6d7d7d73774ac02589f00579e00579e00579e00579e -00579e00579e00579e00579e00579e00579e00579e00579e00579e00579e00579e00579e -00579e00579e00579e00579e00579e00579e00579e00579e00579e00579e00579e00579e -0d5ca26f91bfe5e5e5e5e5e4e5e4e4e4e4e4e4e4e4e3e4e3e3e3e2e2e2e2bbc3d5608db9 -2165a700579e00579e00579e00579e00579e00579e00579e00579e00579e00579e00579e -00579e0b5ba1095aa000579e00579e00579e00579e00579e00579e00579e00579e00579e -00579e2969ab729cc6ced5e6f5f5f5f6f6f6f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f6f6f6 -f6f6f6f7f7f7f7f7f7f6f6f6eaecf189a9cf00579e00579e00579e00579e00579e00579e -00579e00579e849bc1d7d7d7d8d8d8d9d9d9d9d8d8d9d9d8dadadadadbdbdadadadbdbdb -dbdbdbdcdcdcdddddddddddddedededfdfdfdfdfdfe0e0e0e1e1e1e1e1e1e1e1e1e2e2e2 -e4e4e4e4e4e4e4e4e4e5e5e5e5e5e5bdc7d900579e00579e00579e00579e00579e00579e -00579e00579e00579e00579e5378aeb0b2b7b3b3b3b4b4b4bebebecacacad6d6d6e1e1e1 -eaeaeaa6b7d5296aab00579e00579e00579e00579e00579e00579e00579e00579e00579e -00579e00579e00579e00579e00579e00579e00579e00579e00579e00579e00579e00579e -00579e00579e00579e00579e00579e00579e00579e00579e4a7db9fafbfdffffffffffff -fffffffffffffffffffffffffffffffefefefdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfefefeffffffffffffffffffffffff -fffffffffffffffffffffffffefefefefefefefefefdfdfdfdfdfdfcfcfcfcfcfce7eaf4 -bac8e27aa4cb457cb7145fa500579e00579e00579e00579e00579e00579e00579e00579e -00579e00579e00579e00579e00579e00579e00579e00579e00579e00579e00579e00579e -00579e00579e2565a75080b292a8c5c5cad4dadadadadadad9d9d9d8d8d8d8d8d8d9d9d9 -d9d9d9d8d8d8d9d9d9d9d9d991a3c500579e00579e00579e00579e00579e00579e095ba0 -6e93bbcbced5d9d9d9d9d9d9d8d8d8d8d8d8d7d7d7d6d6d6d4d4d4d2d2d2d0d0d0d1d1d1 -d4d4d4dcdcdce6e6e6eeeeeef6f6f6fbfbfbfdfdfdfefefefefefefefefefefefef1f3f8 -8aabd1125fa400579e00579e00579e00579e00579e00579e00579e00579e01579e3675ad -bac1d0d7d7d7d7d7d7d6d6d6d6d6d6d6d6d66e8fba0a5ca100579e00579e00579e00579e -00579e00579e00579e00579e00579e00579e00579e00579e00579e00579e00579e00579e -00579e00579e00579e00579e00579e00579e00579e00579e00579e00579e00579e00579e -1260a386a0c3dfdfdfdfdfdedededddddddddcdcdcdbdcdcdbdbdbdadadad8d8d8cbcdd4 -8fa4c2487bb01760a300579e00579e00579e00579e00579e00579e00579e00579e00579e -00579e00579e00579e00579e00579e00579e00579e00579e00579e00579e00579e2466a9 -598bbdaabcd9e8eaf0f5f5f5f6f6f6f7f7f7f7f7f7f7f7f7f6f6f6f6f6f6f6f6f6f7f7f7 -f7f7f7f8f8f8f8f8f8f7f7f7eaecf189a9cf00579e00579e00579e00579e00579e00579e -00579e00579e849bc2d6d7d7d9d8d8d9d9d9d9d9d8d9d8d8dadadadbdbdbdbdbdbdbdbdb -dcdcdcdddddddededededededfdfdfe0e0e0e0e0e0e0e0e0e1e1e1e2e2e2e3e3e3e3e3e3 -e4e4e4e5e5e5e5e5e5e6e6e6e7e7e7b0bdd600579e00579e00579e00579e00579e00579e -00579e00579e00579e00579e5075a8a9acb0bbbbbbc9c9c9d8d8d8e4e4e4eeeeeef5f5f5 -f8f8f8b4c3df2f6fae00579e00579e00579e00579e00579e00579e00579e00579e00579e -00579e00579e00579e00579e00579e00579e00579e00579e00579e00579e00579e00579e -00579e00579e00579e00579e00579e00579e00579e00579e0b5ca2d0d9edffffffffffff -fffffffffffffffffffffffffefefefdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfefefeffffffffffffffffffffffff -fffffffffffffffffffffffffffffffffffffffffffefefefefefefdfdfdfdfdfdfdfdfd -fbfbfbf1f3f7cbd5e8a0bbd96c97c63b74b30f5da300579e00579e00579e00579e00579e -00579e00579e00579e00579e00579e00579e00579e00579e00579e00579e01589f1e62a6 -4577b06b93bb9aacc6bcc2ced6d6d6d8d8d8d9d9d9d9d9d9d9d9d9d9d9d9d8d8d8d9d9d9 -d8d8d8d8d8d8d8d8d8d8d8d84d79b200579e00579e00579e00579e01579e1861a45984b6 -b2bfced8d8d9d9d9d9d9d9d9d8d8d8d8d8d8d7d7d7d7d7d7d6d6d6d3d3d3d2d2d2d1d1d1 -d3d3d3d8d8d8e0e0e0e9e9e9f2f2f2f8f8f8fcfcfcfdfdfdfefefefefefefdfdfdfcfcfc -d4ddeb7196c52066a903589f00579e00579e00579e00579e00579e00579e00579e286ba9 -a3b0c9d7d7d7d6d6d6d6d6d6d6d6d6d6d6d6bac1ce5e88b62565a700579e00579e00579e -00579e00579e00579e00579e00579e00579e00579e00579e00579e00579e00579e00579e -00579e00579e00579e00579e00579e00579e00579e00579e00579e00579e03599f366eac -7498bec5cbd4dadadad9d9d9d8d8d8d7d8d7d7d7d7d7d7d7d7d7d6d6d6d5d5d5d4d5d5d5 -d2d3d4b8bfce8ca5c35986b62969a904599f00579e00579e00579e00579e00579e00579e -00579e00579e00579e00579e00579e00579e00579e00579e095ba1326fae6894c2a8bcd8 -d7ddeaf4f4f5f5f5f5f6f6f6f6f6f6f6f6f6f6f6f6f7f7f7f7f7f7f7f7f7f8f8f8f8f8f8 -f9f9f9f9f9f9f9f9f9f7f7f7eceef197b2d20659a000579e00579e00579e00579e00579e -00579e00579e8ea3c4d6d8d8d9d8d8d9d9d9dadadadadad9dadadadcdcdcdcdcdcdcdcdc -dddddddedededfdfdfdfdfdfe0e0e0e0e0e0e0e0e0e1e1e1e1e1e1e1e1e1dedededcdcdc -dededee1e1e1e4e4e4e7e7e7e9e9e9bac5d90a5ba100579e00579e00579e00579e00579e -00579e00579e00579e04589f6c89b3c5c6cadadadae7e7e7f1f1f1f7f7f7fafafafdfdfd -fefefee0e6f2769bca1d65a803589f00579e00579e00579e00579e00579e00579e00579e -00579e00579e00579e00579e00579e00579e00579e00579e00579e00579e00579e00579e -00579e00579e00579e00579e00579e00579e00579e00579e00579ea7b9ddffffffffffff -fffffffffffffffffffefefefdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfefefeffffffffffffffffffffffff -fffffffffffffffffffffffffffffffffffffffffffffffffefefefefefefefefefefefe -fcfcfcfcfcfcfcfcfcf9f9fbe5e9f3c9d6e8a7c1dc7ca1cb5482bb326dae0d5ca200579e -00579e00579e00579e00579e00579e01589e0f5da22e6aaa4979b26289b87f9fc09eb1c8 -b6bfcfcdcfd6d6d7d7d5d5d5d4d4d4d5d5d5d7d7d7d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9 -d8d8d8d8d8d8d8d8d8d7d7d79fb2c780a0c07f9fbf7f9fbf7f9fbf84a3c19aafc6bdc4d0 -d4d4d6d7d7d7d7d7d7d7d7d7d7d7d7d8d8d8d8d8d8d7d7d7d7d7d7d6d6d6d4d4d4d3d3d3 -d3d3d3d5d5d5dbdbdbe3e3e3ecececf4f4f4f9f9f9fcfcfcfdfdfdfdfdfdfcfcfcfafafa -f4f5f6dadfeab1c5da94b2cf89a9c986a6c785a5c583a4c382a2c381a1c182a2c197aec6 -c5cad2d7d7d7d6d6d6d5d5d5d6d6d6d6d6d6d5d5d5c0c5d0a3b3c888a6c17e9ebe7e9dbe -7c9cbc7c9bbc7b9bbb7c9cbc7e9ebe80a0c184a4c487a8c78aaaca8caccc8eaecf8fafd0 -8fb0d18fb0d18fafd08eaecf8dadce8caccd8babcc8aa9ca89a9c988a8c995b2ccb7c2d5 -d3d6dddfdfdfdddedddddddcdcdcdbdcdcdcdcdbdbdcdcdbdcdcdbdcdcdcdcdcdcdcdcdc -dcdcdcdddddddadadcc8cdd8acbcd187a6c7628bbb4375b21f64a70559a000579e00579e -00579e00579e00579e00579e085aa12868ab4c7cb86f96c499b6d4bfcee1dee3ecf2f3f4 -f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f7f7f7f7f7f7f8f8f8f8f8f8f9f9f9f9f9f9fafafa -fafafaf8f8f8f7f7f7f5f5f5efeff0d1d9e392afcc87a7c786a5c584a4c482a2c281a1c1 -81a1c184a3c1c1c7d1d8d9d8d9d8d8d9d9d9dadbdadadadadadadadcdcdcdddddddedede -dedededfdfdfe0e0e0e0e0e0e1e1e1e1e1e1e1e1e1e1e1e1dfdfdfdadadad5d5d5d4d4d4 -dadadae2e2e2e8e8e8eaeaeaebebebdfe1e799b4d086a6c77e9ebe7191af6787a56383a1 -6686a46d8dab7696b688a5c2c3cad7e7e7e8f2f2f2f8f8f8fbfbfbfefefefefefefefefe -fffffffdfdfee1e7f3bacfe4a0bedb96b6d795b5d795b5d795b5d795b5d795b5d795b5d7 -95b5d795b5d795b5d795b5d795b5d795b5d795b5d795b5d795b5d795b5d795b5d795b5d7 -95b5d795b5d795b5d795b5d795b5d795b5d795b5d795b5d79cbbd9e0e7f3ffffffffffff -fffffffffffffefefefdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfefdfeffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -fefefefdfdfdfcfcfcfcfcfcfcfcfcfcfcfcf9fafbebeef6dbe1eecbd7e7bacddfa3bcd5 -8da9cc83a2c780a0c5809fc391abc79ab2c8a7bbccb3bfcfbdc4d1c6cad3d1d2d6d7d7d7 -d7d7d7d8d8d8d7d7d7d7d7d7d5d5d5d5d5d5d5d5d5d6d6d6d8d8d8d8d8d8d8d8d8d8d8d8 -d9d9d9d9d9d9d9d9d9d8d8d8d7d7d7d2d3d6d1d2d6d1d2d5d1d2d5d2d2d5d5d5d5d6d6d6 -d6d6d6d5d5d5d5d5d5d5d5d5d5d5d5d6d6d6d6d6d6d6d6d6d6d6d6d7d7d7d6d6d6d5d5d5 -d4d4d4d5d5d5d8d8d8dddddde5e5e5edededf3f3f3f8f8f8fbfbfbfbfbfbfafafaf8f8f8 -f5f5f5f1f1f1ededede5e6e8dfe0e3dbdcdfd9daddd5d7dad3d4d8d2d3d7d2d3d6d4d4d6 -d6d6d6d6d6d6d6d6d6d6d6d6d5d5d5d6d6d6d5d5d5d5d5d5d6d6d6d3d3d5cecfd2cdced2 -ccced1cbccd0cacbcecacbcecccdd0d0d1d4d5d6dadadcdfe0e1e5e4e6e9e9ebeeedeff2 -eff0f4f0f1f5f0f1f5f0f1f4eef0f3edeef2ecedf0ebecf0e9ebeee8eaedececedededed -ebebebeaeaeaeaeaeae9eae9e9e9e9e8e8e8e7e6e6e7e7e7e6e6e6e6e6e6e6e6e6e6e6e6 -e7e7e7e8e8e8e8e8e8e9e9e9e8e8e8e2e3e7d6dae4cbd3e1bdccddaec4d99fbad58baacf -89a9cf8aa9ce92b0d2a6bfdab7ccdfc7d4e5d5dceae3e7f0f1f2f5f7f7f7f7f7f7f6f6f6 -f7f7f7f7f7f7f7f7f7f7f7f7f8f8f8f9f9f9f9f9f9fafafafafafafbfbfbfafafafafafa -f9f9f9f7f7f7f4f4f4f1f1f1ececece8e8e8e1e2e4dbdde0d8daddd6d7dad4d5d8d3d4d6 -d3d4d7d4d5d7d8d8d9d9d8d7d8d9d9dadad9dadadadbdbdbdcdcdbdddddddededededede -dfdfdfe0e0e0e1e1e1e1e1e1e2e2e2e2e2e2e3e3e3e2e2e2e0e0e0dcdcdcdbdbdbdddddd -e2e2e2e5e5e5e4e4e4e1e1e1dedededbdbdbd1d1d3c1c3c6b5b6baabacafa8aaacaeafb2 -b9babdc6c7cad2d3d6dfe0e2ebebecf2f2f2f6f6f6f9f9f9fbfbfbfdfdfdfdfdfdfefefe -fffffffffffffffffffffffffafbfdf7f8fcf7f8fcf7f8fcf7f8fcf7f8fcf7f8fcf7f8fc -f7f8fcf7f8fcf7f8fcf7f8fcf7f8fcf7f8fcf7f8fcf7f8fcf7f8fcf7f8fcf7f8fcf7f8fc -f7f8fcf7f8fcf7f8fcf7f8fcf7f8fcf7f8fcf7f8fcf7f8fcfafafdffffffffffffffffff -fffffffefefefdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfefefeffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -fefefefefefefefefefefefefdfdfdfdfdfdfdfdfdfefefefdfdfdfbfbfbf8f8f8f0f0f2 -e6e7ebdfe1e6dbdde2d6d9dddadbdddadbdcdadadad9d9d9d9d9d9d8d8d8d8d8d8d7d7d7 -d7d7d7d8d8d8d7d7d7d8d8d8d8d8d8d6d6d6d5d5d5d5d5d5d5d5d5d6d6d6d7d7d7d7d7d7 -d8d8d8d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d8d8d8d7d7d7d7d7d7 -d7d7d7d6d6d6d5d5d5d5d5d5d5d5d5d5d5d5d4d4d4d4d4d4d5d5d5d5d5d5d5d5d5d5d5d5 -d5d5d5d4d4d4d5d5d5d8d8d8dededee4e4e4ebebebf1f1f1f6f6f6f8f8f8f6f6f6f5f5f5 -f2f2f2eeeeeeeaeaeae6e6e6e3e3e3e0e0e0dddddddbdbdbd9d9d9d7d7d7d7d7d7d6d6d6 -d6d6d6d5d5d5d5d5d5d6d6d6d5d5d5d5d5d5d5d5d5d6d6d6d5d5d5d5d5d5d5d5d5d3d3d3 -d2d2d2d2d2d2d1d1d1d1d1d1d2d2d1d4d4d4d7d7d7dbdbdbe0e0e0e5e5e5eaeaeaf0f0f0 -f4f4f4f6f6f6f8f8f8f9f9f9fafafafafafafafafafafafafafafaf9f9f9f8f8f8f7f7f7 -f6f6f6f4f4f4f4f4f4f4f4f4f3f3f3f2f2f2f1f1f1f1f1f1f1f1f1f0f0f0f0f0f0f0f0f0 -f0f0f0f1f1f1f2f2f2f2f2f2f2f2f2f2f2f2f3f3f3f3f3f3f4f4f4f3f4f4f1f2f4edeff3 -eceff3edeff3eff0f4f3f3f6f7f7f7f8f8f8f8f8f7fafafafafafafafafafafafaf9f9f9 -f9f9f9fafafafafafafafafafbfbfbfcfcfcfcfcfcfcfcfcfcfcfcfbfbfbfafafaf9f9f9 -f6f6f6f3f3f3efefefebebebe7e7e7e4e4e4e1e1e1dedededcdcdcdadadad9d9d9d8d9d8 -d9d9d8d9d9d8d8d9d8d8d8d8d8d8d7d9d8d7d9d9d8dcdcdbdededddfdfdfdfdededfdfdf -e0e0e0e1e1e1e1e1e1e1e1e1e3e3e3e4e4e4e5e5e5e5e5e5e5e5e5e5e5e5e5e5e5e4e4e4 -ddddddd1d1d1c5c5c5bebebebdbdbdbdbdbdbebebebfbfbfc2c2c2c7c7c7cececed6d6d6 -dddddde3e3e3e6e6e6e8e8e8eaeaeaececececececeeeeeef2f2f2f6f6f6f9f9f9fcfcfc -fdfdfdfefefefefefeffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -fefefefdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfefefeffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -fffffffffffffffffffefefefefefefefefefefefefefefefefefefdfdfdfbfbfbf8f8f8 -f4f4f4efefefeaeaeae4e4e4e1e1e1dedededcdcdcdadadad9d9d9d9d9d9d8d8d8d8d8d8 -d9d9d9d9d9d9d8d8d8d9d9d9d9d9d9d9d9d9d8d8d8d7d7d7d6d6d6d6d6d6d6d6d6d7d7d7 -d7d7d7d8d8d8d9d9d9d9d9d9d9d9d9dadadad9d9d9d9d9d9d9d9d9dadadad9d9d9d9d9d9 -d9d9d9d9d9d9d8d8d8d8d8d8d7d7d7d6d6d6d6d6d6d5d5d5d5d5d5d5d5d5d5d5d5d4d4d4 -d4d4d4d3d3d3d4d4d4d4d4d4d7d7d7dadadae0e0e0e7e7e7edededf0f0f0f2f2f2f2f2f2 -efefefececece8e8e8e5e5e5e1e1e1dfdfdfdcdcdcdadadad8d8d8d8d8d8d6d6d6d6d6d6 -d5d5d5d5d5d5d5d5d5d5d5d5d6d6d6d5d5d5d6d6d6d5d5d5d6d6d6d4d4d4d4d4d4d5d5d5 -d4d4d4d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d4d5d5d7d7d7d9d9d9dddddde1e1e1e6e6e6 -ebebebefefeff3f3f3f6f6f6f9f9f9fbfbfbfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfc -fbfbfbfafafafafafafafafafafafafafafaf9f9f9f9f9f9f8f8f8f8f8f8f7f7f7f7f7f7 -f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f8f8f8f8f8f8f8f8f8f8f8f8f9f9f9f9f9f8 -f9f8f7f7f7f7f6f6f6f5f5f4f5f4f3f6f5f5f8f8f8fbfbfbfcfcfcfcfcfcfcfcfcfcfcfc -fcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfafafaf8f8f8f6f6f6f3f3f3 -efefefececece9e9e9e6e6e6e2e2e2e0e0e0dedededbdbdbdadadadadad9d9d9d8d9d9d8 -dad9d9d8d9d9dad9d9d9d9d8d5d4d4d2d3d2d4d3d2d8d8d7dddddcdfdfdfe1e1e1e2e2e2 -e2e2e2e2e2e1e3e3e2e4e4e4e6e5e5e6e7e6e6e7e7e6e7e7e8e7e7e7e7e7e2e2e2d4d3d3 -c0bfbfafafafaaaaaaaeaeadbababac4c4c4ccccccd3d3d3d9d9d9dfdfdfe4e4e4e7e7e7 -e7e8e7e7e7e6e6e6e5e4e4e4e1e2e2e1e1e1e0e0e0e3e3e3e8e8e8eeeeeef3f3f3f7f7f7 -fbfbfbfdfdfdfefefefefefeffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -fefdfefdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfdfeffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -fffffffffffffffffffffffffffffffefefefefefefefefefefefefefefefdfdfdfcfcfc -fafafaf6f6f6f1f1f1ececece7e7e7e3e3e3e0e0e0dddddddcdcdcdbdbdbd9d9d9d9d9d9 -d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d8d8d8d9d9d9d9d9d9d9d9d9d8d8d8d7d7d7d6d6d6 -d5d5d5d6d6d6d8d8d8d9d9d9d9d9d9d8d8d8d9d9d9d9d9d9d9d9d9d9d9d9dadadadadada -dbdbdbdadadadadadad9d9d9d9d9d9dadadad9d9d9d9d9d9d8d8d8d8d8d8d7d7d7d6d6d6 -d6d6d6d5d5d5d5d5d5d4d4d4d4d4d4d4d4d4d6d6d6dbdbdbe0e0e0e4e4e4e8e8e8e9e9e9 -e9e9e9e7e7e7e5e5e5e2e2e2e0e0e0dedededbdbdbd9d9d9d8d8d8d7d7d7d6d6d6d7d7d7 -d6d6d6d6d6d6d5d5d5d6d6d6d6d6d6d6d6d6d5d5d5d6d5d5d5d5d5d5d5d5d4d5d5d5d5d5 -d5d5d5d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d5d5d5d6d6d6d6d6d6d8d8d8dadada -dfdfdfe4e4e4e9e9e9efefeef3f3f2f5f6f5f7f7f6f9f9f9fbfbfbfcfcfcfcfcfcfcfcfc -fcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfc -fcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfbfbfbfcfcfcfcfcfcfafaf9 -f9f8f7f6f6f5f2f1f0edededebebebedededf0f0f0f5f5f5f9f9f9fcfcfcfdfdfdfdfdfd -fdfdfdfdfdfdfcfcfcfcfcfcfcfcfcfbfbfbf9f9f9f7f7f7f4f4f4f1f1f1efefefececec -e8e8e8e4e4e4e2e2e2dfdfdfdedededcdcdcdadadad9d9d9d9d9d9d9d9d9d9d9d9dadada -dadadadbdbdbdbdadad9d9d8d5d4d4cccdccc7c7c7cacacad1d1d0d9d8d7dededde1e1e0 -e4e3e3e3e3e2e3e3e3e4e4e4e3e3e3e3e4e4e3e2e1e1e0dfdddddcd4d4d4c8c8c8bbbaba -b1b1b0b0b0afb5b4b3bebdbccecdccd9d9d9e1e1e0e7e7e7ebebebedededeeeeeeedeeed -eaeaeae7e7e7e4e4e3e0e1e0dddddcdcdcdcdcdbdbdfdfdee2e2e2e7e7e7ecececf2f2f2 -f6f6f6fafafafdfdfdfefefefefefeffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfdfeffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -fffffffffffffffffffffffffffffffffffffffffffffffffefefefefefefefefefefefe -fdfdfdfcfcfcf9f9f9f4f4f4efefefebebebe6e6e6e2e2e2e0e0e0dedededcdcdcdbdbdb -dadadadadadad9d9d9d9d9d9d9d9d9d9d9d9dadadadadadad9d9d9dadadadadadad9d9d9 -d9d9d9d8d8d8d7d7d7d9d9d9d8d8d8d7d7d7d8d8d8d8d8d8d9d9d9d9d9d9d9d9d9dadada -dadadadbdbdbdadadadbdbdbdadadadcdcdcdbdbdbdbdbdbdbdbdbdadadadadadad9d9d9 -d9d9d9d9d9d9d8d8d8d7d7d7d6d6d6d5d5d5d4d4d4d5d5d5d7d7d7dadadadddddde0e0e0 -e1e1e1e1e1e1e0e0e0dfdfdfdddddddcdcdcd9d9d9d9d9d9d9d9d9d7d7d7d6d6d6d6d6d6 -d6d6d6d5d5d5d5d5d5d5d5d5d5d5d5d6d6d6d6d6d6d6d6d6d5d5d5d6d6d6d6d6d6d6d6d6 -d6d7d7d6d6d6d7d6d6d7d7d6d7d7d7d7d6d6d6d5d5d6d6d5d5d5d5d3d3d3d2d2d1d1d1d0 -d3d3d3d8d8d8e0e0e0e7e8e7eeeeedf2f2f1f3f3f3f5f4f4f6f6f6f7f6f6f7f7f7f7f7f7 -f7f7f7f8f8f8f8f8f8f8f8f8f9f9f9fafafafbfbfbfbfbfbfbfbfbfbfbfbfcfcfcfdfdfd -fdfdfdfdfdfdfdfdfdfdfdfdfdfdfdfdfdfdfcfcfcfcfcfcfcfcfcfbfbfbfbfaf9f8f8f8 -f3f4f3f1f1f1ebebeae4e4e3dfe0dfe0e0e0e6e6e6edededf4f4f4fafafafcfcfcfcfcfc -fcfcfcfbfbfbfbfbfbf9f9f9f7f7f7f5f5f5f3f3f3efefefececece9e9e9e7e7e7e4e4e4 -e1e1e1dedededcdcdcdadadad9d9d9d9d9d9d9d9d9d9d9d9dadadadadadad9d9d9d9dad9 -dbdadadadad9dbdcdbdbdbdbd5d6d5cccccbc1c1c0bbbbbac0c0c0c9c9c9d0d0d0d3d4d4 -d6d5d5d5d5d5d4d4d3d4d4d3d3d3d2d1d1d1cfcfcecacacac6c6c6c0c0bfbcbbbbbababa -bcbcbcc1c1c0cacac8d3d2d1dbdbdbe1e1e0e7e8e7ecececf0efeef3f3f2f4f5f4f3f3f2 -f0f0efededeceaeae9e5e5e4e3e3e3e2e1e0e0e0e0e0e0dfe2e2e2e5e5e5eaeaeaefefef -f4f4f4f9f9f9fcfcfcfdfdfdfefefeffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffefefefdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfdfe -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -fefefefdfdfcfcfcfbf9f9f9f8f8f7f2f2f1eeeeedebebebe7e7e7e3e3e3e1e1e1e0e0e0 -dededededededcdcdcdbdbdbdadadadadadadadadadadadadadadadadadadbdbdbdcdcdc -dbdbdbdadadadadadad9d9d9dadadad9d9d9d8d8d8d8d8d8d8d8d8d9d9d9d9d9d9d9d9d9 -d9d9d9dadadadadadadadadadadadadbdbdbdcdcdcdcdcdcdcdcdcdcdcdcdbdbdbdcdcdc -dcdcdcdbdbdbdbdbdbdadadad9d9d9d9d9d9d8d8d8d7d7d7d6d6d6d7d7d7d8d8d8d9d9d9 -dadadadbdbdbdbdbdbdbdbdbdbdbdbdadadad9d9d9d9d9d9d7d7d7d8d8d8d8d8d8d7d7d7 -d7d7d7d6d6d6d6d6d6d5d5d5d6d6d6d6d6d6d6d6d6d5d5d5d6d6d6d6d6d6d7d7d7d6d6d6 -d6d6d6d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d6d6d6d5d5d5d1d1d1cccbcb -cacbcacdcdccd5d6d5dfdfdfe8e8e8edededf0efeef0f0eff0f0f0f0f0f0eeeeeeededed -ececececececececececececeeeeeeefefeff1f1f1f2f2f2f4f4f4f4f4f4f6f6f6f9f9f9 -f9f9f9fafafafbfbfbfbfbfbfbfbfbfbfbfbfafafaf9f9f9f7f7f7f5f5f5f4f3f3f1f1f1 -edecece8e8e8e2e2e2dadbdad6d6d6d6d6d6dbdbdbe3e3e3ecececf3f3f3f6f6f6f6f6f6 -f7f7f7f5f5f5f3f3f3f1f1f1eeeeeeecececeaeaeae6e6e6e4e4e4e1e1e1dedededddddd -dbdbdbdadadad9d9d9d9d9d9d9d9d9d9d9d9d9d9d9dadadadadadadbdbdbdbdbdbdbdbdb -dcdcdbdcdbdbdcdbdbdcdbdad8d8d8d0d0d0c4c5c4bababab8b8b7c0c0bfcacac9d1d1d0 -d3d3d2d3d3d2d3d3d2d2d2d2d1d1d0cecececacacac7c7c7c6c6c6c6c6c6c7c7c7c9c9c9 -cececed3d3d2d7d7d7dbdbdbdfdfdfe2e2e2e5e5e5eaeaeaefefeff3f3f3f6f6f6f8f8f8 -f6f7f6f3f3f3f0f0efececebe8e8e8e7e6e6e6e6e5e7e7e7e9e9e9ebebebf0f0f0f4f4f4 -f8f8f8fcfcfcfdfdfdfefefeffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fefdfeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -fffffffefefefdfdfcfcfcfcfbfbfbfafaf9f6f6f5f3f3f2efefefebebebe8e8e8e5e5e5 -e3e3e3e2e2e2e0e0e0dedededddddddcdcdcdcdcdcdbdbdbdcdcdcdcdcdcdcdcdcdddddd -dddddddddddddddddddcdcdcdcdcdcdbdbdbdbdbdbdbdbdbdadadadadadadadadad9d9d9 -d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9dadadadbdbdbdbdbdbdbdbdbdcdcdcdcdcdcdcdcdc -dbdbdbdcdcdcdcdcdcdbdbdbdbdbdbdbdbdbdadadad9d9d9d8d8d8d9d9d9d9d9d9d9d9d9 -d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d8d8d8d7d7d7d8d8d8d8d8d8d7d7d7d8d8d8d7d7d7 -d7d7d7d7d7d7d6d6d6d6d6d6d6d6d6d6d6d6d7d7d7d6d6d6d6d6d6d6d6d6d7d7d7d6d6d6 -d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d8d8d8d8d7d7d8d8d8d7d7d7d6d6d5d3d3d2cecece -c8c8c7c8c7c6cdcdccd7d8d7e1e1e1e7e7e7ebebeaebebebebebebeaeaeae7e7e7e6e6e6 -e3e4e3e3e2e1e2e2e2e3e3e2e2e2e2e3e3e2e3e3e3e5e5e5e6e6e6e6e6e6e8e8e8eaeaea -ecececf0f0eff2f2f2f4f4f4f4f4f4f4f4f4f3f3f3f1f1f1efefefedededebeae9e6e7e6 -e3e3e3dededed9d9d9d4d4d4d0d1d1d1d1d1d5d5d5dddddde5e5e5ebebebedededeeeeee -eeeeeeecececebebebe9e9e9e5e5e5e3e3e3e0e0e0dedededcdcdcdadadad9d9d9d9d9d9 -d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9dadadadbdbdbdbdbdbdbdbdbdbdbdbdcdcdcdcdcdb -dbdadadadadadbdbdbd9d9d8d7d6d6d3d3d3cdcecdc6c5c5c1c2c1c5c5c5cecdccd8d5d5 -dfdedde2e2e0dfdfdedadad9d2d2d1cdcdcdcccccccdcdcdcececed0d0d0d2d2d2d4d4d4 -d7d7d7d9d9d9d9dad9dbdbdbdcdcdcdfdfdfe2e2e2e9e9e9f0f0f0f5f5f5f9f9f9fbfbfb -fafafaf9f9f9f7f7f7f5f5f5f4f4f4f3f3f3f3f3f3f4f4f4f6f6f6f7f7f7f8f8f8fbfbfb -fdfdfdfdfdfdfefefefefefefefefeffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfefefeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -fffffffffffffffffffefefefefefefcfcfcfbfbfbfafafaf7f7f6f3f3f2efefefececeb -e9e9e9e8e8e8e5e5e5e3e3e3e1e1e1e0e0e0dfdfdfdedededddddddddddddddddddddddd -dddddddededededededfdfdfdedededfdfdfdfdfdfdedededddddddcdcdcdcdcdcdcdcdc -dbdbdbdadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadbdbdb -dbdbdbdbdbdbdcdcdcdbdbdbdbdbdbdbdbdbd9d9d9d7d7d7d6d6d6d6d6d6d7d7d7d9d9d9 -d9d9d9dadadad9d9d9d9d9d9d9d9d9d8d8d8d8d8d8d8d8d8d7d7d7d8d8d8d7d7d7d6d6d6 -d7d7d7d6d6d6d7d7d7d7d7d7d7d7d7d6d6d6d7d7d7d7d7d7d7d7d7d7d7d7d6d6d6d7d7d7 -d7d7d7d7d7d7d8d8d8d9d9d9d8d8d8d8d8d8d7d8d8d8d8d8d8d8d8d8d8d7d7d6d5d2d2d1 -ccccccc9c9c8cbcbcad2d2d1dadbdae1e1e1e4e4e4e5e5e5e4e4e4e4e4e3e2e2e1e1e1e0 -e0dfdfdfdededfdfdedfdfdedfdfdedededddedfdedfdfdedfdfdedfdededfdfdfdedede -e0e0e0e3e2e2e7e6e6eaeaeaebecebebebebeaeaeae7e8e8e5e5e4e2e2e1dfdfdedcdcdb -d9d9d9d8d8d7d5d5d5d3d3d3d3d3d3d5d5d5d8d8d8dededee2e2e2e4e4e4e5e5e5e5e5e5 -e4e4e4e3e3e3e0e0e0dedededddddddbdbdbdadadadadadad9d9d9d9d9d9d9d9d9d9d9d9 -d9d9d9d9d9d9d9d9d9dbdbdbdbdbdbdbdbdbdbdbdbdadadad9d9d9d7d7d7d6d6d6d4d4d4 -d4d4d4d5d5d5d5d5d5d4d4d4d5d5d5d7d6d6d8d8d8dadbdadbdbdbdcdcdcdedddddedddd -dedddcdadad9d3d3d3cdcdcdcdcdcdcececed2d2d2d4d4d4d5d5d5d6d5d5d6d5d5d7d7d6 -d8d8d7d9dadadbdbdadadadadadadadddddde3e3e3ebebebf2f2f2f8f8f8fcfcfcfdfdfd -fdfdfdfdfdfdfdfdfdfcfcfcfcfcfcfbfbfbfbfbfbfbfbfbfcfcfcfcfcfcfcfcfcfcfcfc -fbfbfbfbfbfbfbfbfbfafafafbfbfbfcfcfcfcfcfcfdfdfdfefefeffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfefdfeffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -fffffffffffffffffffffffffffffffffffffffffffefefefdfdfcfbfbfbf7f7f6f2f2f2 -efefeeecebebe9e9e9e7e7e7e4e4e4e4e4e4e2e2e2e1e1e1e1e1e1e1e1e1e0e0e0e0e0e0 -dfdfdfdfdfdfdfdfdfe0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0dfdfdf -dfdfdfdedededddddddddddddddddddcdcdcdbdbdbdadadadbdbdbdadadadadadadbdbdb -dadadadadadadadadadadadadadadadadadad7d7d7d4d4d4d1d1d1d1d1d1d3d3d3d5d5d5 -d6d6d6d7d7d7d8d8d8d8d8d8d8d8d8d8d8d8d9d9d9d8d8d8d8d8d8d7d7d7d7d7d7d7d7d7 -d7d7d7d6d6d6d7d7d7d7d7d7d7d7d7d7d7d7d8d8d8d8d8d8d8d8d8d7d7d7d8d8d8d8d8d8 -d8d8d8d8d8d8d9d9d9d9d9d9d9d9d9d9d9d9d8d8d8d8d8d8d8d9d9d9d9d9d9d8d7d6d6d6 -d4d4d3d1d1d0d1d1d0d5d5d4d9dadadededee0e0e0e1e0e0dfdfdfdfdfdedddddcdcdcdb -dcdcdbdbdbdbdbdbdbdbdbdbdbdbdadbdbdbdbdbdbdcdcdbdbdbdbdbdbdbdbdbdbdbdcdc -dbdbdbdddddce0e0e0e2e2e2e2e3e2e2e1e1dfdfdfdddedddbdbdbd9d9d9d8d8d8d7d7d6 -d6d5d5d6d6d5d5d6d6d6d6d6d7d7d7d9d9d9dbdbdbdcdcdcdddddddddddddddddddddddd -dcdcdcdadadadadadad9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9dadada -dadadadadadadbdbdbdbdbdbd8d8d8d7d7d7d5d5d5d2d2d2d0d0d0cfcfcfcfcfcfd1d1d1 -d5d5d5d8d8d8dcdcdcdededee0e0e0e4e3e3e4e4e4e5e5e5e1e1e1dadadad4d4d4cecece -cbcbcbcbcbcbcdcdcdcfcfcfd3d3d3d5d5d5d7d7d7d7d7d7d7d7d7d6d6d6d6d7d6d7d8d7 -d9d8d8d9d9d9dadad9d8d8d8d9d9d9dcdcdce5e5e5eeeeeef5f5f5f9f9f9fcfcfcfdfdfd -fcfcfcfcfcfcfcfcfcfbfbfbfbfbfbfafafafafafafafafaf9f9f9f8f8f8f7f7f7f6f6f6 -f4f4f4f4f4f4f3f3f3f4f4f4f5f5f5f8f8f8fafafafcfcfcfefefeffffffffffffffffff -fffffffffffffffffffefefefefefefffffffffffeffffffffffffffffffffffffffffff -fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfefdfeffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -fffffffffffffffffffffffffffffffffffffffffffffffffffffffefefefdfdfdfbfbfa -f7f7f6f3f3f2efefeeebebeae7e7e7e5e5e5e3e3e3e3e3e3e4e4e4e5e5e5e4e4e4e4e4e4 -e3e3e3e2e2e2e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e1e2e2e2e2e2e2e2e2e2 -e2e2e2e2e2e2e1e1e1e1e1e1e0e0e0e0e0e0dfdfdfdedededededededededcdcdcdbdbdb -dbdbdbdbdbdbdadadadadadad9d9d9dadadad7d7d7d0d0d0cbcbcbcccccccececed1d1d1 -d3d3d3d4d4d4d5d5d5d6d6d6d5d5d5d6d6d6d6d6d6d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7 -d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d8d8d8d8d8d8d8d8d8d9d9d9d9d9d9d8d8d8 -d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d8d9d9d8dad9d9d8d8d8 -d9d9d8d8d8d7d9d9d8dbdbdadddddddfdfdedfdfdfdfdedddddddddcdddcdcdcdbdadada -dad9d9d9d9d9d8d9d8d9d9d8d8d9d8d9d9d8d9d8d8d9d9d9d8d8d8d8d8d7d8d8d8d9d9d9 -d8d9d8dadad9dadadadadbdadbdbdbdadadad8d8d8d8d8d8d7d7d7d6d6d6d7d7d7d6d6d6 -d6d6d6d6d6d6d6d7d7d7d7d7d8d8d8d8d8d8d9d9d9d8d8d8d8d8d8d9d9d9d9d9d9d9d9d9 -d9d9d9d8d8d8d8d8d8d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9dadadadadadadbdbdb -dbdbdbd9d9d9d6d6d6d0d0d0cdcdcdcdcdcdcdcdcdcececed1d1d1d3d4d4d6d6d6d9d9d9 -dddddde0e0e0e2e2e2e1e1e1dededed9d9d9d2d2d2cbcbcbc4c4c4bfbfbfbfbfbfc2c2c2 -c9c9c9cfcfcfd5d5d5d8d8d8d9d9d9d9d9d9d7d7d7d6d6d6d5d5d5d5d5d5d6d6d6d8d8d7 -d9d9d9d9d9d9d8d8d8d6d6d6d8d8d8dddddde6e6e6edededf2f2f2f4f4f4f6f6f6f6f6f6 -f6f6f6f6f6f6f5f5f5f5f5f5f4f4f4f4f4f4f4f4f4f3f3f3f1f1f1f0f0f0eeeeeeececec -ebebebebebebecececeeeeeef2f2f2f6f6f6fafafafcfcfcfefefeffffffffffffffffff -fffffffffffffffffffefefdfdfdfcfefefdfdfdfcfefefdffffffffffffffffffffffff -fffffffffffffffffffffffffffffffffffffffffffffffffffffffefefefdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfffefeffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -fdfdfdfcfcfcf9f9f9f5f5f5f0f0f0ededede8e8e8e4e4e4e3e3e3e2e2e2e2e2e2e3e3e3 -e5e5e5e5e5e5e4e4e4e4e4e4e3e3e3e3e3e3e4e4e4e3e3e3e3e3e3e4e4e4e4e4e4e4e4e4 -e4e4e4e4e4e4e4e4e4e4e4e4e3e3e3e4e4e4e3e3e3e2e2e2e1e1e1e1e1e1e0e0e0dfdfdf -dfdfdfdededededededddddddcdcdcdcdcdcdcdcdcd2d2d2c7c7c7c5c5c5c8c8c8cdcdcd -d1d1d1d3d3d3d3d3d3d3d3d3d4d4d4d4d4d4d4d4d4d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5 -d5d5d5d5d5d5d6d6d6d6d6d6d6d6d6d7d7d7d7d7d7d8d8d8d9d9d9d8d8d8d8d8d8d8d8d8 -d9d9d9d9d9d9d9d9d9d9d9d9dadadadadadadadadadadadadadadadadadadadadad9d9d9 -dadadadadadadbdadadadad9dadad9d8d9d8d7d8d7d7d8d7d8d8d7d9d9d9dadadadadada -d9d9d9dadadadadad9d9dad9d9d9d9d9d9d8d9d8d8d9d9d9d7d8d7d7d7d7d8d8d8d8d8d8 -d7d8d8d8d8d8d8d8d8d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d6d6d6d6d6d6d7d7d7 -d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d8d8d8d8d8d8d8d8d8d8d8d8d9d9d9d8d8d8d9d9d9 -d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9dadadadadadadadadadbdbdbdbdbdbdbdbdbd7d7d7 -d2d2d2cdcdcdc8c8c8c6c6c6cacacacececed1d1d1d4d4d4d5d5d5d5d5d5d5d5d5d5d5d5 -d4d4d4d3d3d3d2d2d2cececec9c9c9c3c3c3c0c0c0bfbfbfc1c1c1c4c4c4cacacad0d0d0 -d6d6d6dadadadddddddddddddcdcdcdadadad8d8d8d8d8d8d8d8d8d9d9d9dadadadbdbdb -dcdcdcdbdbdbdadadad9d9d9dcdcdce1e1e1e7e7e7ebebebedededeeeeeeefefefefefef -eeeeeeeeeeeeeeeeeeeeeeeeedededececececececeaeaeae9e9e9e7e7e7e6e6e6e7e7e7 -e8e8e8eaeaeaedededf1f1f1f5f5f5f9f9f9fcfcfcfdfdfdfefefeffffffffffffffffff -fffffffffffffffffffefefefcfcfcfcfcfbfdfdfcfdfdfcfefefeffffffffffffffffff -fffffffffffffffffffffffffffffffefefefefdfefefdfefdfdfdfdfdfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfefdfeffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -fffffffffffffffffffdfdfdfbfbfbf9f9f9f5f5f4f0f0f0ececece7e7e7e3e3e3e1e1e1 -e1e1e1e0e1e1e2e2e2e4e4e4e5e5e5e6e6e6e5e5e5e5e5e5e5e5e5e6e6e6e5e5e5e5e5e5 -e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e6e5e5e5e6e6e6e5e5e5e4e4e4e3e3e3e3e3e3 -e3e3e3e2e2e2e2e2e2e1e1e1e1e1e1e0e0e0e0e0e0dbdbdbccccccc1c1c1c0c0c0c7c7c7 -cececed2d2d2d3d3d3d4d4d4d4d4d4d5d5d5d5d5d5d4d4d4d5d5d5d4d4d4d5d5d5d4d4d4 -d4d4d4d4d4d4d5d5d5d5d5d5d5d5d5d7d7d7d7d7d7d7d7d7d8d8d8d7d7d7d7d7d7d7d7d7 -d8d8d8d8d8d8d9d9d9d9d9d9d9d9d9d9d9d9dadadadadadadadadadcdcdcdbdbdadadad9 -dadadad9d8d7d5d5d4d2d2d1d0d0d0d0d0d0d1d1d1d4d4d4d7d7d7dcdcdbdcdddcdddddd -dcdcdcdbdcdbdbdbdbdbdad9dbdadadadadad9d9d9d9d9d9d9d9d9d8d9d8d9d9d9d9d9d9 -d8d8d8d9d9d9d8d8d8d7d7d7d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d7d7d7d7d7d7d8d8d8 -d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9 -d9d9d9d9d9d9dadadadadadadadadadbdbdbdbdbdbdcdcdcdcdcdcd9d9d9d3d3d3cbcbcb -c6c6c6c4c4c4c7c7c7cbcbcbd0d0d0d3d3d3d4d4d4d3d3d3d3d3d3d2d2d2d2d2d2d1d1d1 -d0d0d0cfcfcfcfcfcfcecececdcdcdcfcfcfd0d0d0d4d4d4d8d8d8dbdbdbdfdfdfe2e2e2 -e3e3e3e4e4e4e3e3e3e1e1e1dfdfdfdddddddbdbdbdbdbdbdadadadadadadadadadadada -d9d9d9d9d9d9d9d9d9dadadadcdcdce0e0e0e3e3e3e6e6e6e8e8e8e8e8e8e9e9e9e9e9e9 -e9e9e9e9e9e9e9e9e9eaeaeaeaeaeaeaeaeaeaeaeaeaeaeaebebebebebebecececeeeeee -f1f1f1f3f3f3f6f6f6f9f9f9fbfbfbfdfdfdfefefeffffffffffffffffffffffffffffff -fffffffffffffffffffefefefdfdfdfdfdfdfefefefdfdfdffffffffffffffffffffffff -fffffffffffffffffffffffffefefefdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfdfdffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -fffffffffffffffffffefefefefefefdfdfdfdfdfcfafbfaf8f7f7f4f4f3efefefeaeaea -e6e6e6e3e3e2e2e2e2e4e4e3e5e4e4e5e6e5e5e5e5e5e6e6e6e6e6e7e7e6e7e7e7e7e7e6 -e8e7e7e8e8e8e9e9e9e9e9e9eaeaeae9e9e9e9e9e9e7e7e7e7e7e7e7e7e7e6e6e6e6e6e6 -e6e6e6e6e6e6e5e5e5e4e4e4e4e4e4e4e4e4e3e3e3e3e3e3dbdbdbcbcbcbbfbfbfc0c0c0 -c8c8c8cfcfcfd2d2d2d4d4d4d5d5d5d5d5d5d6d6d6d5d5d5d6d6d6d5d5d5d5d5d5d5d5d5 -d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d5d5d5d6d6d6 -d6d6d6d7d7d7d7d7d7d8d8d8d8d8d8d8d8d8d9d9d9d9d9d9d9d9d9dadadad9dadad8d9d8 -d5d5d4d0d1d0cccccccacbcbcbcbcbcdcdcdd3d3d2d9d9d8dedddde0e0dfdfe0dfdfe0df -dedededddcdcdcdddcdddcdcdcdcdcdbdbdbdadbdbdadbdbdadadad9dadadadadad9d9d9 -d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9d8d8d8d8d8d8 -d8d8d8d7d7d7d8d8d8d8d8d8d9d9d9d9d9d9d9d9d9d9d9d9d9d9d9dadadadadadad9d9d9 -dadadadadadadbdbdbdcdcdcdddddddddddddcdcdcd9d9d9d4d4d4cdcdcdc8c8c8c6c6c6 -c7c7c7c9c9c9cececed1d1d1d3d3d3d4d4d4d5d5d5d5d5d5d5d5d5d5d5d5d6d6d6d7d7d7 -d8d8d8d9d9d9dbdbdbdcdcdcdfdfdfe1e1e1e3e3e3e4e4e4e4e4e4e3e3e3e2e2e2e0e0e0 -dedededbdbdbd8d8d8d6d6d6d5d5d5d3d3d3d2d2d2d2d2d2d2d2d2d3d3d3d4d4d4d5d5d5 -d6d6d6d8d8d8dbdbdbdedededfdfdfe4e4e4e7e7e7e9e9e9ebebebecececedededefefef -f0f0f0f0f0f0f1f1f1f2f2f2f2f2f2f3f3f3f4f4f4f5f5f5f6f6f6f7f7f7f9f9f9fafafa -fbfbfbfcfcfcfdfdfdfefefefefefeffffffffffffffffffffffffffffffffffffffffff -fffffffffffffffffffefefefefefefefefefefefefefefeffffffffffffffffffffffff -fffffffffffffefefefefdfefdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfefdfeffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -fffffffffffffffffffffffffffffffefefefefefdfcfcfbfbfbfaf9f9f8f6f6f6f3f2f2 -eeeeeeeaeaeae6e6e5e3e3e3e1e0e0dfe0dfdfdfdfdededee0e0dfdfdfdfdfdfdfe0e0df -e0e0dfe0e0e0e1e1e1e2e2e2e6e6e6e9e9e9ededededededebebebeaeaeae8e8e8e8e8e8 -e8e8e8e8e8e8e7e7e7e7e7e7e7e7e7e7e7e7e6e6e6e6e6e6e6e6e6e0e0e0d3d3d3c4c4c4 -c2c2c2c8c8c8cececed2d2d2d5d5d5d6d6d6d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7 -d7d7d7d6d6d6d6d6d6d7d7d7d7d7d7d6d6d6d6d6d6d5d5d5d5d5d5d5d5d5d4d4d4d5d5d5 -d5d5d5d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d7d7d7d7d7d7d8d8d8d7d7d7d6d5d4d3d3d3 -cdcdcdc9c9c9c7c8c7c8c9c8cbcbcad0d0d0d8d8d7dededee2e2e2e3e3e3e2e1e1e0e0e0 -dfdfdfdedededededddedddddddddcdcdddcdcdddcdcdcdcdadbdbdadbdbdbdbdbdbdbdb -dadadadadadadadadadadadadadadadadadadadadad9d9d9d9d9d9d8d8d8d8d8d8d5d5d5 -d4d4d4d5d5d5d6d6d6d8d8d8dadadadbdbdbdadadadadadadbdbdbdbdbdbdbdbdbdbdbdb -dcdcdcdddddddddddddddddddbdbdbd8d7d7d2d1d1ccccccc9c9c9c8c8c8c9c9c9cacaca -cccccccececed1d1d1d3d3d3d5d5d5d7d7d7d8d8d8d9d9d9dbdbdbdddddddfe0dfe3e3e3 -e4e4e4e5e5e5e5e4e4e5e5e5e1e0e0dedededadadad6d6d6d3d3d3d0d0d0cdcdcdcccccc -cdcdcdcdcdcdcecececfcfcfd2d2d2d4d4d4d7d7d7dadadadddddde0e0e0e3e3e3e6e6e6 -e8e8e8eaeaeaeeeeeef0f0f0f1f1f1f3f3f3f5f5f5f7f7f7f7f7f7f8f8f8f9f9f9fafafa -fafafafafafafbfbfbfbfbfbfbfbfbfcfcfcfcfcfcfdfdfdfefefefefefefefefefefefe -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -fefefefefdfefdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfefdfeffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -fffffffffffffffffffffffffffffffffffffffffefefefefdfdfdfcfcfcfafafaf6f6f6 -f1f1f0ebebeae4e4e3dedfded9d9d8d4d4d4d2d2d2d0d0cfcfcfcececececdcdcdcdcdcd -cdcdcdcdcdcdcdcdcdcececed0d0d0d4d4d4dadadae5e5e5edededf1f1f1eeeeeeececec -ebebebeaeaeaeaeaeaeaeaeae9e9e9e9e9e9e9e9e9e7e7e7e7e7e7e8e8e8e6e6e6dddddd -d0d0d0c8c8c8cacacacececed1d1d1d3d3d3d4d4d4d4d4d4d6d6d6d6d6d6d7d7d7d8d8d8 -d7d7d7d7d7d7d7d7d7d7d7d7d6d6d6d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7d6d6d6d6d6d6 -d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d5d5d5d5d5d5d5d5d5d5d5d5d4d4d4d1d2d2cececd -cbcbcbcacac9cbcbcbcdcdcdd1d1d0d6d5d5dbdbdbe0e0dfe3e3e2e3e3e3e1e1e1e1e1e1 -e0e0e0e0e0e0e0e0e0dfdfdfdfdfdfdfdfdfdfdfdfdfdfdfdddddddededededededddddd -dddddddcdcdcdbdbdbdadadadbdbdbdbdbdbdcdcdcdcdcdcdbdbdbdadadadadadad8d8d8 -d8d8d8d8d8d8dadadadbdbdbdddddddedededddddddddddddddddddedededededededede -dedededddddddadadad6d6d6d0d0d0ccccccc9c9c9c8c8c8c9c9c9cacacacccccccdcdcd -cfcfcfd1d1d1d5d5d5d8d8d8dbdbdbdededee1e1e1e5e5e5e7e7e7e9e9e9e8e8e8e5e5e5 -e0e0e0dadadad3d3d3cdcdcdc8c8c8c7c7c7c6c6c6c7c7c7cacacacececed2d2d2d5d5d5 -dadadadededee2e2e2e6e6e6e9e9e9ecececefefeff1f1f1f3f3f3f5f5f5f7f7f7f9f9f9 -fafafafafafafbfbfbfcfcfcfdfdfdfdfdfdfefefefefefefefefefefefefefefeffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffefefefefefe -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfdfdffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -fffffffffffffffffffffffffffffffffffffffffffffffffefefefefefefdfdfdfcfcfc -f9f9f9f5f5f5f1f1f1ececece6e6e6e2e2e2dedededbdbdad8d8d8d6d6d5d4d4d3d3d3d2 -d2d2d1d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d2d2d2d3d3d3d7d7d7e0e0e0ecececf2f2f2 -f2f2f2f0f0f0edededecececebebebeaeaeaebebebeaeaeae9e9e9e8e8e8e8e8e8e9e9e9 -e7e7e7dededed4d4d4d1d1d1d2d2d2d2d2d2d4d4d4d4d4d4d5d5d5d4d4d4d5d5d5d5d5d5 -d5d5d5d6d6d6d6d6d6d6d6d6d6d6d6d7d7d7d6d6d6d7d7d7d7d7d7d7d7d7d7d7d7d7d7d7 -d7d7d7d7d7d7d7d7d7d6d6d6d6d6d6d6d6d6d5d5d5d5d5d5d4d4d4d4d3d3d2d1d0d0cfce -cecfcfcecfcfd0d0d0d3d3d3d6d6d6d8d7d7dbdbdbdfdfdfe1e0e0e0dfdfe0e0e0dfdfdf -dfdfdfe0dfdfe0e0e0e1e1e1e1e1e1e0e0e0e0e0e0e0e0e0e0e0e0dfdfdfdfdfdfdfdfdf -dcdcdcd8d8d8d4d4d4d4d4d4d7d7d7dadadadddddddedededededededededddddddcdcdc -dcdcdcdddddddddddddddddddedededfdfdfdededededededfdfdfdedededadadad9d9d9 -d3d4d4cfd0d0cccdcdc9c9c9c6c6c6c6c6c6c7c7c7c9c9c9cbcbcbcececed1d1d1d4d4d4 -d8d8d8dcdcdce0e0e0e4e4e4e8e8e8e9eaeae7e8e8e5e5e5dfdfded7d7d7d0d0d0c8c8c8 -c2c2c2c0c0c0c2c2c2c5c5c5cbcbcbd2d2d2d9d9d9dfdfdfe4e4e4e9e9e9eeeeeef1f1f1 -f4f4f4f7f7f7f8f8f8fafafafbfbfbfcfcfcfcfcfcfdfdfdfefefefefefefefefefefefe -fefefeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -fffffffffffffffffffffffffffffffffffffffffffffffffffffffdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfefdfefdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfdfdfffeffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffefefe -fefefefefefefdfdfdfcfcfcfafafaf8f8f8f7f7f7f5f5f5f4f4f4f3f3f3f3f3f3f2f2f2 -f1f1f1f1f1f1f1f1f1f0f0f0f0f0f0efefefeeeeeeebebebe6e6e6e0e0e0dcdcdce1e1e1 -e9e9e9efefeff3f3f3f3f3f3f0f0f0efefefedededecececebebebebebebebebebeaeaea -ebebebebebebe9e9e9e3e3e3dfdfdfdcdcdcdadadadadadadadadad8d8d8d7d7d7d6d6d6 -d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d4d4d4d5d5d5d4d4d4d5d5d5d5d5d5d6d6d6d6d6d6 -d7d7d7d6d6d6d6d6d6d7d7d7d7d7d7d6d6d6d5d5d5d6d6d6d6d6d6d5d5d5d4d4d4d5d4d4 -d4d4d4d5d4d4d5d5d5d5d6d5d6d6d6d7d8d8d9d9d9dbdbdbdcdcdbdddddcdbdbdbdbdbdb -dcdcdcdddddde0e0e0e2e2e2e4e4e4e4e4e4e3e3e3e1e1e1e1e1e1e0e0e0e0e0e0dcdcdc -d8d8d8d2d2d2cfcfcfcfcfcfd2d2d2d6d6d6d9d9d9dcdcdcdedededfdfdfdedededddddd -dddddddddddddddddddddddddddddddcdcdcdcdcdcd9d9d9d3d3d3ccccccc5c5c5c2c2c2 -c1c1c1c2c2c2c3c3c3c5c5c5c7c7c7cacacacfcfcfd3d3d3d6d6d6dadadadededee1e1e1 -e3e3e3e5e5e5e2e2e2dededed9d9d9d3d3d3ccccccc7c7c7c6c6c6c5c5c5c7c7c7cbcbcb -d2d2d2d8d8d8dfdfdfe6e6e6ecececf1f1f1f4f4f4f7f7f7fafafafcfcfcfcfcfcfdfdfd -fffffffffffffefefeffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -fffffffffffffffffffffffffffffffffefefefefefdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfdfefefefefffffffdfdfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfdfdfefefeffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -fffffffffffffffffffffffffffffffffffffffffffefefefefefefefefefefefefefefe -fefefefefefefdfdfdfdfdfdfdfdfdfdfdfdfcfcfcfbfbfbfbfbfbf9f9f9f4f4f4eeeeee -e7e7e7e3e3e3e6e6e6ebebebf0f0f0f3f3f3f3f3f3f1f1f1efefefefefefeeeeeeeeeeee -edededececececececedededebebebe9e9e9e7e7e7e5e5e5e3e3e3e2e2e2e1e1e1e0e0e0 -dedededcdcdcdbdbdbdbdbdbdadadad9d9d9d8d8d8d7d7d7d5d5d5d5d5d5d5d5d5d5d5d5 -d5d5d5d5d5d5d4d4d4d4d4d4d5d5d5d5d5d5d6d6d6d5d5d5d6d6d6d6d6d6d6d6d6d6d6d6 -d8d8d8d9d9d9d8d8d8d6d6d6d5d4d4d6d6d6d8d8d8d8d8d8d9d9d8d8d8d8d8d8d8d8d8d8 -d8d8d8dadadadddddde2e2e2e6e7e6e7e7e7e7e7e7e5e5e5e3e3e3e3e3e3e3e3e3e0e0e0 -dcdcdcd8d8d8d4d4d4d3d3d3d2d2d2d3d3d3d5d5d5d8d8d8dbdbdbdedededfdfdfdedede -dededededededddddddddddddddddddcdcdcd9d9d9d4d4d4cececec8c8c8c6c6c6c3c3c3 -c4c4c4c6c6c6cacacacececed2d2d2d6d6d6dadadadcdcdcdedededfdfdfdedededddddd -d9d9d9d5d5d5d3d3d3d0d0d0d0d0d0d1d1d1d4d4d4d8d8d8dcdcdce1e1e1e7e7e7ebebeb -efefeff2f2f2f7f7f7fafafafcfcfcfdfdfdfefefeffffffffffffffffffffffffffffff -fffffffffffffffffffffffffffffffffffffffffffffffffffffffefefefefefefefefe -fefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefe -fefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefe -fefefefefefefefefefefefefefefefefefefefefeffffffffffffffffffffffffffffff -fffffffffffffffffffefefefefefefdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfefdfefefefefffffffffffffffffffdfdfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfefdfefefefefefefe -fefefeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffefefe -fbfbfbf5f5f5eeeeeee8e8e8e4e4e4e7e7e7ebebebefefeff1f1f1f1f1f1f0f0f0f0f0f0 -efefefefefefeeeeeeeeeeeeefefefefefefeeeeeeededededededecececeaeaeae9e9e9 -e9e9e9e8e8e8e7e7e7e5e5e5e5e5e5e3e3e3e2e2e2e1e1e1dfdfdfdddddddbdbdbdadada -d9d9d9d9d9d9d8d8d8d6d6d6d5d5d5d4d4d4d5d5d5d5d5d5d4d4d4d4d4d4d5d5d5d6d6d6 -d8d8d7d8d8d7d8d8d7d5d5d5d2d2d2d2d2d2d5d5d5d8d8d8dadad9d9d9d8d7d7d6d6d6d6 -d6d6d5d7d8d8dbdcdbe1e1e1e7e7e7eaeae9e9e9e9e8e8e8e7e7e7e7e7e7e6e5e5e6e5e5 -e4e4e4e2e2e1e1e1e1dedededadadad6d6d6d3d3d3d3d3d3d6d6d6d9d9d9dcdcdcdedede -dfdfdfe0e0e0dededededededededededededcdcdcdbdbdbd9d9d9d7d7d7d5d5d5d3d3d3 -d1d1d1d1d1d1d3d3d3d6d6d6d7d7d7d7d7d7d8d8d8d8d8d8d8d8d8d8d8d8d8d8d8dadada -dcdcdcdededee2e2e2e5e5e5e9e9e9edededf1f1f1f3f3f3f6f6f6f8f8f8fbfbfbfcfcfc -fdfdfdfefefeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -fffffffffffffffffffffffffffffffffffffffffffffffffffffffefdfefdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfefefefefefeffffffffffffffffff -fffffffefefefefefefdfdfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfdfdfefefefffffffffffffffffffffffffffffffdfdfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfefefefefeffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -fffffffffffffefefefafafaf4f4f4eeeeeee7e7e7e3e3e3e2e2e2e4e4e4e5e5e5e6e6e6 -e8e8e8eaeaeaebebebedededeeeeeeeeeeeeeeeeeeefefeff0f0f0efefeff0f0f0efefef -efefefefefefeeeeeeeeeeeeedededebebebebebebebebebeaeaeae9e9e9e7e7e7e5e5e5 -e4e4e4e3e3e3e3e3e3e0e0e0dedededcdcdcdbdbdbdadadad9d9d9d8d8d8d7d6d6d7d7d7 -d7d7d6d8d8d7d7d7d6d5d5d4d1d1d0cecececfcfcfd4d4d3dadad9dedfdedfdfdedfe0df -e0e0e0e1e1e0e4e4e3e6e7e6e9e9e9ebecebebebebebebebeaeaeaeaeaeae8e7e7e9e8e8 -e9e8e7e8e8e7e7e7e7e6e6e6e3e3e3dededed8d8d8d3d3d3d2d2d2d3d3d3d6d6d6d8d8d8 -dbdbdbdddddddddddddddddddedededededededededededededededddddddcdcdcd9d9d9 -d4d4d4d0d0d0cbcbcbcbcbcbcccccccfcfcfd4d4d4d9d9d9dededee3e3e3e8e8e8ececec -f0f0f0f3f3f3f6f6f6f8f8f8fafafafcfcfcfdfdfdfefefefefefeffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -fffffffffffffffffffffffffffffffffffffffffffffffffffffffefdfefdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfdfefefefefefefe -fdfdfefdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fefdfefefefefffffffffffffffffffffffffffffffffffffdfdfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfdfefefefeffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -fffffffffffffffffffffffffefefefdfdfdf9f9f9f3f3f3ececece5e5e5e0e0e0dcdcdc -dadadad9d9d9d9d9d9dadadadcdcdcdededee0e0e0e2e2e2e4e4e4e7e7e7e9e9e9ececec -eeeeeeefefeff0f0f0f0f0f0f0f0f0f1f1f1f1f1f1f0f0f0f0f0f0efefefefefefefefef -eeeeeeedededecececebebebeaeaeae9e9e9e8e8e8e6e6e6e4e4e4e2e2e2e1e0e0dedede -dddddcdcdcdcdbdbdad9d9d8d6d6d5d2d2d1cececdcccccccfd0cfd7d7d7dededde5e5e4 -eaebebeeeeedefefefeff0efeeefeeeeeeedeeedededededececececececebebebebebeb -ebebeaebeae9eaeaeaeaeaeae9e9e9e8e8e7e3e2e2dcdcdcd7d7d7d4d4d4d3d3d3d4d4d4 -d5d5d5d6d6d6d8d8d8d9d9d9dadadadcdcdcdcdcdcdcdcdcdadadad4d4d4cdcdcdc4c4c4 -bebebebcbcbcbfbfbfc7c7c7d1d1d1dbdbdbe4e4e4ebebebf1f1f1f5f5f5f7f7f7fafafa -fcfcfcfdfdfdfefefeffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -fffffffffffffffffffffffffffffffffffffffffffffffffffffffefdfefdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfefdfe -fefefefffffffffffffffffffffffffffffffffffffffffffdfdfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfefeffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -fffffffffffffffffffffffffffffffffffffffffffefefefcfcfcf9f9f9f5f5f5f0f0f0 -eaeaeae5e5e5e0e0e0dcdcdcd8d8d8d6d6d6d6d6d6d4d4d4d3d3d3d4d4d4d5d5d5d7d7d7 -dadadadededee1e1e1e4e4e4e7e7e7e9e9e9ecececeeeeeef0f0f0f1f1f1f2f2f2f3f3f3 -f3f3f3f3f3f3f2f2f2f1f1f1f1f1f1f1f1f1f1f1f1f0f0f0efefefeeeeeeedededececec -eae9e9e8e8e8e6e6e6e5e5e4e2e2e1dfdfdedbdad9d5d5d4cfcfcfcccccccdcdcdd1d1d1 -d7d7d6dededde4e4e3e9eae9eeeeeef0f0eff0f1f0f1f1f0f0f1f1f1f1f0f1f0f0f0efef -efefefefeeeeedededeeeeeeedeeeeecececebeaeae9e8e8e4e4e4dfdfdfdcdcdcdadada -dbdbdbdcdcdcdedededfe0dfe0e0e0dedededadadad3d3d3c9c9c9bebebeb8b8b8b6b6b6 -bcbcbcc8c8c8d4d4d4e0e0e0e9e9e9f1f1f1f6f6f6fafafafcfcfcfdfdfdfefefefefefe -fefefeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -fffffffffffffffffffffffffffffffffffffffffffffffffffffffefdfefdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfdfdfdfdfdfefdfefefefeffffff -fffffffffffffffffffffffffffffffffffffffffffffffffdfdfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfdfdfefdfeffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffefefe -fcfcfcf9f9f9f7f7f7f4f4f4f0f0f0ededede9e9e9e6e6e6e2e2e2dfdfdfdbdbdbd9d9d9 -d6d6d6d5d5d5d5d5d5d5d5d5d5d5d5d6d6d6d8d8d8dadadadddddde1e1e1e5e5e5e8e8e8 -ebebebedededf0f0f0f2f2f2f4f4f4f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f4f4f4f3f3f3 -f2f2f2f2f2f2f1f1f1f1f0f0efefeeedececebeaeae9e9e9e5e5e5dfdfded9d9d9d1d2d2 -cbcbcbc7c7c7c6c6c6cacac9d2d2d1dadadae1e1e0e4e5e4e7e7e7e9e9e9eae9e9edeceb -efefeef0f0eff0f0f0f1f1f1f1f1f1f1f1f0f0f0f0efefefefefeeececebeae9e9e6e5e5 -e2e3e3e1e1e1dfdfdfdbdcdcd5d6d6cdcdcdc5c5c5bdbdbdb9b9b9bbbbbbc2c2c2cdcdcd -dadadae6e6e6efefeff5f5f5f9f9f9fdfdfdfefefefefefeffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -fffffffffffffffffffffffffffffffffffffffffffffffffffffffefdfefdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfdfdfefdfefefefeffffffffffffffffffffffff -fffffffffffffffffffffffffffffffffffffffffffffffffdfdfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfefdfeffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -fffffffffffffffffffefefefdfdfdfcfcfcfbfbfbfafafaf8f8f8f6f6f6f4f4f4f2f2f2 -efefefececece9e9e9e6e6e6e2e2e2dfdfdfdcdcdcd9d9d9d7d7d7d6d6d6d5d5d5d6d6d6 -d6d6d6d8d8d8dadadadededee3e3e3e7e7e7eaeaeaeeeeeef1f1f1f3f3f3f5f5f5f6f6f6 -f5f5f5f6f6f6f5f5f5f5f5f5f4f4f4f4f3f3f3f3f3f3f3f3f3f3f3f2f1f1efefefececec -e7e7e7ddddddd2d2d2c5c5c5bbbbbbbababac2c2c1c9c9c9cccccccbcccccacac9cececd -d4d4d4d9d9d9dcdcdcdedededfdfdfdfdedededededcdddddbdbdbd8d8d8d4d4d4cecece -c8c9c9c4c4c4c2c2c2c1c1c1c0c0c0c0c0c0c1c1c1c6c6c6cececed7d7d7e1e1e1ebebeb -f3f3f3f8f8f8fcfcfcfefefefefefeffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -fffffffffffffffffffffffffffffffffffffffffffffffffffffffefdfefdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfdfdfefdfefefefefffffffffffffffffffffffffffffffefefe -fefefefefefefefefefefefefefefefefefefefefefefefefdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfdfdfefdfefefefeffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -fffffffffffffffffffffffffffffffffffffffffffffffffffffffefefefefefefefefe -fdfdfdfcfcfcfbfbfbfafafaf8f8f8f6f6f6f4f4f4f2f2f2eeeeeeebebebe7e7e7e4e4e4 -e1e1e1dddddddadadad8d8d8d6d6d6d5d5d5d6d6d6d7d7d7dbdbdbdededee3e3e3e9e9e9 -eeeeeef3f3f3f6f6f6f6f6f6f6f6f6f5f5f5f5f5f5f5f5f5f6f6f6f6f6f6f7f7f7f6f6f6 -f6f6f6f4f4f4f1f1f1e9e9e9d8d8d8c2c2c2b6b6b6b9b9b9bdbdbdbdbdbdc0c0c0c6c6c6 -cdcdcdd0d0d0d0d0d0d0d0d0cecececccccccacacac8c8c8c7c7c7c5c5c5c4c4c4c2c2c2 -c4c4c4c6c6c6cacacad0d0d0d6d6d6dbdbdbe1e1e1e8e8e8eeeeeef4f4f4f7f7f7fbfbfb -fdfdfdfefefeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -fffffffffffffffffffffffffffffffffffffffffffffffffffffffefdfefdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfefdfefffffffffffffffffffefdfefefdfefefdfefefdfefdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfdfdfefdfe -fefdfefefefefefefeffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -fffffffffffffffffffffffffffffffefefefefefefefefefdfdfdfcfcfcfafafaf8f8f8 -f7f7f7f5f5f5f2f2f2efefefececece8e8e8e4e4e4e1e1e1dddddddcdcdcdddddde0e0e0 -e5e5e5ebebebf1f1f1f6f6f6f8f8f8f7f7f7f6f6f6f6f6f6f6f6f6f8f8f8f9f9f9f8f8f8 -f7f7f7f7f7f7f7f7f7f8f8f8f6f6f6e8e8e8ccccccb2b2b2adadadb9b9b9ccccccdadada -e1e1e1e2e2e2e3e3e3e4e4e4e5e5e5e3e3e3e2e2e2e0e0e0e0e0e0e0e0e0e1e1e1e2e2e2 -e5e5e5e8e8e8ecececf0f0f0f3f3f3f6f6f6f9f9f9fbfbfbfcfcfcfefefefefefeffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -fffffffffffffffffffffffffffffffffffffffffffffffffffffffefdfefdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfefdfefefdfefefdfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfefefefefefefefefefefefeffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffefefe -fefefefefefefefefefdfdfdfcfcfcfbfbfbfafafaf8f8f8f6f6f6f2f2f2eeeeeeeaeaea -e7e7e7e8e8e8ecececf1f1f1f6f6f6f8f8f8f8f8f8f5f5f5eeeeeee9e9e9ecececf6f6f6 -f9f9f9f9f9f9f8f8f8f8f8f8f9f9f9f6f6f6e4e4e4bbbbbba0a0a0afafafd1d1d1e3e3e3 -e5e5e5e3e3e3e6e6e6edededf5f5f5f9f9f9fafafaf9f9f9f9f9f9f9f9f9f9f9f9fafafa -fbfbfbfcfcfcfcfcfcfdfdfdfefefefefefeffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -fffffffffffffffffffffffffffffffffffffffffffffffffffffffefdfefdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfdfdfefefefefefefefefefefefefefefe -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -fffffffffffffffffffffffffffffffffffffffffffffffffffffffefefefdfdfdfafafa -f6f6f6f2f2f2efefefefefeff1f1f1f4f4f4f8f8f8f8f8f8f2f2f2e4e4e4d7d7d7dbdbdb -edededfafafafcfcfcfbfbfbfafafaf7f7f7e9e9e9c7c7c7a3a3a3abababcececee4e4e4 -e3e3e3d8d8d8d3d3d3ddddddebebebf6f6f6fcfcfcfefefeffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -fffffffffffffffffffffffffffffffffffffffffffffffffffffffefdfefdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfdfefdfdfefdfdfefdfdfefdfdfefefefeffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -fefefefcfcfcf8f8f8f2f2f2efefefefefeff3f3f3f8f8f8fbfbfbf8f8f8ebebebd5d5d5 -c5c5c5cbcbcbe1e1e1f3f3f3fbfbfbfcfcfcf7f7f7e3e3e3c1c1c1b2b2b2c5c5c5dcdcdc -e4e4e4dcdcdcccccccc7c7c7d1d1d1e0e0e0efefeff8f8f8fdfdfdfefefeffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -fffffffffffffffffffffffffffffffffffffffffffffffffffffffefdfefdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfefdfdfffefeffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -fffffffffffffefefefafafaf4f4f4f0f0f0efefeff1f1f1f6f6f6fbfbfbfcfcfcf4f4f4 -ddddddbdbdbdabababb3b3b3cccccce5e5e5f5f5f5f9f9f9eeeeeed6d6d6c7c7c7cdcdcd -d9d9d9e0e0e0dcdcdcd0d0d0c6c6c6c9c9c9d5d5d5e5e5e5f1f1f1f9f9f9fcfcfcfefefe -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -fffffffffffffffffffffffffffffffffffffffffffffffffffffffefdfefdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfefefefefefefefefefefefe -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -fffffffffffffffffffdfdfdfbfbfbf7f7f7f1f1f1eeeeeeeeeeeef2f2f2f7f7f7f9f9f9 -f8f8f8ecececd4d4d4bbbbbbb1b1b1b8b8b8cacacadededeeeeeeef1f1f1e4e4e4d1d1d1 -ccccccd4d4d4dddddddededed6d6d6ccccccc7c7c7cdcdcddadadae8e8e8f3f3f3fafafa -fdfdfdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -fefefefefefefefefefefefefdfdfefdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfcfbfcfcfbfcfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfdfd -fefdfefefdfefefdfefefdfefefdfefefdfeffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -fffffffffffffffffffffffffffffffdfdfdf9f9f9f2f2f2ececece8e8e8e7e7e7eaeaea -edededf2f2f2f5f5f5f2f2f2e9e9e9ddddddd3d3d3cfcfcfd3d3d3dcdcdce5e5e5e4e4e4 -d5d5d5cbcbcbcfcfcfd8d8d8dedededbdbdbd2d2d2c9c9c9c7c7c7d0d0d0dededeececec -f7f7f7fbfbfbfefefefefefeffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -fffffffffffffffffffffffffffffffefefefdfdfefdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfcfbfce6e5e6cac9cac2c1c2c0bfc0c2c2c2ecebecfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfefdfefefdfefefdfefefdfefefdfefefdfe -fefdfefefdfefefefefefefefefefefefefeffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -fffffffffffffffffffffffffffffffffffffefefefcfcfcf7f7f7efefefe7e7e7e1e1e1 -dcdcdcdcdcdce0e0e0e6e6e6edededf2f2f2f4f4f4f1f1f1ebebebe4e4e4dfdfdfe4e4e4 -e4e4e4dcdcdcd2d2d2d1d1d1d7d7d7dcdcdcdbdbdbd3d3d3c8c8c8c1c1c1c7c7c7d4d4d4 -e4e4e4eeeeeef5f5f5f9f8f8fcfcfcfdfdfdfefefefefefefefefeffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -fffffffffffffffffffffffffffffffffffffffffffefdfefdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfde8e7e893908e5a53444b422f42392738342b8a8a89f8f7f8fdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfefefeffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -fffffffffffffffffffffffffffffffffffffffffffffffffffffffcfcfcf8f8f8f2f2f2 -ebebebe4e4e4e0e0e0dddddddddddde0e0e0e4e4e4e9e9e9efefeff2f2f2f2f2f2f0f0f0 -f0f0f0f0f0f0ebebebe4e4e4e1e1e1e0e0e0e0e0e0dededed8d8d8cfcfcfcacacacacaca -d0d0d0d8d8d8dfdfdfe6e5e5ececebf0f0eff3f3f2f5f5f5f7f6f6f8f8f8f9f9f9fafafa -fbfbfbfcfcfcfdfdfdfdfdfdfdfdfdfdfdfdfdfdfdfdfdfdfdfdfdfefefefefefefefefe -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -fffffffffffffffffffffffffffffffffffffffffffffffffefefefdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdc4c3c3847a64a4863ea9873394762c7561312a2823e6e6e7fdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfcfbfcf2f1f2 -dedddecccbcccbcacbc6c5c6c7c6c7cfcfcfe6e5e6f9f9fafdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfefefeffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffefefefefefe -fcfcfcfafafaf7f7f7f3f3f3eeeeeeeaeaeae5e5e5e2e2e2e0e0e0e0e0e0e2e2e2e7e7e7 -eaeaeaedededf0f0f0f2f3f2f3f3f3f2f2f2f0f0f0eeeeeeecececebebebe7e7e7e2e2e2 -dcdcdcd9d9d9d7d7d6d9d9d8dcdcdcdededee1e1e0e3e3e3e4e3e3e5e5e5e7e7e6e9e9e9 -ebebeaedededf0f0f0f1f1f1f2f2f2f3f3f3f3f3f3f3f3f3f3f3f3f4f4f3f5f5f5f6f6f6 -f7f7f7f9f9f9f9f9f9fafaf9fbfbfafbfbfbfcfcfcfdfdfdfefefefefefefefefeffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -fffffffffffffffffffffffffffffffffffffffffffffffffffffffefdfefdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdc5c4c3a18f66c4992abc8f17a07a138b6d1c332e24dcdcdcfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdf4f3f4d1d1d1b4b3b3999895 -8f8c83857e6f94897195886c8f846c847e72898884a7a6a6dedddefbfafbfdfcfdfdfcfd -fdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfefefeffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -fffffffffffffffffffefefefdfdfdfcfcfcf8f8f8f4f4f4eeeeeee8e8e8e3e3e3dfdfdf -dcdcdcdcdcdcdddddddedfdedfdfdfe2e2e2e6e6e5e7e7e7e9e9e8ebebebeeeeeef1f1f1 -f1f1f1efefefebebebe9e9e9e8e8e8e7e7e7e6e6e6e5e5e5e3e3e2e1e1e0dfdfdedfdfde -dedededfdfdfe1e1e1e2e2e2e4e3e3e5e5e4e6e6e5e5e5e4e4e4e4e3e3e3e3e3e2e3e3e3 -e5e5e5e8e8e7e9e9e8eaeaeaebebeaedececeeeeeeefefeff1f1f0f3f3f2f5f5f4f7f7f6 -f8f8f8fafaf9fafafafbfbfbfcfcfcfdfdfdfdfdfdfdfdfdfdfdfdfdfdfdfdfdfdfefefe -fefefefffffffffffffefefeffffffffffffffffffffffffffffffffffffffffffffffff -fffffffffffffffffffffffffffffffffffffffffffffffffffffffefefefdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdc6c5c4a19066c1972bb98d1c9f7a188b6d1d373227ddddddfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdf1f0f1c4c3c3a2a09f8f897b978662a38741 -b99433c49d36cfa849cea955cca74ebf9b3ca3863e82745776746fbfbebff6f6f6fdfcfd -fdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfefefeffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -fffffffffffffffffffffffffffffffffffffffffffefefefdfdfdfbfbfbf7f7f7f3f3f3 -eeeeeee9e9e9e3e3e3dededed8d8d7d3d3d3d2d2d1cfd0d0cfcfcecfcececfceced5d4d4 -e0dedeeaeae9edededefefeff0f0f0f2f2f2f2f2f2f3f3f3f2f2f2f1f1f1efefefededed -ecececebebebebebebececececececededededededecececeaeaeae8e8e8e4e4e4e1e1e1 -e1e1e1e2e2e2e4e4e4e4e4e4e3e3e3e3e3e3e1e1e1dfdfdfdededee0dfdfe2e2e1e4e4e3 -e6e6e5e7e7e6e9e9e8ebebeaeeeeedeeeeeeefefeff0f0f0f0f0eff1f1f0f2f2f1f3f3f2 -f4f4f4f6f6f6f8f8f8f8f8f8fafafafbfbfbfdfdfdfdfdfdfefefefefefeffffffffffff -fffffffffffffffffffffffffffffffffffffffffffffffffffffffefdfefdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdc7c6c4a19067c19829b98e1aa07b168b6d1c363126dededefdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfcfbfcf2f1f2c8c7c79d9c998c8472a08a52c59e3ae1b031f2bb28 -deb144a88d42927d488f7d53958151a98e4acaa64cd3a94191793e5d5950bdbdbdf8f7f8 -fdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfefefeffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffefefefefefe -fdfdfdfbfbfbf8f8f8f5f5f5f1f1f1ececece7e8e7e3e3e2dfdfdedbdbdad7d6d6d4d3d2 -d5d4d3dadad9d7d6d6d2d1d1d2d2d1d5d5d4d7d6d6dddddde2e2e2e5e5e5e8e8e8ececec -eeeeeeefefefefefefefefefefefeff0f0f0f0f0f0f1f1f1f2f2f2f3f3f3f3f3f3f3f3f3 -f3f3f3f2f2f2f3f3f3f2f2f2f2f2f2f0f0f0eeeeeeeaeaeae8e8e8e6e6e6e4e4e4e3e3e3 -e1e1e1e0e0e0e0e0e0e1e1e0e2e2e2e2e2e2e3e3e3e4e4e4e3e3e3e2e2e2e1e1e1e1e1e1 -e3e3e3e4e4e4e6e6e5e7e7e7eaeaeaececebedededf0f0eff3f3f3f6f6f6f9f9f9fbfbfb -fdfdfdfefefefefefefefefefffffffffffffffffffffffffffffffefdfefdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdf1f0f1d4d4d4bcbcbcb4b4b4b4b4b4b5b4b5b5b4b5b5b4b5b5b4b5b5b4b5b5b4b5 -b5b4b5b5b5b5b3b3b38c8b8a91805ac09936b89029a17e238c6f273632288b8a8abab9ba -b7b7b7b9b8b9b9b9b9babababbbbbbbcbbbcbcbbbcbcbbbcbcbbbcbcbbbcc5c5c5e1e1e1 -f9f8f9fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdf5f4f5d7d7d7aaaaaa82807e746d5f937f4cb89433d5a628e8b221f1b924bc9b48 -65593f83817aafaeacbfbebdbcbbb9a6a39e8a816ba98f4fd6aa3b957c3f59564fd3d2d3 -fcfbfcfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfefefeffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -fffffffffffffffffffefefefefefefdfdfdfcfcfcfafafaf8f8f8f7f7f7f5f5f5f1f1f0 -efefeeebebebe5e5e5dededdd9d9d9d6d6d5d2d2d1cfcfcfcdcdcdcac9c9cccbcbcfcfce -d1d1d1cdcdcdcbcac9c9c8c8c7c7c6c8c7c7c8c8c8cacacad1d1d1dbdbdbe0e0dfe2e2e2 -e3e3e3e3e3e3e4e3e3e4e4e4e9e9e8edeeedf1f1f1f3f3f3f4f4f4f4f4f4f4f4f4f4f4f4 -f3f3f3f2f2f2f1f1f1f0f0f0f0f0f0f0f0f0f1f1f1f0f0f0eeeeeeebebebe7e7e7e4e4e4 -e2e2e2e1e1e1e0e0e0e0e0e0e0e0e0e0e0dfdfdfdfdedededfdfdfe2e2e2e7e7e7ececec -f1f1f1f5f5f5f8f8f8fbfbfbfdfdfdfefefefffffffffffffffffffefdfefdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfcfbfcfcfbfcfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdefefef -b3b3b3807d7980796a91866b94876a94876a94876a94876a94876a94876a94876a94876a -94876a94876b93866a908365ac9664cbab60c9a85cc0a058b799588c7c5786795e8b8065 -8479617d735c756c576d6452635c4c585345524d41504b3f4f493f4e493f4c4840474543 -777675c7c6c7fbfafbfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdf6f5f6e1e1e1bebdbe -9594937978745a574f69604a7562368d6f22ac861ec59820d6a521e5b021b697495a5344 -a1a09fe4e4e4f5f5f5fafafaf8f8f8efefefd0d0d0969289a99057dbae3d7b693d8e8d8b -f0eff0fdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfefefeffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffefefefefefe -fefefefbfbfafafaf9f8f8f8f5f5f4f2f2f1f0f0efeeeeedeaeaeae7e7e7e3e3e3dfdfde -dbdbdbd5d5d4d0d0d0cecdcdcdcdcdcdcccccdcdcccccbcbcecdcdcfcfcecccbcac6c5c5 -c2c1c1bdbdbdbab9b9bfbebec5c5c5c9c9c9cfcfcfd2d1d1d4d3d3dadadae0e0e0e2e2e2 -e4e4e4e7e7e7ebebeaefefefefefefefefefefefeff1f1f1f3f3f3f3f3f3f2f2f2eeeeee -ebebebe7e7e7e5e5e5e5e5e5e6e6e6e6e6e6e5e5e5e2e2e2ddddddd9d9d9d9d9d9dadada -dddddde1e1e1e6e6e6ebebebf0f0f0f5f5f5f9f9f9fcfcfcfdfdfdfdfdfdfcfcfdfdfcfd -fdfcfdededed9a99997b7a795b5a597d7c7c898888888787888787888787888787888787 -8887878887878887878584848382828584848887878d8c8c8d8c8c8d8c8c8c8b8b8f8e8e -a5a5a5bbbbbbc1c0c1c8c8c8cac9cac9c9c9c9c9c9c9c9c9c9c9c9c7c7c79e9d9e62615e -9c9075c8a654e2b236e8b52ce9b52ce9b52be9b52be9b52be9b52ae9b52ae9b529e9b428 -e9b427e9b427e9b326eab425edb82befbb32efba33eeb931ebb72fe6b126ddaa24d0a122 -c1951fad851d9573197d6116664f1253400f44350d3d2f0b3a2d0b3a2d0b3a2d0c3c3011 -3c342433312f5c5c5cb4b4b4cfcfcfcececeb5b4b58f8e8e666666484846524f48565043 -544a35584b2a594615644e11785c138e6d17a6801bbb9120d1a01cc69f42554b369a9a99 -f1f1f1fffffffffffffffffffffffffffffffcfcfcd8d7d78b877ebf9b42c4a253544f42 -dad9dafcfbfc -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfefefeffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -fffffffffffffffffffffffffffffefefefefefefefefefdfcfcfbfcfcfbfafaf9fafafa -f7f7f6f6f6f6f4f4f4f2f2f2f2f2f2f2f2f2f2f2f2f2f2f1f1f1f1efefeeedececeae9e9 -e5e5e5e1e1e1dedededddddddcdcdcd8d8d8d5d4d4d1d0d0cdcdcdcdcdcdcbcbcac5c5c4 -c3c1c2c3c1c1c8c8c8cacacac7c7c7c6c6c6c6c6c6c8c8c7cac9c9cccacad1d0d0d4d4d4 -d3d3d3d1d1d1d4d4d4dadadae1e1e1e6e6e6e9e9e9e9e9e9e6e6e6e3e3e3e0e0e0dedede -dddddddbdbdbdadadadad9d9dddcdce3e3e3eaeaeaf1f1f1f7f7f7fbfbfbfcfcfcfdfcfd -faf9faa3a2a1877c62b59a5ebc9d5cb99c5fb99d60b99e60b99e60b99e60b99e60b99e61 -b99e61b99e61ba9e61b79c61a99360a38e5ea08c609e8b619788619485618d7f5f87795e -81765d7e745e78705b726b59726b58726b58726b58726b58726b58726a586e6654837659 -d0b26ce6bf66e1bb66e0bb67e0bb68e1bd69e1bd6be2be6ce3bf6fe4c171e4c274e4c376 -e6c579e7c67ce8c880e9ca83eacc87eace8aeacf8be9ce8be8cd8ae7cb88e3c785dfc280 -d8bb7aceb373c3a96bb79d63aa925aa0895397814e917b498c7646897343867141846d3d -816b3b7465445c55465953455650434f493e4641373d382f36322a504936675836655531 -62532e62522f624f27604a126f55128566179c781bb58c1ccc9d2189744365635fe4e4e4 -fffffffffffffffffffffffffffffffffffffffffffdfdfdb1b1b1998a67deb240655837 -b2b2b1f9f8f9 -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfefefeffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -fffffffffffffffffffffffffffffefefefdfffffffffffffffffffffffffffffffefefe -fdfdfdfcfcfcfbfbfbfbfbfbfcfcfcf9f9f9f9f9f8f6f6f6f5f5f5f1f1f0ededede9e9e9 -e5e5e4e2e2e1dfdfdfdbdbdbd7d7d7d5d5d5d4d4d4d4d4d4d2d3d2d0d0d0d0d0d0d0d0cf -cdcdcdcbcbcacbcacacecececfcfced2d1d0d3d1d1d7d6d6dededddfdfdfdfdfdfe0e0e0 -e0e0e0e0e0e0dcdcdcd9d9d9d5d5d5d5d5d5dcdcdce4e4e4eeeeeef6f6f6fbfbfbfdfcfd -f6f5f6aea797d2a635f5ba1af6be28f6bf2ef7bc22f6bb1cf6bb1af6bb1af6bb1af6bc1b -f6bb1bf6bb1bf6bb1bf6bc1af6bc1bf6bc1bf7bc1cf7bc1cf7bc1cf8bc1cf8bc1ef8bc1e -f8bd1ef8bd1ff8be22f8bf26f8bf26f8bf27f8bf27f8bf27f8bf27f8bf29f8c02bf8c02d -f6c033f5c039f5c03cf6c140f6c346f7c44bf7c753f7c95ef7cb6af7cd73f8d17cf8d584 -f9d88df9db96fadfa0fbe2a9fbe4b1fbe7b7fce9bcfceabffceabffdeabdfce9bafce6b3 -fce4abfce1a2fbdd99fbda8ffad787fad37ef9d076f8cd6df4c760eebf53e6b749d9ad3e -cba034bb9328a9841f967419856616745913664e115b460f523e0c49370a46360c47360e -47360e47370f53431f6553296950117c5f15937219ad8418b79132584c33969695f4f4f4 -ffffffffffffffffffffffffffffffffffffffffffffffffd8d8d88d887dd2a735877446 -888784f5f4f5 -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfefefeffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -fffffffffffffffffffffffffffffffffffffffffffffffffefefefefefefefefefdfdfd -fcfcfbfcfcfbf9f9f9f9f9f9f7f7f7f6f6f6f5f5f4f5f5f4f5f5f4f4f4f3f2f2f1f0f0ef -eeeeedededecedededebebeaeaeae9e6e6e5e1e0dfdddcdcd8d8d7d3d3d2d5d4d3d6d6d5 -d7d7d7d6d6d6d3d3d3d0d0d0cfcfcfd2d2d2d9d9d9e3e3e3ecececf4f4f4fafafafdfcfd -f3f2f3aba290c59d35e1af28e0af2adfad2be3b029e3b028e3af28e4b028e5b128e7b328 -e6b228e6b127e8b328e9b429ebb629ecb729eeb829f0b92af2bb29f3bc29f4bc29f6be29 -f6bf29f7bf29f8bf28f8bf27f8bf27f8bf27f8bf28f8bf28f8c029f8bf2bf8c02cf8c02d -f8c02ff8c032f8c135f8c239f8c33ef8c544f9c74cf9ca57f9cc65f9ce72fad27afad582 -fad88dfbdd97fce1a0fce3aafce6b2fce8bafdebbffdebc1fdebc1fdebc0fce9bbfce6b4 -fce4abfce1a2fbdc98fad98ef8d484f6ce7af2c970edc363e7bb54dfb247d4a93cc69c31 -b79028a7822296741c846617735813654e115a450e503d0c48370b46350a44330a43320a -43320a42310a4b3b1464532a644e13765a138d6c18a67f16a5853748402fb0b0b0f9f9f9 -ffffffffffffffffffffffffffffffffffffffffffffffffe8e8e88d8a85caa4428b784b -7f7d7af4f3f4 -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfdfefdfdfefdfdfefdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfefefeffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -fffffffffffffffffffefefefffffffefefdfefefdfefefdfffffefefefefdfdfcfdfdfc -fdfdfcfdfdfdfdfdfdfcfcfbfcfcfbfafafaf9f9f9f7f7f7f4f4f4efefefe9e9e8e5e4e3 -e2e1e1dedfdfdcdcdbdbdbdbdcdcdcdededee5e5e5ebebebf2f2f2f7f7f7fbfbfbfdfcfd -eeeeee9f9889a8862fbc9120bd9324c19625c59924c59924c49824c79a22ca9c22cb9c23 -c99b22c99b22cb9d23cea024d2a324d6a625daa926deab26e2ae27e5b128e8b328ebb529 -eeb829f2bb2af4bc2bf5be2bf7bf2bf8c02bf8c02bf8c02bf8c02bf8c02cf8c02df8c02e -f7c031f7c034f7c136f7c23af7c33ff8c548f9c851f9cb5df9ce6bfad075fad47efad787 -fbda92fbdf9dfce2a8fce5b1fde9bafdecc3fdedc8fdeecbfdeecbfdeec9fdecc4fdeabc -fce6b3fbe3a9fadd9df8d892f6d387f2cd7ceec771e7c065deb556d3ab47c89f3bb79130 -a6832796752085671b745a16664f125b4610523f0e4b390d47360b44330b44330b44330b -44330b44330b4d3e18615027614b107157138668179f7a15a483324b422fa4a3a3f7f7f7 -ffffffffffffffffffffffffffffffffffffffffffffffffe0e0e08c8881cea53d8a7648 -848380f5f4f5 -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfefefefffffffffffffefefefefefe -fefefefefefefefdfefdfdfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfdfdfdfdfdfdfdfdfdfdfdfdfdfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfefefeffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -fffffffffffffffffffffffffffffffffffffffffffffffffefefefdfdfdfdfdfdfbfbfb -f8f8f8f5f6f6f3f4f4f2f2f2f2f2f2f2f2f2f5f5f5f8f8f8fafafafcfcfcfdfcfdfdfcfd -f5f4f5aaa8a383724c8a6e258e70219072238f71259173249475249473219a78229f7b22 -9d791e9b781a9f7a19a37e19a9821aaf871bb68c1ebc9120c29622c89a23cd9f24d3a324 -dba925e2af27e8b428edb729f1ba2af3bc2af5be2bf6be2bf7bf2bf8c02cf8c02df8c02f -f8c031f8c134f8c136f8c33af8c440f9c649f9c953f9cb5ff9ce6dfad077fad481fad88b -fbdc95fbe0a1fce4acfce7b7fdebc1fdeec8fdefcefdf0d2fdf1d2fdefcffdeecafdebc3 -fbe7b8fae3acf9dea1f7d995f3d188edca7ce8c370dfb964d4ad54c8a146b99438a7842c -96752486681d765c186850145c471152400f4b3a0d47370c46350b44330b44330b44330b -44330b44340c5344205b4a205d470e6e5413816416977316a883255f52337b7a78ededed -ffffffffffffffffffffffffffffffffffffffffffffffffc2c2c28b8270d7aa367c6c41 -9f9e9cf7f6f7 -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfefefeffffffffffffffffffffffff -fffffffffffffffffffefefefefefefefdfdfefdfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fefdfefefefefefefefefefefefefefefefefefefefefdfdfefdfdfefdfdfefdfdfefdfd -fefdfdfefdfdfefdfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfdfd -fefdfdfefdfdfefdfdfefdfdfefdfefefefeffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -fffffffefefefefefefdfdfdfdfdfdfdfdfdfefefefefefefefefefefefefefdfefdfcfd -fdfcfde0dfe09f9e9c7c786d746b596f654e6f654d71674f72685072685074684e6e5f3f -61512b6150236552206b551c745b1c7c611a86681a8e6e179471179a7618a27d1bac851e -b78d1fc39722cfa024d9a825e1af27e8b328edb729f0ba29f3bc2bf5bf2df7bf2df7c02e -f8c031f8c134f8c236f8c33af8c441f9c649f9c953f9cc60f9ce6efad078fad481fad98c -fbdd97fbe1a3fce4affce9b9fdecc4fdeeccfdf1d2fdf2d6fdf2d6fdf1d3fdefcdfcecc5 -fbe8baf9e3aef7dda3f4d795eece87e8c57ae0bc6dd5b161c9a450b99541a98833977728 -856820765c1a6951155d481254410f4d3b0d48380c46360b45340b44330b44330b44330b -44330b4738125849265542145b460e6a51127b5f158e6d17a37d1886703a4c4941c1c0c0 -fcfcfcffffffffffffffffffffffffffffffffffffededed989795a58d54d8af48685d43 -cdcdcdfbfafb -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfefefeffffffffffffffffffffffff -fffffffffffffffffffffffffffffffffefefffefefefefefefdfefdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fefdfefffffffffffffffffffffffffffffffffffffffefefffefefffefefffefefffefe -fffefefffefefffefefefefefefdfefefdfefefdfefefdfefefdfefefdfefefdfefefdfe -fefdfefefdfefefdfefefdfefefdfefefdfefefdfefefdfefefdfefefdfefefdfefefdfe -fefdfefefdfefefdfefefdfefefdfefefdfefefdfefefdfefefdfefefdfefefefefffefe -fffefefffefefffefefffefeffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffefefefdfcfd -fdfcfdfdfcfdf6f5f6dbdadbc2c1c2b6b5b5b5b5b4b7b7b6b7b7b6b9b9b8b5b4b3a09e9d -8b8a8888878383817c7d7a737872666f6654685b3e58471d65511c6f571a765b147e6114 -88691796741aa6801db58b1fc29622ce9f24d8a725e0ad27e7b329edb82bf1bb2df4bd2d -f6bf31f7c133f8c236f8c33bf8c442f9c649f9c954f9cc60f9ce6ffad178fad581fad98c -fbdd98fbe1a4fce5b0fce9bbfdedc4fdefccfdf1d4fef3d7fef3d7fdf2d4fceecefbecc5 -fae7baf7e1aef4dba1efd393e9ca84e0c076d6b368c9a75cbb994ca9883a997a2f866a24 -765d1c6952165f4a135643114e3c0e49380d47360c46360b45340b44330b44330b44330b -43330b51422056461f4f3c0c5a450f664e11755a148466169572159f7e295c4f325d5c59 -c8c8c8fcfcfcfffffffffffffffffffefefeeaeaeaa3a3a2857a62d3a93da98e4a7b776f -e8e8e8fdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfefefeffffffffffffffffffffffff -fffffffffffffffffffffffffffffffffffffffffffffffffffffffefefefefdfefdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fefdfeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffefefefdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfcfbfc -faf9faf6f5f6eeeeeee4e3e4d4d4d4c3c2c3b0aead8785816e6a5f584f3b4a3c1b594718 -634d126c5210785d1387681795731aa47f1cb38a1fc19521cea024dbaa27e3b02aeab62c -f0bb2ff3be33f6c035f7c23bf7c441f9c649f9c953f9cb60f9ce6efad178fad481fad98c -fbdd97fbe1a4fce5affce9bafdecc3fdeecbfdf1d2fdf2d5fdf2d5fcf0d2fbedcbfae9c3 -f8e5b8f5deabf0d79eeace8fe2c480d7b871caa962bb9b55ab8b45997b35886d29775e20 -6953195f4a145743124f3d104a390d47370c47360c46360b45340b44330b44330b443309 -4d3d1b5546234c3b0f4e3c0c59450f624c116e55137a5e1587681696731591752c594e33 -5b5a58a4a4a4cececee1e1e1ddddddbfbfbf92918f7d735dbb9740caa44373684ebcbbba -f8f7f8fdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfefefeffffffffffffffffffffffff -fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffefdfe -fefdfefefdfefefdfefdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fefdfeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffefefefdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfaf9faecebeccfcfcfb1b0af83817d5d584c -463c254b3c17594511614a0d6a5211765b14846616937119a6811db88f21c89b24d6a628 -e1af2de9b631efbb34f3bf39f5c240f7c548f9c852f9cb5ef9ce6dfad077fad480fad88a -fbdc95fbe0a1fce4abfce7b7fceac0fcecc7fcefcdfcf0d0fcefcffbedcdfaebc7f8e7bd -f5e2b3f0daa5ebd198e2c688d8bb79cbad6abd9e5bac8f4d9a7e3c896e2f7a61246a541b -604b17584413503e104b3a0f47370d47360c47360c46360b45340b44330b43320a493915 -5647274c3c1348360a4f3d0d57430e5e4910664e116f5513785d14836515906e16917427 -6c5a32655d4d726f697d7b78827f7a7f7867957f4bc59f3ec29d4083744fa09e9beeedee -fdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfefefeffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -fffffffffffffffffffefdfefefdfefefdfefefdfefefdfefdfdfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fefdfeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffefefefdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdf9f8f9e7e6e7c8c7c7 -9897955e5b52423926483915503d0c55410c5e4810695112795d158b6b19a07b1db48c21 -c69a26d5a62ce1b031eab836f0bd3ef4c246f7c650f8c95cf9cd6bf9cf75fad37efad787 -fbda92fbde9cfce2a7fce5b1fbe8b9fceac0fcecc5fbecc8faebc7faebc5f8e6bef5e2b6 -f1dcaaebd39de3c98ed8bd7fcbb06fbda160ad91529b80448a71357a62296d5720614c18 -5946155240114c3b1049380e47360c47360c46360b45350b44330b43320a493916504122 -4a3a1446350a48370a4e3b0b54400b59440b5e470b634b0c6a510d72580e7d5f0f8a690e -94721c9474219275278e7949a3863ebb9531c49f43ad924f7f7459a2a09deae9e9fcfbfc -fdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfefefeffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -fffffffffffffffffffffffffffffffffffffffffffffffffffefefefdfefefdfefefdfe -fefdfefdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fefdfeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffefefe -fdfdfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfbfafb -efeeefd3d2d2969594514d4340371f49390e4a380a4e3c0d58430f654e12755a15896a19 -9f7b1eb48c25c69b2ad6a830e1b239eaba42f0c04bf4c657f7ca66f8cd71f9d179fad583 -fad98dfbdc96fbdfa0fbe2a8fbe4b0fae7b8fbe8bcfae8bef9e7bdf7e5baf3e0b3f0dbab -e9d39fe2c992d7bd83cbb074bda164ad92569d83498b733b7c642e6e5823634e1c5a4716 -5441134e3d114a390f47370d47360c47360c46360b45340b42330b4b3c1a534424483811 -4534074a390a4b3a0d4d3c124e3f1850401e50411f4a3d1e493d1e4f43235648275f502a -68582e725f3279663676684782704589764782765a8f8b82c2c1c0edecedfcfbfcfdfcfd -fdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfefefeffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -fffffffffefffffefffffefffefdfefdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fefdfeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -fdfdfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfcfbfcf0eff0cccbcb73716d37322647381547360847350b4d3b0e56430f634d12 -755b16896b1c9f7c22b48d28c69b31d5a93ae1b343e9bc4feec25df2c96bf6cc74f7d17d -f8d586f9d88ff9db98f9dea0f9e0a7f9e2adf8e2b0f6e0b1f3deb0f1dcadecd6a4e6cf9b -dec690d4bc83c8ae74baa166ab92579b824a8b733e7c65326f592764501f5c4919564315 -513f114d3c1149380e47370d47360c47360c47360a48360b4b3c1a544523504017493b1c -3f361d322b1b302a1e3c372d5b574e66635d7977728d8c889795929b99969f9d9aa19f9c -a1a09ca2a09ca19f9a9f9d99a6a4a0c2c1bed8d7d7e9e8e9f8f7f8fdfcfdfdfcfdfdfcfd -fdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfefefeffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -fffffffffffffffffffffffffffffffffffffffffffffffffffffffefefefefefefefefe -fefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefefe -fffefeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -fdfdfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfafafaedecec9c9b9b45423b41372048370a47350949380c4e3c0e -594510664f14775d198b6d1ea07d25b48e2ec59d39d2a944dcb351e4bd5fe9c26bedc773 -f0cb7bf1d084f2d38cf3d593f2d799f2d99ff1d9a1eed6a1ebd4a0e7cf9be1c993d7c089 -ceb67ec2aa71b69d64a78f5799804b89723f7c6635705b2b6651215e4a1b584617534113 -4e3d114c3b1049380e47370d47360c4736094536104137224a422e3c352529251d5a5852 -80807da8a7a6c7c7c7dadadae8e7e7edecedf0efeff2f2f2f4f3f4f4f3f4f5f4f5f5f4f5 -f5f4f5f5f4f5f4f3f4f4f3f4f5f4f5f9f8f9fcfbfcfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfefefeffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -fdfdfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfefdfefefefefaf9fad4d4d45554532f2a204b3b1747350847370b -49390d513f0f5b4713675016765c1b886b219a7a2aab8a34ba9640c6a14dd0ac5bd6b363 -dcb96ce0be74e2c37ce4c582e4c687e3c78be1c88ddec68ddac18ad4bd85cbb37dc2aa74 -b89f69ab945e9e8753917a48846e3e7964356e592b6551235e4b1d594619554315513f12 -4d3c114a390f48370d47360b47370b413417221e151414135554539e9e9dd8d8d8f4f3f4 -f9f8f9faf9fafcfbfcfcfbfcfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfefefeffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -fdfdfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfefdfeffffffffffffffffffffffffffffff919191484541453c2449380e -47360b48370c4d3b0f5341115b4714665018735a1d8066258f722d9c7e37a78942b0924e -b89956bfa05dc4a765c7ac6ac9af6fcaaf73c8ae74c4ab73bfa770b9a16cb09863a8905d -9c8654927c4b8872437e683b7460346c592c665225604c1f5a481a5643165341134f3e11 -4c3b0f4a390d47360c443613342d20333231767676cfcfcff7f7f7fdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfefdfefffefffffefffffefffffeff -fffefffffefffffefffffefffffefffffefffffefffffefffffefffffefffffefffffeff -fffefffffefffffefffffefffffefffffefffffefffffefffffefffffefffffefffffeff -fffefffffefffffefffffefffffefffffefffffefffffefffffefffffefffffefffffeff -fffefffffefffffefffffefffffefffffefffffefffffefffffefffffefffffefffffeff -fffefffffefffffefffffefffffefffffefffffefffffefffffefffffefffffefffffeff -fffefffffefffffefffffefffffefffffefffffefffffefffffefffffefffffefffffeff -fffefffffefffffefffffefffffefffffefffffefffffefffffefffffefffffefffffeff -fffefffffefffffefffffefffffefffffefffffefffffefffffefffffefffffefffffeff -fffefffffefffffefffffefffffefffffefffffefffffefffffefffffefffffefffffeff -fffefffffefffffefffffefffffefffffefffffefffffefffffefffffefffffefffffeff -fffefffffefffffefffffefffffefffffefffffefffffefffffefffffefffffefffffeff -fffefffffefffffefffffefffffefffffefffffefffffefffffefffffefffffefffffeff -fffefffffefffffefffffefffffefffffefffffefffffefffffefffffefffffefffffeff -fffefffffefffffefffffefffffefffffefffffefffffefffffefffffefffffefffffeff -fffefffffefffffefffffefffffefffffefffffefffffefffffefffffefffffefffffeff -fffefffffefffffefffffefffffefffffefffffefffffefffffefffffefffffefffffeff -fffefffffefffffefffffefffffefffffefffffefffffefffffefffffefffffefffffeff -fffefffffefffffefffffefffffefffffefffffefffffefffffefffffefffffefffffeff -fffefffffefffffefffffefffffefffffefffffefffffefffffefffffefffffefffefefe -fdfdfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfdfdfefefefffefefffefffffefffffefffffefffffefffbfafbcfcecf6a6a683e3930 -473b1e47370e49380d4b3a0e4e3d105542125c4816624e1a6c551f765f267e672d876f36 -90763f967d469d844ca28a51a58c55a58d57a68e59a48d58a08a579a8453937e4e8e7849 -8670437f6a3e776337705d316a572b645224604d205b481b574417544114513f114e3c10 -4a390e4335113a322134332f656464cac9caf9f8f9fdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdefeeefa7a6a6 -5e5d5a484236473a1d4838114d3b0f4f3d0f5340125643145b4718614d1d6652216b5727 -715c2d7761337d6738826c3c856f40887142897244887244867143836e417f6b3e7b673b -776338725f346d5a2f68552a645124604d1f5c491b5845175643145341134c3b11413413 -3b33243e3c39636262b8b7b8f4f3f4fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfbfafb -e1e1e29e9e9e62615f4b463a453a204839144f3e145442135643145845165c491a5f4c1e -624f226753276b592c6f5c2f725e32746035766136766237766137756136725f34705d31 -6d5a2f6a572b665326635021604d1d5d4a1a594619534218493b163d3219413b2f474745 -706f6fbababaf2f1f2fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfaf9fadddcdda8a7a77674735a564e4b433243371c493b1954441b58471b5b481a -5e4b1b604d1e614f2264512567542869562a6a572c6b582d6c582d6b582d6a572b685528 -675325655123614e225d4b2255451f483b1b3e341c47403253514b636261929192cdcccd -f6f5f6fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfcfbfcecebecc4c4c49b9b9a767574615e59554f413e3622453a20 -4c3f205a4b2665532a64522a64522966542a68562b68562c67552c65532d63522b635129 -544627493d22433923463e2e56524861605c727271989898c2c2c2eae9eafbfafbfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdf9f9fae7e7e7cdcccdb3b3b3919090848381 -6765615b523f8c753e8a7135796536715e346a593165542f5f502c5a4a28594821534932 -4947417978758a8a899d9c9cbab9b9d2d1d2eaeaeafaf9fafdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfcfbfcf6f5f6eaeaea -cdcdcd8e8a837a6b4a977f46987e4687703f7662376655305d4e2a56482b443a23444039 -aaaaaae3e2e3f1f0f1f9f8f9fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -faf9fad8d7d785827c8e7843c59e3aab882f876b2767521f554316453b27474542b5b5b4 -f4f3f4fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdf6f6f7b0ada99c813cd3a224af861d8164165e48104a3808362e1b777777f8f7f8 -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdf2f1f2aeaba3a7893ad2a120a7811c795e1458430f4635083b311b737271fcfbfc -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdeaeaeaaaa598b3913ad2a11fa6801d775c1455410e463408463819353432f6f5f6 -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfddededea59b85c7a03ad4a31ea8821d795d1456430e46350a473711242220e3e3e3 -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdd4d3d2a39470d8ac39d6a41fad861e7d611659440f48360b4735092d2a22bcbcbc -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -faf9facdcbc7af985ce8b52ddba823b58c1f8667175f491049380c4635073730218c8b8b -fcfbfcfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -f0eff0b6b1a5b79741f1b923dfac26bf9321927019674f114c3b0d44330842351b5d5b59 -f4f3f4fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -e2e1e1a99e83d7ac3ef2ba22e4b027c99b239e7a1b715613523f0e45340b44350c36332e -cecdcefdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdf9f8f9 -cbcac6a4905af0ba2ef4bb26e8b328d1a124aa831e7b5f1559440f48360b4434083d3626 -8a8a89faf9fafdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdedeced -aba596bf9d46f7be22f5bd2aecb629d8a725b58b1f876817614b104a380c443309423415 -53504ddddcddfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfaf9fad8d6d4 -ad9d73ebb833f7be25f6be2befb829ddab27be93219270196850124d3b0d44330a42330a -40392d999897faf9fafdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdf0efefa8a293 -cfac55f8be22f8bf2af6be2bf1ba2ae2af27c599229b781b70561354400e46350b44330a -413414575450cecdcefdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdf9f8f9b9b7b4a5905b -f0ba2af8bf27f8c02bf6be2bf1bb2ae5b127cc9d23a47f1c785c1559450f47370c44330b -44330a443b2383827feae9eafdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdd5d5d4b0a485e8b632 -f8be23f8c02bf8c02bf7bf2bf3bc2ae9b428d2a224ad851d8164175f491049380c45340b -44330a44350f504839a3a1a0f5f5f6fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfddbdbdbaca490e5b63ef8bd21 -f8c02bf8c02bf8c02bf7bf2bf4bd2aebb629d8a625b68c1f8a6a17644d104c3a0d46350b -44330b44340a433511524c3fabaaa8f6f5f6fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfcfbfcf9f7f8c1c0beb3a992ecba37f8bd20f8c02b -f8c02bf8c02bf8c02bf7bf2bf5be2aeeb829dcaa26bd93219472196b5212503e0d46350b -44330b46350b4635094435105048379a9894e6e6e6fbfafbfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfbfafbf8f8f8f6f5f5f2f1f0d8d5d1b0a897b59c61f0ba2af8bd21f8c02bf8c02b -f8c02bf8c02bf7bf2bf6be2bf4bd2aedb729deac27c498229d791b73591456420f47360b -44330b45340b46350b46350a44340c493d2369655ab4b2b0e6e5e5f3f2f2f8f7f8fbfafb -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfcfbfc -f4f3f4dfdcd8cec9bdc2baa6bbae8abaa061deb23ff5bc21f8bf25f8c02bf8c02bf8c02b -f8c02bf8c02bf7bf2bf5bd2bf2bb2aeab528dcaa26c59822a37e1c7c60155e48104c3b0d -46350b44330b46350b46350b45340a453409423311382f1a615a4a908b83b3b1adc6c5c3 -e7e6e6fcfbfcfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdf4f3f4 -c9c5bcad996ac5a04bdbae43efb92df7bc1df8bd1ff8bf26f8bf27f8bf26f8bf26f8bf26 -f8bf26f7be26f6bd26f3ba25ecb624e2ae23d3a221bd921da17c19816314644c0f513e0c -47360a45340a45340a46350a46350a46350a46350946350743330a4032123c3115372f1b -76736febeaebfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdf1f0f1ecebececebec -ecebececebececebececebececebececebececebececebececebececebececebececebec -ecebececebececebececebececebececebececebececebececebececebececebececebec -ecebececebececebececebececebececebececebececebececebececebececebececebec -ecebececebececebececebececebececebececebececebececebececebececebececebec -ecebececebececebececebececebececebececebececebececebececebececebececebec -ecebececebececebececebececebececebececebececebececebececebececebececebec -ecebececebececebececebececebececebececebececebececebececebececebececebec -ecebececebececebececebececebececebececebececebececebececebececebececebec -ecebececebececebececebececebececebececebececebececebececebececebececebec -ecebececebececebececebececebececebececebececebececebececebececebececebec -ecebececebececebececebececebececebececebececebececebececebececebececebec -ecebececebececebececebececebececebececebececebececebececebececebececebec -ecebececebececebececebececebececebececebececebececebececebececebececebec -ecebececebececebececebececebececebececebececebececebececebececebececebec -ecebececebececebececebececebececebececebececebececebececebececebececebec -ecebececebececebececebececebececebececebececebececebececebececebececebec -ecebececebececebececebececebececebececebececebececebececebececebececebec -ecebececebececebececebececebececebececebececebececebececebececebececebec -ecebececebececebececebececebececebececebececebececebececebececebececebec -ecebececebececebececebececebececebececebececebececebececebececebececebec -ecebececebececebececebececebececebececebececebececebececebececebececebec -ecebececececedededeeedeeeeeeeeefeeeff0eff0f1f0f1f2f1f2f3f3f3f5f4f5d6d6d6 -968d79c29d48deac2eddad2edeae2fdeae31deae32deae32deae32deaf32deaf32deaf32 -deae32ddae32dcac31d6a730cba02dbd942aad87259b792186691d71581a5a46144b3b10 -41330e3f310e3f310e3f310e3f310e3f310e3f310e3f310e3f320d3f310c3e300c41320d -33302aacacacf5f4f5f4f3f4f2f2f2f1f0f1f0eff0efeeefeeeeeeeeedeeedecedececec -ececececebececebececebececebececebececebececebececebececebececebececebec -ecebececebececebececebececebececebececebececebececebececebecf8f7f8fdfcfd -fdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd9e9d9e787878787878 -787878787878787878787878787878787878787878787878787878787878787878787878 -787878787878787878787878787878787878787878787878787878787878787878787878 -787878787878787878787878787878787878787878787878787878787878787878787878 -787878787878787878787878787878787878787878787878787878787878787878787878 -787878787878787878787878787878787878787878787878787878787878787878787878 -787878787878787878787878787878787878787878787878787878787878787878787878 -787878787878787878787878787878787878787878787878787878787878787878787878 -787878787878787878787878787878787878787878787878787878787878787878787878 -787878787878787878787878787878787878787878787878787878787878787878787878 -787878787878787878787878787878787878787878787878787878787878787878787878 -787878787878787878787878787878787878787878787878787878787878787878787878 -787878787878787878787878787878787878787878787878787878787878787878787878 -787878787878787878787878787878787878787878787878787878787878787878787878 -787878787878787878787878787878787878787878787878787878787878787878787878 -787878787878787878787878787878787878787878787878787878787878787878787878 -787878787878787878787878787878787878787878787878787878787878787878787878 -787878787878787878787878787878787878787878787878787878787878787878787878 -787878787878787878787878787878787878787878787878787878787878787878787878 -787878787878787878787878787878787878787878787878787878787878787878787878 -787878787878787878787878787878787878787878787878787878787878787878787878 -787878787878787878787878787878787878787878787878787878787878787878787878 -7878787979797a7a7a7b7b7b7c7c7c7d7d7d7f7f7f8080808282828585858787876f6f6f -413e385a4e36675837655737655737655737655737655737655737655837655837655837 -6557376456366154355d5133574c3050452c483e274038233a321f332c1c282316211d12 -1d19101c180f1c180f1c180f1c180f1c180f1c180f1c180f1c180f1c180f1c180f1d190f -171613504f4f8787878686868383838181817f7f7f7d7d7d7c7c7c7b7b7b797979787878 -787878787878787878787878787878787878787878787878787878787878787878787878 -787878787878787878787878787878787878787878787878787878777777cfcfcffbfafb -fdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd8b8a8b5d5d5d5d5d5d -5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d -5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d -5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d -5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d -5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d -5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d -5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d -5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d -5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d -5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d -5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d -5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d -5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d -5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d -5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d -5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d -5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d -5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d -5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d -5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d -5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d -5e5e5e5e5e5e6060606060605e5e5e5d5d5d5d5d5d5d5d5d5c5c5c5c5c5c5c5c5c5d5d5d -5d5d5d5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5b5b5b5b5b5b5c5c5c -5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5d5d5d5d5d5d -5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d -5d5d5d5d5d5d5c5c5c5c5c5c5c5c5c5c5c5c5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d -5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d -5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5d5b5b5bc5c5c5faf9fa -fdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdeaeaeae3e2e3e3e2e3 -e3e2e3e3e2e3e3e2e3e3e2e3e3e2e3e3e2e3e3e2e3e3e2e3e3e2e3e3e2e3e3e2e3e3e2e3 -e3e2e3e3e2e3e3e2e3e3e2e3e3e2e3e3e2e3e3e2e3e3e2e3e3e2e3e3e2e3e3e2e3e3e2e3 -e3e2e3e3e2e3e3e2e3e3e2e3e3e2e3e3e2e3e3e2e3e3e2e3e3e2e3e3e2e3e3e2e3e3e2e3 -e3e2e3e3e2e3e3e2e3e3e2e3e3e2e3e3e2e3e3e2e3e3e2e3e3e2e3e3e2e3e3e2e3e3e2e3 -e3e2e3e3e2e3e3e2e3e3e2e3e3e2e3e3e2e3e3e2e3e3e2e3e3e2e3e3e2e3e3e2e3e3e2e3 -e3e2e3e3e2e3e3e2e3e3e2e3e3e2e3e3e2e3e3e2e3e3e2e3e3e2e3e3e2e3e3e2e3e3e2e3 -e3e2e3e3e2e3e3e2e3e3e2e3e3e2e3e3e2e3e3e2e3e3e2e3e3e2e3e3e2e3e3e2e3e3e2e3 -e3e2e3e3e2e3e3e2e3e3e2e3e3e2e3e3e2e3e3e2e3e3e2e3e3e2e3e3e2e3e3e2e3e3e2e3 -e3e2e3e3e2e3e3e2e3e3e2e3e3e2e3e3e2e3e3e2e3e3e2e3e3e2e3e3e2e3e3e2e3e3e2e3 -e3e2e3e3e2e3e3e2e3e3e2e3e3e2e3e3e2e3e3e2e3e3e2e3e3e2e3e3e2e3e3e2e3e3e2e3 -e3e2e3e3e2e3e3e2e3e3e2e3e3e2e3e3e2e3e3e2e3e3e2e3e3e2e3e3e2e3e3e2e3e3e2e3 -e3e2e3e3e2e3e3e2e3e3e2e3e3e2e3e3e2e3e3e2e3e3e2e3e3e2e3e3e2e3e3e2e3e3e2e3 -e3e2e3e3e2e3e3e2e3e3e2e3e3e2e3e3e2e3e3e2e3e3e2e3e3e2e3e3e2e3e3e2e3e3e2e3 -e3e2e3e3e2e3e3e2e3e3e2e3e3e2e3e3e2e3e3e2e3e3e2e3e3e2e3e3e2e3e3e2e3e3e2e3 -e3e2e3e3e2e3e3e2e3e3e2e3e3e2e3e3e2e3e3e2e3e3e2e3e3e2e3e3e2e3e3e2e3e3e2e3 -e3e2e3e3e2e3e3e2e3e3e2e3e3e2e3e3e2e3e3e2e3e3e2e3e3e2e3e3e2e3e3e2e3e3e2e3 -e3e2e3e3e2e3e3e2e3e3e2e3e3e2e3e3e2e3e3e2e3e3e2e3e3e2e3e3e2e3e3e2e3e3e2e3 -e3e2e3e3e2e3e3e2e3e3e2e3e3e2e3e3e2e3e3e2e3e3e2e3e3e2e3e3e2e3e3e2e3e3e2e3 -e3e2e3e3e2e3e3e2e3e3e2e3e3e2e3e3e2e3e3e2e3e3e2e3e3e2e3e3e2e3e3e2e3e3e2e3 -e3e2e3e3e2e3e3e2e3e3e2e3e3e2e3e3e2e3e3e2e3e3e2e3e3e2e3e3e2e3e3e2e3e3e2e3 -e3e2e3e3e2e3e3e2e3e3e2e3e3e2e3e3e2e3e3e2e3e3e2e3e3e2e3e3e2e3e3e2e3e3e2e3 -e3e2e3e4e3e4e5e4e5e5e4e5e3e3e3e3e2e3e3e2e3e2e1e2e2e1e2e2e1e2e2e1e2e2e2e2 -e2e2e2e2e1e2e1e1e1e2e1e2e1e1e1e2e1e2e2e1e2e2e1e2e2e1e2e1e0e1e1e0e1e1e1e1 -e2e1e2e2e1e2e2e1e2e2e1e2e2e1e2e2e1e2e2e1e2e2e1e2e2e1e2e2e1e2e2e1e2e3e2e3 -e3e2e3e3e2e3e3e2e3e3e2e3e3e2e3e3e2e3e3e2e3e3e2e3e3e2e3e3e2e3e3e2e3e3e2e3 -e3e2e3e3e2e3e2e1e2e2e1e2e2e1e2e2e1e2e2e2e2e3e2e3e3e2e3e3e2e3e3e2e3e3e2e3 -e3e2e3e3e2e3e3e2e3e3e2e3e3e2e3e3e2e3e3e2e3e3e2e3e3e2e3e3e2e3e3e2e3e3e2e3 -e3e2e3e3e2e3e3e2e3e3e2e3e3e2e3e3e2e3e3e2e3e3e2e3e2e2e2e1e0e1f4f3f4fdfcfd -fdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfdfdfcfd -fdfcfdfdfcfd - -showpage - -% stop using temporary dictionary -end - -% restore original state -origstate restore - -%%Trailer diff --git a/doc/DevelopersGuide/bldtree.eps b/doc/DevelopersGuide/bldtree.eps deleted file mode 100644 index ddb71588d..000000000 --- a/doc/DevelopersGuide/bldtree.eps +++ /dev/null @@ -1,366 +0,0 @@ -%!PS-Adobe-2.0 EPSF-2.0 -%%Title: bldtree.eps -%%Creator: fig2dev Version 3.2 Patchlevel 3c -%%CreationDate: Thu Jul 26 11:57:29 2001 -%%For: tajchman@nikyo (Marc Tajchman - SFME/LGLS) -%%BoundingBox: 0 0 437 287 -%%Magnification: 1.0000 -%%EndComments -/$F2psDict 200 dict def -$F2psDict begin -$F2psDict /mtrx matrix put -/col-1 {0 setgray} bind def -/col0 {0.000 0.000 0.000 srgb} bind def -/col1 {0.000 0.000 1.000 srgb} bind def -/col2 {0.000 1.000 0.000 srgb} bind def -/col3 {0.000 1.000 1.000 srgb} bind def -/col4 {1.000 0.000 0.000 srgb} bind def -/col5 {1.000 0.000 1.000 srgb} bind def -/col6 {1.000 1.000 0.000 srgb} bind def -/col7 {1.000 1.000 1.000 srgb} bind def -/col8 {0.000 0.000 0.560 srgb} bind def -/col9 {0.000 0.000 0.690 srgb} bind def -/col10 {0.000 0.000 0.820 srgb} bind def -/col11 {0.530 0.810 1.000 srgb} bind def -/col12 {0.000 0.560 0.000 srgb} bind def -/col13 {0.000 0.690 0.000 srgb} bind def -/col14 {0.000 0.820 0.000 srgb} bind def -/col15 {0.000 0.560 0.560 srgb} bind def -/col16 {0.000 0.690 0.690 srgb} bind def -/col17 {0.000 0.820 0.820 srgb} bind def -/col18 {0.560 0.000 0.000 srgb} bind def -/col19 {0.690 0.000 0.000 srgb} bind def -/col20 {0.820 0.000 0.000 srgb} bind def -/col21 {0.560 0.000 0.560 srgb} bind def -/col22 {0.690 0.000 0.690 srgb} bind def -/col23 {0.820 0.000 0.820 srgb} bind def -/col24 {0.500 0.190 0.000 srgb} bind def -/col25 {0.630 0.250 0.000 srgb} bind def -/col26 {0.750 0.380 0.000 srgb} bind def -/col27 {1.000 0.500 0.500 srgb} bind def -/col28 {1.000 0.630 0.630 srgb} bind def -/col29 {1.000 0.750 0.750 srgb} bind def -/col30 {1.000 0.880 0.880 srgb} bind def -/col31 {1.000 0.840 0.000 srgb} bind def - -end -save -newpath 0 287 moveto 0 0 lineto 437 0 lineto 437 287 lineto closepath clip newpath --46.0 335.0 translate -1 -1 scale - -/cp {closepath} bind def -/ef {eofill} bind def -/gr {grestore} bind def -/gs {gsave} bind def -/sa {save} bind def -/rs {restore} bind def -/l {lineto} bind def -/m {moveto} bind def -/rm {rmoveto} bind def -/n {newpath} bind def -/s {stroke} bind def -/sh {show} bind def -/slc {setlinecap} bind def -/slj {setlinejoin} bind def -/slw {setlinewidth} bind def -/srgb {setrgbcolor} bind def -/rot {rotate} bind def -/sc {scale} bind def -/sd {setdash} bind def -/ff {findfont} bind def -/sf {setfont} bind def -/scf {scalefont} bind def -/sw {stringwidth} bind def -/tr {translate} bind def -/tnt {dup dup currentrgbcolor - 4 -2 roll dup 1 exch sub 3 -1 roll mul add - 4 -2 roll dup 1 exch sub 3 -1 roll mul add - 4 -2 roll dup 1 exch sub 3 -1 roll mul add srgb} - bind def -/shd {dup dup currentrgbcolor 4 -2 roll mul 4 -2 roll mul - 4 -2 roll mul srgb} bind def -/$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def -/$F2psEnd {$F2psEnteredState restore end} def - -$F2psBegin -%%Page: 1 1 -10 setmiterlimit - 0.06000 0.06000 sc -% -% Fig objects follow -% -% Polyline -15.000 slw -n 2475 2025 m 3450 2025 l 3450 2475 l 2475 2475 l - cp gs col0 s gr -/Times-Roman ff 180.00 scf sf -2625 2325 m -gs 1 -1 sc (Module 1) col0 sh gr -% Polyline -n 3000 3900 m 3900 3900 l 3900 4350 l 3000 4350 l - cp gs col0 s gr -/Times-Roman ff 180.00 scf sf -3150 4200 m -gs 1 -1 sc (src) col0 sh gr -% Polyline -n 1725 3900 m 2700 3900 l 2700 4350 l 1725 4350 l - cp gs col0 s gr -/Times-Roman ff 180.00 scf sf -1800 4200 m -gs 1 -1 sc (resources) col0 sh gr -% Polyline -n 1275 2025 m 2250 2025 l 2250 2475 l 1275 2475 l - cp gs col0 s gr -/Times-Roman ff 180.00 scf sf -1575 2325 m -gs 1 -1 sc (inc) col0 sh gr -% Polyline -n 1080 2775 m 900 2775 900 3270 180 arcto 4 {pop} repeat - 900 3450 1995 3450 180 arcto 4 {pop} repeat - 2175 3450 2175 2955 180 arcto 4 {pop} repeat - 2175 2775 1080 2775 180 arcto 4 {pop} repeat - cp gs col6 1.00 shd ef gr gs col0 s gr -/Times-Bold ff 180.00 scf sf -1050 3075 m -gs 1 -1 sc (Exported) col0 sh gr -/Times-Bold ff 180.00 scf sf -1050 3300 m -gs 1 -1 sc (header files) col0 sh gr -% Polyline -n 5040 4725 m 4800 4725 4800 5310 240 arcto 4 {pop} repeat - 4800 5550 5910 5550 240 arcto 4 {pop} repeat - 6150 5550 6150 4965 240 arcto 4 {pop} repeat - 6150 4725 5040 4725 240 arcto 4 {pop} repeat - cp gs col6 1.00 shd ef gr gs col0 s gr -/Times-Bold ff 180.00 scf sf -5025 4950 m -gs 1 -1 sc (Object files) col0 sh gr -/Times-Bold ff 180.00 scf sf -5025 5175 m -gs 1 -1 sc (libraries) col0 sh gr -/Times-Bold ff 180.00 scf sf -5025 5400 m -gs 1 -1 sc (executables) col0 sh gr -% Polyline -n 4125 2025 m 5175 2025 l 5175 2475 l 4125 2475 l - cp gs col0 s gr -/Times-Roman ff 180.00 scf sf -4275 2325 m -gs 1 -1 sc (resources) col0 sh gr -% Polyline -n 5325 2025 m 6375 2025 l 6375 2475 l 5325 2475 l - cp gs col0 s gr -/Times-Roman ff 180.00 scf sf -5550 2325 m -gs 1 -1 sc (bin) col0 sh gr -% Polyline -n 6525 2025 m 7575 2025 l 7575 2475 l 6525 2475 l - cp gs col0 s gr -/Times-Roman ff 180.00 scf sf -6750 2325 m -gs 1 -1 sc (lib) col0 sh gr -% Polyline -n 6330 975 m 6150 975 6150 1170 180 arcto 4 {pop} repeat - 6150 1350 7695 1350 180 arcto 4 {pop} repeat - 7875 1350 7875 1155 180 arcto 4 {pop} repeat - 7875 975 6330 975 180 arcto 4 {pop} repeat - cp gs col2 1.00 shd ef gr gs col0 s gr -/Times-Bold ff 180.00 scf sf -6375 1200 m -gs 1 -1 sc (Links to libraries) col0 sh gr -% Polyline -n 3705 2850 m 3525 2850 3525 3345 180 arcto 4 {pop} repeat - 3525 3525 5670 3525 180 arcto 4 {pop} repeat - 5850 3525 5850 3030 180 arcto 4 {pop} repeat - 5850 2850 3705 2850 180 arcto 4 {pop} repeat - cp gs col2 1.00 shd ef gr gs col0 s gr -/Times-Bold ff 180.00 scf sf -3675 3150 m -gs 1 -1 sc (Link to corresponding) col0 sh gr -/Times-Bold ff 180.00 scf sf -3675 3375 m -gs 1 -1 sc (directories in source tree) col0 sh gr -% Polyline -n 6255 2850 m 6075 2850 6075 3345 180 arcto 4 {pop} repeat - 6075 3525 7845 3525 180 arcto 4 {pop} repeat - 8025 3525 8025 3030 180 arcto 4 {pop} repeat - 8025 2850 6255 2850 180 arcto 4 {pop} repeat - cp gs col2 1.00 shd ef gr gs col0 s gr -/Times-Bold ff 180.00 scf sf -6225 3150 m -gs 1 -1 sc (Shell scripts) col0 sh gr -/Times-Bold ff 180.00 scf sf -6225 3375 m -gs 1 -1 sc (Links to executables) col0 sh gr -% Polyline -n 2700 5100 m 3675 5100 l 3675 5550 l 2700 5550 l - cp gs col0 s gr -/Times-Roman ff 180.00 scf sf -2775 5400 m -gs 1 -1 sc (Unit 1) col0 sh gr -% Polyline -n 3675 825 m 5325 825 l 5325 1425 l 3675 1425 l - cp gs col0 s gr -% Polyline -n 4725 1425 m - 4875 2025 l gs col0 s gr -% Polyline -n 3975 1425 m - 1800 2025 l gs col0 s gr -% Polyline -n 5100 1425 m - 7050 2025 l gs col0 s gr -% Polyline -n 3000 2025 m - 4200 1425 l gs col0 s gr -% Polyline - [60] 0 sd -n 3675 4350 m - 4425 5025 l gs col0 s gr [] 0 sd -% Polyline - [60] 0 sd -n 3450 4350 m - 3900 5025 l gs col0 s gr [] 0 sd -% Polyline - [60] 0 sd -n 4350 1425 m - 3675 2025 l gs col0 s gr [] 0 sd -% Polyline - [60] 0 sd -n 4500 1425 m - 3975 2025 l gs col0 s gr [] 0 sd -% Polyline -n 5100 1425 m - 5625 2025 l gs col0 s gr -% Polyline -n 3300 4350 m - 3150 5100 l gs col0 s gr -% Polyline -n 2700 2475 m - 2400 3900 l gs col0 s gr -% Polyline -n 3075 2475 m - 3375 3900 l gs col0 s gr -% Polyline -2 slj -gs clippath -1287 2295 m 1292 2205 l 1143 2198 l 1254 2249 l 1139 2288 l cp -eoclip -n 900 3225 m 899 3223 l 898 3220 l 896 3213 l 893 3202 l 888 3188 l - 882 3169 l 875 3146 l 868 3120 l 859 3091 l 850 3058 l - 841 3024 l 832 2988 l 823 2951 l 815 2914 l 808 2875 l - 801 2836 l 796 2797 l 792 2758 l 790 2718 l 790 2677 l - 792 2637 l 796 2595 l 802 2554 l 812 2514 l 825 2475 l - 842 2436 l 862 2402 l 884 2373 l 907 2348 l 931 2327 l - 956 2309 l 981 2295 l 1007 2283 l 1034 2274 l 1060 2267 l - 1087 2261 l 1113 2257 l 1139 2254 l 1164 2252 l 1187 2250 l - 1209 2250 l 1227 2249 l 1243 2249 l 1255 2249 l - 1275 2250 l gs col0 s gr gr - -% arrowhead -0 slj -n 1139 2288 m 1254 2249 l 1143 2198 l 1164 2244 l 1139 2288 l - cp gs 0.00 setgray ef gr col0 s -% Polyline -2 slj -gs clippath -7160 2051 m 7247 2027 l 7207 1884 l 7194 2005 l 7120 1908 l cp -eoclip -n 7125 1350 m 7125 1352 l 7124 1356 l 7123 1362 l 7122 1372 l 7121 1385 l - 7119 1400 l 7118 1418 l 7117 1437 l 7116 1459 l 7115 1482 l - 7115 1509 l 7116 1538 l 7118 1571 l 7121 1609 l 7125 1650 l - 7130 1688 l 7135 1724 l 7140 1758 l 7146 1790 l 7151 1820 l - 7157 1848 l 7163 1875 l 7169 1900 l 7174 1924 l 7180 1947 l - 7185 1967 l 7189 1985 l 7193 2000 l - 7200 2025 l gs col0 s gr gr - -% arrowhead -0 slj -n 7120 1908 m 7194 2005 l 7207 1884 l 7169 1918 l 7120 1908 l - cp gs 0.00 setgray ef gr col0 s -% Polyline -2 slj -gs clippath -2055 3883 m 2125 3939 l 2218 3824 l 2113 3884 l 2148 3768 l cp -eoclip -n 3525 3150 m 3524 3150 l 3522 3149 l 3517 3147 l 3510 3145 l 3501 3142 l - 3489 3139 l 3474 3135 l 3456 3130 l 3436 3126 l 3413 3121 l - 3389 3116 l 3363 3112 l 3336 3109 l 3307 3107 l 3276 3106 l - 3244 3106 l 3211 3109 l 3175 3113 l 3137 3119 l 3096 3128 l - 3053 3140 l 3006 3156 l 2957 3175 l 2904 3198 l 2850 3225 l - 2803 3251 l 2756 3279 l 2710 3308 l 2667 3338 l 2625 3369 l - 2586 3399 l 2548 3430 l 2512 3461 l 2477 3491 l 2444 3522 l - 2412 3553 l 2381 3584 l 2351 3615 l 2322 3645 l 2295 3675 l - 2268 3704 l 2243 3733 l 2219 3760 l 2197 3785 l 2177 3808 l - 2159 3829 l 2143 3848 l 2130 3863 l 2120 3876 l 2112 3885 l - - 2100 3900 l gs col0 s gr gr - -% arrowhead -0 slj -n 2148 3768 m 2113 3884 l 2218 3824 l 2169 3813 l 2148 3768 l - cp gs 0.00 setgray ef gr col0 s -% Polyline -2 slj -gs clippath -4154 2287 m 4124 2202 l 3983 2251 l 4105 2257 l 4013 2336 l cp -eoclip -n 3525 3150 m 3524 3149 l 3523 3146 l 3521 3141 l 3517 3133 l 3512 3122 l - 3506 3109 l 3499 3092 l 3492 3073 l 3484 3052 l 3476 3029 l - 3469 3005 l 3462 2979 l 3456 2952 l 3451 2925 l 3449 2897 l - 3447 2867 l 3449 2837 l 3452 2805 l 3459 2772 l 3469 2737 l - 3484 2700 l 3502 2663 l 3525 2625 l 3550 2591 l 3577 2559 l - 3606 2529 l 3635 2501 l 3666 2475 l 3697 2452 l 3728 2431 l - 3760 2411 l 3791 2392 l 3823 2375 l 3855 2359 l 3887 2344 l - 3919 2330 l 3950 2317 l 3979 2304 l 4007 2293 l 4033 2283 l - 4056 2275 l 4076 2267 l 4092 2261 l 4105 2257 l - 4125 2250 l gs col0 s gr gr - -% arrowhead -0 slj -n 4013 2336 m 4105 2257 l 3983 2251 l 4020 2286 l 4013 2336 l - cp gs 0.00 setgray ef gr col0 s -% Polyline -2 slj -gs clippath -3657 5355 m 3662 5445 l 3810 5437 l 3696 5399 l 3805 5347 l cp -eoclip -n 4800 5175 m 4799 5176 l 4796 5177 l 4791 5180 l 4784 5184 l 4774 5189 l - 4761 5195 l 4746 5203 l 4728 5211 l 4709 5220 l 4687 5229 l - 4663 5238 l 4637 5248 l 4608 5258 l 4576 5269 l 4541 5279 l - 4500 5290 l 4455 5302 l 4405 5313 l 4350 5325 l 4306 5333 l - 4263 5341 l 4220 5348 l 4179 5355 l 4139 5360 l 4101 5365 l - 4064 5370 l 4028 5374 l 3993 5377 l 3960 5380 l 3927 5383 l - 3896 5386 l 3865 5388 l 3835 5390 l 3808 5392 l 3782 5394 l - 3758 5395 l 3737 5397 l 3719 5398 l 3704 5398 l 3693 5399 l - - 3675 5400 l gs col0 s gr gr - -% arrowhead -0 slj -n 3805 5347 m 3696 5399 l 3810 5437 l 3785 5394 l 3805 5347 l - cp gs 0.00 setgray ef gr col0 s -% Polyline -2 slj -gs clippath -5786 2428 m 5738 2505 l 5864 2584 l 5793 2486 l 5912 2508 l cp -eoclip -n 6450 2850 m 6449 2849 l 6446 2848 l 6441 2846 l 6434 2843 l 6424 2839 l - 6412 2833 l 6398 2827 l 6382 2820 l 6365 2811 l 6346 2803 l - 6326 2793 l 6303 2782 l 6279 2769 l 6251 2755 l 6221 2739 l - 6187 2720 l 6150 2700 l 6116 2681 l 6083 2662 l 6052 2644 l - 6022 2627 l 5995 2611 l 5969 2595 l 5944 2580 l 5920 2566 l - 5897 2552 l 5876 2538 l 5855 2526 l 5837 2514 l 5820 2503 l - 5806 2494 l 5794 2487 l - 5775 2475 l gs col0 s gr gr - -% arrowhead -0 slj -n 5912 2508 m 5793 2486 l 5864 2584 l 5869 2534 l 5912 2508 l - cp gs 0.00 setgray ef gr col0 s -/Times-Roman ff 180.00 scf sf -3825 1200 m -gs 1 -1 sc (Root Build Tree) col0 sh gr -$F2psEnd -rs diff --git a/doc/DevelopersGuide/bldtree.fig b/doc/DevelopersGuide/bldtree.fig deleted file mode 100644 index 6f2682898..000000000 --- a/doc/DevelopersGuide/bldtree.fig +++ /dev/null @@ -1,130 +0,0 @@ -#FIG 3.2 -Portrait -Center -Inches -Letter -100.00 -Single --2 -1200 2 -6 2475 2025 3450 2475 -2 2 0 2 0 7 50 0 -1 0.000 0 0 -1 0 0 5 - 2475 2025 3450 2025 3450 2475 2475 2475 2475 2025 -4 0 0 50 0 1 12 0.0000 0 135 705 2625 2325 Module 1\001 --6 -6 3000 3900 3900 4350 -2 2 0 2 0 7 50 0 -1 0.000 0 0 -1 0 0 5 - 3000 3900 3900 3900 3900 4350 3000 4350 3000 3900 -4 0 0 50 0 1 12 0.0000 0 90 240 3150 4200 src\001 --6 -6 1725 3900 2700 4350 -2 2 0 2 0 7 50 0 -1 0.000 0 0 -1 0 0 5 - 1725 3900 2700 3900 2700 4350 1725 4350 1725 3900 -4 0 0 50 0 1 12 0.0000 0 90 750 1800 4200 resources\001 --6 -6 1275 2025 2250 2475 -2 2 0 2 0 7 50 0 -1 0.000 0 0 -1 0 0 5 - 1275 2025 2250 2025 2250 2475 1275 2475 1275 2025 -4 0 0 50 0 1 12 0.0000 0 135 225 1575 2325 inc\001 --6 -6 825 2700 2250 3525 -2 4 0 2 0 6 50 0 20 0.000 0 0 12 0 0 5 - 2175 3450 900 3450 900 2775 2175 2775 2175 3450 -4 0 0 50 0 2 12 0.0000 0 180 735 1050 3075 Exported\001 -4 0 0 50 0 2 12 0.0000 0 135 960 1050 3300 header files\001 --6 -6 4725 4650 6225 5625 -2 4 0 2 0 6 50 0 20 0.000 0 0 16 0 0 5 - 6150 5550 4800 5550 4800 4725 6150 4725 6150 5550 -4 0 0 50 0 2 12 0.0000 4 180 915 5025 4950 Object files\001 -4 0 0 50 0 2 12 0.0000 4 135 675 5025 5175 libraries\001 -4 0 0 50 0 2 12 0.0000 0 135 975 5025 5400 executables\001 --6 -6 4125 2025 5175 2475 -2 2 0 2 0 7 50 0 -1 0.000 0 0 -1 0 0 5 - 4125 2025 5175 2025 5175 2475 4125 2475 4125 2025 -4 0 0 50 0 0 12 0.0000 4 90 750 4275 2325 resources\001 --6 -6 5325 2025 6375 2475 -2 2 0 2 0 7 50 0 -1 0.000 0 0 -1 0 0 5 - 5325 2025 6375 2025 6375 2475 5325 2475 5325 2025 -4 0 0 50 0 0 12 0.0000 4 135 225 5550 2325 bin\001 --6 -6 6525 2025 7575 2475 -2 2 0 2 0 7 50 0 -1 0.000 0 0 -1 0 0 5 - 6525 2025 7575 2025 7575 2475 6525 2475 6525 2025 -4 0 0 50 0 0 12 0.0000 4 135 180 6750 2325 lib\001 --6 -6 6075 900 7950 1425 -2 4 0 2 0 2 50 0 20 0.000 0 0 12 0 0 5 - 7875 1350 6150 1350 6150 975 7875 975 7875 1350 -4 0 0 50 0 2 12 0.0000 4 135 1380 6375 1200 Links to libraries\001 --6 -6 3450 2775 5925 3600 -2 4 0 2 0 2 50 0 20 0.000 0 0 12 0 0 5 - 5850 3525 3525 3525 3525 2850 5850 2850 5850 3525 -4 0 0 50 0 2 12 0.0000 0 180 1755 3675 3150 Link to corresponding\001 -4 0 0 50 0 2 12 0.0000 0 135 2055 3675 3375 directories in source tree\001 --6 -6 6000 2775 8100 3600 -2 4 0 2 0 2 50 0 20 0.000 0 0 12 0 0 5 - 8025 3525 6075 3525 6075 2850 8025 2850 8025 3525 -4 0 0 50 0 2 12 0.0000 0 180 975 6225 3150 Shell scripts\001 -4 0 0 50 0 2 12 0.0000 0 135 1680 6225 3375 Links to executables\001 --6 -6 2700 5100 3675 5550 -2 2 0 2 0 7 50 0 -1 0.000 0 0 -1 0 0 5 - 2700 5100 3675 5100 3675 5550 2700 5550 2700 5100 -4 0 0 50 0 1 12 0.0000 0 135 465 2775 5400 Unit 1\001 --6 -2 2 0 2 0 7 50 0 -1 0.000 0 0 -1 0 0 5 - 3675 825 5325 825 5325 1425 3675 1425 3675 825 -2 1 0 2 0 7 50 0 -1 0.000 0 0 -1 0 0 2 - 4725 1425 4875 2025 -2 1 0 2 0 7 50 0 -1 0.000 0 0 -1 0 0 2 - 3975 1425 1800 2025 -2 1 0 2 0 7 50 0 -1 0.000 0 0 -1 0 0 2 - 5100 1425 7050 2025 -2 1 0 2 0 7 50 0 -1 0.000 0 0 -1 0 0 2 - 3000 2025 4200 1425 -2 1 1 2 0 7 50 0 -1 4.000 0 0 -1 0 0 2 - 3675 4350 4425 5025 -2 1 1 2 0 7 50 0 -1 4.000 0 0 -1 0 0 2 - 3450 4350 3900 5025 -2 1 1 2 0 7 50 0 -1 4.000 0 0 -1 0 0 2 - 4350 1425 3675 2025 -2 1 1 2 0 7 50 0 -1 4.000 0 0 -1 0 0 2 - 4500 1425 3975 2025 -2 1 0 2 0 7 50 0 -1 0.000 0 0 -1 0 0 2 - 5100 1425 5625 2025 -2 1 0 2 0 7 50 0 -1 0.000 0 0 -1 0 0 2 - 3300 4350 3150 5100 -2 1 0 2 0 7 50 0 -1 0.000 0 0 -1 0 0 2 - 2700 2475 2400 3900 -2 1 0 2 0 7 50 0 -1 0.000 0 0 -1 0 0 2 - 3075 2475 3375 3900 -3 2 0 2 0 7 50 0 -1 0.000 0 1 0 3 - 2 1 2.00 90.00 90.00 - 900 3225 825 2475 1275 2250 - 0.000 -1.000 0.000 -3 2 0 2 0 7 50 0 -1 0.000 0 1 0 3 - 2 1 2.00 90.00 90.00 - 7125 1350 7125 1650 7200 2025 - 0.000 -1.000 0.000 -3 2 0 2 0 7 50 0 -1 0.000 0 1 0 3 - 2 1 2.00 90.00 90.00 - 3525 3150 2850 3225 2100 3900 - 0.000 -1.000 0.000 -3 2 0 2 0 7 50 0 -1 0.000 0 1 0 3 - 2 1 2.00 90.00 90.00 - 3525 3150 3525 2625 4125 2250 - 0.000 -1.000 0.000 -3 2 0 2 0 7 50 0 -1 0.000 0 1 0 3 - 2 1 2.00 90.00 90.00 - 4800 5175 4350 5325 3675 5400 - 0.000 -1.000 0.000 -3 2 0 2 0 7 50 0 -1 0.000 0 1 0 3 - 2 1 2.00 90.00 90.00 - 6450 2850 6150 2700 5775 2475 - 0.000 -1.000 0.000 -4 0 0 50 0 1 12 0.0000 0 135 1185 3825 1200 Root Build Tree\001 diff --git a/doc/DevelopersGuide/bldtree.pdf b/doc/DevelopersGuide/bldtree.pdf deleted file mode 100644 index bb33b295908e760ed75642b66b5f31f92f8e5c04..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3761 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 diff --git a/doc/DevelopersGuide/subtrees.eps b/doc/DevelopersGuide/subtrees.eps deleted file mode 100644 index 66d0ecc98..000000000 --- a/doc/DevelopersGuide/subtrees.eps +++ /dev/null @@ -1,187 +0,0 @@ -%!PS-Adobe-2.0 EPSF-2.0 -%%Title: subtrees.eps -%%Creator: fig2dev Version 3.2 Patchlevel 3c -%%CreationDate: Thu Jul 26 11:57:22 2001 -%%For: tajchman@nikyo (Marc Tajchman - SFME/LGLS) -%%BoundingBox: 0 0 466 215 -%%Magnification: 1.0000 -%%EndComments -/$F2psDict 200 dict def -$F2psDict begin -$F2psDict /mtrx matrix put -/col-1 {0 setgray} bind def -/col0 {0.000 0.000 0.000 srgb} bind def -/col1 {0.000 0.000 1.000 srgb} bind def -/col2 {0.000 1.000 0.000 srgb} bind def -/col3 {0.000 1.000 1.000 srgb} bind def -/col4 {1.000 0.000 0.000 srgb} bind def -/col5 {1.000 0.000 1.000 srgb} bind def -/col6 {1.000 1.000 0.000 srgb} bind def -/col7 {1.000 1.000 1.000 srgb} bind def -/col8 {0.000 0.000 0.560 srgb} bind def -/col9 {0.000 0.000 0.690 srgb} bind def -/col10 {0.000 0.000 0.820 srgb} bind def -/col11 {0.530 0.810 1.000 srgb} bind def -/col12 {0.000 0.560 0.000 srgb} bind def -/col13 {0.000 0.690 0.000 srgb} bind def -/col14 {0.000 0.820 0.000 srgb} bind def -/col15 {0.000 0.560 0.560 srgb} bind def -/col16 {0.000 0.690 0.690 srgb} bind def -/col17 {0.000 0.820 0.820 srgb} bind def -/col18 {0.560 0.000 0.000 srgb} bind def -/col19 {0.690 0.000 0.000 srgb} bind def -/col20 {0.820 0.000 0.000 srgb} bind def -/col21 {0.560 0.000 0.560 srgb} bind def -/col22 {0.690 0.000 0.690 srgb} bind def -/col23 {0.820 0.000 0.820 srgb} bind def -/col24 {0.500 0.190 0.000 srgb} bind def -/col25 {0.630 0.250 0.000 srgb} bind def -/col26 {0.750 0.380 0.000 srgb} bind def -/col27 {1.000 0.500 0.500 srgb} bind def -/col28 {1.000 0.630 0.630 srgb} bind def -/col29 {1.000 0.750 0.750 srgb} bind def -/col30 {1.000 0.880 0.880 srgb} bind def -/col31 {1.000 0.840 0.000 srgb} bind def - -end -save -newpath 0 215 moveto 0 0 lineto 466 0 lineto 466 215 lineto closepath clip newpath --58.0 236.0 translate -1 -1 scale - -/cp {closepath} bind def -/ef {eofill} bind def -/gr {grestore} bind def -/gs {gsave} bind def -/sa {save} bind def -/rs {restore} bind def -/l {lineto} bind def -/m {moveto} bind def -/rm {rmoveto} bind def -/n {newpath} bind def -/s {stroke} bind def -/sh {show} bind def -/slc {setlinecap} bind def -/slj {setlinejoin} bind def -/slw {setlinewidth} bind def -/srgb {setrgbcolor} bind def -/rot {rotate} bind def -/sc {scale} bind def -/sd {setdash} bind def -/ff {findfont} bind def -/sf {setfont} bind def -/scf {scalefont} bind def -/sw {stringwidth} bind def -/tr {translate} bind def -/tnt {dup dup currentrgbcolor - 4 -2 roll dup 1 exch sub 3 -1 roll mul add - 4 -2 roll dup 1 exch sub 3 -1 roll mul add - 4 -2 roll dup 1 exch sub 3 -1 roll mul add srgb} - bind def -/shd {dup dup currentrgbcolor 4 -2 roll mul 4 -2 roll mul - 4 -2 roll mul srgb} bind def -/$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def -/$F2psEnd {$F2psEnteredState restore end} def - -$F2psBegin -%%Page: 1 1 -10 setmiterlimit - 0.06000 0.06000 sc -% -% Fig objects follow -% -% Polyline -7.500 slw -n 3900 1950 m 5175 1950 l 5175 2550 l 3900 2550 l - cp gs col0 s gr -/Times-Bold ff 180.00 scf sf -4050 2175 m -gs 1 -1 sc (Top Build) col0 sh gr -/Times-Bold ff 180.00 scf sf -4050 2400 m -gs 1 -1 sc (Directory) col0 sh gr -% Polyline -n 1275 1425 m 3000 1425 l 3000 2250 l 1275 2250 l - cp gs col0 s gr -/Times-Bold ff 180.00 scf sf -1425 1650 m -gs 1 -1 sc (Top Source) col0 sh gr -/Times-Bold ff 180.00 scf sf -1425 1875 m -gs 1 -1 sc (Directory) col0 sh gr -/Times-Bold ff 180.00 scf sf -1425 2100 m -gs 1 -1 sc (\(SALOME_ROOT\)) col0 sh gr -% Polyline -n 4350 2550 m - 3825 3300 l gs col0 s gr -% Polyline -n 4575 2550 m - 4650 3300 l gs col0 s gr -% Polyline -n 7350 1650 m - 7575 2475 l gs col0 s gr -% Polyline -n 7800 1650 m - 8175 2550 l gs col0 s gr -% Polyline -n 7050 1650 m - 6750 2550 l gs col0 s gr -% Polyline -n 6675 1050 m 8100 1050 l 8100 1650 l 6675 1650 l - cp gs col0 s gr -% Polyline -n 1939 2238 m - 1189 2913 l gs col0 s gr -% Polyline -n 2175 2250 m - 2175 2850 l gs col0 s gr -% Polyline -n 2442 2270 m - 2892 3020 l gs col0 s gr -% Polyline -15.000 slw -n 3780 1650 m 3600 1650 3600 3720 180 arcto 4 {pop} repeat - 3600 3900 5595 3900 180 arcto 4 {pop} repeat - 5775 3900 5775 1830 180 arcto 4 {pop} repeat - 5775 1650 3780 1650 180 arcto 4 {pop} repeat - cp gs col0 s gr -% Polyline -n 1230 1050 m 1050 1050 1050 3570 180 arcto 4 {pop} repeat - 1050 3750 3045 3750 180 arcto 4 {pop} repeat - 3225 3750 3225 1230 180 arcto 4 {pop} repeat - 3225 1050 1230 1050 180 arcto 4 {pop} repeat - cp gs col0 s gr -% Polyline -n 6705 825 m 6525 825 6525 2820 180 arcto 4 {pop} repeat - 6525 3000 8520 3000 180 arcto 4 {pop} repeat - 8700 3000 8700 1005 180 arcto 4 {pop} repeat - 8700 825 6705 825 180 arcto 4 {pop} repeat - cp gs col0 s gr -% Polyline -7.500 slw -n 2025 1425 m - 3000 375 l gs col0 s gr -% Polyline -n 4575 1950 m - 4425 675 l gs col0 s gr -% Polyline -n 7275 1050 m - 5925 375 l gs col0 s gr -/Times-Bold ff 180.00 scf sf -6825 1275 m -gs 1 -1 sc (Top Installation) col0 sh gr -/Times-Bold ff 180.00 scf sf -6825 1500 m -gs 1 -1 sc (Directory) col0 sh gr -/Times-Bold ff 180.00 scf sf -7125 675 m -gs 1 -1 sc (Install Subtree) col0 sh gr -/Times-Bold ff 180.00 scf sf -975 900 m -gs 1 -1 sc (Source Subtree) col0 sh gr -/Times-Bold ff 180.00 scf sf -4650 1500 m -gs 1 -1 sc (Build Subtree) col0 sh gr -$F2psEnd -rs diff --git a/doc/DevelopersGuide/subtrees.fig b/doc/DevelopersGuide/subtrees.fig deleted file mode 100644 index 90918a3de..000000000 --- a/doc/DevelopersGuide/subtrees.fig +++ /dev/null @@ -1,57 +0,0 @@ -#FIG 3.2 -Portrait -Center -Inches -Letter -100.00 -Single --2 -1200 2 -6 3900 1950 5175 2550 -2 2 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 5 - 3900 1950 5175 1950 5175 2550 3900 2550 3900 1950 -4 0 0 50 0 2 12 0.0000 0 180 780 4050 2175 Top Build\001 -4 0 0 50 0 2 12 0.0000 0 180 780 4050 2400 Directory\001 --6 -6 1275 1425 3000 2250 -2 2 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 5 - 1275 1425 3000 1425 3000 2250 1275 2250 1275 1425 -4 0 0 50 0 2 12 0.0000 0 180 945 1425 1650 Top Source\001 -4 0 0 50 0 2 12 0.0000 0 180 780 1425 1875 Directory\001 -4 0 0 50 0 2 12 0.0000 0 180 1530 1425 2100 (SALOME_ROOT)\001 --6 -2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2 - 4350 2550 3825 3300 -2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2 - 4575 2550 4650 3300 -2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2 - 7350 1650 7575 2475 -2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2 - 7800 1650 8175 2550 -2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2 - 7050 1650 6750 2550 -2 2 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 5 - 6675 1050 8100 1050 8100 1650 6675 1650 6675 1050 -2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2 - 1939 2238 1189 2913 -2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2 - 2175 2250 2175 2850 -2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2 - 2442 2270 2892 3020 -2 4 0 2 0 7 50 0 -1 0.000 0 0 12 0 0 5 - 5775 3900 3600 3900 3600 1650 5775 1650 5775 3900 -2 4 0 2 0 7 50 0 -1 0.000 0 0 12 0 0 5 - 3225 3750 1050 3750 1050 1050 3225 1050 3225 3750 -2 4 0 2 0 7 50 0 -1 0.000 0 0 12 0 0 5 - 8700 3000 6525 3000 6525 825 8700 825 8700 3000 -2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2 - 2025 1425 3000 375 -2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2 - 4575 1950 4425 675 -2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2 - 7275 1050 5925 375 -4 0 0 50 0 2 12 0.0000 0 180 1290 6825 1275 Top Installation\001 -4 0 0 50 0 2 12 0.0000 0 180 780 6825 1500 Directory\001 -4 0 0 50 0 2 12 0.0000 0 135 1185 7125 675 Install Subtree\001 -4 0 0 40 0 2 12 0.0000 0 135 1080 4650 1500 Build Subtree\001 -4 0 0 50 0 2 12 0.0000 0 135 1245 975 900 Source Subtree\001 diff --git a/doc/DevelopersGuide/subtrees.pdf b/doc/DevelopersGuide/subtrees.pdf deleted file mode 100644 index d29044b39feffef74674af7f9d39bffc041d6e7e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1498 zcmb_ceM}Q)7$3|LJZ7SCz*OemL23YlcUNd>39zj#r36|?DF`+YOM5Mq(v!QZb}Adn z+=LL3P-P5-NhDKn%mI=)bem(d9r_1}4}I zqa+HZ@7YL#_p4r&g4nBFiF@b9zPuGRYoB^F|7qSckDC)UUq{cBwv91@`LcgA$XR*a zantCppNJOP&|T*|YWiCT+MR-#;r_q<7p&Lw7mR;7AKz`)-+wm~ZR~XRmlVBlA1s}j zakOs!R>&)LbnhFEKP{Kt_DwIBdASWLJ$LR--&U3?m6<~}T-xVg^0wIWeJ>?n5$8SN zloa@F+&wmUC+^~@_z1)Auhr=;z7qG|J2_Vz7wqS&io8op@WUUry4ijS64|Hf-J~sr zmESmmN`BhXeNWmWoa(HnygUkn>NtLz^l!)9AkIXg%IyxHga$12^k|=QYf^J?V>UM8 zw3+US>V5l0vx_@=0&R`5!rr=$ukhjlAAg6i!oNs#P43wu|7Y_1{W9bRI-Ei_{kSzm zvPn{2k&}67$BssYPgC#J+7l0NAM?CPPX5Upj~#a=|JG36c{Jt=E>C7ldq1xveWQEE z^{(EZYcA9yqr1+;o*Z-wKA@=GT&TXxJ4N}Q{O-PByiXL+AoNaAC93R6Z*qjOWnvwA8G(6cv`}fC}qbn?;wIYI$?0>WA%?uw#T-=TaE_V^zs&k^S;9 z3~@oB%YsEv)dvR&fF@}S1cJ&5olzqqtw4=Ii!eSPaB*G+0(U9G%m6N{Y6MjhG-;u< z1Pvl1p(jOZlL-c>QP>m!RS{MOdPqrV9~lXa`GCLZ29*zAR17y@EE=#)qhujhPT_F9 z)I|StP8n;@RWGhxhq9@;I+x{PF>O?#$t7UkXtE`XVL^5WM@1T%V5>q^#$1995s@a{ zO7bi-OK~6r%Y@PZjW_COphj52l?Yp+63GCN1Pe>&s_OA|0mK?cVNROieW+U{wPvs(ZW#_7^_GDvDqZe&|1oPkO90s zJZP{I)=Ck21Oq|@TYdna#|z~FJ#b+#Dx{5lfO#3i!e9k!F)SQ|cl;8D;ZTk*VSK@Q zOvo3mvlH+j&1-#eoVUuCp)^JlLBTl;&}8Eg0tf-BBuNIa>?#2oXV#N|C2mo7G^3%I Q#d>jW7#!uCm_#Y^9}*8DA^-pY diff --git a/doc/KernelResources/kernel_resources-1.html b/doc/KernelResources/kernel_resources-1.html deleted file mode 100644 index 6652dc450..000000000 --- a/doc/KernelResources/kernel_resources-1.html +++ /dev/null @@ -1,224 +0,0 @@ - - - - - SALOME Kernel resources for developer: Trace and debug Utilities - - - - - -Next -Previous -Contents -
-

1. Trace and debug Utilities

- -

During the development process, an execution log is useful to -identify problems. This log contains messages, variables values, -source files names and line numbers. It is recommended to verify -assertions on variables values and if necessary, to stop the execution -at debug time, in order to validate all parts of code. -

1.1 Two modes: debug and release -

- -

The goal of debug mode is to check as many features as possible -during the early stages of the development process. The purpose of -the utilities provided in SALOME is to help the developer to add -detailed traces and check variables values, without writing a lot -of code. -

When the code is assumed to be valid, the release mode optimizes -execution, in terms of speed, memory, and display only user level -messages. -

But, some informations must always be displayed in both modes: -especially messages concerning environment or internal errors, with -version identification. When an end user is confronted to such a -message, he may refer to a configuration documentation or send the -message to the people in charge of SALOME installation, or to the -development team, following the kind of error. -

1.2 C++ Macros for trace and debug -

- -

SALOME provides C++ macros for trace and debug. These macros -are in SALOME/src/utils/utilities.h and this file must be included -in C++ source. Some macros are activated only in debug mode, others -are always activated. To activate the debug mode, _DEBUG_ must be -defined, which is the case when SALOME Makefiles are generated from -configure, without options. When _DEBUG_ is undefined (release mode), -the debug mode macros are defined empty (they do nothing). So, when -switching from debug to release, it is possible (and recommended) -to let the macro calls unchanged in the source. -

All the macros writing on the standard output start by flushing -the standard error. At the end of the display those macros flush -the standard output. -

Two informations are systematically added in front of the information -displayed: -

-

    -
  • the name of the source file in which the macros is set;
  • -
  • the line number of the source file at which the macro is set.
  • -
-

Macros defined in debug and release modes

- -

INFOS_COMPILATION

- -

The C++ macro INFOS_COMPILATION writes on the standard output -informations about the compiling process: -

-

    -
  • the name of the compiler : g++, KCC, CC, pgCC;
  • -
  • the date and the time of the compiling processing process.
  • -
-

This macro INFOS_COMPILATION does not have any argument. Moreover, -it is defined in both compiling mode : _DEBUG_ and _RELEASE_. -

Example : -

-

-#include "utilities.h"
-int main(int argc , char **argv) 
-{ 
-  INFOS_COMPILATION;
-  ...
-}
-
-

INFOS(str)

- -

In both compiling mode _DEBUG_ and _RELEASE_, The C++ macro INFOS -writes on the standard output the string which has been passed in -argument by the user. -

Example : -

-

-#include "utilities.h"
-int main(int argc , char **argv)
-{ 
-  ... 
-  INFOS("NORMAL END OF THE PROCESS"); 
-  return 0; 
-}
-
-

displays : -

-

-main.cxx [5] : NORMAL END OF THE PROCESS
-
-

Macros defined only in debug mode

- -

MESSAGE(str)

- -

In _DEBUG_ compiling mode only, the C++ macro MESSAGE writes -on the standard output the string which has been passed in argument -by the user. In _RELEASE_ compiling mode, this macro is blank. -

Example : -

-

-#include "utilities.h" 
-#include <string> 
-using namespace std; 
-int main(int argc , char **argv) 
-{ 
-  ... 
-  const char *str = "Salome";
-  MESSAGE(str);
-  ... const string st; 
-  st = "Aster"; 
-  MESSAGE(c_str(st+" and CASTEM")); 
-  return 0;
-}
-
-

displays : -

-

-- Trace main.cxx [8] : Salome
-- Trace main.cxx [12] : Aster and CASTEM
-
-

BEGIN_OF(func_name)

- -

In _DEBUG_ compiling mode, The C++ macro BEGIN_OF appends the -string "Begin of " to the one passed in argument by the -user and displays the result on the standard output. In _RELEASE_ -compiling mode, this macro is blank. -

Example : -

-

-#include "utilities.h" 
-int main(int argc , char **argv) 
-{ 
-  BEGIN_OF(argv[0]);
-  return 0;
-}
-
-

displays : -

-

-- Trace main.cxx [3] : Begin of a.out
-
-

END_OF(func_name)

- -

In _DEBUG_ compiling mode, The C++ macro END_OF appends the string -"Normal end of " to the one passed in argument by the user -and displays the result on the standard output. In _RELEASE_ compiling -mode, this macro is blank. -

Example : -

-

-#include "utilities.h" 
-int main(int argc , char **argv) 
-{ 
-  END_OF(argv[0]);
-  return 0; 
-}
-
-

displays : -

-

-- Trace main.cxx [4] : Normal end of a.out
-
-

SCRUTE(var)

- -

In _DEBUG_ compiling mode, The C++ macro SCRUTE displays its -argument which is an application variable followed by the value of -the variable. In _RELEASE_ compiling mode, this macro is blank. -

Example : -

-

-#include "utilities.h"
-int main(int argc , char **argv) 
-{ 
-  const int i=999;
-  if( i > 0 ) SCRUTE(i) ; i=i+1;
-  return 0;
-}
-
-

displays : -

-

-- Trace main.cxx [5] : i=999
-
-

ASSERT(condition)

- -

In _DEBUG_ compiling mode only, The C++ macro ASSERT checks the -expression passed in argument to be not NULL. If it is NULL the process -is stopped and the condition is written on the standard output. In -_RELEASE_ compiling mode, this macro is blank. N.B. : if ASSERT is -already defined, this macro is ignored. -

Example : -

-

-#include "utilities.h" 
-... 
-const char *ptrS = fonc();
-ASSERT(ptrS!=NULL); 
-cout << strlen(ptrS); 
-float table[10];
-int k;
-... 
-ASSERT(k<10);
-cout << table[k];
-
-
-Next -Previous -Contents - - diff --git a/doc/KernelResources/kernel_resources-2.html b/doc/KernelResources/kernel_resources-2.html deleted file mode 100644 index 0557f1838..000000000 --- a/doc/KernelResources/kernel_resources-2.html +++ /dev/null @@ -1,137 +0,0 @@ - - - - - SALOME Kernel resources for developer: Exceptions - - - - - -Next -Previous -Contents -
-

2. Exceptions

- -

2.1 C++ exceptions: class SALOME_Exception -

- -

definition

- -

The class SALOME_Exception provides a generic method to send -a message, with optional source file name and line number. This class -is intended to serve as a base class for all kinds of exceptions -SALOME code. All the exceptions derived from SALOME_Exception could -be handled in a single catch, in which the message associated to -the exception is displayed, or sent to a log file. -

The class SALOME_Exception inherits its behavior from the STL -class exception. -

usage

- -

The header SALOME/src/utils/utils_SALOME_Exception.hxx must be -included in the C++ source, when raised or trapped: -

#include "utils_SALOME_Exception.hxx" -

The SALOME_Exception constructor is: -

-

-SALOME_Exception( const char *text,
-                  const char *fileName=0, 
-                  const unsigned int lineNumber=0 );
-
-

The exception is raised like this: -

-

-throw SALOME_Exception("my pertinent message");
-
-

or like this: -

-

-throw SALOME_Exception(LOCALIZED("my pertinent message"));
-
-

where LOCALIZED is a macro provided with utils_SALOME_Exception.hxx -which gives file name and line number. -

The exception is handled like this: -

-

-try
-  {
-    ...
-  }
-catch (const SALOME_Exception &ex)
-  {
-    cerr << ex.what() <<endl;
-  }
-
-

The what() method overrides the one defined in the STL exception -class. -

2.2 CORBA exceptions -

- -

definition

- -

The idl SALOME_Exception provides a generic CORBA exception for -SALOME, with an attribute that gives an exception type,a message, -plus optional source file name and line number. -

This idl is intended to serve for all user CORBA exceptions raised -in SALOME code, as IDL specification does not support exception inheritance. -So, all the user CORBA exceptions from SALOME could be handled in -a single catch. -

The exception types defined in idl are: -

-

-
COMM

CORBA communication problem, -

BAD_PARAM

Bad User parameters, -

INTERNAL_ERROR

application level problem (often irrecoverable). -

-

CORBA system and user exceptions already defined in the packages -used within SALOME, such as OmniORB exceptions, must be handled separately. -

usage

- -

CORBA servant, C++

- -

The CORBA Server header for SALOME_Exception and a macro to throw -the exception are provided with the header SALOME/src/Utils/Utils_CorbaException.hxx: -

-

-#include "Utils_CorbaException.hxx"
-
-

The exception is raised with a macro which appends file name -and line number. -

-

-if (myStudyName.size() == 0)
-   THROW_SALOME_CORBA_EXCEPTION("No Study Name given", \
-                                SALOME::BAD_PARAM);
-
-

CORBA Client, GUI Qt C++

- -

The CORBA Client header for SALOME_Exception and a Qt function -header that displays a message box are provided in SALOME/src/SALOMEGUI/SALOMEGUI_QtCatchCorbaException.hxx: -

-

-#include "SALOMEGUI_QtCatchCorbaException.hxx"
-
-

A typical exchange with a CORBA Servant will be: -

-

-try
-  {
-    ... // one ore more CORBA calls
-  }
-catch (const SALOME::SALOME_Exception & S_ex)
-  {
-    QtCatchCorbaException(S_ex);
-  }
-
-

CORBA Client, C++, without GUI

- -

Nothing specific has been provided to the developer yet. See -the idl or the Qt function SALOMEGUI_QtCatchCorbaException.hxx to -see how to get the information given by the exception object. -


-Next -Previous -Contents - - diff --git a/doc/KernelResources/kernel_resources-3.html b/doc/KernelResources/kernel_resources-3.html deleted file mode 100644 index 64cdedde5..000000000 --- a/doc/KernelResources/kernel_resources-3.html +++ /dev/null @@ -1,77 +0,0 @@ - - - - - SALOME Kernel resources for developer: Miscellaneous tools - - - - -Next -Previous -Contents -
-

3. Miscellaneous tools

- -

3.1 Singleton -

- -

Definition

- -

A singleton is an application data which is created and deleted -only once at the end of the application process. The C++ compiler -allows the user to create a static singleton data before the first -executable statement. They are deleted after the last statement execution. -

The SINGLETON_ template class deals with dynamic singleton. It -is useful for functor objects. For example, an object that connects -the application to a system at creation and disconnects the application -at deletion. -

Usage

- -

To create a single instance a POINT object : -

-

-# include "Utils_SINGLETON.hxx"
-... 
-POINT *ptrPoint=SINGLETON_<POINT>::Instance() ; 
-assert(ptrPoint!=NULL) ;
-
-

No need to delete ptrPoint. Deletion is achieved automatically -at exit. If the user tries to create more than one singleton by using -the class method SINGLETON_<TYPE>::Instance(), the pointer -is returned with the same value even if this is done in different -functions (threads ?). -

-

-POINT *p1=SINGLETON_<POINT>::Instance() ;
-... 
-POINT *p2=SINGLETON_<POINT>::Instance() ; 
-assert(p1==p2)
-
-

Design description

- -

Here are the principles features of the singleton design : -

-

    -
  • the user creates an object of class TYPE by using the class method -SINGLETON_<TYPE>::Instance() which returns a pointer to the -single object ;
  • -
  • to create an object, SINGLETON_<TYPE>::Instance() uses -the default constructor of class TYPE ;
  • -
  • at the same time, this class method creates a destructor object -which is added to the generic list of destructor objects to be executed -at the end of the application (atexit) ;
  • -
  • at the end of the application process all the deletions are performed -by the Nettoyage() C function which executes the destruction objects -end then deletes the destructions objects themselves ;
  • -
  • the Nettoyage() C function using atexit() C function is embedded -in a static single object ATEXIT_().
  • -
-

-

-


-Next -Previous -Contents - - diff --git a/doc/KernelResources/kernel_resources.html b/doc/KernelResources/kernel_resources.html deleted file mode 100644 index 6a11ac423..000000000 --- a/doc/KernelResources/kernel_resources.html +++ /dev/null @@ -1,56 +0,0 @@ - - - - - SALOME Kernel resources for developer - - - - - -Next -Previous -Contents -
-

SALOME Kernel resources for developer

- -

Antoine Yessayan, Paul Rascle

Version 0.1 January 16, 2002 -


-ABSTRACT -
-


-This document describes the development environment for C++ and - Python. Makefiles generation and usage are introduced in another - document: "using the SALOME configuration and building system environment". - Development environment is intended here as: trace and debug macros - usage; SALOME exceptions usage, in C++ and Python; user CORBA exceptions - usage, in C++ and Python, with and without Graphical User Interface; - some general purpose services such as singleton, used for CORBA connection - and disconnection. -
-

-

1. Trace and debug Utilities

- - -

-

2. Exceptions

- - -

-

3. Miscellaneous tools

- - -
-Next -Previous -Contents - - diff --git a/doc/KernelResources/kernel_resources.lyx b/doc/KernelResources/kernel_resources.lyx deleted file mode 100644 index d696300b2..000000000 --- a/doc/KernelResources/kernel_resources.lyx +++ /dev/null @@ -1,915 +0,0 @@ -#LyX 1.1 created this file. For more info see http://www.lyx.org/ -\lyxformat 218 -\textclass linuxdoc -\language english -\inputencoding default -\fontscheme default -\graphics default -\paperfontsize 10 -\spacing single -\papersize Default -\paperpackage a4 -\use_geometry 0 -\use_amsmath 0 -\paperorientation portrait -\secnumdepth 3 -\tocdepth 3 -\paragraph_separation indent -\defskip medskip -\quotes_language english -\quotes_times 2 -\papercolumns 1 -\papersides 1 -\paperpagestyle default - -\layout Title -\added_space_top vfill \added_space_bottom vfill -SALOME Kernel resources for developer -\layout Author - -Antoine Yessayan, Paul Rascle -\layout Date - -Version 0.1 January 16, 2002 -\layout Abstract - -ABSTRACT -\layout Abstract - -This document describes the development environment for C++ and Python. - Makefiles generation and usage are introduced in another document: -\begin_inset Quotes eld -\end_inset - -using the SALOME configuration and building system environment -\begin_inset Quotes erd -\end_inset - -. - Development environment is intended here as: trace and debug macros usage; - SALOME exceptions usage, in C++ and Python; user CORBA exceptions usage, - in C++ and Python, with and without Graphical User Interface; some general - purpose services such as singleton, used for CORBA connection and disconnection. -\layout Standard - - -\begin_inset LatexCommand \tableofcontents{} - -\end_inset - - -\layout Section - -Trace and debug Utilities -\layout Standard - -During the development process, an execution log is useful to identify problems. - This log contains messages, variables values, source files names and line - numbers. - It is recommended to verify assertions on variables values and if necessary, - to stop the execution at debug time, in order to validate all parts of - code. -\layout Subsection - -Two modes: debug and release -\layout Standard - -The goal of debug mode is to check as many features as possible during the - early stages of the development process. - The purpose of the utilities provided in SALOME is to help the developer - to add detailed traces and check variables values, without writing a lot - of code. -\layout Standard - -When the code is assumed to be valid, the release mode optimizes execution, - in terms of speed, memory, and display only user level messages. -\layout Standard - -But, some informations must always be displayed in both modes: especially - messages concerning environment or internal errors, with version identification. - When an end user is confronted to such a message, he may refer to a configurati -on documentation or send the message to the people in charge of SALOME installat -ion, or to the development team, following the kind of error. -\layout Subsection - -C++ Macros for trace and debug -\layout Standard - -SALOME provides C++ macros for trace and debug. - These macros are in -\family typewriter -SALOME/src/utils/utilities.h -\family default - and this file must be included in C++ source. - Some macros are activated only in debug mode, others are always activated. - To activate the debug mode, -\family typewriter -_DEBUG_ -\family default - must be defined, which is the case when SALOME Makefiles are generated - from configure, without options. - When -\family typewriter -_DEBUG_ -\family default - is undefined (release mode), the debug mode macros are defined empty (they - do nothing). - So, when switching from debug to release, it is possible (and recommended) - to let the macro calls unchanged in the source. -\layout Standard - -All the macros writing on the standard output start by flushing the standard - error. - At the end of the display those macros flush the standard output. -\layout Standard - -Two informations are systematically added in front of the information displayed: -\layout Itemize - -the name of the source file in which the macros is set; -\layout Itemize - -the line number of the source file at which the macro is set. -\layout Subsubsection - -Macros defined in debug and release modes -\layout Paragraph - -INFOS_COMPILATION -\layout Standard - -The C++ macro -\family typewriter -INFOS_COMPILATION -\family default - writes on the standard output informations about the compiling process: - -\layout Itemize - -the name of the compiler : -\family typewriter -g++, KCC, CC, pgCC -\family default -; -\layout Itemize - -the date and the time of the compiling processing process. -\layout Standard - -This macro -\family typewriter -INFOS_COMPILATION -\family default - does not have any argument. - Moreover, it is defined in both compiling mode : -\family typewriter -_DEBUG_ -\family default - and -\family typewriter -_RELEASE_ -\family default -. -\layout Standard - -Example : -\layout Verbatim - -#include "utilities.h" -\layout Verbatim - -int main(int argc , char **argv) -\layout Verbatim - -{ -\layout Verbatim - - INFOS_COMPILATION; -\layout Verbatim - - ... -\layout Verbatim - -} -\layout Paragraph - -INFOS(str) -\layout Standard - -In both compiling mode -\family typewriter -_DEBUG_ -\family default - and -\family typewriter -_RELEASE_ -\family default -, The C++ macro -\family typewriter -INFOS -\family default - writes on the standard output the string which has been passed in argument - by the user. -\layout Standard - -Example : -\layout Verbatim - -#include "utilities.h" -\layout Verbatim - -int main(int argc , char **argv) -\layout Verbatim - -{ -\layout Verbatim - - ... - -\layout Verbatim - - INFOS("NORMAL END OF THE PROCESS"); -\layout Verbatim - - return 0; -\layout Verbatim - -} -\layout Standard - -displays : -\layout Verbatim - -main.cxx [5] : NORMAL END OF THE PROCESS -\layout Subsubsection - -Macros defined only in debug mode -\layout Paragraph - -MESSAGE(str) -\layout Standard - -In -\family typewriter -_DEBUG_ -\family default - compiling mode only, the C++ macro -\family typewriter -MESSAGE -\family default - writes on the standard output the string which has been passed in argument - by the user. - In -\family typewriter -_RELEASE_ -\family default - compiling mode, this macro is blank. -\layout Standard - -Example : -\layout Verbatim - -#include "utilities.h" -\layout Verbatim - -#include -\layout Verbatim - -using namespace std; -\layout Verbatim - -int main(int argc , char **argv) -\layout Verbatim - -{ -\layout Verbatim - - ... - -\layout Verbatim - - const char *str = "Salome"; -\layout Verbatim - - MESSAGE(str); -\layout Verbatim - - ... - const string st; -\layout Verbatim - - st = "Aster"; -\layout Verbatim - - MESSAGE(c_str(st+" and CASTEM")); -\layout Verbatim - - return 0; -\layout Verbatim - -} -\layout Standard - -displays : -\layout Verbatim - -- Trace main.cxx [8] : Salome -\layout Verbatim - -- Trace main.cxx [12] : Aster and CASTEM -\layout Paragraph - -BEGIN_OF(func_name) -\layout Standard - -In -\family typewriter -_DEBUG_ -\family default - compiling mode, The C++ macro -\family typewriter -BEGIN_OF -\family default - appends the string -\family typewriter -"Begin of " -\family default - to the one passed in argument by the user and displays the result on the - standard output. - In -\family typewriter -_RELEASE_ -\family default - compiling mode, this macro is blank. -\layout Standard - -Example : -\layout Verbatim - -#include "utilities.h" -\layout Verbatim - -int main(int argc , char **argv) -\layout Verbatim - -{ -\layout Verbatim - - BEGIN_OF(argv[0]); -\layout Verbatim - - return 0; -\layout Verbatim - -} -\layout Standard - -displays : -\layout Verbatim - -- Trace main.cxx [3] : Begin of a.out -\layout Paragraph - -END_OF(func_name) -\layout Standard - -In -\family typewriter -_DEBUG_ -\family default - compiling mode, The C++ macro -\family typewriter -END_OF -\family default - appends the string -\family typewriter -"Normal end of " -\family default - to the one passed in argument by the user and displays the result on the - standard output. - In -\family typewriter -_RELEASE_ -\family default - compiling mode, this macro is blank. -\layout Standard - -Example : -\layout Verbatim - -#include "utilities.h" -\layout Verbatim - -int main(int argc , char **argv) -\layout Verbatim - -{ -\layout Verbatim - - END_OF(argv[0]); -\layout Verbatim - - return 0; -\layout Verbatim - -} -\layout Standard - -displays : -\layout Verbatim - -- Trace main.cxx [4] : Normal end of a.out -\layout Paragraph - -SCRUTE(var) -\layout Standard - -In -\family typewriter -_DEBUG_ -\family default - compiling mode, The C++ macro -\family typewriter -SCRUTE -\family default - displays its argument which is an application variable followed by the - value of the variable. - In -\family typewriter -_RELEASE_ -\family default - compiling mode, this macro is blank. -\layout Standard - -Example : -\layout Verbatim - -#include "utilities.h" -\layout Verbatim - -int main(int argc , char **argv) -\layout Verbatim - -{ -\layout Verbatim - - const int i=999; -\layout Verbatim - - if( i > 0 ) SCRUTE(i) ; i=i+1; -\layout Verbatim - - return 0; -\layout Verbatim - -} -\layout Standard - -displays : -\layout Verbatim - -- Trace main.cxx [5] : i=999 -\layout Paragraph - -ASSERT(condition) -\layout Standard - -In -\family typewriter -_DEBUG_ -\family default - compiling mode only, The C++ macro -\family typewriter -ASSERT -\family default - checks the expression passed in argument to be not NULL. - If it is NULL the process is stopped and the condition is written on the - standard output. - In -\family typewriter -_RELEASE_ -\family default - compiling mode, this macro is blank. - N.B. - : if -\family typewriter -ASSERT -\family default - is already defined, this macro is ignored. -\layout Standard - -Example : -\layout Verbatim - -#include "utilities.h" -\layout Verbatim - -... - -\layout Verbatim - -const char *ptrS = fonc(); -\layout Verbatim - -ASSERT(ptrS!=NULL); -\layout Verbatim - -cout << strlen(ptrS); -\layout Verbatim - -float table[10]; -\layout Verbatim - -int k; -\layout Verbatim - -... - -\layout Verbatim - -ASSERT(k<10); -\layout Verbatim - -cout << table[k]; -\layout Section - -Exceptions -\layout Subsection - -C++ exceptions: class SALOME_Exception -\layout Subsubsection - -definition -\layout Standard - -The class -\family typewriter -SALOME_Exception -\family default - provides a generic method to send a message, with optional source file - name and line number. - This class is intended to serve as a base class for all kinds of exceptions - SALOME code. - All the exceptions derived from -\family typewriter -SALOME_Exception -\family default - could be handled in a single catch, in which the message associated to - the exception is displayed, or sent to a log file. -\layout Standard - -The class -\family typewriter -SALOME_Exception -\family default - inherits its behavior from the STL class exception. -\layout Subsubsection - -usage -\layout Standard - -The header -\family typewriter -SALOME/src/utils/utils_SALOME_Exception.hxx -\family default - must be included in the C++ source, when raised or trapped: -\layout Standard - - -\family typewriter -#include -\family default -" -\family typewriter -utils_SALOME_Exception.hxx -\family default -" -\layout Standard - -The -\family typewriter -SALOME_Exception -\family default - constructor is: -\layout Verbatim - -SALOME_Exception( const char *text, -\layout Verbatim - - const char *fileName=0, -\layout Verbatim - - const unsigned int lineNumber=0 ); -\layout Standard - -The exception is raised like this: -\layout Verbatim - -throw SALOME_Exception("my pertinent message"); -\layout Standard - -or like this: -\layout Verbatim - -throw SALOME_Exception(LOCALIZED("my pertinent message")); -\layout Standard - -where LOCALIZED is a macro provided with -\family typewriter -utils_SALOME_Exception.hxx -\family default - which gives file name and line number. -\layout Standard - -The exception is handled like this: -\layout Verbatim - -try -\layout Verbatim - - { -\layout Verbatim - - ... -\layout Verbatim - - } -\layout Verbatim - -catch (const SALOME_Exception &ex) -\layout Verbatim - - { -\layout Verbatim - - cerr << ex.what() <::Instance() ; -\layout Verbatim - -assert(ptrPoint!=NULL) ; -\layout Standard - -No need to delete ptrPoint. - Deletion is achieved automatically at exit. - If the user tries to create more than one singleton by using the class - method -\family typewriter -SINGLETON_::Instance() -\family default -, the pointer is returned with the same value even if this is done in different - functions (threads ?). -\layout Verbatim - -POINT *p1=SINGLETON_::Instance() ; -\layout Verbatim - -... - -\layout Verbatim - -POINT *p2=SINGLETON_::Instance() ; -\layout Verbatim - -assert(p1==p2) -\layout Subsubsection - -Design description -\layout Standard - -Here are the principles features of the singleton design : -\layout Itemize - -the user creates an object of class -\family typewriter -TYPE -\family default - by using the class method -\family typewriter -SINGLETON_::Instance() -\family default - which returns a pointer to the single object ; -\layout Itemize - -to create an object, -\family typewriter -SINGLETON_::Instance() -\family default - uses the default constructor of class -\family typewriter -TYPE -\family default - ; -\layout Itemize - -at the same time, this class method creates a destructor object which is - added to the generic list of destructor objects to be executed at the end - of the application ( -\family typewriter -atexit -\family default -) ; -\layout Itemize - -at the end of the application process all the deletions are performed by - the -\family typewriter -Nettoyage() -\family default - C\SpecialChar ~ -function which executes the destruction objects end then deletes the destructi -ons objects themselves ; -\layout Itemize - -the -\family typewriter -Nettoyage() -\family default - C \SpecialChar ~ -function using atexit() C \SpecialChar ~ -function is embedded in a static single object - -\family typewriter -ATEXIT_() -\family default -. -\the_end diff --git a/doc/html/INPUT/HTML/Logger.html b/doc/html/INPUT/HTML/Logger.html deleted file mode 100644 index 1a73901c0..000000000 --- a/doc/html/INPUT/HTML/Logger.html +++ /dev/null @@ -1,18 +0,0 @@ - - - - - - - - - - - - - - - - -
interface Logger
IDL file
Python
void putMessage ( in string message )
putMessage ( message )
void ping ( )
ping ( )

-
diff --git a/doc/html/INPUT/HTML/SALOMEDS.html b/doc/html/INPUT/HTML/SALOMEDS.html deleted file mode 100644 index 52291faa3..000000000 --- a/doc/html/INPUT/HTML/SALOMEDS.html +++ /dev/null @@ -1,602 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
interface Study
IDL file
Python
PersistentReference GetPersistentReference ( )
return_value = GetPersistentReference ( )
SalomeReference GetTransientReference ( )
return_value = GetTransientReference ( )
boolean IsEmpty ( )
return_value = IsEmpty ( )
SComponent FindComponent ( in string aComponentName )
return_value = FindComponent ( aComponentName )
SComponent FindComponentID ( in ID aComponentID )
return_value = FindComponentID ( aComponentID )
SObject FindObject ( in string anObjectName )
return_value = FindObject ( anObjectName )
SObject FindObjectID ( in ID aObjectID )
return_value = FindObjectID ( aObjectID )
SObject FindObjectIOR ( in ID aObjectIOR )
return_value = FindObjectIOR ( aObjectIOR )
ListOfSObject FindObjectByName ( in string anObjectName, in string aComponentName )
return_value = FindObjectByName ( anObjectName, aComponentName )
SObject FindObjectByPath ( in string thePath )
return_value = FindObjectByPath ( thePath )
string GetObjectPath ( in Object theObject )
return_value = GetObjectPath ( theObject )
void SetContext ( in string thePath )
SetContext ( thePath )
string GetContext ( )
return_value = GetContext ( )
ListOfStrings GetObjectNames ( in string theContext )
return_value = GetObjectNames ( theContext )
ListOfStrings GetDirectoryNames ( in string theContext )
return_value = GetDirectoryNames ( theContext )
ListOfStrings GetFileNames ( in string theContext )
return_value = GetFileNames ( theContext )
ListOfStrings GetComponentNames ( in string theContext )
return_value = GetComponentNames ( theContext )
ChildIterator NewChildIterator ( in SObject aSO )
return_value = NewChildIterator ( aSO )
SComponentIterator NewComponentIterator ( )
return_value = NewComponentIterator ( )
StudyBuilder NewBuilder ( )
return_value = NewBuilder ( )
void UpdateIORLabelMap ( in string anIOR, in string anEntry )
UpdateIORLabelMap ( anIOR, anEntry )
AttributeStudyProperties GetProperties ( )
return_value = GetProperties ( )
boolean IsModified ( )
return_value = IsModified ( )
ListOfSObject FindDependances ( in SObject anObject )
return_value = FindDependances ( anObject )
string GetLastModificationDate ( )
return_value = GetLastModificationDate ( )
ListOfDates GetModificationsDate ( )
return_value = GetModificationsDate ( )
string ConvertObjectToIOR ( in Object theObject )
return_value = ConvertObjectToIOR ( theObject )
Object ConvertIORToObject ( in string theIOR )
return_value = ConvertIORToObject ( theIOR )
UseCaseBuilder GetUseCaseBuilder ( )
return_value = GetUseCaseBuilder ( )
void Close ( )
Close ( )
void EnableUseCaseAutoFilling ( in boolean isEnabled )
EnableUseCaseAutoFilling ( isEnabled )

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
interface StudyBuilder
IDL file
Python
SComponent NewComponent ( in string ComponentDataType )
return_value = NewComponent ( ComponentDataType )
void DefineComponentInstance ( in SComponent aComponent, in Object ComponentIOR )
DefineComponentInstance ( aComponent, ComponentIOR )
void RemoveComponent ( in SComponent aComponent )
RemoveComponent ( aComponent )
SObject NewObject ( in SObject theFatherObject )
return_value = NewObject ( theFatherObject )
SObject NewObjectToTag ( in SObject theFatherObject, in long atag )
return_value = NewObjectToTag ( theFatherObject, atag )
void RemoveObject ( in SObject anObject )
RemoveObject ( anObject )
void RemoveObjectWithChildren ( in SObject anObject )
RemoveObjectWithChildren ( anObject )
void LoadWith ( in SComponent sco, in Driver Engine )
LoadWith ( sco, Engine )
void Load ( in SObject sco )
Load ( sco )
GenericAttribute FindOrCreateAttribute ( in SObject anObject, in string aTypeOfAttribute )
return_value = FindOrCreateAttribute ( anObject, aTypeOfAttribute )
boolean FindAttribute ( in SObject anObject, out GenericAttribute anAttribute, in string aTypeOfAttribute )
[ return_value, anAttribute ] = FindAttribute ( anObject, aTypeOfAttribute )
void RemoveAttribute ( in SObject anObject, in string aTypeOfAttribute )
RemoveAttribute ( anObject, aTypeOfAttribute )
void Addreference ( in SObject anObject, in SObject theReferencedObject )
Addreference ( anObject, theReferencedObject )
void AddDirectory ( in string theName )
AddDirectory ( theName )
void SetGUID ( in SObject anObject, in string theGUID )
SetGUID ( anObject, theGUID )
boolean IsGUID ( in SObject anObject, in string theGUID )
return_value = IsGUID ( anObject, theGUID )
void NewCommand ( )
NewCommand ( )
void CommitCommand ( )
CommitCommand ( )
boolean HasOpenCommand ( )
return_value = HasOpenCommand ( )
void AbortCommand ( )
AbortCommand ( )
void Undo ( )
Undo ( )
void Redo ( )
Redo ( )
boolean GetAvailableUndos ( )
return_value = GetAvailableUndos ( )
boolean GetAvailableRedos ( )
return_value = GetAvailableRedos ( )
Callback SetOnAddSObject ( in Callback theCallback )
return_value = SetOnAddSObject ( theCallback )
Callback SetOnRemoveSObject ( in Callback theCallback )
return_value = SetOnRemoveSObject ( theCallback )

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
interface StudyManager
IDL file
Python
void ping ( )
ping ( )
Study NewStudy ( in string study_name )
return_value = NewStudy ( study_name )
Study Open ( in URL aStudyUrl )
return_value = Open ( aStudyUrl )
void Close ( in Study aStudy )
Close ( aStudy )
void Save ( in Study aStudy, in boolean theMultiFile )
Save ( aStudy, theMultiFile )
void SaveASCII ( in Study aStudy, in boolean theMultiFile )
SaveASCII ( aStudy, theMultiFile )
void SaveAs ( in URL aUrl, in Study aStudy, in boolean theMultiFile )
SaveAs ( aUrl, aStudy, theMultiFile )
void SaveAsASCII ( in URL aUrl, in Study aStudy, in boolean theMultiFile )
SaveAsASCII ( aUrl, aStudy, theMultiFile )
ListOfOpenStudies GetOpenStudies ( )
return_value = GetOpenStudies ( )
Study GetStudyByName ( in string aStudyName )
return_value = GetStudyByName ( aStudyName )
Study GetStudyByID ( in short aStudyID )
return_value = GetStudyByID ( aStudyID )
boolean CanCopy ( in SObject theObject )
return_value = CanCopy ( theObject )
boolean Copy ( in SObject theObject )
return_value = Copy ( theObject )
boolean CanPaste ( in SObject theObject )
return_value = CanPaste ( theObject )
SObject Paste ( in SObject theObject )
return_value = Paste ( theObject )

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
interface SObject
IDL file
Python
ID GetID ( )
return_value = GetID ( )
SComponent GetFatherComponent ( )
return_value = GetFatherComponent ( )
SObject GetFather ( )
return_value = GetFather ( )
short Tag ( )
return_value = Tag ( )
boolean FindSubObject ( in long atag, out SObject obj )
[ return_value, obj ] = FindSubObject ( atag )
boolean FindAttribute ( out GenericAttribute anAttribute, in string aTypeOfAttribute )
[ return_value, anAttribute ] = FindAttribute ( aTypeOfAttribute )
boolean ReferencedObject ( out SObject obj )
[ return_value, obj ] = ReferencedObject ( )
ListOfAttributes GetAllAttributes ( )
return_value = GetAllAttributes ( )
Study GetStudy ( )
return_value = GetStudy ( )

- - - - - - - - - - - -
interface GenericAttribute
IDL file
Python
void CheckLocked ( )
CheckLocked ( )

- - - - - - - - - - - - - - - -
interface SComponent
IDL file
Python
string ComponentDataType ( )
return_value = ComponentDataType ( )
boolean ComponentIOR ( out ID theID )
[ return_value, theID ] = ComponentIOR ( )

- - - - - - - - - - - - - - - - - - - - - - - -
interface SComponentIterator
IDL file
Python
void Init ( )
Init ( )
boolean More ( )
return_value = More ( )
void Next ( )
Next ( )
SComponent Value ( )
return_value = Value ( )

- - - - - - - - - - - - - - - - - - - - - - - - - - - -
interface ChildIterator
IDL file
Python
void Init ( )
Init ( )
void InitEx ( in boolean allLevels )
InitEx ( allLevels )
boolean More ( )
return_value = More ( )
void Next ( )
Next ( )
SObject Value ( )
return_value = Value ( )

- - - - - - - - - - - - - - - - - - - - - - - -
interface UseCaseIterator
IDL file
Python
void Init ( in boolean allLevels )
Init ( allLevels )
boolean More ( )
return_value = More ( )
void Next ( )
Next ( )
SObject Value ( )
return_value = Value ( )

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
interface UseCaseBuilder
IDL file
Python
boolean Append ( in SObject theObject )
return_value = Append ( theObject )
boolean Remove ( in SObject theObject )
return_value = Remove ( theObject )
boolean AppendTo ( in SObject theFather, in SObject theObject )
return_value = AppendTo ( theFather, theObject )
boolean InsertBefore ( in SObject theFirst, in SObject theNext )
return_value = InsertBefore ( theFirst, theNext )
boolean SetCurrentObject ( in SObject theObject )
return_value = SetCurrentObject ( theObject )
boolean SetRootCurrent ( )
return_value = SetRootCurrent ( )
boolean HasChildren ( in SObject theObject )
return_value = HasChildren ( theObject )
boolean SetName ( in string theName )
return_value = SetName ( theName )
string GetName ( )
return_value = GetName ( )
boolean IsUseCase ( in SObject theObject )
return_value = IsUseCase ( theObject )
SObject GetCurrentObject ( )
return_value = GetCurrentObject ( )
SObject AddUseCase ( in string theName )
return_value = AddUseCase ( theName )
UseCaseIterator GetUseCaseIterator ( in SObject theObject )
return_value = GetUseCaseIterator ( theObject )

- - - - - - - - - - - - - - - -
interface Callback
IDL file
Python
void OnAddSObject ( in SObject theObject )
OnAddSObject ( theObject )
void OnRemoveSObject ( in SObject theObject )
OnRemoveSObject ( theObject )

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
interface Driver
IDL file
Python
TMPFile Save ( in SComponent theComponent, in string theURL, in boolean isMultiFile )
return_value = Save ( theComponent, theURL, isMultiFile )
TMPFile SaveASCII ( in SComponent theComponent, in string theURL, in boolean isMultiFile )
return_value = SaveASCII ( theComponent, theURL, isMultiFile )
boolean Load ( in SComponent theComponent, in TMPFile theStream, in string theURL, in boolean isMultiFile )
return_value = Load ( theComponent, theStream, theURL, isMultiFile )
boolean LoadASCII ( in SComponent theComponent, in TMPFile theStream, in string theURL, in boolean isMultiFile )
return_value = LoadASCII ( theComponent, theStream, theURL, isMultiFile )
void Close ( in SComponent aSComponent )
Close ( aSComponent )
string ComponentDataType ( )
return_value = ComponentDataType ( )
string IORToLocalPersistentID ( in SObject theSObject, in string IORString, in boolean isMultiFile, in boolean isASCII )
return_value = IORToLocalPersistentID ( theSObject, IORString, isMultiFile, isASCII )
string LocalPersistentIDToIOR ( in SObject theSObject, in string aLocalPersistentID, in boolean isMultiFile, in boolean isASCII )
return_value = LocalPersistentIDToIOR ( theSObject, aLocalPersistentID, isMultiFile, isASCII )
boolean CanPublishInStudy ( in Object theIOR )
return_value = CanPublishInStudy ( theIOR )
SObject PublishInStudy ( in Study theStudy, in SObject theSObject, in Object theObject, in string theName )
return_value = PublishInStudy ( theStudy, theSObject, theObject, theName )
boolean CanCopy ( in SObject theObject )
return_value = CanCopy ( theObject )
TMPFile CopyFrom ( in SObject theObject, out long theObjectID )
[ return_value, theObjectID ] = CopyFrom ( theObject )
boolean CanPaste ( in string theComponentName, in long theObjectID )
return_value = CanPaste ( theComponentName, theObjectID )
SObject PasteInto ( in TMPFile theStream, in long theObjectID, in SObject theObject )
return_value = PasteInto ( theStream, theObjectID, theObject )

-
diff --git a/doc/html/INPUT/HTML/SALOMEDS_Attributes.html b/doc/html/INPUT/HTML/SALOMEDS_Attributes.html deleted file mode 100644 index 7dbf29d3f..000000000 --- a/doc/html/INPUT/HTML/SALOMEDS_Attributes.html +++ /dev/null @@ -1,862 +0,0 @@ - - - - - - - - - - - - - - - - -
interface AttributeReal
IDL file
Python
double Value ( )
return_value = Value ( )
void SetValue ( in double value )
SetValue ( value )

- - - - - - - - - - - - - - - -
interface AttributeInteger
IDL file
Python
long Value ( )
return_value = Value ( )
void SetValue ( in long value )
SetValue ( value )

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
interface AttributeSequenceOfReal
IDL file
Python
void Assign ( in DoubleSeq other )
Assign ( other )
DoubleSeq CorbaSequence ( )
return_value = CorbaSequence ( )
void Add ( in double value )
Add ( value )
void Remove ( in long index )
Remove ( index )
void ChangeValue ( in long index, in double value )
ChangeValue ( index, value )
double Value ( in short index )
return_value = Value ( index )
long Length ( )
return_value = Length ( )

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
interface AttributeSequenceOfInteger
IDL file
Python
void Assign ( in LongSeq other )
Assign ( other )
LongSeq CorbaSequence ( )
return_value = CorbaSequence ( )
void Add ( in long value )
Add ( value )
void Remove ( in long index )
Remove ( index )
void ChangeValue ( in long index, in long value )
ChangeValue ( index, value )
long Value ( in short index )
return_value = Value ( index )
long Length ( )
return_value = Length ( )

- - - - - - - - - - - - - - - -
interface AttributeName
IDL file
Python
string Value ( )
return_value = Value ( )
void SetValue ( in string value )
SetValue ( value )

- - - - - - - - - - - - - - - -
interface AttributeComment
IDL file
Python
string Value ( )
return_value = Value ( )
void SetValue ( in string value )
SetValue ( value )

- - - - - - - - - - - - - - - -
interface AttributeIOR
IDL file
Python
string Value ( )
return_value = Value ( )
void SetValue ( in string value )
SetValue ( value )

- - - - - - - - - - - - - - - -
interface AttributePersistentRef
IDL file
Python
string Value ( )
return_value = Value ( )
void SetValue ( in string value )
SetValue ( value )

- - - - - - - - - - - - - - - -
interface AttributeDrawable
IDL file
Python
boolean IsDrawable ( )
return_value = IsDrawable ( )
void SetDrawable ( in boolean value )
SetDrawable ( value )

- - - - - - - - - - - - - - - -
interface AttributeSelectable
IDL file
Python
boolean IsSelectable ( )
return_value = IsSelectable ( )
void SetSelectable ( in boolean value )
SetSelectable ( value )

- - - - - - - - - - - - - - - -
interface AttributeExpandable
IDL file
Python
boolean IsExpandable ( )
return_value = IsExpandable ( )
void SetExpandable ( in boolean value )
SetExpandable ( value )

- - - - - - - - - - - - - - - -
interface AttributeOpened
IDL file
Python
boolean IsOpened ( )
return_value = IsOpened ( )
void SetOpened ( in boolean value )
SetOpened ( value )

- - - - - - - - - - - - - - - -
interface AttributeTextColor
IDL file
Python
Color TextColor ( )
return_value = TextColor ( )
void SetTextColor ( in Color value )
SetTextColor ( value )

- - - - - - - - - - - - - - - -
interface AttributeTextHighlightColor
IDL file
Python
Color TextHighlightColor ( )
return_value = TextHighlightColor ( )
void SetTextHighlightColor ( in Color value )
SetTextHighlightColor ( value )

- - - - - - - - - - - - - - - - - - - -
interface AttributePixMap
IDL file
Python
boolean HasPixMap ( )
return_value = HasPixMap ( )
string GetPixMap ( )
return_value = GetPixMap ( )
void SetPixMap ( in string value )
SetPixMap ( value )

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
interface AttributeTreeNode
IDL file
Python
void SetFather ( in AttributeTreeNode value )
SetFather ( value )
boolean HasFather ( )
return_value = HasFather ( )
AttributeTreeNode GetFather ( )
return_value = GetFather ( )
void SetPrevious ( in AttributeTreeNode value )
SetPrevious ( value )
boolean HasPrevious ( )
return_value = HasPrevious ( )
AttributeTreeNode GetPrevious ( )
return_value = GetPrevious ( )
void SetNext ( in AttributeTreeNode value )
SetNext ( value )
boolean HasNext ( )
return_value = HasNext ( )
AttributeTreeNode GetNext ( )
return_value = GetNext ( )
void SetFirst ( in AttributeTreeNode value )
SetFirst ( value )
boolean HasFirst ( )
return_value = HasFirst ( )
AttributeTreeNode GetFirst ( )
return_value = GetFirst ( )
void SetTreeID ( in string value )
SetTreeID ( value )
string GetTreeID ( )
return_value = GetTreeID ( )
void Append ( in AttributeTreeNode value )
Append ( value )
void Prepend ( in AttributeTreeNode value )
Prepend ( value )
void InsertBefore ( in AttributeTreeNode value )
InsertBefore ( value )
void InsertAfter ( in AttributeTreeNode value )
InsertAfter ( value )
void Remove ( )
Remove ( )
long Depth ( )
return_value = Depth ( )
boolean IsRoot ( )
return_value = IsRoot ( )
boolean IsDescendant ( in AttributeTreeNode value )
return_value = IsDescendant ( value )
boolean IsFather ( in AttributeTreeNode value )
return_value = IsFather ( value )
boolean IsChild ( in AttributeTreeNode value )
return_value = IsChild ( value )
string Label ( )
return_value = Label ( )

- - - - - - - - - - - - - - - -
interface AttributeLocalID
IDL file
Python
long Value ( )
return_value = Value ( )
void SetValue ( in long value )
SetValue ( value )

- - - - - - - - - - - - - - - -
interface AttributeUserID
IDL file
Python
string Value ( )
return_value = Value ( )
void SetValue ( in string value )
SetValue ( value )

- - - - - - - - - - - - - - - - - - - -
interface AttributeTarget
IDL file
Python
void Add ( in SObject anObject )
Add ( anObject )
ListOfSObject Get ( )
return_value = Get ( )
void Remove ( in SObject anObject )
Remove ( anObject )

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
interface AttributeTableOfInteger
IDL file
Python
void SetTitle ( in string theTitle )
SetTitle ( theTitle )
string GetTitle ( )
return_value = GetTitle ( )
void SetRowTitle ( in long theIndex, in string theTitle )
SetRowTitle ( theIndex, theTitle )
void SetRowTitles ( in StringSeq theTitles )
SetRowTitles ( theTitles )
StringSeq GetRowTitles ( )
return_value = GetRowTitles ( )
void SetColumnTitle ( in long theIndex, in string theTitle )
SetColumnTitle ( theIndex, theTitle )
void SetColumnTitles ( in StringSeq theTitles )
SetColumnTitles ( theTitles )
StringSeq GetColumnTitles ( )
return_value = GetColumnTitles ( )
void SetRowUnit ( in long theIndex, in string theUnit )
SetRowUnit ( theIndex, theUnit )
void SetRowUnits ( in StringSeq theUnits )
SetRowUnits ( theUnits )
StringSeq GetRowUnits ( )
return_value = GetRowUnits ( )
long GetNbRows ( )
return_value = GetNbRows ( )
long GetNbColumns ( )
return_value = GetNbColumns ( )
void AddRow ( in LongSeq theData )
AddRow ( theData )
void SetRow ( in long theRow, in LongSeq theData )
SetRow ( theRow, theData )
LongSeq GetRow ( in long theRow )
return_value = GetRow ( theRow )
void AddColumn ( in LongSeq theData )
AddColumn ( theData )
void SetColumn ( in long theColumn, in LongSeq theData )
SetColumn ( theColumn, theData )
LongSeq GetColumn ( in long theColumn )
return_value = GetColumn ( theColumn )
void PutValue ( in long theValue, in long theRow, in long theColumn )
PutValue ( theValue, theRow, theColumn )
boolean HasValue ( in long theRow, in long theColumn )
return_value = HasValue ( theRow, theColumn )
long GetValue ( in long theRow, in long theColumn )
return_value = GetValue ( theRow, theColumn )
void SetNbColumns ( in long theNbColumns )
SetNbColumns ( theNbColumns )
LongSeq GetRowSetIndices ( in long theRow )
return_value = GetRowSetIndices ( theRow )
boolean ReadFromFile ( in TMPFile theStream )
return_value = ReadFromFile ( theStream )
TMPFile SaveToFile ( )
return_value = SaveToFile ( )

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
interface AttributeTableOfReal
IDL file
Python
void SetTitle ( in string theTitle )
SetTitle ( theTitle )
string GetTitle ( )
return_value = GetTitle ( )
void SetRowTitle ( in long theIndex, in string theTitle )
SetRowTitle ( theIndex, theTitle )
void SetRowTitles ( in StringSeq theTitles )
SetRowTitles ( theTitles )
StringSeq GetRowTitles ( )
return_value = GetRowTitles ( )
void SetColumnTitle ( in long theIndex, in string theTitle )
SetColumnTitle ( theIndex, theTitle )
void SetColumnTitles ( in StringSeq theTitles )
SetColumnTitles ( theTitles )
StringSeq GetColumnTitles ( )
return_value = GetColumnTitles ( )
void SetRowUnit ( in long theIndex, in string theUnit )
SetRowUnit ( theIndex, theUnit )
void SetRowUnits ( in StringSeq theUnits )
SetRowUnits ( theUnits )
StringSeq GetRowUnits ( )
return_value = GetRowUnits ( )
long GetNbRows ( )
return_value = GetNbRows ( )
long GetNbColumns ( )
return_value = GetNbColumns ( )
void AddRow ( in DoubleSeq theData )
AddRow ( theData )
void SetRow ( in long theRow, in DoubleSeq theData )
SetRow ( theRow, theData )
DoubleSeq GetRow ( in long theRow )
return_value = GetRow ( theRow )
void AddColumn ( in DoubleSeq theData )
AddColumn ( theData )
void SetColumn ( in long theColumn, in DoubleSeq theData )
SetColumn ( theColumn, theData )
DoubleSeq GetColumn ( in long theColumn )
return_value = GetColumn ( theColumn )
void PutValue ( in double theValue, in long theRow, in long theColumn )
PutValue ( theValue, theRow, theColumn )
boolean HasValue ( in long theRow, in long theColumn )
return_value = HasValue ( theRow, theColumn )
double GetValue ( in long theRow, in long theColumn )
return_value = GetValue ( theRow, theColumn )
void SetNbColumns ( in long theNbColumns )
SetNbColumns ( theNbColumns )
LongSeq GetRowSetIndices ( in long theRow )
return_value = GetRowSetIndices ( theRow )
boolean ReadFromFile ( in TMPFile theStream )
return_value = ReadFromFile ( theStream )
TMPFile SaveToFile ( )
return_value = SaveToFile ( )

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
interface AttributeTableOfString
IDL file
Python
void SetTitle ( in string theTitle )
SetTitle ( theTitle )
string GetTitle ( )
return_value = GetTitle ( )
void SetRowTitle ( in long theIndex, in string theTitle )
SetRowTitle ( theIndex, theTitle )
void SetRowTitles ( in StringSeq theTitles )
SetRowTitles ( theTitles )
StringSeq GetRowTitles ( )
return_value = GetRowTitles ( )
void SetColumnTitle ( in long theIndex, in string theTitle )
SetColumnTitle ( theIndex, theTitle )
void SetColumnTitles ( in StringSeq theTitles )
SetColumnTitles ( theTitles )
StringSeq GetColumnTitles ( )
return_value = GetColumnTitles ( )
void SetRowUnit ( in long theIndex, in string theUnit )
SetRowUnit ( theIndex, theUnit )
void SetRowUnits ( in StringSeq theUnits )
SetRowUnits ( theUnits )
StringSeq GetRowUnits ( )
return_value = GetRowUnits ( )
long GetNbRows ( )
return_value = GetNbRows ( )
long GetNbColumns ( )
return_value = GetNbColumns ( )
void AddRow ( in StringSeq theData )
AddRow ( theData )
void SetRow ( in long theRow, in StringSeq theData )
SetRow ( theRow, theData )
StringSeq GetRow ( in long theRow )
return_value = GetRow ( theRow )
void AddColumn ( in StringSeq theData )
AddColumn ( theData )
void SetColumn ( in long theColumn, in StringSeq theData )
SetColumn ( theColumn, theData )
StringSeq GetColumn ( in long theColumn )
return_value = GetColumn ( theColumn )
void PutValue ( in string theValue, in long theRow, in long theColumn )
PutValue ( theValue, theRow, theColumn )
boolean HasValue ( in long theRow, in long theColumn )
return_value = HasValue ( theRow, theColumn )
string GetValue ( in long theRow, in long theColumn )
return_value = GetValue ( theRow, theColumn )
void SetNbColumns ( in long theNbColumns )
SetNbColumns ( theNbColumns )
LongSeq GetRowSetIndices ( in long theRow )
return_value = GetRowSetIndices ( theRow )
boolean ReadFromFile ( in TMPFile theStream )
return_value = ReadFromFile ( theStream )
TMPFile SaveToFile ( )
return_value = SaveToFile ( )

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
interface AttributeStudyProperties
IDL file
Python
void SetUserName ( in string theName )
SetUserName ( theName )
string GetUserName ( )
return_value = GetUserName ( )
void SetCreationDate ( in long theMinute, in long theHour, in long theDay, in long theMonth, in long theYear )
SetCreationDate ( theMinute, theHour, theDay, theMonth, theYear )
boolean GetCreationDate ( out long theMinute, out long theHour, out long theDay, out long theMonth, out long theYear )
[ return_value, theMinute, theHour, theDay, theMonth, theYear ] = GetCreationDate ( )
void SetCreationMode ( in string theMode )
SetCreationMode ( theMode )
string GetCreationMode ( )
return_value = GetCreationMode ( )
void SetModified ( in long theModified )
SetModified ( theModified )
boolean IsModified ( )
return_value = IsModified ( )
long GetModified ( )
return_value = GetModified ( )
void SetLocked ( in boolean theLocked )
SetLocked ( theLocked )
boolean IsLocked ( )
return_value = IsLocked ( )
void SetModification ( in string theName, in long theMinute, in long theHour, in long theDay, in long theMonth, in long theYear )
SetModification ( theName, theMinute, theHour, theDay, theMonth, theYear )
void GetModificationsList ( out StringSeq theNames, out LongSeq theMinutes, out LongSeq theHours, out LongSeq theDays, out LongSeq theMonths, out LongSeq theYears, in boolean theWithCreator )
[ theNames, theMinutes, theHours, theDays, theMonths, theYears ] = GetModificationsList ( theWithCreator )

- - - - - - - - - - - - - - - - - - - -
interface AttributePythonObject
IDL file
Python
void SetObject ( in string theSequence, in boolean IsScript )
SetObject ( theSequence, IsScript )
string GetObject ( )
return_value = GetObject ( )
boolean IsScript ( )
return_value = IsScript ( )

-
diff --git a/doc/html/INPUT/HTML/SALOME_Component.html b/doc/html/INPUT/HTML/SALOME_Component.html deleted file mode 100644 index 045775117..000000000 --- a/doc/html/INPUT/HTML/SALOME_Component.html +++ /dev/null @@ -1,78 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
interface Container
IDL file
Python
Container start_impl ( in string ContainerName )
return_value = start_impl ( ContainerName )
Component load_impl ( in string nameToRegister, in string componentName )
return_value = load_impl ( nameToRegister, componentName )
void remove_impl ( in Component component_i )
remove_impl ( component_i )
void finalize_removal ( )
finalize_removal ( )
void ping ( )
ping ( )
boolean Kill_impl ( )
return_value = Kill_impl ( )

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
interface Component
IDL file
Python
void ping ( )
ping ( )
void destroy ( )
destroy ( )
Container GetContainerRef ( )
return_value = GetContainerRef ( )
void Names ( in string aGraphName, in string aNodeName )
Names ( aGraphName, aNodeName )
boolean Kill_impl ( )
return_value = Kill_impl ( )
boolean Stop_impl ( )
return_value = Stop_impl ( )
boolean Suspend_impl ( )
return_value = Suspend_impl ( )
boolean Resume_impl ( )
return_value = Resume_impl ( )
long CpuUsed_impl ( )
return_value = CpuUsed_impl ( )

-
diff --git a/doc/html/INPUT/HTML/SALOME_DataTypeCatalog.html b/doc/html/INPUT/HTML/SALOME_DataTypeCatalog.html deleted file mode 100644 index c73173ffd..000000000 --- a/doc/html/INPUT/HTML/SALOME_DataTypeCatalog.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
interface DataCatalog
IDL file
Python
ListOfDataTypeName GetDataTypeList ( )
return_value = GetDataTypeList ( )
boolean isDerivedFrom ( in string type_in, in string type_out )
return_value = isDerivedFrom ( type_in, type_out )
string GetDataInterfaceRead ( in string type )
return_value = GetDataInterfaceRead ( type )
string GetDataInterfaceWrite ( in string type )
return_value = GetDataInterfaceWrite ( type )
ListOfDataTypeName GetDataTypeParents ( in string type )
return_value = GetDataTypeParents ( type )

-
diff --git a/doc/html/INPUT/HTML/SALOME_Exception.html b/doc/html/INPUT/HTML/SALOME_Exception.html deleted file mode 100644 index 37c3107c9..000000000 --- a/doc/html/INPUT/HTML/SALOME_Exception.html +++ /dev/null @@ -1,2 +0,0 @@ - - diff --git a/doc/html/INPUT/HTML/SALOME_ModuleCatalog.html b/doc/html/INPUT/HTML/SALOME_ModuleCatalog.html deleted file mode 100644 index 009c6308d..000000000 --- a/doc/html/INPUT/HTML/SALOME_ModuleCatalog.html +++ /dev/null @@ -1,70 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
interface Acomponent
IDL file
Python
ListOfInterfaces GetInterfaceList ( )
return_value = GetInterfaceList ( )
DefinitionInterface GetInterface ( in string interfacename )
return_value = GetInterface ( interfacename )
ListOfServices GetServiceList ( in string interfacename )
return_value = GetServiceList ( interfacename )
Service GetService ( in string interfacename, in string servicename )
return_value = GetService ( interfacename, servicename )
Service GetDefaultService ( in string interfacename )
return_value = GetDefaultService ( interfacename )
string GetPathPrefix ( in string machinename )
return_value = GetPathPrefix ( machinename )

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
interface ModuleCatalog
IDL file
Python
void ping ( )
ping ( )
ListOfComputers GetComputerList ( )
return_value = GetComputerList ( )
string GetPathPrefix ( in string machinename )
return_value = GetPathPrefix ( machinename )
ListOfComponents GetComponentList ( )
return_value = GetComponentList ( )
ListOfIAPP_Affich GetComponentIconeList ( )
return_value = GetComponentIconeList ( )
ListOfComponents GetTypedComponentList ( in ComponentType component_type )
return_value = GetTypedComponentList ( component_type )
Acomponent GetComponent ( in string componentname )
return_value = GetComponent ( componentname )

-
diff --git a/doc/html/INPUT/HTML/SALOME_Registry.html b/doc/html/INPUT/HTML/SALOME_Registry.html deleted file mode 100644 index fd319e119..000000000 --- a/doc/html/INPUT/HTML/SALOME_Registry.html +++ /dev/null @@ -1,42 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
interface Components
IDL file
Python
void ping ( )
ping ( )
unsigned long add ( in Infos lesInfos )
return_value = add ( lesInfos )
void remove ( in unsigned long id )
remove ( id )
unsigned long size ( )
return_value = size ( )
AllInfos getall ( )
return_value = getall ( )
AllInfos history ( )
return_value = history ( )
void end ( )
end ( )
void hello ( in unsigned long id )
hello ( id )

-
diff --git a/doc/html/INPUT/HTML/SALOME_RessourcesCatalog.html b/doc/html/INPUT/HTML/SALOME_RessourcesCatalog.html deleted file mode 100644 index 787a6283e..000000000 --- a/doc/html/INPUT/HTML/SALOME_RessourcesCatalog.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - - - - - - - - - - - - - - -
interface RessourcesCatalog
IDL file
Python
ListOfComputer GetComputerList ( )
return_value = GetComputerList ( )
ListOfContainerType GetContainerTypeList ( in string computer )
return_value = GetContainerTypeList ( computer )
computer_info GetComputerInfo ( in string computer )
return_value = GetComputerInfo ( computer )

-
diff --git a/doc/html/INPUT/HTML/SALOME_Session.html b/doc/html/INPUT/HTML/SALOME_Session.html deleted file mode 100644 index 804a067a9..000000000 --- a/doc/html/INPUT/HTML/SALOME_Session.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
interface Session
IDL file
Python
void GetInterface ( )
GetInterface ( )
Component GetVisuGen ( )
return_value = GetVisuGen ( )
void StopSession ( )
StopSession ( )
StatSession GetStatSession ( )
return_value = GetStatSession ( )
void ping ( )
ping ( )

-
diff --git a/doc/html/INPUT/HTML/SALOME_TestComponent.html b/doc/html/INPUT/HTML/SALOME_TestComponent.html deleted file mode 100644 index 44a507fdd..000000000 --- a/doc/html/INPUT/HTML/SALOME_TestComponent.html +++ /dev/null @@ -1,14 +0,0 @@ - - - - - - - - - - - - -
interface TestComponent
IDL file
Python
string Coucou ( in long L )
return_value = Coucou ( L )

-
diff --git a/doc/html/INPUT/HTML/TestNotif.html b/doc/html/INPUT/HTML/TestNotif.html deleted file mode 100644 index a181974d2..000000000 --- a/doc/html/INPUT/HTML/TestNotif.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - - - - - - - - - - - - - - -
interface Solver
IDL file
Python
boolean Connect ( )
return_value = Connect ( )
void Start ( )
Start ( )
void ReStart ( )
ReStart ( )

-
diff --git a/doc/html/INPUT/HTML/TypeData.html b/doc/html/INPUT/HTML/TypeData.html deleted file mode 100644 index 37c3107c9..000000000 --- a/doc/html/INPUT/HTML/TypeData.html +++ /dev/null @@ -1,2 +0,0 @@ - - diff --git a/doc/html/INPUT/doxyfile b/doc/html/INPUT/doxyfile deleted file mode 100755 index 70bb733d9..000000000 --- a/doc/html/INPUT/doxyfile +++ /dev/null @@ -1,209 +0,0 @@ -# Doxyfile 1.3-rc1 - -#--------------------------------------------------------------------------- -# General configuration options -#--------------------------------------------------------------------------- -PROJECT_NAME = "SALOME v.2.0.0" -PROJECT_NUMBER = id#1.1 -OUTPUT_DIRECTORY = ../ -OUTPUT_LANGUAGE = English -EXTRACT_ALL = YES -EXTRACT_PRIVATE = YES -EXTRACT_STATIC = YES -EXTRACT_LOCAL_CLASSES = YES -HIDE_UNDOC_MEMBERS = NO -HIDE_UNDOC_CLASSES = NO -HIDE_FRIEND_COMPOUNDS = NO -HIDE_IN_BODY_DOCS = NO -BRIEF_MEMBER_DESC = YES -REPEAT_BRIEF = NO -ALWAYS_DETAILED_SEC = YES -INLINE_INHERITED_MEMB = YES -FULL_PATH_NAMES = NO -STRIP_FROM_PATH = -INTERNAL_DOCS = YES -CASE_SENSE_NAMES = YES -SHORT_NAMES = NO -HIDE_SCOPE_NAMES = NO -VERBATIM_HEADERS = YES -SHOW_INCLUDE_FILES = YES -JAVADOC_AUTOBRIEF = YES -MULTILINE_CPP_IS_BRIEF = NO -DETAILS_AT_TOP = NO -INHERIT_DOCS = YES -INLINE_INFO = YES -SORT_MEMBER_DOCS = NO -DISTRIBUTE_GROUP_DOC = NO -TAB_SIZE = 5 -GENERATE_TODOLIST = YES -GENERATE_TESTLIST = YES -GENERATE_BUGLIST = YES -GENERATE_DEPRECATEDLIST= YES -ALIASES = -ENABLED_SECTIONS = -MAX_INITIALIZER_LINES = 25 -OPTIMIZE_OUTPUT_FOR_C = YES -OPTIMIZE_OUTPUT_JAVA = YES -SHOW_USED_FILES = NO -#--------------------------------------------------------------------------- -# configuration options related to warning and progress messages -#--------------------------------------------------------------------------- -QUIET = NO -WARNINGS = YES -WARN_IF_UNDOCUMENTED = YES -WARN_FORMAT = "$file:$line: $text" -WARN_LOGFILE = log.txt -#--------------------------------------------------------------------------- -# configuration options related to the input files -#--------------------------------------------------------------------------- -INPUT = ../../../share/salome/idl/SALOME_ModuleCatalog.idl \ - ../../../share/salome/idl/SALOMEDS.idl \ - ../../../share/salome/idl/SALOME_Exception.idl \ - ../../../share/salome/idl/SALOMEDS_Attributes.idl \ - ../../../share/salome/idl/SALOME_Session.idl \ - ../../../share/salome/idl/SALOME_Component.idl \ - ../../../share/salome/src/LifeCycleCORBA/SALOME_LifeCycleCORBA.hxx \ - ../../../share/salome/src/NamingService/SALOME_NamingService.hxx \ - ../../../share/salome/src/NamingService/SALOME_NamingService.cxx \ - ../../../share/salome/src/LifeCycleCORBA/SALOME_LifeCycleCORBA.cxx -FILE_PATTERNS = -RECURSIVE = NO -EXCLUDE = -EXCLUDE_SYMLINKS = NO -EXCLUDE_PATTERNS = -EXAMPLE_PATH = -EXAMPLE_PATTERNS = -EXAMPLE_RECURSIVE = NO -IMAGE_PATH = sources/ -INPUT_FILTER = -FILTER_SOURCE_FILES = YES -#--------------------------------------------------------------------------- -# configuration options related to source browsing -#--------------------------------------------------------------------------- -SOURCE_BROWSER = NO -INLINE_SOURCES = NO -STRIP_CODE_COMMENTS = YES -REFERENCED_BY_RELATION = NO -REFERENCES_RELATION = YES -#--------------------------------------------------------------------------- -# configuration options related to the alphabetical class index -#--------------------------------------------------------------------------- -ALPHABETICAL_INDEX = NO -COLS_IN_ALPHA_INDEX = 5 -IGNORE_PREFIX = -#--------------------------------------------------------------------------- -# configuration options related to the HTML output -#--------------------------------------------------------------------------- -GENERATE_HTML = YES -HTML_OUTPUT = html -HTML_FILE_EXTENSION = .html -HTML_HEADER = sources/myheader.html -HTML_FOOTER = -HTML_STYLESHEET = -HTML_ALIGN_MEMBERS = YES -GENERATE_HTMLHELP = NO -CHM_FILE = -HHC_LOCATION = -GENERATE_CHI = NO -BINARY_TOC = YES -TOC_EXPAND = YES -DISABLE_INDEX = YES -ENUM_VALUES_PER_LINE = 4 -GENERATE_TREEVIEW = YES -TREEVIEW_WIDTH = 250 -#--------------------------------------------------------------------------- -# configuration options related to the LaTeX output -#--------------------------------------------------------------------------- -GENERATE_LATEX = NO -LATEX_OUTPUT = latex -LATEX_CMD_NAME = latex -MAKEINDEX_CMD_NAME = makeindex -COMPACT_LATEX = NO -PAPER_TYPE = a4wide -EXTRA_PACKAGES = -LATEX_HEADER = -PDF_HYPERLINKS = NO -USE_PDFLATEX = NO -LATEX_BATCHMODE = NO -#--------------------------------------------------------------------------- -# configuration options related to the RTF output -#--------------------------------------------------------------------------- -GENERATE_RTF = NO -RTF_OUTPUT = rtf -COMPACT_RTF = NO -RTF_HYPERLINKS = NO -RTF_STYLESHEET_FILE = -RTF_EXTENSIONS_FILE = -#--------------------------------------------------------------------------- -# configuration options related to the man page output -#--------------------------------------------------------------------------- -GENERATE_MAN = NO -MAN_OUTPUT = man -MAN_EXTENSION = .3 -MAN_LINKS = NO -#--------------------------------------------------------------------------- -# configuration options related to the XML output -#--------------------------------------------------------------------------- -GENERATE_XML = NO -XML_SCHEMA = -XML_DTD = -#--------------------------------------------------------------------------- -# configuration options for the AutoGen Definitions output -#--------------------------------------------------------------------------- -GENERATE_AUTOGEN_DEF = NO -#--------------------------------------------------------------------------- -# configuration options related to the Perl module output -#--------------------------------------------------------------------------- -GENERATE_PERLMOD = NO -PERLMOD_LATEX = NO -PERLMOD_PRETTY = YES -PERLMOD_MAKEVAR_PREFIX = -#--------------------------------------------------------------------------- -# Configuration options related to the preprocessor -#--------------------------------------------------------------------------- -ENABLE_PREPROCESSING = YES -MACRO_EXPANSION = YES -EXPAND_ONLY_PREDEF = NO -SEARCH_INCLUDES = YES -INCLUDE_PATH = -INCLUDE_FILE_PATTERNS = -PREDEFINED = -EXPAND_AS_DEFINED = -SKIP_FUNCTION_MACROS = NO -#--------------------------------------------------------------------------- -# Configuration::addtions related to external references -#--------------------------------------------------------------------------- -TAGFILES = -GENERATE_TAGFILE = -ALLEXTERNALS = NO -EXTERNAL_GROUPS = YES -PERL_PATH = /usr/bin/perl -#--------------------------------------------------------------------------- -# Configuration options related to the dot tool -#--------------------------------------------------------------------------- -CLASS_DIAGRAMS = YES -HIDE_UNDOC_RELATIONS = NO -HAVE_DOT = YES -CLASS_GRAPH = YES -COLLABORATION_GRAPH = NO -TEMPLATE_RELATIONS = YES -INCLUDE_GRAPH = YES -INCLUDED_BY_GRAPH = NO -GRAPHICAL_HIERARCHY = YES -DOT_IMAGE_FORMAT = jpg -DOT_PATH = -DOTFILE_DIRS = -MAX_DOT_GRAPH_WIDTH = 1024 -MAX_DOT_GRAPH_HEIGHT = 1200 -GENERATE_LEGEND = NO -DOT_CLEANUP = YES -#--------------------------------------------------------------------------- -# Configuration::addtions related to the search engine -#--------------------------------------------------------------------------- -SEARCHENGINE = NO -CGI_NAME = search.cgi -CGI_URL = -DOC_URL = -DOC_ABSPATH = -BIN_ABSPATH = /usr/local/bin/ -EXT_DOC_PATHS = diff --git a/doc/html/INPUT/exemple/Example1.html b/doc/html/INPUT/exemple/Example1.html deleted file mode 100755 index 1ec12baf9..000000000 --- a/doc/html/INPUT/exemple/Example1.html +++ /dev/null @@ -1,54 +0,0 @@ - - - -Exemple - -
#%AttributeReal interface (creations/saving/restoring)%
-#%Methods : FindOrCreateAttribute, Value, SaveAs, SetValue, FindComponent, FindAttribute, Open%
-
-
-#       create AttributeReal      
-#=================================
-A = batchmode_geompy.myBuilder.FindOrCreateAttribute(batchmode_geompy.father, "AttributeReal")
-if A == None :
-        raise  RuntimeError, "Can't create AttributeReal attribute"
-A = A._narrow(SALOMEDS.AttributeReal)
-A.SetValue(0.0001)
-if A.Value() != 0.0001:
-        raise  RuntimeError, "Error : wrong value of  AttributeReal"
-
-#      save / restore study      
-#=================================
-
-str= os.getenv("TmpDir")
-if str == None:
-        str = "/tmp"
-file = str+"/test.hdf"
-
-#file = "/tmp/ggg.hdf"
-
-print " -------  We will save to", file, "-----------"
-
-batchmode_geompy.myStudyManager.SaveAs(file, batchmode_geompy.myStudy)
-openedStudy=batchmode_geompy.myStudyManager.Open(file)
-
-if openedStudy == None:
-        raise  RuntimeError, "Can't open saved study!"
-
-
-father = openedStudy.FindComponent("GEOM")
-if father is None:
-         raise  RuntimeError, "Geom component is not found!  Wrong study is opened." 
-
-
-#     find AttributeReal
-#=================================
-
-res,A=father.FindAttribute("AttributeReal")
-if res == 0 or A == None:
-        raise  RuntimeError, "Error:  not found AttributeReal"
-
-A = A._narrow(SALOMEDS.AttributeReal)
-if A.Value() != 0.0001:
-        raise  RuntimeError, "Error : wrong value of  AttributeReal"
-
\ No newline at end of file diff --git a/doc/html/INPUT/exemple/Example10.html b/doc/html/INPUT/exemple/Example10.html deleted file mode 100755 index fde0125ea..000000000 --- a/doc/html/INPUT/exemple/Example10.html +++ /dev/null @@ -1,59 +0,0 @@ - - - -Example - -
#%AttributeExpandable interface(creations/saving/restoring)%
-#%SALOMEDS methods : SaveAs FindComponent  FindAttribute Open%
-#%Attribute methods : SetExpandable IsExpandable%
-
-#              create    AttributeExpandable
-#===========================================================
-A = batchmode_geompy.myBuilder.FindOrCreateAttribute( batchmode_geompy.father, "AttributeExpandable")
-if A == None :
-        raise  RuntimeError, "Can't create AttributeExpandable attribute"
-A = A._narrow(SALOMEDS.AttributeExpandable)
-
-if A == None :
-        raise  RuntimeError, "Can't create AttributeExpandable attribute"
-
-A.SetExpandable(1)
-
-if A.IsExpandable() == 0:
-        "Error: wrong value of AttributeExpandable"
-
-
-#      save / restore study      
-#============================================================
-str= os.getenv("TmpDir")
-if str == None:
-        str = "/tmp"
-file = str+"/test.hdf"
-
-batchmode_geompy.myStudyManager.SaveAs(file,  batchmode_geompy.myStudy)
-openedStudy = batchmode_geompy.myStudyManager.Open(file);
-
-if openedStudy == None:
-        raise  RuntimeError, "Can't open saved study!"
-
-father = openedStudy.FindComponent("GEOM")
-if father is None:
-         raise  RuntimeError, "Geom component is not found!  Wrong study is opened." 
-
-
-#     find   AttributeExpandable
-#============================================================
-
-res,A=father.FindAttribute("AttributeExpandable")
-if res == 0 or A == None:
-        raise  RuntimeError, "Error:  not found AttributeExpandable"
-
-A = A._narrow(SALOMEDS.AttributeExpandable)
-
-if A == None :
-        raise  RuntimeError, "Can't create AttributeExpandable attribute"
-
-if A.IsExpandable() == 0:
-        "Error: wrong value of AttributeExpandable"
-
-
\ No newline at end of file diff --git a/doc/html/INPUT/exemple/Example11.html b/doc/html/INPUT/exemple/Example11.html deleted file mode 100755 index 38218bddc..000000000 --- a/doc/html/INPUT/exemple/Example11.html +++ /dev/null @@ -1,59 +0,0 @@ - - - -Example - -
#%Test AttributeOpened (creations/saving/restoring)%
-#%SALOMEDS methods : FindOrCreateAttribute SaveAs, FindComponent, FindAttribute, Open%
-#%Attribute methods : SetOpened, IsOpened%
-
-#              create    AttributeOpened
-#===========================================================
-A = batchmode_geompy.myBuilder.FindOrCreateAttribute(batchmode_geompy.father, "AttributeOpened")
-if A == None :
-        raise  RuntimeError, "Can't create AttributeOpened attribute"
-A = A._narrow(SALOMEDS.AttributeOpened)
-
-if A == None :
-        raise  RuntimeError, "Can't create AttributeOpened attribute"
-
-A.SetOpened(1)
-
-if A.IsOpened() == 0:
-        "Error: wrong value of AttributeOpened"
-
-
-#      save / restore study      
-#============================================================
-str= os.getenv("TmpDir")
-if str == None:
-        str = "/tmp"
-file = str+"/test.hdf"
-
-batchmode_geompy.myStudyManager.SaveAs(file, batchmode_geompy.myStudy)
-openedStudy=batchmode_geompy.myStudyManager.Open(file);
-
-if openedStudy == None:
-        raise  RuntimeError, "Can't open saved study!"
-
-father = openedStudy.FindComponent("GEOM")
-if father is None:
-         raise  RuntimeError, "Geom component is not found!  Wrong study is opened." 
-
-
-#     find   AttributeOpened
-#============================================================
-
-res,A=father.FindAttribute("AttributeOpened")
-if res == 0 or A == None:
-        raise  RuntimeError, "Error:  not found AttributeOpened"
-
-A = A._narrow(SALOMEDS.AttributeOpened)
-
-if A == None :
-        raise  RuntimeError, "Can't create AttributeOpened attribute"
-
-if A.IsOpened() == 0:
-        "Error: wrong value of AttributeOpened"
-
-
\ No newline at end of file diff --git a/doc/html/INPUT/exemple/Example12.html b/doc/html/INPUT/exemple/Example12.html deleted file mode 100755 index 57c5d4531..000000000 --- a/doc/html/INPUT/exemple/Example12.html +++ /dev/null @@ -1,67 +0,0 @@ - - - -Example - -
#%AttributeTextColor interface (creations/saving/restoring)%
-#%SALOMEDS methods : FindOrCreateAttribute, SaveAs, FindComponent, FindAttribute, Open%
-#%Attribute methods : SetTextColor  TextColor%
-
-
-#--------------------------------------------------------------------------
-#              create    AttributeTextColor
-#===========================================================
-import SALOMEDS_Attributes_idl
-color = SALOMEDS_Attributes_idl._0_SALOMEDS.Color(234,345,231)
-
-A = batchmode_geompy.myBuilder.FindOrCreateAttribute(batchmode_geompy.father, "AttributeTextColor")
-
-if A == None :
-        raise  RuntimeError, "Can't create AttributeTextColor attribute"
-A = A._narrow(SALOMEDS.AttributeTextColor)
-
-if A == None :
-        raise  RuntimeError, "Can't create AttributeTextColor attribute"
-
-A.SetTextColor(color)
-
-c = A.TextColor();
-
-if c.R != 234 or c.G != 345 or c.B != 231:
-        print "Error: wrong value of AttributeTextColor"
-
-#      save / restore study      
-#============================================================
-str= os.getenv("TmpDir")
-if str == None:
-        str = "/tmp"
-file = str+"/test.hdf"
-
-batchmode_geompy.myStudyManager.SaveAs(file, batchmode_geompy.myStudy)
-openedStudy = batchmode_geompy.myStudyManager.Open(file);
-
-if openedStudy == None:
-        raise  RuntimeError, "Can't open saved study!"
-
-father = openedStudy.FindComponent("GEOM")
-if father is None:
-         raise  RuntimeError, "Geom component is not found!  Wrong study is opened." 
-
-
-#       find   AttributeTextColor
-#============================================================
-
-res,A=father.FindAttribute("AttributeTextColor")
-if res == 0 or A == None:
-        raise  RuntimeError, "Error:  not found AttributeTextColor"
-
-A = A._narrow(SALOMEDS.AttributeTextColor)
-
-if A == None :
-        raise  RuntimeError, "Can't create AttributeTextColor attribute"
-
-c = A.TextColor();
-if c.R != 234 or c.G != 345 or c.B != 231:
-        print "Error: wrong value of AttributeTextColor"
-
-
\ No newline at end of file diff --git a/doc/html/INPUT/exemple/Example13.html b/doc/html/INPUT/exemple/Example13.html deleted file mode 100755 index 9ecf9964b..000000000 --- a/doc/html/INPUT/exemple/Example13.html +++ /dev/null @@ -1,68 +0,0 @@ - - - -Example - -
#%Test AttributeTextHighlightColor interface(creations/saving/restoring)%
-#%SALOMEDS methods : FindOrCreateAttribute, SaveAs, FindComponent, FindAttribute, Open%
-#%Attribute methods :  SetTextHighlightColor TextHighlightColor%
-
-#--------------------------------------------------------------------------
-#              create    AttributeTextHighlightColor
-#===========================================================
-
-import SALOMEDS_Attributes_idl
-highlightcolor=SALOMEDS_Attributes_idl._0_SALOMEDS.Color(256,256,256)
-
-A = batchmode_geompy.myBuilder.FindOrCreateAttribute(batchmode_geompy.father, "AttributeTextHighlightColor")
-
-if A == None :
-        raise  RuntimeError, "Can't create AttributeTextHighlightColor attribute"
-A = A._narrow(SALOMEDS.AttributeTextHighlightColor)
-
-if A == None :
-        raise  RuntimeError, "Can't create AttributeTextHighlightColor attribute"
-
-A.SetTextHighlightColor(highlightcolor)
-
-c = A.TextHighlightColor();
-if c.R != 256 or c.G != 256 or c.B != 256:
-        print "Error: wrong value of AttributeTextHighlightColor"
-
-
-#      save / restore study      
-#============================================================
-str= os.getenv("TmpDir")
-if str == None:
-        str = "/tmp"
-file = str+"/test.hdf"
-
-batchmode_geompy.myStudyManager.SaveAs(file, batchmode_geompy.myStudy)
-openedStudy=batchmode_geompy.myStudyManager.Open(file);
-
-if openedStudy == None:
-        raise  RuntimeError, "Can't open saved study!"
-
-father = openedStudy.FindComponent("GEOM")
-if father is None:
-         raise  RuntimeError, "Geom component is not found!  Wrong study is opened." 
-
-
-#       find   AttributeTextHighlightColor
-#============================================================
-
-res, A = father.FindAttribute("AttributeTextHighlightColor")
-print res, A
-if res == 0 or A == None:
-        raise  RuntimeError, "Error:  not found AttributeTextHighlightColor"
-
-A = A._narrow(SALOMEDS.AttributeTextHighlightColor)
-
-if A == None :
-        raise  RuntimeError, "Can't create AttributeTextHighlightColor attribute"
-
-c = A.TextHighlightColor();
-
-if c.R != 256 or c.G != 256 or c.B != 256:
-        print "Error: wrong value of AttributeTextTextHighlightColor"
-
\ No newline at end of file diff --git a/doc/html/INPUT/exemple/Example14.html b/doc/html/INPUT/exemple/Example14.html deleted file mode 100755 index a4e0ada09..000000000 --- a/doc/html/INPUT/exemple/Example14.html +++ /dev/null @@ -1,57 +0,0 @@ - - - -Example - -
#%AttributePixMap interface (creations/saving/restoring)%
-#%SALOMEDS methods  : FindOrCreateAttribute, SaveAs, FindComponent, FindAttribute, Open%
-#%Attribute methods : SetPixMap, GetPixMap%
-
-#--------------------------------------------------------------------------
-
-#--------------------------------------------------------------------------
-#   create  AttributePixMap
-#===============================
-A = batchmode_geompy.myBuilder.FindOrCreateAttribute(batchmode_geompy.father, "AttributePixMap")
-if A == None :
-        raise  RuntimeError, "Can't create AttributePixMap attribute"
-aPixmap = A._narrow(SALOMEDS.AttributePixMap);
-aPixmap.SetPixMap( "ICON_OBJBROWSER_Geometry" );
-
-if aPixmap.GetPixMap() != "ICON_OBJBROWSER_Geometry":
-        print "Error: wrong value of AttributePixMap"
-
-
-#      save / restore study      
-#============================================================
-str= os.getenv("TmpDir")
-if str == None:
-        str = "/tmp"
-file = str+"/test.hdf"
-
-batchmode_geompy.myStudyManager.SaveAs(file, batchmode_geompy.myStudy)
-openedStudy = batchmode_geompy.myStudyManager.Open(file);
-
-if openedStudy == None:
-        raise  RuntimeError, "Can't open saved study!"
-
-father = openedStudy.FindComponent("GEOM")
-if father is None:
-         raise  RuntimeError, "Geom component is not found!  Wrong study is opened." 
-
-
-#       find   AttributePixMap
-#============================================================
-
-res,A=father.FindAttribute("AttributePixMap")
-if res == 0 or A == None:
-        raise  RuntimeError, "Error: AttributePixMap not found "
-
-A = A._narrow(SALOMEDS.AttributePixMap)
-
-if A == None :
-        raise  RuntimeError, "Can't create AttributePixMap attribute"
-
-if A.GetPixMap() != "ICON_OBJBROWSER_Geometry":
-        print "Error: wrong value of AttributePixMap"
-
\ No newline at end of file diff --git a/doc/html/INPUT/exemple/Example15.html b/doc/html/INPUT/exemple/Example15.html deleted file mode 100755 index f6cddac5a..000000000 --- a/doc/html/INPUT/exemple/Example15.html +++ /dev/null @@ -1,51 +0,0 @@ - - - -Example - -
#%AttributeLocalID interface(creations/saving/restoring)%
-#%SALOMEDS methods : FindOrCreateAttribute, SaveAs, FindComponent, FindAttribute, Open%    
-#%Attribute methods : Value,  SetValue%
-
-#       create AttributeLocalID
-#=================================
-A = batchmode_geompy.myBuilder.FindOrCreateAttribute(batchmode_geompy.father, "AttributeLocalID")
-if A == None :
-        raise  RuntimeError, "Can't create AttributeLocalID attribute"
-A = A._narrow(SALOMEDS.AttributeLocalID)
-
-A.SetValue(763242882)
-
-if A.Value() != 763242882:
-        print "Error: wrong value of AttributeLocalID"
-
-#      save / restore study      
-#=================================
-str= os.getenv("TmpDir")
-if str == None:
-        str = "/tmp"
-file = str+"/test.hdf"
-
-batchmode_geompy.myStudyManager.SaveAs(file, batchmode_geompy.myStudy)
-openedStudy = batchmode_geompy.myStudyManager.Open(file);
-
-if openedStudy == None:
-        raise  RuntimeError, "Can't open saved study!"
-
-father = openedStudy.FindComponent("GEOM")
-if father is None:
-         raise  RuntimeError, "Geom component is not found!  Wrong study is opened." 
-
-
-#     find  AttributeLocalID
-#=================================
-
-res,A=father.FindAttribute("AttributeLocalID")
-if res == 0 or A == None:
-        raise  RuntimeError, "Error:  not found AttributeLocalID"
-
-A = A._narrow(SALOMEDS.AttributeLocalID)
-
-if A.Value() != 763242882:
-        print "Error: wrong value of AttributeLocalID"
-
\ No newline at end of file diff --git a/doc/html/INPUT/exemple/Example16.html b/doc/html/INPUT/exemple/Example16.html deleted file mode 100755 index ec8bfd5e3..000000000 --- a/doc/html/INPUT/exemple/Example16.html +++ /dev/null @@ -1,158 +0,0 @@ - - - -Example - -
Methods : GetAvailableUndos, ChangeValue, FindOrCreateAttribute, SaveAs, GetAvailableRedos, Undo, FindComponent, Redo, FindAttribute, Open, CommitCommand, NewCommand
-
-
-dir= os.getenv("TmpDir")
-if dir == None:
-        dir = "/tmp"
-
-batchmode_geompy.myBuilder._set_UndoLimit(20)
-
-# 1st transaction -----------------------------------------
-batchmode_geompy.myBuilder.NewCommand()
-#       create AttributeSequenceOfInteger      
-#=========================================================
-A = batchmode_geompy.myBuilder.FindOrCreateAttribute(batchmode_geompy.father, "AttributeSequenceOfInteger")
-if A == None :
-        raise  RuntimeError, "Can't create AttributeSequenceOfInteger attribute"
-A = A._narrow(SALOMEDS.AttributeSequenceOfInteger)
-if A == None :
-        raise  RuntimeError, "Can't create AttributeSequenceOfInteger attribute"
-
-A.Add(100)
-A.Add(300)
-A.Add(500)
-A.Add(400)
-A.Add(700)
-print "First transaction goes on :  HasOpenCommand() = ", batchmode_geompy.myBuilder.HasOpenCommand()
-batchmode_geompy.myBuilder.CommitCommand() #--------------
-
-# 2nd transaction ------------------------------------------
-batchmode_geompy.myBuilder.NewCommand() 
-A.Remove(3)
-A.ChangeValue(4,500)
-batchmode_geompy.myBuilder.CommitCommand() #--------------
-
-if batchmode_geompy.myBuilder.GetAvailableUndos() == 0:
-        raise RuntimeError, "GetAvailableUndos() = 0 but must not !"
-
-if A.Length() != 4:
-        print "Wrong length of SequenceOfInteger"
-if A.Value(1) != 100 or A.Value(2) != 300 or A.Value(3) != 400 or A.Value(4) != 500:
-        raise  RuntimeError, "Wrong  value of  AttributeSequenceOfInteger"
-
-file1 = dir + "/test1.hdf"
-batchmode_geompy.myStudyManager.SaveAs(file1, batchmode_geompy.myStudy)
-
-# 1st Undo ---------------------------------------
-batchmode_geompy.myBuilder.Undo()
-res, A = batchmode_geompy.myBuilder.FindAttribute(batchmode_geompy.father, "AttributeSequenceOfInteger")
-if A is None:
-        raise  RuntimeError, "After first 'undo' can't find AttributeSequenceOfInteger"
-if A.Length() != 5:
-        print "Wrong length of SequenceOfInteger"
-if A.Value(1) != 100 or A.Value(2) != 300 or A.Value(3) != 500 or A.Value(4) != 400 or  A.Value(5) != 700:
-        print  A.Value(1), A.Value(2), A.Value(3), A.Value(4), A.Value(5)
-        raise  RuntimeError, "Wrong  value of  AttributeSequenceOfInteger after the first 'undo'!"
-# save 
-file2 = dir + "/test2.hdf"
-batchmode_geompy.myStudyManager.SaveAs(file2, batchmode_geompy.myStudy)
-#-------------------------------------------------
-# 2nd Undo ---------------------------------------
-batchmode_geompy.myBuilder.Undo()
-res, attr = batchmode_geompy.myBuilder.FindAttribute(batchmode_geompy.father, "AttributeSequenceOfInteger")
-if res !=0 or attr != None :
-        raise  RuntimeError, "After the second 'undo' AttributeSequenceOfInteger exists but must not!"
-file3 = dir + "/test3.hdf"
-batchmode_geompy.myStudyManager.SaveAs(file3, batchmode_geompy.myStudy)
-#-------------------------------------------------
-
-#make redo twice ---------------------------------
-if batchmode_geompy.myBuilder.GetAvailableRedos() == 0:
-        raise RuntimeError, "GetAvailableRedos() = 0 but must not !"
-batchmode_geompy.myBuilder.Redo()
-batchmode_geompy.myBuilder.Redo()
-res, A = batchmode_geompy.myBuilder.FindAttribute(batchmode_geompy.father, "AttributeSequenceOfInteger")
-if res ==0 or A== None :
-        raise  RuntimeError, "AttributeSequenceOfInteger is not found but must be!"
-if A.Length() != 4:
-        print "Wrong length of SequenceOfInteger"
-if A.Value(1) != 100 or A.Value(2) != 300 or A.Value(3) != 400 or A.Value(4) != 500:
-        raise  RuntimeError, "Wrong  value of  AttributeSequenceOfInteger"
-
-
-#----------------------------------------------------------------------
-openedStudy=batchmode_geompy.myStudyManager.Open(file1);
-
-if openedStudy == None:
-        raise  RuntimeError, "Can't open saved study!"
-
-
-father = openedStudy.FindComponent("GEOM")
-if father is None:
-         raise  RuntimeError, "Geom component is not found!  Wrong study is opened." 
-
-
-#     find AttributeSequenceOfInteger
-#======================================
-
-res,A=father.FindAttribute("AttributeSequenceOfInteger")
-if res == 0 or A == None:
-        raise  RuntimeError, "Error:  not found AttributeSequenceOfInteger"
-
-A = A._narrow(SALOMEDS.AttributeSequenceOfInteger)
-
-if A.Length() != 4:
-        print "Wrong length of SequenceOfInteger"
-if A.Value(1) != 100 or A.Value(2) != 300 or A.Value(3) != 400 or A.Value(4) != 500:
-        print "Wrong  value of  AttributeSequenceOfInteger"
-#----------------------------------------------------------------------
-openedStudy=batchmode_geompy.myStudyManager.Open(file2);
-
-if openedStudy == None:
-        raise  RuntimeError, "Can't open saved study!"
-
-
-father = openedStudy.FindComponent("GEOM")
-if father is None:
-         raise  RuntimeError, "Geom component is not found!  Wrong study is opened." 
-
-
-#     find AttributeSequenceOfInteger
-#======================================
-
-res,A=father.FindAttribute("AttributeSequenceOfInteger")
-if res == 0 or A == None:
-        raise  RuntimeError, "Error:  not found AttributeSequenceOfInteger"
-
-A = A._narrow(SALOMEDS.AttributeSequenceOfInteger)
-
-if A.Length() != 5:
-        print "Wrong length of SequenceOfInteger"
-if A.Value(1) != 100 or A.Value(2) != 300 or A.Value(3) != 500 or A.Value(4) != 400 or  A.Value(5) != 700:
-        raise  RuntimeError, "Wrong  value of  AttributeSequenceOfInteger after the first 'undo'!"
-
-#----------------------------------------------------------------------
-openedStudy=batchmode_geompy.myStudyManager.Open(file3);
-
-if openedStudy == None:
-        raise  RuntimeError, "Can't open saved study!"
-
-
-father = openedStudy.FindComponent("GEOM")
-if father is None:
-         raise  RuntimeError, "Geom component is not found!  Wrong study is opened." 
-
-
-#     find AttributeSequenceOfInteger
-#======================================
-
-res,A=father.FindAttribute("AttributeSequenceOfInteger")
-
-if res!=0 or A != None:
-        raise RuntimeError, " AttributeSequenceOfInteger is found but must not!"
-
\ No newline at end of file diff --git a/doc/html/INPUT/exemple/Example17.html b/doc/html/INPUT/exemple/Example17.html deleted file mode 100755 index 458ba1e08..000000000 --- a/doc/html/INPUT/exemple/Example17.html +++ /dev/null @@ -1,162 +0,0 @@ - - - -Example - -
#% Check  methods : %
-SALOMEDS methods : RemoveAttribute, FindOrCreateAttribute, NewStudy, GetAllAttributes, NewCommand, CommitCommand, AbortCommand, NewComponent%
-
-batchmode_geompy.myBuilder._set_UndoLimit(20)
-
-batchmode_geompy.myBuilder.NewCommand() 
-child = batchmode_geompy.myBuilder.NewObject(batchmode_geompy.father)
-batchmode_geompy.myBuilder.CommitCommand()
-
-batchmode_geompy.myBuilder.NewCommand() 
-#==========================================================
-#       create AttributeSequenceOfReal      
-#==========================================================
-A = batchmode_geompy.myBuilder.FindOrCreateAttribute(child, "AttributeSequenceOfReal")
-if A == None :
-        raise  RuntimeError, "Can't create AttributeSequenceOfReal attribute"
-A = A._narrow(SALOMEDS.AttributeSequenceOfReal)
-if A == None :
-        raise  RuntimeError, "_narrow returns None instead of AttributeSequenceOfReal pointer"
-
-A.Add(0.0293)
-A.Add(522)
-A.Add(98234)
-A.Add(83.287)
-batchmode_geompy.myBuilder.CommitCommand()
-
-
-batchmode_geompy.myBuilder.NewCommand() 
-#==========================================================
-#      create  AttributeInteger      
-#==========================================================
-A = batchmode_geompy.myBuilder.FindOrCreateAttribute(child, "AttributeInteger")
-if A == None :
-        raise  RuntimeError, "Can't create AttributeInteger attribute"
-A = A._narrow(SALOMEDS.AttributeInteger)
-A.SetValue(1000000)
-
-if A.Value() != 1000000:
-        raise  RuntimeError, "Error : wrong value of  AttributeInteger"
-
-batchmode_geompy.myBuilder.CommitCommand()
-
-batchmode_geompy.myBuilder.NewCommand() #===================
-#              create AttributeName     
-#===========================================================
-A = batchmode_geompy.myBuilder.FindOrCreateAttribute(child, "AttributeName")
-if A == None :
-        raise  RuntimeError, "Can't create AttributeName attribute"
-A = A._narrow(SALOMEDS.AttributeName)
-
-if A == None :
-        raise  RuntimeError, "Can't create AttributeName attribute"
-A.SetValue("AttributesTesting")
-
-if A.Value() != "AttributesTesting":
-        print "Wrong  value of AttributeName"        
-
-batchmode_geompy.myBuilder.CommitCommand()
-
-batchmode_geompy.myBuilder.NewCommand() #===================
-#              create     AttributeComment 
-#===========================================================
-A = batchmode_geompy.myBuilder.FindOrCreateAttribute(child, "AttributeComment")
-if A == None :
-        raise  RuntimeError, "Can't create AttributeComment attribute"
-A = A._narrow(SALOMEDS.AttributeComment)
-
-if A == None :
-        raise  RuntimeError, "Can't create AttributeComment attribute"
-
-A.SetValue("GEOM")
-
-batchmode_geompy.myBuilder.AbortCommand()
-
-batchmode_geompy.myBuilder.NewCommand() #===================
-#             create   AttributePersistentRef   
-#===========================================================
-A = batchmode_geompy.myBuilder.FindOrCreateAttribute(child, "AttributePersistentRef")
-if A == None :
-        raise  RuntimeError, "Can't create AttributePersistentRef attribute"
-A = A._narrow(SALOMEDS.AttributePersistentRef)
-
-if A == None :
-        raise  RuntimeError, "Can't create AttributePersistentRef attribute"
-
-A.SetValue("/tmp/test;1")
-batchmode_geompy.myBuilder.CommitCommand()
-
-batchmode_geompy.myBuilder.NewCommand()  #===================================
-#              create    AttributeDrawable  
-#===========================================================
-A = batchmode_geompy.myBuilder.FindOrCreateAttribute(child, "AttributeDrawable")
-if A == None :
-        raise  RuntimeError, "Can't create AttributeDrawable attribute"
-A = A._narrow(SALOMEDS.AttributeDrawable)
-
-if A == None :
-        raise  RuntimeError, "Can't create AttributeDrawable attribute"
-
-A.SetDrawable(1)
-
-if A.IsDrawable() == 0:
-        "Error: wrong value of AttributeDrawable"
-batchmode_geompy.myBuilder.CommitCommand()
-
-
-
-batchmode_geompy.myBuilder.NewCommand() #===================
-#              create    AttributeSelectable  
-#===========================================================
-A = batchmode_geompy.myBuilder.FindOrCreateAttribute(child, "AttributeSelectable")
-if A == None :
-        raise  RuntimeError, "Can't create AttributeSelectable attribute"
-A = A._narrow(SALOMEDS.AttributeSelectable)
-
-if A == None :
-        raise  RuntimeError, "Can't create AttributeSelectable attribute"
-
-A.SetSelectable(1)
-
-if A.IsSelectable() == 0:
-        "Error: wrong value of AttributeSelectable"
-batchmode_geompy.myBuilder.CommitCommand()
-
-
-batchmode_geompy.myBuilder.NewCommand() #===================
-#===========================================================
-batchmode_geompy.myBuilder.RemoveAttribute(child,"AttributeSelectable")
-batchmode_geompy.myBuilder.CommitCommand()
-
-# Control the attributes 
-#===========================================================
-
-res, A = batchmode_geompy.myBuilder.FindAttribute(child, "AttributeComment")
-print "res = ", res
-if A != None :
-        print " AttributeComment was found"
-else:
-        print " AttributeComment is not found. It's correct"
-
-attributes=[]
- 
-attributes = child.GetAllAttributes()
-
-length = len(attributes)
-
-print "Attributes number = ", length
-print attributes
-for i in range(0, length) :
-        attr = attributes[i]
-        if attr is None :
-                print i,"None item of object attributes list"
-
-if length != 5 :
-        raise RuntimeError, "Wrong number of attributes"
-
-
\ No newline at end of file diff --git a/doc/html/INPUT/exemple/Example18.html b/doc/html/INPUT/exemple/Example18.html deleted file mode 100755 index a6c00d67d..000000000 --- a/doc/html/INPUT/exemple/Example18.html +++ /dev/null @@ -1,171 +0,0 @@ - - - -Example - -
#%AttributeTreeNode interface(creations/saving/restoring)%
-#%SALOMEDS methods : FindOrCreateAttribute, NewObject%
-#%Attribute methods : HasFirst, HasFather, SetPrevious, Next, InsertAfter, GetFather, HasNext, SetValue, Append, NewStudy, Label, IsRoot, Prepend, SetFather, Depth, HasPrevious%
-
-child1 = batchmode_geompy.myBuilder.NewObject(batchmode_geompy.father)
-A = batchmode_geompy.myBuilder.FindOrCreateAttribute(child1,"AttributeName")
-if A == None :
-        raise  RuntimeError, "Can't create AttributeName attribute"
-A = A._narrow(SALOMEDS.AttributeName)
-A.SetValue("N1")
-N1 = batchmode_geompy.myBuilder.FindOrCreateAttribute(child1, "AttributeTreeNode")
-if N1 == None :
-        raise  RuntimeError, "Can't create AttributeTreeNode attribute"
-
-child2 = batchmode_geompy.myBuilder.NewObject(batchmode_geompy.father)
-A = batchmode_geompy.myBuilder.FindOrCreateAttribute(child2,"AttributeName")
-if A == None :
-        raise  RuntimeError, "Can't create AttributeName attribute"
-A = A._narrow(SALOMEDS.AttributeName)
-A.SetValue("N2")
-N2 = batchmode_geompy.myBuilder.FindOrCreateAttribute(child2, "AttributeTreeNode")
-if N2 == None :
-        raise  RuntimeError, "Can't create AttributeTreeNode attribute"
-
-child3 = batchmode_geompy.myBuilder.NewObject(batchmode_geompy.father)
-A = batchmode_geompy.myBuilder.FindOrCreateAttribute(child3,"AttributeName")
-if A == None :
-        raise  RuntimeError, "Can't create AttributeName attribute"
-A = A._narrow(SALOMEDS.AttributeName)
-A.SetValue("N3")
-N3 = batchmode_geompy.myBuilder.FindOrCreateAttribute(child3, "AttributeTreeNode")
-if N3 == None :
-        raise  RuntimeError, "Can't create AttributeTreeNode attribute"
-
-
-child11 = batchmode_geompy.myBuilder.NewObject(child1)
-A = batchmode_geompy.myBuilder.FindOrCreateAttribute(child11,"AttributeName")
-if A == None :
-        raise  RuntimeError, "Can't create AttributeName attribute"
-A = A._narrow(SALOMEDS.AttributeName)
-A.SetValue("N11")
-
-N11 = batchmode_geompy.myBuilder.FindOrCreateAttribute(child11, "AttributeTreeNode")
-
-if N11 == None :
-        raise  RuntimeError, "Can't create AttributeTreeNode attribute"
-
-child111 = batchmode_geompy.myBuilder.NewObject(child11)
-A = batchmode_geompy.myBuilder.FindOrCreateAttribute(child111, "AttributeName")
-if A == None :
-        raise  RuntimeError, "Can't create AttributeName attribute"
-A = A._narrow(SALOMEDS.AttributeName)
-A.SetValue("N111")
-
-N111 = batchmode_geompy.myBuilder.FindOrCreateAttribute(child111, "AttributeTreeNode")
-
-if N111 == None :
-        raise  RuntimeError, "Can't create AttributeTreeNode attribute"
- 
-
-child31 = batchmode_geompy.myBuilder.NewObject(child3)
-A = batchmode_geompy.myBuilder.FindOrCreateAttribute(child31,"AttributeName")
-if A == None :
-        raise  RuntimeError, "Can't create AttributeName attribute"
-A = A._narrow(SALOMEDS.AttributeName)
-A.SetValue("N31")
-
-N31 = batchmode_geompy.myBuilder.FindOrCreateAttribute(child31, "AttributeTreeNode")
-if N31 == None :
-        raise  RuntimeError, "Can't create AttributeTreeNode attribute"
-
-child32 = batchmode_geompy.myBuilder.NewObject(child3)
-A = batchmode_geompy.myBuilder.FindOrCreateAttribute(child32,"AttributeName")
-if A == None :
-        raise  RuntimeError, "Can't create AttributeName attribute"
-A = A._narrow(SALOMEDS.AttributeName)
-A.SetValue("N32")
-
-N32 = batchmode_geompy.myBuilder.FindOrCreateAttribute(child32, "AttributeTreeNode")
-if N32 == None :
-        raise  RuntimeError, "Can't create AttributeTreeNode attribute"
-
-child321 = batchmode_geompy.myBuilder.NewObject(child32)
-A = batchmode_geompy.myBuilder.FindOrCreateAttribute(child321,"AttributeName")
-if A == None :
-        raise  RuntimeError, "Can't create AttributeName attribute"
-A = A._narrow(SALOMEDS.AttributeName)
-A.SetValue("N321")
-
-N321 = batchmode_geompy.myBuilder.FindOrCreateAttribute(child321, "AttributeTreeNode")
-if N321 == None :
-        raise  RuntimeError, "Can't create AttributeTreeNode attribute"
-
-child33 = batchmode_geompy.myBuilder.NewObject(child3)
-A = batchmode_geompy.myBuilder.FindOrCreateAttribute(child33,"AttributeName")
-if A == None :
-        raise  RuntimeError, "Can't create AttributeName attribute"
-A = A._narrow(SALOMEDS.AttributeName)
-A.SetValue("N33")
-
-N33 = batchmode_geompy.myBuilder.FindOrCreateAttribute(child33, "AttributeTreeNode")
-if N33 == None :
-        raise  RuntimeError, "Can't create AttributeTreeNode attribute"
-
-child34 = batchmode_geompy.myBuilder.NewObject(child3)
-A = batchmode_geompy.myBuilder.FindOrCreateAttribute(child34,"AttributeName")
-if A == None :
-        raise  RuntimeError, "Can't create AttributeName attribute"
-A = A._narrow(SALOMEDS.AttributeName)
-A.SetValue("N34")
-
-N34 = batchmode_geompy.myBuilder.FindOrCreateAttribute(child34, "AttributeTreeNode")
-if N34 == None :
-        raise  RuntimeError, "Can't create AttributeTreeNode attribute"
-
-
-
-#Create links between tree nodes.
-#  -| root
-#   --N1 __
-#   |     N11__
-#   |           N111
-#   --N2           
-#   |   
-#   --N3__
-#         N31
-#         N32__
-#              N321
-#         N33
-#         N34
-        
-N11.SetFather(N1)
-N11.Append(N111)
-N3.SetPrevious(N1)
-N3.Prepend(N2)
-
-N32.SetFather(N3)
-N32.Prepend(N31)
-N33.InsertAfter(N32)
-N33.Append(N34)
-print "-------------  ", N1, "  -------------  "
-print "N1.Label() = ", N1.Label() , "IsRoot() = ", N1.IsRoot(), "Depth() = ", N1.Depth()
-print "N11.Label() = ", N11.Label() , "IsRoot() = ", N11.IsRoot(), "Depth() = ", N11.Depth()
-print "N111.Label() = ", N111.Label() , "IsRoot() = ", N111.IsRoot(), "Depth() = ", N111.Depth()
-print "N2.Label() = ", N2.Label() , "IsRoot() = ",  N2.IsRoot(), "Depth() = ", N2.Depth()
-print "N3.Label() = ", N3.Label() , "IsRoot() = ", N3.IsRoot(), "Depth() = ", N3.Depth()
-print "N31.Label() = ", N31.Label() , "IsRoot() = ", N31.IsRoot(), "Depth() = ", N31.Depth()
-print "N32.Label() = ", N32.Label() , "IsRoot() = ", N32.IsRoot(), "Depth() = ", N32.Depth()
-print "N321.Label() = ", N321.Label() , "IsRoot() = ", N321.IsRoot(), "Depth() = ", N321.Depth()
-print "N33.Label() = ", N33.Label() , "IsRoot() = ", N33.IsRoot(), "Depth() = ", N33.Depth()
-print "N34.Label() = ", N34.Label() , "IsRoot() = ", N34.IsRoot(), "Depth() = ", N34.Depth()
-print "N1.IsRoot()=", N1.IsRoot()
-
-print "N1.HasNext() = ",N1.HasNext()
-if  N1.HasNext():
-        print N1.Next().Label()
-
-print "N32.HasPrevious() = ",N32.HasPrevious()
-if  N32.HasPrevious():
-        print N32.GetPrevious().Label()
-
-print "N111.HasFirst()=",N111.HasFirst()
-print "N111.HasFather()=",N111.HasFather()
-if N111.HasFather() :
-        print "N111.GetFather().Label()=",N111.GetFather().Label()
-
\ No newline at end of file diff --git a/doc/html/INPUT/exemple/Example19.html b/doc/html/INPUT/exemple/Example19.html deleted file mode 100755 index 4d567ff75..000000000 --- a/doc/html/INPUT/exemple/Example19.html +++ /dev/null @@ -1,547 +0,0 @@ - - - -Exemple - -
-#^ SALOMEDS methods :  FindOrCreateAttribute, Save, SaveAs, Close, Open, FindComponent, FindAttribute, FindObject, LoadWith^
-#^ Attribute methods : Value, SetValue^
-#======================================================================
-#1. Create Study and add some components to it
-#======================================================================
-
-#=================================
-#       create AttributeReal      
-#=================================
-A = batchmode_geompy.myBuilder.FindOrCreateAttribute(batchmode_geompy.father, "AttributeReal")
-if A == None :
-        raise  RuntimeError, "Can't create AttributeReal attribute"
-A = A._narrow(SALOMEDS.AttributeReal)
-A.SetValue(0.0001)
-if A.Value() != 0.0001:
-        raise  RuntimeError, "Error : wrong value of  AttributeReal"
-
-# ===  Geometry  ==================================================
-
-import batchmode_geompy
- 
-#===================================
-#     define a box
-#===================================
-
-box = batchmode_geompy.MakeBox(0., 0., 0., 100., 200., 300.)
-idbox = batchmode_geompy.addToStudy(box,"box")
-
-
-geom = batchmode_geompy.geom
-import SMESH
-import batchmode_smesh
-ShapeType = batchmode_smesh.ShapeType
-
-# ---- add first face of box in study
-
-subShapeList = batchmode_geompy.SubShapeAll(box,ShapeType["Face"])
-face=subShapeList[0]
-name = "box_face"
-print name
-idface= batchmode_geompy.addToStudyInFather(box,face,name)
-
-# ---- add shell from box  in study
-
-subShellList= batchmode_geompy.SubShapeAll(box,ShapeType["Shell"])
-shell = subShellList[0]
-name = "box_shell"
-print name
-idshell= batchmode_geompy.addToStudyInFather(box,shell,name)
-
-# ---- add first edge of face in study
-
-edgeList =  batchmode_geompy.SubShapeAll(face,ShapeType["Edge"])
-edge=edgeList[0];
-name = "face_edge"
-print name
-idedge= batchmode_geompy.addToStudyInFather(face,edge,name)
-
-# ---- launch SMESH, init a Mesh with the box
-
-smesh =  batchmode_smesh.smesh
-#  --  Init  --
-shape = batchmode_geompy.IDToObject(idbox)
-mesh=smesh.Init(geom, batchmode_geompy.myStudyId, shape)
-
-orb = batchmode_geompy.orb
-
-idmesh = batchmode_smesh.AddNewMesh( orb.object_to_string(mesh) )
-batchmode_smesh.SetName(idmesh, "Meshbox");
-batchmode_smesh.SetShape(idbox, idmesh);
-
-# ---- create Hypothesis
-
-print "-------------------------- create Hypothesis ----------------------"
-print "-------------------------- LocalLength"
-hyp1 = smesh.CreateHypothesis("LocalLength", batchmode_geompy.myStudyId )
-hypLen1 = hyp1._narrow(SMESH.SMESH_LocalLength)
-hypLen1.SetLength(100)
-print hypLen1.GetName()
-print hypLen1.GetId()
-print hypLen1.GetLength()
-
-idlength = batchmode_smesh.AddNewHypothesis( orb.object_to_string(hypLen1) );
-batchmode_smesh.SetName(idlength, "Local_Length_100");
-
-print "-------------------------- NumberOfSegments"
-hyp2 =  smesh.CreateHypothesis("NumberOfSegments", batchmode_geompy.myStudyId )
-hypNbSeg1=hyp2._narrow(SMESH.SMESH_NumberOfSegments)
-hypNbSeg1.SetNumberOfSegments(7)
-print hypNbSeg1.GetName()
-print hypNbSeg1.GetId()
-print hypNbSeg1.GetNumberOfSegments()
-
-idseg =  batchmode_smesh.AddNewHypothesis( orb.object_to_string(hypNbSeg1) );
-batchmode_smesh.SetName(idseg, "NumberOfSegments_7");
-
-print "-------------------------- MaxElementArea"
-hyp3 = smesh.CreateHypothesis("MaxElementArea",  batchmode_geompy.myStudyId)
-hypArea1=hyp3._narrow(SMESH.SMESH_MaxElementArea)
-hypArea1.SetMaxElementArea(2500)
-print hypArea1.GetName()
-print hypArea1.GetId()
-print hypArea1.GetMaxElementArea()
-
-idarea1 = batchmode_smesh.AddNewHypothesis( orb.object_to_string(hypArea1) );
-batchmode_smesh.SetName(idarea1, "MaxElementArea_2500");
-
-print "-------------------------- MaxElementArea"
-hyp3 = smesh.CreateHypothesis("MaxElementArea",  batchmode_geompy.myStudyId)
-hypArea2 = hyp3._narrow(SMESH.SMESH_MaxElementArea)
-hypArea2.SetMaxElementArea(500)
-print hypArea2.GetName()
-print hypArea2.GetId()
-print hypArea2.GetMaxElementArea()
-
-idarea2 = batchmode_smesh.AddNewHypothesis( orb.object_to_string(hypArea2) );
-batchmode_smesh.SetName(idarea2, "MaxElementArea_500");
-
-print "-------------------------- Regular_1D"
-alg1 = smesh.CreateHypothesis("Regular_1D",  batchmode_geompy.myStudyId)
-algo1 = alg1._narrow(SMESH.SMESH_Algo)
-listHyp = algo1.GetCompatibleHypothesis()
-for hyp in listHyp:
-    print hyp
-algoReg=alg1._narrow(SMESH.SMESH_Regular_1D)
-print algoReg.GetName()
-print algoReg.GetId()
-
-idreg = batchmode_smesh.AddNewAlgorithms( orb.object_to_string(algoReg) );
-batchmode_smesh.SetName(idreg, "Regular_1D");
-
-print "-------------------------- MEFISTO_2D"
-alg2 = smesh.CreateHypothesis("MEFISTO_2D",  batchmode_geompy.myStudyId)
-algo2 = alg2._narrow(SMESH.SMESH_Algo)
-listHyp=algo2.GetCompatibleHypothesis()
-for hyp in listHyp:
-    print hyp
-algoMef=alg2._narrow(SMESH.SMESH_MEFISTO_2D)
-print algoMef.GetName()
-print algoMef.GetId()
-
-idmef = batchmode_smesh.AddNewAlgorithms( orb.object_to_string(algoMef) );
-batchmode_smesh.SetName(idmef, "MEFISTO_2D");
-
-
-# ---- add hypothesis to edge
-
-print "-------------------------- add hypothesis to edge"
-edge = batchmode_geompy.IDToObject(idedge)
-submesh = mesh.GetElementsOnShape(edge)
-ret = mesh.AddHypothesis(edge,algoReg)
-print ret
-ret=mesh.AddHypothesis(edge,hypLen1)
-print ret
-
-idsm1 = batchmode_smesh.AddSubMeshOnShape( idmesh,
-                                           idedge,
-                                           orb.object_to_string(submesh),
-                                           ShapeType["Edge"] )
-batchmode_smesh.SetName(idsm1, "SubMeshEdge")
-batchmode_smesh.SetAlgorithms( idsm1, idreg );
-batchmode_smesh.SetHypothesis( idsm1, idlength );
-
-print "-------------------------- add hypothesis to face"
-face=batchmode_geompy.IDToObject(idface)
-submesh=mesh.GetElementsOnShape(face)
-ret=mesh.AddHypothesis(face,hypArea2)
-print ret
-
-idsm2 = batchmode_smesh.AddSubMeshOnShape( idmesh,
-                                    idface,
-                                    orb.object_to_string(submesh),
-                                    ShapeType["Face"] )
-batchmode_smesh.SetName(idsm2, "SubMeshFace")
-batchmode_smesh.SetHypothesis( idsm2, idarea2 );
-
-# ---- add hypothesis to box
-
-print "-------------------------- add hypothesis to box"
-box=batchmode_geompy.IDToObject(idbox)
-submesh=mesh.GetElementsOnShape(box)
-ret=mesh.AddHypothesis(box,algoReg)
-print ret
-ret=mesh.AddHypothesis(box,hypNbSeg1)
-print ret
-ret=mesh.AddHypothesis(box,algoMef)
-print ret
-ret=mesh.AddHypothesis(box,hypArea1)
-print ret
-
-batchmode_smesh.SetAlgorithms( idmesh, idreg );
-batchmode_smesh.SetHypothesis( idmesh, idseg );
-batchmode_smesh.SetAlgorithms( idmesh, idmef );
-batchmode_smesh.SetHypothesis( idmesh, idarea1 );
-
-# ---- compute box
-
-print "-------------------------- compute box"
-ret=smesh.Compute(mesh,box)
-print ret
-log=mesh.GetLog(0); # no erase trace
-for linelog in log:
-    print linelog
-
-
-#=======================================================
-#    add  SuperVision component
-#=======================================================
-
-from batchmode_SuperV import *
-import os
-dir= os.getenv("SALOME_ROOT_DIR")
-if dir == None:
-        raise RuntimeError, "SALOME_ROOT_DIR is not defined"
-xmlfile = dir +"/../SALOME_ROOT/SuperVisionTest/resources/GraphEssai.xml"
-print "--------------\n"+xmlfile+"\n--------------\n"
-
-myGraph = Graph ( xmlfile )
-
-# This DataFlow is "valid" : no loop, correct links between Nodes etc...
-print myGraph.IsValid()
-
-# Get Nodes
-myGraph.PrintNodes()
-Add,Sub,Mul,Div = myGraph.Nodes()
-
-# Load Datas
-Addx = Add.Input("x",3.)
-Addy = Add.Input("y",4.5)
-Subx = Sub.Input("x",1.5)
-
-# Get Output Port
-Addz = Add.Port('z')
-Subz = Sub.Port('z')
-Mulz = Mul.Port('z')
-Divz = Div.Port('z')
-
-# This DataFlow is "executable" : all pending Ports are defined with Datas
-print myGraph.IsExecutable()
-
-# Starts only execution of that DataFlow and gets control immediatly
-print myGraph.Run()
-
-# That DataFlow is running ==> 0 (false)
-print myGraph.IsDone()
-
-# Events of execution :
-aStatus,aNode,anEvent,aState = myGraph.Event()
-while aStatus :
-    print aNode.Thread(),aNode.SubGraph(),aNode.Name(),anEvent,aState
-    aStatus,aNode,anEvent,aState = myGraph.Event()
-print myGraph.IsDone()
-
-# Wait for Completion (but it is already done after event loop ...)
-print "Done : ",myGraph.DoneW()
-
-# Get result
-print "Result : ",Divz.ToString()
-
-# Intermediate results :
-print "Intermediate Result Add\z : ",Addz.ToString()
-print "Intermediate Result Sub\z : ",Subz.ToString()
-print "Intermediate Result Mul\z : ",Mulz.ToString()
-
-print " "
-#print "Type : print myGraph.IsDone()"
-#print "       If execution is finished ==> 1 (true)"
-res=myGraph.IsDone()
-if res != 1:
-        raise RuntimeError, "myGraph.Run() is not done"
-
-print " "
-print "Type : print Divz.ToString()"
-print "       You will get the result"
-Divz.ToString()
-
-print " "
-print "Type : myGraph.PrintPorts()"
-print "       to see input and output values of the graph"
-myGraph.PrintPorts()
-
-print " "
-print "Type : Add.PrintPorts()"
-Add.PrintPorts()
-
-print "Type : Sub.PrintPorts()"
-Sub.PrintPorts()
-
-print "Type : Mul.PrintPorts()"
-Mul.PrintPorts()
-
-print "Type : Div.PrintPorts()"
-print "       to see input and output values of nodes"
-Div.PrintPorts()
-
-# Export will create newsupervisionexample.xml and the corresponding .py file
-tmpdir=os.getenv("TmpDir")
-if tmpdir is None:
-        tmpdir="/tmp"
-file = tmpdir + "/newsupervisionexample"
-print "--------------\n"+file+"\n--------------\n"
-myGraph.Export(file)
-
-ior = batchmode_geompy.orb.object_to_string(myGraph.G)
-addStudy(ior)
-
-GraphName = myGraph.Name()
-print "Befor save ",
-nodes = myGraph.Nodes()
-length_bs = len(nodes)
-print "ListOfNodes length = ", length_bs
-names=[]
-for node in nodes:
-        names.append(node.Name())
-print names
-
-
-#=================================
-#      save / restore study      
-#=================================
-str= os.getenv("TmpDir")
-if str == None:  
-        str = "/tmp"
-file = str+"/test.hdf"
-
-
-#==================================================
-#1. SaveAs
-#==================================================
-print " -------  We will save to", file, "-----------"
-
-batchmode_geompy.myStudyManager.SaveAs(file, batchmode_geompy.myStudy)
-batchmode_geompy.myStudyManager.Close(batchmode_geompy.myStudy)
-
-#rename the file and try to reread it again
-
-os.mkdir(str + "/test_dir")
-
-#2.==================================================
-print " ------- We rename the file as " + str + "/test_dir/test_new.hdf"
-os.rename(file, str+"/test_dir/test_new.hdf")
-
-#==================================================
-#3. Open
-#==================================================
-print " ------- We try to open " + str + "/test_dir/test_new.hdf"
-
-try:
-        openedStudy=batchmode_geompy.myStudyManager.Open(str+"/test_dir/test_new.hdf")
-except Exception:
-        raise  RuntimeError, "Can't open saved study!"
-
-if openedStudy == None:
-        raise  RuntimeError, "Can't open saved study!"
-
-father = openedStudy.FindComponent("GEOM")
-if father is None:
-         raise  RuntimeError, "GEOM component is not found!  Wrong study is opened." 
-
-
-#=================================
-#     find AttributeReal
-#=================================
-
-res,A=father.FindAttribute("AttributeReal")
-if res == 0 or A == None:
-        raise  RuntimeError, "Error:  not found AttributeReal"
-
-A = A._narrow(SALOMEDS.AttributeReal)
-if A.Value() != 0.0001:
-        raise  RuntimeError, "Error : wrong value of  AttributeReal"
-
-#==================================================
-#     find  box
-#==================================================
-box = openedStudy.FindObject("box")
-if box is None :
-        raise  RuntimeError, "box was not found! Wrong study is opened."
-
-edge=openedStudy.FindObject("face_edge")
-if edge is None :
-        raise  RuntimeError, "face_edge was not found! Wrong study is opened."
-
-
-father = openedStudy.FindComponent("MESH")
-if father is None:
-         raise  RuntimeError, "MESH component is not found!  Wrong study is opened." 
-
-hp=openedStudy.FindObject("Meshbox")
-if hp is None:
-        raise  RuntimeError, "Meshbox object was not found! Wrong study is opened."
-
-hp = openedStudy.FindObject("Algorithms Definition")
-if hp is None:
-        raise  RuntimeError, "Algorithms Definition object was not found! Wrong study is opened."
-
-hp = openedStudy.FindObject("MEFISTO_2D")
-if hp is None:
-        raise  RuntimeError, "MEFISTO_2D object was not found! Wrong study is opened."
-
-hp = openedStudy.FindObject("Hypothesis Definition")
-if hp is None:
-        raise  RuntimeError, "Algoriths Definition was not found! Wrong study is opened."
-
-#==================================================
-# Find Supervisor
-#==================================================
-father = openedStudy.FindComponent("SUPERV")
-if father is None: 
-         raise  RuntimeError, "SUPERV component is not found!  Wrong study is opened." 
-
-SuperV = lcc.FindOrLoadComponent("SuperVisionContainer","Supervision")
-Builder = openedStudy.NewBuilder()
-Builder.LoadWith(father, SuperV)
-import SALOMEDS
-
-aChildIterator = openedStudy.NewChildIterator(father)
-
-#while aChildIterator.More():
-anSObject = aChildIterator.Value()
-#print "iterate: ", anSObject.GetID()
-res, anAttr=anSObject.FindAttribute("AttributeIOR")
-if res :
-        anAttr=anAttr._narrow(SALOMEDS.AttributeIOR)
-        ior = anAttr.Value()
-        Graph=SuperV.getGraph(ior)
-        ListOfNodes=Graph.Nodes()
-        length_as= len(ListOfNodes)
-        print "ListOfNodes length = ", length_as
-        if length_as != length_bs:
-                raise RuntimeErrror, "defferent length of nodes after study open"
-#aChildIterator.Next()
-
-Names = []
-for node in ListOfNodes:
-        Names.append(node.Name())
-names.sort()
-Names.sort()
-if names != Names :
-        raise RuntimeError, "List of dataflow nodes after save differs from one befor save operation"
-
-#==================================================
-#4. Save
-#==================================================
-batchmode_geompy.myStudyManager.Save(openedStudy)
-batchmode_geompy.myStudyManager.Close(openedStudy)
-#==================================================
-#5. Open
-#==================================================
-try:
-        openedStudy = batchmode_geompy.myStudyManager.Open(str+"/test_dir/test_new.hdf")
-except Exception:
-        raise  RuntimeError, "Can't open saved study!"
-
-
-
-if openedStudy == None:
-        raise  RuntimeError, "Can't open saved study!"
-
-father = openedStudy.FindComponent("GEOM")
-if father is None:
-         raise  RuntimeError, "Geom component is not found!  Wrong study is opened." 
-
-
-#find AttributeReal
-res,A=father.FindAttribute("AttributeReal")
-if res == 0 or A == None:
-        raise  RuntimeError, "Error:  not found AttributeReal"
-
-A = A._narrow(SALOMEDS.AttributeReal)
-if A.Value() != 0.0001:
-        raise  RuntimeError, "Error : wrong value of  AttributeReal"
-#==================================================
-#     find  box
-#==================================================
-box = openedStudy.FindObject("box")
-if box is None :
-        raise  RuntimeError, "box was not found! Wrong study is opened."
-
-edge=openedStudy.FindObject("face_edge")
-if edge is None :
-        raise  RuntimeError, "face_edge was not found! Wrong study is opened."
-
-
-father = openedStudy.FindComponent("MESH")
-if father is None:
-         raise  RuntimeError, "MESH component is not found!  Wrong study is opened." 
-
-hp=openedStudy.FindObject("Meshbox")
-if hp is None:
-        raise  RuntimeError, "Meshbox object was not found! Wrong study is opened."
-
-hp = openedStudy.FindObject("Algorithms Definition")
-if hp is None:
-        raise  RuntimeError, "Algorithms Definition object was not found! Wrong study is opened."
-
-hp = openedStudy.FindObject("MEFISTO_2D")
-if hp is None:
-        raise  RuntimeError, "MEFISTO_2D object was not found! Wrong study is opened."
-
-hp = openedStudy.FindObject("Hypothesis Definition")
-if hp is None:
-        raise  RuntimeError, "Algoriths Definition was not found! Wrong study is opened."
-
-#==================================================
-# Find Supervisor
-#==================================================
-father = openedStudy.FindComponent("SUPERV")
-if father is None:
-         raise  RuntimeError, "SUPERV component is not found!  Wrong study is opened." 
-
-SuperV = lcc.FindOrLoadComponent("SuperVisionContainer","Supervision")
-Builder = openedStudy.NewBuilder()
-Builder.LoadWith(father, SuperV)
-import SALOMEDS
-
-aChildIterator = openedStudy.NewChildIterator(father)
-
-#while aChildIterator.More():
-anSObject = aChildIterator.Value()
-
-res, anAttr=anSObject.FindAttribute("AttributeIOR")
-if res :
-        anAttr=anAttr._narrow(SALOMEDS.AttributeIOR)
-        ior = anAttr.Value()
-        Graph=SuperV.getGraph(ior)
-        ListOfNodes=Graph.Nodes()
-        length_as= len(ListOfNodes)
-        print "ListOfNodes length = ", length_as
-        if length_as != length_bs:
-                raise RuntimeErrror, "defferent length of nodes after study open"
-#aChildIterator.Next()
-
-Names = []
-for node in ListOfNodes:
-        Names.append(node.Name())
-names.sort()
-Names.sort()
-if names != Names :
-        raise RuntimeError, "List of dataflow nodes after save differs from one befor save operation"
-
\ No newline at end of file diff --git a/doc/html/INPUT/exemple/Example2.html b/doc/html/INPUT/exemple/Example2.html deleted file mode 100755 index 16361364f..000000000 --- a/doc/html/INPUT/exemple/Example2.html +++ /dev/null @@ -1,46 +0,0 @@ - - - -Example - -
#%AttributeInteger interface(creation/saving/restoring)%
-#%Methods : FindOrCreateAttribute , Value, SaveAs, SetValue, FindComponent, FindAttribute, Open%
-
-#      create  AttributeInteger      
-#=================================
-A = batchmode_geompy.myBuilder.FindOrCreateAttribute(batchmode_geompy.father, "AttributeInteger")
-if A == None :
-        raise  RuntimeError, "Can't create AttributeInteger attribute"
-A = A._narrow(SALOMEDS.AttributeInteger)
-A.SetValue(1000000)
-
-if A.Value() != 1000000:
-        raise  RuntimeError, "Error : wrong value of  AttributeInteger"
-
-#   save and restore the study
-#=================================
-str= os.getenv("TmpDir")
-if str == None:
-        str = "/tmp"
-# ... save ...
-batchmode_geompy.myStudyManager.SaveAs(str+"/test.hdf", batchmode_geompy.myStudy)
-# ... open ...
-openedStudy= batchmode_geompy.myStudyManager.Open(str+"/test.hdf");
-
-if openedStudy == None:
-        raise  RuntimeError, "Can't open saved study!"
-
-
-father = openedStudy.FindComponent("GEOM")
-if father is None:
-         raise  RuntimeError, "Geom component is not found!  Wrong study is opened." 
-
-#     find AttributeInteger
-#================================
-res,A=father.FindAttribute("AttributeInteger")
-if res == 0  or A == None:
-        raise  RuntimeError, "Error:  not found AttributeInteger"
-A = A._narrow(SALOMEDS.AttributeInteger)
-if A.Value() != 1000000:
-        raise  RuntimeError, "Error : wrong value of  AttributeInteger after study restoring"
-
\ No newline at end of file diff --git a/doc/html/INPUT/exemple/Example20.html b/doc/html/INPUT/exemple/Example20.html deleted file mode 100755 index 3019ad80e..000000000 --- a/doc/html/INPUT/exemple/Example20.html +++ /dev/null @@ -1,160 +0,0 @@ - - - -Exemple - -
-#^SALOMEDS methods : FindOrCreateAttribute, SaveAs, FindComponent, FindAttribute, NewCommand, GetProperties, Open, CommitCommand, NewBuilder^
-#^Attribute methods : SetLocked, IsLocked, GetCreationMode, SetCreationDate, IsModified, GetUserName, Value, SetUserName, SetValue, GetCreationDate^
-
-batchmode_geompy.myBuilder._set_UndoLimit(20)
-
-#--------------------------------------------------------------------------
-#       create AttributeReal      
-#===============================================
-A = batchmode_geompy.myBuilder.FindOrCreateAttribute(batchmode_geompy.father, "AttributeReal")
-if A == None :
-        raise  RuntimeError, "Can't create AttributeReal attribute"
-A = A._narrow(SALOMEDS.AttributeReal)
-A.SetValue(0.0001)
-if A.Value() != 0.0001:
-        raise  RuntimeError, "Error : wrong value of  AttributeReal"
-
-#      create AttributeStudyProperties
-#================================================
-A = batchmode_geompy.myStudy.GetProperties()
-if A == None :
-        raise  RuntimeError, "Can't create AttributeStudyProperties attribute"
-A = A._narrow(SALOMEDS.AttributeStudyProperties)
-
-batchmode_geompy.myBuilder.NewCommand();
-print "A.GetUserName()= ", A.GetUserName()
-res,mm,hh,dd,mnth,yy=A.GetCreationDate()
-print "A.GetCreationDate() = ", mm,hh,dd,mnth,yy
-print "A.GetCreationMode() = ", A.GetCreationMode()
-print "A.IsModified() = ", A.IsModified()
-print "A.IsLocked() = ", A.IsLocked()
-if A.IsLocked() == 0 :
-        A.SetUserName("tester"); print 'A.SetUserName("tester"), A.GetUserName() = ', A.GetUserName()
-        A.SetCreationDate(11,11,11,11,2002); print 'A.SetCreationDate(11,11,11,11,2002), A.GetCreationDate() =', A.GetCreationDate()
-        print "A.IsModified() = ", A.IsModified()
-A.SetLocked(1)
-
-#check the transaction result 
-batchmode_geompy.myBuilder.CommitCommand()
-if A.GetUserName() != "tester":
-        print 'Control after transaction close : A.GetUserName() = ', A.GetUserName()
-        raise RuntimeError, "Field 'UserName' was not modified but had to!"
-
-# try to make some changes wrapped by transaction 
-#================================================
-batchmode_geompy.myBuilder.NewCommand()
-A = batchmode_geompy.myBuilder.FindOrCreateAttribute(batchmode_geompy.father, "AttributeInteger")
-
-if A == None :
-        raise  RuntimeError, "Can't create AttributeInteger attribute"
-A = A._narrow(SALOMEDS.AttributeInteger)
-A.SetValue(1000000)
-
-exception_was = None
-try : batchmode_geompy.myBuilder.CommitCommand()
-except Exception: exception_was = 1
-
-if exception_was is None:
-        raise RuntimeError, "Study was locked for changes but CommitCommand did not generate an exception !"
-
-#      save / restore study      
-
-#================================================
-str= os.getenv("TmpDir")
-if str == None:
-        str = "/tmp"
-file = str+"/test.hdf"
-
-print " -------  We will save to", file, "-----------"
-
-batchmode_geompy.myStudyManager.SaveAs(file, batchmode_geompy.myStudy)
-
-
-#--------------------------------------------------------------------------#
-#--------------------------- Open file ------------------------------------# 
-#--------------------------------------------------------------------------#
-
-print" -------------- Open  " + file + "-------------- " 
-
-openedStudy = batchmode_geompy.myStudyManager.Open(file)
-if openedStudy == None:
-        raise  RuntimeError, "Can't open saved study!"
-
-father = openedStudy.FindComponent("GEOM")
-if father is None:
-         raise  RuntimeError, "Geom component is not found!  Wrong study is opened." 
-
-
-#1.     find AttributeReal
-#================================================
-
-res,A=father.FindAttribute("AttributeReal")
-if res == 0 or A == None:
-        raise  RuntimeError, "Error:  not found AttributeReal"
-
-A = A._narrow(SALOMEDS.AttributeReal)
-if A.Value() != 0.0001:
-        raise  RuntimeError, "Error : wrong value of  AttributeReal"
- 
-
-#2.     find AttributeStudyProperties
-#=================================================
-A=openedStudy.GetProperties()
-if res == 0 or A == None:
-        raise  RuntimeError, "Error:  not found AttributeStudyProperties"
-
-A = A._narrow(SALOMEDS.AttributeStudyProperties)
-if A.IsLocked() == 0 :
-        raise  RuntimeError, "Error : AttributeStudyProperties must have Locked flag but have no!"
-
-#get the builder
-myBuilder = openedStudy.NewBuilder()
-
-#3. try to make some changes wrapped by transaction 
-#==================================================
-exception_was = None
-try : 
-        myBuilder.NewCommand()
-        A = myBuilder.FindOrCreateAttribute(father, "AttributeInteger")
-
-        if A == None :
-                raise  RuntimeError, "Can't create AttributeInteger attribute"
-        A = A._narrow(SALOMEDS.AttributeInteger)
-        A.SetValue(1000000)
-        myBuilder.CommitCommand()
-except Exception: exception_was = 1
-
-if exception_was is None:
-        raise RuntimeError, "Study was locked for changes but CommitCommand did not generate an exception !"
-
-
-myBuilder.NewCommand()
-A=openedStudy.GetProperties()
-A = A._narrow(SALOMEDS.AttributeStudyProperties)
-A.SetLocked(0)
-myBuilder.CommitCommand()
-
-#4.
-myBuilder.NewCommand()
-A.SetLocked(0);
-print "A.GetUserName()= ", A.GetUserName()
-print "A.GetCreationDate() = ", A.GetCreationDate()
-print "A.GetCreationMode() = ", A.GetCreationMode()
-print "A.IsModified() = ", A.IsModified()
-myBuilder.CommitCommand()
-
-#5.
-myBuilder.NewCommand()
-A.SetUserName("tester1")
-myBuilder.CommitCommand()
-print "A.GetUserName()= ", A.GetUserName()
-
-#remove the document file
-os.remove(file)
-
\ No newline at end of file diff --git a/doc/html/INPUT/exemple/Example21.html b/doc/html/INPUT/exemple/Example21.html deleted file mode 100755 index 981e9d7ff..000000000 --- a/doc/html/INPUT/exemple/Example21.html +++ /dev/null @@ -1,136 +0,0 @@ - - - -Exemple - -
-#^SALOMEDS methods : FindOrCreateAttribute, SaveAs, FindComponent, FindAttribute, Open^
-#^Attribute methods: GetValue, GetNbColumns, AddColumn, SetRowTitles, PutValue, GetColumn, GetColumnTitles, GetTitle, SetRow, GetRowTitles, SetColumnTitles, SetColumn, GetRow, GetNbRows, SetColumnTitle, AddRow, SetTitle, SetRowTitle^
-
-#       create AttributeReal      
-#=======================================================================================================
-A = batchmode_geompy.myBuilder.FindOrCreateAttribute(batchmode_geompy.father, "AttributeTableOfInteger")
-if A == None :
-        raise  RuntimeError, "Can't create AttributeTableOfInteger attribute"
-A = A._narrow(SALOMEDS.AttributeTableOfInteger)
-a=[1,2]
-
-b=[3,4]
-
-#    2x2
-# --- rows ---
-A.AddRow(a)
-A.AddRow(b)
-a=[34,14]
-A.SetRow(1,a)
-
-#    3x3
-#
-b=[54,56]
-A.AddRow(b)
-
-# --- columns ---
-a=[76,25,12]
-
-A.AddColumn(a)
-a=[836,3425,342]
-A.SetColumn(3,a)
-
-# change attribute values
-print "A.GetValue(2,2) = ", A.GetValue(2,2)
-print "A.PutValue(2,2,625323)"
-A.PutValue(625323,2,2)
-print "A.GetValue(2,2) = ", A.GetValue(2,2)
-
-#set Titles
-
-A.SetTitle("TEST")
-
-A.SetRowTitle(1,"FR")
-A.SetRowTitle(2,"SR")
-A.SetRowTitle(3,"TR")
-
-A.SetColumnTitle(1,"FC")
-A.SetColumnTitle(2,"SC")
-A.SetColumnTitle(3,"TC")
-
-
-#check the table
-print "Common title : ",A.GetTitle()
-print "Rows titles : ",  A.GetRowTitles()
-rnb = A.GetNbRows()
-for i in range(1, rnb):
-        b=A.GetRow(i)
-        print b
-
-cnb = A.GetNbColumns()
-print "Columns title : ", A.GetColumnTitles()
-for i in range(1, cnb):
-        b=A.GetColumn(i)
-        print b
-
-# set titles
-#titles=["11","12","13"]
-#A.SetRowTitles(titles)
-#titles=["21","22","23"]
-#A.SetRowTitles(2,titles)
-#titles=["31","32","33"]
-#A.SetRowTitles(3,titles)
-
-#--------------------------------------------------------------------------#
-# ----------------------- save the study ----------------------------------#
-#--------------------------------------------------------------------------#
-str= os.getenv("TmpDir")
-if str == None:
-        str = "/tmp"
-file = str+"/test.hdf"
-
-print " -------  We will save to", file, "-----------"
-
-batchmode_geompy.myStudyManager.SaveAs(file, batchmode_geompy.myStudy)
-
-#--------------------------------------------------------------------------#
-#---------------------------- Open file -----------------------------------# 
-#--------------------------------------------------------------------------#
-
-print" -------------- Open  " + file + "-------------- " 
-
-openedStudy=batchmode_geompy.myStudyManager.Open(file)
-if openedStudy == None:
-        raise  RuntimeError, "Can't open saved study!"
-
-father = openedStudy.FindComponent("GEOM")
-if father is None:
-         raise  RuntimeError, "Geom component is not found!  Wrong study is opened." 
-
-# --- check attribute ---
-
-res,A=father.FindAttribute("AttributeTableOfInteger")
-if res == 0 or A == None:
-        raise  RuntimeError, "Error:  not found AttributeTableOfInteger"
-
-A = A._narrow(SALOMEDS.AttributeTableOfInteger)
-
-#check the table
-print "Common title : ",A.GetTitle()
-print "Rows titles : ",  A.GetRowTitles()
-rnb = A.GetNbRows()
-for i in range(1, rnb):
-        b=A.GetRow(i)
-        print b
-
-cnb = A.GetNbColumns()
-print "Columns title : ", A.GetColumnTitles()
-for i in range(1, cnb):
-        b=A.GetColumn(i)
-        print b
-
-titles=["ff","ss","tt"]
-A.SetRowTitles(titles)
-print "Rows titles : ",  A.GetRowTitles()
-
-titles=["ww","zz","cc"]
-A.SetColumnTitles(titles)
-print "Column titles : ",  A.GetColumnTitles()
-
-
\ No newline at end of file diff --git a/doc/html/INPUT/exemple/Example22.html b/doc/html/INPUT/exemple/Example22.html deleted file mode 100755 index f6a3f6e3b..000000000 --- a/doc/html/INPUT/exemple/Example22.html +++ /dev/null @@ -1,137 +0,0 @@ - - - -Exemple - -
-#^ SALOMEDS methods  : FindOrCreateAttribute, SaveAs, FindComponent, FindAttribute, Open^
-#^ Attribute methods : GetValue, GetNbColumns, AddColumn, SetRowTitles, PutValue,  GetColumn,  GetColumnTitles, GetTitle, SetRow, GetRowTitles, SetColumnTitles,  SetColumn,  GetRow,  GetNbRows, SetColumnTitle, AddRow, SetTitle, SetRowTitle^
-
-#       create AttributeReal      
-#===============================================
-A = batchmode_geompy.myBuilder.FindOrCreateAttribute(batchmode_geompy.father, "AttributeTableOfReal")
-if A == None :
-        raise  RuntimeError, "Can't create AttributeTableOfReal attribute"
-A = A._narrow(SALOMEDS.AttributeTableOfReal)
-a=[1,2]
-
-b=[3,4]
-
-#    2x2
-# --- rows ---
-A.AddRow(a)
-A.AddRow(b)
-a=[34,14]
-A.SetRow(1,a)
-
-#    3x3
-#
-b=[54,56]
-A.AddRow(b)
-
-# --- columns ---
-a=[76,25,12]
-
-A.AddColumn(a)
-a=[836,3425,342]
-A.SetColumn(3,a)
-
-# change attribute values
-print "A.GetValue(2,2) = ", A.GetValue(2,2)
-print "A.PutValue(2,2,625323)"
-A.PutValue(625323,2,2)
-print "A.GetValue(2,2) = ", A.GetValue(2,2)
-
-#set Titles
-
-A.SetTitle("TEST")
-
-A.SetRowTitle(1,"FR")
-A.SetRowTitle(2,"SR")
-A.SetRowTitle(3,"TR")
-
-A.SetColumnTitle(1,"FC")
-A.SetColumnTitle(2,"SC")
-A.SetColumnTitle(3,"TC")
-
-
-#check the table
-print "Common title : ",A.GetTitle()
-print "Rows titles : ",  A.GetRowTitles()
-rnb = A.GetNbRows() + 1
-for i in range(1, rnb):
-        b=A.GetRow(i)
-        print b
-
-cnb = A.GetNbColumns() + 1
-print "Columns title : ", A.GetColumnTitles()
-for i in range(1, cnb):
-        b=A.GetColumn(i)
-        print b
-
-# set titles
-#titles=["11","12","13"]
-#A.SetRowTitles(titles)
-#titles=["21","22","23"]
-#A.SetRowTitles(2,titles)
-#titles=["31","32","33"]
-#A.SetRowTitles(3,titles)
-
-#--------------------------------------------------------------------------#
-#------------------------ save the study ----------------------------------#
-#--------------------------------------------------------------------------#
-import os
-str= os.getenv("TmpDir")
-if str == None:
-        str = "/tmp"
-file = str+"/test.hdf"
-
-print " -------  We will save to", file, "-----------"
-
-batchmode_geompy.myStudyManager.SaveAs(file, batchmode_geompy.myStudy)
-
-#--------------------------------------------------------------------------#
-#---------------------------- Open file -----------------------------------# 
-#--------------------------------------------------------------------------#
-
-print" -------------- Open  " + file + "-------------- " 
-
-openedStudy = batchmode_geompy.myStudyManager.Open(file)
-if openedStudy == None:
-        raise  RuntimeError, "Can't open saved study!"
-
-father = openedStudy.FindComponent("GEOM")
-if father is None:
-         raise  RuntimeError, "Geom component is not found!  Wrong study is opened." 
-
-# --- check attribute ---
-
-res,A=father.FindAttribute("AttributeTableOfReal")
-if res == 0 or A == None:
-        raise  RuntimeError, "Error:  not found AttributeTableOfReal"
-
-A = A._narrow(SALOMEDS.AttributeTableOfReal)
-
-#check the table
-print "Common title : ",A.GetTitle()
-print "Rows titles : ",  A.GetRowTitles()
-rnb = A.GetNbRows() + 1
-for i in range(1, rnb):
-        b=A.GetRow(i)
-        print b
-
-cnb = A.GetNbColumns() + 1
-print "Columns title : ", A.GetColumnTitles()
-for i in range(1, cnb):
-        b=A.GetColumn(i)
-        print b
-
-titles=["ff","ss","tt"]
-A.SetRowTitles(titles)
-print "Rows titles : ",  A.GetRowTitles()
-
-titles=["ww","zz","cc"]
-A.SetColumnTitles(titles)
-print "Column titles : ",  A.GetColumnTitles()
-
-
\ No newline at end of file diff --git a/doc/html/INPUT/exemple/Example23.html b/doc/html/INPUT/exemple/Example23.html deleted file mode 100755 index 623170417..000000000 --- a/doc/html/INPUT/exemple/Example23.html +++ /dev/null @@ -1,35 +0,0 @@ - - - -Exemple - -
-import batchmode_salome
-#import SALOMEDS
-
-aStudy = batchmode_salome.myStudy    
-
-#Add new component 'User data'
-aBuilder = aStudy.NewBuilder()
-aComponent = aBuilder.NewComponent("User data")
-anAttr = aBuilder.FindOrCreateAttribute(aComponent, "AttributeName")
-anAttrName = anAttr._narrow(SALOMEDS.AttributeName) 
-anAttrName.SetValue("User data")
-
-
-#Add a new case 'Case1' to the component 'User data'
-aBuilder.AddDirectory("/User data/Case1")
-
-#Set a study context to '/User data/Case1'
-aStudy.SetContext("/User data/Case1")
-
-#Print the current study context
-print aStudy.GetContext()
-
-#Add a sub directory 'aSubCase' to 'Case1' (under the current context)
-aBuilder.AddDirectory("aSubCase")
-
-
-#Add a new case 'Case2' to component 'User data'
-aBuilder.AddDirectory("/User data/Case2")
-
\ No newline at end of file diff --git a/doc/html/INPUT/exemple/Example3.html b/doc/html/INPUT/exemple/Example3.html deleted file mode 100755 index 477d80cda..000000000 --- a/doc/html/INPUT/exemple/Example3.html +++ /dev/null @@ -1,68 +0,0 @@ - - - -Example - -
#%AttributeSequenceOfReal interface(creations/saving/restoring)%
-#% AttributeSequenceOfReal  : ChangeValue, Add,  Value,  Remove,  Length%
-#% SALOMEDS methods : FindOrCreateAttribute, SaveAs, FindComponent, FindAttribute, Open%
-
-#       create AttributeSequenceOfReal      
-#=================================
-A = batchmode_geompy.myBuilder.FindOrCreateAttribute(batchmode_geompy.father, "AttributeSequenceOfReal")
-if A == None :
-        raise  RuntimeError, "Can't create AttributeSequenceOfReal attribute"
-A = A._narrow(SALOMEDS.AttributeSequenceOfReal)
-if A == None :
-        raise  RuntimeError, "_narrow returns None instead of AttributeSequenceOfReal pointer"
-
-A.Add(0.0293)
-A.Add(625.1e+2)
-A.Add(0.928e+100)
-A.Add(83.287)
-
-print "initial values ",A.Value(1), A.Value(2), A.Value(3), A.Value(4)
-A.Remove(3)
-print "after remove ", A.Value(1), A.Value(2), A.Value(3)
-A.ChangeValue(2,76.265)
-print "after second item change", A.Value(1), A.Value(2), A.Value(3)
-
-if A.Length() != 3:
-        print "Error : wrong length of SequenceOfReal"
-if A.Value(1) != 0.0293 or A.Value(2) != 76.265 or A.Value(3) != 83.287:
-        print "Error : wrong value of  AttributeSequenceOfReal"
-
-#      save / restore study      
-#=================================
-str= os.getenv("TmpDir")
-if str == None:
-        str = "/tmp"
-file = str+"/test.hdf"
-
-batchmode_geompy.myStudyManager.SaveAs(file, batchmode_geompy.myStudy)
-openedStudy=batchmode_geompy.myStudyManager.Open(file);
-
-if openedStudy == None:
-        raise  RuntimeError, "Can't open saved study!"
-
-
-father = openedStudy.FindComponent("GEOM")
-if father is None:
-         raise  RuntimeError, "Geom component is not found!  Wrong study is opened." 
-
-
-#     find AttributeSequenceOfReal
-#=================================
-
-res,A=father.FindAttribute("AttributeSequenceOfReal")
-if res == 0 or A == None:
-        raise  RuntimeError, "Error:  not found AttributeSequenceOfReal"
-
-A = A._narrow(SALOMEDS.AttributeSequenceOfReal)
-
-if A.Length() != 3:
-        print "Error : wrong length of SequenceOfReal"
-if A.Value(1) != 0.0293 or A.Value(2) != 76.265 or A.Value(3) != 83.287:
-        print "Error : wrong value of  AttributeSequenceOfReal"
-print "after restoring ", A.Value(1), A.Value(2), A.Value(3)
-
\ No newline at end of file diff --git a/doc/html/INPUT/exemple/Example4.html b/doc/html/INPUT/exemple/Example4.html deleted file mode 100755 index 4539170b6..000000000 --- a/doc/html/INPUT/exemple/Example4.html +++ /dev/null @@ -1,66 +0,0 @@ - - - -Example - -
#%AttributeSequenceOfInteger interface(creations/saving/restoring)%
-#%SALOMEDS methods : FindOrCreateAttribute FindComponent FindAttribute Open Add SaveAs%
-#%AttributeSequenceOfInteger methods :  Value, Remove, Length%
-
-#       create AttributeSequenceOfInteger      
-#==========================================
-A = batchmode_geompy.myBuilder.FindOrCreateAttribute(batchmode_geompy.father, "AttributeSequenceOfInteger")
-if A == None :
-        raise  RuntimeError, "Can't create AttributeSequenceOfInteger attribute"
-A = A._narrow(SALOMEDS.AttributeSequenceOfInteger)
-if A == None :
-        raise  RuntimeError, "Can't create AttributeSequenceOfInteger attribute"
-
-A.Add(100)
-A.Add(300)
-A.Add(500)
-A.Add(400)
-A.Add(700)
-
-A.Remove(3)
-A.ChangeValue(4,500)
-
-
-if A.Length() != 4:
-        print "Wrong length of SequenceOfInteger"
-if A.Value(1) != 100 or A.Value(2) != 300 or A.Value(3) != 400 or A.Value(4) != 700:
-        print "Wrong  value of  AttributeSequenceOfInteger"
-
-
-#      save / restore study      
-#=================================
-str= os.getenv("TmpDir")
-if str == None:
-        str = "/tmp"
-file = str+"/test.hdf"
-batchmode_geompy.myStudyManager.SaveAs(file, batchmode_geompy.myStudy)
-openedStudy=batchmode_geompy.myStudyManager.Open(file);
-
-if openedStudy == None:
-        raise  RuntimeError, "Can't open saved study!"
-
-
-father = openedStudy.FindComponent("GEOM")
-if father is None:
-         raise  RuntimeError, "Geom component is not found!  Wrong study is opened." 
-
-
-#     find AttributeSequenceOfInteger
-#======================================
-
-res,A=father.FindAttribute("AttributeSequenceOfInteger")
-if res == 0 or A == None:
-        raise  RuntimeError, "Error:  not found AttributeSequenceOfInteger"
-
-A = A._narrow(SALOMEDS.AttributeSequenceOfInteger)
-
-if A.Length() != 4:
-        print "Wrong length of SequenceOfInteger"
-if A.Value(1) != 100 or A.Value(2) != 300 or A.Value(3) != 400 or A.Value(4) != 700:
-        print "Wrong  value of  AttributeSequenceOfInteger"
-
\ No newline at end of file diff --git a/doc/html/INPUT/exemple/Example5.html b/doc/html/INPUT/exemple/Example5.html deleted file mode 100755 index 79be2e442..000000000 --- a/doc/html/INPUT/exemple/Example5.html +++ /dev/null @@ -1,58 +0,0 @@ - - - -Example - -
#%AttributeName interface(creations/saving/restoring)%
-#%SALOMEDS methods : FindOrCreateAttribute,  SaveAs, FindComponent FindAttribute Open%
-#%Attribute methods : SetValue, Value%
-
-#              create AttributeName     
-#===========================================================
-A = batchmode_geompy.myBuilder.FindOrCreateAttribute(batchmode_geompy.father, "AttributeName")
-if A == None :
-        raise  RuntimeError, "Can't create AttributeName attribute"
-A = A._narrow(SALOMEDS.AttributeName)
-
-if A == None :
-        raise  RuntimeError, "Can't create AttributeName attribute"
-A.SetValue("AttributesTesting")
-
-if A.Value() != "AttributesTesting":
-        print "Wrong  value of AttributeName"
-
-
-#      save / restore study      
-#=================================
-str= os.getenv("TmpDir")
-if str == None:
-        str = "/tmp"
-file = str+"/test.hdf"
-
-batchmode_geompy.myStudyManager.SaveAs(file, batchmode_geompy.myStudy)
-openedStudy = batchmode_geompy.myStudyManager.Open(file);
-
-if openedStudy == None:
-        raise  RuntimeError, "Can't open saved study!"
-
-
-father = openedStudy.FindComponent("GEOM")
-if father is None:
-         raise  RuntimeError, "Geom component is not found!  Wrong study is opened." 
-
-
-#     find AttributeName
-#======================================
-
-res,A=father.FindAttribute("AttributeName")
-if res == 0 or A == None:
-        raise  RuntimeError, "Error:  not found AttributeName"
-
-A = A._narrow(SALOMEDS.AttributeName)
-
-if A == None :
-        raise  RuntimeError, "Can't create AttributeName attribute"
-
-if A.Value() != "AttributesTesting":
-        print "Wrong  value of AttributeName"
-
\ No newline at end of file diff --git a/doc/html/INPUT/exemple/Example6.html b/doc/html/INPUT/exemple/Example6.html deleted file mode 100755 index 197c6b3b1..000000000 --- a/doc/html/INPUT/exemple/Example6.html +++ /dev/null @@ -1,56 +0,0 @@ - - - -Example - -
#%AttributeComment interface(creations/saving/restoring)%
-#%SALOMEDS methods : FindOrCreateAttribute, SaveAs FindComponent FindAttribute  Open%
-#%Attribute methods : Value, SetValue%
-
-#              create     AttributeComment 
-#===========================================================
-A = batchmode_geompy.myBuilder.FindOrCreateAttribute(batchmode_geompy.father, "AttributeComment")
-if A == None :
-        raise  RuntimeError, "Can't create AttributeComment attribute"
-A = A._narrow(SALOMEDS.AttributeComment)
-
-if A == None :
-        raise  RuntimeError, "Can't create AttributeComment attribute"
-
-A.SetValue("GEOM")
-
-
-#      save / restore study      
-#============================================================
-str= os.getenv("TmpDir")
-if str == None:
-        str = "/tmp"
-file = str+"/test.hdf"
-
-batchmode_geompy.myStudyManager.SaveAs(file, batchmode_geompy.myStudy)
-openedStudy = batchmode_geompy.myStudyManager.Open(file);
-
-if openedStudy == None:
-        raise  RuntimeError, "Can't open saved study!"
-
-father = openedStudy.FindComponent("GEOM")
-if father is None:
-         raise  RuntimeError, "Geom component is not found!  Wrong study is opened." 
-
-
-#      find    AttributeComment
-#============================================================
-
-res,A=father.FindAttribute("AttributeComment")
-if res == 0 or A == None:
-        raise  RuntimeError, "Error:  not found AttributeComment"
-
-A = A._narrow(SALOMEDS.AttributeComment)
-
-if A == None :
-        raise  RuntimeError, "Can't create AttributeComment attribute"
-
-if A.Value() != "GEOM":
-        "Error: wrong value of AttributeComment"
-
-
\ No newline at end of file diff --git a/doc/html/INPUT/exemple/Example7.html b/doc/html/INPUT/exemple/Example7.html deleted file mode 100755 index 9bf85152b..000000000 --- a/doc/html/INPUT/exemple/Example7.html +++ /dev/null @@ -1,55 +0,0 @@ - - - -Example - -
#%AttributePersistentRef interface(creations/saving/restoring)%
-#%SALOMEDS methods : FindOrCreateAttribute,  SaveAs, FindComponent FindAttribute Open%
-#%Attribute methods : SetValue, Value%
-
-#              create   AttributePersistentRef   
-#===========================================================
-A = batchmode_geompy.myBuilder.FindOrCreateAttribute(batchmode_geompy.father, "AttributePersistentRef")
-if A == None :
-        raise  RuntimeError, "Can't create AttributePersistentRef attribute"
-A = A._narrow(SALOMEDS.AttributePersistentRef)
-
-if A == None :
-        raise  RuntimeError, "Can't create AttributePersistentRef attribute"
-
-A.SetValue("/tmp/test;1")
-
-#      save / restore study      
-#============================================================
-str= os.getenv("TmpDir")
-if str == None:
-        str = "/tmp"
-file = str+"/test.hdf"
-
-batchmode_geompy.myStudyManager.SaveAs(file, batchmode_geompy.myStudy)
-openedStudy = batchmode_geompy.myStudyManager.Open(file);
-
-if openedStudy == None:
-        raise  RuntimeError, "Can't open saved study!"
-
-father = openedStudy.FindComponent("GEOM")
-if father is None:
-         raise  RuntimeError, "Geom component is not found!  Wrong study is opened." 
-
-
-#     find AttributePersistentRef
-#============================================================
-
-res,A=father.FindAttribute("AttributePersistentRef")
-if res == 0 or A == None:
-        raise  RuntimeError, "Error:  not found AttributePersistentRef"
-
-A = A._narrow(SALOMEDS.AttributePersistentRef)
-
-if A == None :
-        raise  RuntimeError, "Can't create AttributePersistentRef attribute"
-
-if A.Value() != "/tmp/test;1":
-        "Error: wrong value of AttributePersistentRef"
-
-
\ No newline at end of file diff --git a/doc/html/INPUT/exemple/Example8.html b/doc/html/INPUT/exemple/Example8.html deleted file mode 100755 index db962290a..000000000 --- a/doc/html/INPUT/exemple/Example8.html +++ /dev/null @@ -1,64 +0,0 @@ - - - -Example - -
#%AttributeDrawable interface(creations/saving/restoring)%
-#%SALOMEDS methods : FindOrCreateAttribute, SaveAs, FindComponent, FindAttribute, Open%
-#%Attribute methods : SetDrawable, IsDrawable% 
-#--------------------------------------------------------------------------
-
-from batchmode_geompy import *
-import os
-
-#--------------------------------------------------------------------------
-#              create    AttributeDrawable  
-#===========================================================
-A = batchmode_geompy.myBuilder.FindOrCreateAttribute(batchmode_geompy.father, "AttributeDrawable")
-if A == None :
-        raise  RuntimeError, "Can't create AttributeDrawable attribute"
-A = A._narrow(SALOMEDS.AttributeDrawable)
-
-if A == None :
-        raise  RuntimeError, "Can't create AttributeDrawable attribute"
-
-A.SetDrawable(1)
-
-if A.IsDrawable() == 0:
-        "Error: wrong value of AttributeDrawable"
-
-
-#      save / restore study      
-#============================================================
-str= os.getenv("TmpDir")
-if str == None:
-        str = "/tmp"
-file = str+"/test.hdf"
-
-batchmode_geompy.myStudyManager.SaveAs(file, batchmode_geompy.myStudy)
-openedStudy=batchmode_geompy.myStudyManager.Open(file);
-
-if openedStudy == None:
-        raise  RuntimeError, "Can't open saved study!"
-
-father = openedStudy.FindComponent("GEOM")
-if father is None:
-         raise  RuntimeError, "Geom component is not found!  Wrong study is opened." 
-
-
-#     find   AttributeDrawable
-#============================================================
-
-res,A=father.FindAttribute("AttributeDrawable")
-if res == 0 or A == None:
-        raise  RuntimeError, "Error:  not found AttributeDrawable"
-
-A = A._narrow(SALOMEDS.AttributeDrawable)
-
-if A == None :
-        raise  RuntimeError, "Can't create AttributeDrawable attribute"
-
-if A.IsDrawable() == 0:
-        "Error: wrong value of AttributeDrawable"
-
-
\ No newline at end of file diff --git a/doc/html/INPUT/exemple/Example9.html b/doc/html/INPUT/exemple/Example9.html deleted file mode 100755 index 6809dab3c..000000000 --- a/doc/html/INPUT/exemple/Example9.html +++ /dev/null @@ -1,59 +0,0 @@ - - - -Example - -
#%AttributeSelectable interface(creations/saving/restoring)%
-#%SALOMEDS methods: FindOrCreateAttribute, SaveAs, FindComponent, FindAttribute, Open%
-#%Attribute methods: SetSelectable, IsSelectable%
-
-#              create    AttributeSelectable  
-#===========================================================
-A = batchmode_geompy.myBuilder.FindOrCreateAttribute(batchmode_geompy.father, "AttributeSelectable")
-if A == None :
-        raise  RuntimeError, "Can't create AttributeSelectable attribute"
-A = A._narrow(SALOMEDS.AttributeSelectable)
-
-if A == None :
-        raise  RuntimeError, "Can't create AttributeSelectable attribute"
-
-A.SetSelectable(1)
-
-if A.IsSelectable() == 0:
-        "Error: wrong value of AttributeSelectable"
-
-
-#      save / restore study      
-#============================================================
-str= os.getenv("TmpDir")
-if str == None:
-        str = "/tmp"
-file = str+"/test.hdf"
-
-batchmode_geompy.myStudyManager.SaveAs(file, batchmode_geompy.myStudy)
-openedStudy = batchmode_geompy.myStudyManager.Open(file);
-
-if openedStudy == None:
-        raise  RuntimeError, "Can't open saved study!"
-
-father = openedStudy.FindComponent("GEOM")
-if father is None:
-         raise  RuntimeError, "Geom component is not found!  Wrong study is opened." 
-
-
-#     find   AttributeSelectable
-#============================================================
-
-res,A=father.FindAttribute("AttributeSelectable")
-if res == 0 or A == None:
-        raise  RuntimeError, "Error:  not found AttributeSelectable"
-
-A = A._narrow(SALOMEDS.AttributeSelectable)
-
-if A == None :
-        raise  RuntimeError, "Can't create AttributeSelectable attribute"
-
-if A.IsSelectable() == 0:
-        "Error: wrong value of AttributeSelectable"
-
-
\ No newline at end of file diff --git a/doc/html/INPUT/sources/Application-About.png b/doc/html/INPUT/sources/Application-About.png deleted file mode 100755 index 7b58330d50856e28562e8f9ed80dae72d6e6dda3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 19226 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

5r3>=?gKv-6#gF2kVYm^Euk4pDx%bDo{L~m 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 Ao&W#< diff --git a/doc/html/INPUT/sources/application.gif b/doc/html/INPUT/sources/application.gif deleted file mode 100644 index 0b05d5c18ee88779d283508781836e2b151f606f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2602 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 diff --git a/doc/html/INPUT/sources/bg_salome.gif b/doc/html/INPUT/sources/bg_salome.gif deleted file mode 100755 index 677b70468f798fe4fbc20fac3d706e61179ff12b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 17294 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 diff --git a/doc/html/INPUT/sources/myheader.html b/doc/html/INPUT/sources/myheader.html deleted file mode 100755 index 83ca543cd..000000000 --- a/doc/html/INPUT/sources/myheader.html +++ /dev/null @@ -1,24 +0,0 @@ - - - - - - Main Page - - - -  -
- - - - - - -
-
-
- - - - diff --git a/doc/html/INPUT/sources/occ.gif b/doc/html/INPUT/sources/occ.gif deleted file mode 100755 index ce017c8ae11236ef5c52eee1723657cb8b08989f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 14790 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⁣iMxf-qnJ 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 diff --git a/doc/html/INPUT/sources/static/Link.gif b/doc/html/INPUT/sources/static/Link.gif deleted file mode 100755 index 75330d0c82be86f95a77075a906d8fb6b4af6e72..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 13959 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 M)V!}C!ol$TKY@nC6951J diff --git a/doc/html/INPUT/sources/static/SObject.gif b/doc/html/INPUT/sources/static/SObject.gif deleted file mode 100755 index 1d4e9cb24adb525809f8e97a21e96ecdafd4c11b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4966 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 diff --git a/doc/html/INPUT/sources/static/Study_Struct.gif b/doc/html/INPUT/sources/static/Study_Struct.gif deleted file mode 100755 index bc0ce35be243b94242ac361985adf86c250a071e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5833 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 diff --git a/doc/html/INPUT/sources/static/doxygen.css b/doc/html/INPUT/sources/static/doxygen.css deleted file mode 100755 index 0a8e93d50..000000000 --- a/doc/html/INPUT/sources/static/doxygen.css +++ /dev/null @@ -1,49 +0,0 @@ -H1 { text-align: center; } -CAPTION { font-weight: bold } -A.qindex {} -A.qindexRef {} -A.el { text-decoration: none; font-weight: bold } -A.elRef { font-weight: bold } -A.code { text-decoration: none; font-weight: normal; color: #4444ee } -A.codeRef { font-weight: normal; color: #4444ee } -A:hover { text-decoration: none; background-color: lightblue } -DL.el { margin-left: -1cm } -DIV.fragment { width: 100%; border: none; background-color: #CCCCCC } -DIV.ah { background-color: #CCCCCC; font-weight: bold; color: #ffffff; margin-bottom: 3px; margin-top: 3px } -TD.md { background-color: lightblue; font-weight: bold; } -TD.mdname1 { background-color: lightblue; font-weight: bold; color: #602020; } -TD.mdname { background-color: lightblue; font-weight: bold; color: #602020; width: 600px; } -DIV.groupHeader { margin-left: 16px; margin-top: 12px; margin-bottom: 6px; font-weight: bold } -DIV.groupText { margin-left: 16px; font-style: italic; font-size: smaller } -BODY { background: url(sources/bg_salome.gif) } -TD.indexkey { - background-color: #CCCCCC; - font-weight: bold; - padding-right : 10px; - padding-top : 2px; - padding-left : 10px; - padding-bottom : 2px; - margin-left : 0px; - margin-right : 0px; - margin-top : 2px; - margin-bottom : 2px -} -TD.indexvalue { - background-color: #CCCCCC; - font-style: italic; - padding-right : 10px; - padding-top : 2px; - padding-left : 10px; - padding-bottom : 2px; - margin-left : 0px; - margin-right : 0px; - margin-top : 2px; - margin-bottom : 2px -} -span.keyword { color: #008000 } -span.keywordtype { color: #604020 } -span.keywordflow { color: #e08000 } -span.comment { color: #800000 } -span.preprocessor { color: #806020 } -span.stringliteral { color: #002080 } -span.charliteral { color: #008080 } diff --git a/doc/html/INPUT/sources/static/examples_Kernel.html b/doc/html/INPUT/sources/static/examples_Kernel.html deleted file mode 100755 index beb74ae4f..000000000 --- a/doc/html/INPUT/sources/static/examples_Kernel.html +++ /dev/null @@ -1,134 +0,0 @@ - - - - - - - - Main Page - - - - -   -
- - - - - - - - -
- - -
-
- -

Examples

- Package SALOME_ModuleCatalog
-
-      interface SALOME_ModuleCatalog::ModuleCatalog
-
-Package SALOME
-
-   
interface SALOME::Session
-
-Package Engines
-   

-    interface Engines::Container
-

-   
-   

-
-
    SALOME_ModuleCatalog::ModuleCatalog interface -
-
-
-

-
-

-Acomponent -GetComponent (in string componentname)
-
-See the example below
-
-
-
-
SALOME::Session interface

-

-
-GetInterface (), StopSession () raises (GUIActive, RunningStudies)
-
-Stop session and restart GUI application:
-
-mySession.StopSession()
-
-mySession.GetInterface()
-
-
-
Engines::Container -interface
-
-
-
Component -load_impl (in string nameToRegister, in string componentName)
-
-Load component with defined component name:
-
-compinfo = module_catalog.GetComponent(componentName)
-
- try:
-    machineName = theComputer # name of machine
-    path = compoinfo.GetPathPrefix(machineName) + "/"
- except SALOME_ModuleCatalog.NotFound, ex:
-    MESSAGE( "machine " + machineName + " not found in Module -Catalog" )
-    MESSAGE( "trying localhost" )
-    try:
-    path = compoinfo.GetPathPrefix("localhost") + "/"
-    except SALOME_ModuleCatalog.NotFound, ex:
-    path = ""
-
-implementation = path + "lib" + componentName + "Engine.so"
-MESSAGE( "Trying to load " + implementation )
-
- try:
-
    component = container.load_impl(componentName, -implementation) # Loads into the container a new component, registers -it and starts it's CORBA servant.
-
-    MESSAGE( "component " + component._get_instanceName() -+ " launched !" )
-    return component
-except:
-    MESSAGE( "component " + componentName + " NOT launched -!" )
-
-
-
-
-
-
-
-
-
- -
-
-
- - diff --git a/doc/html/INPUT/sources/static/examples_Life_cycle.html b/doc/html/INPUT/sources/static/examples_Life_cycle.html deleted file mode 100755 index 8d36282f6..000000000 --- a/doc/html/INPUT/sources/static/examples_Life_cycle.html +++ /dev/null @@ -1,116 +0,0 @@ - - - - - - - - Main Page - - - - -   -
- - - - - - - - -
- - -
-
- -

Examples

- //There is a CXX example of LifeCycleCORBA using
-

-#include CORBA_CLIENT_HEADER(TestComponent)
-#include "SALOME_NamingService.hxx"
-#include "SALOME_LifeCycleCORBA.hxx"
-
-int main (int argc, char * argv[]){
-  try {
-      // Initializing omniORB
-
      CORBA::ORB_var orb = CORBA::ORB_init(argc, -argv);
-   
-      // Obtain a reference -to the root POA
-
      CORBA::Object_var obj = orb->resolve_initial_references("RootPOA") -;
-      PortableServer::POA_var poa = PortableServer::POA::_narrow(obj) -;
-   
-      SALOME_NamingService _NS(orb) ;
-
-      SALOME_LifeCycleCORBA _LCC(&_NS) ;
-
-      Engines::Component_var myComponent = _LCC.FindOrLoad_Component("FactoryServerPy","TestComponentPy");
-       if(!CORBA::is_nil(myComponent)){
-          Engines::TestComponent_var -myConcreateComponent = TestComponent::_narrow(myComponent);
-          //do something -what you like with the interface
-          ...
-
          return 0;
-       }
-    }
-  catch(CORBA::COMM_FAILURE& ex){
-      cout<<"Caught system exception COMM_FAILURE --- unable to contact the object.\n";
-  }catch(CORBA::SystemException&){
-      cout<<"Caught a CORBA::SystemException.\n";
-  }catch(CORBA::Exception&){
-      cout<<"Caught CORBA::Exception.\n";
-  }catch(...){
-      cout<<"Caught unknown exception.\n";
-  }
-  return 1;
-}
-
-#The example may be rewritten on Python like this:
-

-from omniORB import CORBA
-from SALOME_TestComponent import *
-from SALOME_NamingServicePy import *
-from LifeCycleCORBA import *
-
-try:
-    orb = CORBA.ORB_init(sys.argv,CORBA.ORB_ID)
-    _NS = SALOME_NamingService(orb)
-    _LCC = SALOME_LifeCycleCORBA(orb)
-
-     myComponent = _LCC.FindOrLoadComponent("FactoryServerPy","TestComponentPy");
-     myConcreatComponent = myComponent._narrow(TestComponent)
-    if myConcreatComponent is not None :
-        //do something what you like with the -interface
-         ...
-
        return 0
-    }
-except CosNaming.NamingContext.NotFound, e :
-    print "Caught exception: Naming Service can't found Logger"
-except CORBA.COMM_FAILURE, e:
-    print "Caught CORBA::SystemException CommFailure"
-except CORBA.SystemException, e:
-    print "Caught CORBA::SystemException."
-except CORBA.Exception, e:
-    print "Caught CORBA::Exception."
-except Exception, e:
-    print "Caught unknown exception."
-  
-
-
- - diff --git a/doc/html/INPUT/sources/static/examples_Naming.html b/doc/html/INPUT/sources/static/examples_Naming.html deleted file mode 100755 index ac08a6753..000000000 --- a/doc/html/INPUT/sources/static/examples_Naming.html +++ /dev/null @@ -1,66 +0,0 @@ - - - - - - - - Main Page - - - - -   -
- - - - - - - - -
- - -
-
- -

Examples

- #There is a python example of using SALOME_NamingService
-

-from omniORB import CORBA
-from time import sleep
-from LifeCycleCORBA import *
-from SALOME_NamingServicePy import *
-
-# initialise the ORB
-
orb = CORBA.ORB_init([''], CORBA.ORB_ID)
-
-# create an LifeCycleCORBA instance
-
myLifeCycleCORBA = LifeCycleCORBA(orb)
-
-#create a naming service instance
-
naming_service = SALOME_NamingServicePy_i(orb)
-
-mySession = myNamingService.Resolve("/Kernel/Session")
-mySession.GetInterface()
-sleep(10)
-myLocalVisu = myLifeCycleCORBA.FindOrLoadComponent("FactoryServer", "Visu")
-
-
-//There is some part of a code written by C++
-

-SALOME_NamingService aNamingService(orb);
-CORBA::Object_ptr anObject = aNamingService.Resolve("/Kernel/Session");
-SALOME::Session_var aSession = SALOME::Session::_narrow(anObject);
-Engines::Component_var aComponent = aSession->GetVisuGen();
-myVisuGen = VISU::VISU_Gen::_narrow(aComponent);
-
- - diff --git a/doc/html/INPUT/sources/static/examples_Study.html b/doc/html/INPUT/sources/static/examples_Study.html deleted file mode 100755 index 31ccaffa5..000000000 --- a/doc/html/INPUT/sources/static/examples_Study.html +++ /dev/null @@ -1,790 +0,0 @@ - - - - - - - - Main Page - - - - -   -
- - - - - - - - -
- - -
-
- -

Examples

-
-
- -
      Interfaces:
-
-       SALOMEDS::Study
-       SALOMEDS::StudyBuilder
-       SALOMEDS::StudyManager
-       SALOMEDS::SObject
-      SALOMEDS::SComponent
-       SALOMEDS::SComponentIterator
-       SALOMEDS::ChildIterator
-
      SALOMEDS::AttributeComment
-      
-
-
-
-
- -
      SALOMEDS::Study interface
-
- -

-
-
-
-
SComponent FindComponent( -in string aComponentName )
-
- Find GEOMETRY component in the opened study by its name:

-
-     str= os.getenv("TmpDir")
-     if str == None:
-         str = "/tmp"
-     file = str+"/test.hdf"
-
-     openedStudy=batchmode_geompy.myStudyManager.Open(file)
-
-     father = openedStudy.FindComponent("GEOM")
-     if father is None:
-          raise  RuntimeError, "Geom - component is not found!  Wrong study is opened."
-
-
-
- -
SObject FindObject ( in string -anObjectName )
-
- Find the SObject of the box by its NameAttribute "box":
-
- -

-
- -
box = openedStudy.FindObject("box")
- if box is None :
-     raise  RuntimeError, "box was not found! Wrong -study is opened."
-
-
- SObject FindObjectID - ( in ID aObjectID -)
- #result: "/User data/Case1".
-
Find - the SObject of the box by its ID "0:1:1:2":
-
-
- -
box =openedStudy.FindObjectID("0:1:1:2")
-
- -
if box is None :
-     raise  RuntimeError, "box was not found! Wrong -ID is used."
-
-
- SObject FindObjectIOR - ( in ID  aObjectIOR -)
-
- Find the SObject of the result on imported MED file -by it's IOR:
-
- theResult = myVisu.ImportFile(medFile)
- aSObj = myStudy.FindObjectIOR(theResult.GetID())
-
-
- SObject - FindObjectByPath ( in string thePath )
-
- Find SObject by path to it:
-
- # create new auxiliary componen
t
- aComponent = myStudyBuilder.NewComponent("Virtual Component")
-
- # create auxiliary subtree
- aPath = "/Virtual Component/Case1"
- myStudyBuilder.AddDirectory(aPath)
-
- aSObj = myStudy.FindObjectByPath(aPath)
-
-
- void SetContext ( in string thePath) / - string GetContext ()
-
- Set context of the study to the created case and get it for printing:
-
- aComponent = myStudyBuilder.NewComponent("User data")
- anAttr = aBuilder.FindOrCreateAttribute(aComponent, "AttributeName")
- anAttrName = anAttr._narrow(SALOMEDS.AttributeName)
- anAttrName.SetValue("User data")
-
- #Add a new case 'Case1' to the component 'User data'
- aBuilder.AddDirectory("/User data/Case1")
-
- #Set a study context to '/User data/Case1'
- aStudy.SetContext("/User data/Case1")
-
- #Print the current study context
- print aStudy.GetContext()
-
-
#result: "/User data/Case1".

-
-
- ChildIterator - NewChildIterator ( in SObject aSO )
-
- Import med file and print all mesh names that this file includes -(mesh is a child of the result of imported file):
-
- # define file name
- aFileName = datadir + "fra.med"
-
- # import file in visu module and get result
- theVisu = batchmode_visu.myVisu
- aResult = theVisu.ImportFile(aFileName)
- if aResult is None : raise RuntimeError, "Error"
- else : print "OK"
-  
- # get current study and its' SObject        -
- myLocalStudy = theVisu.GetCurrentStudy()
- aSObj = myLocalStudy.FindObjectIOR(aResult.GetID())
- if aSObj is None : raise RuntimeError, "Error"
- else : print "OK"
-
- # create iterator by SObject of the current study
- aMeshIter = myLocalStudy.NewChildIterator(aSObj);
-
- # iterating in the current study (with the help of created iterator) -to find all mesh names  
- while aMeshIter.More() :
-         aMeshSObj = aMeshIter.Value()
-         aMeshIter.Next()
-         anAttr = aMeshSObj.FindAttribute("AttributeName")[1]
-         if anAttr is None :
-             aMeshSObj - = aMeshIter.Value()
-             aMeshIter.Next()
-             anAttr - = aMeshSObj.FindAttribute("AttributeName")[1]
-         anAttr = anAttr._narrow(SALOMEDS.AttributeName);
-         aMeshName = anAttr.Value()
-         print "  ", aMeshName
-
-
- SComponentIterator -NewComponentIterator ()
-
- Find the number an names of all components in the study:
-
- aCompItr = myStudy.NewComponentIterator()
-
- compNb = 0
- while aCompItr.More():
-     aComp = aCompItr.Value()
-     aName = aComp.ComponentDataType()
-     print "Component name = ", aName
-     compNb += 1
-     aCompItr.Next()
-
-
- StudyBuilder -NewBuilder ()
-
-
-
- Create a new StudyBuilder (uses to add or modify an object in the -study ):
-
- myBuilder = myStudy.NewBuilder()
-
-
- AttributeStudyProperties -GetProperties ()
-
- Get the attribute, which contains the properties of the study, and -change properties of the study by changing it:
-
- aProperties = myStudy.GetProperties()
- if aProperties == None :
-     raise  RuntimeError, "Can't create AttributeStudyProperties -attribute"
- aProperties = aProperties._narrow(SALOMEDS.AttributeStudyProperties)
-
- A = aProperties
-
- # print stydy properties
- print "A.GetUserName()= ", A.GetUserName()
- res,mm,hh,dd,mnth,yy=A.GetCreationDate()
- print "A.GetCreationDate() = ", mm,hh,dd,mnth,yy
- print "A.GetCreationMode() = ", A.GetCreationMode()
- print "A.IsModified() = ", A.IsModified()
- print "A.IsLocked() = ", A.IsLocked()
-
- # change the properties of the study
- if A.IsLocked() == 0 :
-     A.SetUserName("tester"); print 'A.SetUserName("tester"), -A.GetUserName() = ', A.GetUserName()
-     A.SetCreationDate(11,11,11,11,2002); print 'A.SetCreationDate(11,11,11,11,2002), -A.GetCreationDate() =', A.GetCreationDate()
-     print "A.IsModified() = ", A.IsModified()
- A.SetLocked(1)
-
-
- boolean IsModified ()
-
- Find if study is modified:
-
- IsModified = myStudy.IsModified()
-
- if IsModified == 1:
-     print "The study is modified and not saved"
-
-
- boolean IsEmpty ()
-
- Find if study is empty:
-
- IsEmpty = myStudy.IsEmpty()
-
- if IsEmpty == 1:
-     print "The study is empty"
-
-
-
-
- -
SALOMEDS::StudyBuilder -interface
-
-
-
-
- SComponent -NewComponent ( in string ComponentDataType )
-
- Create Geometry SComponent:
-
- myBuilder = myStudy.NewBuilder()
- father = myBuilder.NewComponent("GEOM")
-
-
- void DefineComponentInstance ( in SComponent aComponent, -in Object ComponentIOR )

-
- Define the instance to the created geometry component:
-
- # find geom component
- myLCC = batchmode_salome.lcc
- geom = myLCC.FindOrLoadComponent("FactoryServer", "Geometry")
- geom = geom._narrow(GEOM.GEOM_Gen)
- geom.GetCurrentStudy(myStudyId)
-
- myBuilder = myStudy.NewBuilder()
-
- father = myBuilder.NewComponent("GEOM")
- myBuilder.DefineComponentInstance(father,geom)
-
-
- SObject -NewObject ( in SObject theFatherObject -)
-
- Create box and add it to study:
-
- from batchmode_geompy import *
-
- # create a box
- box = geom.MakeBox(0,0,0,100,100,150)
-
- ior = orb.object_to_string(box)
- box._set_Name(ior)     
-
- # create Geometry SComponent
- father = myBuilder.NewComponent("GEOM")
- A1 = myBuilder.FindOrCreateAttribute(father, "AttributeName");
- FName = A1._narrow(SALOMEDS.AttributeName)
- FName.SetValue("Geometry")
- myBuilder.DefineComponentInstance(father,geom)
-
- # add box to Study
- myBuilder.NewCommand()
- newObj = myBuilder.NewObject(father)
- A1 = myBuilder.FindOrCreateAttribute(newObj, "AttributeIOR");
- ObjIOR = A1._narrow(SALOMEDS.AttributeIOR)
- ObjIOR.SetValue(ior)
- A2 = myBuilder.FindOrCreateAttribute(newObj, "AttributeName");
- ObjName = A2._narrow(SALOMEDS.AttributeName)
- ObjName.SetValue("Common_operation")
- id = newObj.GetID()
- box._set_StudyShapeId(id)
- myBuilder.CommitCommand()
-
-
- void RemoveObject ( in SObject anObject )
-
- # Remove CutPlanes SObject from the StudyBuilder (delete cutplanes):
-
- SObj=myStudy.FindObjectIOR(cutplanes.GetID())
- myBuilder = newStudy.NewBuilder()
- myBuilder.RemoveObject(SObj)
-
-
- void LoadWith ( in SComponent sco, in -Driver Engine -) raises (SALOME::SALOME_Exception)

-
- # Load Visu component:
-
- myBuilder = openedStudy.NewBuilder()
- SCom=openedStudy.FindComponent("VISU")
- myBuilder.LoadWith(SCom ,myVisu)
-
-
- GenericAttribute -FindOrCreateAttribute ( in SObject anObject,  -in string aTypeOfAttribute)
-
- Create AttributeName attribute for created component an set value -to it:
-
- myBuilder = myStudy.NewBuilder()
- aComponent = myBuilder.NewComponent("User data")
-
- anAttr = myBuilder.FindOrCreateAttribute(aComponent, "AttributeName")
-
- anAttrName = anAttr._narrow(SALOMEDS.AttributeName)
- anAttrName.SetValue("User data")
-
-
- boolean FindAttribute ( in SObject anObject, out GenericAttribute -anAttribute, in string aTypeOfAttribute )
-
-
Find AttributeName attribute of the field and print the -field name:
-
- aFieldSObj  = myStudy.FindObject("Head, -")
-
- myStudyBuilder.FindAttribute( aFieldSObj, anAttr, "AttributeName")
- if res == 0:
-     raise  RuntimeError, "Error:  Attribute not -found"
-
- anAttr = anAttr._narrow(SALOMEDS.AttributeName);
- aFieldName = anAttr.Value()
- print "      ", aFieldName
-
-
- void RemoveAttribute ( in SObject anObject, in -string aTypeOfAttribute )
-
-
Remove AttributeSelectable attribute of the field SObject:
-
-
aFieldSObj  = myStudy.FindObject("Head, -")
-
- myStudyBuilder.RemoveAttribute( aFieldSObj, "AttributeSelectable")
-
-
-
void Addreference ( in  SObject -anObject, in  SObject theReferencedObject -)

-
- Create a reference between created SObject and the existing field:
-
- aFieldSObj  = myStudy.FindObject("Head, -")
- aNewSObj = myBuilder.NewObject(myVisu)
-
- myBuilder.Addreference(aFieldSObj, aNewSObj)
-
-
-
void -NewCommand ()
-
-
Create new command wich containes actions for changing the -properties of the study:
-
-
A = myStudy.GetProperties()
- A = aProperties._narrow(SALOMEDS.AttributeStudyProperties)
-
- myBuilder = myStudy.NewBuilder()
-
- myBuilder.NewCommand() # creates a new command
-
- # change the properties of the study
- if A.IsLocked() == 0 :
-     A.SetUserName("tester"); print 'A.SetUserName("tester"), -A.GetUserName() = ', A.GetUserName()
-     A.SetCreationDate(11,11,11,11,2002); print 'A.SetCreationDate(11,11,11,11,2002), -A.GetCreationDate() =', A.GetCreationDate()
-     print "A.IsModified() = ", A.IsModified()
- A.SetLocked(1)
-
-
myBuilder.CommitCommand() # commits all actions declared -within the created command
-
-
- void CommitCommand()
-

-
See the end of the previous example
-
-
- void AbortCommand ()

-
- Create new command wich containes actions for changing -the properties of the study, cancel all declared actions:
-
- A = myStudy.GetProperties()
- A = aProperties._narrow(SALOMEDS.AttributeStudyProperties)
-
- myBuilder = myStudy.NewBuilder()
-
- myBuilder.NewCommand() # creates a new command
-
- # change the properties of the study
- if A.IsLocked() == 0 :
-     A.SetUserName("tester"); print 'A.SetUserName("tester"), -A.GetUserName() = ', A.GetUserName()
-     A.SetCreationDate(11,11,11,11,2002); print 'A.SetCreationDate(11,11,11,11,2002), -A.GetCreationDate() =', A.GetCreationDate()
-     print "A.IsModified() = ", A.IsModified()
- A.SetLocked(1)
-
-
myBuilder.AbortCommand() # abort all actions declared -within the created command
-
-
- void Undo () raises (LockProtection) -,
- void Redo () raises (LockProtection)
-
- Create new command wich containes actions for changing -the properties of the study,
- cancel all declared actions and then redo it with the help of undo/redo -mechanism:

-
- A = myStudy.GetProperties()
- A = aProperties._narrow(SALOMEDS.AttributeStudyProperties)
-
- myBuilder = myStudy.NewBuilder()
-
- myBuilder.NewCommand() # creates a new command
-
- # change the properties of the study
- if A.IsLocked() == 0 :
-     A.SetUserName("tester"); print 'A.SetUserName("tester"), -A.GetUserName() = ', A.GetUserName()
-     A.SetCreationDate(11,11,11,11,2002); print 'A.SetCreationDate(11,11,11,11,2002), -A.GetCreationDate() =', A.GetCreationDate()
-     print "A.IsModified() = ", A.IsModified()
- A.SetLocked(1)
-
-
myBuilder.CommitCommand() # commits all actions declared -within the created command
-
-
myBuilder.Undo() # cancels all actions of the command
-
-
myBuilder.Redo() # redoes all actions of the command
-
-
-
-
-
SALOMEDS::StudyManager -interface
-
-
-
-
-
Study -NewStudy ( in string study_name )
-
- Create the study with the name "Test_Study":

-
- myNewStudy = myStudyManager.NewStudy("Test_Study")
-
-
- Study Open -( in URL -aStudyUrl ) raises (SALOME::SALOME_Exception)
-
- Open the study saved in the HDF file:
-
- file = 'saved_study.hdf'
-
- openedStudy=myStudyManager.Open(file)
-
- if openedStudy == None:
-     raise  RuntimeError, "Can't open saved study!"
-
-
- void Save (in Study aStudy, in boolean -theMultifile )
-
-
Open study, import med file into it and save with the old -path and filename:
-
-
file = "saved_study.hdf"
- myMedFile ="medfile.med"
-
- openedStudy=myStudyManager.Open(file)
-
- myVisu.SetCurrentStudy(openedStudy)
- myResult = myVisu.ImportFile(myMedFile)
-
- myStudyManager.Save(openedStudy, 0)
-
-
- void SaveAs ( in URL -aUrl, in  Study aStudy, - 
in boolean theMultifile -)
-
- Open study from the file and resave it in several files (using -Multifile option while saving)
-
-
file = "saved_study.hdf"
- newfile = "resaved_study.hdf"
-
- openedStudy=myStudyManager.Open(file)
- myStudyManager.SaveAs(newfile, openedStudy, 1)
-
-
- void Close ( in  Study aStudy )

-
- Close just opened study:
-
- file = "saved_study.hdf"
-
- openedStudy=myStudyManager.Open(file)
- myStudyManager.Close(openedStudy)
-
-
-
- -
SALOMEDS::SObject interface
-
-
-
-
- ID GetID ()
-
- Create new SObject and get its ID:
-
- mySObj = myBuilder.NewObject(myFather)
-
- myID =  mySObj.GetID()
-
-
- SComponent -GetFatherComponent ()
-
- Get father component of the SObject:
-
- myFather = mySObj.GetFatherComponent();
-
-
- boolean FindAttribute ( out GenericAttribute anAttribute, -in string aTypeOfAttribute )
-
- Find the AttributeName attribute of the field:
-
- aFieldSObj  = myStudy.FindObject("Head, -")
-
- res = aFieldSObj.FindAttribute( anAttr, "AttributeName")
- if res == 0:
-     raise  RuntimeError, "Error:  Attribute not -found"
-
-
- ListOfAttributes -GetAllAttributes ()
-
- Get list of all attributes of the SObject, find the number of attributes:
-
- attrs = mySObj.GetAllAttributes()
- aLen = len(attrs) # number of attributes
-
-
-
-
- -
SALOMEDS::SComponent interface
-
-
-
-
- string ComponentDataType ()
-
- Print names of all components wich -the study contains:
-
- aCompItr = myStudy.NewComponentIterator()
-
- while aCompItr.More():
-     aComp = aCompItr.Value()
-     aName = aComp.ComponentDataType()
-     print "Component name = ", aName
-     aCompItr.Next()
-
-
- Other methods are inherited.
-
-
-
-
- -
SALOMEDS::SComponentIterator - interface
-
-
-
-
- boolean More (), void Next (), SComponent Value -()
-
- See another -example
-
-   
-
- -
SALOMEDS::ChildIterator - interface
-
-
-
-
- boolean More () , void Next (), SObject Value ()
-
- Print all mesh names of imported MED file with the help of ChildIterator:
-
- aResult = myVisu.ImportFile("MedFile.med")
-        
- myStudy = theVisu.GetCurrentStudy()
- aSObj = myLocalStudy.FindObjectIOR(aResult.GetID())
-
- aMeshIter = myLocalStudy.NewChildIterator(aSObj);  # creating new -child iterator
-
- while aMeshIter.More() :               -                      -           # check if one more -child level exists.
-         aMeshSObj = aMeshIter.Value() -                  -         # returns the SObject corresponding -to the current object found by the iterator.  
-         aMeshIter.Next()     -                      -                      -   # passes the iterator to the next level.
-         anAttr = aMeshSObj.FindAttribute("AttributeName")[1]
-         if anAttr is None :
-                 -aMeshSObj = aMeshIter.Value()
-               -  aMeshIter.Next()
-                 -anAttr = aMeshSObj.FindAttribute("AttributeName")[1]
-         anAttr = anAttr._narrow(SALOMEDS.AttributeName);
-         aMeshName = anAttr.Value()
-         print "  ", aMeshName
-
-
-
- -
SALOMEDS::AttributeComment - interface
-
-
-
- string Value (),  void SetValue ( in string value )
-
- Find the AttributeComment attribute of the "Head" field in the study, -print it, then change it to "My Comment" string:
-
- aFieldSObj  = myStudy.FindObject("Head, -")
- anAttr = aFieldSObj.FindAttribute("AttributeComment")[1]
-                     -anAttr = anAttr._narrow(SALOMEDS.AttributeComment);
-                     -aFieldComment = anAttr.Value()
-
- print "AttributeComment", anAttr
-
- anAttr.SetValue ("My Comment")
- -

- 
- - diff --git a/doc/html/INPUT/sources/static/mapping.html b/doc/html/INPUT/sources/static/mapping.html deleted file mode 100755 index 21ead079f..000000000 --- a/doc/html/INPUT/sources/static/mapping.html +++ /dev/null @@ -1,329 +0,0 @@ - - - - - - Main Page - - - -  -
- - - - - -
-
-
- -

-Mapping of IDL definitions to Python language.

- -

-Introduction

-SALOME is a distributed client/server application using the Common -Object Request Broker Architecture (CORBA). CORBA architecture uses the -Interface Definition Language (IDL), which specifies interfaces between -CORBA objects. So with help of IDL CORBA's language independence is ensured -. Because interfaces described in IDL can be mapped to the most of currently -used programming languages, CORBA applications and components are thus -independent of the language(s) used to implement them. In other words, -a client written in C++ can communicate with a server written in Java, -which in turn can communicate with another server written in COBOL, and -so forth. -

One important thing to remember about IDL is that it is not an implementation -language. That is, applications can't be written in IDL. The sole purpose -of IDL is to define interfaces; providing implementations for these interfaces -is performed using some other language. -

This page contains an abridged reference manual for mapping of IDL definitions -to Python language. It will be useful for Python programmers who are not -familiar with IDL language. All examples are taken from SALOME source -files. The complete version of Python Language Mapping Specification can -be found here. -
  -

CONTENTS: -

-
- -

-Using Scoped Names

-Python implements a module concept that is similar to the IDL scoping mechanisms, -except that it does not allow for nested modules. In addition, Python requires -each object to be implemented in a module; globally visible objects are -not supported. -

Because of these constraints, scoped names are translated into Python -using the following rules: -

• An IDL module mapped into a Python module. Modules containing modules -are mapped to packages (i.e., directories with an __init__ module -containing all definitions excluding the nested modules). An implementation -can chose to map toplevel definitions (including the module CORBA) to modules -in an implementationdefined package, to allow concurrent installations -of different CORBA runtime libraries. In that case, the implementation -must provide additional modules so that toplevel modules can be used without -importing them from a package. -

• For all other scopes, a Python class is introduced that contains all -the definitions inside this scope. -

• Other global definitions (except modules) appear in a module whose -name is implementation dependent. Implementations are encouraged to use -the name of the IDL file when defining the name of that module. -

For instance, -

-
module SALOMEDS {
- interface StudyManager {
-  void  Close(in Study aStudy);
- };
-};
-
-would introduce a module SALOMEDS.py, which contains the following definitions: -
-
# module SALOMEDS.py
-class StudyManager:
-  def _Close(self,aStudy):
-   pass #interfaces are discussed later
-
-To avoid conflicts, IDL names that are also Python identifiers are prefixed -with an underscore (‘_’). -

Back to the contents -

-

-Mapping for Template and Array Types

-Both the bounded and the unbounded string type of IDL are mapped to the -Python string type. Wide strings are represented by an implementation-defined -type with the following properties: -

• For the wide string X and the integer n, X[n] returns the nth character, -which is a wide string of length 1. -

• len(X) returns the number of characters of wide string X. -

• CORBA.wstr(c) returns a wide character with the code point c in an -implementation-defined encoding. -

• X+Y returns the concatenation of wide strings X and Y. -

• CORBA.word(CORBA.wstr(c)) == c -

The sequence template is mapped to sequence objects (e.g., tuples or -lists). Applications should not assume that values of a sequence type are -mutable. Sequences and arrays of octets and characters are mapped to the -string type for efficiency reasons. -

For example, given the IDL definitions -

-
module SALOMEDS {
-  typedef sequence <string> StringSeq;
-   
-   interface AttributeTableOfInteger : GenericAttribute {
-
-    void SetRowTitles(in StringSeq theTitles) raises(IncorrectArgumentLength);
- };
-};
-
-a client could invoke the operation -
-
print My_AttributeTableOfInteger.SetRowTitles(["X","F"])
-
-Array types are mapped like sequence templates. The application in this -example also expects an IncorrectArgumentLength exception if it passes -sequences that violate the bounds constraint or arrays of wrong size. -

Another example with arrays. The following IDL definition -

-
module SALOMEDS {
- typedef sequence<GenericAttribute> ListOfAttributes;
- interface SObject {
-  ListOfAttributes     GetAllAttributes();
- };
-};
-
-is equal to -
-
import SALOMEDS
-
-attributes=[]
- 
-attributes = My_SObject.GetAllAttributes()
-
-length = len(attributes)
-
-print "Attributes number = ", length
-print attributes
-
-Back to the contents -

-

-Mapping for Objects and Operations

-A CORBA object reference is represented as a Python object at run-time. -This object provides all the operations that are available on the interface -of the object. Although this specification does not mandate the use of -classes for stub objects, the following discussion uses classes to indicate -the interface. -

The nil object is represented by None. -

If an operation expects parameters of the IDL Object type, any Python -object representing an object reference might be passed as actual argument. -

If an operation expects a parameter of an abstract interface, either -an object implementing that interface, or a value supporting this interface -may be passed as actual argument. The semantics of abstract values then -define whether the argument is passed by value or by reference. -

Operations of an interface map to methods available on the object references. -Parameters with a parameter attribute of in or inout are -passed from left to right tothe method, skipping out parameters. -The return value of a method depends on the number of out parameters -and the return type. If the operation returns a value, this value forms -the first result value. All inout or out parameters -form consecutive result values. The method result depends then on -the number of result values: -

• If there is no result value, the method returns None. -

• If there is exactly one result value, it is returned as a single -value. -

• If there is more than one result value, all of them are packed -into a tuple, and this tuple is returned. -

Assuming the IDL definition -

-
module SALOMEDS{
- interface StudyBuilder{
-  boolean FindAttribute  ( in SObject anObject, 
-                           out GenericAttribute anAttribute, 
-                           in string aTypeOfAttribute );
- };
-};
-
-a client could write -
-
from SALOMEDS import StudyBuilder;
-my_StudyBuilder=...
-  
-  res,A=my_StudyBuilder.FindAttribute(Sobj, "AttributeSequenceOfReal")
-
-In this example A corresponds to the return value anAttribute -and res to the boolean return value. -

If an interface defines an attribute name, for example, the attribute -is mapped into an operation _get_name. If the attribute is not readonly, -there is an additional operation _set_name. -

The IDL definition -

-
module SALOMEDS{
- interface Study{
-  attribute string Name;
- };
-};
-
-is equal to the following -
-
from SALOMEDS import Study
-My_Study=...
-  Name=My_Study._get_name();
-  Name=My_Study._set_name();
-
-Back to the contents -

-

-Narrowing Object References

-Python objects returned from CORBA operations or pseudo-operations (such -as string_to_object) might have a dynamic type, which is more specific -than the static type as defined in the operation signature. -

Since there is no efficient and reliable way of automatically creating -the most specific type, explicit narrowing is necessary. To narrow an object -reference A to an interface class AttributeSequenceOfReal, -the client can use the following operation -

-
A = A._narrow(SALOMEDS.AttributeSequenceOfReal)
-
-Back to the contents -

-

-Mapping for Exceptions

-An IDL exception is translated into a Python class derived from CORBA.UserException. -System exceptions are derived from CORBA.SystemException. Both base classes -are derived from CORBA.Exception. The parameters of the exception are mapped -in the same way as the fields of a struct definition. When raising an exception, -a new instance of the class is created; the constructor expects the exception -parameters. For example, the definition -
-
module SALOMEDS{
- interface StudyBuilder{
-  exception LockProtection {};
-  void CommitCommand() raises(LockProtection);
- };
-};
-
-could be used caught as -
-
from SALOMEDS import StudyBuilder;
-my_StudyBuilder=...
-try:
-  my_StudyBuilder.CommitCommand();
-except StudyBuilder.LockProtection,value:
-  print "Error! Study is locked for modifications"
-
- -


Back to the contents -

-

-Mapping for Enumeration Types

-An enumeration is mapped into a number of constant objects in the name -space where the enumeration is defined. An application may only test for -equivalence of two enumeration values, and not assume that they behave -like numbers. For example, the definition -
-
module VISU {
- interface PrsObject{
- 
-  enum PrsObjType{ TCURVE, TTABLE, TMESH, TCONTAINER,
-                   TSCALARMAP, TISOSURFACE, TDEFORMEDSHAPE,
-                   TCUTPLANES, TVECTORS };
- };
-};
-
-introduces the objects -
-
from VISU import PrsObject
-VISU.PrsObjType.TCURVE,VISU.PrsObjType.TTABLE,VISU.PrsObjType.TMESH,VISU.PrsObjType.TCONTAINER,
-VISU.PrsObjType.TSCALARMAP,VISU.PrsObjType.TISOSURFACE,VISU.PrsObjType.TDEFORMEDSHAPE,VISU.PrsObjType.TCUTPLANES,
-VISU.PrsObjType.TVECTORS
-
-Back to the contents -

-

-Mapping for Structured Types

-An IDL struct definition is mapped into a Python class or type. For each -field in the struct, there is a corresponding attribute in the class with -the same name as the field. The constructor of the class expects the field -values, from left to right. For example, the IDL definition -
-
struct SDate {
-               short Second;
-               short Minute;
-               short Hour;
-               short Day;
-               short Month;
-               short Year;
-             };
-
-could be used in the Python statements -
-
Date=SDate(30, 12, 15, 26, 1, 79)
-print Date.Second,Date.Minute,Date.Hour,Date.Day,Date.Month,Date.Year
-
- -
-Back to the contents
- - - - diff --git a/doc/html/INPUT/sources/static/ns_f3-1.jpg b/doc/html/INPUT/sources/static/ns_f3-1.jpg deleted file mode 100755 index fd4f4560240a2a12e80d2e7ab6a942c046e80114..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8650 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 DlLFx% diff --git a/doc/html/INPUT/sources/static/overview_Kernel.html b/doc/html/INPUT/sources/static/overview_Kernel.html deleted file mode 100755 index 144d3c341..000000000 --- a/doc/html/INPUT/sources/static/overview_Kernel.html +++ /dev/null @@ -1,191 +0,0 @@ - - - - - - Main Page - - - -  -
- - - - - - -
-
-
- - -

General overview -

-

Table of contents

- - -
-

1. Introduction

-

The kernel corresponds to the minimal set of services required for the use of SALOME components (Supervisor, IAPP). -The kernel is also used by application software components (solver) and their container. -The kernel is associated to a unique user who can launch only one kernel at once. -The kernel is launched and destroyed by voluntary actions of the user. These functions are realized via the -use of scripts.

-

The list of the kernel services related to communication issues is:

-
    -
  • The Naming service
  • -
  • The Session service
  • -
  • The Life Cycle service
  • -
  • The Registry service
  • -
  • The Notification service
  • -
-

This list is enlarged with CORBA independent services :

- -
    -
  • The module catalog service
  • -
  • The Data Type Catalog service
  • -
  • The resource catalog service
  • -
-

SALOME kernel module also encapsulates the Engine -Back to the contents -

2. Basic principles

-

The SALOME user's desktop is a process on a machine. This process includes:

-
    -
  • A graphic interface (based on Qt),
  • -
  • A text interface (Python interpreter),
  • -
  • A 3D visualization window shared by components.
  • -
-

SALOME Modules decompose into an interface (widgets GUI, text mode TUI, 3D visualization V3D) and -an engine.

-

The description of a module and its components is obtained by consulting the module catalog.

-

The interface is dynamically loaded in the process of the SALOME user's desktop. The engine is a CORBA -server launched either on the local machine or on the distant machine.

-

The engine (CORBA server) is created by a factory (or container). -This factory is also a CORBA server. Several containers can be present on a machine. -Some containers are specialized for types of components requiring a specific management. -For example, a specific container is required for components performing parallel calculations. -The engine includes at least a dynamically linked library in the container process. -This library is the implementation of the CORBA server associated to the engine. -If the engine is built from a pre-existent executable code, the library is simply a wrapper of the encapsulated code. -It launches the code in a separate process. Wherever possible, the code is included into the dynamic library. -

The container is one of the kernel services. If one needs to create a container on a distant machine, one creates a process resuming a part of the kernel services. The kernel can create other containers on distant machines via the trader (rsh). All the containers and the kernel share the same CORBA naming service with which they register.

-

The user reaches the functions of various SALOME'S components, either in graphic interactive mode (GUI) or in command mode ( TUI), via a Python interpreter.

-Back to the contents - -

3. Services and features of the SALOME kernel module

-

This section gives a brief overview of the services composing the kernel module. - The Life Cycle and Naming - services are described in separate chapters of this reference manual.

- -

3.1 Session service

-

SALOME session describes the period starting from the kernel creation and - ending with its destruction. During this period the user can connect the session - and disconnect from it without ending this session. One connection log could - be written. A priori, no information resulting from another (past) session can - be used by the current session.

-

Implementation of this service in SALOME application is provided by the class -Session encapsulated in the package -SALOME.

- -

3.2 Registry service

-

The active component registry should contain:

- -
    -
  • The list of the active components
  • -
  • The list of the active containers during a SALOME session.
  • -
-

It should allow the state of a session. It also should allow to know if session can be stopped.

-

The API reference for this service is not included in the current version of the reference manual.

- -

3.3 Notification service

-

The notification service is a kernel function which allows exchanging of events between CORBA objects.

-

In comparison with traditional CORBA event service, SALOME notification service allows to:

-
    -
  • Filter the events,
  • -
  • Structure the events,
  • -
  • Establish quality policies of services,
  • -
  • Subscribe to various event channels.
  • -
-

The API reference for this service is not included in the current version of the reference - manual.

- -

3.4 Module catalog service

-

There are two module catalogs in SALOME application:

-
    -
  • General module catalog : This first catalog is common to all SALOME users once the the platform is installed (for example for a particular company or a service). This catalog will be managed by the integrator or the administrator of the platform, -
  • Personal module catalog : A specific catalog for every user (possibly empty). This catalog should notably allow the developers to test a new component before integrating it into the general catalog. -
-

The objective of these two module catalogs is to:

-
    -
  • List the available modules; -
  • Allow the addition, the modification and the deletion of a module in catalogs; -
  • Look for a module and\or a service fulfilling some given criteria (in catalogs); -
-

Implementation of this service in SALOME application is provided by two classes -ModuleCatalogand AComponent encapsulated in the package -SALOME_ModuleCatalog.

- -

3.5 Data type catalog

- -

The data exchanged between components services have definite types. During description of input, output, and -configuration parameters of components in the module catalog, the -definition of the parameters types is taken from data type catalog. During the editing of execution of -graphs, it is necessary to check that the connections output-input parameters are of compatible -types.

-

The data types correspond to CORBA object classes, including attributes and access methods (defined by their IDL). -These types can be created by specialization of generic data types.

-

The purpose of the data type catalog is to:

-
    -
  • List the available data types in the catalog; -
  • Browse the type hierarchy to check the compatibility of types (specialized output toward generic input); -
  • Allow the addition, the modification and the deletion of a data type in the catalog; -
-

The API reference for this service is not included in the current version of the reference - manual.

-

3.6 Resource catalog

- -

This catalog describes machines, possible types of container on a machine, resources of machines... This catalog is used by the SALOME LifeCycle service.

-

The API reference for this service is not included in the current version of the reference - manual.

- -

3.7 Engine

-

The engine represents a shared library which can be dynamically loaded by a container. The container can load this library, -given an interface name and an implementation -name. The container dynamically resolves an extern_C function in the library, -which constructs the CORBA Engine servant object.

-

The SALOME engine in - the current version of the application is implemented - as Engines package of interfaces. It encapsulates two classes: Component, Container.

-

The API refernce for Engines package can be found here. -

-

3.7.1 Component class

-

This class is used for interaction between the container and the component and between the components inside the container. -

-

The API reference for this class can be found here.

- -

3.7.2 Container class

-

This class provides a set of methods which are necessary for definition of the process of loading and registration of new components in SALOME application.

-

The API reference for this class can be found here.

- -Back to the contents - - diff --git a/doc/html/INPUT/sources/static/overview_Life_Cycle.html b/doc/html/INPUT/sources/static/overview_Life_Cycle.html deleted file mode 100755 index 659c2ab24..000000000 --- a/doc/html/INPUT/sources/static/overview_Life_Cycle.html +++ /dev/null @@ -1,90 +0,0 @@ - - - - - - Life Cycle service Description - - - - - - -  -
- - - - - - -
-
-
- - -

Life Cycle service Description

-

Introduction

-

The objective of this document is to give the users of SALOME - application a brief overview of the Life Cycle service implemented in SALOME. - A complete version of the LifeCycle service specification edited by the Object Management Group, Inc.(OMG) can be found here. -

-

Table of contents

- -
- -

1. Overview

- -

Life Cycle service defines services and conventions for creating, deleting, copying and moving objects. -Because CORBA-based environments support distributed objects, the Life Cycle service defines conventions that allow clients to perform -life cycle operations on objects in different locations. This overview describes the life cycle problem for distributed object systems.

-
- - -

2. SALOME Life Cycle service description

-

The SALOME Life Cycle service represents a partial implementation of the CORBA LifeCycle service.

-

From general point of view, the SALOME Life Cycle service allows to find or load with the help of a given container a definte SALOME component with its further -initialization and registration in the Naming service.

-

Container - it's a certain engine realizing the mechanism of loading a SALOME module.

-

Component - it's a certain abstract shell wrapping SALOME modules, performing all operations concerned with their initialization and registration.

-

From the point of view of the service user, the Life Cycle provides a set of functions allowing to :

-
    -
  • Locate a machine (more generally a container) by a logical set of required features (of both container and - machine);
  • -
  • Load components on the obtained containers;
  • -
  • Create a container;
  • -
  • Obtain the container containing a given component;
  • -
  • Treat the list of the active components;
  • -
  • Treat the list of the available containers.
  • -
- - - -

The SALOME Life Cycle is a CORBA server. This server at its initialization is registered with the naming service.

-

The Life Cycle service is invoked to find a container and use it to load a -component. It supplies, as parameters, the type of container and the machine features required for loading -a given component. -

-

The Life Cycle service then returns a CORBA reference of a launched container.

-

Containers are launched on demand depending on components to be loaded. The Life Cycle service manages loading of containers.

-

When there is no launched container matching the request the Life Cycle service invokes loading of the correct type of container on a correct machine via a rsh type command.

-

The Life Cycle service interrogates containers to have information about the dynamic state of the machine (load). It contains (and update) the state of the active containers.

-

The Life Cycle service can implement a loading strategy for new containers on new machines, depending on the state of the already launched containers.

-

The Life Cycle service can stop containers at the end of session on -demand.

- -

In SALOME platform the Life Cycle service is implemented in SALOME_Life CycleCORBA class. The API refernce for the methods of this class -can be found here.

-Back to the contents -
- - -
- - - diff --git a/doc/html/INPUT/sources/static/overview_Naming.html b/doc/html/INPUT/sources/static/overview_Naming.html deleted file mode 100755 index ae24ab54d..000000000 --- a/doc/html/INPUT/sources/static/overview_Naming.html +++ /dev/null @@ -1,197 +0,0 @@ - - - - - - Naming Service Description - - - -  -
- - - - - - -
-
-
- - -

Naming Service Description

-
-

Introduction

-

This page contains an abridged version of the Naming Service specification - edited by the Object Management Group, Inc.(OMG). The objective of this document is to give the users of SALOME - application a brief overview of the Naming Service implemented in SALOME. - A complete version of this document can be found here. -

-
-

Table of contents

- - -
- -

1. Overview

-

This chapter presents the OMG Naming Service and explains how the Naming Service can be used to decouple clients and servers by -providing an external reference exchange mechanism. The chapter also covers how to solve the bootstrapping problem for clients and -servers by controlling their configuration. -

- -

In practice, copying stringified references from a server to all its clients is clumsy and does not scale. The Naming Service provides a way -for servers to advertise references under a name, and for clients to retrieve them. The advantages are: -

-
    -
  • Clients and servers can use meaningful names instead of having to deal with stringified references.
  • -
  • By changing a reference in the service without changing its name, you can transparently direct clients to a different object.
  • -
  • The Naming Service solves the bootstrapping problem because it provides a fixed point for clients and servers to rendezvous.
  • -
-

The Naming Service is much like a white pages phone book. Given a name, it - returns an object reference.

- -

The terminology used in description of NamigService is the following:

- -
    -
  • A name-to-IOR association is called by a name binding.
  • -
  • Each binding identifies exactly one object reference, but an object reference - may be bound more than once (have more than one name).
  • -
  • A naming context is an object that contains name bindings. - The names within a context must be unique. Naming contexts can contain bindings - to other naming contexts, so naming contexts can form graphs. Binding contexts - in other contexts creates a naming graph — a directed graph with nodes - and labeled edges where the nodes are contexts. A naming graph allows more - complex names to reference an object. Given a context in a naming graph, a - sequence of names can reference an object. This sequence of names (called - a compound name) defines a path in the naming graph to navigate the - resolution process. Figure 1-1 shows an example of a naming graph.
  • -
  • Binding a name to a context means to add a name–IOR pair to a context.
  • -
  • Resolving a name means to look for a name in a context and to obtain the - IOR bound under that name.
  • -
- - -
-

Figure 1-1 A Naming Graph

- Back to the contents -
- -

2. SALOME Naming Service

- -

2.1 Introduction

-

The SALOME Naming Service is a kernel function which supplies a name directory - hierarchy for pointing out CORBA objects. This name directory hierarchy allows, - from symbolic names, to dynamically find the references of distributed SALOME - objects, without information about their location. SALOME objects which can - be reached via the naming service are:

- -
    -
  • The kernel services
  • -
  • Containers -
  • SALOME components instances -
-

The name directory hierarchy in SALOME represents a graph of directories containing - symbolic associations name-reference on objects. (It has been described in the - previous section)

- -

2.2 Definitions

-
-
Directory
-
Context of names containing symbolic associations name-reference on objects.


-
"/"
-
Character used in SALOME to separate two names of a directory


-
Access path
-
List of names (separated by "/" character representing the path to be followed - in the graph to reach an association name-reference (the last name in the sequence).
-
-
Note:An object can be referenced by several symbolic names - in one or several directories.
- -

2.3 Partition of SALOME name directory hierarchy

-

The hierarchical organization of the SALOME name directory is not completely frozen . -Because the framework allows the simultaneous opening of several studies, the following levels are determined:

-
 
- /Kernel
- /Container/
-	       /Component	
-
- -

2.4 SALOME name directory persistence

-

During a SALOME session, stopping a server in charge of the Naming Service - doesn't imply the loss of the contents of the SALOME name directory hierarchy. - A backup file is produced and can be used to restart the Naming Service. So, - one can recover the state of the SALOME name directory hierarchy at restart - time. During such breakdown, every call to any function of the Naming Service - invokes an exception of type Unreachable service.

- -

2.5 SALOME Naming Service features

-

Usage and administration of the name directory hierarchy is realized by means of the following functions:

-
    -
  • Recording and recovering of the reference of an object
  • -
  • Searching for a symbolic name
  • -
  • Creating of a directory, reading and modifying of the current directory
  • -
  • Destructing of a symbolic name and a diredtory
  • -
-

The access path used in these functions can be defined, either from the root, or from any -directory of SALOME name directory hierarchy.

- -

In SALOME there is s standard interface of Naming Service, and any user can - use it for binding and finding objects. How to use it, it's possible to find - in any CORBA documentation. However in SALOME there is an additional layer which - hides calls to standard interface.

-

The precise API reference for these functions you can find here.

-

Here is a short list of public methods which are used for working with the SALOME Naming Service:

-
-

Register

-
Method which register object reference in the naming service with given name. It makes assignment between IOR and stringified name. -Then it's possible to get object reference from name using "Resolve" method.
-

-

Resolve

-
Try to obtain object reference from name. It's necessary before publishing - IOR in the Naming Service by Register method.
-

-

Find

-
The purpose of this method is to research a name from the current directory - of the naming service. Then if there is occurrence the naming service changes - directory to go to the directory where last occurrence is found.
-

-

CreateDirectory

-
This method allows to create one or several directories in the current directory
-

-

ChangeDirectory

-
Moves the current directory. The current directory is moved to the root directory if the input parameter Name is "/".
-

-

CurrentDirectory

-
Method allowing to get the current directory.
-

-

list

-
Method allowing to list and print the whole context beginning from the current context.
-

-

list_directory

-
Method to get all contexts contained in the current directory.
-

-

DestroyName

-
Destroys a symbolic name-object reference association.
-

-

DestroyDirectory

-
Destroys an empty directory.
-
- -Back to the contents -
- - diff --git a/doc/html/INPUT/sources/static/overview_Study.html b/doc/html/INPUT/sources/static/overview_Study.html deleted file mode 100755 index f4c278363..000000000 --- a/doc/html/INPUT/sources/static/overview_Study.html +++ /dev/null @@ -1,261 +0,0 @@ - - - - - - Main Page - - - -  -
- - - - - - -
-
-
- - -

General overview -

-
-

Table of contents

- -

1. Introduction

-

In SALOME application the Study module is used for management (creation, saving - etc.) of studies. In the framework of the platform, a study represents a working - document allowing to manage the data produced by various components which are - integarted into SALOME.
-

-

2. Representation of the study

-

The study represents a set of objects that we will call Study Objects or SObjects. - The study can be represented as a tree, every node of that tree containing a - SObject. SObjects in the study can be values or references towards data of calculation, - graphs of calculation, trees of construction of detail(room), results. Every - SOject of the study is characterised by a unique identifier in the study.

-

The study allows to describe the following relations:

-
    -
  • The link between the transient and persistent values of an SObject.
  • -
  • The relations between the SObjects produced by different components.
  • -
  • The relations between the SObjects produced by the same component.
  • -
  • The link between an object and its user name.
  • -
  • The access to the definition of the component which produce an object of - the study.
  • -
  • The access to instance of the component (if this one exists) which has produced - this SObject of the study.
  • -
- -

Every SObject in the study contains a set of attributes. These attributes represent - a set of definitions associated to that object, they can contain values or corba - references towards the data contained in the internal data structure of a component.

-

As the structure of the study is tree-like it is possible to associate sub-objects - to objects.

-

As particular object, the study contains Component Data which are labels associated to the component -which produce data in the study. It is to this object that we can associate attributes containing ID which -we shall allow to identify the type of the component and also its instance. Objects produced by a -component will be sub-objects of the coresponding Data Component.

-

For example Component Data GEOM will contain the data produced by the component - Geom.

- - - - - -
GEOM contains the data produced by the component GEOM. The component MESH - contains a SObject Mesh_1 wich refers to the SObject identified - by ID4 corresponding to Geometrie_1.
-

We distinguish two forms of the study, the study opened in a session SALOME and the study in the -persistent format. These two formats are described in the following sections

-

2.1 Study in transient format

-

The representation of the study in memory will be based on the document OCAF (supplied by OCC). -The document OCAF can be seen as a tree, every node of that tree is identified by a tag representing an integer value.

-

The exploration of the tree from the root to a node supplies a sequence of tags which establishes a -unique identifier ID. ID represents a character string containing the sequence of tags separated by -one ':'.

-

For example 0:1:12:4

-

To every node we can associate a set of attributes.

-

The attributes which the study can contain can be of the following types:

-
    -
  • All standard attributes supplied by OCC (package TdataStd) which allow to define (integers, -real, strings, identifiers, references etc.)
  • -
  • Attributes which contain CORBA references.
  • -
  • Attributes which contain the path HDF to reach the persistent datum. (Cf. the following chapter)
  • -
-

Remark: it is the study which takes care to build the attributes from the values which are passed to it, so -an attribute is always in a study, and it knows the study object to which it is attached.

-

Example of a Study Object as a set of various attributes.

- -

2.2 Study in persistent format

-

To store a study HDF format is used, this tool allows to represent persistent data in the form of a tree.

-

Under the root of the persistent document, you can find a set of nodes:

-
    -
  • The first node contains the skeleton of the study. The skeleton consists of the identifiers of the -objects, as well as the references among them.
  • -
  • There is also one node for every component which has produced data during this SALOME session. Under each of these -node there are values of the data produced by this component.
  • -
-

2.3 Link between transient and persistent formats

-

It will be possible to complete the definition of one object in the study by associating to it an attribute -HDFPath which will contain the path to the persistent data.

- -

Back to the contents

-

3. Services and features of the study

-

The Study in SALOME application possess a wide functionality. This functionality is provided by a set of classes which are described -below. -

3.1 Study class

-

The purpose of the Study class is to manage the data produced by various components - of SALOME platform. Most of the Study operations are handled by the StudyManager - and the StudyBuilder. What - is left in the Study class are elementary inquiries. A Study is explored by - a set of tools, mainly iterators , which are described further.

-

Nevertheless, the Study class contains a set of methods providing:

- -
    -
  • management of study properties -
  • search for SObjects. -
  • search for SComponents -
  • creation of a new StudyBuilder, ComponentIterator, ChildIterator etc. -
-

The API reference for this class can be found here.

-

3.2 StudyBuilder class

-

StudyBuilder supplies basic services to edit the study. The edition of the study is made by the -component. Every component will use the basic services of the StudyBuilder allowing to write and publish objects.

-

StudyBulder provides the following functionality:

-
    -
  • creation, modification or deletetion of SObjects in the study
  • -
  • creation or removal of SComponents
  • -
  • undo/redo functionality. For that purpose it supplies the methods NewCommand, - CommitCommand, AbortCommand.
  • -
-

The API reference for this class can be found here.

-

3.3 StudyManager class

-

The purpose of the Manager is to manipulate Studies. Since SALOME is a multi-document - application during a working session you can operate as many stadies as you - wishes to create.

-

For that purpose StudyManager provides the following functionality:

-
    -
  • creation, opening, closing and saving studies
  • -
  • navigation through a set of studies present in the current working session
  • -
  • copy/paste of the objects in the study functionality.
  • -
-

The API reference for this class can be found here.

-

3.4 SObject class

-

The objects in the study are built by the StudyBuilder. -The SObject class provides methods for elementary inquiries, like getting an object ID or its attribuites.

-

The API reference for this class can be found here.

-

3.5 SComponent class

-

The SComponent class establishes in the study a permanent assocition to the components -integrated into SALOME platform. The SComponent interface is a specialization of the SObject - class. It inherits the most of its methods from the SObject class which are used for management of the SComponents.

-

The API reference for this class can be found here.

-

3.6 ChildIterator class

-

It is one of the tools destined for exploration of the study. This class contains a set of methods allowing to get -the access to all identified objects which are sons of another identifiedobject.

-

The API reference for this class can be found here.

-

3.7 SComponentIterator

-

This is the second tool destined for exploration of the study. This interface contains the methods allowing to iterate over all SComponents in the list. - The search is started from the first SComponent in the list.

-

The API reference for this class can be found here.

- -

3.8 GenericAttribute class

-

GenericAttribute represents a base class for all attributes which can be assigned to the SObjects created in the study. All attribute classes - derive from this classe and inherit its methods.

-

The API reference for this class can be found here.

- -

In SALOME application a SObject can possess the following attributes:

- - - - - -
- -
-

3.9 UseCaseBuilder class

-

UseCase in the study represents a user-defined subtree, containing all or some of the objects which currently exist -in the study. The UseCaseBuilder class contains a set of methods used for management (creation, deletion etc) of this sub-tree in the study.

-

The API reference for this class can be found here.

- -

3.10 UseCaseIterator

-

This class represents an exploration tool for the UseCase. It contains a set of methods used for iteration over the objects in the UseCase.

-

The API reference for this class can be found here.

- -

3.11 Callback class

-

The StudyBuilder can be created with the method NewBuilder. While invocation of this method a new object of the class - Callback is created and this object is assigned to the newly created Builder as callback which should be called - when adding and removing the objects.

-

The API reference for this class can be found here.

- -

3.12 Driver class

- -

This class represents a common tool for all components integrated into SALOME - application, that allows them to communicate with the study. It contains a set - of methods which can be called by any component and which provide the following - functionality: -

    -
  • publishing in the study of the objects created by a definite component
  • -
  • saving/loading of the data created by a definite component. These methods - are called by the StudyManager when loading/saving a study containing the - data created by a definite component.
  • -
  • transforming of the transient references into persistant references (or - vice versa) of the SObjects when saving (or loading) a study
  • -
  • copy/paste common functionality. These methods can be called by any component - in order to copy/paste its object created in the study
  • -
-

The API reference for this class can be found here.

-

Back to the contents

- - diff --git a/doc/html/INPUT/sources/static/page2.html b/doc/html/INPUT/sources/static/page2.html deleted file mode 100755 index 40eed1f98..000000000 --- a/doc/html/INPUT/sources/static/page2.html +++ /dev/null @@ -1,34 +0,0 @@ - - - - - - Main Page - - - -  -
- - - - - - -
-
-
- - - - - -

Mapping of SALOME IDL definitions to Python language. -

- - diff --git a/doc/html/INPUT/sources/static/tree.js b/doc/html/INPUT/sources/static/tree.js deleted file mode 100755 index c76590490..000000000 --- a/doc/html/INPUT/sources/static/tree.js +++ /dev/null @@ -1,200 +0,0 @@ -foldersTree = gFld("SALOME v.2.0.0 ", "", "") - insDoc(foldersTree, gLnk("Main Page", "", "main.html")) - -aux1 = insFld(foldersTree, gFld("TUI Reference Guide", "")) - aux2 = insFld(aux1, gFld("Modules", "")) - aux3 = insFld(aux2, gFld("SALOME STUDY module", "")) - insDoc(aux3, gLnk("Overview", "", "overview_Study.html")) - aux4 = insFld(aux3, gFld("Packages", "")) - insDoc(aux4, gLnk("SALOMEDS", "", "namespaceSALOMEDS.html")) - insDoc(aux3, gLnk("Examples", "", "examples_Study.html")) - aux3 = insFld(aux2, gFld("SALOME KERNEL module", "")) - insDoc(aux3, gLnk("Overview", "", "overview_Kernel.html")) - aux4 = insFld(aux3, gFld("Packages", "")) - insDoc(aux4, gLnk("SALOME_ModuleCatalog", "", "namespaceSALOME__ModuleCatalog.html")) - insDoc(aux4, gLnk("SALOME", "", "namespaceSALOME.html")) - insDoc(aux4, gLnk("Engines", "", "namespaceEngines.html")) - insDoc(aux3, gLnk("Examples", "", "examples_Kernel.html")) - - -/*! Data structures -*/ - insDoc(aux1, gLnk("Data Structures", "", "annotated.html")) - -/*! insDoc(aux1, gLnk("SALOME_ModuleCatalog::Acomponent", "", "interfaceSALOME__ModuleCatalog_1_1Acomponent.html")) - insDoc(aux1, gLnk("SALOMEDS::AttributeComment", "", "interfaceSALOMEDS_1_1AttributeComment.html")) - insDoc(aux1, gLnk("SALOMEDS::AttributeDrawable", "", "interfaceSALOMEDS_1_1AttributeDrawable.html")) - insDoc(aux1, gLnk("SALOMEDS::AttributeExpandable", "", "interfaceSALOMEDS_1_1AttributeExpandable.html")) - insDoc(aux1, gLnk("SALOMEDS::AttributeInteger", "", "interfaceSALOMEDS_1_1AttributeInteger.html")) - insDoc(aux1, gLnk("SALOMEDS::AttributeIOR", "", "interfaceSALOMEDS_1_1AttributeIOR.html")) - insDoc(aux1, gLnk("SALOMEDS::AttributeLocalID", "", "interfaceSALOMEDS_1_1AttributeLocalID.html")) - insDoc(aux1, gLnk("SALOMEDS::AttributeName", "", "interfaceSALOMEDS_1_1AttributeName.html")) - insDoc(aux1, gLnk("SALOMEDS::AttributeOpened", "", "interfaceSALOMEDS_1_1AttributeOpened.html")) - insDoc(aux1, gLnk("SALOMEDS::AttributePersistentRef", "", "interfaceSALOMEDS_1_1AttributePersistentRef.html")) - insDoc(aux1, gLnk("SALOMEDS::AttributePixMap", "", "interfaceSALOMEDS_1_1AttributePixMap.html")) - insDoc(aux1, gLnk("SALOMEDS::AttributePythonObject", "", "interfaceSALOMEDS_1_1AttributePythonObject.html")) - insDoc(aux1, gLnk("SALOMEDS::AttributeReal", "", "interfaceSALOMEDS_1_1AttributeReal.html")) - insDoc(aux1, gLnk("SALOMEDS::AttributeSelectable", "", "interfaceSALOMEDS_1_1AttributeSelectable.html")) - insDoc(aux1, gLnk("SALOMEDS::AttributeSequenceOfInteger", "", "interfaceSALOMEDS_1_1AttributeSequenceOfInteger.html")) - insDoc(aux1, gLnk("SALOMEDS::AttributeSequenceOfReal", "", "interfaceSALOMEDS_1_1AttributeSequenceOfReal.html")) - insDoc(aux1, gLnk("SALOMEDS::AttributeStudyProperties", "", "interfaceSALOMEDS_1_1AttributeStudyProperties.html")) - insDoc(aux1, gLnk("SALOMEDS::AttributeTableOfInteger", "", "interfaceSALOMEDS_1_1AttributeTableOfInteger.html")) - insDoc(aux1, gLnk("SALOMEDS::AttributeTableOfInteger::IncorrectArgumentLength", "", "exceptionSALOMEDS_1_1AttributeTableOfInteger_1_1IncorrectArgumentLength.html")) - insDoc(aux1, gLnk("SALOMEDS::AttributeTableOfInteger::IncorrectIndex", "", "exceptionSALOMEDS_1_1AttributeTableOfInteger_1_1IncorrectIndex.html")) - insDoc(aux1, gLnk("SALOMEDS::AttributeTableOfReal", "", "interfaceSALOMEDS_1_1AttributeTableOfReal.html")) - insDoc(aux1, gLnk("SALOMEDS::AttributeTableOfReal::IncorrectArgumentLength", "", "exceptionSALOMEDS_1_1AttributeTableOfReal_1_1IncorrectArgumentLength.html")) - insDoc(aux1, gLnk("SALOMEDS::AttributeTableOfReal::IncorrectIndex", "", "exceptionSALOMEDS_1_1AttributeTableOfReal_1_1IncorrectIndex.html")) - insDoc(aux1, gLnk("SALOMEDS::AttributeTableOfString", "", "interfaceSALOMEDS_1_1AttributeTableOfString.html")) - insDoc(aux1, gLnk("SALOMEDS::AttributeTableOfString::IncorrectArgumentLength", "", "exceptionSALOMEDS_1_1AttributeTableOfString_1_1IncorrectArgumentLength.html")) - insDoc(aux1, gLnk("SALOMEDS::AttributeTableOfString::IncorrectIndex", "", "exceptionSALOMEDS_1_1AttributeTableOfString_1_1IncorrectIndex.html")) - insDoc(aux1, gLnk("SALOMEDS::AttributeTarget", "", "interfaceSALOMEDS_1_1AttributeTarget.html")) - insDoc(aux1, gLnk("SALOMEDS::AttributeTextColor", "", "interfaceSALOMEDS_1_1AttributeTextColor.html")) - insDoc(aux1, gLnk("SALOMEDS::AttributeTextHighlightColor", "", "interfaceSALOMEDS_1_1AttributeTextHighlightColor.html")) - insDoc(aux1, gLnk("SALOMEDS::AttributeTreeNode", "", "interfaceSALOMEDS_1_1AttributeTreeNode.html")) - insDoc(aux1, gLnk("SALOMEDS::AttributeUserID", "", "interfaceSALOMEDS_1_1AttributeUserID.html")) - insDoc(aux1, gLnk("SALOMEDS::Callback", "", "interfaceSALOMEDS_1_1Callback.html")) - insDoc(aux1, gLnk("SALOMEDS::ChildIterator", "", "interfaceSALOMEDS_1_1ChildIterator.html")) - insDoc(aux1, gLnk("SALOMEDS::Color", "", "structSALOMEDS_1_1Color.html")) - insDoc(aux1, gLnk("Engines::Component", "", "interfaceEngines_1_1Component.html")) - insDoc(aux1, gLnk("Engines::Container", "", "interfaceEngines_1_1Container.html")) - insDoc(aux1, gLnk("SALOME_ModuleCatalog::DefinitionInterface", "", "structSALOME__ModuleCatalog_1_1DefinitionInterface.html")) - insDoc(aux1, gLnk("SALOMEDS::Driver", "", "interfaceSALOMEDS_1_1Driver.html")) - insDoc(aux1, gLnk("SALOME::ExceptionStruct", "", "structSALOME_1_1ExceptionStruct.html")) - insDoc(aux1, gLnk("SALOMEDS::GenericAttribute", "", "interfaceSALOMEDS_1_1GenericAttribute.html")) - insDoc(aux1, gLnk("SALOMEDS::GenericAttribute::LockProtection", "", "exceptionSALOMEDS_1_1GenericAttribute_1_1LockProtection.html")) - insDoc(aux1, gLnk("SALOME_ModuleCatalog::IAPP_Affich", "", "structSALOME__ModuleCatalog_1_1IAPP__Affich.html")) - insDoc(aux1, gLnk("SALOME_ModuleCatalog::ModuleCatalog", "", "interfaceSALOME__ModuleCatalog_1_1ModuleCatalog.html")) - insDoc(aux1, gLnk("SALOME_ModuleCatalog::NotFound", "", "exceptionSALOME__ModuleCatalog_1_1NotFound.html")) - insDoc(aux1, gLnk("SALOMEDS::NotImplemented", "", "exceptionSALOMEDS_1_1NotImplemented.html")) - insDoc(aux1, gLnk("SALOME::SALOME_Exception", "", "exceptionSALOME_1_1SALOME__Exception.html")) - insDoc(aux1, gLnk("SALOMEDS::SComponent", "", "interfaceSALOMEDS_1_1SComponent.html")) - insDoc(aux1, gLnk("SALOMEDS::SComponentIterator", "", "interfaceSALOMEDS_1_1SComponentIterator.html")) - insDoc(aux1, gLnk("SALOME_ModuleCatalog::Service", "", "structSALOME__ModuleCatalog_1_1Service.html")) - insDoc(aux1, gLnk("SALOME_ModuleCatalog::ServicesParameter", "", "structSALOME__ModuleCatalog_1_1ServicesParameter.html")) - insDoc(aux1, gLnk("SALOME::Session", "", "interfaceSALOME_1_1Session.html")) - insDoc(aux1, gLnk("SALOME::Session::GUIActive", "", "exceptionSALOME_1_1Session_1_1GUIActive.html")) - insDoc(aux1, gLnk("SALOME::Session::RunningStudies", "", "exceptionSALOME_1_1Session_1_1RunningStudies.html")) - insDoc(aux1, gLnk("SALOMEDS::SObject", "", "interfaceSALOMEDS_1_1SObject.html")) - insDoc(aux1, gLnk("SALOME::StatSession", "", "structSALOME_1_1StatSession.html")) - insDoc(aux1, gLnk("SALOMEDS::Study", "", "interfaceSALOMEDS_1_1Study.html")) - insDoc(aux1, gLnk("SALOMEDS::Study::StudyCommentError", "", "exceptionSALOMEDS_1_1Study_1_1StudyCommentError.html")) - insDoc(aux1, gLnk("SALOMEDS::Study::StudyInvalidComponent", "", "exceptionSALOMEDS_1_1Study_1_1StudyInvalidComponent.html")) - insDoc(aux1, gLnk("SALOMEDS::Study::StudyInvalidContext", "", "exceptionSALOMEDS_1_1Study_1_1StudyInvalidContext.html")) - insDoc(aux1, gLnk("SALOMEDS::Study::StudyInvalidDirectory", "", "exceptionSALOMEDS_1_1Study_1_1StudyInvalidDirectory.html")) - insDoc(aux1, gLnk("SALOMEDS::Study::StudyNameAlreadyUsed", "", "exceptionSALOMEDS_1_1Study_1_1StudyNameAlreadyUsed.html")) - insDoc(aux1, gLnk("SALOMEDS::Study::StudyNameError", "", "exceptionSALOMEDS_1_1Study_1_1StudyNameError.html")) - insDoc(aux1, gLnk("SALOMEDS::Study::StudyObjectAlreadyExists", "", "exceptionSALOMEDS_1_1Study_1_1StudyObjectAlreadyExists.html")) - insDoc(aux1, gLnk("SALOMEDS::StudyBuilder", "", "interfaceSALOMEDS_1_1StudyBuilder.html")) - insDoc(aux1, gLnk("SALOMEDS::StudyBuilder::LockProtection", "", "exceptionSALOMEDS_1_1StudyBuilder_1_1LockProtection.html")) - insDoc(aux1, gLnk("SALOMEDS::StudyManager", "", "interfaceSALOMEDS_1_1StudyManager.html")) - insDoc(aux1, gLnk("SALOMEDS::UseCaseBuilder", "", "interfaceSALOMEDS_1_1UseCaseBuilder.html")) - insDoc(aux1, gLnk("SALOMEDS::UseCaseIterator", "", "interfaceSALOMEDS_1_1UseCaseIterator.html")) -*/ - insDoc(aux1, gLnk("Class Hierarchy", "", "hierarchy.html")) - -/*! insDoc(aux1, gLnk("SALOME_ModuleCatalog::Acomponent", "", "interfaceSALOME__ModuleCatalog_1_1Acomponent.html")) - insDoc(aux1, gLnk("SALOMEDS::AttributeTableOfInteger::IncorrectArgumentLength", "", "exceptionSALOMEDS_1_1AttributeTableOfInteger_1_1IncorrectArgumentLength.html")) - insDoc(aux1, gLnk("SALOMEDS::AttributeTableOfInteger::IncorrectIndex", "", "exceptionSALOMEDS_1_1AttributeTableOfInteger_1_1IncorrectIndex.html")) - insDoc(aux1, gLnk("SALOMEDS::AttributeTableOfReal::IncorrectArgumentLength", "", "exceptionSALOMEDS_1_1AttributeTableOfReal_1_1IncorrectArgumentLength.html")) - insDoc(aux1, gLnk("SALOMEDS::AttributeTableOfReal::IncorrectIndex", "", "exceptionSALOMEDS_1_1AttributeTableOfReal_1_1IncorrectIndex.html")) - insDoc(aux1, gLnk("SALOMEDS::AttributeTableOfString::IncorrectArgumentLength", "", "exceptionSALOMEDS_1_1AttributeTableOfString_1_1IncorrectArgumentLength.html")) - insDoc(aux1, gLnk("SALOMEDS::AttributeTableOfString::IncorrectIndex", "", "exceptionSALOMEDS_1_1AttributeTableOfString_1_1IncorrectIndex.html")) - insDoc(aux1, gLnk("SALOMEDS::Callback", "", "interfaceSALOMEDS_1_1Callback.html")) - insDoc(aux1, gLnk("SALOMEDS::ChildIterator", "", "interfaceSALOMEDS_1_1ChildIterator.html")) - insDoc(aux1, gLnk("SALOMEDS::Color", "", "structSALOMEDS_1_1Color.html")) - aux2 = insFld(aux1, gFld("Engines::Component", "", "interfaceEngines_1_1Component.html")) - insDoc(aux1, gLnk("Engines::Container", "", "interfaceEngines_1_1Container.html")) - insDoc(aux1, gLnk("SALOME_ModuleCatalog::DefinitionInterface", "", "structSALOME__ModuleCatalog_1_1DefinitionInterface.html")) - aux2 = insFld(aux1, gFld("SALOMEDS::Driver", "", "interfaceSALOMEDS_1_1Driver.html")) - insDoc(aux1, gLnk("SALOME::ExceptionStruct", "", "structSALOME_1_1ExceptionStruct.html")) - aux2 = insFld(aux1, gFld("SALOMEDS::GenericAttribute", "", "interfaceSALOMEDS_1_1GenericAttribute.html")) - insDoc(aux2, gLnk("SALOMEDS::AttributeComment", "", "interfaceSALOMEDS_1_1AttributeComment.html")) - insDoc(aux2, gLnk("SALOMEDS::AttributeDrawable", "", "interfaceSALOMEDS_1_1AttributeDrawable.html")) - insDoc(aux2, gLnk("SALOMEDS::AttributeExpandable", "", "interfaceSALOMEDS_1_1AttributeExpandable.html")) - insDoc(aux2, gLnk("SALOMEDS::AttributeInteger", "", "interfaceSALOMEDS_1_1AttributeInteger.html")) - insDoc(aux2, gLnk("SALOMEDS::AttributeIOR", "", "interfaceSALOMEDS_1_1AttributeIOR.html")) - insDoc(aux2, gLnk("SALOMEDS::AttributeLocalID", "", "interfaceSALOMEDS_1_1AttributeLocalID.html")) - insDoc(aux2, gLnk("SALOMEDS::AttributeName", "", "interfaceSALOMEDS_1_1AttributeName.html")) - insDoc(aux2, gLnk("SALOMEDS::AttributeOpened", "", "interfaceSALOMEDS_1_1AttributeOpened.html")) - insDoc(aux2, gLnk("SALOMEDS::AttributePersistentRef", "", "interfaceSALOMEDS_1_1AttributePersistentRef.html")) - insDoc(aux2, gLnk("SALOMEDS::AttributePixMap", "", "interfaceSALOMEDS_1_1AttributePixMap.html")) - insDoc(aux2, gLnk("SALOMEDS::AttributePythonObject", "", "interfaceSALOMEDS_1_1AttributePythonObject.html")) - insDoc(aux2, gLnk("SALOMEDS::AttributeReal", "", "interfaceSALOMEDS_1_1AttributeReal.html")) - insDoc(aux2, gLnk("SALOMEDS::AttributeSelectable", "", "interfaceSALOMEDS_1_1AttributeSelectable.html")) - insDoc(aux2, gLnk("SALOMEDS::AttributeSequenceOfInteger", "", "interfaceSALOMEDS_1_1AttributeSequenceOfInteger.html")) - insDoc(aux2, gLnk("SALOMEDS::AttributeSequenceOfReal", "", "interfaceSALOMEDS_1_1AttributeSequenceOfReal.html")) - insDoc(aux2, gLnk("SALOMEDS::AttributeStudyProperties", "", "interfaceSALOMEDS_1_1AttributeStudyProperties.html")) - insDoc(aux2, gLnk("SALOMEDS::AttributeTableOfInteger", "", "interfaceSALOMEDS_1_1AttributeTableOfInteger.html")) - insDoc(aux2, gLnk("SALOMEDS::AttributeTableOfReal", "", "interfaceSALOMEDS_1_1AttributeTableOfReal.html")) - insDoc(aux2, gLnk("SALOMEDS::AttributeTableOfString", "", "interfaceSALOMEDS_1_1AttributeTableOfString.html")) - insDoc(aux2, gLnk("SALOMEDS::AttributeTarget", "", "interfaceSALOMEDS_1_1AttributeTarget.html")) - insDoc(aux2, gLnk("SALOMEDS::AttributeTextColor", "", "interfaceSALOMEDS_1_1AttributeTextColor.html")) - insDoc(aux2, gLnk("SALOMEDS::AttributeTextHighlightColor", "", "interfaceSALOMEDS_1_1AttributeTextHighlightColor.html")) - insDoc(aux2, gLnk("SALOMEDS::AttributeTreeNode", "", "interfaceSALOMEDS_1_1AttributeTreeNode.html")) - insDoc(aux2, gLnk("SALOMEDS::AttributeUserID", "", "interfaceSALOMEDS_1_1AttributeUserID.html")) - insDoc(aux1, gLnk("SALOMEDS::GenericAttribute::LockProtection", "", "exceptionSALOMEDS_1_1GenericAttribute_1_1LockProtection.html")) - insDoc(aux1, gLnk("SALOME_ModuleCatalog::IAPP_Affich", "", "structSALOME__ModuleCatalog_1_1IAPP__Affich.html")) - insDoc(aux1, gLnk("SALOME_ModuleCatalog::ModuleCatalog", "", "interfaceSALOME__ModuleCatalog_1_1ModuleCatalog.html")) - insDoc(aux1, gLnk("SALOME_ModuleCatalog::NotFound", "", "exceptionSALOME__ModuleCatalog_1_1NotFound.html")) - insDoc(aux1, gLnk("SALOMEDS::NotImplemented", "", "exceptionSALOMEDS_1_1NotImplemented.html")) - insDoc(aux1, gLnk("SALOME::SALOME_Exception", "", "exceptionSALOME_1_1SALOME__Exception.html")) - insDoc(aux1, gLnk("SALOMEDS::SComponentIterator", "", "interfaceSALOMEDS_1_1SComponentIterator.html")) - insDoc(aux1, gLnk("SALOME_ModuleCatalog::Service", "", "structSALOME__ModuleCatalog_1_1Service.html")) - insDoc(aux1, gLnk("SALOME_ModuleCatalog::ServicesParameter", "", "structSALOME__ModuleCatalog_1_1ServicesParameter.html")) - insDoc(aux1, gLnk("SALOME::Session", "", "interfaceSALOME_1_1Session.html")) - insDoc(aux1, gLnk("SALOME::Session::GUIActive", "", "exceptionSALOME_1_1Session_1_1GUIActive.html")) - insDoc(aux1, gLnk("SALOME::Session::RunningStudies", "", "exceptionSALOME_1_1Session_1_1RunningStudies.html")) - aux2 = insFld(aux1, gFld("SALOMEDS::SObject", "", "interfaceSALOMEDS_1_1SObject.html")) - insDoc(aux2, gLnk("SALOMEDS::SComponent", "", "interfaceSALOMEDS_1_1SComponent.html")) - insDoc(aux1, gLnk("SALOME::StatSession", "", "structSALOME_1_1StatSession.html")) - insDoc(aux1, gLnk("SALOMEDS::Study", "", "interfaceSALOMEDS_1_1Study.html")) - insDoc(aux1, gLnk("SALOMEDS::Study::StudyCommentError", "", "exceptionSALOMEDS_1_1Study_1_1StudyCommentError.html")) - insDoc(aux1, gLnk("SALOMEDS::Study::StudyInvalidComponent", "", "exceptionSALOMEDS_1_1Study_1_1StudyInvalidComponent.html")) - insDoc(aux1, gLnk("SALOMEDS::Study::StudyInvalidContext", "", "exceptionSALOMEDS_1_1Study_1_1StudyInvalidContext.html")) - insDoc(aux1, gLnk("SALOMEDS::Study::StudyInvalidDirectory", "", "exceptionSALOMEDS_1_1Study_1_1StudyInvalidDirectory.html")) - insDoc(aux1, gLnk("SALOMEDS::Study::StudyNameAlreadyUsed", "", "exceptionSALOMEDS_1_1Study_1_1StudyNameAlreadyUsed.html")) - insDoc(aux1, gLnk("SALOMEDS::Study::StudyNameError", "", "exceptionSALOMEDS_1_1Study_1_1StudyNameError.html")) - insDoc(aux1, gLnk("SALOMEDS::Study::StudyObjectAlreadyExists", "", "exceptionSALOMEDS_1_1Study_1_1StudyObjectAlreadyExists.html")) - insDoc(aux1, gLnk("SALOMEDS::StudyBuilder", "", "interfaceSALOMEDS_1_1StudyBuilder.html")) - insDoc(aux1, gLnk("SALOMEDS::StudyBuilder::LockProtection", "", "exceptionSALOMEDS_1_1StudyBuilder_1_1LockProtection.html")) - insDoc(aux1, gLnk("SALOMEDS::StudyManager", "", "interfaceSALOMEDS_1_1StudyManager.html")) - insDoc(aux1, gLnk("SALOMEDS::UseCaseBuilder", "", "interfaceSALOMEDS_1_1UseCaseBuilder.html")) - insDoc(aux1, gLnk("SALOMEDS::UseCaseIterator", "", "interfaceSALOMEDS_1_1UseCaseIterator.html")) -*/ - insDoc(aux1, gLnk("Class methods list", "", "functions.html")) -/*! -aux1 = insFld(foldersTree, gFld("Namespace List", "", "namespaces.html")) - insDoc(aux1, gLnk("Engines", "", "namespaceEngines.html")) - insDoc(aux1, gLnk("SALOME", "", "namespaceSALOME.html")) - insDoc(aux1, gLnk("SALOME_ModuleCatalog", "", "namespaceSALOME__ModuleCatalog.html")) - insDoc(aux1, gLnk("SALOMEDS", "", "namespaceSALOMEDS.html")) -*/ - insDoc(aux1, gLnk("Namespace Members", "", "namespacemembers.html")) - - insDoc(aux1, gLnk("File List", "", "files.html")) - -/*! - insDoc(aux1, gLnk("SALOME_Component.idl", "", "SALOME__Component_8idl.html")) - insDoc(aux1, gLnk("SALOME_Exception.idl", "", "SALOME__Exception_8idl.html")) - insDoc(aux1, gLnk("SALOME_ModuleCatalog.idl", "", "SALOME__ModuleCatalog_8idl.html")) - insDoc(aux1, gLnk("SALOME_Session.idl", "", "SALOME__Session_8idl.html")) - insDoc(aux1, gLnk("SALOMEDS.idl", "", "SALOMEDS_8idl.html")) - insDoc(aux1, gLnk("SALOMEDS_Attributes.idl", "", "SALOMEDS__Attributes_8idl.html")) -*/ - -aux1 = insFld(foldersTree, gFld("IDL/Python mapping", "")) - insDoc(aux1, gLnk("Mapping of IDL definitions to Python language", "", "mapping.html")) - insDoc(aux1, gLnk("Mapping of SALOME IDL definitions to Python language", "", "page2.html")) - -/*! insDoc(foldersTree, gLnk("Graphical Class Hierarchy", "", "inherits.html")) -*/ -aux1 = insFld(foldersTree, gFld("Naming service", "")) - insDoc(aux1, gLnk("Naming Service Description ", "", "overview_Naming.html")) - insDoc(aux1, gLnk("Salome_NamingService Class Reference", "", "classSALOME__NamingService.html")) - insDoc(aux1, gLnk("Examples", "", "examples_Naming.html")) -aux1 = insFld(foldersTree, gFld("Life Cycle", "")) - insDoc(aux1, gLnk("Life Cycle Service Description ", "", "overview_Life_Cycle.html")) - insDoc(aux1, gLnk("Salome_LifeCycleCorba Class Reference", "", "classSALOME__LifeCycleCORBA.html")) - insDoc(aux1, gLnk("Examples", "", "examples_Life_cycle.html")) - - diff --git a/doc/html/INPUT/sources/static/treeview.js b/doc/html/INPUT/sources/static/treeview.js deleted file mode 100644 index 55eb43d07..000000000 --- a/doc/html/INPUT/sources/static/treeview.js +++ /dev/null @@ -1,505 +0,0 @@ -//**************************************************************** -// You are free to copy the "Folder-Tree" script as long as you -// keep this copyright notice: -// Script found in: http://www.geocities.com/Paris/LeftBank/2178/ -// Author: Marcelino Alves Martins (martins@hks.com) December '97. -//**************************************************************** - -//Log of changes: -// 17 Feb 98 - Fix initialization flashing problem with Netscape -// -// 27 Jan 98 - Root folder starts open; support for USETEXTLINKS; -// make the ftien4 a js file -// -// DvH: Dec 2000 - Made some minor changes to support external -// references - -// Definition of class Folder -// ***************************************************************** - -function Folder(folderDescription, tagName, hreference) //constructor -{ - //constant data - this.desc = folderDescription - this.tagName = tagName - this.hreference = hreference - this.id = -1 - this.navObj = 0 - this.iconImg = 0 - this.nodeImg = 0 - this.isLastNode = 0 - - //dynamic data - this.isOpen = true - this.iconSrc = "ftv2folderopen.png" - this.children = new Array - this.nChildren = 0 - - //methods - this.initialize = initializeFolder - this.setState = setStateFolder - this.addChild = addChild - this.createIndex = createEntryIndex - this.hide = hideFolder - this.display = display - this.renderOb = drawFolder - this.totalHeight = totalHeight - this.subEntries = folderSubEntries - this.outputLink = outputFolderLink -} - -function setStateFolder(isOpen) -{ - var subEntries - var totalHeight - var fIt = 0 - var i=0 - - if (isOpen == this.isOpen) - return - - if (browserVersion == 2) - { - totalHeight = 0 - for (i=0; i < this.nChildren; i++) - totalHeight = totalHeight + this.children[i].navObj.clip.height - subEntries = this.subEntries() - if (this.isOpen) - totalHeight = 0 - totalHeight - for (fIt = this.id + subEntries + 1; fIt < nEntries; fIt++) - indexOfEntries[fIt].navObj.moveBy(0, totalHeight) - } - this.isOpen = isOpen - propagateChangesInState(this) -} - -function propagateChangesInState(folder) -{ - var i=0 - - if (folder.isOpen) - { - if (folder.nodeImg) - if (folder.isLastNode) - folder.nodeImg.src = "ftv2mlastnode.png" - else - folder.nodeImg.src = "ftv2mnode.png" - folder.iconImg.src = "ftv2folderopen.png" - for (i=0; i 0) - auxEv = "" - else - auxEv = "" - - if (level>0) - if (lastNode) //the last 'brother' in the children array - { - this.renderOb(leftSide + auxEv + "") -// leftSide = leftSide + "" - this.isLastNode = 1 - } - else - { - this.renderOb(leftSide + auxEv + "") - leftSide = leftSide + "" - this.isLastNode = 0 - } - else - this.renderOb("") - - if (nc > 0) - { - level = level + 1 - for (i=0 ; i < this.nChildren; i++) - { - if (i == this.nChildren-1) - this.children[i].initialize(level, 1, leftSide) - else - this.children[i].initialize(level, 0, leftSide) - } - } -} - -function drawFolder(leftSide) -{ - if (browserVersion == 2) { - if (!doc.yPos) - doc.yPos=8 - doc.write("") - } - if (browserVersion == 3) - { - doc.write("
") - } - - doc.write("\n") - doc.write("\n\n") - doc.write("\n
") - doc.write(leftSide) - this.outputLink() - doc.write("") - doc.write("") - if (USETEXTLINKS) - { - this.outputLink() - doc.write(this.desc + "") - } - else - doc.write(this.desc) - -/*! - if (this.tagName!="") - { - doc.write(" [external]") - } -*/ - doc.write("
\n") - - if (browserVersion == 2) { - doc.write("") - } - if (browserVersion == 3) { - doc.write("
") - } - - if (browserVersion == 1) { - this.navObj = doc.all["folder"+this.id] - this.iconImg = doc.all["folderIcon"+this.id] - this.nodeImg = doc.all["nodeIcon"+this.id] - } else if (browserVersion == 2) { - this.navObj = doc.layers["folder"+this.id] - this.iconImg = this.navObj.document.images["folderIcon"+this.id] - this.nodeImg = this.navObj.document.images["nodeIcon"+this.id] - doc.yPos=doc.yPos+this.navObj.clip.height - } else if (browserVersion == 3) { - this.navObj = doc.getElementById("folder"+this.id) - this.iconImg = doc.images.namedItem("folderIcon"+this.id) - this.nodeImg = doc.images.namedItem("nodeIcon"+this.id) - } -} - -function outputFolderLink() -{ - if (this.hreference) - { - doc.write(" 0) - doc.write("onClick='javascript:clickOnFolder("+this.id+")'") - doc.write(">") - } - else - doc.write("") -} - -function addChild(childNode) -{ - this.children[this.nChildren] = childNode - this.nChildren++ - return childNode -} - -function folderSubEntries() -{ - var i = 0 - var se = this.nChildren - - for (i=0; i < this.nChildren; i++){ - if (this.children[i].children) //is a folder - se = se + this.children[i].subEntries() - } - - return se -} - - -// Definition of class Item (a document or link inside a Folder) -// ************************************************************* - -function Item(itemDescription, tagName, itemLink) // Constructor -{ - // constant data - this.desc = itemDescription - this.tagName = tagName - this.link = itemLink - this.id = -1 //initialized in initalize() - this.navObj = 0 //initialized in render() - this.iconImg = 0 //initialized in render() - this.iconSrc = "ftv2doc.png" - - // methods - this.initialize = initializeItem - this.createIndex = createEntryIndex - this.hide = hideItem - this.display = display - this.renderOb = drawItem - this.totalHeight = totalHeight -} - -function hideItem() -{ - if (browserVersion == 1 || browserVersion == 3) { - if (this.navObj.style.display == "none") - return - this.navObj.style.display = "none" - } else { - if (this.navObj.visibility == "hidden") - return - this.navObj.visibility = "hidden" - } -} - -function initializeItem(level, lastNode, leftSide) -{ - this.createIndex() - - if (level>0) - if (lastNode) //the last 'brother' in the children array - { - this.renderOb(leftSide + "") - leftSide = leftSide + "" - } - else - { - this.renderOb(leftSide + "") - leftSide = leftSide + "" - } - else - this.renderOb("") -} - -function drawItem(leftSide) -{ - if (browserVersion == 2) - doc.write("") - if (browserVersion == 3) - doc.write("
") - - doc.write("\n\n") - doc.write("\n
") - doc.write(leftSide) - if (this.link!="") - { - doc.write("") - } - doc.write("") - if (this.link!="") - { - doc.write("") - } - doc.write("") - if (USETEXTLINKS && this.link!="") - doc.write("" + this.desc + "") - else - doc.write(this.desc) -/*! - if (this.tagName!="") - { - doc.write(" [external]"); - } -*/ - doc.write("\n
\n") - - if (browserVersion == 2) - doc.write("") - if (browserVersion == 3) - doc.write("
") - - if (browserVersion == 1) { - this.navObj = doc.all["item"+this.id] - this.iconImg = doc.all["itemIcon"+this.id] - } else if (browserVersion == 2) { - this.navObj = doc.layers["item"+this.id] - this.iconImg = this.navObj.document.images["itemIcon"+this.id] - doc.yPos=doc.yPos+this.navObj.clip.height - } else if (browserVersion == 3) { - this.navObj = doc.getElementById("item"+this.id) - this.iconImg = doc.images.namedItem("itemIcon"+this.id) - } -} - - -// Methods common to both objects (pseudo-inheritance) -// ******************************************************** - -function display() -{ - if (browserVersion == 1 || browserVersion == 3) - this.navObj.style.display = "block" - else - this.navObj.visibility = "show" -} - -function createEntryIndex() -{ - this.id = nEntries - indexOfEntries[nEntries] = this - nEntries++ -} - -// total height of subEntries open -function totalHeight() //used with browserVersion == 2 -{ - var h = this.navObj.clip.height - var i = 0 - - if (this.isOpen) //is a folder and _is_ open - for (i=0 ; i < this.nChildren; i++) - h = h + this.children[i].totalHeight() - - return h -} - - -// Events -// ********************************************************* - -function clickOnFolder(folderId) -{ - var clicked = indexOfEntries[folderId] - - if (!clicked.isOpen) - clickOnNode(folderId) - - return - - if (clicked.isSelected) - return -} - -function clickOnNode(folderId) -{ - var clickedFolder = 0 - var state = 0 - - clickedFolder = indexOfEntries[folderId] - state = clickedFolder.isOpen - - clickedFolder.setState(!state) //open<->close -} - -function initializeDocument() -{ - doc = document; - if (doc.all) - browserVersion = 1 //IE4 - else - if (doc.layers) - browserVersion = 2 //NS4 - else if(navigator.userAgent.toLowerCase().indexOf('gecko') != -1) - browserVersion = 3 //mozilla - else - browserVersion = 0 //other - - foldersTree.initialize(0, 1, "") - foldersTree.display() - - if (browserVersion > 0) - { - if(browserVersion != 3) - doc.write(" ") - - // close the whole tree - clickOnNode(0) - // open the root folder - clickOnNode(0) - } -} - -// Auxiliary Functions for Folder-Treee backward compatibility -// ********************************************************* - -function gFld(description, tagName, hreference) -{ - folder = new Folder(description, tagName, hreference) - return folder -} - -function gLnk(description, tagName, linkData) -{ - fullLink = "" - - if (linkData!="") - { - fullLink = "'"+linkData+"' target=\"basefrm\"" - } - - linkItem = new Item(description, tagName, fullLink) - return linkItem -} - -function insFld(parentFolder, childFolder) -{ - return parentFolder.addChild(childFolder) -} - -function insDoc(parentFolder, document) -{ - parentFolder.addChild(document) -} - -// Global variables -// **************** - -USETEXTLINKS = 1 -indexOfEntries = new Array -nEntries = 0 -doc = document -browserVersion = 0 -selectedFolder=0 diff --git a/doc/html/Makefile.in b/doc/html/Makefile.in deleted file mode 100644 index 7b070ace2..000000000 --- a/doc/html/Makefile.in +++ /dev/null @@ -1,42 +0,0 @@ -# Copyright (C) 2003 CEA/DEN, EDF R&D -# -# -# -# File : Makefile.in -# Author : Vasily Rusyaev (Open Cascade NN) -# Module : doc -# $Header: - -top_srcdir=@top_srcdir@ -top_builddir=../.. -root_srcdir=@ROOT_SRCDIR@ -srcdir=@srcdir@ -VPATH=.:@srcdir@ -doxygen=@DOXYGEN@ - -@COMMENCE@ - -doc: - cp -fr $(srcdir)/INPUT ./; \ - cd INPUT; \ - sed 's|../../../share/salome|$(root_srcdir)|' ./doxyfile > ./doxyfile1; \ - mv -f doxyfile1 doxyfile; \ - $(doxygen) ./doxyfile; \ - cd ..; \ - cp -fr $(srcdir)/INPUT/sources/static/*.* ./html/ - cp -fr $(srcdir)/INPUT/sources/ html/ - cp -fr $(srcdir)/INPUT/exemple/ html/ - cp -fr $(srcdir)/INPUT/HTML/ html/ - -clean: - rm -rf html - -distclean: clean - rm -rf INPUT - -install: - $(INSTALL) -d $(docdir); \ - cp -rf html $(docdir) - -uninstall: - rm -rf $(docdir)/html -- 2.30.2