diff options
Diffstat (limited to 'buildscripts/PhpDocumentor/phpDocumentor/Converters')
832 files changed, 80927 insertions, 0 deletions
diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/CHM/default/CHMdefaultConverter.inc b/buildscripts/PhpDocumentor/phpDocumentor/Converters/CHM/default/CHMdefaultConverter.inc new file mode 100755 index 00000000..b9679a27 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/CHM/default/CHMdefaultConverter.inc @@ -0,0 +1,1899 @@ +<?php +/** + * CHM (Compiled Help Manual) output converter for Smarty Template. + * + * phpDocumentor :: automatic documentation generator + * + * PHP versions 4 and 5 + * + * Copyright (c) 2003-2006 Andrew Eddie, Greg Beaver + * + * LICENSE: + * + * 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, or (at your option) any + * later version. + * + * 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 + * + * @package Converters + * @subpackage CHMdefault + * @author Joshua Eichorn <jeichorn@phpdoc.org> + * @author Greg Beaver <cellog@php.net> + * @copyright 2000-2006 Joshua Eichorn, Gregory Beaver + * @license http://www.opensource.org/licenses/lgpl-license.php LGPL + * @version CVS: $Id: CHMdefaultConverter.inc 234145 2007-04-19 20:20:57Z ashnazg $ + * @filesource + * @link http://www.phpdoc.org + * @link http://pear.php.net/PhpDocumentor + * @since 1.0rc1 + */ +/** + * Generates files that MS HTML Help Worshop can use to create a MS Windows + * compiled help file (CHM) + * + * The free MS HTML Help compiler takes the project file (phpdoc.hhp) and reads + * the table of contents file specified in the project (which is always contents.hhc + * in phpDocumentor). When the converter reaches stable state, it will also + * output an index file index.hhk. The free download for MS HTML Help Workshop + * is available below + * @link http://www.microsoft.com/downloads/release.asp?releaseid=33071 MS HTML Help Workshop download + * @package Converters + * @subpackage CHMdefault + * @author Greg Beaver <cellog@php.net> + * @since 1.0rc1 + * @version $Revision: 234145 $ + */ +class CHMdefaultConverter extends Converter +{ + /** + * CHMdefaultConverter wants elements sorted by type as well as alphabetically + * @see Converter::$sort_page_contents_by_type + * @var boolean + */ + var $sort_page_contents_by_type = true; + /** @var string */ + var $outputformat = 'CHM'; + /** @var string */ + var $name = 'default'; + /** + * indexes of elements by package that need to be generated + * @var array + */ + var $leftindex = array('classes' => true, 'pages' => true, 'functions' => true, 'defines' => false, 'globals' => false); + + /** + * output directory for the current procedural page being processed + * @var string + */ + var $page_dir; + + /** + * target directory passed on the command-line. + * {@link $targetDir} is malleable, always adding package/ and package/subpackage/ subdirectories onto it. + * @var string + */ + var $base_dir; + + /** + * output directory for the current class being processed + * @var string + */ + var $class_dir; + + /** + * array of converted package page names. + * Used to link to the package page in the left index + * @var array Format: array(package => 1) + */ + var $package_pages = array(); + + /** + * controls formatting of parser informative output + * + * Converter prints: + * "Converting /path/to/file.php... Procedural Page Elements... Classes..." + * Since CHMdefaultConverter outputs files while converting, it needs to send a \n to start a new line. However, if there + * is more than one class, output is messy, with multiple \n's just between class file output. This variable prevents that + * and is purely cosmetic + * @var boolean + */ + var $juststarted = false; + + /** + * contains all of the template procedural page element loop data needed for the current template + * @var array + */ + var $current; + + /** + * contains all of the template class element loop data needed for the current template + * @var array + */ + var $currentclass; + var $wrote = false; + var $ric_set = array(); + /** + * Table of Contents entry for index.hhk + * @var array + */ + var $KLinks = array(); + + /** + * sets {@link $base_dir} to $targetDir + * @see Converter() + */ + function CHMdefaultConverter(&$allp, &$packp, &$classes, &$procpages, $po, $pp, $qm, $targetDir, $templateDir, $title) + { + Converter::Converter($allp, $packp, $classes, $procpages,$po, $pp, $qm, $targetDir, $templateDir, $title); + $this->base_dir = $targetDir; + } + + /** + * @deprecated in favor of PHP 4.3.0+ tokenizer-based source highlighting + */ + function unmangle($sourcecode) + { + $sourcecode = str_replace('<code>','<pre>',$sourcecode); + $sourcecode = str_replace('</code>','</pre>',$sourcecode); + $sourcecode = str_replace('<br />',"\n",$sourcecode); + $sourcecode = str_replace(' ',' ',$sourcecode); + $sourcecode = str_replace('<','<',$sourcecode); + $sourcecode = str_replace('>','>',$sourcecode); + $sourcecode = str_replace('&','&',$sourcecode); + return $sourcecode; + } + + /** + * @param string full path to the source file + * @param string fully highlighted source code + */ + function writeSource($path, $value) + { + $templ = &$this->newSmarty(); + $pathinfo = $this->proceduralpages->getPathInfo($path, $this); + $templ->assign('source',$value); + $templ->assign('package',$pathinfo['package']); + $templ->assign('subpackage',$pathinfo['subpackage']); + $templ->assign('name',$pathinfo['name']); + $templ->assign('source_loc',$pathinfo['source_loc']); + $templ->assign('docs',$pathinfo['docs']); + $templ->assign("subdir",'../'); + $templ->register_outputfilter('CHMdefault_outputfilter'); + $this->setTargetDir($this->getFileSourcePath($this->base_dir)); + $this->addSourceTOC($pathinfo['name'],$this->getFileSourceName($path),$pathinfo['package'],$pathinfo['subpackage'], true); + phpDocumentor_out("\n"); + $this->setSourcePaths($path); + $this->writefile($this->getFileSourceName($path).'.html',$templ->fetch('filesource.tpl')); + } + + function writeExample($title, $path, $source) + { + $templ = &$this->newSmarty(); + $templ->assign('source',$source); + if (empty($title)) + { + $title = 'example'; + addWarning(PDERROR_EMPTY_EXAMPLE_TITLE, $path, $title); + } + $templ->assign('title',$title); + $templ->assign('file',$path); + $templ->assign("subdir",'../'); + $templ->register_outputfilter('CHMdefault_outputfilter'); + $pathinfo = $this->proceduralpages->getPathInfo($path, $this); + $this->setTargetDir($this->base_dir . PATH_DELIMITER . '__examplesource'); + $this->addSourceTOC($title,'exsource_'.$path,$pathinfo['package'],$pathinfo['subpackage'], false); + phpDocumentor_out("\n"); + $this->writefile('exsource_'.$path.'.html',$templ->fetch('examplesource.tpl')); + } + + function getExampleLink($path, $title) + { + return $this->returnLink('{$subdir}__examplesource' . PATH_DELIMITER . 'exsource_'.$path.'.html',$title); + } + + function getSourceLink($path) + { + return $this->returnLink('{$subdir}__filesource/' . + $this->getFileSourceName($path).'.html','Source Code for this file'); + } + + /** + * Retrieve a Converter-specific anchor to a segment of a source code file + * parsed via a {@tutorial tags.filesource.pkg} tag. + * @param string full path to source file + * @param string name of anchor + * @param string link text, if this is a link + * @param boolean returns either a link or a destination based on this + * parameter + * @return string link to an anchor, or the anchor + */ + function getSourceAnchor($sourcefile,$anchor,$text = '',$link = false) + { + if ($link) { + return $this->returnLink('{$subdir}__filesource/' . + $this->getFileSourceName($sourcefile) . '.html#a' . $anchor, $text); + } else { + return '<a name="a'.$anchor.'"></a>'; + } + } + + + /** + * Return a line of highlighted source code with formatted line number + * + * If the $path is a full path, then an anchor to the line number will be + * added as well + * @param integer line number + * @param string highlighted source code line + * @param false|string full path to @filesource file this line is a part of, + * if this is a single line from a complete file. + * @return string formatted source code line with line number + */ + function sourceLine($linenumber, $line, $path = false) + { + $extra = ''; + if (strlen(str_replace("\n", '', $line)) == 0) { + $extra = ' '; + } + if ($path) + { + return '<li><div class="src-line">' . $this->getSourceAnchor($path, $linenumber) . + str_replace("\n",'',$line) . $extra . + "</div></li>\n"; + } else + { + return '<li><div class="src-line">' . str_replace("\n",'',$line) . + "$extra</div></li>\n"; + } + } + + /** + * Used to convert the <<code>> tag in a docblock + * @param string + * @param boolean + * @return string + */ + function ProgramExample($example, $tutorial = false, $inlinesourceparse = null/*false*/, + $class = null/*false*/, $linenum = null/*false*/, $filesourcepath = null/*false*/) + { + return $this->PreserveWhiteSpace(parent::ProgramExample($example, $tutorial, $inlinesourceparse, $class, $linenum, $filesourcepath)); + } + + /** + * @param string + */ + function TutorialExample($example) + { + $trans = $this->template_options['desctranslate']; + $this->template_options['desctranslate'] = array(); + $example = '<ol>' . parent::TutorialExample($example) + .'</ol>'; + $this->template_options['desctranslate'] = $trans; + if (!isset($this->template_options['desctranslate'])) return $example; + if (!isset($this->template_options['desctranslate']['code'])) return $example; + $example = $this->template_options['desctranslate']['code'] . $example; + if (!isset($this->template_options['desctranslate']['/code'])) return $example; + return $example . $this->template_options['desctranslate']['/code']; + } + + function getCurrentPageLink() + { + return $this->curname . '.html'; + } + + /** + * Uses htmlspecialchars() on the input + */ + function postProcess($text) + { + if ($this->highlightingSource) { + return str_replace(array(' ',"\t"), array(' ', ' '), + htmlspecialchars($text)); + } + return htmlspecialchars($text); + } + + /** + * Use the template tutorial_toc.tpl to generate a table of contents for HTML + * @return string table of contents formatted for use in the current output format + * @param array format: array(array('tagname' => section, 'link' => returnsee link, 'id' => anchor name, 'title' => from title tag),...) + */ + function formatTutorialTOC($toc) + { + $template = &$this->newSmarty(); + $template->assign('toc',$toc); + return $template->fetch('tutorial_toc.tpl'); + } + + function &SmartyInit(&$templ) + { + if (!isset($this->package_index)) + foreach($this->all_packages as $key => $val) + { + if (isset($this->pkg_elements[$key])) + { + if (!isset($start)) $start = $key; + $this->package_index[] = array('link' => "li_$key.html", 'title' => $key); + } + } + $templ->assign("packageindex",$this->package_index); + $templ->assign("subdir",''); + return $templ; + } + + + /** + * Writes out the template file of {@link $class_data} and unsets the template to save memory + * @see registerCurrentClass() + * @see parent::endClass() + */ + function endClass() + { + $a = '../'; + if (!empty($this->subpackage)) $a .= '../'; + if ($this->juststarted) + { + $this->juststarted = false; + phpDocumentor_out("\n"); + flush(); + } + $this->setTargetDir($this->base_dir . PATH_DELIMITER . $this->class_dir); + $this->class_data->assign("subdir",$a); + $this->class_data->register_outputfilter('CHMdefault_outputfilter'); + $this->addTOC($this->class,$this->class,$this->package,$this->subpackage, true); + $this->writefile($this->class . '.html',$this->class_data->fetch('class.tpl')); + unset($this->class_data); + } + + /** + * Writes out the template file of {@link $page_data} and unsets the template to save memory + * @see registerCurrent() + * @see parent::endPage() + */ + function endPage() + { + $this->package = $this->curpage->package; + $this->subpackage = $this->curpage->subpackage; + $a = '../'; + if (!empty($this->subpackage)) $a .= '../'; + $this->setTargetDir($this->base_dir . PATH_DELIMITER . $this->page_dir); + $this->page_data->assign("package",$this->package); + $this->page_data->assign("subdir",$a); + $this->page_data->register_outputfilter('CHMdefault_outputfilter'); + $this->addTOC($this->curpage->file,$this->page,$this->package,$this->subpackage); + $this->writefile($this->page . '.html',$this->page_data->fetch('page.tpl')); + unset($this->page_data); + } + + /** + * @param string + * @param string + * @return string <a href="'.$link.'">'.$text.'</a> + */ + function returnLink($link,$text) + { + return '<a href="'.$link.'">'.$text.'</a>'; + } + + /** + * CHMdefaultConverter chooses to format both package indexes and the complete index here + * + * This function formats output for the elementindex.html and pkgelementindex.html template files. It then + * writes them to the target directory + * @see generateElementIndex(), generatePkgElementIndex() + */ + function formatPkgIndex() + { + list($package_indexes,$packages,$mletters) = $this->generatePkgElementIndexes(); + for($i=0;$i<count($package_indexes);$i++) + { + $template = &$this->newSmarty(); + $this->package = $package_indexes[$i]['package']; + $this->subpackage = ''; + $template->assign("index",$package_indexes[$i]['pindex']); + $template->assign("package",$package_indexes[$i]['package']); + $template->assign("letters",$mletters[$package_indexes[$i]['package']]); + $template->assign("title","Package ".$package_indexes[$i]['package']." Element Index"); + $template->assign("subdir",'../'); + $template->register_outputfilter('CHMdefault_outputfilter'); + $this->setTargetDir($this->base_dir . PATH_DELIMITER . $package_indexes[$i]['package']); + $this->addTOC($package_indexes[$i]['package']." Alphabetical Index",'elementindex_'.$package_indexes[$i]['package'],$package_indexes[$i]['package'],''); + $this->writefile('elementindex_'.$package_indexes[$i]['package'].'.html',$template->fetch('pkgelementindex.tpl')); + } + phpDocumentor_out("\n"); + flush(); + } + + /** + * CHMdefaultConverter uses this function to format template index.html and packages.html + * + * This function generates the package list from {@link $all_packages}, eliminating any + * packages that don't have any entries in their package index (no files at all, due to @ignore + * or other factors). Then it uses the default package name as the first package index to display. + * It sets the right pane to be either a blank file with instructions on making package-level docs, + * or the package-level docs for the default package. + * @global string Used to set the starting package to display + */ + function formatIndex() + { + global $phpDocumentor_DefaultPackageName; + list($elindex,$mletters) = $this->generateElementIndex(); + $template = &$this->newSmarty(); + $template->assign("index",$elindex); + $template->assign("letters",$mletters); + $template->assign("title","Element Index"); + $template->assign("date",date("r",time())); + $template->register_outputfilter('CHMdefault_outputfilter'); + phpDocumentor_out("\n"); + flush(); + $this->setTargetDir($this->base_dir); + $this->addTOC("Alphabetical Index Of All Elements",'elementindex',"Index",''); + $this->writefile('elementindex.html',$template->fetch('elementindex.tpl')); + usort($this->package_index,"CHMdefault_pindexcmp"); + $index = &$this->newSmarty(); + foreach($this->all_packages as $key => $val) + { + if (isset($this->pkg_elements[$key])) + { + if (!isset($start)) $start = $key; + if (!isset($this->package_pages[$key])) $this->writeNewPPage($key); + } + } + $this->setTargetDir($this->base_dir); + // Created index.html + if (isset($this->pkg_elements[$phpDocumentor_DefaultPackageName])) $start = $phpDocumentor_DefaultPackageName; + $this->package = $start; + $this->subpackage = ''; + $setalready = false; + if (isset($this->tutorials[$start]['']['pkg'])) + { + foreach($this->tutorials[$start]['']['pkg'] as $tute) + { + if ($tute->name == $start . '.pkg') + { + $setalready = true; + $this->addTOC("Start page",$start.'/tutorial_'.$tute->name,"Index",''); + } + } + } + if (!$setalready) + { + if (isset($this->package_pages[$start])) + { + $this->addTOC("Start page",'package_'.$start,"Index",''); + } + else + { + $index->assign("blank","blank"); + $blank = &$this->newSmarty(); + $blank->assign('package',$phpDocumentor_DefaultPackageName); + $this->addTOC("Start page",'blank',"Index",''); + $this->writefile("blank.html",$blank->fetch('blank.tpl')); + Converter::writefile('index.html',$blank->fetch('tutorial.tpl')); + } + } + phpDocumentor_out("\n"); + flush(); + + unset($index); + } + + function writeNewPPage($key) + { + return; + $template = &$this->newSmarty(); + $this->package = $key; + $this->subpackage = ''; + $template->assign("date",date("r",time())); + $template->assign("title",$this->title); + $template->assign("package",$key); + $template->register_outputfilter('CHMdefault_outputfilter'); + phpDocumentor_out("\n"); + flush(); + $this->setTargetDir($this->base_dir); + + $this->addTOC("$key Index","li_$key",$key,''); + $this->writefile("li_$key.html",$template->fetch('index.tpl')); + unset($template); + } + + /** + * Generate indexes for li_package.html and classtree output files + * + * This function generates the li_package.html files from the template file left.html. It does this by + * iterating through each of the $page_elements, $class_elements and $function_elements arrays to retrieve + * the pre-sorted {@link abstractLink} descendants needed for index generation. Conversion of these links to + * text is done by {@link returnSee()}. The {@link $local} parameter is set to false to ensure that paths are correct. + * + * Then it uses {@link generateFormattedClassTrees()} to create class trees from the template file classtrees.html. Output + * filename is classtrees_packagename.html. This function also unsets {@link $elements} and {@link $pkg_elements} to free + * up the considerable memory these two class vars use + * @see $page_elements, $class_elements, $function_elements + */ + function formatLeftIndex() + { + phpDocumentor_out("\n"); + flush(); + $this->setTargetDir($this->base_dir); + if (0)//!isset($this->left)) + { + debug("Nothing parsed, check the command-line"); + die(); + } + foreach($this->all_packages as $package => $rest) + { + if (!isset($this->pkg_elements[$package])) continue; + + // Create class tree page + $template = &$this->newSmarty(); + $template->assign("classtrees",$this->generateFormattedClassTrees($package)); + $template->assign("package",$package); + $template->assign("date",date("r",time())); + $template->register_outputfilter('CHMdefault_outputfilter'); + $this->addTOC("$package Class Trees","classtrees_$package",$package,''); + $this->writefile("classtrees_$package.html",$template->fetch('classtrees.tpl')); + phpDocumentor_out("\n"); + flush(); + } + // free up considerable memory + unset($this->elements); + unset($this->pkg_elements); + } + + /** + * This function takes an {@link abstractLink} descendant and returns an html link + * + * @param abstractLink a descendant of abstractlink should be passed, and never text + * @param string text to display in the link + * @param boolean this parameter is not used, and is deprecated + * @param boolean determines whether the returned text is enclosed in an <a> tag + */ + function returnSee(&$element, $eltext = false, $with_a = true) + { + if (!$element) return false; + if (!$with_a) return $this->getId($element, false); + if (!$eltext) + { + $eltext = ''; + switch($element->type) + { + case 'tutorial' : + $eltext = strip_tags($element->title); + break; + case 'method' : + case 'var' : + case 'const' : + $eltext .= $element->class.'::'; + case 'page' : + case 'define' : + case 'class' : + case 'function' : + case 'global' : + default : + $eltext .= $element->name; + if ($element->type == 'function' || $element->type == 'method') $eltext .= '()'; + break; + } + } + return '<a href="'.$this->getId($element).'">'.$eltext.'</a>'; + } + + function getId($element, $fullpath = true) + { + if (phpDocumentor_get_class($element) == 'parserdata') + { + $element = $this->addLink($element->parent); + $elp = $element->parent; + } elseif (is_a($element, 'parserbase')) + { + $elp = $element; + $element = $this->addLink($element); + } + $c = ''; + if (!empty($element->subpackage)) + { + $c = '/'.$element->subpackage; + } + $b = '{$subdir}'; + switch ($element->type) + { + case 'page' : + if ($fullpath) + return $b.$element->package.$c.'/'.$element->fileAlias.'.html'; + return 'top'; + break; + case 'define' : + case 'global' : + case 'function' : + if ($fullpath) + return $b.$element->package.$c.'/'.$element->fileAlias.'.html#'.$element->type.$element->name; + return $element->type.$element->name; + break; + case 'class' : + if ($fullpath) + return $b.$element->package.$c.'/'.$element->name.'.html'; + return 'top'; + break; + case 'method' : + case 'var' : + case 'const' : + if ($fullpath) + return $b.$element->package.$c.'/'.$element->class.'.html#'.$element->type.$element->name; + return $element->type.$element->name; + break; + case 'tutorial' : + $d = ''; + if ($element->section) + { + $d = '#'.$element->section; + } + return $b.$element->package.$c.'/tutorial_'.$element->name.'.html'.$d; + } + } + + function ConvertTodoList() + { + $todolist = array(); + foreach($this->todoList as $package => $alltodos) + { + foreach($alltodos as $todos) + { + $converted = array(); + $converted['link'] = $this->returnSee($todos[0]); + if (!is_array($todos[1])) + { + $converted['todos'][] = $todos[1]->Convert($this); + } else + { + foreach($todos[1] as $todo) + { + $converted['todos'][] = $todo->Convert($this); + } + } + $todolist[$package][] = $converted; + } + } + $templ = &$this->newSmarty(); + $templ->assign('todos',$todolist); + $templ->register_outputfilter('CHMdefault_outputfilter'); + $this->setTargetDir($this->base_dir); + $this->addTOC('Todo List','todolist','Index','',false,true); + $this->addKLink('Todo List', 'todolist', '', 'Development'); + $this->writefile('todolist.html',$templ->fetch('todolist.tpl')); + } + + /** + * Convert README/INSTALL/CHANGELOG file contents to output format + * @param README|INSTALL|CHANGELOG + * @param string contents of the file + */ + function Convert_RIC($name, $contents) + { + $template = &$this->newSmarty(); + $template->assign('contents',$contents); + $template->assign('name',$name); + $this->setTargetDir($this->base_dir); + $this->addTOC($name,'ric_'.$name,'Index','',false,true); + $this->addKLink($name, 'ric_'.$name, '', 'Development'); + $this->writefile('ric_'.$name . '.html',$template->fetch('ric.tpl')); + $this->ric_set[$name] = true; + } + + /** + * Create errors.html template file output + * + * This method takes all parsing errors and warnings and spits them out ordered by file and line number. + * @global ErrorTracker We'll be using it's output facility + */ + function ConvertErrorLog() + { + global $phpDocumentor_errors; + $allfiles = array(); + $files = array(); + $warnings = $phpDocumentor_errors->returnWarnings(); + $errors = $phpDocumentor_errors->returnErrors(); + $template = &$this->newSmarty(); + foreach($warnings as $warning) + { + $file = '##none'; + $linenum = 'Warning'; + if ($warning->file) + { + $file = $warning->file; + $allfiles[$file] = 1; + $linenum .= ' on line '.$warning->linenum; + } + $files[$file]['warnings'][] = array('name' => $linenum, 'listing' => $warning->data); + } + foreach($errors as $error) + { + $file = '##none'; + $linenum = 'Error'; + if ($error->file) + { + $file = $error->file; + $allfiles[$file] = 1; + $linenum .= ' on line '.$error->linenum; + } + $files[$file]['errors'][] = array('name' => $linenum, 'listing' => $error->data); + } + $i=1; + $af = array(); + foreach($allfiles as $file => $num) + { + $af[$i++] = $file; + } + $allfiles = $af; + usort($allfiles,'strnatcasecmp'); + $allfiles[0] = "Post-parsing"; + foreach($allfiles as $i => $a) + { + $allfiles[$i] = array('file' => $a); + } + $out = array(); + foreach($files as $file => $data) + { + if ($file == '##none') $file = 'Post-parsing'; + $out[$file] = $data; + } + $template->assign("files",$allfiles); + $template->assign("all",$out); + $template->assign("title","phpDocumentor Parser Errors and Warnings"); + $this->setTargetDir($this->base_dir); + $this->writefile("errors.html",$template->fetch('errors.tpl')); + unset($template); + phpDocumentor_out("\n\nTo view errors and warnings, look at ".$this->base_dir. PATH_DELIMITER . "errors.html\n"); + flush(); + } + + function getCData($value) + { + return '<pre>'.htmlentities($value).'</pre>'; + } + + function getTutorialId($package,$subpackage,$tutorial,$id) + { + return $id; + } + + /** + * Converts package page and sets its package as used in {@link $package_pages} + * @param parserPackagePage + */ + function convertPackagepage(&$element) + { + phpDocumentor_out("\n"); + flush(); + $this->package = $element->package; + $this->subpackage = ''; + $contents = $element->Convert($this); + $this->package_pages[$element->package] = str_replace('{$subdir}','../',$contents); + phpDocumentor_out("\n"); + flush(); + $this->setTargetDir($this->base_dir . PATH_DELIMITER . $element->package); + $this->addTOC($element->package." Tutorial",'package_'.$element->package,$element->package,''); + $this->writeFile('package_'.$element->package.'.html',str_replace('{$subdir}','../',$contents)); + $this->setTargetDir($this->base_dir); + Converter::writefile('index.html',str_replace('{$subdir}','',$contents)); + $this->addKLink($element->package." Tutorial", 'package_'.$element->package, '', 'Tutorials'); + } + + /** + * @param parserTutorial + */ + function convertTutorial(&$element) + { + phpDocumentor_out("\n"); + flush(); + $template = &parent::convertTutorial($element); + $a = '../'; + if ($element->subpackage) $a .= '../'; + $template->assign('subdir',$a); + $template->register_outputfilter('CHMdefault_outputfilter'); + $contents = $template->fetch('tutorial.tpl'); + if ($element->package == $GLOBALS['phpDocumentor_DefaultPackageName'] && empty($element->subpackage) && ($element->name == $element->package . '.pkg')) + { + $template->assign('subdir',''); + $this->setTargetDir($this->base_dir); + Converter::writefile('index.html',$template->fetch('tutorial.tpl')); + } + $a = ''; + if ($element->subpackage) $a = PATH_DELIMITER . $element->subpackage; + phpDocumentor_out("\n"); + flush(); + $this->setTargetDir($this->base_dir . PATH_DELIMITER . $element->package . $a); + $this->addTOC($a = strip_tags($element->getTitle($this)), 'tutorial_'.$element->name, + $element->package, $element->subpackage, false, true); + $this->writeFile('tutorial_'.$element->name.'.html',$contents); + $this->addKLink($element->getTitle($this), $element->package . $a . PATH_DELIMITER . 'tutorial_'.$element->name, + '', 'Tutorials'); + } + + /** + * Converts class for template output + * @see prepareDocBlock(), generateChildClassList(), generateFormattedClassTree(), getFormattedConflicts() + * @see getFormattedInheritedMethods(), getFormattedInheritedVars() + * @param parserClass + */ + function convertClass(&$element) + { + parent::convertClass($element); + $this->class_dir = $element->docblock->package; + if (!empty($element->docblock->subpackage)) $this->class_dir .= PATH_DELIMITER . $element->docblock->subpackage; + $a = '../'; + if ($element->docblock->subpackage != '') $a = "../$a"; + + $this->class_data->assign('subdir',$a); + $this->class_data->assign("title","Docs For Class " . $element->getName()); + $this->class_data->assign("page",$element->getName() . '.html'); + $this->addKLink($element->name, $this->class_dir . PATH_DELIMITER . $this->class, '', 'Classes'); + } + + + /** + * Converts class variables for template output + * @see prepareDocBlock(), getFormattedConflicts() + * @param parserDefine + */ + function convertVar(&$element) + { + parent::convertVar($element, array('var_dest' => $this->getId($element,false))); + $this->setTargetDir($this->base_dir . PATH_DELIMITER . $this->class_dir); + $this->addKLink($element->name, $this->class_dir . PATH_DELIMITER .$this->class, $this->getId($element,false), $element->class.' Properties'); + } + + /** + * Converts class constants for template output + * @see prepareDocBlock(), getFormattedConflicts() + * @param parserDefine + */ + function convertConst(&$element) + { + parent::convertConst($element, array('const_dest' => $this->getId($element,false))); + $this->setTargetDir($this->base_dir . PATH_DELIMITER . $this->class_dir); + $this->addKLink($element->name, $this->class_dir . PATH_DELIMITER .$this->class, $this->getId($element,false), $element->class.' Constants'); + } + + /** + * Converts class methods for template output + * @see prepareDocBlock(), getFormattedConflicts() + * @param parserDefine + */ + function convertMethod(&$element) + { + parent::convertMethod($element, array('method_dest' => $this->getId($element,false))); + $this->setTargetDir($this->base_dir . PATH_DELIMITER . $this->class_dir); + $this->addKLink($element->name, $this->class_dir . PATH_DELIMITER .$this->class, $this->getId($element,false), $element->class.' Methods'); + } + + /** + * Converts function for template output + * @see prepareDocBlock(), parserFunction::getFunctionCall(), getFormattedConflicts() + * @param parserFunction + */ + function convertFunction(&$element) + { + $funcloc = $this->getId($this->addLink($element)); + parent::convertFunction($element,array('function_dest' => $this->getId($element,false))); + $this->setTargetDir($this->base_dir . PATH_DELIMITER . $this->page_dir); + $this->addKLink($element->name, $this->page_dir . PATH_DELIMITER . $this->page, $this->getId($element,false), 'Functions'); + } + + /** + * Converts include elements for template output + * @see prepareDocBlock() + * @param parserInclude + */ + function convertInclude(&$element) + { + parent::convertInclude($element, array('include_file' => '_'.strtr($element->getValue(),array('"' => '', "'" => '','.' => '_')))); + $this->setTargetDir($this->base_dir . PATH_DELIMITER . $this->page_dir); + $this->addKLink(str_replace('"', '', $element->getValue()), $this->page_dir . PATH_DELIMITER . $this->page, '', ucfirst($element->name)); + } + + /** + * Converts defines for template output + * @see prepareDocBlock(), getFormattedConflicts() + * @param parserDefine + */ + function convertDefine(&$element) + { + parent::convertDefine($element, array('define_link' => $this->getId($element,false))); + $this->setTargetDir($this->base_dir . PATH_DELIMITER . $this->page_dir); + $this->addKLink($element->name, $this->page_dir . PATH_DELIMITER . $this->page, $this->getId($element,false), 'Constants'); + } + + /** + * Converts global variables for template output + * @param parserGlobal + */ + function convertGlobal(&$element) + { + parent::convertGlobal($element, array('global_link' => $this->getId($element,false))); + $this->setTargetDir($this->base_dir . PATH_DELIMITER . $this->page_dir); + $this->addKLink($element->name, $this->page_dir . PATH_DELIMITER . $this->page, $this->getId($element,false), 'Global Variables'); + } + + /** + * converts procedural pages for template output + * @see prepareDocBlock(), getClassesOnPage() + * @param parserData + */ + function convertPage(&$element) + { + parent::convertPage($element); + $this->juststarted = true; + $this->page_dir = $element->parent->package; + if (!empty($element->parent->subpackage)) $this->page_dir .= PATH_DELIMITER . $element->parent->subpackage; + // registering stuff on the template + $this->page_data->assign("page",$this->getPageName($element) . '.html'); + $this->page_data->assign("title","Docs for page ".$element->parent->getFile()); + $this->setTargetDir($this->base_dir . PATH_DELIMITER . $this->page_dir); + $this->addKLink($element->parent->file, $this->page_dir . PATH_DELIMITER . $this->page, '', 'Files'); + } + + function getPageName(&$element) + { + if (phpDocumentor_get_class($element) == 'parserpage') return '_'.$element->getName(); + return '_'.$element->parent->getName(); + } + + /** + * returns an array containing the class inheritance tree from the root object to the class + * + * @param parserClass class variable + * @return array Format: array(root,child,child,child,...,$class) + * @uses parserClass::getParentClassTree() + */ + + function generateFormattedClassTree($class) + { + $tree = $class->getParentClassTree($this); + $out = ''; + if (count($tree) - 1) + { + $result = array($class->getName()); + $parent = $tree[$class->getName()]; + $distance[] = ''; + while ($parent) + { + $x = $parent; + if (is_object($parent)) + { + $subpackage = $parent->docblock->subpackage; + $package = $parent->docblock->package; + $x = $parent; + $x = $parent->getLink($this); + if (!$x) $x = $parent->getName(); + } + $result[] = + $x; + $distance[] = + "\n%s|\n" . + "%s--"; + if (is_object($parent)) + $parent = $tree[$parent->getName()]; + elseif (isset($tree[$parent])) + $parent = $tree[$parent]; + } + $nbsp = ' '; + for($i=count($result) - 1;$i>=0;$i--) + { + $my_nbsp = ''; + for($j=0;$j<count($result) - $i;$j++) $my_nbsp .= $nbsp; + $distance[$i] = sprintf($distance[$i],$my_nbsp,$my_nbsp); + } + return array('classes'=>array_reverse($result),'distance'=>array_reverse($distance)); + } else + { + return array('classes'=>$class->getName(),'distance'=>array('')); + } + } + + /** @access private */ + function sortVar($a, $b) + { + return strnatcasecmp($a->getName(),$b->getName()); + } + + /** @access private */ + function sortMethod($a, $b) + { + if ($a->isConstructor) return -1; + if ($b->isConstructor) return 1; + return strnatcasecmp($a->getName(),$b->getName()); + } + + /** + * returns a template-enabled array of class trees + * + * @param string $package package to generate a class tree for + * @see $roots, HTMLConverter::getRootTree() + */ + function generateFormattedClassTrees($package) + { + if (!isset($this->roots['normal'][$package]) && + !isset($this->roots['special'][$package])) { + return array(); + } + $trees = array(); + if (isset($this->roots['normal'][$package])) { + $roots = $this->roots['normal'][$package]; + for($i=0;$i<count($roots);$i++) + { + $root = $this->classes->getClassByPackage($roots[$i], $package); + if ($root && $root->isInterface()) { + continue; + } + $trees[] = array('class' => $roots[$i],'class_tree' => "<ul>\n".$this->getRootTree($this->getSortedClassTreeFromClass($roots[$i],$package,''),$package)."</ul>\n"); + } + } + if (isset($this->roots['special'][$package])) { + $roots = $this->roots['special'][$package]; + foreach ($roots as $parent => $classes) { + $thistree = ''; + foreach ($classes as $classinfo) { + $root = $this->classes->getClassByPackage($classinfo, $package); + if ($root && $root->isInterface()) { + continue; + } + $thistree .= + $this->getRootTree( + $this->getSortedClassTreeFromClass( + $classinfo, + $package, + ''), + $package, + true); + } + if (!$thistree) { + continue; + } + $trees[] = array( + 'class' => $parent, + 'class_tree' => "<ul>\n" . $thistree . "</ul>\n" + ); + } + } + return $trees; + } + + /** + * returns a template-enabled array of interface inheritance trees + * + * @param string $package package to generate a class tree for + * @see $roots, HTMLConverter::getRootTree() + */ + function generateFormattedInterfaceTrees($package) + { + if (!isset($this->roots['normal'][$package]) && + !isset($this->roots['special'][$package])) { + return array(); + } + $trees = array(); + if (isset($this->roots['normal'][$package])) { + $roots = $this->roots['normal'][$package]; + for($i=0;$i<count($roots);$i++) + { + $root = $this->classes->getClassByPackage($roots[$i], $package); + if ($root && !$root->isInterface()) { + continue; + } + $trees[] = array('class' => $roots[$i],'class_tree' => "<ul>\n".$this->getRootTree($this->getSortedClassTreeFromClass($roots[$i],$package,''),$package)."</ul>\n"); + } + } + if (isset($this->roots['special'][$package])) { + $roots = $this->roots['special'][$package]; + foreach ($roots as $parent => $classes) { + $thistree = ''; + foreach ($classes as $classinfo) { + $root = $this->classes->getClassByPackage($classinfo, $package); + if ($root && !$root->isInterface()) { + continue; + } + $thistree .= + $this->getRootTree( + $this->getSortedClassTreeFromClass( + $classinfo, + $package, + ''), + $package, + true); + } + if (!$thistree) { + continue; + } + $trees[] = array( + 'class' => $parent, + 'class_tree' => "<ul>\n" . $thistree . "</ul>\n" + ); + } + } + return $trees; + } + + /** + * return formatted class tree for the Class Trees page + * + * @param array $tree output from {@link getSortedClassTreeFromClass()} + * @param string $package package + * @param boolean $nounknownparent if true, an object's parent will not be checked + * @see Classes::$definitechild, generateFormattedClassTrees() + * @return string + */ + function getRootTree($tree, $package, $noparent = false) + { + if (!$tree) return ''; + $my_tree = ''; + $cur = '#root'; + $lastcur = array(false); + $kids = array(); + $dopar = false; + if (!$noparent && $tree[$cur]['parent']) + { + $dopar = true; + if (!is_object($tree[$cur]['parent'])) + { +// debug("parent ".$tree[$cur]['parent']." not found"); + $my_tree .= '<li>' . $tree[$cur]['parent'] .'<ul>'; + } + else + { +// debug("parent ".$this->returnSee($tree[$cur]['parent'])." in other package"); + $my_tree .= '<li>' . $this->returnSee($tree[$cur]['parent']); + if ($tree[$cur]['parent']->package != $package) $my_tree .= ' <b>(Different package)</b><ul>'; + } + } + do + { +// fancy_debug($cur,$lastcur,$kids); + if (count($tree[$cur]['children'])) + { +// debug("$cur has children"); + if (!isset($kids[$cur])) + { +// debug("set $cur kids"); + $kids[$cur] = 1; + $my_tree .= '<li>'.$this->returnSee($tree[$cur]['link']); + $my_tree .= '<ul>'."\n"; + } + array_push($lastcur,$cur); + list(,$cur) = each($tree[$cur]['children']); +// var_dump('listed',$cur); + if ($cur) + { + $cur = $cur['package'] . '#' . $cur['class']; +// debug("set cur to child $cur"); +// $my_tree .= '<li>'.$this->returnSee($tree[$cur]['link']); + continue; + } else + { +// debug("end of children for $cur"); + $cur = array_pop($lastcur); + $cur = array_pop($lastcur); + $my_tree .= '</ul></li>'."\n"; + if ($dopar && ($cur == '#root' || !$cur)) $my_tree .= '</ul></li>'; + } + } else + { +// debug("$cur has no children"); + $my_tree .= '<li>'.$this->returnSee($tree[$cur]['link'])."</li>"; + if ($dopar && $cur == '#root') $my_tree .= '</ul></li>'; + $cur = array_pop($lastcur); + } + } while ($cur); + return $my_tree; + } + /** + * Generate indexing information for given element + * + * @param parserElement descendant of parserElement + * @see generateElementIndex() + * @return array + */ + function getIndexInformation($elt) + { + $Result['type'] = $elt->type; + $Result['file_name'] = $elt->file; + $Result['path'] = $elt->getPath(); + + if (isset($elt->docblock)) + { + $Result['description'] = $elt->docblock->getSDesc($this); + + if ($elt->docblock->hasaccess) + $Result['access'] = $elt->docblock->tags['access'][0]->value; + else + $Result['access'] = 'public'; + + $Result['abstract'] = isset ($elt->docblock->tags['abstract'][0]); + } + else + $Result['description'] = ''; + + $aa = $Result['description']; + if (!empty($aa)) $aa = "<br> $aa"; + + switch($elt->type) + { + case 'class': + $Result['name'] = $elt->getName(); + $Result['title'] = 'Class'; + $Result['link'] = $this->getClassLink($elt->getName(), + $elt->docblock->package, + $elt->getPath(), + $elt->getName()); + $Result['listing'] = 'in file '.$elt->file.', class '.$Result['link']."$aa"; + break; + case 'define': + $Result['name'] = $elt->getName(); + $Result['title'] = 'Constant'; + $Result['link'] = $this->getDefineLink($elt->getName(), + $elt->docblock->package, + $elt->getPath(), + $elt->getName()); + $Result['listing'] = 'in file '.$elt->file.', constant '.$Result['link']."$aa"; + break; + case 'global': + $Result['name'] = $elt->getName(); + $Result['title'] = 'Global'; + $Result['link'] = $this->getGlobalLink($elt->getName(), + $elt->docblock->package, + $elt->getPath(), + $elt->getName()); + $Result['listing'] = 'in file '.$elt->file.', global variable '.$Result['link']."$aa"; + break; + case 'function': + $Result['name'] = $elt->getName(); + $Result['title'] = 'Function'; + $Result['link'] = $this->getFunctionLink($elt->getName(), + $elt->docblock->package, + $elt->getPath(), + $elt->getName().'()'); + $Result['listing'] = 'in file '.$elt->file.', function '.$Result['link']."$aa"; + break; + case 'method': + $Result['name'] = $elt->getName(); + $Result['title'] = 'Method'; + $Result['link'] = $this->getMethodLink($elt->getName(), + $elt->class, + $elt->docblock->package, + $elt->getPath(), + $elt->class.'::'.$elt->getName().'()' + ); + if ($elt->isConstructor) $Result['constructor'] = 1; + $Result['listing'] = 'in file '.$elt->file.', method '.$Result['link']."$aa"; + break; + case 'var': + $Result['name'] = $elt->getName(); + $Result['title'] = 'Variable'; + $Result['link'] = $this->getVarLink($elt->getName(), + $elt->class, + $elt->docblock->package, + $elt->getPath(), + $elt->class.'::'.$elt->getName()); + $Result['listing'] = 'in file '.$elt->file.', variable '.$Result['link']."$aa"; + break; + case 'const': + $Result['name'] = $elt->getName(); + $Result['title'] = 'Variable'; + $Result['link'] = $this->getConstLink($elt->getName(), + $elt->class, + $elt->docblock->package, + $elt->getPath(), + $elt->class.'::'.$elt->getName()); + $Result['listing'] = 'in file '.$elt->file.', class constant '.$Result['link']."$aa"; + break; + case 'page': + $Result['name'] = $elt->getFile(); + $Result['title'] = 'Page'; + $Result['link'] = $this->getPageLink($elt->getFile(), + $elt->package, + $elt->getPath(), + $elt->getFile()); + $Result['listing'] = 'procedural page '.$Result['link']; + break; + case 'include': + $Result['name'] = $elt->getName(); + $Result['title'] = 'Include'; + $Result['link'] = $elt->getValue(); + $Result['listing'] = 'include '.$Result['name']; + break; + } + + return $Result; + } + /** + * Generate alphabetical index of all elements + * + * @see $elements, walk() + */ + function generateElementIndex() + { + $elementindex = array(); + $letters = array(); + $used = array(); + foreach($this->elements as $letter => $nutoh) + { + foreach($this->elements[$letter] as $i => $yuh) + { + if ($this->elements[$letter][$i]->type != 'include') + { + if (!isset($used[$letter])) + { + $letters[]['letter'] = $letter; + $elindex['letter'] = $letter; + $used[$letter] = 1; + } + + $elindex['index'][] = $this->getIndexInformation($this->elements[$letter][$i]); + } + } + if (isset($elindex['index'])) + { + $elementindex[] = $elindex; + } else + { + unset($letters[count($letters) - 1]); + } + $elindex = array(); + } + return array($elementindex,$letters); + } + + function setTemplateDir($dir) + { + Converter::setTemplateDir($dir); + $this->smarty_dir = $this->templateDir; + } + + function copyMediaRecursively($media,$targetdir,$subdir = '') + { + $versionControlDirectories = array ('CVS', 'media/CVS', 'media\\CVS', '.svn', 'media/.svn', 'media\\.svn'); + if (!is_array($media)) { + return; + } + foreach($media as $dir => $files) + { + if ($dir === '/') + { + $this->copyMediaRecursively($files,$targetdir); + } else + { + if (!is_numeric($dir)) + { + if (in_array($dir, $versionControlDirectories)) + { + // skip it entirely + } + else + { + // create the subdir + phpDocumentor_out("creating $targetdir" . PATH_DELIMITER . "$dir\n"); + Converter::setTargetDir($targetdir . PATH_DELIMITER . $dir); + if (!empty($subdir)) + { + $subdir .= PATH_DELIMITER; + } + $this->copyMediaRecursively($files,"$targetdir/$dir",$subdir . $dir); + } + } + else + { + // copy the file + phpDocumentor_out("copying $targetdir" . PATH_DELIMITER . $files['file']."\n"); + $this->copyFile($files['file'],$subdir); + } + } + } + } + + /** + * calls the converter setTargetDir, and then copies any template images and the stylesheet if they haven't been copied + * @see Converter::setTargetDir() + */ + function setTargetDir($dir) + { + Converter::setTargetDir($dir); + if ($this->wrote) return; + $this->wrote = true; + $template_images = array(); + $stylesheets = array(); + $tdir = $dir; + $dir = $this->templateDir; + $this->templateDir = $this->templateDir.'templates/'; + $info = new Io; + $this->copyMediaRecursively($info->getDirTree($this->templateDir.'media',$this->templateDir),$tdir); + } + + /** + * Generate alphabetical index of all elements by package and subpackage + * + * @param string $package name of a package + * @see $pkg_elements, walk(), generatePkgElementIndexes() + */ + function generatePkgElementIndex($package) + { +// var_dump($this->pkg_elements[$package]); + $elementindex = array(); + $letters = array(); + $letterind = array(); + $used = array(); + $subp = ''; + foreach($this->pkg_elements[$package] as $subpackage => $els) + { + if (empty($els)) continue; + if (!empty($subpackage)) $subp = " (<b>subpackage:</b> $subpackage)"; else $subp = ''; + foreach($els as $letter => $yuh) + { + foreach($els[$letter] as $i => $yuh) + { + if ($els[$letter][$i]->type != 'include') + { + if (!isset($used[$letter])) + { + $letters[]['letter'] = $letter; + $letterind[$letter] = count($letters) - 1; + $used[$letter] = 1; + } + $elindex[$letter]['letter'] = $letter; + + $elindex[$letter]['index'][] = $this->getIndexInformation($els[$letter][$i]); + } + } + } + } + ksort($elindex); + usort($letters,'CHMdefault_lettersort'); + if (isset($elindex)) + { + while(list($letter,$tempel) = each($elindex)) + { + if (!isset($tempel)) + { + unset($letters[$letterind[$tempel['letter']]]); + } else + $elementindex[] = $tempel; + } + } else $letters = array(); + return array($elementindex,$letters); + } + + /** + * + * @see generatePkgElementIndex() + */ + function generatePkgElementIndexes() + { + $packages = array(); + $package_names = array(); + $pkg = array(); + $letters = array(); + foreach($this->pkg_elements as $package => $trash) + { + $pkgs['package'] = $package; + $pkg['package'] = $package; + list($pkg['pindex'],$letters[$package]) = $this->generatePkgElementIndex($package); + if (count($pkg['pindex'])) + { + $packages[] = $pkg; + $package_names[] = $pkgs; + } + unset($pkgs); + unset($pkg); + } + foreach($packages as $i => $package) + { + $pnames = array(); + for($j=0;$j<count($package_names);$j++) + { + if ($package_names[$j]['package'] != $package['package']) $pnames[] = $package_names[$j]; + } + $packages[$i]['packageindexes'] = $pnames; + } + return array($packages,$package_names,$letters); + } + + /** + * @param string name of class + * @param string package name + * @param string full path to look in (used in index generation) + * @param boolean deprecated + * @param boolean return just the URL, or enclose it in an html a tag + * @return mixed false if not found, or an html a link to the class's documentation + * @see parent::getClassLink() + */ + function getClassLink($expr,$package, $file = false,$text = false, $with_a = true) + { + $a = Converter::getClassLink($expr,$package,$file); + if (!$a) return false; + return $this->returnSee($a, $text, $with_a); + } + + /** + * @param string name of function + * @param string package name + * @param string full path to look in (used in index generation) + * @param boolean deprecated + * @param boolean return just the URL, or enclose it in an html a tag + * @return mixed false if not found, or an html a link to the function's documentation + * @see parent::getFunctionLink() + */ + function getFunctionLink($expr,$package, $file = false,$text = false) + { + $a = Converter::getFunctionLink($expr,$package,$file); + if (!$a) return false; + return $this->returnSee($a, $text); + } + + /** + * @param string name of define + * @param string package name + * @param string full path to look in (used in index generation) + * @param boolean deprecated + * @param boolean return just the URL, or enclose it in an html a tag + * @return mixed false if not found, or an html a link to the define's documentation + * @see parent::getDefineLink() + */ + function getDefineLink($expr,$package, $file = false,$text = false) + { + $a = Converter::getDefineLink($expr,$package,$file); + if (!$a) return false; + return $this->returnSee($a, $text); + } + + /** + * @param string name of global variable + * @param string package name + * @param string full path to look in (used in index generation) + * @param boolean deprecated + * @param boolean return just the URL, or enclose it in an html a tag + * @return mixed false if not found, or an html a link to the global variable's documentation + * @see parent::getGlobalLink() + */ + function getGlobalLink($expr,$package, $file = false,$text = false) + { + $a = Converter::getGlobalLink($expr,$package,$file); + if (!$a) return false; + return $this->returnSee($a, $text); + } + + /** + * @param string name of procedural page + * @param string package name + * @param string full path to look in (used in index generation) + * @param boolean deprecated + * @param boolean return just the URL, or enclose it in an html a tag + * @return mixed false if not found, or an html a link to the procedural page's documentation + * @see parent::getPageLink() + */ + function getPageLink($expr,$package, $path = false,$text = false) + { + $a = Converter::getPageLink($expr,$package,$path); + if (!$a) return false; + return $this->returnSee($a, $text); + } + + /** + * @param string name of method + * @param string class containing method + * @param string package name + * @param string full path to look in (used in index generation) + * @param boolean deprecated + * @param boolean return just the URL, or enclose it in an html a tag + * @return mixed false if not found, or an html a link to the method's documentation + * @see parent::getMethodLink() + */ + function getMethodLink($expr,$class,$package, $file = false,$text = false) + { + $a = Converter::getMethodLink($expr,$class,$package,$file); + if (!$a) return false; + return $this->returnSee($a, $text); + } + + /** + * @param string name of var + * @param string class containing var + * @param string package name + * @param string full path to look in (used in index generation) + * @param boolean deprecated + * @param boolean return just the URL, or enclose it in an html a tag + * @return mixed false if not found, or an html a link to the var's documentation + * @see parent::getVarLink() + */ + function getVarLink($expr,$class,$package, $file = false,$text = false) + { + $a = Converter::getVarLink($expr,$class,$package,$file); + if (!$a) return false; + return $this->returnSee($a, $text); + } + + /** + * @param string name of class constant + * @param string class containing class constant + * @param string package name + * @param string full path to look in (used in index generation) + * @param boolean deprecated + * @param boolean return just the URL, or enclose it in an html a tag + * @return mixed false if not found, or an html a link to the var's documentation + * @see parent::getVarLink() + */ + function getConstLink($expr,$class,$package, $file = false,$text = false) + { + $a = Converter::getConstLink($expr,$class,$package,$file); + if (!$a) return false; + return $this->returnSee($a, $text); + } + + /** + * does a nat case sort on the specified second level value of the array + * + * @param mixed $a + * @param mixed $b + * @return int + */ + function rcNatCmp ($a, $b) + { + $aa = strtoupper($a[$this->rcnatcmpkey]); + $bb = strtoupper($b[$this->rcnatcmpkey]); + + return strnatcasecmp($aa, $bb); + } + + /** + * does a nat case sort on the specified second level value of the array. + * this one puts constructors first + * + * @param mixed $a + * @param mixed $b + * @return int + */ + function rcNatCmp1 ($a, $b) + { + $aa = strtoupper($a[$this->rcnatcmpkey]); + $bb = strtoupper($b[$this->rcnatcmpkey]); + + if (strpos($aa,'CONSTRUCTOR') === 0) + { + return -1; + } + if (strpos($bb,'CONSTRUCTOR') === 0) + { + return 1; + } + if (strpos($aa,strtoupper($this->class)) === 0) + { + return -1; + } + if (strpos($bb,strtoupper($this->class)) === 0) + { + return -1; + } + return strnatcasecmp($aa, $bb); + } + + /** + * Write a file to disk, and add it to the {@link $hhp_files} list of files + * to include in the generated CHM + * + * {@source} + */ + function writefile($file,$contents) + { + $this->addHHP($this->targetDir . PATH_DELIMITER . $file); + Converter::writefile($file,$contents); + } + + /** + * @uses $hhp_files creates the array by adding parameter $file + */ + function addHHP($file) + { + $file = str_replace($this->base_dir . PATH_DELIMITER, '', $file); + $file = str_replace('\\',PATH_DELIMITER,$file); + $file = str_replace('//',PATH_DELIMITER,$file); + $file = str_replace(PATH_DELIMITER,'\\',$file); + $this->hhp_files[]['name'] = $file; + } + + function generateTOC() + { + $comppack = ''; + $templ = &$this->newSmarty(); + foreach($this->TOC as $package => $TOC1) + { + $comp_subs = ''; + $comp_subs1 = false; + foreach($TOC1 as $subpackage => $types) + { + $comp_types = ''; + foreach($types as $type => $files) + { + $comp = ''; + $templ1 = &$this->newSmarty(); + $templ1->assign('entry', array()); + foreach($files as $file) + { + // use book icon for classes + if ($type == 'Classes') { + $templ1->append('entry', array('paramname' => $file[0],'outputfile' => $file[1],'isclass' => 1)); + } else { + $templ1->append('entry', array('paramname' => $file[0],'outputfile' => $file[1])); + } + } + $templ = &$this->newSmarty(); + $templ->assign('tocsubentries',$templ1->fetch('tocentry.tpl')); + $templ->assign('entry', array(array('paramname' => $type))); + $comp_types .= $templ->fetch('tocentry.tpl'); + } + if (!empty($subpackage)) + { + $templ = &$this->newSmarty(); + $templ->assign('tocsubentries',$comp_types); + $templ->assign('entry', array(array('paramname' => $subpackage))); + $comp_subs .= $templ->fetch('tocentry.tpl'); + } else + { + $comp_subs1 = $comp_types; + } + } + if ($comp_subs1) + $templ->assign('tocsubentries',$comp_subs1); + if (!empty($comp_subs)) + $templ->assign('entry', array(array('paramname' => $package, 'tocsubentries' => $comp_subs))); + else + $templ->assign('entry', array(array('paramname' => $package))); + $comppack .= $templ->fetch('tocentry.tpl'); + } + return $comppack; + } + + function addSourceTOC($name, $file, $package, $subpackage, $source = false) + { + $file = str_replace($this->base_dir . PATH_DELIMITER, '', $this->targetDir) + . PATH_DELIMITER . $file . '.html'; + $file = str_replace('\\',PATH_DELIMITER,$file); + $file = str_replace('//',PATH_DELIMITER,$file); + $file = str_replace(PATH_DELIMITER,'\\',$file); + $sub = $source ? 'Source Code' : 'Examples'; + $this->TOC[$package][$subpackage][$sub][] = array($name, $file); + } + + function addTOC($name,$file,$package,$subpackage,$class = false,$tutorial = false) + { + $file = str_replace($this->base_dir . PATH_DELIMITER, '', $this->targetDir . PATH_DELIMITER) + . $file . '.html'; + $file = str_replace('\\',PATH_DELIMITER,$file); + $file = str_replace('//',PATH_DELIMITER,$file); + $file = str_replace(PATH_DELIMITER,'\\',$file); + $file = str_replace($this->base_dir . '\\', '', $file); + $sub = $class ? 'Classes' : 'Files'; + if ($tutorial) $sub = 'Manual'; + $this->TOC[$package][$subpackage][$sub][] = array($name,$file); + } + + /** + * Add an item to the index.hhk file + * @param string $name index entry name + * @param string $file filename containing index + * @param string $bookmark html anchor of location in file, if any + * @param string $group group this entry with a string + * @uses $KLinks tracks the index + * @author Andrew Eddie <eddieajau@users.sourceforge.net> + */ + function addKLink($name, $file, $bookmark='', $group='') + { + $file = $file . '.html'; + $file = str_replace('\\',PATH_DELIMITER,$file); + $file = str_replace('//',PATH_DELIMITER,$file); + $file = str_replace(PATH_DELIMITER,'\\',$file); +// debug("added $name, $file, $bookmark, $group "); + $link = $file; + $link .= $bookmark ? "#$bookmark" :''; + if ($group) { + $this->KLinks[$group]['grouplink'] = $file; + $this->KLinks[$group][] = array($name,$link); + } + $this->KLinks[] = array($name,$link); + } + + /** + * Get the table of contents for index.hhk + * @return string contents of tocentry.tpl generated from $KLinks + * @author Andrew Eddie <eddieajau@users.sourceforge.net> + */ + function generateKLinks() + { + $templ = &$this->newSmarty(); + $templ->assign('entry', array()); + foreach($this->KLinks as $group=>$link) + { + if (isset($link['grouplink'])) { + $templg = &$this->newSmarty(); + $templg->assign('entry', array()); + foreach($link as $k=>$sublink) + { + if ($k != 'grouplink') { + $templg->append('entry', array('paramname' => $sublink[0],'outputfile' => $sublink[1])); + } + } + $templ->append('entry', array('paramname' => $group, 'outputfile' => $link['grouplink'], 'tocsubentries' => $templg->fetch('tocentry.tpl') )); + } else { + $templ->append('entry', array('paramname' => $link[0],'outputfile' => $link[1])); + } + } + return $templ->fetch('tocentry.tpl'); + } + + /** + * Create the phpdoc.hhp, contents.hhc files needed by MS HTML Help Compiler + * to create a CHM file + * + * The output function generates the table of contents (contents.hhc) + * and file list (phpdoc.hhp) files used to create a .CHM by the + * free MS HTML Help compiler. + * {@internal + * Using {@link $hhp_files}, a list of all separate .html files + * is created in CHM format, and written to phpdoc.hhp. This list was + * generated by {@link writefile}. + * + * Next, a call to the table of contents: + * + * {@source 12 2} + * + * finishes things off}} + * @todo use to directly call html help compiler hhc.exe + * @link http://www.microsoft.com/downloads/release.asp?releaseid=33071 + * @uses generateTOC() assigns to the toc template variable + */ + function Output() + { + $templ = &$this->newSmarty(); + $templ->assign('files',$this->hhp_files); + $this->setTargetDir($this->base_dir); + Converter::writefile('phpdoc.hhp',$templ->fetch('hhp.tpl')); + $templ = &$this->newSmarty(); + $templ->assign('toc',$this->generateTOC()); + Converter::writefile('contents.hhc',$templ->fetch('contents.hhc.tpl')); + $templ->assign('klinks',$this->generateKLinks()); + Converter::writefile('index.hhk',$templ->fetch('index.hhk.tpl')); + phpDocumentor_out("NOTE: to create the documentation.chm file, you must now run Microsoft Help Workshop on phpdoc.hhp\n"); + phpDocumentor_out("To get the free Microsoft Help Workshop, browse to: http://go.microsoft.com/fwlink/?LinkId=14188\n"); + flush(); + } +} + +/** + * @access private + * @global string name of the package to set as the first package + */ +function CHMdefault_pindexcmp($a, $b) +{ + global $phpDocumentor_DefaultPackageName; + if ($a['title'] == $phpDocumentor_DefaultPackageName) return -1; + if ($b['title'] == $phpDocumentor_DefaultPackageName) return 1; + return strnatcasecmp($a['title'],$b['title']); +} + +/** @access private */ +function CHMdefault_lettersort($a, $b) +{ + return strnatcasecmp($a['letter'],$b['letter']); +} + +/** @access private */ +function CHMdefault_outputfilter($src, &$smarty) +{ + return str_replace('{$subdir}',$smarty->_tpl_vars['subdir'],$src); +} +?> diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/CHM/default/templates/default/options.ini b/buildscripts/PhpDocumentor/phpDocumentor/Converters/CHM/default/templates/default/options.ini new file mode 100755 index 00000000..cae1952d --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/CHM/default/templates/default/options.ini @@ -0,0 +1,507 @@ +preservedocbooktags = false + +;; used to highlight the {@source} inline tag, @filesource tag, and @example tag +[highlightSourceTokens] +;; format: +;; T_CONSTANTNAME = open +;; /T_CONSTANTNAME = close +T_ABSTRACT = <font color="blue"> +/T_ABSTRACT = </font> +T_CLONE = <font color="blue"> +/T_CLONE = </font> +T_HALT_COMPILER = <font color="red"> +/T_HALT_COMPILER = </font> +T_PUBLIC = <font color="blue"> +/T_PUBLIC = </font> +T_PRIVATE = <font color="blue"> +/T_PRIVATE = </font> +T_PROTECTED = <font color="blue"> +/T_PROTECTED = </font> +T_FINAL = <font color="blue"> +/T_FINAL = </font> +T_IMPLEMENTS = <font color="blue"> +/T_IMPLEMENTS = </font> +T_CLASS = <font color="blue"> +/T_CLASS = </font> +T_INTERFACE = <font color="blue"> +/T_INTERFACE = </font> +T_INCLUDE = <font color="blue"> +/T_INCLUDE = </font> +T_INCLUDE_ONCE = <font color="blue"> +/T_INCLUDE_ONCE = </font> +T_REQUIRE_ONCE = <font color="blue"> +/T_REQUIRE_ONCE = </font> +T_FUNCTION = <font color="blue"> +/T_FUNCTION = </font> +T_VARIABLE = <strong> +/T_VARIABLE = </strong> +T_CONSTANT_ENCAPSED_STRING = <font color="#66cccc"> +/T_CONSTANT_ENCAPSED_STRING = </font> +T_COMMENT = <font color="green"> +/T_COMMENT = </font> +T_OBJECT_OPERATOR = <strong> +/T_OBJECT_OPERATOR = </strong> +T_RETURN = <font color="blue"> +/T_RETURN = </font> +T_STATIC = <font color="blue"> +/T_STATIC = </font> +T_SWITCH = <font color="blue"> +/T_SWITCH = </font> +T_IF = <font color="blue"> +/T_IF = </font> +T_FOREACH = <font color="blue"> +/T_FOREACH = </font> +T_FOR = <font color="blue"> +/T_FOR = </font> +T_VAR = <font color="blue"> +/T_VAR = </font> +T_EXTENDS = <font color="blue"> +/T_EXTENDS = </font> +T_RETURN = <font color="blue"> +/T_RETURN = </font> +T_GLOBAL = <font color="blue"> +/T_GLOBAL = </font> +T_DOUBLE_COLON = <strong> +/T_DOUBLE_COLON = </strong> +T_OBJECT_OPERATOR = <strong> +/T_OBJECT_OPERATOR = </strong> +T_OPEN_TAG = <strong> +/T_OPEN_TAG = </strong> +T_CLOSE_TAG = <strong> +/T_CLOSE_TAG = </strong> + +[highlightSource] +;; this is for highlighting things that aren't tokens like "&" +;; format: +;; word = open +;; /word = close +@ = <strong> +/@ = </strong> +& = <strong> +/& = </strong> +[ = <strong> +/[ = </strong> +] = <strong> +/] = </strong> +! = <strong> +/! = </strong> +";" = <strong> +/; = </strong> +( = <strong> +/( = </strong> +) = <strong> +/) = </strong> +, = <strong> +/, = </strong> +{ = <strong> +/{ = </strong> +} = <strong> +/} = </strong> +""" = <font color="#66cccc"> +/" = </font> + +[highlightDocBlockSourceTokens] +;; this is for docblock tokens, using by phpDocumentor_HighlightParser +;; tagphptype is for "string" in @param string description, for example +docblock = <font color="#009999"> +/docblock = </font> +tagphptype = <em> +/tagphptype = </em> +tagvarname = <strong> +/tagvarname = </strong> +coretag = <strong><font color = "#0099FF"> +/coretag = </font></strong> +tag = <strong><font color="#009999"> +/tag = </font></strong> +inlinetag = <em><font color="#0099FF"> +/inlinetag = </font></em> +internal = <em><font color = "#6699cc"> +/internal = </font></em> +closetemplate = <strong><font color="blue"> +/closetemplate = </font></strong> +docblocktemplate = <font color="blue"> +/docblocktemplate = </font color="blue"> + +[highlightTutorialSourceTokens] +;; this is for XML DocBook-based tutorials, highlighted by phpDocumentor_TutorialHighlightParser +;; <tag> +opentag = <span class="tute-tag"> +/opentag = </span> +;; </tag> +closetag = <span class="tute-tag"> +/closetag = </span> +;; <tag attribute="value"> +attribute = <span class="tute-attribute-name"> +/attribute = </span> +;; <tag attribute="value"> +attributevalue = <span class="tute-attribute-value"> +/attributevalue = </span> +;; &entity; +entity = <span class="tute-entity"> +/entity = </span> +;; <!-- comment --> +comment = <span class="tute-comment"> +/comment = </span> +;; {@inline tag} +itag = <span class="tute-inline-tag"> +/itag = </span> + +;; used for translation of html in DocBlocks +[desctranslate] +ul = <ul> +/ul = </ul> +ol = <ol> +/ol = </ol> +li = <li> +/li = </li> +code = +/code = +var = <var> +/var = </var> +samp = <samp> +/samp = </samp> +kbd = <kbd> +/kbd = </kbd> +pre = <pre> +/pre = </pre> +p = <p> +/p = </p> +b = <strong> +/b = </strong> +i = <em> +/i = </em> +br = <br /> + +[ppage] +;; this is the DocBook package page translation section. All DocBook tags +;; that have a corresponding html tag must be listed here +;; +;; examples: +;; 1) +;; tagname = newtagname +;; +;; This is the simplest case, where all attributes will be added into the +;; starting tag and the ending tag will be html/xml style </tranlatedtagname> +;; <tagname></tagname> becomes <newtagname></newtagname> and +;; <tagname attr="value"></tagname> becomes +;; <newtagname attr="value"></newtagname> +;; +;; 2) +;; tagname = newtagname +;; tagname->attr = newattrname +;; +;; in this case, everything will be like the first case, except tags like: +;; <tagname attr="value"></tagname> will become +;; <newtagname newattrname="value"></newtagname> +;; +;; 3) +;; tagname = newtagname +;; tagname->attr = newattrname +;; tagname->attr+value = newvalue +;; +;; in this case, the value is also translated to another. This can be useful +;; for instances such as focus="middle" changing to align="center" or something +;; of that nature. +;; <tagname attr="value"></tagname> will become +;; <newtagname newattrname="newvalue"></newtagname> +;; +;; 4) +;; tagname = newtagname +;; tagname->attr1 = newattrname +;; tagname->attr2 = newattrname +;; tagname->attr1+value|attr2+value = newvalue +;; +;; in this case, two attributes combine to make one new attribute, and the combined +;; value is translated into a new value +;; <tagname attr1="value1" attr2="value2"></tagname> will become +;; <newtagname newattrname="newvalue"></newtagname> +;; +;; 5) +;; tagname = newtagname +;; tagname!attr = dummy +;; +;; here, the attribute will be ignored. dummy is not used and may be any value +;; <tagname attr="value"></tagname> will become +;; <newtagname></newtagname> +;; +;; 6) +;; tagname = newtagname +;; tagname! = dummy +;; +;; here, all attributes will be ignored. dummy is not used and may be any value +;; <tagname attr1="value" attr2="foo"></tagname> will become +;; <newtagname></newtagname> +;; +;; 7) +;; tagname = newtagname +;; tagname/ = 1 +;; +;; here, the tag will be translated as a single tag with no closing tag, and all +;; attributes +;; <tagname attr="val">{text text}</tagname> will become +;; <newtagname attr="val" /> +;; +;; 8) +;; tagname = <starttaginfo /> +;; /tagname = closetagtext +;; +;; in this case, the text <starttaginfo> will be inserted exactly as entered for +;; <tagname> and closetagtext for </tagname> +;; <tagname attr="val"></tagname> will become +;; <starttaginfo />closetagtext +;; +;; 9) +;; $attr$my_attribute = newattrname +;; +;; tagname = newtagname +;; +;; in this case, all occurences of my_attribute in any tag will be changed to +;; newattrname. This is useful for changing things like role="php" to +;; class="php," for example. Note that the text "$attr$" MUST be on the line +;; start for phpDocumentor to recognize it. +;; +;; 10) +;; &entity; = translation text +;; " = " +;; " = """ +;; < = < +;; +;; Use this to control translation of entities to their appropriate values + + = +" = " +” = ” +“ = “ +& = & +< = < +> = > +© = © + +$attr$role = class + +abbrev = abbr + +blockquote = blockquote + +arg = span +arg->choice = class + +author = <font size="-1"><strong>by <em> +/author = </em></strong></font> +author! = 0 + +authorblurb = blockquote + +authorgroup = <strong>Authors:</strong><br /> +/authorgroup = +authorgroup! = 0 + +caution = <table border="1"><th align="center">Caution</th><tr><td> +/caution = </td></tr></table> +caution! = 0 + +command = <b class="cmd"> +/command = </b> + +cmdsynopsis = <div id="cmdsynopsis"> +/cmdsynopsis = </div> + +copyright = <em> +/copyright = </em><br /> + +emphasis = strong + +example = <table class="example" width="100%" border="1"><tr><td> +/example = </td></tr></table> +example! = 0 + +function = +/function = () + +formalpara = p + +graphic = img +graphic->fileref = src +graphic/ = + +important = u + +informalequation = blockquote + +informalexample = pre + +inlineequation = em + +itemizedlist = ul + +listitem = li + +literal = code + +literallayout = pre + +option = " " +/option = + +orderedlist = ol + +para = p + +programlisting = <table border="0" bgcolor="#E0E0E0" cellpadding="5"><tr><td><div class="src-code"> +/programlisting = </div></td></tr></table> +programlisting! = 0 + +refentry = div + +refnamediv = <div class="refname"> +/refnamediv = </div> +refnamediv! = 0 + +refname = h1 + +refpurpose = <h2 class="refpurpose"><em> +/refpurpose = </em></h2> + +refsynopsisdiv = <div class="refsynopsis"> +/refsynopsisdiv = </div> +refsynopsisdiv! = 0 + +refsect1 = span + +refsect2 = +/refsect2 = <hr /> + +refsect3 = +/refsect3 = <br /> + +releaseinfo = ( +/releaseinfo = )<br /> + +simpara = +/simpara = <br /> +simpara! = 0 + +subscript = sub + +superscript = super + +table = table + +table->colsep = rules +table->rowsep = rules +table->colsep+1|rowsep+1 = all +table->colsep+1|rowsep+0 = cols +table->colsep+0|rowsep+1 = rows + +table->frame = frame +table->frame+all = border +table->frame+none = void +table->frame+sides = vsides +table->frame+top = above +table->frame+topbot = hsides + +thead = thead + +tfoot = tfoot + +tbody = tbody + +colspec = col + +tgroup = colgroup +tgroup/ = 1 +tgroup->cols = span + +row = tr + +entry = td +entry->morerows = colspan +entry->morerows+1 = 2 +entry->morerows+2 = 3 +entry->morerows+3 = 4 +entry->morerows+4 = 5 +entry->morerows+5 = 6 +entry->morerows+6 = 7 +entry->morerows+7 = 8 +entry->morerows+8 = 9 +entry->morerows+9 = 10 +entry->morerows+10 = 11 +;; add more if you need more colspans + +warning = <table border="1"><tr><td> +/warning = </td></tr></table> +warning! = 0 + +;; now begins the attributes that should be tags in cdata +[$attr$id] +open = a +;close = /a +cdata! = true +quotevalues = true +separator = "=" +;separateall = true +$id = name + +;; now begins the sections that deal with <title> +[refsynopsisdiv_title] +;tag_attr = true +;attr_name = title +cdata_start = true +;cdata_end = true +open = <h1 class="title" align="center"> +close = </h1> + +[refsect1_title] +;tag_attr = true +;attr_name = title +cdata_start = true +;cdata_end = true +open = <h2 class="title" align="center"> +close = </h1> + +[refsect2_title] +;tag_attr = true +;attr_name = title +cdata_start = true +;cdata_end = true +open = <h2 class="title" align="center"> +close = </h2> + +[refsect3_title] +;tag_attr = true +;attr_name = title +cdata_start = true +;cdata_end = true +open = <h3 class="title" align="center"> +close = </h3> + +[para_title] +;tag_attr = true +;attr_name = title +cdata_start = true +;cdata_end = true +open = <strong class="title" align="center"> +close = </strong> + +[formalpara_title] +;tag_attr = true +;attr_name = title +cdata_start = true +;cdata_end = true +open = <strong class="title" align="center"> +close = </strong> + +[example_title] +;tag_attr = true +;attr_name = title +;cdata_start = true +cdata_end = true +open = </td></tr><tr><td><strong> +close = </strong> + +[table_title] +;tag_attr = true +;attr_name = true +cdata_start = true +open = <caption> +close = </caption> diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/CHM/default/templates/default/templates/basicindex.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/CHM/default/templates/default/templates/basicindex.tpl new file mode 100755 index 00000000..29a27593 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/CHM/default/templates/default/templates/basicindex.tpl @@ -0,0 +1,21 @@ +{section name=letter loop=$letters} + <a href="{$indexname}.html#{$letters[letter].letter}">{$letters[letter].letter}</a> +{/section} +<table> +{section name=index loop=$index} +<tr><td colspan = "2"><a name="{$index[index].letter}"> </a> +<a href="#top">top</a><br> +<TABLE CELLPADDING='3' CELLSPACING='0' WIDTH='100%' CLASS="border"> + <TR CLASS='TableHeadingColor'> + <TD> + <FONT SIZE='+2'><B>{$index[index].letter}</B></FONT> + </TD> + </TR> +</TABLE> +</td></tr> + {section name=contents loop=$index[index].index} + <tr><td><b>{$index[index].index[contents].name}</b></td><td width="100%" align="left" valign="top">{$index[index].index[contents].listing}</td></tr> + {/section} +{/section} +</table> + diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/CHM/default/templates/default/templates/blank.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/CHM/default/templates/default/templates/blank.tpl new file mode 100755 index 00000000..6a05f27e --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/CHM/default/templates/default/templates/blank.tpl @@ -0,0 +1,13 @@ +<html> +<head> + <title>{$maintitle}</title> + <link rel="stylesheet" href="{$subdir}media/stylesheet.css" /> + <meta http-equiv='Content-Type' content='text/html; charset=iso-8859-1'/> +</head> +<body> +<div align="center"><h1>{$maintitle}</h1></div> +<b>Welcome to {$package}!</b><br /> +<br /> +This documentation was generated by <a href="{$phpdocwebsite}">phpDocumentor v{$phpdocversion}</a><br /> +</body> +</html>
\ No newline at end of file diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/CHM/default/templates/default/templates/class.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/CHM/default/templates/default/templates/class.tpl new file mode 100755 index 00000000..93cd4f27 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/CHM/default/templates/default/templates/class.tpl @@ -0,0 +1,94 @@ +{include file="header.tpl" eltype="class" hasel=true contents=$classcontents} +<!-- Start of Class Data --> +<H3> + <SPAN class="type">{if $is_interface}Interface{else}Class{/if}</SPAN> {$class_name} + <HR> +</H3> +[line <span class="linenumber">{if $class_slink}{$class_slink}{else}{$line_number}{/if}</span>]<br /> +<pre> +{section name=tree loop=$class_tree.classes}{$class_tree.classes[tree]}{$class_tree.distance[tree]}{/section} +</pre> +{if $tutorial} +<div class="maintutorial">Class Tutorial: {$tutorial}</div> +{/if} +{if $children} +<SPAN class="type">Classes extended from {$class_name}:</SPAN> + {section name=kids loop=$children} + <dl> + <dt>{$children[kids].link}</dt> + <dd>{$children[kids].sdesc}</dd> + </dl> + {/section}</p> +{/if} +{if $conflicts.conflict_type}<p class="warning">Conflicts with classes:<br /> + {section name=me loop=$conflicts.conflicts} + {$conflicts.conflicts[me]}<br /> + {/section} +<p> +{/if} +<SPAN class="type">Location:</SPAN> {$source_location} +<hr> +{include file="docblock.tpl" type="class" sdesc=$sdesc desc=$desc} +<hr> +{include file="var.tpl" show="summary"} +<hr> +{include file="const.tpl" show="summary"} +<hr> +<!-- =========== INHERITED CONST SUMMARY =========== --> +<A NAME='inheritedconst_summary'><!-- --></A> +<H3>Inherited Class Constant Summary</H3> + +{section name=iconsts loop=$iconsts} +<H4>Inherited From Class {$iconsts[iconsts].parent_class}</H4> +<UL> + {section name=iconsts2 loop=$iconsts[iconsts].iconsts} + <!-- =========== Summary =========== --> + <LI><CODE>{$iconsts[iconsts].iconsts[iconsts2].link}</CODE> = <CODE class="varsummarydefault">{$iconsts[iconsts].iconsts[iconsts2].value}</CODE> + <BR> + {$iconsts[iconsts].iconsts[iconsts2].sdesc} + {/section} + </LI> +</UL> +{/section} +<hr> +<!-- =========== INHERITED VAR SUMMARY =========== --> +<A NAME='inheritedvar_summary'><!-- --></A> +<H3>Inherited Class Variable Summary</H3> + +{section name=ivars loop=$ivars} +<H4>Inherited From Class {$ivars[ivars].parent_class}</H4> +<UL> + {section name=ivars2 loop=$ivars[ivars].ivars} + <!-- =========== Summary =========== --> + <LI><CODE>{$ivars[ivars].ivars[ivars2].link}</CODE> = <CODE class="varsummarydefault">{$ivars[ivars].ivars[ivars2].default}</CODE> + <BR> + {$ivars[ivars].ivars[ivars2].sdesc} + {/section} + </LI> +</UL> +{/section} + +<hr> +{include file="method.tpl" show="summary"} +<!-- =========== INHERITED METHOD SUMMARY =========== --> +<A NAME='methods_inherited'><!-- --></A> +<H3>Inherited Method Summary</H3> + +{section name=imethods loop=$imethods} +<H4>Inherited From Class {$imethods[imethods].parent_class}</h4> +<UL> + {section name=im2 loop=$imethods[imethods].imethods} + <!-- =========== Summary =========== --> + <LI><CODE>{$imethods[imethods].imethods[im2].link}</CODE><br> + {$imethods[imethods].imethods[im2].sdesc} + {/section} +</UL> +{/section} +<hr> +{include file="method.tpl"} +<hr> +{include file="var.tpl"} +<hr> +{include file="const.tpl"} +<hr> +{include file="footer.tpl"} diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/CHM/default/templates/default/templates/classleft.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/CHM/default/templates/default/templates/classleft.tpl new file mode 100755 index 00000000..65d60118 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/CHM/default/templates/default/templates/classleft.tpl @@ -0,0 +1,8 @@ +{foreach key=subpackage item=files from=$classleftindex} + {if $subpackage != ""}<b>{$subpackage}</b><br>{/if} + {section name=files loop=$files} + {if $files[files].link != ''}<a href="{ldelim}$subdir{rdelim}{$files[files].link}">{/if} + {$files[files].title} + {if $files[files].link != ''}</a>{/if}<br> + {/section} +{/foreach} diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/CHM/default/templates/default/templates/classtrees.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/CHM/default/templates/default/templates/classtrees.tpl new file mode 100755 index 00000000..6308aba9 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/CHM/default/templates/default/templates/classtrees.tpl @@ -0,0 +1,12 @@ +{capture name="title"}Class Trees for Package {$package}{/capture} +{include file="header.tpl" title=$smarty.capture.title} + +<!-- Start of Class Data --> +<H2> + {$smarty.capture.title} +</H2> +{section name=classtrees loop=$classtrees} +<SPAN class="code">Root class {$classtrees[classtrees].class}</SPAN> +<code class="vardefaultsummary">{$classtrees[classtrees].class_tree}</code> +{/section} +{include file="footer.tpl"}
\ No newline at end of file diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/CHM/default/templates/default/templates/const.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/CHM/default/templates/default/templates/const.tpl new file mode 100644 index 00000000..720a71b5 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/CHM/default/templates/default/templates/const.tpl @@ -0,0 +1,29 @@ +{if $show=="summary"} +<!-- =========== CONST SUMMARY =========== --> +<A NAME='const_summary'><!-- --></A> +<H3>Class Constant Summary</H3> + +<UL> + {section name=consts loop=$consts} + <!-- =========== Summary =========== --> + <LI><CODE><a href="{$consts[consts].id}">{$consts[consts].const_name}</a></CODE> = <CODE class="varsummarydefault">{$consts[consts].const_value|replace:"\n":"<br>\n"|replace:" ":" "|replace:"\t":" "}</CODE> + <BR> + {$consts[consts].sdesc} + {/section} +</UL> +{else} +<!-- ============ VARIABLE DETAIL =========== --> + +<A NAME='variable_detail'></A> + +<H3>Class Constant Detail</H3> + +<UL> +{section name=consts loop=$consts} +<A NAME="{$consts[consts].const_dest}"><!-- --></A> +<LI><SPAN class="code">{$consts[consts].const_name}</SPAN> = <CODE class="varsummarydefault">{$consts[consts].const_value|replace:"\n":"<br>\n"|replace:" ":" "|replace:"\t":" "}</CODE> [line <span class="linenumber">{if $consts[consts].slink}{$consts[consts].slink}{else}{$consts[consts].line_number}{/if}</span>]</LI> +{include file="docblock.tpl" sdesc=$consts[consts].sdesc desc=$consts[consts].desc tags=$consts[consts].tags} +<BR> +{/section} +</UL> +{/if}
\ No newline at end of file diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/CHM/default/templates/default/templates/contents.hhc.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/CHM/default/templates/default/templates/contents.hhc.tpl new file mode 100755 index 00000000..44938319 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/CHM/default/templates/default/templates/contents.hhc.tpl @@ -0,0 +1,11 @@ +<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN"> +<HTML> +<HEAD> +<meta name="GENERATOR" content="phpDocumentor version {$phpdocversion}"> +<!-- Sitemap 1.0 --> +</HEAD><BODY> +<OBJECT type="text/site properties"> + <param name="ImageType" value="Folder"> +</OBJECT> +{$toc} +</BODY></HTML> diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/CHM/default/templates/default/templates/define.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/CHM/default/templates/default/templates/define.tpl new file mode 100755 index 00000000..4a3a64e9 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/CHM/default/templates/default/templates/define.tpl @@ -0,0 +1,33 @@ +{if $summary} +<!-- =========== CONSTANT SUMMARY =========== --> +<A NAME='constant_summary'><!-- --></A> +<H3>Constant Summary</H3> + +<UL> + {section name=def loop=$defines} + <LI><CODE><A HREF="{$defines[def].id}">{$defines[def].define_name}</A></CODE> = <CODE class="varsummarydefault">{$defines[def].define_value}</CODE> + <BR>{$defines[def].sdesc} + {/section} +</UL> +{else} +<!-- ============ CONSTANT DETAIL =========== --> + +<A NAME='constant_detail'></A> +<H3>Constant Detail</H3> + +<UL> + {section name=def loop=$defines} + <A NAME="{$defines[def].define_link}"><!-- --></A> + <LI><SPAN class="code">{$defines[def].define_name}</SPAN> = <CODE class="varsummarydefault">{$defines[def].define_value}</CODE> [line <span class="linenumber">{if $defines[def].slink}{$defines[def].slink}{else}{$defines[def].line_number}{/if}</span>]<br /> + {if $defines[def].define_conflicts.conflict_type} + <p><b>Conflicts with defines:</b> + {section name=me loop=$defines[def].define_conflicts.conflicts} + {$defines[def].define_conflicts.conflicts[me]}<br /> + {/section} + </p> + {/if} +<BR><BR> + {include file="docblock.tpl" sdesc=$defines[def].sdesc desc=$defines[def].desc tags=$defines[def].tags} + {/section} +</UL> +{/if}
\ No newline at end of file diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/CHM/default/templates/default/templates/docblock.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/CHM/default/templates/default/templates/docblock.tpl new file mode 100755 index 00000000..ef621b9b --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/CHM/default/templates/default/templates/docblock.tpl @@ -0,0 +1,31 @@ +<!-- ========== Info from phpDoc block ========= --> +{if $function} + {if $params} + <p class="label"><b>Parameters</b></p> + {section name=params loop=$params} + <p class=dt><i>{$params[params].var}</i></p> + <p class=indent>{$params[params].data}</p> + {/section} + {/if} +{/if} +{section name=tags loop=$tags} +{if $tags[tags].keyword == 'return'} + <p class="label"><b>Returns</b></p> + <p class=indent>{$tags[tags].data}</p> +{/if} +{/section} +{if $sdesc || $desc} +<p class="label"><b>Remarks</b></p> +{/if} +{if $sdesc} +<p>{$sdesc}</p> +{/if} +{if $desc} +<p>{$desc}</p> +{/if} +{section name=tags loop=$tags} +{if $tags[tags].keyword != 'return'} + <p class="label"><b>{$tags[tags].keyword}</b></p> + <p class=indent>{$tags[tags].data}</p> +{/if} +{/section}
\ No newline at end of file diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/CHM/default/templates/default/templates/elementindex.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/CHM/default/templates/default/templates/elementindex.tpl new file mode 100755 index 00000000..755f33c7 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/CHM/default/templates/default/templates/elementindex.tpl @@ -0,0 +1,9 @@ +{include file="header.tpl" noleftindex=true} +<a name="top"></a> +<h1>Index of All Elements</h1> +<b>Indexes by package:</b><br> +{section name=p loop=$packageindex} +<a href="elementindex_{$packageindex[p].title}.html">{$packageindex[p].title}</a><br> +{/section}<br> +{include file="basicindex.tpl" indexname="elementindex"} +{include file="footer.tpl"} diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/CHM/default/templates/default/templates/errors.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/CHM/default/templates/default/templates/errors.tpl new file mode 100755 index 00000000..0f526584 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/CHM/default/templates/default/templates/errors.tpl @@ -0,0 +1,21 @@ +{include file="header.tpl" noleftindex=true} +{section name=files loop=$files} +<a href="#{$files[files].file}">{$files[files].file}</a><br> +{/section} +{foreach key=file item=issues from=$all} +<a name="{$file}"></a> +<h1>{$file}</h1> +{if count($issues.warnings)} +<h2>Warnings:</h2><br> +{section name=warnings loop=$issues.warnings} +<b>{$issues.warnings[warnings].name}</b> - {$issues.warnings[warnings].listing}<br> +{/section} +{/if} +{if count($issues.errors)} +<h2>Errors:</h2><br> +{section name=errors loop=$issues.errors} +<b>{$issues.errors[errors].name}</b> - {$issues.errors[errors].listing}<br> +{/section} +{/if} +{/foreach} +{include file="footer.tpl"} diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/CHM/default/templates/default/templates/fileleft.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/CHM/default/templates/default/templates/fileleft.tpl new file mode 100755 index 00000000..45bcf945 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/CHM/default/templates/default/templates/fileleft.tpl @@ -0,0 +1,8 @@ +{foreach key=subpackage item=files from=$fileleftindex} + {if $subpackage != ""}subpackage <b>{$subpackage}</b><br>{/if} + {section name=files loop=$files} + {if $files[files].link != ''}<a href="{ldelim}$subdir{rdelim}{$files[files].link}">{/if} + {$files[files].title} + {if $files[files].link != ''}</a>{/if}<br> + {/section} +{/foreach} diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/CHM/default/templates/default/templates/filesource.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/CHM/default/templates/default/templates/filesource.tpl new file mode 100755 index 00000000..55c826b9 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/CHM/default/templates/default/templates/filesource.tpl @@ -0,0 +1,6 @@ +{capture name="tutle"}File Source for {$name}{/capture} +{include file="header.tpl" title=$smarty.capture.tutle} +<h1 align="center">Source for file {$name}</h1> +<p>Documentation is available at {$docs}</p> +{$source} +{include file="footer.tpl"}
\ No newline at end of file diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/CHM/default/templates/default/templates/footer.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/CHM/default/templates/default/templates/footer.tpl new file mode 100755 index 00000000..157bb1cd --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/CHM/default/templates/default/templates/footer.tpl @@ -0,0 +1,8 @@ +{if !$index} + <div id="credit"> + <hr> + Documentation generated on {$date} by <a href="{$phpdocwebsite}" target="_blank">phpDocumentor {$phpdocversion}</a> + </div> +{/if} +</body> +</html> diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/CHM/default/templates/default/templates/function.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/CHM/default/templates/default/templates/function.tpl new file mode 100755 index 00000000..895e8ab4 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/CHM/default/templates/default/templates/function.tpl @@ -0,0 +1,44 @@ +{if $summary} +<!-- =========== FUNCTION SUMMARY =========== --> +<A NAME='function_summary'><!-- --></A> +<H3>Function Summary</H3> + +<UL> + {section name=func loop=$functions} + <!-- =========== Summary =========== --> + <LI><CODE><A HREF="{$functions[func].id}">{$functions[func].function_return} {$functions[func].function_name}()</A></CODE> + <BR>{$functions[func].sdesc} + {/section} +</UL> +{else} +<!-- ============ FUNCTION DETAIL =========== --> + +<A NAME='function_detail'></A> +<H3>Function Detail</H3> + +<UL> +{section name=func loop=$functions} +<A NAME="{$functions[func].function_dest}"><!-- --></A> + +<LI><SPAN class="code">{$functions[func].function_return} {$functions[func].function_name}()</SPAN> [line <span class="linenumber">{if $functions[func].slink}{$functions[func].slink}{else}{$functions[func].line_number}{/if}</span>]<br /> +<BR><BR> +<SPAN class="type">Usage:</SPAN> <SPAN class="code">{if $functions[func].ifunction_call.returnsref}&{/if}{$functions[func].function_name}( +{if count($functions[func].ifunction_call.params)} +{section name=params loop=$functions[func].ifunction_call.params} +{if $smarty.section.params.iteration != 1}, {/if}{if $functions[func].ifunction_call.params[params].hasdefault}[{/if}{$functions[func].ifunction_call.params[params].type} {$functions[func].ifunction_call.params[params].name}{if $functions[func].ifunction_call.params[params].hasdefault} = {$functions[func].ifunction_call.params[params].default|escape:"html"}]{/if} +{/section} +{/if})</SPAN> +<BR><BR> +{if $functions[func].function_conflicts.conflict_type} +<p><b>Conflicts with functions:</b> +{section name=me loop=$functions[func].function_conflicts.conflicts} +{$functions[func].function_conflicts.conflicts[me]}<br /> +{/section} +</p> +{/if} +{include file="docblock.tpl" sdesc=$functions[func].sdesc desc=$functions[func].desc tags=$functions[func].tags params=$functions[func].params function=true} +<BR> +<p class="top">[ <a href="#top">Top</a> ]</p> +{/section} +</UL> +{/if}
\ No newline at end of file diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/CHM/default/templates/default/templates/global.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/CHM/default/templates/default/templates/global.tpl new file mode 100755 index 00000000..113a67ab --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/CHM/default/templates/default/templates/global.tpl @@ -0,0 +1,32 @@ +{if $summary} +<!-- =========== GLOBAL VARIABLE SUMMARY =========== --> +<A NAME='global_summary'><!-- --></A> +<H3>Global Variable Summary</H3> + +<UL> + {section name=glob loop=$globals} + <LI><CODE><A HREF="{$globals[glob].id}">{$globals[glob].global_name}</A></CODE> = <CODE class="varsummarydefault">{$globals[glob].global_value}</CODE> + <BR>{$globals[glob].sdesc} + {/section} +</UL> + +{else} +<!-- ============ GLOBAL VARIABLE DETAIL =========== --> + +<A NAME='global_detail'></A> +<H3>Global Variable Detail</H3> + +<UL> + {section name=glob loop=$globals} + <A NAME="{$globals[glob].global_link}"><!-- --></A> + <LI><i>{$globals[glob].global_type}</i> <SPAN class="code">{$globals[glob].global_name}</SPAN> = <CODE class="varsummarydefault">{$globals[glob].global_value}</CODE> [line <span class="linenumber">{if $globals[glob].slink}{$globals[glob].slink}{else}{$globals[glob].line_number}{/if}</span>]<br /> + {if $globals[glob].global_conflicts.conflict_type} + <p><b>Conflicts with globals:</b> + {section name=me loop=$globals[glob].global_conflicts.conflicts} + {$globals[glob].global_conflicts.conflicts[me]}<br /> + {/section} + {/if}<BR><BR> + {include file="docblock.tpl" sdesc=$globals[glob].sdesc desc=$globals[glob].desc tags=$globals[glob].tags} + {/section} +</UL> +{/if}
\ No newline at end of file diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/CHM/default/templates/default/templates/header.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/CHM/default/templates/default/templates/header.tpl new file mode 100755 index 00000000..30fad6bb --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/CHM/default/templates/default/templates/header.tpl @@ -0,0 +1,22 @@ +<!-- + IE 6 makes the page to wide with the following doctype. I accept + standards if they help me, not if they make anything even harder! +//--> +<!--<!DOCTYPE HTML PUBLIC '-//W3C//DTD HTML 4.0 Transitional//EN' 'http://www.w3.org/TR/REC-html40/loose.dtd'>//--> +<!--NewPage--> +<HTML> +<HEAD> + <!-- Generated by PhpDoc date: '{$date}' --> + <TITLE>{$title}</TITLE> +<LINK REL ='stylesheet' TYPE='text/css' HREF='{$subdir}media/stylesheet.css' TITLE='Style'> +{if $bgleft} +<STYLE type="text/css"><!-- + BODY {ldelim} + background-image : url("{$subdir}media/bg_left.png"); + background-repeat : repeat-y; + {rdelim} +//--></STYLE> +{/if} +</HEAD> +<BODY {if !$bgleft}BGCOLOR='white'{/if}> +<a name="top"><!-- --></a>
\ No newline at end of file diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/CHM/default/templates/default/templates/hhp.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/CHM/default/templates/default/templates/hhp.tpl new file mode 100755 index 00000000..c82846a8 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/CHM/default/templates/default/templates/hhp.tpl @@ -0,0 +1,17 @@ +[OPTIONS] +Compatibility=1.1 or later +Compiled file=documentation.chm +Contents file=contents.hhc +Default topic=index.html +Display compile progress=No +Index file=Index.hhk +Language=0x409 English (United States) +Title={$maintitle} + +[FILES] +{section name=files loop=$files} +{$files[files].name} +{/section} + +[INFOTYPES] + diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/CHM/default/templates/default/templates/include.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/CHM/default/templates/default/templates/include.tpl new file mode 100755 index 00000000..db76e4dc --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/CHM/default/templates/default/templates/include.tpl @@ -0,0 +1,26 @@ +{if $summary} +<!-- =========== INCLUDE SUMMARY =========== --> +<A NAME='include_summary'><!-- --></A> +<H3>Include Statements Summary</H3> + +<UL> + {section name=includes loop=$includes} + <LI><CODE><A HREF="#{$includes[includes].include_file}">{$includes[includes].include_name}</A></CODE> = <CODE class="varsummarydefault">{$includes[includes].include_value}</CODE> + <BR>{$includes[includes].sdesc} + {/section} +</UL> +{else} +<!-- ============ INCLUDE DETAIL =========== --> + +<A NAME='include_detail'></A> +<H3>Include Statements Detail</H3> + +<UL> + {section name=includes loop=$includes} + <A NAME="{$includes[includes].include_file}"><!-- --></A> + <LI><SPAN class="code">{$includes[includes].include_name} file:</SPAN> = <CODE class="varsummarydefault">{$includes[includes].include_value}</CODE> [line <span class="linenumber">{if $includes[includes].slink}{$includes[includes].slink}{else}{$includes[includes].line_number}{/if}</span>]<br /> + <BR><BR> + {include file="docblock.tpl" sdesc=$includes[includes].sdesc desc=$includes[includes].desc tags=$includes[includes].tags} + {/section} +</UL> +{/if}
\ No newline at end of file diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/CHM/default/templates/default/templates/index.hhk.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/CHM/default/templates/default/templates/index.hhk.tpl new file mode 100755 index 00000000..94cbd18e --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/CHM/default/templates/default/templates/index.hhk.tpl @@ -0,0 +1,8 @@ +<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN"> +<HTML> +<HEAD> +<meta name="GENERATOR" content="phpDocumentor {$phpdocversion} {$phpdocwebsite}"> +<!-- Sitemap 1.0 --> +</HEAD><BODY> +{$klinks} +</BODY></HTML> diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/CHM/default/templates/default/templates/index.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/CHM/default/templates/default/templates/index.tpl new file mode 100755 index 00000000..4e053097 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/CHM/default/templates/default/templates/index.tpl @@ -0,0 +1,24 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd"> +<!--NewPage--> +<HTML> +<HEAD> + <!-- Generated by PhpDoc on {$date} --> + <TITLE>{$title}</TITLE> +</HEAD> +<FRAMESET cols='220,*'> +{if $package_count > 1} + <FRAMESET rows='220,*'> + <FRAME src='packages.html' name='left_top'> +{/if} + <FRAME src='{$start}' name='left_bottom'> +{if $package_count > 1} + </FRAMESET> +{/if} + <FRAME src='{$blank}.html' name='right'> + <NOFRAMES> + <H2>Frame Alert</H2> + <P>This document is designed to be viewed using the frames feature. + If you see this message, you are using a non-frame-capable web client.</P> + </NOFRAMES> +</FRAMESET> +</HTML> diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/CHM/default/templates/default/templates/media/bg_left.png b/buildscripts/PhpDocumentor/phpDocumentor/Converters/CHM/default/templates/default/templates/media/bg_left.png Binary files differnew file mode 100755 index 00000000..19fdf05d --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/CHM/default/templates/default/templates/media/bg_left.png diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/CHM/default/templates/default/templates/media/stylesheet.css b/buildscripts/PhpDocumentor/phpDocumentor/Converters/CHM/default/templates/default/templates/media/stylesheet.css new file mode 100755 index 00000000..aa245bfa --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/CHM/default/templates/default/templates/media/stylesheet.css @@ -0,0 +1,130 @@ +BODY, DIV, SPAN, PRE, CODE, TD, TH { + line-height: 140%; + font-size: 10pt; + font-family: verdana,arial,sans-serif; +} + +H1 { + font-size: 12pt; +} + +H4 { + font-size: 10pt; + font-weight: bold; +} + +P.label { + margin-bottom: 5px; +} +P.dt { + margin-top: 0px; + margin-bottom: 0px; +} +P.indent { + margin-top: 0px; + margin-left: 20px; + margin-bottom: 0px; +} +P.method { + background-color: #f0f0f0; + padding: 2px; + border: 1px #cccccc solid; +} + +A { + text-decoration: none; +} + +A:link{ + color: #336699; +} + +A:visited { + color: #003366; +} + +A:active, A:hover { + color: #6699CC; +} + +A:hover{ + text-decoration: underline; +} + +SPAN.type { + color: #336699; + font-size: xx-small; + font-weight: normal; + } + +PRE { + background-color: #EEEEEE; + padding: 10px; + border-width: 1px; + border-color: #336699; + border-style: solid; +} + +HR { + color: #336699; + background-color: #336699; + border-width: 0px; + height: 1px; + filter: Alpha (opacity=100,finishopacity=0,style=1); +} + +DIV.sdesc { + font-weight: bold; + background-color: #EEEEEE; + padding: 10px; + border-width: 1px; + border-color: #336699; + border-style: solid; +} + +DIV.desc { + font-family: monospace; + background-color: #EEEEEE; + padding: 10px; + border-width: 1px; + border-color: #336699; + border-style: solid; +} + +SPAN.code { + font-family: monospace; +} + +CODE.varsummarydefault{ + padding: 1px; + border-width: 1px; + border-style: dashed; + border-color: #336699; +} + +UL.tute { + margin: 0px; + padding: 0px; + padding-left: 5px; + } + +LI.tute { + line-height: 140%; + font-size: 10pt; + text-indent: -15px; + padding-bottom: 2px; + padding-left: 14px; +} + +.small{ + font-size: 9pt; +} + + +.tute-tag { color: #009999 } +.tute-attribute-name { color: #0000FF } +.tute-attribute-value { color: #0099FF } +.tute-entity { font-weight: bold; } +.tute-comment { font-style: italic } +.tute-inline-tag { color: #636311; font-weight: bold } +.src-code { font-family: 'Courier New', Courier, monospace; font-weight: normal; } diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/CHM/default/templates/default/templates/method.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/CHM/default/templates/default/templates/method.tpl new file mode 100755 index 00000000..4816c4f9 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/CHM/default/templates/default/templates/method.tpl @@ -0,0 +1,126 @@ +{if $show == 'summary'} +<!-- =========== METHOD SUMMARY =========== --> +<A NAME='method_summary'><!-- --></A> +<H3>Method Summary</H3> + +<UL> + {section name=methods loop=$methods} + {if $methods[methods].static} + <!-- =========== Summary =========== --> + <LI><CODE>static <A HREF='{$methods[methods].id}'>{$methods[methods].function_return} {$methods[methods].function_name}()</A></CODE> + <BR>{$methods[methods].sdesc} + {/if} + {/section} + {section name=methods loop=$methods} + {if $methods[methods].static} + <!-- =========== Summary =========== --> + <LI><CODE><A HREF='{$methods[methods].id}'>{$methods[methods].function_return} {$methods[methods].function_name}()</A></CODE> + <BR>{$methods[methods].sdesc} + {/if} + {/section} +</UL> + +{else} +<!-- ============ METHOD DETAIL =========== --> + +<A NAME='method_detail'></A> +<H3>Method Detail</H3> + +<UL> +{section name=methods loop=$methods} +{if $methods[methods].static} +<A NAME='{$methods[methods].method_dest}'><!-- --></A> + +<h1><A name="{$methods[methods].function_name}"></A>static {$class_name}::{$methods[methods].function_name}</h1> + +<p class=method> +<b>static {if $methods[methods].ifunction_call.returnsref}&{/if}{$methods[methods].function_name}(</b> +{if count($methods[methods].ifunction_call.params)} +{section name=params loop=$methods[methods].ifunction_call.params} +{if $smarty.section.params.iteration != 1}, {/if} +{if $methods[methods].ifunction_call.params[params].hasdefault}[{/if}<b>{$methods[methods].ifunction_call.params[params].type}</b> +<i>{$methods[methods].ifunction_call.params[params].name}</i>{if $methods[methods].ifunction_call.params[params].hasdefault} = {$methods[methods].ifunction_call.params[params].default}]{/if} +{/section} +{/if}<b> );</b> +</p> + +{if $methods[methods].descmethod} + <p>Overridden in child classes as:<br /> + {section name=dm loop=$methods[methods].descmethod} + <dl> + <dt>{$methods[methods].descmethod[dm].link}</dt> + <dd>{$methods[methods].descmethod[dm].sdesc}</dd> + </dl> + {/section}</p> +{/if} +{if $methods[methods].method_overrides} +<p>Overrides {$methods[methods].method_overrides.link} ({$methods[methods].method_overrides.sdesc|default:"parent method not documented"})</p> +{/if} + {if $methods[methods].method_implements} + <hr class="separator" /> + <div class="notes">Implementation of:</div> + {section name=imp loop=$methods[methods].method_implements} + <dl> + <dt>{$methods[methods].method_implements[imp].link}</dt> + {if $methods[methods].method_implements[imp].sdesc} + <dd>{$methods[methods].method_implements[imp].sdesc}</dd> + {/if} + </dl> + {/section} + {/if} + +{include file="docblock.tpl" sdesc=$methods[methods].sdesc desc=$methods[methods].desc tags=$methods[methods].tags params=$methods[methods].params function=true} + <p class="top">[ <a href="#top">Top</a> ]</p> +<BR> +{/if} +{/section} + +{section name=methods loop=$methods} +{if !$methods[methods].static} +<A NAME='{$methods[methods].method_dest}'><!-- --></A> + +<h1><A name="{$methods[methods].function_name}"></A>{$class_name}::{$methods[methods].function_name}</h1> + +<p class=method> +<b>{if $methods[methods].ifunction_call.returnsref}&{/if}{$methods[methods].function_name}(</b> +{if count($methods[methods].ifunction_call.params)} +{section name=params loop=$methods[methods].ifunction_call.params} +{if $smarty.section.params.iteration != 1}, {/if} +{if $methods[methods].ifunction_call.params[params].hasdefault}[{/if}<b>{$methods[methods].ifunction_call.params[params].type}</b> +<i>{$methods[methods].ifunction_call.params[params].name}</i>{if $methods[methods].ifunction_call.params[params].hasdefault} = {$methods[methods].ifunction_call.params[params].default}]{/if} +{/section} +{/if}<b> );</b> +</p> + +{if $methods[methods].descmethod} + <p>Overridden in child classes as:<br /> + {section name=dm loop=$methods[methods].descmethod} + <dl> + <dt>{$methods[methods].descmethod[dm].link}</dt> + <dd>{$methods[methods].descmethod[dm].sdesc}</dd> + </dl> + {/section}</p> +{/if} +{if $methods[methods].method_overrides} +<p>Overrides {$methods[methods].method_overrides.link} ({$methods[methods].method_overrides.sdesc|default:"parent method not documented"})</p> +{/if} + {if $methods[methods].method_implements} + <hr class="separator" /> + <div class="notes">Implementation of:</div> + {section name=imp loop=$methods[methods].method_implements} + <dl> + <dt>{$methods[methods].method_implements[imp].link}</dt> + {if $methods[methods].method_implements[imp].sdesc} + <dd>{$methods[methods].method_implements[imp].sdesc}</dd> + {/if} + </dl> + {/section} + {/if} + +{include file="docblock.tpl" sdesc=$methods[methods].sdesc desc=$methods[methods].desc tags=$methods[methods].tags params=$methods[methods].params function=true} + <p class="top">[ <a href="#top">Top</a> ]</p> +<BR> +{/if} +{/section} +</UL> +{/if}
\ No newline at end of file diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/CHM/default/templates/default/templates/packages.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/CHM/default/templates/default/templates/packages.tpl new file mode 100755 index 00000000..0967e6e7 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/CHM/default/templates/default/templates/packages.tpl @@ -0,0 +1,3 @@ +{section name=packages loop=$packages} +<a href="{$packages[packages].link}">{$packages[packages].title}</a> +{/section}
\ No newline at end of file diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/CHM/default/templates/default/templates/page.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/CHM/default/templates/default/templates/page.tpl new file mode 100755 index 00000000..39f4823a --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/CHM/default/templates/default/templates/page.tpl @@ -0,0 +1,34 @@ +{include file="header.tpl" eltype="Procedural file"} +<h3><SPAN class="type">File:</SPAN> {$source_location}<HR> +</h3> +{if $tutorial} +<div class="maintutorial">Main Tutorial: {$tutorial}</div> +{/if} +{include file="docblock.tpl" desc=$desc sdesc=$sdesc tags=$tags} +Classes in this file: +<dl> +{section name=classes loop=$classes} +<dt>{$classes[classes].link}</dt> + <dd>{$classes[classes].sdesc}</dd> +{/section} +</dl> +<hr> +{include file="include.tpl" summary=true} +<hr> +{include file="global.tpl" summary=true} +<hr> +{include file="define.tpl" summary=true} +<hr> +{include file="function.tpl" summary=true} +<hr> +{include file="include.tpl"} +<hr> +{include file="global.tpl"} +<hr> +{include file="define.tpl"} +<hr> +{include file="function.tpl"} +<hr> +{include file="footer.tpl"} + +</HTML>
\ No newline at end of file diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/CHM/default/templates/default/templates/pkgelementindex.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/CHM/default/templates/default/templates/pkgelementindex.tpl new file mode 100755 index 00000000..f3a90ab3 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/CHM/default/templates/default/templates/pkgelementindex.tpl @@ -0,0 +1,14 @@ +{include file="header.tpl"} +<a name="top"></a> +<h1>Element index for package {$package}</h1> +{if count($packageindex) > 1} +<b>Indexes by package:</b><br> +{/if} +{section name=p loop=$packageindex} +{if $packageindex[p].title != $package} +<a href="elementindex_{$packageindex[p].title}.html">{$packageindex[p].title}</a><br> +{/if} +{/section}<br> +<a href="elementindex.html"><b>Index of all elements</b></a><br> +{include file="basicindex.tpl" indexname=elementindex_$package} +{include file="footer.tpl"} diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/CHM/default/templates/default/templates/ric.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/CHM/default/templates/default/templates/ric.tpl new file mode 100755 index 00000000..eff734c1 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/CHM/default/templates/default/templates/ric.tpl @@ -0,0 +1,6 @@ +{include file="header.tpl"} +<h1 align="center">{$name}</h1> +<pre> +{$contents|htmlentities} +</pre> +{include file="footer.tpl"}
\ No newline at end of file diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/CHM/default/templates/default/templates/tocentry.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/CHM/default/templates/default/templates/tocentry.tpl new file mode 100755 index 00000000..dd0669b5 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/CHM/default/templates/default/templates/tocentry.tpl @@ -0,0 +1,11 @@ +<UL> +{section name=entry loop=$entry} + <LI> <OBJECT type="text/sitemap"> + <param name="Name" value="{$entry[entry].paramname}"> +{if $entry[entry].isclass} <param name="ImageNumber" value="1"> +{/if}{if $entry[entry].outputfile} <param name="Local" value="{$entry[entry].outputfile}"> +{/if} </OBJECT> + {if $entry[entry].tocsubentries}{$entry[entry].tocsubentries}{/if} +{/section} + {$tocsubentries} +</UL> diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/CHM/default/templates/default/templates/todolist.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/CHM/default/templates/default/templates/todolist.tpl new file mode 100755 index 00000000..f929ccdb --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/CHM/default/templates/default/templates/todolist.tpl @@ -0,0 +1,14 @@ +{include file="header.tpl" title="Todo List"} +<div align="center"><h1>Todo List</h1></div> +{foreach from=$todos key=todopackage item=todo} +<h2>{$todopackage}</h2> +{section name=todo loop=$todo} +<h3>{$todo[todo].link}</h3> +<ul> +{section name=t loop=$todo[todo].todos} + <li>{$todo[todo].todos[t]}</li> +{/section} +</ul> +{/section} +{/foreach} +{include file="footer.tpl"}
\ No newline at end of file diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/CHM/default/templates/default/templates/tutorial.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/CHM/default/templates/default/templates/tutorial.tpl new file mode 100755 index 00000000..a943522c --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/CHM/default/templates/default/templates/tutorial.tpl @@ -0,0 +1,32 @@ +{include file="header.tpl" title=$title} +{if $nav} +<table width="100%" border="0" cellpadding="0" cellspacing="0"> +<tr> +<td width="10%" align="left" valign="bottom">{if $prev}<a href= +"{$prev}">{/if}Prev{if $prev}</a>{/if}</td> +<td width="80%" align="center" valign="bottom"></td> +<td width="10%" align="right" valign="bottom">{if $next}<a href= +"{$next}">{/if}Next{if $next}</a>{/if}</td> +</tr> +</table> +{/if} +{$contents} +{if $nav} +<table width="100%" border="0" cellpadding="0" cellspacing="0"> +<tr> +<td width="33%" align="left" valign="top">{if $prev}<a href="{$prev}">{/if} +Prev{if $prev}</a>{/if}</td> +<td width="34%" align="center" valign="top">{if $up}<a href= +"{$up}">Up</a>{else} {/if}</td> +<td width="33%" align="right" valign="top">{if $next}<a href= +"{$next}">{/if}Next{if $next}</a>{/if}</td> +</tr> + +<tr> +<td width="33%" align="left" valign="top">{if $prevtitle}{$prevtitle}{/if}</td> +<td width="34%" align="center" valign="top">{if $uptitle}{$uptitle}{/if}</td> +<td width="33%" align="right" valign="top">{if $nexttitle}{$nexttitle}{/if}</td> +</tr> +</table> +{/if} +{include file="footer.tpl"}
\ No newline at end of file diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/CHM/default/templates/default/templates/tutorial_toc.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/CHM/default/templates/default/templates/tutorial_toc.tpl new file mode 100755 index 00000000..3d22d403 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/CHM/default/templates/default/templates/tutorial_toc.tpl @@ -0,0 +1,29 @@ +{if count($toc)} +<h1 align="center">Table of Contents</h1> +<ul> +{section name=toc loop=$toc} +{if $toc[toc].tagname == 'refsect1'} +{assign var="context" value="refsect1"} +{$toc[toc].link}<br /> +{/if} +{if $toc[toc].tagname == 'refsect2'} +{assign var="context" value="refsect2"} + {$toc[toc].link}<br /> +{/if} +{if $toc[toc].tagname == 'refsect3'} +{assign var="context" value="refsect3"} + {$toc[toc].link}<br /> +{/if} +{if $toc[toc].tagname == 'table'} +{if $context == 'refsect2'} {/if} +{if $context == 'refsect3'} {/if} +Table: {$toc[toc].link} +{/if} +{if $toc[toc].tagname == 'example'} +{if $context == 'refsect2'} {/if} +{if $context == 'refsect3'} {/if} +Table: {$toc[toc].link} +{/if} +{/section} +</ul> +{/if}
\ No newline at end of file diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/CHM/default/templates/default/templates/tutorial_tree.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/CHM/default/templates/default/templates/tutorial_tree.tpl new file mode 100755 index 00000000..de907179 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/CHM/default/templates/default/templates/tutorial_tree.tpl @@ -0,0 +1,5 @@ +<ul> + <li><a href="{$main.link}" target="right">{$main.title|strip_tags}</a> +{if $kids}{$kids}</li>{/if} +</ul> + diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/CHM/default/templates/default/templates/var.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/CHM/default/templates/default/templates/var.tpl new file mode 100755 index 00000000..eeefcc51 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/CHM/default/templates/default/templates/var.tpl @@ -0,0 +1,51 @@ +{if $show=="summary"} +<!-- =========== VAR SUMMARY =========== --> +<A NAME='var_summary'><!-- --></A> +<H3>Class Variable Summary</H3> + +<UL> + {section name=vars loop=$vars} + {if $vars[vars].static} + <!-- =========== Summary =========== --> + <LI><CODE>static <a href="{$vars[vars].id}">{$vars[vars].var_name}</a></CODE> = <CODE class="varsummarydefault">{$vars[vars].var_default|replace:"\n":"<br>\n"|replace:" ":" "|replace:"\t":" "}</CODE> + <BR> + {$vars[vars].sdesc} + {/if} + {/section} + {section name=vars loop=$vars} + {if !$vars[vars].static} + <!-- =========== Summary =========== --> + <LI><CODE><a href="{$vars[vars].id}">{$vars[vars].var_name}</a></CODE> = <CODE class="varsummarydefault">{$vars[vars].var_default|replace:"\n":"<br>\n"|replace:" ":" "|replace:"\t":" "}</CODE> + <BR> + {$vars[vars].sdesc} + {/if} + {/section} +</UL> +{else} +<!-- ============ VARIABLE DETAIL =========== --> + +<A NAME='variable_detail'></A> + +<H3>Variable Detail</H3> + +<UL> +{section name=vars loop=$vars} +{if $vars[vars].static} +<A NAME="{$vars[vars].var_dest}"><!-- --></A> +<LI><SPAN class="code">static {$vars[vars].var_name}</SPAN> = <CODE class="varsummarydefault">{$vars[vars].var_default|replace:"\n":"<br>\n"|replace:" ":" "|replace:"\t":" "}</CODE> [line <span class="linenumber">{if $vars[vars].slink}{$vars[vars].slink}{else}{$vars[vars].line_number}{/if}</span>]</LI> +<LI><b>Data type:</b> <CODE class="varsummarydefault">{$vars[vars].var_type}</CODE>{if $vars[vars].var_overrides}<b>Overrides:</b> {$vars[vars].var_overrides}<br>{/if}</LI> +{include file="docblock.tpl" sdesc=$vars[vars].sdesc desc=$vars[vars].desc tags=$vars[vars].tags} +<BR> +{/if} +{/section} +{section name=vars loop=$vars} +{if !$vars[vars].static} +<A NAME="{$vars[vars].var_dest}"><!-- --></A> +<LI><SPAN class="code">{$vars[vars].var_name}</SPAN> = <CODE class="varsummarydefault">{$vars[vars].var_default|replace:"\n":"<br>\n"|replace:" ":" "|replace:"\t":" "}</CODE> [line <span class="linenumber">{if $vars[vars].slink}{$vars[vars].slink}{else}{$vars[vars].line_number}{/if}</span>]</LI> +<LI><b>Data type:</b> <CODE class="varsummarydefault">{$vars[vars].var_type}</CODE>{if $vars[vars].var_overrides}<b>Overrides:</b> {$vars[vars].var_overrides}<br>{/if}</LI> +{include file="docblock.tpl" sdesc=$vars[vars].sdesc desc=$vars[vars].desc tags=$vars[vars].tags} +<BR> +{/if} +{/section} +</UL> +{/if}
\ No newline at end of file diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/HTMLSmartyConverter.inc b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/HTMLSmartyConverter.inc new file mode 100755 index 00000000..d9fe459c --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/HTMLSmartyConverter.inc @@ -0,0 +1,1966 @@ +<?php +/** + * HTML output converter for Smarty Template. + * This Converter takes output from the {@link Parser} and converts it to HTML-ready output for use with {@link Smarty}. + * + * phpDocumentor :: automatic documentation generator + * + * PHP versions 4 and 5 + * + * Copyright (c) 2000-2006 Joshua Eichorn, Gregory Beaver + * + * LICENSE: + * + * 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, or (at your option) any + * later version. + * + * 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 + * + * @package Converters + * @subpackage HTMLframes + * @author Joshua Eichorn <jeichorn@phpdoc.org> + * @author Greg Beaver <cellog@php.net> + * @copyright 2000-2006 Joshua Eichorn, Gregory Beaver + * @license http://www.opensource.org/licenses/lgpl-license.php LGPL + * @version CVS: $Id: HTMLSmartyConverter.inc 234145 2007-04-19 20:20:57Z ashnazg $ + * @filesource + * @link http://www.phpdoc.org + * @link http://pear.php.net/PhpDocumentor + * @see parserDocBlock, parserInclude, parserPage, parserClass + * @see parserDefine, parserFunction, parserMethod, parserVar + * @since 1.0rc1 + */ +/** + * HTML output converter. + * This Converter takes output from the {@link Parser} and converts it to HTML-ready output for use with {@link Smarty}. + * + * @package Converters + * @subpackage HTMLSmarty + * @see parserDocBlock, parserInclude, parserPage, parserClass, parserDefine, parserFunction, parserMethod, parserVar + * @author Greg Beaver <cellog@php.net> + * @since 1.0rc1 + * @version $Revision: 234145 $ + */ +class HTMLSmartyConverter extends Converter +{ + /** + * This converter knows about the new root tree processing + * In order to fix PEAR Bug #6389 + * @var boolean + */ + var $processSpecialRoots = true; + /** + * Smarty Converter wants elements sorted by type as well as alphabetically + * @see Converter::$sort_page_contents_by_type + * @var boolean + */ + var $sort_page_contents_by_type = true; + /** @var string */ + var $outputformat = 'HTML'; + /** @var string */ + var $name = 'Smarty'; + /** + * indexes of elements by package that need to be generated + * @var array + */ + var $leftindex = array('classes' => true, 'pages' => true, 'functions' => true, 'defines' => false, 'globals' => false); + + /** + * output directory for the current procedural page being processed + * @var string + */ + var $page_dir; + + /** + * target directory passed on the command-line. + * {@link $targetDir} is malleable, always adding package/ and package/subpackage/ subdirectories onto it. + * @var string + */ + var $base_dir; + + /** + * output directory for the current class being processed + * @var string + */ + var $class_dir; + + /** + * array of converted package page names. + * Used to link to the package page in the left index + * @var array Format: array(package => 1) + */ + var $package_pages = array(); + + /** + * controls formatting of parser informative output + * + * Converter prints: + * "Converting /path/to/file.php... Procedural Page Elements... Classes..." + * Since HTMLdefaultConverter outputs files while converting, it needs to send a \n to start a new line. However, if there + * is more than one class, output is messy, with multiple \n's just between class file output. This variable prevents that + * and is purely cosmetic + * @var boolean + */ + var $juststarted = false; + + /** + * contains all of the template procedural page element loop data needed for the current template + * @var array + */ + var $current; + + /** + * contains all of the template class element loop data needed for the current template + * @var array + */ + var $currentclass; + var $wrote = false; + var $ric_set = array(); + + /** + * sets {@link $base_dir} to $targetDir + * @see Converter() + */ + + /**#@+ + * @access private + */ + var $_classleft_cache = false; + var $_classcontents_cache = false; + var $_pagecontents_cache = false; + var $_pageleft_cache = false; + var $_done_package_index = false; + var $_ric_done = false; + var $_wrote_tdir = false; + var $ric_contents = array(); + /**#@-*/ + + function HTMLSmartyConverter(&$allp, &$packp, &$classes, &$procpages, $po, $pp, $qm, $targetDir, $templateDir, $title) + { + Converter::Converter($allp, $packp, $classes, $procpages,$po, $pp, $qm, $targetDir, $templateDir, $title); + $this->base_dir = $targetDir; + } + + function writeSource($path, $value) + { + $templ = &$this->newSmarty(); + $pathinfo = $this->proceduralpages->getPathInfo($path, $this); + $templ->assign('source',$value); + $templ->assign('package',$pathinfo['package']); + $templ->assign('subpackage',$pathinfo['subpackage']); + $templ->assign('name',$pathinfo['name']); + $templ->assign('source_loc',$pathinfo['source_loc']); + $templ->assign('docs',$pathinfo['docs']); + $templ->assign("subdir",'../'); + $templ->register_outputfilter('HTMLSmarty_outputfilter'); + $this->setTargetDir($this->getFileSourcePath($this->base_dir)); + phpDocumentor_out("\n"); + $this->setSourcePaths($path); + $this->writefile($this->getFileSourceName($path).'.html',$templ->fetch('filesource.tpl')); + } + + function writeExample($title, $path, $source) + { + $templ = &$this->newSmarty(); + $templ->assign('source',$source); + if (empty($title)) + { + $title = 'example'; + addWarning(PDERROR_EMPTY_EXAMPLE_TITLE, $path, $title); + } + $templ->assign('title',$title); + $templ->assign('file',$path); + $templ->assign("subdir",'../'); + $templ->register_outputfilter('HTMLSmarty_outputfilter'); + $this->setTargetDir($this->base_dir . PATH_DELIMITER . '__examplesource'); + phpDocumentor_out("\n"); + $this->writefile('exsource_'.$path.'.html',$templ->fetch('examplesource.tpl')); + } + + function getExampleLink($path, $title) + { + return $this->returnLink('{$subdir}__examplesource' . PATH_DELIMITER . 'exsource_'.$path.'.html',$title); + } + + function getSourceLink($path) + { + return $this->returnLink('{$subdir}__filesource/' . + $this->getFileSourceName($path).'.html','Source Code for this file'); + } + + /** + * Retrieve a Converter-specific anchor to a segment of a source code file + * parsed via a {@tutorial tags.filesource.pkg} tag. + * @param string full path to source file + * @param string name of anchor + * @param string link text, if this is a link + * @param boolean returns either a link or a destination based on this + * parameter + * @return string link to an anchor, or the anchor + */ + function getSourceAnchor($sourcefile,$anchor,$text = '',$link = false) + { + if ($link) { + return $this->returnLink('{$subdir}__filesource/' . + $this->getFileSourceName($sourcefile) . '.html#a' . $anchor, $text); + } else { + return '<a name="a'.$anchor.'"></a>'; + } + } + + /** + * Return a line of highlighted source code with formatted line number + * + * If the $path is a full path, then an anchor to the line number will be + * added as well + * @param integer line number + * @param string highlighted source code line + * @param false|string full path to @filesource file this line is a part of, + * if this is a single line from a complete file. + * @return string formatted source code line with line number + */ + function sourceLine($linenumber, $line, $path = false) + { + $extra = ''; + if (strlen(str_replace("\n", '', $line)) == 0) { + $extra = ' '; + } + if ($path) + { + return '<li><div class="src-line">' . $this->getSourceAnchor($path, $linenumber) . + str_replace("\n",'',$line) . $extra . + "</div></li>\n"; + } else + { + return '<li><div class="src-line">' . str_replace("\n",'',$line) . "$extra</div></li>\n"; + } + } + + /** + * Used to convert the <<code>> tag in a docblock + * @param string + * @param boolean + * @return string + */ + function ProgramExample($example, $tutorial = false, $inlinesourceparse = null/*false*/, + $class = null/*false*/, $linenum = null/*false*/, $filesourcepath = null/*false*/) + { + $trans = $this->template_options['desctranslate']; + $this->template_options['desctranslate'] = array(); + $example = '<ol>' . parent::ProgramExample($example, $tutorial, $inlinesourceparse, $class, $linenum, $filesourcepath) + .'</ol>'; + $this->template_options['desctranslate'] = $trans; + if (!isset($this->template_options['desctranslate'])) return $example; + if (!isset($this->template_options['desctranslate']['code'])) return $example; + $example = $this->template_options['desctranslate']['code'] . $example; + if (!isset($this->template_options['desctranslate']['/code'])) return $example; + return $example . $this->template_options['desctranslate']['/code']; + } + + /** + * @param string + */ + function TutorialExample($example) + { + $trans = $this->template_options['desctranslate']; + $this->template_options['desctranslate'] = array(); + $example = '<ol>' . parent::TutorialExample($example) + .'</ol>'; + $this->template_options['desctranslate'] = $trans; + if (!isset($this->template_options['desctranslate'])) return $example; + if (!isset($this->template_options['desctranslate']['code'])) return $example; + $example = $this->template_options['desctranslate']['code'] . $example; + if (!isset($this->template_options['desctranslate']['/code'])) return $example; + return $example . $this->template_options['desctranslate']['/code']; + } + + function getCurrentPageLink() + { + return $this->curname . '.html'; + } + + function unmangle($sourcecode) + { + $sourcecode = str_replace(' ',' ',$sourcecode); + $sourcecode = str_replace('&','&',$sourcecode); + $sourcecode = str_replace('<br />',"<br>",$sourcecode); + $sourcecode = str_replace('<code>','<pre>',$sourcecode); + $sourcecode = str_replace('</code>','</pre>',$sourcecode); + $sourcecode = str_replace('<','<',$sourcecode); + $sourcecode = str_replace('>','>',$sourcecode); + return $sourcecode; + } + + /** + * Uses htmlspecialchars() on the input + */ + function postProcess($text) + { + if ($this->highlightingSource) { + return str_replace(array(' ',"\t"), array(' ', ' '), + htmlspecialchars($text)); + } + return htmlspecialchars($text); + } + + /** + * Use the template tutorial_toc.tpl to generate a table of contents for HTML + * @return string table of contents formatted for use in the current output format + * @param array format: array(array('tagname' => section, 'link' => returnsee link, 'id' => anchor name, 'title' => from title tag),...) + */ + function formatTutorialTOC($toc) + { + $template = &$this->newSmarty(); + $template->assign('toc',$toc); + return $template->fetch('tutorial_toc.tpl'); + } + + function &SmartyInit(&$templ) + { + $this->makeLeft(); + $templ->assign("ric",$this->ric_set); + $templ->assign("packageindex",$this->package_index); + $templ->assign('hastodos',count($this->todoList)); + $templ->assign('todolink','todolist.html'); + $templ->assign("subdir",''); + return $templ; + } + + /** + * Writes out the template file of {@link $class_data} and unsets the template to save memory + * @see registerCurrentClass() + * @see parent::endClass() + */ + function endClass() + { + $a = '../'; + if (!empty($this->subpackage)) $a .= '../'; + if ($this->juststarted) + { + $this->juststarted = false; + phpDocumentor_out("\n"); + flush(); + } + $this->setTargetDir($this->base_dir . PATH_DELIMITER . $this->class_dir); + $classleft = $this->getClassLeft(); + $this->class_data->assign("compiledfileindex",$this->getPageLeft()); + $this->class_data->assign("compiledclassindex",$classleft['class']); + $this->class_data->assign("compiledinterfaceindex",$classleft['interface']); + $this->class_data->assign("tutorials",$this->getTutorialList()); + $this->class_data->assign("contents",$this->getClassContents()); + $this->class_data->assign("packageindex",$this->package_index); + $this->class_data->assign("package",$this->package); + $this->class_data->assign("subdir",$a); + $this->class_data->register_outputfilter('HTMLSmarty_outputfilter'); + $this->writefile($this->class . '.html',$this->class_data->fetch('class.tpl')); + unset($this->class_data); + } + + function getTutorialList() + { + static $cache = false; + if ($cache) + { + if (isset($cache[$this->package])) return $cache[$this->package]; + } + $package = $this->package; + if (!isset($this->tutorials[$package])) return false; + foreach($this->tutorials[$package] as $subpackage => $blah) + { + $subpackages[] = $subpackage; + } + $tutes = array(); + foreach($subpackages as $subpackage) + { + if (isset($this->tutorial_tree) && is_array($this->tutorial_tree)) + foreach($this->tutorial_tree as $root => $tr) + { + if ($tr['tutorial']->package == $package && $tr['tutorial']->subpackage == $subpackage) + $tutes[$tr['tutorial']->tutorial_type][] = $this->getTutorialTree($tr['tutorial']); + } + } + $cache[$this->package] = $tutes; + return $tutes; + } + + function getTutorialTree($tutorial,$k = false) + { + $ret = ''; + if (is_object($tutorial)) $tree = parent::getTutorialTree($tutorial); else $tree = $tutorial; + if (!$tree) + { + $template = &$this->newSmarty(); + $template->assign('subtree',false); + $template->assign('name',str_replace('.','',$tutorial->name)); + $template->assign('parent',false); + $template->assign('haskids',false); + $template->assign('kids',''); + $link = new tutorialLink; + $t = $tutorial; + $link->addLink('',$t->path,$t->name,$t->package,$t->subpackage,$t->getTitle($this)); + $main = array('link' => $this->getId($link), 'title' => $link->title); + $template->assign('main',$main); + return $template->fetch('tutorial_tree.tpl'); + } + if (isset($tree['kids'])) + { + foreach($tree['kids'] as $subtree) + { + $ret .= $this->getTutorialTree($subtree, true); + } + } + $template = &$this->newSmarty(); + $template->assign('subtree',$k); + $template->assign('name',str_replace('.','',$tree['tutorial']->name)); + $template->assign('parent',($k ? str_replace('.','',$tree['tutorial']->parent->name) : false)); + $template->assign('haskids',strlen($ret)); + $template->assign('kids',$ret); + $link = new tutorialLink; + $t = $tree['tutorial']; + $link->addLink('',$t->path,$t->name,$t->package,$t->subpackage,$t->getTitle($this)); + $main = array('link' => $this->getId($link), 'title' => $link->title); + $template->assign('main',$main); + return $template->fetch('tutorial_tree.tpl'); + } + + function getClassLeft() + { + if ($this->_classleft_cache) + { + if (isset($this->_classleft_cache[$this->package][$this->subpackage])) return $this->_classleft_cache[$this->package][$this->subpackage]; + } + $arr = $classarr = $interfacearr = array(); + if (isset($this->left['#class'][$this->package])) + foreach($this->left['#class'][$this->package] as $subpackage => $pages) + { + for ($i = 0; $i < count($pages); $i++) { + if ($pages[$i]['is_interface']) { + $interfacearr[$subpackage][] = $pages[$i]; + } else { + $classarr[$subpackage][] = $pages[$i]; + } + } + } + $templ = &$this->newSmarty(); + $templ->assign('classleftindex',$classarr); + $classarr = $templ->fetch('classleft.tpl'); + $this->_classleft_cache[$this->package][$this->subpackage]['class'] = $classarr; + $templ = &$this->newSmarty(); + $templ->assign('classleftindex',$interfacearr); + $interfacearr = $templ->fetch('classleft.tpl'); + $this->_classleft_cache[$this->package][$this->subpackage]['interface'] = + $interfacearr; + return $this->_classleft_cache[$this->package][$this->subpackage]; + } + + function getClassContents() + { + if ($this->_classcontents_cache) + { + if (isset($this->_classcontents_cache[$this->package][$this->subpackage][$this->class])) return $this->_classcontents_cache[$this->package][$this->subpackage][$this->class]; + } + $arr = array(); + foreach($this->class_contents[$this->package][$this->subpackage][$this->class] as $i => $link) + { + if (is_object($link)) + $arr[$link->type][] = $this->returnSee($link,$link->name); + } + $this->_classcontents_cache[$this->package][$this->subpackage][$this->class] = $arr; + return $arr; + } + + function getPageContents() + { + if (!isset($this->path)) $this->path = '#####'; + if ($this->_pagecontents_cache) + { + if (isset($this->_pagecontents_cache[$this->package][$this->subpackage][$this->path])) return $this->_pagecontents_cache[$this->package][$this->subpackage][$this->path]; + } + $arr = array(); + foreach($this->page_contents[$this->curpage->package][$this->curpage->subpackage] as $i => $link) + { + if (is_object($link)) + $arr[$link->type][$i] = $this->returnSee($link); + } + $this->_pagecontents_cache[$this->package][$this->subpackage][$this->path] = $arr; + return $arr; + } + + function getPageLeft() + { + if ($this->_pageleft_cache) + { + if (isset($this->_pageleft_cache[$this->package][$this->subpackage])) return $this->_pageleft_cache[$this->package][$this->subpackage]; + } + $arr = array(); + if (isset($this->left[$this->package])) + foreach($this->left[$this->package] as $subpackage => $pages) + { + $arr[$subpackage] = $pages; + } + $templ = &$this->newSmarty(); + $templ->assign('fileleftindex',$arr); + $arr = $templ->fetch('fileleft.tpl'); + $this->_pageleft_cache[$this->package][$this->subpackage] = $arr; + return $arr; + } + + /** + * Writes out the template file of {@link $page_data} and unsets the template to save memory + * @see registerCurrent() + * @see parent::endPage() + */ + function endPage() + { + $this->package = $this->curpage->package; + $this->subpackage = $this->curpage->subpackage; + $a = '../'; + if (!empty($this->subpackage)) $a .= '../'; + $classleft = $this->getClassLeft(); + $this->setTargetDir($this->base_dir . PATH_DELIMITER . $this->page_dir); + $this->page_data->assign("contents",$this->getPageContents()); + $this->page_data->assign("compiledfileindex",$this->getPageLeft()); + $this->page_data->assign("compiledclassindex",$classleft['class']); + $this->page_data->assign("compiledinterfaceindex",$classleft['interface']); + $this->page_data->assign("tutorials",$this->getTutorialList()); + $this->page_data->assign("packageindex",$this->package_index); + $this->page_data->assign("package",$this->package); + $this->page_data->assign("subdir",$a); + $this->page_data->register_outputfilter('HTMLSmarty_outputfilter'); + $this->writefile($this->page . '.html',$this->page_data->fetch('page.tpl')); + unset($this->page_data); + } + + /** + * @param string + * @param string + * @return string <a href="'.$link.'">'.$text.'</a> + */ + function returnLink($link,$text) + { + return '<a href="'.$link.'">'.$text.'</a>'; + } + + function makeLeft() + { + if ($this->_done_package_index) return; + $this->_done_package_index = true; + if (!isset($this->package_index)) + foreach($this->all_packages as $key => $val) + { + if (isset($this->pkg_elements[$key])) + { + if (!isset($start)) $start = $key; + $this->package_index[] = array('link' => "li_$key.html", 'title' => $key); + } + } + foreach($this->page_elements as $package => $o1) + { + foreach($o1 as $subpackage => $links) + { + for($i=0;$i<count($links);$i++) + { + $this->left[$package][$subpackage][] = + array("link" => $this->getId($links[$i]), "title" => $links[$i]->name); + } + } + } + foreach($this->class_elements as $package => $o1) + { + foreach($o1 as $subpackage => $links) + { + for($i=0;$i<count($links);$i++) + { + $isinterface = false; + if ($links[$i]->type == 'class') { + $class = $this->classes->getClass($links[$i]->name, + $links[$i]->path); + if ($class) { + $isinterface = $class->isInterface(); + } + } + $this->left['#class'][$package][$subpackage][] = + array("link" => $this->getId($links[$i]), "title" => $links[$i]->name, 'is_interface' => $isinterface); + } + } + } + } + + /** + * HTMLdefaultConverter chooses to format both package indexes and the complete index here + * + * This function formats output for the elementindex.html and pkgelementindex.html template files. It then + * writes them to the target directory + * @see generateElementIndex(), generatePkgElementIndex() + */ + function formatPkgIndex() + { + list($package_indexes,$packages,$mletters) = $this->generatePkgElementIndexes(); + for($i=0;$i<count($package_indexes);$i++) + { + $template = &$this->newSmarty(); + $this->package = $package_indexes[$i]['package']; + $this->subpackage = ''; + $classleft = $this->getClassLeft(); + $template->assign("compiledfileindex",$this->getPageLeft()); + $template->assign("compiledclassindex",$classleft['class']); + $template->assign("compiledinterfaceindex",$classleft['interface']); + $template->assign("tutorials",$this->getTutorialList()); + $template->assign("index",$package_indexes[$i]['pindex']); + $template->assign("package",$package_indexes[$i]['package']); + $template->assign("letters",$mletters[$package_indexes[$i]['package']]); + $template->assign("title","Package ".$package_indexes[$i]['package']." Element Index"); + $template->assign("date",date("r",time())); + $template->register_outputfilter('HTMLSmarty_outputfilter'); + $this->setTargetDir($this->base_dir); + $this->writefile('elementindex_'.$package_indexes[$i]['package'].'.html',$template->fetch('pkgelementindex.tpl')); + } + phpDocumentor_out("\n"); + flush(); + } + + /** + * HTMLdefaultConverter uses this function to format template index.html and packages.html + * + * This function generates the package list from {@link $all_packages}, eliminating any + * packages that don't have any entries in their package index (no files at all, due to @ignore + * or other factors). Then it uses the default package name as the first package index to display. + * It sets the right pane to be either a blank file with instructions on making package-level docs, + * or the package-level docs for the default package. + * @global string Used to set the starting package to display + */ + function formatIndex() + { + global $phpDocumentor_DefaultPackageName; + if (!isset($this->package_index)) + { + debug("\nERROR: Nothing parsed, check the command-line"); + die(); + } + list($elindex,$mletters) = $this->generateElementIndex(); + $template = &$this->newSmarty(); + $template->assign("index",$elindex); + $template->assign("letters",$mletters); + $template->assign("title","Element Index"); + $template->assign("package", false); + $template->assign("date",date("r",time())); + phpDocumentor_out("\n"); + flush(); + $this->setTargetDir($this->base_dir); + $template->register_outputfilter('HTMLSmarty_outputfilter'); + $this->writefile('elementindex.html',$template->fetch('elementindex.tpl')); + usort($this->package_index,"HTMLSmarty_pindexcmp"); + $index = &$this->newSmarty(); + foreach($this->all_packages as $key => $val) + { + if (isset($this->pkg_elements[$key])) + { + if (!isset($start)) $start = $key; + if (!isset($this->package_pages[$key])) $this->writeNewPPage($key); + } + } + // Created index.html + $start = $phpDocumentor_DefaultPackageName; + if (!isset($this->pkg_elements[$key])) + { + // if there are no elements, use a random package as the default + $a = array_keys($this->pkg_elements); + $start = array_shift($a); + } + $this->package = $start; + $this->subpackage = ''; + $classleft = $this->getClassLeft(); + $index->assign("compiledfileindex",$this->getPageLeft()); + $index->assign("compiledclassindex",$classleft['class']); + $index->assign("compiledinterfaceindex",$classleft['interface']); + $index->assign('hastodos',count($this->todoList)); + $index->assign('todolink','todolist.html'); + $index->assign("tutorials",$this->getTutorialList()); + $index->assign("date",date("r",time())); + $index->assign("package",$this->package); + $index->assign("title",$this->title); + $index->assign("start","li_$start.html"); + if (isset($this->package_pages[$start])) + { + $index->assign("contents",$this->package_pages[$start]); + } + $index->register_outputfilter('HTMLSmarty_outputfilter'); + phpDocumentor_out("\n"); + flush(); + $this->setTargetDir($this->base_dir); + $this->writefile("index.html",$index->fetch('index.tpl')); + unset($index); + + } + + function writeNewPPage($key) + { + $template = &$this->newSmarty(); + $this->package = $key; + $this->subpackage = ''; + $classleft = $this->getClassLeft(); + $template->assign("compiledfileindex",$this->getPageLeft()); + $template->assign("compiledclassindex",$classleft['class']); + $template->assign("compiledinterfaceindex",$classleft['interface']); + $template->assign("tutorials",$this->getTutorialList()); + $template->assign("date",date("r",time())); + $template->assign("title",$this->title); + $template->assign("package",$key); + $template->register_outputfilter('HTMLSmarty_outputfilter'); + phpDocumentor_out("\n"); + flush(); + $this->setTargetDir($this->base_dir); + $this->writefile("li_$key.html",$template->fetch('index.tpl')); + unset($template); + } + + /** + * Generate indexes for li_package.html and classtree output files + * + * This function generates the li_package.html files from the template file left.html. It does this by + * iterating through each of the $page_elements, $class_elements and $function_elements arrays to retrieve + * the pre-sorted {@link abstractLink} descendants needed for index generation. Conversion of these links to + * text is done by {@link returnSee()}. + * + * Then it uses {@link generateFormattedClassTrees()} to create class trees from the template file classtrees.html. Output + * filename is classtrees_packagename.html. This function also unsets {@link $elements} and {@link $pkg_elements} to free + * up the considerable memory these two class vars use + * @see $page_elements, $class_elements, $function_elements + */ + function formatLeftIndex() + { + phpDocumentor_out("\n"); + flush(); + $this->setTargetDir($this->base_dir); + if (!isset($this->left)) + { + debug("Nothing parsed, check the command-line"); + die(); + } + foreach($this->all_packages as $package => $rest) + { + if (!isset($this->pkg_elements[$package])) continue; + // Create class tree page + $template = &$this->newSmarty(); + $classleft = $this->getClassLeft(); + $template->assign("compiledfileindex",$this->getPageLeft()); + $template->assign("compiledclassindex",$classleft['class']); + $template->assign("compiledinterfaceindex",$classleft['interface']); + $template->assign("classtrees",$this->generateFormattedClassTrees($package)); + $template->assign("interfaces",$this->generateFormattedInterfaceTrees($package)); + $template->assign("package",$package); + $template->assign("date",date("r",time())); + $template->assign("title","Class Trees for Package $package"); + $template->register_outputfilter('HTMLSmarty_outputfilter'); + $this->writefile("classtrees_$package.html",$template->fetch('classtrees.tpl')); + phpDocumentor_out("\n"); + flush(); + } + $this->writeRIC(); + // free up considerable memory + unset($this->elements); + unset($this->pkg_elements); + } + + + /** + * This function takes an {@link abstractLink} descendant and returns an html link + * + * @param abstractLink a descendant of abstractlink should be passed, and never text + * @param string text to display in the link + * @param boolean this parameter is not used, and is deprecated + * @param boolean determines whether the returned text is enclosed in an <a> tag + */ + function returnSee(&$element, $eltext = false, $with_a = true) + { + if (!is_object($element) || !$element) return false; + if (!$with_a) return $this->getId($element, false); + if (!$eltext) + { + $eltext = ''; + switch($element->type) + { + case 'tutorial' : + $eltext = strip_tags($element->title); + break; + case 'method' : + case 'var' : + case 'const' : + $eltext .= $element->class.'::'; + case 'page' : + case 'define' : + case 'class' : + case 'function' : + case 'global' : + default : + $eltext .= $element->name; + if ($element->type == 'function' || $element->type == 'method') $eltext .= '()'; + break; + } + } + return '<a href="'.$this->getId($element).'">'.$eltext.'</a>'; + } + + function getId($element, $fullpath = true) + { + if (phpDocumentor_get_class($element) == 'parserdata') + { + $element = $this->addLink($element->parent); + $elp = $element->parent; + } elseif (is_a($element, 'parserbase')) + { + $elp = $element; + $element = $this->addLink($element); + } + $c = ''; + if (!empty($element->subpackage)) + { + $c = '/'.$element->subpackage; + } + $b = '{$subdir}'; + switch ($element->type) + { + case 'page' : + if ($fullpath) + return $b.$element->package.$c.'/'.$element->fileAlias.'.html'; + return 'top'; + break; + case 'define' : + case 'global' : + case 'function' : + if ($fullpath) + return $b.$element->package.$c.'/'.$element->fileAlias.'.html#'.$element->type.$element->name; + return $element->type.$element->name; + break; + case 'class' : + if ($fullpath) + return $b.$element->package.$c.'/'.$element->name.'.html'; + return 'top'; + break; + case 'method' : + case 'var' : + case 'const' : + if ($fullpath) + return $b.$element->package.$c.'/'.$element->class.'.html#'.$element->type.$element->name; + return $element->type.$element->name; + break; + case 'tutorial' : + $d = ''; + if ($element->section) + { + $d = '#'.$element->section; + } + return $b.$element->package.$c.'/tutorial_'.$element->name.'.html'.$d; + } + } + + /** + * Convert README/INSTALL/CHANGELOG file contents to output format + * @param README|INSTALL|CHANGELOG + * @param string contents of the file + */ + function Convert_RIC($name, $contents) + { + $this->ric_contents[$name] = $contents; + $this->ric_set[] = array('file' => 'ric_'.$name . '.html','name' => $name); + } + + function writeRIC() + { + if ($this->_ric_done) return; + $this->_ric_done = true; + foreach($this->ric_contents as $name => $contents) + { + $template = &$this->newSmarty(); + $template->assign('contents',$contents); + $template->assign('name',$name); + $template->assign('title',$name); + $this->setTargetDir($this->base_dir); + $this->writefile('ric_'.$name . '.html',$template->fetch('ric.tpl')); + } + } + + function ConvertTodoList() + { + $todolist = array(); + foreach($this->todoList as $package => $alltodos) + { + foreach($alltodos as $todos) + { + $converted = array(); + $converted['link'] = $this->returnSee($todos[0]); + if (!is_array($todos[1])) + { + $converted['todos'][] = $todos[1]->Convert($this); + } else + { + foreach($todos[1] as $todo) + { + $converted['todos'][] = $todo->Convert($this); + } + } + $todolist[$package][] = $converted; + } + } + $templ = &$this->newSmarty(); + $templ->assign('todos',$todolist); + $templ->register_outputfilter('HTMLSmarty_outputfilter'); + $this->setTargetDir($this->base_dir); + $this->writefile('todolist.html',$templ->fetch('todolist.tpl')); + } + + /** + * Create errors.html template file output + * + * This method takes all parsing errors and warnings and spits them out ordered by file and line number. + * @global ErrorTracker We'll be using it's output facility + */ + function ConvertErrorLog() + { + global $phpDocumentor_errors; + $allfiles = array(); + $files = array(); + $warnings = $phpDocumentor_errors->returnWarnings(); + $errors = $phpDocumentor_errors->returnErrors(); + $template = &$this->newSmarty(); + foreach($warnings as $warning) + { + $file = '##none'; + $linenum = 'Warning'; + if ($warning->file) + { + $file = $warning->file; + $allfiles[$file] = 1; + $linenum .= ' on line '.$warning->linenum; + } + $files[$file]['warnings'][] = array('name' => $linenum, 'listing' => $warning->data); + } + foreach($errors as $error) + { + $file = '##none'; + $linenum = 'Error'; + if ($error->file) + { + $file = $error->file; + $allfiles[$file] = 1; + $linenum .= ' on line '.$error->linenum; + } + $files[$file]['errors'][] = array('name' => $linenum, 'listing' => $error->data); + } + $i=1; + $af = array(); + foreach($allfiles as $file => $num) + { + $af[$i++] = $file; + } + $allfiles = $af; + usort($allfiles,'strnatcasecmp'); + $allfiles[0] = "Post-parsing"; + foreach($allfiles as $i => $a) + { + $allfiles[$i] = array('file' => $a); + } + $out = array(); + foreach($files as $file => $data) + { + if ($file == '##none') $file = 'Post-parsing'; + $out[$file] = $data; + } + $template->assign("files",$allfiles); + $template->assign("all",$out); + $template->assign("title","phpDocumentor Parser Errors and Warnings"); + $template->register_outputfilter('HTMLSmarty_outputfilter'); + $this->setTargetDir($this->base_dir); + $this->writefile("errors.html",$template->fetch('errors.tpl')); + unset($template); + phpDocumentor_out("\n\nTo view errors and warnings, look at ".$this->base_dir. PATH_DELIMITER . "errors.html\n"); + flush(); + } + + function getCData($value) + { + return '<pre>'.htmlentities($value).'</pre>'; + } + + function getTutorialId($package,$subpackage,$tutorial,$id) + { + return $id; + } + + /** + * Converts package page and sets its package as used in {@link $package_pages} + * @param parserPackagePage + */ + function convertPackagepage(&$element) + { + phpDocumentor_out("\n"); + flush(); + $template = &$this->newSmarty(); + $this->package = $element->package; + $this->subpackage = ''; + $classleft = $this->getClassLeft(); + $template->assign("compiledfileindex",$this->getPageLeft()); + $template->assign("compiledclassindex",$classleft['class']); + $template->assign("compiledinterfaceindex",$classleft['interface']); + $template->assign("tutorials",$this->getTutorialList()); + $template->assign("date",date("r",time())); + $template->assign("title",$this->title); + $template->assign("package",$element->package); + $x = $element->Convert($this); + $x = substr($x,strpos($x,'<body')); + $template->assign("contents",trim(substr($x,strpos($x,'>') + 1))); + $this->package_pages[$element->package] = trim(substr($x,strpos($x,'>') + 1)); + $template->register_outputfilter('HTMLSmarty_outputfilter'); + phpDocumentor_out("\n"); + flush(); + $this->setTargetDir($this->base_dir); + $this->writefile("li_".$element->package.".html",$template->fetch('index.tpl')); + unset($template); + } + + /** + * @param parserTutorial + */ + function convertTutorial(&$element) + { + phpDocumentor_out("\n"); + flush(); + $template = &parent::convertTutorial($element); + $this->package = $element->package; + $this->subpackage = $element->subpackage; + $classleft = $this->getClassLeft(); + $template->assign("compiledfileindex",$this->getPageLeft()); + $template->assign("compiledclassindex",$classleft['class']); + $template->assign("compiledinterfaceindex",$classleft['interface']); + $template->assign("tutorials",$this->getTutorialList()); + $template->assign("title",strip_tags($element->getTitle($this))); + $contents = $element->Convert($this); + if ($element->name == $this->package . '.pkg') + { + $this->package_pages[$element->package] = $contents; + } + $a = '../'; + if (!empty($element->subpackage)) $a .= $a; + $template->assign("subdir",$a); + $a = ''; + if ($element->subpackage) $a = PATH_DELIMITER . $element->subpackage; + $template->register_outputfilter('HTMLSmarty_outputfilter'); + $this->setTargetDir($this->base_dir . PATH_DELIMITER . $element->package . $a); + $this->writeFile('tutorial_'.$element->name.'.html',$template->fetch('tutorial.tpl')); + if ($element->name == $element->package . '.pkg') + { + phpDocumentor_out("\n"); + flush(); + // package-level docs + $this->setTargetDir($this->base_dir); + $template->assign("subdir",''); + $this->writeFile('li_'.$element->package.'.html',$template->fetch('tutorial.tpl')); + } + unset($template); + } + + /** + * Converts class for template output + * @see prepareDocBlock(), generateChildClassList(), generateFormattedClassTree(), getFormattedConflicts() + * @see getFormattedInheritedMethods(), getFormattedInheritedVars() + * @param parserClass + */ + function convertClass(&$element) + { + parent::convertClass($element); + $this->class_dir = $element->docblock->package; + if (!empty($element->docblock->subpackage)) $this->class_dir .= PATH_DELIMITER . $element->docblock->subpackage; + $a = '../classtrees_'; + if ($element->docblock->subpackage != '') $a = "../$a"; + + $this->class_data->assign('subdir',$a); + $this->class_data->assign("title","Docs For Class " . $element->getName()); + $this->class_data->assign("page",$element->getName() . '.html'); + } + + /** + * Converts class variables for template output + * @see prepareDocBlock(), getFormattedConflicts() + * @param parserDefine + */ + function convertVar(&$element) + { + parent::convertVar($element, array('var_dest' => $this->getId($element,false))); + } + + /** + * Converts class variables for template output + * @see prepareDocBlock(), getFormattedConflicts() + * @param parserDefine + */ + function convertConst(&$element) + { + parent::convertConst($element, array('const_dest' => $this->getId($element,false))); + } + + /** + * Converts class methods for template output + * @see prepareDocBlock(), getFormattedConflicts() + * @param parserDefine + */ + function convertMethod(&$element) + { + parent::convertMethod($element, array('method_dest' => $this->getId($element,false))); + } + + /** + * Converts function for template output + * @see prepareDocBlock(), parserFunction::getFunctionCall(), getFormattedConflicts() + * @param parserFunction + */ + function convertFunction(&$element) + { + $funcloc = $this->getId($this->addLink($element)); + parent::convertFunction($element,array('function_dest' => $this->getId($element,false))); + } + + /** + * Converts include elements for template output + * @see prepareDocBlock() + * @param parserInclude + */ + function convertInclude(&$element) + { + parent::convertInclude($element, array('include_file' => '_'.strtr($element->getValue(),array('"' => '', "'" => '','.' => '_')))); + } + + /** + * Converts defines for template output + * @see prepareDocBlock(), getFormattedConflicts() + * @param parserDefine + */ + function convertDefine(&$element) + { + parent::convertDefine($element, array('define_link' => $this->getId($element,false))); + } + + /** + * Converts global variables for template output + * @param parserGlobal + * @see prepareDocBlock(), getFormattedConflicts() + */ + function convertGlobal(&$element) + { + parent::convertGlobal($element, array('global_link' => $this->getId($element,false))); + } + + /** + * converts procedural pages for template output + * @see prepareDocBlock(), getClassesOnPage() + * @param parserData + */ + function convertPage(&$element) + { + parent::convertPage($element); + $this->juststarted = true; + $this->page_dir = $element->parent->package; + if (!empty($element->parent->subpackage)) $this->page_dir .= PATH_DELIMITER . $element->parent->subpackage; + // registering stuff on the template + $a = '../'; + if (!empty($element->docblock->subpackage)) $a = $a . $a; + $this->page_data->assign('subdir',$a); + $this->page_data->assign("page",$this->getPageName($element) . '.html'); + $this->page_data->assign("title","Docs for page ".$element->parent->getFile()); + } + + function getPageName(&$element) + { + if (phpDocumentor_get_class($element) == 'parserpage') return '_'.$element->getName(); + return '_'.$element->parent->getName(); + } + + /** + * returns an array containing the class inheritance tree from the root object to the class + * + * @param parserClass class variable + * @return array Format: array(root,child,child,child,...,$class) + * @uses parserClass::getParentClassTree() + */ + + function generateFormattedClassTree($class) + { + $tree = $class->getParentClassTree($this); + $out = ''; + if (count($tree) - 1) + { + $result = array($class->getName()); + $parent = $tree[$class->getName()]; + $distance[] = ''; + while ($parent) + { + $x = $parent; + if (is_object($parent)) + { + $subpackage = $parent->docblock->subpackage; + $package = $parent->docblock->package; + $x = $parent; + $x = $parent->getLink($this); + if (!$x) $x = $parent->getName(); + } + $result[] = + $x; + $distance[] = + "\n%s|\n" . + "%s--"; + if (is_object($parent)) + $parent = $tree[$parent->getName()]; + elseif (isset($tree[$parent])) + $parent = $tree[$parent]; + } + $nbsp = ' '; + for($i=count($result) - 1;$i>=0;$i--) + { + $my_nbsp = ''; + for($j=0;$j<count($result) - $i;$j++) $my_nbsp .= $nbsp; + $distance[$i] = sprintf($distance[$i],$my_nbsp,$my_nbsp); + } + return array('classes'=>array_reverse($result),'distance'=>array_reverse($distance)); + } else + { + return array('classes'=>$class->getName(),'distance'=>array('')); + } + } + + /** @access private */ + function sortVar($a, $b) + { + return strnatcasecmp($a->getName(),$b->getName()); + } + + /** @access private */ + function sortMethod($a, $b) + { + if ($a->isConstructor) return -1; + if ($b->isConstructor) return 1; + return strnatcasecmp($a->getName(),$b->getName()); + } + + /** + * returns a template-enabled array of class trees + * + * @param string $package package to generate a class tree for + * @see $roots, HTMLConverter::getRootTree() + */ + function generateFormattedClassTrees($package) + { + if (!isset($this->roots['normal'][$package]) && + !isset($this->roots['special'][$package])) { + return array(); + } + $trees = array(); + if (isset($this->roots['normal'][$package])) { + $roots = $this->roots['normal'][$package]; + for($i=0;$i<count($roots);$i++) + { + $root = $this->classes->getClassByPackage($roots[$i], $package); + if ($root && $root->isInterface()) { + continue; + } + $trees[] = array('class' => $roots[$i],'class_tree' => "<ul>\n".$this->getRootTree($this->getSortedClassTreeFromClass($roots[$i],$package,''),$package)."</ul>\n"); + } + } + if (isset($this->roots['special'][$package])) { + $roots = $this->roots['special'][$package]; + foreach ($roots as $parent => $classes) { + $thistree = ''; + foreach ($classes as $classinfo) { + $root = $this->classes->getClassByPackage($classinfo, $package); + if ($root && $root->isInterface()) { + continue; + } + $thistree .= + $this->getRootTree( + $this->getSortedClassTreeFromClass( + $classinfo, + $package, + ''), + $package, + true); + } + if (!$thistree) { + continue; + } + $trees[] = array( + 'class' => $parent, + 'class_tree' => "<ul>\n" . $thistree . "</ul>\n" + ); + } + } + return $trees; + } + + /** + * returns a template-enabled array of interface inheritance trees + * + * @param string $package package to generate a class tree for + * @see $roots, HTMLConverter::getRootTree() + */ + function generateFormattedInterfaceTrees($package) + { + if (!isset($this->roots['normal'][$package]) && + !isset($this->roots['special'][$package])) { + return array(); + } + $trees = array(); + if (isset($this->roots['normal'][$package])) { + $roots = $this->roots['normal'][$package]; + for($i=0;$i<count($roots);$i++) + { + $root = $this->classes->getClassByPackage($roots[$i], $package); + if ($root && !$root->isInterface()) { + continue; + } + $trees[] = array('class' => $roots[$i],'class_tree' => "<ul>\n".$this->getRootTree($this->getSortedClassTreeFromClass($roots[$i],$package,''),$package)."</ul>\n"); + } + } + if (isset($this->roots['special'][$package])) { + $roots = $this->roots['special'][$package]; + foreach ($roots as $parent => $classes) { + $thistree = ''; + foreach ($classes as $classinfo) { + $root = $this->classes->getClassByPackage($classinfo, $package); + if ($root && !$root->isInterface()) { + continue; + } + $thistree .= + $this->getRootTree( + $this->getSortedClassTreeFromClass( + $classinfo, + $package, + ''), + $package, + true); + } + if (!$thistree) { + continue; + } + $trees[] = array( + 'class' => $parent, + 'class_tree' => "<ul>\n" . $thistree . "</ul>\n" + ); + } + } + return $trees; + } + + /** + * return formatted class tree for the Class Trees page + * + * @param array $tree output from {@link getSortedClassTreeFromClass()} + * @param string $package package + * @param boolean $nounknownparent if true, an object's parent will not be checked + * @see Classes::$definitechild, generateFormattedClassTrees() + * @return string + */ + function getRootTree($tree, $package, $noparent = false) + { + if (!$tree) return ''; + $my_tree = ''; + $cur = '#root'; + $lastcur = array(false); + $kids = array(); + $dopar = false; + if (!$noparent && $tree[$cur]['parent']) + { + $dopar = true; + if (!is_object($tree[$cur]['parent'])) + { +// debug("parent ".$tree[$cur]['parent']." not found"); + $my_tree .= '<li>' . $tree[$cur]['parent'] .'<ul>'; + } + else + { +// debug("parent ".$this->returnSee($tree[$cur]['parent'])." in other package"); + $root = $this->classes->getClassByPackage($tree[$cur]['parent']->name, + $package); + $my_tree .= '<li>' . $this->returnSee($tree[$cur]['parent']); + if ($tree[$cur]['parent']->package != $package) $my_tree .= ' <b>(Different package)</b><ul>'; + } + } + do + { +// fancy_debug($cur,$lastcur,$kids); + if (count($tree[$cur]['children'])) + { +// debug("$cur has children"); + if (!isset($kids[$cur])) + { +// debug("set $cur kids"); + $kids[$cur] = 1; + $root = $this->classes->getClassByPackage( + $tree[$cur]['link']->name, + $tree[$cur]['link']->package); + if ($implements = $root->getImplements()) { + $my_tree .= '<li>'.$this->returnSee($tree[$cur]['link']) . + ' (implements '; + foreach ($implements as $i => $interface) { + if ($i && $i != count($implements) - 1) $my_tree .= ', '; + if ($link = $this->getLink('object ' . $interface)) { + $my_tree .= $this->returnSee($link); + } else { + $my_tree .= $interface; + } + } + $my_tree .= ')'; + } else { + $my_tree .= '<li>'.$this->returnSee($tree[$cur]['link']); + } + $my_tree .= '<ul>'."\n"; + } + array_push($lastcur,$cur); + list(,$cur) = each($tree[$cur]['children']); +// var_dump('listed',$cur); + if ($cur) + { + $cur = $cur['package'] . '#' . $cur['class']; +// debug("set cur to child $cur"); +// $my_tree .= '<li>'.$this->returnSee($tree[$cur]['link']); + continue; + } else + { +// debug("end of children for $cur"); + $cur = array_pop($lastcur); + $cur = array_pop($lastcur); + $my_tree .= '</ul></li>'."\n"; + if ($dopar && ($cur == '#root' || !$cur)) $my_tree .= '</ul></li>'; + } + } else + { +// debug("$cur has no children"); + $my_tree .= '<li>'.$this->returnSee($tree[$cur]['link'])."</li>"; + if ($dopar && $cur == '#root') $my_tree .= '</ul></li>'; + $cur = array_pop($lastcur); + } + } while ($cur); + return $my_tree; + } + + /** + * Generate indexing information for given element + * + * @param parserElement descendant of parserElement + * @see generateElementIndex() + * @return array + */ + function getIndexInformation($elt) + { + $Result['type'] = $elt->type; + $Result['file_name'] = $elt->file; + $Result['path'] = $elt->getPath(); + + if (isset($elt->docblock)) + { + $Result['description'] = $elt->docblock->getSDesc($this); + + if ($elt->docblock->hasaccess) + $Result['access'] = $elt->docblock->tags['access'][0]->value; + else + $Result['access'] = 'public'; + + $Result['abstract'] = isset ($elt->docblock->tags['abstract'][0]); + } + else + $Result['description'] = ''; + + $aa = $Result['description']; + if (!empty($aa)) $aa = "<br> $aa"; + + switch($elt->type) + { + case 'class': + $Result['name'] = $elt->getName(); + $Result['title'] = 'Class'; + $Result['link'] = $this->getClassLink($elt->getName(), + $elt->docblock->package, + $elt->getPath(), + $elt->getName()); + $Result['listing'] = 'in file '.$elt->file.', class '.$Result['link']."$aa"; + break; + case 'define': + $Result['name'] = $elt->getName(); + $Result['title'] = 'Constant'; + $Result['link'] = $this->getDefineLink($elt->getName(), + $elt->docblock->package, + $elt->getPath(), + $elt->getName()); + $Result['listing'] = 'in file '.$elt->file.', constant '.$Result['link']."$aa"; + break; + case 'global': + $Result['name'] = $elt->getName(); + $Result['title'] = 'Global'; + $Result['link'] = $this->getGlobalLink($elt->getName(), + $elt->docblock->package, + $elt->getPath(), + $elt->getName()); + $Result['listing'] = 'in file '.$elt->file.', global variable '.$Result['link']."$aa"; + break; + case 'function': + $Result['name'] = $elt->getName(); + $Result['title'] = 'Function'; + $Result['link'] = $this->getFunctionLink($elt->getName(), + $elt->docblock->package, + $elt->getPath(), + $elt->getName().'()'); + $Result['listing'] = 'in file '.$elt->file.', function '.$Result['link']."$aa"; + break; + case 'method': + $Result['name'] = $elt->getName(); + $Result['title'] = 'Method'; + $Result['link'] = $this->getMethodLink($elt->getName(), + $elt->class, + $elt->docblock->package, + $elt->getPath(), + $elt->class.'::'.$elt->getName().'()' + ); + if ($elt->isConstructor) $Result['constructor'] = 1; + $Result['listing'] = 'in file '.$elt->file.', method '.$Result['link']."$aa"; + break; + case 'var': + $Result['name'] = $elt->getName(); + $Result['title'] = 'Variable'; + $Result['link'] = $this->getVarLink($elt->getName(), + $elt->class, + $elt->docblock->package, + $elt->getPath(), + $elt->class.'::'.$elt->getName()); + $Result['listing'] = 'in file '.$elt->file.', variable '.$Result['link']."$aa"; + break; + case 'const': + $Result['name'] = $elt->getName(); + $Result['title'] = 'Variable'; + $Result['link'] = $this->getConstLink($elt->getName(), + $elt->class, + $elt->docblock->package, + $elt->getPath(), + $elt->class.'::'.$elt->getName()); + $Result['listing'] = 'in file '.$elt->file.', class constant '.$Result['link']."$aa"; + break; + case 'page': + $Result['name'] = $elt->getFile(); + $Result['title'] = 'Page'; + $Result['link'] = $this->getPageLink($elt->getFile(), + $elt->package, + $elt->getPath(), + $elt->getFile()); + $Result['listing'] = 'procedural page '.$Result['link']; + break; + case 'include': + $Result['name'] = $elt->getName(); + $Result['title'] = 'Include'; + $Result['link'] = $elt->getValue(); + $Result['listing'] = 'include '.$Result['name']; + break; + } + + return $Result; + } + + /** + * Generate alphabetical index of all elements + * + * @see $elements, walk() + */ + function generateElementIndex() + { + $elementindex = array(); + $letters = array(); + $used = array(); + foreach($this->elements as $letter => $nutoh) + { + foreach($this->elements[$letter] as $i => $yuh) + { + if ($this->elements[$letter][$i]->type != 'include') + { + if (!isset($used[$letter])) + { + $letters[]['letter'] = $letter; + $elindex['letter'] = $letter; + $used[$letter] = 1; + } + + $elindex['index'][] = $this->getIndexInformation($this->elements[$letter][$i]); + } + } + if (isset($elindex['index'])) + { + $elementindex[] = $elindex; + } else + { + unset($letters[count($letters) - 1]); + } + $elindex = array(); + } + return array($elementindex,$letters); + } + + function copyMediaRecursively($media,$targetdir,$subdir = '') + { + $versionControlDirectories = array ('CVS', 'media/CVS', 'media\\CVS', '.svn', 'media/.svn', 'media\\.svn'); + if (!is_array($media)) { + return; + } + foreach($media as $dir => $files) + { + if ($dir === '/') + { + $this->copyMediaRecursively($files,$targetdir); + } else + { + if (!is_numeric($dir)) + { + if (in_array($dir, $versionControlDirectories)) + { + // skip it entirely + } + else + { + // create the subdir + phpDocumentor_out("creating $targetdir" . PATH_DELIMITER . "$dir\n"); + Converter::setTargetDir($targetdir . PATH_DELIMITER . $dir); + if (!empty($subdir)) + { + $subdir .= PATH_DELIMITER; + } + $this->copyMediaRecursively($files,"$targetdir/$dir",$subdir . $dir); + } + } + else + { + // copy the file + phpDocumentor_out("copying $targetdir" . PATH_DELIMITER . $files['file']."\n"); + $this->copyFile($files['file'],$subdir); + } + } + } + } + + /** + * calls the converter setTargetDir, and then copies any template images and the stylesheet if they haven't been copied + * @see Converter::setTargetDir() + */ + function setTargetDir($dir) + { + Converter::setTargetDir($dir); + if ($this->_wrote_tdir) return; + $this->_wrote_tdir = true; + $template_images = array(); + $stylesheets = array(); + $tdir = $dir; + $dir = $this->templateDir; + $this->templateDir = $this->templateDir.'templates/'; + $info = new Io; + $this->copyMediaRecursively($info->getDirTree($this->templateDir.'media',$this->templateDir),$tdir); + } + + /** + * Generate alphabetical index of all elements by package and subpackage + * + * @param string $package name of a package + * @see $pkg_elements, walk(), generatePkgElementIndexes() + */ + function generatePkgElementIndex($package) + { + $elementindex = array(); + $letters = array(); + $letterind = array(); + $used = array(); + $subp = ''; + foreach($this->pkg_elements[$package] as $subpackage => $els) + { + if (empty($els)) continue; + if (!empty($subpackage)) $subp = " (<b>subpackage:</b> $subpackage)"; else $subp = ''; + foreach($els as $letter => $yuh) + { + foreach($els[$letter] as $i => $yuh) + { + if ($els[$letter][$i]->type != 'include') + { + if (!isset($used[$letter])) + { + $letters[]['letter'] = $letter; + $letterind[$letter] = count($letters) - 1; + $used[$letter] = 1; + } + $elindex[$letter]['letter'] = $letter; + + $elindex[$letter]['index'][] = $this->getIndexInformation($els[$letter][$i]); + } + } + } + } + ksort($elindex); + usort($letters,'HTMLSmarty_lettersort'); + if (isset($elindex)) + { + while(list($letter,$tempel) = each($elindex)) + { + if (!isset($tempel)) + { + unset($letters[$letterind[$tempel['letter']]]); + } else + $elementindex[] = $tempel; + } + } else $letters = array(); + return array($elementindex,$letters); + } + + /** + * + * @see generatePkgElementIndex() + */ + function generatePkgElementIndexes() + { + $packages = array(); + $package_names = array(); + $pkg = array(); + $letters = array(); + foreach($this->pkg_elements as $package => $trash) + { + $pkgs['package'] = $package; + $pkg['package'] = $package; + list($pkg['pindex'],$letters[$package]) = $this->generatePkgElementIndex($package); + if (count($pkg['pindex'])) + { + $packages[] = $pkg; + $package_names[] = $pkgs; + } + unset($pkgs); + unset($pkg); + } + foreach($packages as $i => $package) + { + $pnames = array(); + for($j=0;$j<count($package_names);$j++) + { + if ($package_names[$j]['package'] != $package['package']) $pnames[] = $package_names[$j]; + } + $packages[$i]['packageindexes'] = $pnames; + } + return array($packages,$package_names,$letters); + } + + /** + * @param string name of class + * @param string package name + * @param string full path to look in (used in index generation) + * @param boolean deprecated + * @param boolean return just the URL, or enclose it in an html a tag + * @return mixed false if not found, or an html a link to the class's documentation + * @see parent::getClassLink() + */ + function getClassLink($expr,$package, $file = false,$text = false, $with_a = true) + { + $a = Converter::getClassLink($expr,$package,$file); + if (!$a) return false; + return $this->returnSee($a, $text, $with_a); + } + + /** + * @param string name of function + * @param string package name + * @param string full path to look in (used in index generation) + * @param boolean deprecated + * @param boolean return just the URL, or enclose it in an html a tag + * @return mixed false if not found, or an html a link to the function's documentation + * @see parent::getFunctionLink() + */ + function getFunctionLink($expr,$package, $file = false,$text = false) + { + $a = Converter::getFunctionLink($expr,$package,$file); + if (!$a) return false; + return $this->returnSee($a, $text); + } + + /** + * @param string name of define + * @param string package name + * @param string full path to look in (used in index generation) + * @param boolean deprecated + * @param boolean return just the URL, or enclose it in an html a tag + * @return mixed false if not found, or an html a link to the define's documentation + * @see parent::getDefineLink() + */ + function getDefineLink($expr,$package, $file = false,$text = false) + { + $a = Converter::getDefineLink($expr,$package,$file); + if (!$a) return false; + return $this->returnSee($a, $text); + } + + /** + * @param string name of global variable + * @param string package name + * @param string full path to look in (used in index generation) + * @param boolean deprecated + * @param boolean return just the URL, or enclose it in an html a tag + * @return mixed false if not found, or an html a link to the global variable's documentation + * @see parent::getGlobalLink() + */ + function getGlobalLink($expr,$package, $file = false,$text = false) + { + $a = Converter::getGlobalLink($expr,$package,$file); + if (!$a) return false; + return $this->returnSee($a, $text); + } + + /** + * @param string name of procedural page + * @param string package name + * @param string full path to look in (used in index generation) + * @param boolean deprecated + * @param boolean return just the URL, or enclose it in an html a tag + * @return mixed false if not found, or an html a link to the procedural page's documentation + * @see parent::getPageLink() + */ + function getPageLink($expr,$package, $path = false,$text = false) + { + $a = Converter::getPageLink($expr,$package,$path); + if (!$a) return false; + return $this->returnSee($a, $text); + } + + /** + * @param string name of method + * @param string class containing method + * @param string package name + * @param string full path to look in (used in index generation) + * @param boolean deprecated + * @param boolean return just the URL, or enclose it in an html a tag + * @return mixed false if not found, or an html a link to the method's documentation + * @see parent::getMethodLink() + */ + function getMethodLink($expr,$class,$package, $file = false,$text = false) + { + $a = Converter::getMethodLink($expr,$class,$package,$file); + if (!$a) return false; + return $this->returnSee($a, $text); + } + + /** + * @param string name of var + * @param string class containing var + * @param string package name + * @param string full path to look in (used in index generation) + * @param boolean deprecated + * @param boolean return just the URL, or enclose it in an html a tag + * @return mixed false if not found, or an html a link to the var's documentation + * @see parent::getVarLink() + */ + function getVarLink($expr,$class,$package, $file = false,$text = false) + { + $a = Converter::getVarLink($expr,$class,$package,$file); + if (!$a) return false; + return $this->returnSee($a, $text); + } + + /** + * @param string name of class constant + * @param string class containing class constant + * @param string package name + * @param string full path to look in (used in index generation) + * @param boolean deprecated + * @param boolean return just the URL, or enclose it in an html a tag + * @return mixed false if not found, or an html a link to the var's documentation + * @see parent::getVarLink() + */ + function getConstLink($expr,$class,$package, $file = false,$text = false) + { + $a = Converter::getConstLink($expr,$class,$package,$file); + if (!$a) return false; + return $this->returnSee($a, $text); + } + + /** + * does a nat case sort on the specified second level value of the array + * + * @param mixed $a + * @param mixed $b + * @return int + */ + function rcNatCmp ($a, $b) + { + $aa = strtoupper($a[$this->rcnatcmpkey]); + $bb = strtoupper($b[$this->rcnatcmpkey]); + + return strnatcasecmp($aa, $bb); + } + + /** + * does a nat case sort on the specified second level value of the array. + * this one puts constructors first + * + * @param mixed $a + * @param mixed $b + * @return int + */ + function rcNatCmp1 ($a, $b) + { + $aa = strtoupper($a[$this->rcnatcmpkey]); + $bb = strtoupper($b[$this->rcnatcmpkey]); + + if (strpos($aa,'CONSTRUCTOR') === 0) + { + return -1; + } + if (strpos($bb,'CONSTRUCTOR') === 0) + { + return 1; + } + if (strpos($aa,strtoupper($this->class)) === 0) + { + return -1; + } + if (strpos($bb,strtoupper($this->class)) === 0) + { + return -1; + } + return strnatcasecmp($aa, $bb); + } + + /** + * This function is not used by HTMLdefaultConverter, but is required by Converter + */ + function Output() + { + } +} + +/** + * @access private + * @global string name of the package to set as the first package + */ +function HTMLSmarty_pindexcmp($a, $b) +{ + global $phpDocumentor_DefaultPackageName; + if ($a['title'] == $phpDocumentor_DefaultPackageName) return -1; + if ($b['title'] == $phpDocumentor_DefaultPackageName) return 1; + return strnatcasecmp($a['title'],$b['title']); +} + +/** @access private */ +function HTMLSmarty_lettersort($a, $b) +{ + return strnatcasecmp($a['letter'],$b['letter']); +} + +/** @access private */ +function HTMLSmarty_outputfilter($src, &$smarty) +{ + return str_replace('{$subdir}',$smarty->_tpl_vars['subdir'],$src); +} +?> diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/HandS/options.ini b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/HandS/options.ini new file mode 100755 index 00000000..32ea2088 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/HandS/options.ini @@ -0,0 +1,577 @@ +preservedocbooktags = false + +;; used to highlight the {@source} inline tag, @filesource tag, and @example tag +[highlightSourceTokens] +;; format: +;; T_CONSTANTNAME = open +;; /T_CONSTANTNAME = close + +T_INCLUDE = <span class="src-inc"> +/T_INCLUDE = </span> +T_INCLUDE_ONCE = <span class="src-inc"> +/T_INCLUDE_ONCE = </span> +T_REQUIRE_ONCE = <span class="src-inc"> +/T_REQUIRE_ONCE = </span> +T_REQUIRE_ONCE = <span class="src-inc"> +/T_REQUIRE_ONCE = </span> + +T_CONSTANT_ENCAPSED_STRING = <span class="src-str"> +/T_CONSTANT_ENCAPSED_STRING = </span> +T_STRING_VARNAME = <span class="src-str"> +/T_STRING_VARNAME = </span> + +T_STRING = <span class="src-id"> +/T_STRING = </span> + +T_DNUMBER = <span class="src-num"> +/T_DNUMBER = </span> +T_LNUMBER = <span class="src-num"> +/T_LNUMBER = </span> + +T_VARIABLE = <span class="src-var"> +/T_VARIABLE = </span> + +T_COMMENT = <span class="src-comm"> +/T_COMMENT = </span> +T_ML_COMMENT = <span class="src-comm"> +/T_ML_COMMENT = </span> + +T_OBJECT_OPERATOR = <span class="src-sym"> +/T_OBJECT_OPERATOR = </span> + +T_ABSTRACT = <span class="src-key"> +/T_ABSTRACT = </span> +T_CLONE = <span class="src-key"> +/T_CLONE = </span> +T_HALT_COMPILER = <span class="src-key"> +/T_HALT_COMPILER = </span> +T_ARRAY = <span class="src-key"> +/T_ARRAY = </span> +T_AS = <span class="src-key"> +/T_AS = </span> +T_BREAK = <span class="src-key"> +/T_BREAK = </span> +T_CLASS = <span class="src-key"> +/T_CLASS = </span> +T_CASE = <span class="src-key"> +/T_CASE = </span> +T_CONST = <span class="src-key"> +/T_CONST = </span> +T_CONTINUE = <span class="src-key"> +/T_CONTINUE = </span> +T_DECLARE = <span class="src-key"> +/T_DECLARE = </span> +T_DEFAULT = <span class="src-key"> +/T_DEFAULT = </span> +T_ELSE = <span class="src-key"> +/T_ELSE = </span> +T_ELSEIF = <span class="src-key"> +/T_ELSEIF = </span> +T_EMPTY = <span class="src-key"> +/T_EMPTY = </span> +T_ENDDECLARE = <span class="src-key"> +/T_ENDDECLARE = </span> +T_ENDFOR = <span class="src-key"> +/T_ENDFOR = </span> +T_ENDSWITCH = <span class="src-key"> +/T_ENDSWITCH = </span> +T_ENDFOREACH = <span class="src-key"> +/T_ENDFOREACH = </span> +T_ENDIF = <span class="src-key"> +/T_ENDIF = </span> +T_ENDWHILE = <span class="src-key"> +/T_ENDWHILE = </span> +T_EXIT = <span class="src-key"> +/T_EXIT = </span> +T_EXTENDS = <span class="src-key"> +/T_EXTENDS = </span> +T_FINAL = <span class="src-key"> +/T_FINAL = </span> +T_FOR = <span class="src-key"> +/T_FOR = </span> +T_FOREACH = <span class="src-key"> +/T_FOREACH = </span> +T_FUNCTION = <span class="src-key"> +/T_FUNCTION = </span> +T_GLOBAL = <span class="src-key"> +/T_GLOBAL = </span> +T_IF = <span class="src-key"> +/T_IF = </span> +T_IMPLEMENTS = <span class="src-key"> +/T_IMPLEMENTS = </span> +T_INTERFACE = <span class="src-key"> +/T_INTERFACE = </span> +T_LOGICAL_AND = <span class="src-key"> +/T_LOGICAL_AND = </span> +T_LOGICAL_OR = <span class="src-key"> +/T_LOGICAL_OR = </span> +T_LOGICAL_XOR = <span class="src-key"> +/T_LOGICAL_XOR = </span> +T_NEW = <span class="src-key"> +/T_NEW = </span> +T_PRIVATE = <span class="src-key"> +/T_PRIVATE = </span> +T_PROTECTED = <span class="src-key"> +/T_PROTECTED = </span> +T_PUBLIC = <span class="src-key"> +/T_PUBLIC = </span> +T_RETURN = <span class="src-key"> +/T_RETURN = </span> +T_STATIC = <span class="src-key"> +/T_STATIC = </span> +T_SWITCH = <span class="src-key"> +/T_SWITCH = </span> +T_VAR = <span class="src-key"> +/T_VAR = </span> +T_WHILE = <span class="src-key"> +/T_WHILE = </span> + +T_DOUBLE_COLON = <span class="src-sym"> +/T_DOUBLE_COLON = </span> + +T_OPEN_TAG = <span class="src-php"> +/T_OPEN_TAG = </span> +T_OPEN_TAG_WITH_ECHO = <span class="src-php"> +/T_OPEN_TAG_WITH_ECHO = </span> +T_CLOSE_TAG = <span class="src-php"> +/T_CLOSE_TAG = </span> + + +[highlightSource] +;; this is for highlighting things that aren't tokens like "&" +;; format: +;; word = open +;; /word = close +@ = <span class="src-sym"> +/@ = </span> +& = <span class="src-sym"> +/& = </span> +[ = <span class="src-sym"> +/[ = </span> +] = <span class="src-sym"> +/] = </span> +! = <span class="src-sym"> +/! = </span> +";" = <span class="src-sym"> +/; = </span> +( = <span class="src-sym"> +/( = </span> +) = <span class="src-sym"> +/) = </span> +, = <span class="src-sym"> +/, = </span> +{ = <span class="src-sym"> +/{ = </span> +} = <span class="src-sym"> +/} = </span> +""" = <span class="src-str"> +/" = </span> + +[highlightDocBlockSourceTokens] +;; this is for docblock tokens, highlighted by phpDocumentor_HighlightParser +;; tagphptype is for "string" in @param string description, for example +docblock = <span class="src-doc"> +/docblock = </span> +tagphptype = <span class="src-doc-type"> +/tagphptype = </span> +tagvarname = <span class="src-doc-var"> +/tagvarname = </span> +coretag = <span class="src-doc-coretag"> +/coretag = </span> +tag = <span class="src-doc-tag"> +/tag = </span> +inlinetag = <span class="src-doc-inlinetag"> +/inlinetag = </span> +internal = <span class="src-doc-internal"> +/internal = </span> +closetemplate = <span class="src-doc-close-template"> +/closetemplate = </span> +docblocktemplate = <span class="src-doc-template"> +/docblocktemplate = </span> + +[highlightTutorialSourceTokens] +;; this is for XML DocBook-based tutorials, highlighted by phpDocumentor_TutorialHighlightParser +;; <tag> +opentag = <span class="tute-tag"> +/opentag = </span> +;; </tag> +closetag = <span class="tute-tag"> +/closetag = </span> +;; <tag attribute="value"> +attribute = <span class="tute-attribute-name"> +/attribute = </span> +;; <tag attribute="value"> +attributevalue = <span class="tute-attribute-value"> +/attributevalue = </span> +;; &entity; +entity = <span class="tute-entity"> +/entity = </span> +;; <!-- comment --> +comment = <span class="tute-comment"> +/comment = </span> +;; {@inline tag} +itag = <span class="tute-inline-tag"> +/itag = </span> + +;; used for translation of html in DocBlocks +[desctranslate] +ul = <ul> +/ul = </ul> +ol = <ol> +/ol = </ol> +li = <li> +/li = </li> +code = +/code = +var = <var> +/var = </var> +samp = <samp> +/samp = </samp> +kbd = <kbd> +/kbd = </kbd> +pre = <pre> +/pre = </pre> +p = <p> +/p = </p> +b = <strong> +/b = </strong> +i = <em> +/i = </em> +br = <br /> + +[ppage] +;; this is the DocBook package page translation section. All DocBook tags +;; that have a corresponding html tag must be listed here. Entities should +;; also be listed here +;; +;; examples: +;; 1) +;; tagname = newtagname +;; +;; This is the simplest case, where all attributes will be added into the +;; starting tag and the ending tag will be html/xml style </tranlatedtagname> +;; <tagname></tagname> becomes <newtagname></newtagname> and +;; <tagname attr="value"></tagname> becomes +;; <newtagname attr="value"></newtagname> +;; +;; 2) +;; tagname = newtagname +;; tagname->attr = newattrname +;; +;; in this case, everything will be like the first case, except tags like: +;; <tagname attr="value"></tagname> will become +;; <newtagname newattrname="value"></newtagname> +;; +;; 3) +;; tagname = newtagname +;; tagname->attr = newattrname +;; tagname->attr+value = newvalue +;; +;; in this case, the value is also translated to another. This can be useful +;; for instances such as focus="middle" changing to align="center" or something +;; of that nature. +;; <tagname attr="value"></tagname> will become +;; <newtagname newattrname="newvalue"></newtagname> +;; +;; 4) +;; tagname = newtagname +;; tagname->attr1 = newattrname +;; tagname->attr2 = newattrname +;; tagname->attr1+value|attr2+value = newvalue +;; +;; in this case, two attributes combine to make one new attribute, and the combined +;; value is translated into a new value +;; <tagname attr1="value1" attr2="value2"></tagname> will become +;; <newtagname newattrname="newvalue"></newtagname> +;; +;; 5) +;; tagname = newtagname +;; tagname!attr = dummy +;; +;; here, the attribute will be ignored. dummy is not used and may be any value +;; <tagname attr="value"></tagname> will become +;; <newtagname></newtagname> +;; +;; 6) +;; tagname = newtagname +;; tagname! = dummy +;; +;; here, all attributes will be ignored. dummy is not used and may be any value +;; <tagname attr1="value" attr2="foo"></tagname> will become +;; <newtagname></newtagname> +;; +;; 7) +;; tagname = newtagname +;; tagname/ = 1 +;; +;; here, the tag will be translated as a single tag with no closing tag, and all +;; attributes +;; <tagname attr="val">{text text}</tagname> will become +;; <newtagname attr="val" /> +;; +;; 8) +;; tagname = <starttaginfo /> +;; /tagname = closetagtext +;; +;; in this case, the text <starttaginfo> will be inserted exactly as entered for +;; <tagname> and closetagtext for </tagname> +;; <tagname attr="val"></tagname> will become +;; <starttaginfo />closetagtext +;; +;; 9) +;; $attr$my_attribute = newattrname +;; +;; tagname = newtagname +;; +;; in this case, all occurences of my_attribute in any tag will be changed to +;; newattrname. This is useful for changing things like role="php" to +;; class="php," for example. Note that the text "$attr$" MUST be on the line +;; start for phpDocumentor to recognize it. +;; +;; 10) +;; &entity; = translation text +;; " = " +;; " = """ +;; < = < +;; +;; Use this to control translation of entities to their appropriate values + + = +" = " +” = ” +“ = “ +& = & +< = < +> = > +© = © + +$attr$role = class + +abbrev = abbr + +blockquote = blockquote + +arg = span +arg->choice = class + +author = <strong>by <span class="author"> +/author = </span></strong> +author! = 0 + +authorblurb = <div class="author-blurb"> +/authorblurb = </div> + +authorgroup = <div class="authors"><h2 class="title">Authors</h2> +/authorgroup = </div> +authorgroup! = 0 + +caution = <span class="warning"> +/caution = </span> +caution! = 0 + +cmdsynopsis = <div class="cmd-synopsis"> +/cmdsynopsis = </div> + +command = <span class="cmd-title"> +/command = </span> + +copyright = <div class="notes"> +/copyright = </div> + +emphasis = strong + +example = <div class="src-code"> +/example = </div> +example! = 0 + +function = +/function = () + +formalpara = p + +graphic = img +graphic->fileref = src +graphic/ = + +important = strong + +informalequation = blockquote + +informalexample = div + +inlineequation = em + +itemizedlist = ul + +listitem = li + +literal = code + +literallayout = span + +option = " " +/option = + +orderedlist = ol + +para = p + +programlisting = <div class="src-code"> +/programlisting = </div> +programlisting! = 0 + +refentry = div + +refnamediv = <div class="ref-title-box"> +/refnamediv = </div> +refnamediv! = 0 + +refname = <h1 class="ref-title"> +/refname = </h1> + +refpurpose = <h2 class="ref-purpose"> +/refpurpose = </h2> + +refsynopsisdiv = <div class="ref-synopsis"> +/refsynopsisdiv = </div> +refsynopsisdiv! = 0 + +refsect1 = span + +refsect2 = +/refsect2 = <hr /> + +refsect3 = +/refsect3 = <br /> + +releaseinfo = <div class="release-info">( +/releaseinfo = )</div> + +simpara = +/simpara = <br /> +simpara! = 0 + +subscript = sub + +superscript = super + +table = table + +table->colsep = rules +table->rowsep = rules +table->colsep+1|rowsep+1 = all +table->colsep+1|rowsep+0 = cols +table->colsep+0|rowsep+1 = rows + +table->frame = frame +table->frame+all = border +table->frame+none = void +table->frame+sides = vsides +table->frame+top = above +table->frame+topbot = hsides + +thead = thead + +tfoot = tfoot + +tbody = tbody + +colspec = col + +tgroup = colgroup +tgroup/ = 1 +tgroup->cols = span + +row = tr + +entry = td +entry->morerows = colspan +entry->morerows+1 = 2 +entry->morerows+2 = 3 +entry->morerows+3 = 4 +entry->morerows+4 = 5 +entry->morerows+5 = 6 +entry->morerows+6 = 7 +entry->morerows+7 = 8 +entry->morerows+8 = 9 +entry->morerows+9 = 10 +entry->morerows+10 = 11 +;; add more if you need more colspans + +warning = <span class="warning"> +/warning = </span> +warning! = 0 + +;; now begins the attributes that should be tags in cdata +[$attr$id] +open = a +;close = /a +cdata! = true +quotevalues = true +separator = "=" +;separateall = true +$id = name + +;; now begins the sections that deal with <title> +[refsynopsisdiv_title] +;tag_attr = true +;attr_name = title +cdata_start = true +;cdata_end = true +open = <h1 class="title"> +close = </h1> + +[refsect1_title] +;tag_attr = true +;attr_name = title +cdata_start = true +;cdata_end = true +open = <h2 class="title"> +close = </h2> + +[refsect2_title] +;tag_attr = true +;attr_name = title +cdata_start = true +;cdata_end = true +open = <h3 class="title"> +close = </h3> + +[refsect3_title] +;tag_attr = true +;attr_name = title +cdata_start = true +;cdata_end = true +open = <h4 class="title"> +close = </h4> + +[para_title] +;tag_attr = true +;attr_name = title +cdata_start = true +;cdata_end = true +open = <div class="title"> +close = </div> + +[formalpara_title] +;tag_attr = true +;attr_name = title +cdata_start = true +;cdata_end = true +open = <div class="title"> +close = </div> + +[example_title] +;tag_attr = true +;attr_name = title +;cdata_start = true +cdata_end = true +open = </td></tr><tr><td><strong> +close = </strong> + +[table_title] +;tag_attr = true +;attr_name = true +cdata_start = true +open = <caption> +close = </caption> diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/basicindex.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/basicindex.tpl new file mode 100755 index 00000000..02da5c40 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/basicindex.tpl @@ -0,0 +1,21 @@ +{section name=letter loop=$letters} + [ <a href="{$indexname}.html#{$letters[letter].letter}">{$letters[letter].letter}</a> ] +{/section} +<br /><br /> +{section name=index loop=$index} + <a name="{$index[index].letter}"></a> + <div class="index-letter-section"> + <div style="float: left" class="index-letter-title">{$index[index].letter}</div> + <div style="float: right"><a href="#top">[Top]</a></div> + <div style="clear: both"></div> + </div> + <div> + <h2>{$index[index].letter}</h2> + <dl> + {section name=contents loop=$index[index].index} + <dt><b>{$index[index].index[contents].name}</b></dt> + <dd>{$index[index].index[contents].listing}</dd> + {/section} + </dl> + </div> +{/section} diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/blank.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/blank.tpl new file mode 100755 index 00000000..a7f6308f --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/blank.tpl @@ -0,0 +1,6 @@ +<div align="center"><h1>{$maintitle}</h1></div> +<strong>Welcome to {$package}!</strong><br /> +<br /> +This documentation was generated by <a href="{$phpdocwebsite}">phpDocumentor v{$phpdocversion}</a> +<br /> + diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/class.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/class.tpl new file mode 100755 index 00000000..fe930904 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/class.tpl @@ -0,0 +1,541 @@ +{include file="header.tpl" eltype="class" hasel=true contents=$classcontents} + +<h2 class="class-name">{if $is_interface}Interface{else}Class{/if} {$class_name}</h2> + +<a name="sec-description"></a> +<div class="info-box"> + <div class="info-box-title">{if $is_interface}Interface{else}Class{/if} Overview</div> + <div class="nav-bar"> + {if $children || $vars || $ivars || $methods || $imethods || $consts || $iconsts} + <span class="disabled">{if $is_interface}Interface{else}Class{/if} Overview</span> + {/if} + {if $children} + | <a href="#sec-descendants">Descendants</a> + {/if} + + {if $ivars || $imethods} + | <a href="#sec-inherited">Inherited Properties, Constants, and Methods</a> + {/if} + {if $vars || $ivars} + {if $vars} + | <a href="#sec-var-summary">Property Summary</a> | <a href="#sec-vars">Properties Detail</a> + {else} + | <a href="#sec-vars">Properties</a> + {/if} + {/if} + {if $methods || $imethods} + {if $methods} + | <a href="#sec-method-summary">Method Summary</a> | <a href="#sec-methods">Methods Detail</a> + {else} + | <a href="#sec-methods">Methods</a> + {/if} + {/if} + {if $consts || $iconsts} + {if $consts} + | <a href="#sec-const-summary">Constants Summary</a> | <a href="#sec-consts">Constants Detail</a> + {else} + | <a href="#sec-consts">Constants</a> + {/if} + {/if} + </div> + <div class="info-box-body"> + <table width="100%" border="0"> + <tr><td valign="top" width="60%" class="class-overview"> + + {if $implements} + <p class="implements"> + Implements interfaces: + <ul> + {foreach item="int" from=$implements}<li>{$int}</li>{/foreach} + </ul> + </p> + {/if} + {include file="docblock.tpl" type="class" sdesc=$sdesc desc=$desc} + + <p class="notes"> + Located in <a class="field" href="{$page_link}">{$source_location}</a> [<span class="field">line {if $class_slink}{$class_slink}{else}{$line_number}{/if}</span>] + </p> + + {if $tutorial} + <hr class="separator" /> + <div class="notes">Tutorial: <span class="tutorial">{$tutorial}</div> + {/if} + + <pre>{section name=tree loop=$class_tree.classes}{$class_tree.classes[tree]}{$class_tree.distance[tree]}{/section}</pre> + + {if $conflicts.conflict_type} + <hr class="separator" /> + <div><span class="warning">Conflicts with classes:</span><br /> + {section name=me loop=$conflicts.conflicts} + {$conflicts.conflicts[me]}<br /> + {/section} + </div> + {/if} + + {if count($tags) > 0} + <strong>Author(s):</strong> + <ul> + {section name=tag loop=$tags} + {if $tags[tag].keyword eq "author"} + <li>{$tags[tag].data}</li> + {/if} + {/section} + </ul> + {/if} + + {include file="classtags.tpl" tags=$tags} + </td> + + {if count($contents.var) > 0} + <td valign="top" width="20%" class="class-overview"> + <p align="center" class="short-description"><strong><a href="#sec_vars">Properties</a></strong></p> + <ul> + {section name=contents loop=$contents.var} + <li>{$contents.var[contents]}</li> + {/section} + </ul> + </td> + {/if} + + {if count($contents.method) > 0} + <td valign="top" width="20%" class="class-overview"> + <p align="center" class="short-description"><strong><a href="#sec_methods">Methods</a></strong></p> + <ul> + {section name=contents loop=$contents.method} + <li>{$contents.method[contents]}</li> + {/section} + </ul> + </td> + {/if} + + </tr></table> + <div class="top">[ <a href="#top">Top</a> ]</div> + </div> +</div> + +{if $children} + <a name="sec-descendants"></a> + <div class="info-box"> + <div class="info-box-title">Descendants</div> + <div class="nav-bar"> + <a href="#sec-description">Class Overview</a> + {if $children} + | <span class="disabled">Descendants</span> + {/if} + {if $ivars || $imethods} + | <a href="#sec-inherited">Inherited Properties and Methods</a> + {/if} + {if $vars || $ivars} + {if $vars} + | <a href="#sec-var-summary">Property Summary</a> | <a href="#sec-vars">Properties Detail</a> + {else} + | <a href="#sec-vars">Properties</a> + {/if} + {/if} + {if $methods || $imethods} + {if $methods} + | <a href="#sec-method-summary">Method Summary</a> | <a href="#sec-methods">Methods Detail</a> + {else} + | <a href="#sec-methods">Methods</a> + {/if} + {/if} + {if $consts || $iconsts} + {if $consts} + | <a href="#sec-const-summary">Constants Summary</a> | <a href="#sec-consts">Constants Detail</a> + {else} + | <a href="#sec-consts">Constants</a> + {/if} + {/if} + </div> + <div class="info-box-body"> + <table cellpadding="2" cellspacing="0" class="class-table"> + <tr> + <th class="class-table-header">Child Class</th> + <th class="class-table-header">Description</th> + </tr> + {section name=kids loop=$children} + <tr> + <td style="padding-right: 2em">{$children[kids].link}</td> + <td> + {if $children[kids].sdesc} + {$children[kids].sdesc} + {else} + {$children[kids].desc} + {/if} + </td> + </tr> + {/section} + </table> + <br /><div class="top">[ <a href="#top">Top</a> ]</div> + </div> + </div> +{/if} + +{if $ivars || $imethods || $iconsts} + <a name="sec-inherited"></a> + <div class="info-box"> + <div class="info-box-title">Inherited Properties, Constants, and Methods</div> + <div class="nav-bar"> + <a href="#sec-description">Class Overview</a> + {if $children} + | <a href="#sec-descendants">Descendants</a> + {/if} + | <span class="disabled">Inherited Properties, Constants, and Methods</span> + {if $vars || $ivars} + {if $vars} + | <a href="#sec-var-summary">Property Summary</a> | <a href="#sec-vars">Properties Detail</a> + {else} + | <a href="#sec-vars">Properties</a> + {/if} + {/if} + {if $methods || $imethods} + {if $methods} + | <a href="#sec-method-summary">Method Summary</a> | <a href="#sec-methods">Methods Detail</a> + {else} + | <a href="#sec-methods">Methods</a> + {/if} + {/if} + {if $consts || $iconsts} + {if $consts} + | <a href="#sec-const-summary">Constants Summary</a> | <a href="#sec-consts">Constants Detail</a> + {else} + | <a href="#sec-consts">Constants</a> + {/if} + {/if} + </div> + <div class="info-box-body"> + <table cellpadding="2" cellspacing="0" class="class-table"> + <tr> + <th class="class-table-header" width="30%">Inherited Properties</th> + <th class="class-table-header" width="40%">Inherited Methods</th> + <th class="class-table-header" width="30%">Inherited Constants</th> + </tr> + <tr> + <td width="30%"> + {section name=ivars loop=$ivars} + <p>Inherited From <span class="classname">{$ivars[ivars].parent_class}</span></p> + <blockquote> + <dl> + {section name=ivars2 loop=$ivars[ivars].ivars} + <dt> + <span class="method-definition">{$ivars[ivars].ivars[ivars2].link}</span> + </dt> + <dd> + <span class="method-definition">{$ivars[ivars].ivars[ivars2].ivars_sdesc}</span> + </dd> + {/section} + </dl> + </blockquote> + {/section} + </td> + <td width="40%"> + {section name=imethods loop=$imethods} + <p>Inherited From <span class="classname">{$imethods[imethods].parent_class}</span></p> + <blockquote> + <dl> + {section name=im2 loop=$imethods[imethods].imethods} + <dt> + <span class="method-definition">{$imethods[imethods].imethods[im2].link}</span> + </dt> + <dd> + <span class="method-definition">{$imethods[imethods].imethods[im2].sdesc}</span> + </dd> + {/section} + </dl> + </blockquote> + {/section} + </td> + <td width="30%"> + {section name=iconsts loop=$iconsts} + <p>Inherited From <span class="classname">{$iconsts[iconsts].parent_class}</span></p> + <blockquote> + <dl> + {section name=iconsts2 loop=$iconsts[iconsts].iconsts} + <dt> + <span class="method-definition">{$iconsts[iconsts].iconsts[iconsts2].link}</span> + </dt> + <dd> + <span class="method-definition">{$iconsts[iconsts].iconsts[iconsts2].iconsts_sdesc}</span> + </dd> + {/section} + </dl> + </blockquote> + {/section} + </td> + </tr> + </table> + <br /><div class="top">[ <a href="#top">Top</a> ]</div> + </div> + </div> +{/if} + +{if $consts} + <a name="sec-const-summary"></a> + <div class="info-box"> + <div class="info-box-title">Constant Summary</span></div> + <div class="nav-bar"> + <a href="#sec-description">Class Overview</a> + {if $children} + | <a href="#sec-descendants">Descendants</a> + {/if} + {if $ivars || $imethods || $iconsts} + | <a href="#sec-inherited">Inherited Properties, Constants, and Methods</a> + {/if} + | <span class="disabled">Constants Summary</span> | <a href="#sec-consts">Constants Detail</a> + {if $vars || $ivars} + {if $vars} + | <a href="#sec-var-summary">Property Summary</a> | <a href="#sec-vars">Properties Detail</a> + {else} + | <a href="#sec-vars">Properties</a> + {/if} + {/if} + {if $methods || $imethods} + {if $methods} + | <a href="#sec-method-summary">Method Summary</a> | <a href="#sec-methods">Methods Detail</a> + {else} + | <a href="#sec-methods">Methods</a> + {/if} + {/if} + </div> + <div class="info-box-body"> + <div class="const-summary"> + <table border="0" cellspacing="0" cellpadding="0" class="var-summary"> + {section name=consts loop=$consts} + <div class="var-title"> + <tr> + <td class="var-title"><a href="#{$consts[consts].const_dest}" title="details" class="const-name-summary">{$consts[consts].const_name}</a> </td> + <td class="const-summary-description">{$consts[consts].sdesc}</td></tr> + </div> + {/section} + </table> + </div> + <br /><div class="top">[ <a href="#top">Top</a> ]</div> + </div> + </div> +{/if} + +{if $vars} + <a name="sec-var-summary"></a> + <div class="info-box"> + <div class="info-box-title">Property Summary</span></div> + <div class="nav-bar"> + <a href="#sec-description">Class Overview</a> + {if $children} + | <a href="#sec-descendants">Descendants</a> + {/if} + {if $ivars || $imethods || $iconsts} + | <a href="#sec-inherited">Inherited Properties and Methods</a> + {/if} + | <span class="disabled">Property Summary</span> | <a href="#sec-vars">Properties Detail</a> + {if $methods || $imethods} + {if $methods} + | <a href="#sec-method-summary">Method Summary</a> | <a href="#sec-methods">Methods Detail</a> + {else} + | <a href="#sec-methods">Methods</a> + {/if} + {/if} + {if $consts || $iconsts} + {if $consts} + | <a href="#sec-const-summary">Constants Summary</a> | <a href="#sec-consts">Constants Detail</a> + {else} + | <a href="#sec-consts">Constants</a> + {/if} + {/if} + </div> + <div class="info-box-body"> + <div class="var-summary"> + <table border="0" cellspacing="0" cellpadding="0" class="var-summary"> + {section name=vars loop=$vars} + {if $vars[vars].static} + <div class="var-title"> + <tr><td class="var-title">static <span class="var-type-summary">{$vars[vars].var_type}</span> </td> + <td class="var-title"><a href="#{$vars[vars].var_name}" title="details" class="var-name-summary">{$vars[vars].var_name}</a> </td> + <td class="var-summary-description">{$vars[vars].sdesc}</td></tr> + </div> + {/if} + {/section} + {section name=vars loop=$vars} + {if !$vars[vars].static} + <div class="var-title"> + <tr><td class="var-title"><span class="var-type-summary">{$vars[vars].var_type}</span> </td> + <td class="var-title"><a href="#{$vars[vars].var_name}" title="details" class="var-name-summary">{$vars[vars].var_name}</a> </td> + <td class="var-summary-description">{$vars[vars].sdesc}</td></tr> + </div> + {/if} + {/section} + </table> + </div> + <br /><div class="top">[ <a href="#top">Top</a> ]</div> + </div> + </div> +{/if} + +{if $methods} + <a name="sec-method-summary"></a> + <div class="info-box"> + <div class="info-box-title">Method Summary</span></div> + <div class="nav-bar"> + <a href="#sec-description">Class Overview</a> + {if $children} + | <a href="#sec-descendants">Descendants</a> + {/if} + {if $ivars || $imethods || $iconsts} + | <a href="#sec-inherited">Inherited Properties and Methods</a> + {/if} + {if $vars || $ivars} + {if $vars} + | <a href="#sec-var-summary">Property Summary</a> | <a href="#sec-vars">Properties Detail</a> + {else} + | <a href="#sec-vars">Properties</a> + {/if} + {/if} + {if $consts || $iconsts} + {if $consts} + | <a href="#sec-const-summary">Constants Summary</a> | <a href="#sec-consts">Constants Detail</a> + {else} + | <a href="#sec-consts">Constants</a> + {/if} + {/if} + | <span class="disabled">Method Summary</span> | <a href="#sec-methods">Methods Detail</a> + </div> + <div class="info-box-body"> + <div class="method-summary"> + <table border="0" cellspacing="0" cellpadding="0" class="method-summary"> + {section name=methods loop=$methods} + {if $methods[methods].static} + <div class="method-definition"> + <tr><td class="method-definition">static + {if $methods[methods].function_return} + <span class="method-result">{$methods[methods].function_return}</span> + {/if}</td> + <td class="method-definition"><a href="#{$methods[methods].function_name}" title="details" class="method-name">{if $methods[methods].ifunction_call.returnsref}&{/if}{$methods[methods].function_name}</a>() </td> + <td class="method-definition">{$methods[methods].sdesc}</td></tr> + </div> + {/if} + {/section} + {section name=methods loop=$methods} + {if !$methods[methods].static} + <div class="method-definition"> + {if $methods[methods].function_return} + <tr><td class="method-definition"><span class="method-result">{$methods[methods].function_return}</span> </td> + {/if} + <td class="method-definition"><a href="#{$methods[methods].function_name}" title="details" class="method-name">{if $methods[methods].ifunction_call.returnsref}&{/if}{$methods[methods].function_name}</a>() </td> + <td class="method-definition">{$methods[methods].sdesc}</td></tr> + </div> + {/if} + {/section} + </table> + </div> + <br /><div class="top">[ <a href="#top">Top</a> ]</div> + </div> + </div> +{/if} + +{if $vars || $ivars} + <a name="sec-vars"></a> + <div class="info-box"> + <div class="info-box-title">Properties</div> + <div class="nav-bar"> + <a href="#sec-description">Class Overview</a> + {if $children} + | <a href="#sec-descendants">Descendants</a> + {/if} + {if $ivars || $imethods || $iconsts} + | <a href="#sec-inherited">Inherited Properties and Methods</a> + {/if} + {if $methods} + | <a href="#sec-var-summary">Property Summary</a> | <span class="disabled">Properties Detail</span> + {else} + | <span class="disabled">Properties</span> + {/if} + {if $methods || $imethods} + {if $methods} + | <a href="#sec-method-summary">Method Summary</a> | <a href="#sec-methods">Methods Detail</a> + {else} + | <a href="#sec-methods">Methods</a> + {/if} + {/if} + {if $consts || $iconsts} + {if $consts} + | <a href="#sec-const-summary">Constants Summary</a> | <a href="#sec-consts">Constants Detail</a> + {else} + | <a href="#sec-consts">Constants</a> + {/if} + {/if} + </div> + <div class="info-box-body"> + {include file="var.tpl"} + </div> + </div> +{/if} + +{if $methods || $imethods} + <a name="sec-methods"></a> + <div class="info-box"> + <div class="info-box-title">Methods</div> + <div class="nav-bar"> + <a href="#sec-description">Class Overview</a> + {if $children} + | <a href="#sec-descendants">Descendants</a> + {/if} + {if $ivars || $imethods || $iconsts} + | <a href="#sec-inherited">Inherited Properties and Methods</a> + {/if} + {if $vars || $ivars} + {if $vars} + | <a href="#sec-var-summary">Property Summary</a> | <a href="#sec-vars">Properties Detail</a> + {else} + | <a href="#sec-vars">Properties</a> + {/if} + {/if} + {if $consts || $iconsts} + {if $consts} + | <a href="#sec-const-summary">Constants Summary</a> | <a href="#sec-consts">Constants Detail</a> + {else} + | <a href="#sec-consts">Constants</a> + {/if} + {/if} + {if $methods} + | <a href="#sec-method-summary">Method Summary</a> | <span class="disabled">Methods Detail</span> + {else} + | <span class="disabled">Methods</span> + {/if} + </div> + <div class="info-box-body"> + {include file="method.tpl"} + </div> + </div> +{/if} + +{if $consts || $consts} + <a name="sec-consts"></a> + <div class="info-box"> + <div class="info-box-title">Constants</div> + <div class="nav-bar"> + <a href="#sec-description">Class Overview</a> + {if $children} + | <a href="#sec-descendants">Descendants</a> + {/if} + {if $consts} + | <a href="#sec-const-summary">Constants Summary</a> | <span class="disabled">Constants Detail</span> + {else} + | <span class="disabled">Constants</span> + {/if} + {if $ivars || $imethods || $iconsts} + | <a href="#sec-inherited">Inherited Properties, Constants, and Methods</a> + {/if} + {if $methods || $imethods} + {if $methods} + | <a href="#sec-method-summary">Method Summary</a> | <a href="#sec-methods">Methods Detail</a> + {else} + | <a href="#sec-methods">Methods</a> + {/if} + {/if} + </div> + <div class="info-box-body"> + {include file="const.tpl"} + </div> + </div> +{/if} + +{include file="footer.tpl"}
\ No newline at end of file diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/classleft.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/classleft.tpl new file mode 100755 index 00000000..3bae1684 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/classleft.tpl @@ -0,0 +1,11 @@ +{foreach key=subpackage item=files from=$classleftindex} + <div class="package"> + {if $subpackage != ""}{$subpackage}<br />{/if} + {section name=files loop=$files} + {if $subpackage != ""}<span style="padding-left: 1em;">{/if} + {if $files[files].link != ''}<a href="{$files[files].link}">{/if}{$files[files].title}{if $files[files].link != ''}</a>{/if} + {if $subpackage != ""}</span>{/if} + <br /> + {/section} + </div> +{/foreach} diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/classtags.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/classtags.tpl new file mode 100755 index 00000000..b810ecf8 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/classtags.tpl @@ -0,0 +1,22 @@ +{if count($api_tags) > 0} +<strong>API Tags:</strong><br /> +<table border="0" cellspacing="0" cellpadding="0"> +{section name=tag loop=$api_tags} + <tr> + <td class="indent"><strong>{$api_tags[tag].keyword|capitalize}:</strong> </td><td>{$api_tags[tag].data}</td> + </tr> +{/section} +</table> +<br /> +{/if} + +{if count($info_tags) > 0} +<strong>Information Tags:</strong><br /> +<table border="0" cellspacing="0" cellpadding="0"> +{section name=tag loop=$info_tags} + {if $info_tags[tag].keyword ne "author"} + <tr><td><strong>{$info_tags[tag].keyword|capitalize}:</strong> </td><td>{$info_tags[tag].data}</td></tr> + {/if} +{/section} +</table> +{/if} diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/classtrees.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/classtrees.tpl new file mode 100755 index 00000000..0c0e974a --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/classtrees.tpl @@ -0,0 +1,17 @@ +{include file="header.tpl" noleftindex=true} +<h1>{$title}</h1> +{if $interfaces} +{section name=classtrees loop=$interfaces} +<hr /> +<div class="classtree">Root interface {$interfaces[classtrees].class}</div><br /> +{$interfaces[classtrees].class_tree} +{/section} +{/if} +{if $classtrees} +{section name=classtrees loop=$classtrees} +<hr /> +<div class="classtree">Root class {$classtrees[classtrees].class}</div><br /> +{$classtrees[classtrees].class_tree} +{/section} +{/if} +{include file="footer.tpl"} diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/const.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/const.tpl new file mode 100644 index 00000000..2e3270e0 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/const.tpl @@ -0,0 +1,19 @@ +{section name=consts loop=$consts} +<a name="const{$consts[consts].const_name}" id="{$consts[consts].const_name}"><!-- --></A> +<div class="{cycle values="evenrow,oddrow"}"> + + <div class="var-header"> + <span class="var-title"> + <span class="var-name">{$consts[consts].const_name}</span> + = <span class="var-default">{$consts[consts].const_value|replace:"\n":"<br />"}</span> + <span class="smalllinenumber">[line {if $consts[consts].slink}{$consts[consts].slink}{else}{$consts[consts].line_number}{/if}]</span> + </span> + </div> + + {include file="docblock.tpl" sdesc=$consts[consts].sdesc desc=$consts[consts].desc} + {include file="tags.tpl" api_tags=$consts[consts].api_tags info_tags=$consts[consts].info_tags} + + <br /> + <div class="top">[ <a href="#top">Top</a> ]</div> +</div> +{/section} diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/define.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/define.tpl new file mode 100755 index 00000000..9b3809df --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/define.tpl @@ -0,0 +1,34 @@ +{if count($defines) > 0} +{section name=def loop=$defines} +<a name="{$defines[def].define_link}"><!-- --></a> +<div class="{cycle values="evenrow,oddrow"}"> + + <div> + <span class="const-title"> + <span class="const-name">{$defines[def].define_name}</span> <span class="smalllinenumber">[line {if $defines[def].slink}{$defines[def].slink}{else}{$defines[def].line_number}{/if}]</span> + </span> + </div> +<br /> + <table width="90%" border="0" cellspacing="0" cellpadding="1"><tr><td class="code-border"> + <table width="100%" border="0" cellspacing="0" cellpadding="2"><tr><td class="code"> + <code>{$defines[def].define_name} = {$defines[def].define_value}</code> + </td></tr></table> + </td></tr></table> + + {include file="docblock.tpl" sdesc=$defines[def].sdesc desc=$defines[def].desc} + {include file="tags.tpl" api_tags=$defines[def].api_tags info_tags=$defines[def].info_tags} + <br /> + + {if $globals[glob].global_conflicts.conflict_type} + <hr class="separator" /> + <div><span class="warning">Conflicts with constants:</span><br /> + {section name=me loop=$defines[def].define_conflicts.conflicts} + {$defines[def].define_conflicts.conflicts[me]}<br /> + {/section} + </div><br /> + {/if} + <div class="top">[ <a href="#top">Top</a> ]</div> + <br /> +</div> +{/section} +{/if}
\ No newline at end of file diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/docblock.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/docblock.tpl new file mode 100755 index 00000000..20bda10b --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/docblock.tpl @@ -0,0 +1,5 @@ +{if $sdesc != ''} +<p align="center" class="short-description"><strong>{$sdesc|default:''} +</strong></p> +{/if} +{if $desc != ''}<span class="description">{$desc|default:''}</span>{/if} diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/elementindex.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/elementindex.tpl new file mode 100755 index 00000000..0bb2be85 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/elementindex.tpl @@ -0,0 +1,12 @@ +{include file="header.tpl" noleftindex=true} +<a name="top"></a> +<h1>Index of All Elements</h1> +<h3>Package Indexes</h3> +<ul> +{section name=p loop=$packageindex} + <li><a href="elementindex_{$packageindex[p].title}.html">{$packageindex[p].title}</a></li> +{/section} +</ul> +<br /> +{include file="basicindex.tpl" indexname="elementindex"} +{include file="footer.tpl"} diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/errors.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/errors.tpl new file mode 100755 index 00000000..0f526584 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/errors.tpl @@ -0,0 +1,21 @@ +{include file="header.tpl" noleftindex=true} +{section name=files loop=$files} +<a href="#{$files[files].file}">{$files[files].file}</a><br> +{/section} +{foreach key=file item=issues from=$all} +<a name="{$file}"></a> +<h1>{$file}</h1> +{if count($issues.warnings)} +<h2>Warnings:</h2><br> +{section name=warnings loop=$issues.warnings} +<b>{$issues.warnings[warnings].name}</b> - {$issues.warnings[warnings].listing}<br> +{/section} +{/if} +{if count($issues.errors)} +<h2>Errors:</h2><br> +{section name=errors loop=$issues.errors} +<b>{$issues.errors[errors].name}</b> - {$issues.errors[errors].listing}<br> +{/section} +{/if} +{/foreach} +{include file="footer.tpl"} diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/examplesource.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/examplesource.tpl new file mode 100755 index 00000000..8b8c94fc --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/examplesource.tpl @@ -0,0 +1,6 @@ +{include file="header.tpl" title=$title} +<h1 align="center">{$title}</h1> +<div class="src-code"><span class="php"> +{$source} +</span></div> +{include file="footer.tpl"}
\ No newline at end of file diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/fileleft.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/fileleft.tpl new file mode 100755 index 00000000..44d254e1 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/fileleft.tpl @@ -0,0 +1,8 @@ +{foreach key=subpackage item=files from=$fileleftindex} + <div class="package"> + {if $subpackage != ""}<strong>{$subpackage}</strong><br />{/if} + {section name=files loop=$files} + <span style="padding-left: 1em;">{if $files[files].link != ''}<a href="{$files[files].link}">{/if}{$files[files].title}{if $files[files].link != ''}</a>{/if}</span><br /> + {/section} + </div> +{/foreach} diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/filesource.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/filesource.tpl new file mode 100755 index 00000000..73074863 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/filesource.tpl @@ -0,0 +1,8 @@ +{capture name="tutle"}File Source for {$name}{/capture} +{include file="header.tpl" title=$smarty.capture.tutle} +<h1 align="center">Source for file {$name}</h1> +<p>Documentation is available at {$docs}</p> +<div class="src-code"><span class="php"> +{$source} +</span></div> +{include file="footer.tpl"}
\ No newline at end of file diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/filetags.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/filetags.tpl new file mode 100755 index 00000000..77427b0e --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/filetags.tpl @@ -0,0 +1,7 @@ +{if count($tags) > 0} +<table border="0" cellspacing="0" cellpadding="0"> + {section name=tag loop=$tags} + <tr><td><strong>{$tags[tag].keyword|capitalize}:</strong> </td><td>{$tags[tag].data}</td></tr> + {/section} +</table> +{/if} diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/footer.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/footer.tpl new file mode 100755 index 00000000..32b09c11 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/footer.tpl @@ -0,0 +1,11 @@ + <div class="credit"> + <hr class="separator" /> + Documentation generated on {$date} by <a href="{$phpdocwebsite}">phpDocumentor {$phpdocversion}</a> + </div> + </td></tr></table> + </td> + </tr> +</table> + +</body> +</html>
\ No newline at end of file diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/function.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/function.tpl new file mode 100755 index 00000000..417bbf76 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/function.tpl @@ -0,0 +1,54 @@ +{section name=func loop=$functions} +<a name="{$functions[func].function_dest}" id="{$functions[func].function_dest}"><!-- --></a> +<div class="{cycle values="evenrow,oddrow"}"> + + <div> + <span class="method-title">{$functions[func].function_name}</span> <span class="smalllinenumber">[line {if $functions[func].slink}{$functions[func].slink}{else}{$functions[func].line_number}{/if}]</span> + </div> +<br /> + <div class="function"> + <table width="90%" border="0" cellspacing="0" cellpadding="1"><tr><td class="code-border"> + <table width="100%" border="0" cellspacing="0" cellpadding="2"><tr><td class="code"> + <code>{$functions[func].function_return} {if $functions[func].ifunction_call.returnsref}&{/if}{$functions[func].function_name}( +{if count($functions[func].ifunction_call.params)} +{section name=params loop=$functions[func].ifunction_call.params} +{if $smarty.section.params.iteration != 1}, {/if}{if $functions[func].ifunction_call.params[params].hasdefault}[{/if}{$functions[func].ifunction_call.params[params].type} {$functions[func].ifunction_call.params[params].name}{if $functions[func].ifunction_call.params[params].hasdefault} = {$functions[func].ifunction_call.params[params].default|escape:"html"}]{/if} +{/section} + +{/if})</code> + </td></tr></table> + </td></tr></table> + + {include file="docblock.tpl" sdesc=$functions[func].sdesc desc=$functions[func].desc} + + {if count($functions[func].params) > 0} + <strong>Parameters:</strong><br /> + <table border="0" cellspacing="0" cellpadding="0"> + {section name=params loop=$functions[func].params} + <tr><td class="indent"> + <span class="var-type">{$functions[func].params[params].datatype}</span> </td> + <td> + <span class="var-name">{$functions[func].params[params].var}: </span></td> + <td> + {if $functions[func].params[params].data}<span class="var-description"> {$functions[func].params[params].data}</span>{/if} + </td></tr> + {/section} + </table> + {/if} + +<br /> + {include file="tags.tpl" api_tags=$functions[func].api_tags info_tags=$functions[func].info_tags} + + {if $functions[func].function_conflicts.conflict_type} + <hr class="separator" /> + <div><span class="warning">Conflicts with functions:</span><br /> + {section name=me loop=$functions[func].function_conflicts.conflicts} + {$functions[func].function_conflicts.conflicts[me]}<br /> + {/section} + </div> + {/if} + <br /> + <div class="top">[ <a href="#top">Top</a> ]</div> + </div> + </div> +{/section} diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/global.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/global.tpl new file mode 100755 index 00000000..f616349b --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/global.tpl @@ -0,0 +1,35 @@ +{if count($globals) > 0} +{section name=glob loop=$globals} +<a name="{$globals[glob].global_link}" id="{$globals[glob].global_link}"><!-- --></a> +<div class="{cycle values="evenrow,oddrow"}"> + + <div> + <span class="var-title"> + <span class="var-type">{$globals[glob].global_type}</span> + <span class="var-name">{$globals[glob].global_name}</span> + <span class="smalllinenumber">[line {if $globals[glob].slink}{$globals[glob].slink}{else}{$globals[glob].line_number}{/if}]</span> + </span> + </div> + + {if $globals[glob].sdesc != ""} + {include file="docblock.tpl" sdesc=$globals[glob].sdesc desc=$globals[glob].desc} + {/if} + + <b>Default value:</b> <span class="var-default">{$globals[glob].global_value|replace:" ":" "|replace:"\n":"<br />\n"|replace:"\t":" "}</span> +<br /> + {include file="tags.tpl" api_tags=$globals[glob].api_tags info_tags=$globals[glob].info_tags} + + {if $globals[glob].global_conflicts.conflict_type} + <hr class="separator" /> + <div><span class="warning">Conflicts with global variables:</span><br /> + {section name=me loop=$globals[glob].global_conflicts.conflicts} + {$globals[glob].global_conflicts.conflicts[me]}<br /> + {/section} + </div> + {/if} + <br /> + <div class="top">[ <a href="#top">Top</a> ]</div> + <br /> +</div> +{/section} +{/if} diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/header.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/header.tpl new file mode 100755 index 00000000..b57cbdb6 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/header.tpl @@ -0,0 +1,110 @@ +<?xml version="1.0" encoding="iso-8859-1"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> + <html xmlns="http://www.w3.org/1999/xhtml"> +<head> + <title>{$title}</title> + <link rel="stylesheet" type="text/css" href="{$subdir}media/style.css"> + <meta http-equiv='Content-Type' content='text/html; charset=iso-8859-1'/> +</head> +<body> + +<table border="0" cellspacing="0" cellpadding="0" height="48" width="100%"> + <tr> + <td class="header-top-left"><img src="{$subdir}media/logo.png" border="0" alt="phpDocumentor {$phpdocver}" /></td> + <td class="header-top-right">{$package}<br /><div class="header-top-right-subpackage">{$subpackage}</div></td> + </tr> + <tr><td colspan="2" class="header-line"><img src="{$subdir}media/empty.png" width="1" height="1" border="0" alt="" /></td></tr> + <tr> + <td colspan="2" class="header-menu"> + {assign var="packagehaselements" value=false} + {foreach from=$packageindex item=thispackage} + {if in_array($package, $thispackage)} + {assign var="packagehaselements" value=true} + {/if} + {/foreach} + {if $packagehaselements} + [ <a href="{$subdir}classtrees_{$package}.html" class="menu">class tree: {$package}</a> ] + [ <a href="{$subdir}elementindex_{$package}.html" class="menu">index: {$package}</a> ] + {/if} + [ <a href="{$subdir}elementindex.html" class="menu">all elements</a> ] + </td> + </tr> + <tr><td colspan="2" class="header-line"><img src="{$subdir}media/empty.png" width="1" height="1" border="0" alt="" /></td></tr> +</table> + +<table width="100%" border="0" cellpadding="0" cellspacing="0"> + <tr valign="top"> + <td width="195" class="menu"> + <div class="package-title">{$package}</div> +{if count($ric) >= 1} + <div class="package"> + <div id="ric"> + {section name=ric loop=$ric} + <p><a href="{$subdir}{$ric[ric].file}">{$ric[ric].name}</a></p> + {/section} + </div> + </div> +{/if} +{if $hastodos} + <div class="package"> + <div id="todolist"> + <p><a href="{$subdir}{$todolink}">Todo List</a></p> + </div> + </div> +{/if} + <b>Packages:</b><br /> + <div class="package"> + {section name=packagelist loop=$packageindex} + <a href="{$subdir}{$packageindex[packagelist].link}">{$packageindex[packagelist].title}</a><br /> + {/section} + </div> + <br /> +{if $tutorials} + <b>Tutorials/Manuals:</b><br /> + <div class="package"> + {if $tutorials.pkg} + <strong>Package-level:</strong> + {section name=ext loop=$tutorials.pkg} + {$tutorials.pkg[ext]} + {/section} + {/if} + {if $tutorials.cls} + <strong>Class-level:</strong> + {section name=ext loop=$tutorials.cls} + {$tutorials.cls[ext]} + {/section} + {/if} + {if $tutorials.proc} + <strong>Procedural-level:</strong> + {section name=ext loop=$tutorials.proc} + {$tutorials.proc[ext]} + {/section} + </div> + {/if} +{/if} + {if !$noleftindex}{assign var="noleftindex" value=false}{/if} + {if !$noleftindex} + {if $compiledfileindex} + <b>Files:</b><br /> + {eval var=$compiledfileindex} + {/if} + <br /> + {if $compiledinterfaceindex} + <b>Interfaces:</b><br /> + {eval var=$compiledinterfaceindex} + {/if} + {if $compiledclassindex} + <b>Classes:</b><br /> + {eval var=$compiledclassindex} + {/if} + {/if} + </td> + <td> + <table cellpadding="10" cellspacing="0" width="100%" border="0"><tr><td valign="top"> + +{if !$hasel}{assign var="hasel" value=false}{/if} +{if $eltype == 'class' && $is_interface}{assign var="eltype" value="interface"}{/if} +{if $hasel} +<h1>{$eltype|capitalize}: {$class_name}</h1> +Source Location: {$source_location}<br /><br /> +{/if}
\ No newline at end of file diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/include.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/include.tpl new file mode 100755 index 00000000..ffab8eff --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/include.tpl @@ -0,0 +1,18 @@ +{section name=includes loop=$includes} +<a name="{$includes[includes].include_file}"><!-- --></a> +<div class="{cycle values="evenrow,oddrow"}"> + + <div> + <span class="include-title"> + <span class="include-type">{$includes[includes].include_name}</span> + (<span class="include-name">{$includes[includes].include_value}</span>) + <span class="smalllinenumber">[line {if $includes[includes].slink}{$includes[includes].slink}{else}{$includes[includes].line_number}{/if}]</span> + </span> + </div> + + {include file="docblock.tpl" sdesc=$includes[includes].sdesc desc=$includes[includes].desc tags=$includes[includes].tags} + {include file="tags.tpl" api_tags=$includes[includes].api_tags info_tags=$includes[includes].info_tags} + <div class="top">[ <a href="#top">Top</a> ]</div> + <br /> +</div> +{/section}
\ No newline at end of file diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/index.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/index.tpl new file mode 100755 index 00000000..a493f70e --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/index.tpl @@ -0,0 +1,7 @@ +{include file="header.tpl"} +{if $contents} +{$contents} +{else} +{include file="blank.tpl"} +{/if} +{include file="footer.tpl"} diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/media/background.png b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/media/background.png Binary files differnew file mode 100755 index 00000000..8c4ff464 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/media/background.png diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/media/empty.png b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/media/empty.png Binary files differnew file mode 100755 index 00000000..a9f29bb1 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/media/empty.png diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/media/logo.png b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/media/logo.png Binary files differnew file mode 100644 index 00000000..10fe5d61 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/media/logo.png diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/media/style.css b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/media/style.css new file mode 100755 index 00000000..a06eee2f --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/media/style.css @@ -0,0 +1,135 @@ +a{ background-color: transparent; color: #636331; text-decoration: none; } +a:hover{ text-decoration: underline; } +a.menu{ background-color: transparent; color: #636331; } +body{ background-color: #ffffff; background-image: url("background.png"); background-repeat: repeat-y; color: #000000; font-family: tahoma,verdana,arial,sans-serif; font-size: 10pt; margin: 0; padding: 0; } +dd { margin-left: 0px; padding-left: 1em; } +div.credit{ font-size: 8pt; text-align: center; } +div.description,div.tags,div.function{ padding-left: 15px; } +div.header-top-right-subpackage{ background-color: #fdfcf2; color: #636331; font-size: 12pt; font-weight: bold; padding: 10px; text-align: right; } +div.package{ padding-left: 5px; } +div.warning{ background-color: transparent; color: #ff0000; } +hr{ border-color: #ccc9a4; border-style: solid; height: 1px; margin-bottom: 10px; margin-top: 10px; } +li { list-style-type: square; } +td{ font-size: 10pt; vertical-align: top; } +td.class-overview{ padding: 2px; padding-left: 1em; } +td.code{ background-color: #ccc9a4; color: #000000; padding-left: 3em; padding-right: 1em; text-indent: -2em; } +td.code-border{ background-color: #636331; color: #000000; } +td.header-line{ background-color: #636331; color: #ffffff; } +td.header-menu{ background-color: #ccc9a4; color: #636331; font-size: 8pt; padding: 2px; padding-right: 5px; text-align: right; } +td.header-top-left{ background-color: #fdfcf2; color: #636331; font-size: 16pt; font-weight: bold; padding: 10px; text-align: left; } +td.header-top-right{ background-color: #fdfcf2; color: #636331; font-size: 16pt; font-weight: bold; padding: 10px; text-align: right; } +td.indent { padding-left: 1em; } +td.menu{ padding: 2px; padding-left: 5px; } +td.type,.folder-title,.method-result,.include-type{ font-style: italic; } +ul{ margin-left: 0px; padding-left: 8px; vertical-align: top; } +.class-name { color: #000000; font-weight: bold; } +.class-table { width: 100%; } +.class-table-header { border-bottom: 1px dotted #666666; text-align: left; } +.const-title { } +.description{ color: #000000; } +.detail,div.top,span.smalllinenumber{ font-size: 8pt; } +.disabled{ color: #ccc9a4; font-style: italic; } +.evenrow{ border: 1px solid #ccc9a4; color: #000000; margin-bottom: 1em; padding: .5em; } +.include-title{ } +.index-item-body { margin-bottom: .5em; margin-top: .5em; } +.index-item-description { margin-top: .25em; } +.index-item-details { font-size: 8pt; font-style: italic; font-weight: normal; } +.index-letter { font-size: 12pt; } +.index-letter-menu { margin: 1em; text-align: center; } +.index-letter-section { background-color: #ccc9a4; border: 1px dotted #636331; margin-bottom: 1em; padding: .5em; } +.index-letter-title { font-size: 12pt; font-weight: bold; } +.info-box{ } +.info-box-body{ border: 1px solid #ccc9a4; padding: .5em; } +.info-box-title{ background-color: #ccc9a4; border: 1px solid #636331; color: #636331; font-size: 14pt; font-weight: normal; margin: 1em 0em 0em 0em; padding: .25em; } +.line-number, .var-name-summary { font-size: 8pt; font-weight: bold; } +.method-definition { font-size: 8pt; margin-bottom: .3em; padding-left: 1em; } +.method-definition{ font-size: 8pt; margin-bottom: .3em; } +.method-header{ } +.method-result { color: #636331; font-size: 8pt; font-style: italic; } +.method-signature{ color: #ccc9a4; font-size: 85%; margin: .5em 0em; } +.nav-bar{ font-size: 8pt; margin: 0em 0em 1em 0em; padding: .2em; text-align: right; white-space: nowrap; } +.nav-button:active, +.nav-button:focus, +.nav-button:hover{ background-color: #dddddd; outline: 1px solid #999999; text-decoration: none; } +.nav-button-disabled{ color: #999999; } +.notes{ font-size: 8pt; font-style: italic; } +.oddrow{ background-color: #fdfcf2; border: 1px solid #ccc9a4; color: #000000; margin-bottom: 1em; padding: .5em; } +.package{ padding-left : 2em; font-size : 9pt; } +.package-details{ font-size: 85%; } +.package-title{ border-bottom: 1px solid #000000; font-size: 14pt; font-weight: bold; } +.page-body{ margin: auto; max-width: 800px; } +.parameters{ list-style-type: square; margin-bottom: 0em; margin-left: 3em; margin-right: 1em; margin-top: 0em; padding-left: 0em; vertical-align: top; } +.redefinitions{ font-size: 8pt; margin-left: 2em; padding-left: 0em; } +.separator{ background-color: #ccc9a4; height: 1px; } +.short-description{ color: #636331; font-weight: bold; } +.src-code li, .php-src li, .php li, .listing li { list-style-type: decimal } +/* This will not be executed by IE, so now we have a fix! */ +.php-src { font-family: 'Courier New', Courier, monospace; font-weight: normal; } +.sub-package{ font-size: 120%; font-weight: bold; } +.tags{ color: #636331; list-style-type: square; margin-bottom: 0em; margin-left: 3em; margin-right: 1em; margin-top: 0em; padding-left: 0em; vertical-align: top; } +.tree dl { margin: 0px; } +.tutorial{ border-color: #0066ff; border-width: thin; } +.tutorial-nav-box{ background-color: #fdfcf2; border: 1px solid #999999; width: 100%; } +.var-default{ } +.var-summary-description { font-size: 8pt; font-weight: normal; color: #000000; } +.var-description{ color: #000000; font-weight: normal; } +.var-header{ } +.var-name, .const-name, .method-title,.method-name,.include-name,.var-name,.field { font-weight: bold; } +.var-summary,.method-summary{ font-size: 8pt;} +.var-title{ margin-bottom: .3em; } +.var-type{ color: #636331; font-style: italic; } +.var-type-summary{ color: #636331; font-size: 8pt; font-style: italic; padding-left: 1em; } +.warning{ color: #ff6600; } + +/* Syntax highlighting */ + +.src-code { background-color: #f5f5f5; border: 1px solid #ccc9a4; padding: 1em; margin : 0px; + font-family: 'Courier New', Courier, monospace; font-weight: normal; } +.src-line { font-family: 'Courier New', Courier, monospace; font-weight: normal; } + +.src-comm { color: green; } +.src-id { } +.src-inc { color: #0000FF; } +.src-key { color: #0000FF; } +.src-num { color: #CC0000; } +.src-str { color: #66cccc; } +.src-sym { font-weight: bold; } +.src-var { } + +.src-php { font-weight: bold; } + +.src-doc { color: #009999 } +.src-doc-close-template { color: #0000FF } +.src-doc-coretag { color: #0099FF; font-weight: bold } +.src-doc-inlinetag { color: #0099FF } +.src-doc-internal { color: #6699cc } +.src-doc-tag { color: #0080CC } +.src-doc-template { color: #0000FF } +.src-doc-type { font-style: italic } +.src-doc-var { font-style: italic } + +.tute-tag { color: #009999 } +.tute-attribute-name { color: #0000FF } +.tute-attribute-value { color: #0099FF } +.tute-entity { font-weight: bold; } +.tute-comment { font-style: italic } +.tute-inline-tag { color: #636311; font-weight: bold } + +/* tutorial */ + +.authors { } +.author { font-style: italic; font-weight: bold } +.author-blurb { margin: .5em 0em .5em 2em; font-size: 85%; font-weight: normal; font-style: normal } +.example { border: 1px dashed #999999; background-color: #EEEEEE; padding: .5em; } +.listing { border: 1px dashed #999999; background-color: #EEEEEE; padding: .5em; white-space: nowrap; } +.release-info { font-size: 85%; font-style: italic; margin: 1em 0em } +.ref-title-box { } +.ref-title { } +.ref-purpose { font-style: italic; color: #666666 } +.ref-synopsis { } +.title { font-weight: bold; margin: 1em 0em 0em 0em; padding: .25em; border: 2px solid #999999; background-color: #fdfcf2; + color: #636331; } +.cmd-synopsis { margin: 1em 0em } +.cmd-title { font-weight: bold } +.toc { margin-left: 2em; padding-left: 0em } + diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/method.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/method.tpl new file mode 100755 index 00000000..8ea3853c --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/method.tpl @@ -0,0 +1,176 @@ +<a name='method_detail'></a> +{section name=methods loop=$methods} +{if $methods[methods].static} +<a name="method{$methods[methods].function_name}" id="{$methods[methods].function_name}"><!-- --></a> +<div class="{cycle values="evenrow,oddrow"}"> + +<div class="method-header"> + <span class="method-title">static method {$methods[methods].function_name}</span> <span class="smalllinenumber">[line {if $methods[methods].slink}{$methods[methods].slink}{else}{$methods[methods].line_number}{/if}]</span> +</div> +<br /> + + <div class="function"> + <table width="90%" border="0" cellspacing="0" cellpadding="1"><tr><td class="code-border"> + <table width="100%" border="0" cellspacing="0" cellpadding="2"><tr><td class="code"> + <code>static {$methods[methods].function_return} {if $methods[methods].ifunction_call.returnsref}&{/if}{$methods[methods].function_name}( +{if count($methods[methods].ifunction_call.params)} +{section name=params loop=$methods[methods].ifunction_call.params} +{if $smarty.section.params.iteration != 1}, {/if} +{if $methods[methods].ifunction_call.params[params].hasdefault}[{/if}{$methods[methods].ifunction_call.params[params].type} +{$methods[methods].ifunction_call.params[params].name}{if $methods[methods].ifunction_call.params[params].hasdefault} = {$methods[methods].ifunction_call.params[params].default}]{/if} +{/section} + +{/if})</code> + </td></tr></table> + </td></tr></table><br /></div> + + {include file="docblock.tpl" sdesc=$methods[methods].sdesc desc=$methods[methods].desc} + + {if $methods[methods].params} + <strong>Parameters:</strong><br /> + <table border="0" cellspacing="0" cellpadding="0"> + {section name=params loop=$methods[methods].params} + <tr><td class="indent"> + <span class="var-type">{$methods[methods].params[params].datatype}</span> </td> + <td> + <span class="var-name">{$methods[methods].params[params].var}: </span></td> + <td> + {if $methods[methods].params[params].data}<span class="var-description"> {$methods[methods].params[params].data}</span>{/if} + </td></tr> + {/section} + </table> + + {/if} +<br /> + {include file="tags.tpl" api_tags=$methods[methods].api_tags info_tags=$methods[methods].info_tags} + + {if $methods[methods].method_overrides} + <hr class="separator" /> + <div class="notes">Redefinition of:</div> + <dl> + <dt>{$methods[methods].method_overrides.link}</dt> + {if $methods[methods].method_overrides.sdesc} + <dd>{$methods[methods].method_overrides.sdesc}</dd> + {/if} + </dl> + {/if} + {if $methods[methods].method_implements} + <hr class="separator" /> + <div class="notes">Implementation of:</div> + {section name=imp loop=$methods[methods].method_implements} + <dl> + <dt>{$methods[methods].method_implements[imp].link}</dt> + {if $methods[methods].method_implements[imp].sdesc} + <dd>{$methods[methods].method_implements[imp].sdesc}</dd> + {/if} + </dl> + {/section} + {/if} + + {if $methods[methods].descmethod} + <hr class="separator" /> + <div class="notes">Redefined in descendants as:</div> + <ul class="redefinitions"> + {section name=dm loop=$methods[methods].descmethod} + <li> + {$methods[methods].descmethod[dm].link} + {if $methods[methods].descmethod[dm].sdesc} + : {$methods[methods].descmethod[dm].sdesc} + {/if} + </li> + {/section} + </ul> + {/if} + <br /> + <div class="top">[ <a href="#top">Top</a> ]</div> +</div> +{/if} +{/section} + +{section name=methods loop=$methods} +{if !$methods[methods].static} +<a name="method{$methods[methods].function_name}" id="{$methods[methods].function_name}"><!-- --></a> +<div class="{cycle values="evenrow,oddrow"}"> + +<div class="method-header"> + <span class="method-title">{if $methods[methods].ifunction_call.constructor}Constructor {elseif $methods[methods].ifunction_call.destructor}Destructor {/if}{$methods[methods].function_name}</span> <span class="smalllinenumber">[line {if $methods[methods].slink}{$methods[methods].slink}{else}{$methods[methods].line_number}{/if}]</span> +</div> +<br /> + + <div class="function"> + <table width="90%" border="0" cellspacing="0" cellpadding="1"><tr><td class="code-border"> + <table width="100%" border="0" cellspacing="0" cellpadding="2"><tr><td class="code"> + <code>{$methods[methods].function_return} {if $methods[methods].ifunction_call.returnsref}&{/if}{$methods[methods].function_name}( +{if count($methods[methods].ifunction_call.params)} +{section name=params loop=$methods[methods].ifunction_call.params} +{if $smarty.section.params.iteration != 1}, {/if} +{if $methods[methods].ifunction_call.params[params].hasdefault}[{/if}{$methods[methods].ifunction_call.params[params].type} +{$methods[methods].ifunction_call.params[params].name}{if $methods[methods].ifunction_call.params[params].hasdefault} = {$methods[methods].ifunction_call.params[params].default}]{/if} +{/section} + +{/if})</code> + </td></tr></table> + </td></tr></table><br /></div> + + {include file="docblock.tpl" sdesc=$methods[methods].sdesc desc=$methods[methods].desc} + + {if $methods[methods].params} + <strong>Parameters:</strong><br /> + <table border="0" cellspacing="0" cellpadding="0"> + {section name=params loop=$methods[methods].params} + <tr><td class="indent"> + <span class="var-type">{$methods[methods].params[params].datatype}</span> </td> + <td> + <span class="var-name">{$methods[methods].params[params].var}: </span></td> + <td> + {if $methods[methods].params[params].data}<span class="var-description"> {$methods[methods].params[params].data}</span>{/if} + </td></tr> + {/section} + </table> + + {/if} +<br /> + {include file="tags.tpl" api_tags=$methods[methods].api_tags info_tags=$methods[methods].info_tags} + + {if $methods[methods].method_overrides} + <hr class="separator" /> + <div class="notes">Redefinition of:</div> + <dl> + <dt>{$methods[methods].method_overrides.link}</dt> + {if $methods[methods].method_overrides.sdesc} + <dd>{$methods[methods].method_overrides.sdesc}</dd> + {/if} + </dl> + {/if} + {if $methods[methods].method_implements} + <hr class="separator" /> + <div class="notes">Implementation of:</div> + {section name=imp loop=$methods[methods].method_implements} + <dl> + <dt>{$methods[methods].method_implements[imp].link}</dt> + {if $methods[methods].method_implements[imp].sdesc} + <dd>{$methods[methods].method_implements[imp].sdesc}</dd> + {/if} + </dl> + {/section} + {/if} + + {if $methods[methods].descmethod} + <hr class="separator" /> + <div class="notes">Redefined in descendants as:</div> + <ul class="redefinitions"> + {section name=dm loop=$methods[methods].descmethod} + <li> + {$methods[methods].descmethod[dm].link} + {if $methods[methods].descmethod[dm].sdesc} + : {$methods[methods].descmethod[dm].sdesc} + {/if} + </li> + {/section} + </ul> + {/if} + <br /> + <div class="top">[ <a href="#top">Top</a> ]</div> +</div> +{/if} +{/section} diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/packages.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/packages.tpl new file mode 100755 index 00000000..0967e6e7 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/packages.tpl @@ -0,0 +1,3 @@ +{section name=packages loop=$packages} +<a href="{$packages[packages].link}">{$packages[packages].title}</a> +{/section}
\ No newline at end of file diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/page.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/page.tpl new file mode 100755 index 00000000..83cfc582 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/page.tpl @@ -0,0 +1,210 @@ +{include file="header.tpl" eltype="Procedural file" class_name=$name hasel=true contents=$pagecontents} + +<a name="sec-description"></a> +<div class="info-box"> + <div class="info-box-title">Page Details</div> + <div class="nav-bar"> + {if $classes || $includes || $defines || $globals || $functions} + <span class="disabled">Page Details</span> | + {/if} + {if $classes} + <a href="#sec-classes">Classes</a> + {if $includes || $defines || $globals || $functions}|{/if} + {/if} + {if $includes} + <a href="#sec-includes">Includes</a> + {if $defines || $globals || $functions}|{/if} + {/if} + {if $defines} + <a href="#sec-constants">Constants</a> + {if $globals || $functions}|{/if} + {/if} + {if $globals} + <a href="#sec-variables">Globals</a> + {if $functions}|{/if} + {/if} + {if $functions} + <a href="#sec-functions">Functions</a> + {/if} + </div> + <div class="info-box-body"> + {include file="docblock.tpl" type="page" desc=$desc sdesc=$sdesc} + {include file="filetags.tpl" tags=$tags} + + {if $tutorial} + <hr class="separator" /> + <div class="notes">Tutorial: <span class="tutorial">{$tutorial}</div> + {/if} + </div> +</div> + +{if $classes} + <a name="sec-classes"></a> + <div class="info-box"> + <div class="info-box-title">Classes</div> + <div class="nav-bar"> + <a href="#sec-description">Page Details</a> | + <span class="disabled">Classes</span> + {if $includes || $defines || $globals || $functions}|{/if} + {if $includes} + <a href="#sec-includes">Includes</a> + {if $defines || $globals || $functions}|{/if} + {/if} + {if $defines} + <a href="#sec-constants">Constants</a> + {if $globals || $functions}|{/if} + {/if} + {if $globals} + <a href="#sec-variables">Globals</a> + {if $functions}|{/if} + {/if} + {if $functions} + <a href="#sec-functions">Functions</a> + {/if} + </div> + <div class="info-box-body"> + <table cellpadding="2" cellspacing="0" class="class-table"> + <tr> + <th class="class-table-header">Class</th> + <th class="class-table-header">Description</th> + </tr> + {section name=classes loop=$classes} + <tr> + <td style="padding-right: 2em; vertical-align: top"> + {$classes[classes].link} + </td> + <td> + {if $classes[classes].sdesc} + {$classes[classes].sdesc} + {else} + {$classes[classes].desc} + {/if} + </td> + </tr> + {/section} + </table> + </div> + </div> +{/if} + +{if $includes} + <a name="sec-includes"></a> + <div class="info-box"> + <div class="info-box-title">Includes</div> + <div class="nav-bar"> + <a href="#sec-description">Page Details</a> | + {if $classes} + <a href="#sec-classes">Classes</a> + {if $includes || $defines || $globals || $functions}|{/if} + {/if} + <span class="disabled">Includes</span> + {if $defines || $globals || $functions}|{/if} + {if $defines} + <a href="#sec-constants">Constants</a> + {if $globals || $functions}|{/if} + {/if} + {if $globals} + <a href="#sec-variables">Globals</a> + {if $functions}|{/if} + {/if} + {if $functions} + <a href="#sec-functions">Functions</a> + {/if} + </div> + <div class="info-box-body"> + {include file="include.tpl"} + </div> + </div><br /> +{/if} + +{if $defines} + <a name="sec-constants"></a> + <div class="info-box"> + <div class="info-box-title">Constants</div> + <div class="nav-bar"> + <a href="#sec-description">Page Details</a> | + {if $classes} + <a href="#sec-classes">Classes</a> + {if $includes || $defines || $globals || $functions}|{/if} + {/if} + {if $includes} + <a href="#sec-includes">Includes</a> + {if $defines || $globals || $functions}|{/if} + {/if} + <span class="disabled">Constants</span> + {if $globals || $functions}|{/if} + {if $globals} + <a href="#sec-variables">Globals</a> + {if $functions}|{/if} + {/if} + {if $functions} + <a href="#sec-functions">Functions</a> + {/if} + </div> + <div class="info-box-body"> + {include file="define.tpl"} + </div> + </div><br /> +{/if} + +{if $globals} + <a name="sec-variables"></a> + <div class="info-box"> + <div class="info-box-title">Globals</div> + <div class="nav-bar"> + <a href="#sec-description">Page Details</a> | + {if $classes} + <a href="#sec-classes">Classes</a> + {if $includes || $defines || $globals || $functions}|{/if} + {/if} + {if $includes} + <a href="#sec-includes">Includes</a> + {if $defines || $globals || $functions}|{/if} + {/if} + {if $defines} + <a href="#sec-constants">Constants</a> + {if $globals || $functions}|{/if} + {/if} + <span class="disabled">Globals</span> + {if $functions}|{/if} + {if $globals} + <a href="#sec-functions">Functions</a> + {/if} + </div> + <div class="info-box-body"> + {include file="global.tpl"} + </div> + </div><br /> +{/if} + +{if $functions} + <a name="sec-functions"></a> + <div class="info-box"> + <div class="info-box-title">Functions</div> + <div class="nav-bar"> + <a href="#sec-description">Page Details</a> | + {if $classes} + <a href="#sec-classes">Classes</a> + {if $includes || $defines || $globals || $functions}|{/if} + {/if} + {if $includes} + <a href="#sec-includes">Includes</a> + {if $defines || $globals || $functions}|{/if} + {/if} + {if $defines} + <a href="#sec-constants">Constants</a> + {if $globals || $functions}|{/if} + {/if} + {if $globals} + <a href="#sec-variables">Globals</a> + {if $functions}|{/if} + {/if} + <span class="disabled">Functions</span> + </div> + <div class="info-box-body"> + {include file="function.tpl"} + </div> + </div><br /> +{/if} + +{include file="footer.tpl" top3=true} diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/pkgelementindex.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/pkgelementindex.tpl new file mode 100755 index 00000000..7f12c6c5 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/pkgelementindex.tpl @@ -0,0 +1,15 @@ +{include file="header.tpl"} +<a name="top"></a> +<h1>Element index for package {$package}</h1> +{if count($packageindex) > 1} + <h3>Package indexes</h3> + <ul> + {section name=p loop=$packageindex} + {if $packageindex[p].title != $package} + <li><a href="elementindex_{$packageindex[p].title}.html">{$packageindex[p].title}</a></li> + {/if} + {/section} + </ul> +{/if} +{include file="basicindex.tpl" indexname=elementindex_$package} +{include file="footer.tpl"} diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/ric.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/ric.tpl new file mode 100755 index 00000000..eff734c1 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/ric.tpl @@ -0,0 +1,6 @@ +{include file="header.tpl"} +<h1 align="center">{$name}</h1> +<pre> +{$contents|htmlentities} +</pre> +{include file="footer.tpl"}
\ No newline at end of file diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/tags.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/tags.tpl new file mode 100755 index 00000000..9f965d88 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/tags.tpl @@ -0,0 +1,22 @@ +{if count($api_tags) > 0} +<strong>API Tags:</strong><br /> +<table border="0" cellspacing="0" cellpadding="0"> +{section name=tag loop=$api_tags} + <tr> + <td class="indent"><strong>{$api_tags[tag].keyword|capitalize}:</strong> </td><td>{$api_tags[tag].data}</td> + </tr> +{/section} +</table> +<br /> +{/if} + +{if count($info_tags) > 0} +<strong>Information Tags:</strong><br /> +<table border="0" cellspacing="0" cellpadding="0"> +{section name=tag loop=$info_tags} + <tr> + <td class="indent"><strong>{$info_tags[tag].keyword|capitalize}:</strong> </td><td>{$info_tags[tag].data}</td> + </tr> +{/section} +</table> +{/if} diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/todolist.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/todolist.tpl new file mode 100755 index 00000000..f929ccdb --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/todolist.tpl @@ -0,0 +1,14 @@ +{include file="header.tpl" title="Todo List"} +<div align="center"><h1>Todo List</h1></div> +{foreach from=$todos key=todopackage item=todo} +<h2>{$todopackage}</h2> +{section name=todo loop=$todo} +<h3>{$todo[todo].link}</h3> +<ul> +{section name=t loop=$todo[todo].todos} + <li>{$todo[todo].todos[t]}</li> +{/section} +</ul> +{/section} +{/foreach} +{include file="footer.tpl"}
\ No newline at end of file diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/tutorial.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/tutorial.tpl new file mode 100755 index 00000000..a943522c --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/tutorial.tpl @@ -0,0 +1,32 @@ +{include file="header.tpl" title=$title} +{if $nav} +<table width="100%" border="0" cellpadding="0" cellspacing="0"> +<tr> +<td width="10%" align="left" valign="bottom">{if $prev}<a href= +"{$prev}">{/if}Prev{if $prev}</a>{/if}</td> +<td width="80%" align="center" valign="bottom"></td> +<td width="10%" align="right" valign="bottom">{if $next}<a href= +"{$next}">{/if}Next{if $next}</a>{/if}</td> +</tr> +</table> +{/if} +{$contents} +{if $nav} +<table width="100%" border="0" cellpadding="0" cellspacing="0"> +<tr> +<td width="33%" align="left" valign="top">{if $prev}<a href="{$prev}">{/if} +Prev{if $prev}</a>{/if}</td> +<td width="34%" align="center" valign="top">{if $up}<a href= +"{$up}">Up</a>{else} {/if}</td> +<td width="33%" align="right" valign="top">{if $next}<a href= +"{$next}">{/if}Next{if $next}</a>{/if}</td> +</tr> + +<tr> +<td width="33%" align="left" valign="top">{if $prevtitle}{$prevtitle}{/if}</td> +<td width="34%" align="center" valign="top">{if $uptitle}{$uptitle}{/if}</td> +<td width="33%" align="right" valign="top">{if $nexttitle}{$nexttitle}{/if}</td> +</tr> +</table> +{/if} +{include file="footer.tpl"}
\ No newline at end of file diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/tutorial_toc.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/tutorial_toc.tpl new file mode 100755 index 00000000..3d22d403 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/tutorial_toc.tpl @@ -0,0 +1,29 @@ +{if count($toc)} +<h1 align="center">Table of Contents</h1> +<ul> +{section name=toc loop=$toc} +{if $toc[toc].tagname == 'refsect1'} +{assign var="context" value="refsect1"} +{$toc[toc].link}<br /> +{/if} +{if $toc[toc].tagname == 'refsect2'} +{assign var="context" value="refsect2"} + {$toc[toc].link}<br /> +{/if} +{if $toc[toc].tagname == 'refsect3'} +{assign var="context" value="refsect3"} + {$toc[toc].link}<br /> +{/if} +{if $toc[toc].tagname == 'table'} +{if $context == 'refsect2'} {/if} +{if $context == 'refsect3'} {/if} +Table: {$toc[toc].link} +{/if} +{if $toc[toc].tagname == 'example'} +{if $context == 'refsect2'} {/if} +{if $context == 'refsect3'} {/if} +Table: {$toc[toc].link} +{/if} +{/section} +</ul> +{/if}
\ No newline at end of file diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/tutorial_tree.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/tutorial_tree.tpl new file mode 100755 index 00000000..dd2e5811 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/tutorial_tree.tpl @@ -0,0 +1,5 @@ +<ul> + <li type="square"><a href="{$main.link}">{$main.title|strip_tags}</a> +{if $kids}{$kids}</li>{/if} +</ul> + diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/var.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/var.tpl new file mode 100755 index 00000000..45aba195 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/HandS/templates/var.tpl @@ -0,0 +1,94 @@ +{section name=vars loop=$vars} +{if $vars[vars].static} +<a name="var{$vars[vars].var_name}" id="{$vars[vars].var_name}"><!-- --></A> +<div class="{cycle values="evenrow,oddrow"}"> + + <div class="var-header"> + <span class="var-title"> + static <span class="var-type">{$vars[vars].var_type}</span> + <span class="var-name">{$vars[vars].var_name}</span> + {if $vars[vars].var_default} = <span class="var-default">{$vars[vars].var_default|replace:"\n":"<br />"}</span>{/if} + <span class="smalllinenumber">[line {if $vars[vars].slink}{$vars[vars].slink}{else}{$vars[vars].line_number}{/if}]</span> + </span> + </div> + + {include file="docblock.tpl" sdesc=$vars[vars].sdesc desc=$vars[vars].desc} + {include file="tags.tpl" api_tags=$vars[vars].api_tags info_tags=$vars[vars].info_tags} + + {if $vars[vars].var_overrides} + <hr class="separator" /> + <div class="notes">Redefinition of:</div> + <dl> + <dt>{$vars[vars].var_overrides.link}</dt> + {if $vars[vars].var_overrides.sdesc} + <dd>{$vars[vars].var_overrides.sdesc}</dd> + {/if} + </dl> + {/if} + + {if $vars[vars].descvar} + <hr class="separator" /> + <div class="notes">Redefined in descendants as:</div> + <ul class="redefinitions"> + {section name=vm loop=$vars[vars].descvar} + <li> + {$vars[vars].descvar[vm].link} + {if $vars[vars].descvar[vm].sdesc} + : {$vars[vars].descvar[vm].sdesc} + {/if} + </li> + {/section} + </ul> + {/if} + <br /> + <div class="top">[ <a href="#top">Top</a> ]</div> +</div> +{/if} +{/section} +{section name=vars loop=$vars} +{if !$vars[vars].static} +<a name="var{$vars[vars].var_name}" id="{$vars[vars].var_name}"><!-- --></A> +<div class="{cycle values="evenrow,oddrow"}"> + + <div class="var-header"> + <span class="var-title"> + <span class="var-type">{$vars[vars].var_type}</span> + <span class="var-name">{$vars[vars].var_name}</span> + {if $vars[vars].var_default} = <span class="var-default">{$vars[vars].var_default|replace:"\n":"<br />"}</span>{/if} + <span class="smalllinenumber">[line {if $vars[vars].slink}{$vars[vars].slink}{else}{$vars[vars].line_number}{/if}]</span> + </span> + </div> + + {include file="docblock.tpl" sdesc=$vars[vars].sdesc desc=$vars[vars].desc} + {include file="tags.tpl" api_tags=$vars[vars].api_tags info_tags=$vars[vars].info_tags} + + {if $vars[vars].var_overrides} + <hr class="separator" /> + <div class="notes">Redefinition of:</div> + <dl> + <dt>{$vars[vars].var_overrides.link}</dt> + {if $vars[vars].var_overrides.sdesc} + <dd>{$vars[vars].var_overrides.sdesc}</dd> + {/if} + </dl> + {/if} + + {if $vars[vars].descvar} + <hr class="separator" /> + <div class="notes">Redefined in descendants as:</div> + <ul class="redefinitions"> + {section name=vm loop=$vars[vars].descvar} + <li> + {$vars[vars].descvar[vm].link} + {if $vars[vars].descvar[vm].sdesc} + : {$vars[vars].descvar[vm].sdesc} + {/if} + </li> + {/section} + </ul> + {/if} + <br /> + <div class="top">[ <a href="#top">Top</a> ]</div> +</div> +{/if} +{/section} diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PHP/options.ini b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PHP/options.ini new file mode 100755 index 00000000..73479c5f --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PHP/options.ini @@ -0,0 +1,577 @@ +preservedocbooktags = false + +;; used to highlight the {@source} inline tag, @filesource tag, and @example tag +[highlightSourceTokens] +;; format: +;; T_CONSTANTNAME = open +;; /T_CONSTANTNAME = close + +T_INCLUDE = <span class="src-inc"> +/T_INCLUDE = </span> +T_INCLUDE_ONCE = <span class="src-inc"> +/T_INCLUDE_ONCE = </span> +T_REQUIRE_ONCE = <span class="src-inc"> +/T_REQUIRE_ONCE = </span> +T_REQUIRE_ONCE = <span class="src-inc"> +/T_REQUIRE_ONCE = </span> + +T_CONSTANT_ENCAPSED_STRING = <span class="src-str"> +/T_CONSTANT_ENCAPSED_STRING = </span> +T_STRING_VARNAME = <span class="src-str"> +/T_STRING_VARNAME = </span> + +T_STRING = <span class="src-id"> +/T_STRING = </span> + +T_DNUMBER = <span class="src-num"> +/T_DNUMBER = </span> +T_LNUMBER = <span class="src-num"> +/T_LNUMBER = </span> + +T_VARIABLE = <span class="src-var"> +/T_VARIABLE = </span> + +T_COMMENT = <span class="src-comm"> +/T_COMMENT = </span> +T_ML_COMMENT = <span class="src-comm"> +/T_ML_COMMENT = </span> + +T_OBJECT_OPERATOR = <span class="src-sym"> +/T_OBJECT_OPERATOR = </span> + +T_ABSTRACT = <span class="src-key"> +/T_ABSTRACT = </span> +T_CLONE = <span class="src-key"> +/T_CLONE = </span> +T_HALT_COMPILER = <span class="src-key"> +/T_HALT_COMPILER = </span> +T_ARRAY = <span class="src-key"> +/T_ARRAY = </span> +T_AS = <span class="src-key"> +/T_AS = </span> +T_BREAK = <span class="src-key"> +/T_BREAK = </span> +T_CLASS = <span class="src-key"> +/T_CLASS = </span> +T_CASE = <span class="src-key"> +/T_CASE = </span> +T_CONST = <span class="src-key"> +/T_CONST = </span> +T_CONTINUE = <span class="src-key"> +/T_CONTINUE = </span> +T_DECLARE = <span class="src-key"> +/T_DECLARE = </span> +T_DEFAULT = <span class="src-key"> +/T_DEFAULT = </span> +T_ELSE = <span class="src-key"> +/T_ELSE = </span> +T_ELSEIF = <span class="src-key"> +/T_ELSEIF = </span> +T_EMPTY = <span class="src-key"> +/T_EMPTY = </span> +T_ENDDECLARE = <span class="src-key"> +/T_ENDDECLARE = </span> +T_ENDFOR = <span class="src-key"> +/T_ENDFOR = </span> +T_ENDSWITCH = <span class="src-key"> +/T_ENDSWITCH = </span> +T_ENDFOREACH = <span class="src-key"> +/T_ENDFOREACH = </span> +T_ENDIF = <span class="src-key"> +/T_ENDIF = </span> +T_ENDWHILE = <span class="src-key"> +/T_ENDWHILE = </span> +T_EXIT = <span class="src-key"> +/T_EXIT = </span> +T_EXTENDS = <span class="src-key"> +/T_EXTENDS = </span> +T_FINAL = <span class="src-key"> +/T_FINAL = </span> +T_FOR = <span class="src-key"> +/T_FOR = </span> +T_FOREACH = <span class="src-key"> +/T_FOREACH = </span> +T_FUNCTION = <span class="src-key"> +/T_FUNCTION = </span> +T_GLOBAL = <span class="src-key"> +/T_GLOBAL = </span> +T_IF = <span class="src-key"> +/T_IF = </span> +T_IMPLEMENTS = <span class="src-key"> +/T_IMPLEMENTS = </span> +T_INTERFACE = <span class="src-key"> +/T_INTERFACE = </span> +T_LOGICAL_AND = <span class="src-key"> +/T_LOGICAL_AND = </span> +T_LOGICAL_OR = <span class="src-key"> +/T_LOGICAL_OR = </span> +T_LOGICAL_XOR = <span class="src-key"> +/T_LOGICAL_XOR = </span> +T_NEW = <span class="src-key"> +/T_NEW = </span> +T_PRIVATE = <span class="src-key"> +/T_PRIVATE = </span> +T_PROTECTED = <span class="src-key"> +/T_PROTECTED = </span> +T_PUBLIC = <span class="src-key"> +/T_PUBLIC = </span> +T_RETURN = <span class="src-key"> +/T_RETURN = </span> +T_STATIC = <span class="src-key"> +/T_STATIC = </span> +T_SWITCH = <span class="src-key"> +/T_SWITCH = </span> +T_VAR = <span class="src-key"> +/T_VAR = </span> +T_WHILE = <span class="src-key"> +/T_WHILE = </span> + +T_DOUBLE_COLON = <span class="src-sym"> +/T_DOUBLE_COLON = </span> + +T_OPEN_TAG = <span class="src-php"> +/T_OPEN_TAG = </span> +T_OPEN_TAG_WITH_ECHO = <span class="src-php"> +/T_OPEN_TAG_WITH_ECHO = </span> +T_CLOSE_TAG = <span class="src-php"> +/T_CLOSE_TAG = </span> + + +[highlightSource] +;; this is for highlighting things that aren't tokens like "&" +;; format: +;; word = open +;; /word = close +@ = <span class="src-sym"> +/@ = </span> +& = <span class="src-sym"> +/& = </span> +[ = <span class="src-sym"> +/[ = </span> +] = <span class="src-sym"> +/] = </span> +! = <span class="src-sym"> +/! = </span> +";" = <span class="src-sym"> +/; = </span> +( = <span class="src-sym"> +/( = </span> +) = <span class="src-sym"> +/) = </span> +, = <span class="src-sym"> +/, = </span> +{ = <span class="src-sym"> +/{ = </span> +} = <span class="src-sym"> +/} = </span> +""" = <span class="src-str"> +/" = </span> + +[highlightDocBlockSourceTokens] +;; this is for docblock tokens, using by phpDocumentor_HighlightParser +;; tagphptype is for "string" in @param string description, for example +docblock = <span class="src-doc"> +/docblock = </span> +tagphptype = <span class="src-doc-type"> +/tagphptype = </span> +tagvarname = <span class="src-doc-var"> +/tagvarname = </span> +coretag = <span class="src-doc-coretag"> +/coretag = </span> +tag = <span class="src-doc-tag"> +/tag = </span> +inlinetag = <span class="src-doc-inlinetag"> +/inlinetag = </span> +internal = <span class="src-doc-internal"> +/internal = </span> +closetemplate = <span class="src-doc-close-template"> +/closetemplate = </span> +docblocktemplate = <span class="src-doc-template"> +/docblocktemplate = </span> + +[highlightTutorialSourceTokens] +;; this is for XML DocBook-based tutorials, highlighted by phpDocumentor_TutorialHighlightParser +;; <tag> +opentag = <span class="tute-tag"> +/opentag = </span> +;; </tag> +closetag = <span class="tute-tag"> +/closetag = </span> +;; <tag attribute="value"> +attribute = <span class="tute-attribute-name"> +/attribute = </span> +;; <tag attribute="value"> +attributevalue = <span class="tute-attribute-value"> +/attributevalue = </span> +;; &entity; +entity = <span class="tute-entity"> +/entity = </span> +;; <!-- comment --> +comment = <span class="tute-comment"> +/comment = </span> +;; {@inline tag} +itag = <span class="tute-inline-tag"> +/itag = </span> + +;; used for translation of html in DocBlocks +[desctranslate] +ul = <ul> +/ul = </ul> +ol = <ol> +/ol = </ol> +li = <li> +/li = </li> +code = +/code = +var = <var> +/var = </var> +samp = <samp> +/samp = </samp> +kbd = <kbd> +/kbd = </kbd> +pre = <pre> +/pre = </pre> +p = <p> +/p = </p> +b = <strong> +/b = </strong> +i = <em> +/i = </em> +br = <br /> + +[ppage] +;; this is the DocBook package page translation section. All DocBook tags +;; that have a corresponding html tag must be listed here. Entities should +;; also be listed here +;; +;; examples: +;; 1) +;; tagname = newtagname +;; +;; This is the simplest case, where all attributes will be added into the +;; starting tag and the ending tag will be html/xml style </tranlatedtagname> +;; <tagname></tagname> becomes <newtagname></newtagname> and +;; <tagname attr="value"></tagname> becomes +;; <newtagname attr="value"></newtagname> +;; +;; 2) +;; tagname = newtagname +;; tagname->attr = newattrname +;; +;; in this case, everything will be like the first case, except tags like: +;; <tagname attr="value"></tagname> will become +;; <newtagname newattrname="value"></newtagname> +;; +;; 3) +;; tagname = newtagname +;; tagname->attr = newattrname +;; tagname->attr+value = newvalue +;; +;; in this case, the value is also translated to another. This can be useful +;; for instances such as focus="middle" changing to align="center" or something +;; of that nature. +;; <tagname attr="value"></tagname> will become +;; <newtagname newattrname="newvalue"></newtagname> +;; +;; 4) +;; tagname = newtagname +;; tagname->attr1 = newattrname +;; tagname->attr2 = newattrname +;; tagname->attr1+value|attr2+value = newvalue +;; +;; in this case, two attributes combine to make one new attribute, and the combined +;; value is translated into a new value +;; <tagname attr1="value1" attr2="value2"></tagname> will become +;; <newtagname newattrname="newvalue"></newtagname> +;; +;; 5) +;; tagname = newtagname +;; tagname!attr = dummy +;; +;; here, the attribute will be ignored. dummy is not used and may be any value +;; <tagname attr="value"></tagname> will become +;; <newtagname></newtagname> +;; +;; 6) +;; tagname = newtagname +;; tagname! = dummy +;; +;; here, all attributes will be ignored. dummy is not used and may be any value +;; <tagname attr1="value" attr2="foo"></tagname> will become +;; <newtagname></newtagname> +;; +;; 7) +;; tagname = newtagname +;; tagname/ = 1 +;; +;; here, the tag will be translated as a single tag with no closing tag, and all +;; attributes +;; <tagname attr="val">{text text}</tagname> will become +;; <newtagname attr="val" /> +;; +;; 8) +;; tagname = <starttaginfo /> +;; /tagname = closetagtext +;; +;; in this case, the text <starttaginfo> will be inserted exactly as entered for +;; <tagname> and closetagtext for </tagname> +;; <tagname attr="val"></tagname> will become +;; <starttaginfo />closetagtext +;; +;; 9) +;; $attr$my_attribute = newattrname +;; +;; tagname = newtagname +;; +;; in this case, all occurences of my_attribute in any tag will be changed to +;; newattrname. This is useful for changing things like role="php" to +;; class="php," for example. Note that the text "$attr$" MUST be on the line +;; start for phpDocumentor to recognize it. +;; +;; 10) +;; &entity; = translation text +;; " = " +;; " = """ +;; < = < +;; +;; Use this to control translation of entities to their appropriate values + + = +" = " +” = ” +“ = “ +& = & +< = < +> = > +© = © + +$attr$role = class + +abbrev = abbr + +blockquote = blockquote + +arg = span +arg->choice = class + +author = <span class="author"> +/author = </span> +author! = 0 + +authorblurb = <div class="author-blurb"> +/authorblurb = </div> + +authorgroup = <div class="authors"><h2 class="title">Authors</h2> +/authorgroup = </div> +authorgroup! = 0 + +caution = <span class="warning"> +/caution = </span> +caution! = 0 + +cmdsynopsis = <div class="cmd-synopsis"> +/cmdsynopsis = </div> + +command = <span class="cmd-title"> +/command = </span> + +copyright = <div class="notes"> +/copyright = </div> + +emphasis = strong + +example = <div class="src-code"> +/example = </div> +example! = 0 + +function = +/function = () + +formalpara = p + +graphic = img +graphic->fileref = src +graphic/ = + +important = strong + +informalequation = blockquote + +informalexample = div + +inlineequation = em + +itemizedlist = ul + +listitem = li + +literal = code + +literallayout = span + +option = " " +/option = + +orderedlist = ol + +para = p + +programlisting = <div class="src-code"> +/programlisting = </div> +programlisting! = 0 + +refentry = div + +refnamediv = <div class="ref-title-box"> +/refnamediv = </div> +refnamediv! = 0 + +refname = <h1 class="ref-title"> +/refname = </h1> + +refpurpose = <h2 class="ref-purpose"> +/refpurpose = </h2> + +refsynopsisdiv = <div class="ref-synopsis"> +/refsynopsisdiv = </div> +refsynopsisdiv! = 0 + +refsect1 = span + +refsect2 = +/refsect2 = <hr /> + +refsect3 = +/refsect3 = <br /> + +releaseinfo = <div class="release-info">( +/releaseinfo = )</div> + +simpara = +/simpara = <br /> +simpara! = 0 + +subscript = sub + +superscript = super + +table = table + +table->colsep = rules +table->rowsep = rules +table->colsep+1|rowsep+1 = all +table->colsep+1|rowsep+0 = cols +table->colsep+0|rowsep+1 = rows + +table->frame = frame +table->frame+all = border +table->frame+none = void +table->frame+sides = vsides +table->frame+top = above +table->frame+topbot = hsides + +thead = thead + +tfoot = tfoot + +tbody = tbody + +colspec = col + +tgroup = colgroup +tgroup/ = 1 +tgroup->cols = span + +row = tr + +entry = td +entry->morerows = colspan +entry->morerows+1 = 2 +entry->morerows+2 = 3 +entry->morerows+3 = 4 +entry->morerows+4 = 5 +entry->morerows+5 = 6 +entry->morerows+6 = 7 +entry->morerows+7 = 8 +entry->morerows+8 = 9 +entry->morerows+9 = 10 +entry->morerows+10 = 11 +;; add more if you need more colspans + +warning = <span class="warning"> +/warning = </span> +warning! = 0 + +;; now begins the attributes that should be tags in cdata +[$attr$id] +open = a +;close = /a +cdata! = true +quotevalues = true +separator = "=" +;separateall = true +$id = name + +;; now begins the sections that deal with <title> +[refsynopsisdiv_title] +;tag_attr = true +;attr_name = title +cdata_start = true +;cdata_end = true +open = <h1 class="title"> +close = </h1> + +[refsect1_title] +;tag_attr = true +;attr_name = title +cdata_start = true +;cdata_end = true +open = <h2 class="title"> +close = </h2> + +[refsect2_title] +;tag_attr = true +;attr_name = title +cdata_start = true +;cdata_end = true +open = <h3 class="title"> +close = </h3> + +[refsect3_title] +;tag_attr = true +;attr_name = title +cdata_start = true +;cdata_end = true +open = <h4 class="title"> +close = </h4> + +[para_title] +;tag_attr = true +;attr_name = title +cdata_start = true +;cdata_end = true +open = <div class="title"> +close = </div> + +[formalpara_title] +;tag_attr = true +;attr_name = title +cdata_start = true +;cdata_end = true +open = <div class="title"> +close = </div> + +[example_title] +;tag_attr = true +;attr_name = title +;cdata_start = true +cdata_end = true +open = </td></tr><tr><td><strong> +close = </strong> + +[table_title] +;tag_attr = true +;attr_name = true +cdata_start = true +open = <caption> +close = </caption> diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PHP/templates/basicindex.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PHP/templates/basicindex.tpl new file mode 100755 index 00000000..36cf9b4f --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PHP/templates/basicindex.tpl @@ -0,0 +1,18 @@ +{section name=letter loop=$letters} + [ <a href="{$indexname}.html#{$letters[letter].letter}">{$letters[letter].letter}</a> ] +{/section} + +{section name=index loop=$index} + <hr /> + <a name="{$index[index].letter}"></a> + <div> + <h2>{$index[index].letter}</h2> + <dl> + {section name=contents loop=$index[index].index} + <dt><b>{$index[index].index[contents].name}</b></dt> + <dd>{$index[index].index[contents].listing}</dd> + {/section} + </dl> + </div> + <a href="{$indexname}.html#top">top</a><br> +{/section} diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PHP/templates/blank.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PHP/templates/blank.tpl new file mode 100755 index 00000000..aae59975 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PHP/templates/blank.tpl @@ -0,0 +1,5 @@ +<div align="center"><h1>{$maintitle}</h1></div> +<b>Welcome to {$package}!</b><br /> +<br /> +This documentation was generated by <a href="{$phpdocwebsite}">phpDocumentor v{$phpdocversion}</a><br /> + diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PHP/templates/class.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PHP/templates/class.tpl new file mode 100755 index 00000000..860707eb --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PHP/templates/class.tpl @@ -0,0 +1,231 @@ +{include file="header.tpl" eltype="class" hasel=true contents=$classcontents} + +{if $conflicts.conflict_type}<div class="warning">Conflicts with classes:<br /> + {section name=me loop=$conflicts.conflicts} + {$conflicts.conflicts[me]}<br /> + {/section} +</div> + {/if} +{* original <div class="warning">{$conflicts</div> *} + +<table width="100%" border="0"> +<tr><td valign="top"> + +<h3><a href="#class_details">{if $is_interface}Interface{else}Class{/if} Overview</a></h3> +<pre>{section name=tree loop=$class_tree.classes}{$class_tree.classes[tree]}{$class_tree.distance[tree]}{/section}</pre><br /> +<div class="description">{$sdesc|default:''}</div><br /><br /> +{if $tutorial} +<h4 class="classtutorial">{if $is_interface}Interface{else}Class{/if} Tutorial:</h4> +<ul> + <li>{$tutorial}</li> +</ul> +{/if} +{if count($tags) > 0} +<h4>Author(s):</h4> +<ul> + {section name=tag loop=$tags} + {if $tags[tag].keyword eq "author"} + <li>{$tags[tag].data}</li> + {/if} + {/section} +</ul> +{/if} + +{assign var="version" value=""} +{assign var="copyright" value=""} + +{section name=tag loop=$tags} + {if $tags[tag].keyword eq "version"} + {assign var="version" value=$tags[tag].data} + {/if} + {if $tags[tag].keyword eq "copyright"} + {assign var="copyright" value=$tags[tag].data} + {/if} +{/section} + +{if $version} +<h4>Version:</h4> +<ul> + <li>{$version}</li> +</ul> +{/if} + +{if $copyright} +<h4>Copyright:</h4> +<ul> + <li>{$copyright}</li> +</ul> +{/if} + {if $implements} + <p class="implements"> + Implements interfaces: + <ul> + {foreach item="int" from=$implements}<li>{$int}</li>{/foreach} + </ul> + </p> + {/if} + +</td> + +{if count($contents.var) > 0} +<td valign="top"> +<h3><a href="#class_vars">Variables</a></h3> +<ul> + {section name=contents loop=$contents.var} + <li>{$contents.var[contents]}</li> + {/section} +</ul> +</td> +{/if} + +{if count($contents.const) > 0} +<td valign="top"> +<h3><a href="#class_consts">Constants</a></h3> +<ul> + {section name=contents loop=$contents.const} + <li>{$contents.const[contents]}</li> + {/section} +</ul> +</td> +{/if} + +{if count($contents.method) > 0} +<td valign="top"> +<h3><a href="#class_methods">Methods</a></h3> +<ul> + {section name=contents loop=$contents.method} + <li>{$contents.method[contents]}</li> + {/section} +</ul> +</td> +{/if} + +</tr></table> +<hr /> + +<table width="100%" border="0"><tr> + +{* original {if $children != "" +<td valign="top"> +<h3>Child classes:</h3> +<div class="tags"> +{$children *} + +{if $children} +<td valign="top"> +<h3>Child classes:</h3> +<div class="tags"> +{section name=kids loop=$children} +<dl> +<dt>{$children[kids].link}</dt> + <dd>{$children[kids].sdesc}</dd> +</dl> +{/section} +</div> +</td> +{/if} + +{if $iconsts && count($iconsts) > 0} +<td valign="top"> +<h3>Inherited Constants</h3> +{section name=iconsts loop=$iconsts} +<div class="tags"> +<h4>Class: {$iconsts[iconsts].parent_class}</h4> +<dl> +{section name=iconsts2 loop=$iconsts[iconsts].iconsts} +<dt> + {$iconsts[iconsts].iconsts[iconsts2].link} +</dt> +<dd> + {$iconsts[iconsts].iconsts[iconsts2].iconsts_sdesc} +</dd> +{/section} +</dl> +</div> +{/section} +</td> +{/if} + +{if $ivars && count($ivars) > 0} +<td valign="top"> +<h3>Inherited Variables</h3> +{section name=ivars loop=$ivars} +<div class="tags"> +<h4>Class: {$ivars[ivars].parent_class}</h4> +<dl> +{section name=ivars2 loop=$ivars[ivars].ivars} +<dt> + {$ivars[ivars].ivars[ivars2].link} + {* original <a href="{$ivars[ivars].ivars[ivars2].ipath #{$ivars[ivars].ivars[ivars2].ivar_name ">{$ivars[ivars].ivars[ivars2].ivar_name </a> *} +</dt> +<dd> + {$ivars[ivars].ivars[ivars2].ivars_sdesc} +</dd> +{/section} +</dl> +</div> +{/section} +</td> +{/if} + +{if $imethods && count($imethods) > 0} +<td valign="top"> +<h3>Inherited Methods</h3> +<div class="tags"> +{section name=imethods loop=$imethods} +<h4>Class: {$imethods[imethods].parent_class}</h4> +<dl> + {section name=im2 loop=$imethods[imethods].imethods} + <dt> + {$imethods[imethods].imethods[im2].link} +{* original <a href="{$imethods[imethods].imethods[im2].ipath#{$imethods[imethods].imethods[im2].ifunction_name">{$imethods[imethods].imethods[im2].ifunction_call</a> *} + </dt> + <dd> + {$imethods[imethods].imethods[im2].sdesc} + </dd> + {/section} +</dl> +{/section} +</div> +</td> +{/if} + +</tr></table> +<hr /> + +<a name="class_details"></a> +<h3>Class Details</h3> +<div class="tags"> +[line {if $class_slink}{$class_slink}{else}{$line_number}{/if}]<br /> +{include file="docblock.tpl" type="class" sdesc=$sdesc desc=$desc} +</div><br /><br /> +<div class="top">[ <a href="#top">Top</a> ]</div><br /> + +{if $vars && count($vars) > 0} +<hr /> +<a name="class_vars"></a> +<h3>Class Variables</h3> +<div class="tags"> +{include file="var.tpl"} +</div><br /> +{/if} + +{if $methods & count($methods) > 0} +<hr /> +<a name="class_methods"></a> +<h3>Class Methods</h3> +<div class="tags"> +{include file="method.tpl"} +</div><br /> +{/if} + +{if $consts && count($consts) > 0} +<hr /> +<a name="class_consts"></a> +<h3>Class Constants</h3> +<div class="tags"> +{include file="const.tpl"} +</div><br /> +{/if} + +{include file="footer.tpl"}
\ No newline at end of file diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PHP/templates/classleft.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PHP/templates/classleft.tpl new file mode 100755 index 00000000..b847f409 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PHP/templates/classleft.tpl @@ -0,0 +1,9 @@ +{foreach key=subpackage item=files from=$classleftindex} + <div class="package"> + {if $subpackage != ""}{$subpackage}<br />{/if} + {section name=files loop=$files} + {if $subpackage != ""} {/if} + {if $files[files].link != ''}<a href="{$files[files].link}">{/if}{$files[files].title}{if $files[files].link != ''}</a>{/if}<br /> + {/section} + </div> +{/foreach} diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PHP/templates/classtrees.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PHP/templates/classtrees.tpl new file mode 100755 index 00000000..0c0e974a --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PHP/templates/classtrees.tpl @@ -0,0 +1,17 @@ +{include file="header.tpl" noleftindex=true} +<h1>{$title}</h1> +{if $interfaces} +{section name=classtrees loop=$interfaces} +<hr /> +<div class="classtree">Root interface {$interfaces[classtrees].class}</div><br /> +{$interfaces[classtrees].class_tree} +{/section} +{/if} +{if $classtrees} +{section name=classtrees loop=$classtrees} +<hr /> +<div class="classtree">Root class {$classtrees[classtrees].class}</div><br /> +{$classtrees[classtrees].class_tree} +{/section} +{/if} +{include file="footer.tpl"} diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PHP/templates/const.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PHP/templates/const.tpl new file mode 100644 index 00000000..9ad36e01 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PHP/templates/const.tpl @@ -0,0 +1,14 @@ +{section name=consts loop=$consts} +{if $show == 'summary'} + var {$consts[consts].const_name}, {$consts[consts].sdesc}<br> +{else} + <a name="{$consts[consts].const_dest}"></a> + <p></p> + <h4>{$consts[consts].const_name} = <span class="value">{$consts[consts].const_value|replace:"\n":"<br>\n"|replace:" ":" "|replace:"\t":" "}</span></h4> + <p>[line {if $consts[consts].slink}{$consts[consts].slink}{else}{$consts[consts].line_number}{/if}]</p> + {include file="docblock.tpl" sdesc=$consts[consts].sdesc desc=$consts[consts].desc tags=$consts[consts].tags} + + <br /> + <div class="top">[ <a href="#top">Top</a> ]</div><br /> +{/if} +{/section} diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PHP/templates/define.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PHP/templates/define.tpl new file mode 100755 index 00000000..3cc84da3 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PHP/templates/define.tpl @@ -0,0 +1,32 @@ +{if count($defines) > 0} +{section name=def loop=$defines} +{if $show == 'summary'} +define constant <a href="{$defines[def].id}">{$defines[def].define_name}</a> = {$defines[def].define_value}, {$defines[def].sdesc}<br> +{else} + <hr /> + <a name="{$defines[def].define_link}"></a> + <h3>{$defines[def].define_name} <span class="smalllinenumber">[line {if $defines[def].slink}{$defines[def].slink}{else}{$defines[def].line_number}{/if}]</span></h3> + <div class="tags"> + <table width="90%" border="0" cellspacing="0" cellpadding="1"><tr><td class="code_border"> + <table width="100%" border="0" cellspacing="0" cellpadding="2"><tr><td class="code"> + <code>{$defines[def].define_name} = {$defines[def].define_value}</code> + </td></tr></table> + </td></tr></table> + + {include file="docblock.tpl" sdesc=$defines[def].sdesc desc=$defines[def].desc tags=$defines[def].tags} + <br /> + {if $defines[def].define_conflicts.conflict_type} + <p><b>Conflicts with defines:</b> + {section name=me loop=$defines[def].define_conflicts.conflicts} + {$defines[def].define_conflicts.conflicts[me]}<br /> + {/section} + </p> + {/if} +{* original {if $defines[def].define_conflicts != "" + <b>Conflicts:</b> {$defines[def].define_conflicts<br /><br /> + {/if *} + </div> + <div class="top">[ <a href="#top">Top</a> ]</div><br /><br /> +{/if} +{/section} +{/if}
\ No newline at end of file diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PHP/templates/docblock.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PHP/templates/docblock.tpl new file mode 100755 index 00000000..2ddfa0be --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PHP/templates/docblock.tpl @@ -0,0 +1,15 @@ +{if $sdesc != ''}{$sdesc|default:''}<br /><br />{/if} +{if $desc != ''}{$desc|default:''}<br />{/if} +{if count($tags) > 0} +<br /><br /> +<h4>Tags:</h4> +<div class="tags"> +<table border="0" cellspacing="0" cellpadding="0"> +{section name=tag loop=$tags} + <tr> + <td><b>{$tags[tag].keyword}:</b> </td><td>{$tags[tag].data}</td> + </tr> +{/section} +</table> +</div> +{/if}
\ No newline at end of file diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PHP/templates/elementindex.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PHP/templates/elementindex.tpl new file mode 100755 index 00000000..adb7b136 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PHP/templates/elementindex.tpl @@ -0,0 +1,5 @@ +{include file="header.tpl" noleftindex=true} +<a name="top"></a> +<h1>Index of all elements</h1> +{include file="basicindex.tpl" indexname="elementindex"} +{include file="footer.tpl"} diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PHP/templates/errors.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PHP/templates/errors.tpl new file mode 100755 index 00000000..0f526584 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PHP/templates/errors.tpl @@ -0,0 +1,21 @@ +{include file="header.tpl" noleftindex=true} +{section name=files loop=$files} +<a href="#{$files[files].file}">{$files[files].file}</a><br> +{/section} +{foreach key=file item=issues from=$all} +<a name="{$file}"></a> +<h1>{$file}</h1> +{if count($issues.warnings)} +<h2>Warnings:</h2><br> +{section name=warnings loop=$issues.warnings} +<b>{$issues.warnings[warnings].name}</b> - {$issues.warnings[warnings].listing}<br> +{/section} +{/if} +{if count($issues.errors)} +<h2>Errors:</h2><br> +{section name=errors loop=$issues.errors} +<b>{$issues.errors[errors].name}</b> - {$issues.errors[errors].listing}<br> +{/section} +{/if} +{/foreach} +{include file="footer.tpl"} diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PHP/templates/examplesource.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PHP/templates/examplesource.tpl new file mode 100755 index 00000000..c9ed8b86 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PHP/templates/examplesource.tpl @@ -0,0 +1,6 @@ +{include file="header.tpl" title=$title} +<h1 align="center">{$title}</h1> +<div class="php"> +{$source} +</div> +{include file="footer.tpl"}
\ No newline at end of file diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PHP/templates/fileleft.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PHP/templates/fileleft.tpl new file mode 100755 index 00000000..9af5e1cf --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PHP/templates/fileleft.tpl @@ -0,0 +1,10 @@ +{foreach key=subpackage item=files from=$fileleftindex} + {if $subpackage != ""}subpackage <b>{$subpackage}</b><br>{/if} + <div class="package"> + {section name=files loop=$files} + {if $files[files].link != ''}<a href="{$files[files].link}">{/if} + {$files[files].title} + {if $files[files].link != ''}</a>{/if}<br> + {/section} + </div><br /> +{/foreach} diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PHP/templates/filesource.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PHP/templates/filesource.tpl new file mode 100755 index 00000000..3d93199e --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PHP/templates/filesource.tpl @@ -0,0 +1,8 @@ +{capture name="tutle"}File Source for {$name}{/capture} +{include file="header.tpl" title=$smarty.capture.tutle} +<h1 align="center">Source for file {$name}</h1> +<p>Documentation is available at {$docs}</p> +<div class="src-code"> +{$source} +</div> +{include file="footer.tpl"}
\ No newline at end of file diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PHP/templates/footer.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PHP/templates/footer.tpl new file mode 100755 index 00000000..57097ba5 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PHP/templates/footer.tpl @@ -0,0 +1,11 @@ + <div class="credit"> + <hr /> + Documentation generated on {$date} by <a href="{$phpdocwebsite}">phpDocumentor {$phpdocversion}</a> + </div> + </td></tr></table> + </td> + </tr> +</table> + +</body> +</html>
\ No newline at end of file diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PHP/templates/function.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PHP/templates/function.tpl new file mode 100755 index 00000000..204c582f --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PHP/templates/function.tpl @@ -0,0 +1,48 @@ +{section name=func loop=$functions} +{if $show == 'summary'} +function {$functions[func].id}, {$functions[func].sdesc}<br /> +{else} + <hr /> + <a name="{$functions[func].function_dest}"></a> + <h3>{$functions[func].function_name} <span class="smalllinenumber">[line {if $functions[func].slink}{$functions[func].slink}{else}{$functions[func].line_number}{/if}]</span></h3> + <div class="function"> + <table width="90%" border="0" cellspacing="0" cellpadding="1"><tr><td class="code_border"> + <table width="100%" border="0" cellspacing="0" cellpadding="2"><tr><td class="code"> + <code>{$functions[func].function_return} {if $functions[func].ifunction_call.returnsref}&{/if}{$functions[func].function_name}( +{if count($functions[func].ifunction_call.params)} +{section name=params loop=$functions[func].ifunction_call.params} +{if $smarty.section.params.iteration != 1}, {/if}{if $functions[func].ifunction_call.params[params].hasdefault}[{/if}{$functions[func].ifunction_call.params[params].type} {$functions[func].ifunction_call.params[params].name}{if $functions[func].ifunction_call.params[params].hasdefault} = {$functions[func].ifunction_call.params[params].default|escape:"html"}]{/if} +{/section} +{/if})</code> + </td></tr></table> + </td></tr></table><br /> + + {include file="docblock.tpl" sdesc=$functions[func].sdesc desc=$functions[func].desc tags=$functions[func].tags} + <br /><br /> + {if $functions[func].function_conflicts.conflict_type} + <p><b>Conflicts with functions:</b> + {section name=me loop=$functions[func].function_conflicts.conflicts} + {$functions[func].function_conflicts.conflicts[me]}<br /> + {/section} + </p> + {/if} +{* original {if $functions[func].function_conflicts != "" + <b>Conflicts:</b> {$functions[func].function_conflicts<br /><br /> + {/if *} + + {if count($functions[func].params) > 0} + <h4>Parameters</h4> + <table border="0" cellspacing="0" cellpadding="0"> + {section name=params loop=$functions[func].params} + <tr> + <td class="type">{$functions[func].params[params].datatype} </td> + <td><b>{$functions[func].params[params].var}</b> </td> + <td>{$functions[func].params[params].data}</td> + </tr> + {/section} + </table> + {/if} + <div class="top">[ <a href="#top">Top</a> ]</div><br /><br /> + </div> +{/if} +{/section} diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PHP/templates/global.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PHP/templates/global.tpl new file mode 100755 index 00000000..51ba0855 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PHP/templates/global.tpl @@ -0,0 +1,40 @@ +{if count($globals) > 0} +{section name=glob loop=$globals} +{if $show == 'summary'} +global variable <a href="{$globals[glob].id}">{$globals[glob].global_name}</a> = {$globals[glob].global_value}, {$globals[glob].sdesc}<br> +{else} + <hr /> + <a name="{$globals[glob].global_link}"></a> + <h4><i>{$globals[glob].global_type}</i> {$globals[glob].global_name} <span class="smalllinenumber">[line {if $globals[glob].slink}{$globals[glob].slink}{else}{$globals[glob].line_number}{/if}]</span></h4> + <div class="tags"> + {if $globals[glob].sdesc != ""} + {include file="docblock.tpl" sdesc=$globals[glob].sdesc desc=$globals[glob].desc tags=$globals[glob].tags} + {/if} + + <table border="0" cellspacing="0" cellpadding="0"> + <tr> + <td><b>Default value:</b> </td> + <td>{$globals[glob].global_value|replace:" ":" "|replace:"\n":"<br />\n"|replace:"\t":" "}</td> + </tr> + {if $globals[glob].global_conflicts.conflict_type} + <tr> + <td><b>Conflicts with globals:</b> </td> + <td> + {section name=me loop=$globals[glob].global_conflicts.conflicts} + {$globals[glob].global_conflicts.conflicts[me]}<br /> + {/section} + </td> + </tr> + {/if} +{* original {if $globals[glob].global_conflicts != "" + <tr> + <td><b>Conflicts:</b> </td> + <td>{$globals[glob].global_conflicts</td> + </tr> + {/if *} + </table> + </div><br /><br /> + <div class="top">[ <a href="#top">Top</a> ]</div><br /><br /> +{/if} +{/section} +{/if}
\ No newline at end of file diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PHP/templates/header.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PHP/templates/header.tpl new file mode 100755 index 00000000..7d3e8f7d --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PHP/templates/header.tpl @@ -0,0 +1,97 @@ +<html> +<head> +<title>{$title}</title> +<link rel="stylesheet" type="text/css" href="{$subdir}media/style.css"> +</head> +<body> + +<table border="0" cellspacing="0" cellpadding="0" height="48" width="100%"> + <tr> + <td class="header_top">{$package}</td> + </tr> + <tr><td class="header_line"><img src="{$subdir}media/empty.png" width="1" height="1" border="0" alt="" /></td></tr> + <tr> + <td class="header_menu"> + {assign var="packagehaselements" value=false} + {foreach from=$packageindex item=thispackage} + {if in_array($package, $thispackage)} + {assign var="packagehaselements" value=true} + {/if} + {/foreach} + {if $packagehaselements} + [ <a href="{$subdir}classtrees_{$package}.html" class="menu">class tree: {$package}</a> ] + [ <a href="{$subdir}elementindex_{$package}.html" class="menu">index: {$package}</a> ] + {/if} + [ <a href="{$subdir}elementindex.html" class="menu">all elements</a> ] + </td> + </tr> + <tr><td class="header_line"><img src="{$subdir}media/empty.png" width="1" height="1" border="0" alt="" /></td></tr> +</table> + +<table width="100%" border="0" cellpadding="0" cellspacing="0"> + <tr valign="top"> + <td width="200" class="menu"> +{if count($ric) >= 1} + <div id="ric"> + {section name=ric loop=$ric} + <p><a href="{$subdir}{$ric[ric].file}">{$ric[ric].name}</a></p> + {/section} + </div> +{/if} +{if $hastodos} + <div id="todolist"> + <p><a href="{$subdir}{$todolink}">Todo List</a></p> + </div> +{/if} + <b>Packages:</b><br /> + {section name=packagelist loop=$packageindex} + <a href="{$subdir}{$packageindex[packagelist].link}">{$packageindex[packagelist].title}</a><br /> + {/section} + <br /><br /> +{if $tutorials} + <b>Tutorials/Manuals:</b><br /> + {if $tutorials.pkg} + <strong>Package-level:</strong> + {section name=ext loop=$tutorials.pkg} + {$tutorials.pkg[ext]} + {/section} + {/if} + {if $tutorials.cls} + <strong>Class-level:</strong> + {section name=ext loop=$tutorials.cls} + {$tutorials.cls[ext]} + {/section} + {/if} + {if $tutorials.proc} + <strong>Procedural-level:</strong> + {section name=ext loop=$tutorials.proc} + {$tutorials.proc[ext]} + {/section} + {/if} +{/if} + {if !$noleftindex}{assign var="noleftindex" value=false}{/if} + {if !$noleftindex} + {if $compiledfileindex} + <b>Files:</b><br /> + {eval var=$compiledfileindex} + {/if} + + {if $compiledinterfaceindex} + <b>Interfaces:</b><br /> + {eval var=$compiledinterfaceindex} + {/if} + + {if $compiledclassindex} + <b>Classes:</b><br /> + {eval var=$compiledclassindex} + {/if} + {/if} + </td> + <td> + <table cellpadding="10" cellspacing="0" width="100%" border="0"><tr><td valign="top"> + +{if !$hasel}{assign var="hasel" value=false}{/if} +{if $hasel} +<h1>{$eltype|capitalize}: {$class_name}</h1> +Source Location: {$source_location}<br /><br /> +{/if}
\ No newline at end of file diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PHP/templates/include.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PHP/templates/include.tpl new file mode 100755 index 00000000..68b80081 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PHP/templates/include.tpl @@ -0,0 +1,9 @@ +{if count($includes) > 0} +<h4>Includes:</h4> +<div class="tags"> +{section name=includes loop=$includes} +{$includes[includes].include_name}({$includes[includes].include_value}) [line {if $includes[includes].slink}{$includes[includes].slink}{else}{$includes[includes].line_number}{/if}]<br /> +{include file="docblock.tpl" sdesc=$includes[includes].sdesc desc=$includes[includes].desc tags=$includes[includes].tags} +{/section} +</div> +{/if}
\ No newline at end of file diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PHP/templates/index.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PHP/templates/index.tpl new file mode 100755 index 00000000..a493f70e --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PHP/templates/index.tpl @@ -0,0 +1,7 @@ +{include file="header.tpl"} +{if $contents} +{$contents} +{else} +{include file="blank.tpl"} +{/if} +{include file="footer.tpl"} diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PHP/templates/media/background.png b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PHP/templates/media/background.png Binary files differnew file mode 100755 index 00000000..d6f36f60 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PHP/templates/media/background.png diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PHP/templates/media/empty.png b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PHP/templates/media/empty.png Binary files differnew file mode 100755 index 00000000..a9f29bb1 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PHP/templates/media/empty.png diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PHP/templates/media/style.css b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PHP/templates/media/style.css new file mode 100755 index 00000000..bc65d896 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PHP/templates/media/style.css @@ -0,0 +1,195 @@ +.php { + padding: 1em; +} +.php-src { font-family: 'Courier New', Courier, monospace; font-weight: normal; } + +body +{ + color: #000000; + background-color: #ffffff; + background-image: url("background.png"); + background-repeat: repeat-y; + font-family: tahoma, verdana, arial, sans-serif; + font-size: 10pt; + margin: 0; + padding: 0; +} + +a +{ + color: #000099; + background-color: transparent; + text-decoration: none; +} + +a:hover +{ + text-decoration: underline; +} + +a.menu +{ + color: #ffffff; + background-color: transparent; +} + +td +{ + font-size: 10pt; +} + +td.header_top +{ + color: #ffffff; + background-color: #9999cc; + font-size: 16pt; + font-weight: bold; + text-align: right; + padding: 10px; +} + +td.header_line +{ + color: #ffffff; + background-color: #333366; +} + +td.header_menu +{ + color: #ffffff; + background-color: #666699; + font-size: 8pt; + text-align: right; + padding: 2px; + padding-right: 5px; +} + +td.menu +{ + padding: 2px; + padding-left: 5px; +} + +td.code_border +{ + color: #000000; + background-color: #c0c0c0; +} + +td.code +{ + color: #000000; + background-color: #f0f0f0; +} + +td.type +{ + font-style: italic; +} + +div.credit +{ + font-size: 8pt; + text-align: center; +} + +div.package +{ + padding-left: 5px; +} + +div.tags +{ + padding-left: 15px; +} + +div.function +{ + padding-left: 15px; +} + +div.top +{ + font-size: 8pt; +} + +div.warning +{ + color: #ff0000; + background-color: transparent; +} + +div.description +{ + padding-left: 15px; +} + +hr +{ + height: 1px; + border-style: solid; + border-color: #c0c0c0; + margin-top: 10px; + margin-bottom: 10px; +} + +span.smalllinenumber +{ + font-size: 8pt; +} + +ul { + margin-left: 0px; + padding-left: 8px; +} +/* Syntax highlighting */ + +.src-code { background-color: #f5f5f5; border: 1px solid #ccc9a4; padding: 0 0 0 1em; margin : 0px; + font-family: 'Courier New', Courier, monospace; font-weight: normal; } +.src-line { font-family: 'Courier New', Courier, monospace; font-weight: normal; } + +.src-comm { color: green; } +.src-id { } +.src-inc { color: #0000FF; } +.src-key { color: #0000FF; } +.src-num { color: #CC0000; } +.src-str { color: #66cccc; } +.src-sym { font-weight: bold; } +.src-var { } + +.src-php { font-weight: bold; } + +.src-doc { color: #009999 } +.src-doc-close-template { color: #0000FF } +.src-doc-coretag { color: #0099FF; font-weight: bold } +.src-doc-inlinetag { color: #0099FF } +.src-doc-internal { color: #6699cc } +.src-doc-tag { color: #0080CC } +.src-doc-template { color: #0000FF } +.src-doc-type { font-style: italic } +.src-doc-var { font-style: italic } + +.tute-tag { color: #009999 } +.tute-attribute-name { color: #0000FF } +.tute-attribute-value { color: #0099FF } +.tute-entity { font-weight: bold; } +.tute-comment { font-style: italic } +.tute-inline-tag { color: #636311; font-weight: bold } + +/* tutorial */ + +.authors { } +.author { font-style: italic; font-weight: bold } +.author-blurb { margin: .5em 0em .5em 2em; font-size: 85%; font-weight: normal; font-style: normal } +.example { border: 1px dashed #999999; background-color: #EEEEEE; padding: .5em; } +.listing { border: 1px dashed #999999; background-color: #EEEEEE; padding: .5em; white-space: nowrap; } +.release-info { font-size: 85%; font-style: italic; margin: 1em 0em } +.ref-title-box { } +.ref-title { } +.ref-purpose { font-style: italic; color: #666666 } +.ref-synopsis { } +.title { font-weight: bold; margin: 1em 0em 0em 0em; padding: .25em; border: 2px solid #999999; background-color: #9999CC } +.cmd-synopsis { margin: 1em 0em } +.cmd-title { font-weight: bold } +.toc { margin-left: 2em; padding-left: 0em } + diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PHP/templates/method.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PHP/templates/method.tpl new file mode 100755 index 00000000..bcc4dcee --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PHP/templates/method.tpl @@ -0,0 +1,145 @@ +{section name=methods loop=$methods} +{if $methods[methods].static} +{if $show == 'summary'} +static method {$methods[methods].function_call}, {$methods[methods].sdesc}<br /> +{else} + <hr /> + <a name="{$methods[methods].method_dest}"></a> + <h3>static method {$methods[methods].function_name} <span class="smalllinenumber">[line {if $methods[methods].slink}{$methods[methods].slink}{else}{$methods[methods].line_number}{/if}]</span></h3> + <div class="function"> + <table width="90%" border="0" cellspacing="0" cellpadding="1"><tr><td class="code_border"> + <table width="100%" border="0" cellspacing="0" cellpadding="2"><tr><td class="code"> + <code>static {$methods[methods].function_return} {if $methods[methods].ifunction_call.returnsref}&{/if}{$methods[methods].function_name}( +{if count($methods[methods].ifunction_call.params)} +{section name=params loop=$methods[methods].ifunction_call.params} +{if $smarty.section.params.iteration != 1}, {/if} +{if $methods[methods].ifunction_call.params[params].hasdefault}[{/if}{$methods[methods].ifunction_call.params[params].type} +{$methods[methods].ifunction_call.params[params].name}{if $methods[methods].ifunction_call.params[params].hasdefault} = {$methods[methods].ifunction_call.params[params].default}]{/if} +{/section} +{/if})</code> + </td></tr></table> + </td></tr></table><br /> + + {include file="docblock.tpl" sdesc=$methods[methods].sdesc desc=$methods[methods].desc tags=$methods[methods].tags}<br /><br /> + +{if $methods[methods].descmethod} + <p>Overridden in child classes as:<br /> + {section name=dm loop=$methods[methods].descmethod} + <dl> + <dt>{$methods[methods].descmethod[dm].link}</dt> + <dd>{$methods[methods].descmethod[dm].sdesc}</dd> + </dl> + {/section}</p> +{/if} + {if $methods[methods].method_implements} + <hr class="separator" /> + <div class="notes">Implementation of:</div> + {section name=imp loop=$methods[methods].method_implements} + <dl> + <dt>{$methods[methods].method_implements[imp].link}</dt> + {if $methods[methods].method_implements[imp].sdesc} + <dd>{$methods[methods].method_implements[imp].sdesc}</dd> + {/if} + </dl> + {/section} + {/if} +{* original {if $methods[methods].descmethod != "" + {$methods[methods].descmethod<br /><br /> + {/if *} +{if $methods[methods].method_overrides}Overrides {$methods[methods].method_overrides.link} ({$methods[methods].method_overrides.sdesc|default:"parent method not documented"})<br /><br />{/if} +{* original {if $methods[methods].method_overrides != "" + {$methods[methods].method_overrides<br /><br /> + {/if *} + + {if count($methods[methods].params) > 0} + <h4>Parameters:</h4> + <div class="tags"> + <table border="0" cellspacing="0" cellpadding="0"> + {section name=params loop=$methods[methods].params} + <tr> + <td class="type">{$methods[methods].params[params].datatype} </td> + <td><b>{$methods[methods].params[params].var}</b> </td> + <td>{$methods[methods].params[params].data}</td> + </tr> + {/section} + </table> + </div><br /> + {/if} + <div class="top">[ <a href="#top">Top</a> ]</div> + </div> +{/if} +{/if} +{/section} + +{section name=methods loop=$methods} +{if !$methods[methods].static} +{if $show == 'summary'} +method {$methods[methods].function_call}, {$methods[methods].sdesc}<br /> +{else} + <hr /> + <a name="{$methods[methods].method_dest}"></a> + <h3>{if $methods[methods].ifunction_call.constructor}constructor {elseif $methods[methods].ifunction_call.destructor}destructor {else}method {/if}{$methods[methods].function_name} <span class="smalllinenumber">[line {if $methods[methods].slink}{$methods[methods].slink}{else}{$methods[methods].line_number}{/if}]</span></h3> + <div class="function"> + <table width="90%" border="0" cellspacing="0" cellpadding="1"><tr><td class="code_border"> + <table width="100%" border="0" cellspacing="0" cellpadding="2"><tr><td class="code"> + <code>{$methods[methods].function_return} {if $methods[methods].ifunction_call.returnsref}&{/if}{$methods[methods].function_name}( +{if count($methods[methods].ifunction_call.params)} +{section name=params loop=$methods[methods].ifunction_call.params} +{if $smarty.section.params.iteration != 1}, {/if} +{if $methods[methods].ifunction_call.params[params].hasdefault}[{/if}{$methods[methods].ifunction_call.params[params].type} +{$methods[methods].ifunction_call.params[params].name}{if $methods[methods].ifunction_call.params[params].hasdefault} = {$methods[methods].ifunction_call.params[params].default}]{/if} +{/section} +{/if})</code> + </td></tr></table> + </td></tr></table><br /> + + {include file="docblock.tpl" sdesc=$methods[methods].sdesc desc=$methods[methods].desc tags=$methods[methods].tags}<br /><br /> + +{if $methods[methods].descmethod} + <p>Overridden in child classes as:<br /> + {section name=dm loop=$methods[methods].descmethod} + <dl> + <dt>{$methods[methods].descmethod[dm].link}</dt> + <dd>{$methods[methods].descmethod[dm].sdesc}</dd> + </dl> + {/section}</p> +{/if} + {if $methods[methods].method_implements} + <hr class="separator" /> + <div class="notes">Implementation of:</div> + {section name=imp loop=$methods[methods].method_implements} + <dl> + <dt>{$methods[methods].method_implements[imp].link}</dt> + {if $methods[methods].method_implements[imp].sdesc} + <dd>{$methods[methods].method_implements[imp].sdesc}</dd> + {/if} + </dl> + {/section} + {/if} +{* original {if $methods[methods].descmethod != "" + {$methods[methods].descmethod<br /><br /> + {/if *} +{if $methods[methods].method_overrides}Overrides {$methods[methods].method_overrides.link} ({$methods[methods].method_overrides.sdesc|default:"parent method not documented"})<br /><br />{/if} +{* original {if $methods[methods].method_overrides != "" + {$methods[methods].method_overrides<br /><br /> + {/if *} + + {if count($methods[methods].params) > 0} + <h4>Parameters:</h4> + <div class="tags"> + <table border="0" cellspacing="0" cellpadding="0"> + {section name=params loop=$methods[methods].params} + <tr> + <td class="type">{$methods[methods].params[params].datatype} </td> + <td><b>{$methods[methods].params[params].var}</b> </td> + <td>{$methods[methods].params[params].data}</td> + </tr> + {/section} + </table> + </div><br /> + {/if} + <div class="top">[ <a href="#top">Top</a> ]</div> + </div> +{/if} +{/if} +{/section} diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PHP/templates/packages.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PHP/templates/packages.tpl new file mode 100755 index 00000000..0967e6e7 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PHP/templates/packages.tpl @@ -0,0 +1,3 @@ +{section name=packages loop=$packages} +<a href="{$packages[packages].link}">{$packages[packages].title}</a> +{/section}
\ No newline at end of file diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PHP/templates/page.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PHP/templates/page.tpl new file mode 100755 index 00000000..db2cd607 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PHP/templates/page.tpl @@ -0,0 +1,31 @@ +{include file="header.tpl" eltype="Procedural file" class_name=$name hasel=true contents=$pagecontents} + +<br> +<br> + +{if $classes} +<div class="contents"> +{if $tutorial} +<span class="maintutorial">Main Tutorial: {$tutorial}</span> +{/if} +<h2>Classes:</h2> +{section name=classes loop=$classes} +<dt>{$classes[classes].link}</dt> + <dd>{$classes[classes].sdesc}</dd> +{/section} +</div><br /><br /> +{/if} + +<h2>Page Details:</h2> +{include file="docblock.tpl" type="page"} +<br /><br /> +{include file="include.tpl"} +<br /><br /> +{include file="global.tpl"} +<br /><br /> +{include file="define.tpl"} +<br /> +{include file="function.tpl"} + +{include file="footer.tpl"} + diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PHP/templates/pkgelementindex.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PHP/templates/pkgelementindex.tpl new file mode 100755 index 00000000..0dabfdb7 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PHP/templates/pkgelementindex.tpl @@ -0,0 +1,5 @@ +{include file="header.tpl"} +<a name="top"></a> +<h1>Element index for package {$package}</h1> +{include file="basicindex.tpl" indexname=elementindex_$package} +{include file="footer.tpl"} diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PHP/templates/ric.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PHP/templates/ric.tpl new file mode 100755 index 00000000..eff734c1 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PHP/templates/ric.tpl @@ -0,0 +1,6 @@ +{include file="header.tpl"} +<h1 align="center">{$name}</h1> +<pre> +{$contents|htmlentities} +</pre> +{include file="footer.tpl"}
\ No newline at end of file diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PHP/templates/todolist.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PHP/templates/todolist.tpl new file mode 100755 index 00000000..f929ccdb --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PHP/templates/todolist.tpl @@ -0,0 +1,14 @@ +{include file="header.tpl" title="Todo List"} +<div align="center"><h1>Todo List</h1></div> +{foreach from=$todos key=todopackage item=todo} +<h2>{$todopackage}</h2> +{section name=todo loop=$todo} +<h3>{$todo[todo].link}</h3> +<ul> +{section name=t loop=$todo[todo].todos} + <li>{$todo[todo].todos[t]}</li> +{/section} +</ul> +{/section} +{/foreach} +{include file="footer.tpl"}
\ No newline at end of file diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PHP/templates/tutorial.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PHP/templates/tutorial.tpl new file mode 100755 index 00000000..a943522c --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PHP/templates/tutorial.tpl @@ -0,0 +1,32 @@ +{include file="header.tpl" title=$title} +{if $nav} +<table width="100%" border="0" cellpadding="0" cellspacing="0"> +<tr> +<td width="10%" align="left" valign="bottom">{if $prev}<a href= +"{$prev}">{/if}Prev{if $prev}</a>{/if}</td> +<td width="80%" align="center" valign="bottom"></td> +<td width="10%" align="right" valign="bottom">{if $next}<a href= +"{$next}">{/if}Next{if $next}</a>{/if}</td> +</tr> +</table> +{/if} +{$contents} +{if $nav} +<table width="100%" border="0" cellpadding="0" cellspacing="0"> +<tr> +<td width="33%" align="left" valign="top">{if $prev}<a href="{$prev}">{/if} +Prev{if $prev}</a>{/if}</td> +<td width="34%" align="center" valign="top">{if $up}<a href= +"{$up}">Up</a>{else} {/if}</td> +<td width="33%" align="right" valign="top">{if $next}<a href= +"{$next}">{/if}Next{if $next}</a>{/if}</td> +</tr> + +<tr> +<td width="33%" align="left" valign="top">{if $prevtitle}{$prevtitle}{/if}</td> +<td width="34%" align="center" valign="top">{if $uptitle}{$uptitle}{/if}</td> +<td width="33%" align="right" valign="top">{if $nexttitle}{$nexttitle}{/if}</td> +</tr> +</table> +{/if} +{include file="footer.tpl"}
\ No newline at end of file diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PHP/templates/tutorial_toc.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PHP/templates/tutorial_toc.tpl new file mode 100755 index 00000000..3d22d403 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PHP/templates/tutorial_toc.tpl @@ -0,0 +1,29 @@ +{if count($toc)} +<h1 align="center">Table of Contents</h1> +<ul> +{section name=toc loop=$toc} +{if $toc[toc].tagname == 'refsect1'} +{assign var="context" value="refsect1"} +{$toc[toc].link}<br /> +{/if} +{if $toc[toc].tagname == 'refsect2'} +{assign var="context" value="refsect2"} + {$toc[toc].link}<br /> +{/if} +{if $toc[toc].tagname == 'refsect3'} +{assign var="context" value="refsect3"} + {$toc[toc].link}<br /> +{/if} +{if $toc[toc].tagname == 'table'} +{if $context == 'refsect2'} {/if} +{if $context == 'refsect3'} {/if} +Table: {$toc[toc].link} +{/if} +{if $toc[toc].tagname == 'example'} +{if $context == 'refsect2'} {/if} +{if $context == 'refsect3'} {/if} +Table: {$toc[toc].link} +{/if} +{/section} +</ul> +{/if}
\ No newline at end of file diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PHP/templates/tutorial_tree.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PHP/templates/tutorial_tree.tpl new file mode 100755 index 00000000..dd2e5811 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PHP/templates/tutorial_tree.tpl @@ -0,0 +1,5 @@ +<ul> + <li type="square"><a href="{$main.link}">{$main.title|strip_tags}</a> +{if $kids}{$kids}</li>{/if} +</ul> + diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PHP/templates/var.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PHP/templates/var.tpl new file mode 100755 index 00000000..e36c61fd --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PHP/templates/var.tpl @@ -0,0 +1,60 @@ +{section name=vars loop=$vars} +{if $vars[vars].static} +{if $show == 'summary'} + static var {$vars[vars].var_name}, {$vars[vars].sdesc}<br> +{else} + <a name="{$vars[vars].var_dest}"></a> + <p></p> + <h4>static {$vars[vars].var_name} = <span class="value">{$vars[vars].var_default|replace:"\n":"<br>\n"|replace:" ":" "|replace:"\t":" "}</span></h4> + <p>[line {if $vars[vars].slink}{$vars[vars].slink}{else}{$vars[vars].line_number}{/if}]</p> + {include file="docblock.tpl" sdesc=$vars[vars].sdesc desc=$vars[vars].desc tags=$vars[vars].tags} + + <br /> + <div class="tags"> + <table border="0" cellspacing="0" cellpadding="0"> + <tr> + <td><b>Type:</b> </td> + <td>{$vars[vars].var_type}</td> + </tr> + {if $vars[vars].var_overrides != ""} + <tr> + <td><b>Overrides:</b> </td> + <td>{$vars[vars].var_overrides}</td> + </tr> + {/if} + </table> + </div><br /><br /> + <div class="top">[ <a href="#top">Top</a> ]</div><br /> +{/if} +{/if} +{/section} +{section name=vars loop=$vars} +{if !$vars[vars].static} +{if $show == 'summary'} + var {$vars[vars].var_name}, {$vars[vars].sdesc}<br> +{else} + <a name="{$vars[vars].var_dest}"></a> + <p></p> + <h4>{$vars[vars].var_name} = <span class="value">{$vars[vars].var_default|replace:"\n":"<br>\n"|replace:" ":" "|replace:"\t":" "}</span></h4> + <p>[line {if $vars[vars].slink}{$vars[vars].slink}{else}{$vars[vars].line_number}{/if}]</p> + {include file="docblock.tpl" sdesc=$vars[vars].sdesc desc=$vars[vars].desc tags=$vars[vars].tags} + + <br /> + <div class="tags"> + <table border="0" cellspacing="0" cellpadding="0"> + <tr> + <td><b>Type:</b> </td> + <td>{$vars[vars].var_type}</td> + </tr> + {if $vars[vars].var_overrides != ""} + <tr> + <td><b>Overrides:</b> </td> + <td>{$vars[vars].var_overrides}</td> + </tr> + {/if} + </table> + </div><br /><br /> + <div class="top">[ <a href="#top">Top</a> ]</div><br /> +{/if} +{/if} +{/section} diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/options.ini b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/options.ini new file mode 100644 index 00000000..4566db60 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/options.ini @@ -0,0 +1,577 @@ +preservedocbooktags = false
+
+;; used to highlight the {@source} inline tag, @filesource tag, and @example tag
+[highlightSourceTokens]
+;; format:
+;; T_CONSTANTNAME = open
+;; /T_CONSTANTNAME = close
+
+T_INCLUDE = <span class="src-inc">
+/T_INCLUDE = </span>
+T_INCLUDE_ONCE = <span class="src-inc">
+/T_INCLUDE_ONCE = </span>
+T_REQUIRE_ONCE = <span class="src-inc">
+/T_REQUIRE_ONCE = </span>
+T_REQUIRE_ONCE = <span class="src-inc">
+/T_REQUIRE_ONCE = </span>
+
+T_CONSTANT_ENCAPSED_STRING = <span class="src-str">
+/T_CONSTANT_ENCAPSED_STRING = </span>
+T_STRING_VARNAME = <span class="src-str">
+/T_STRING_VARNAME = </span>
+
+T_STRING = <span class="src-id">
+/T_STRING = </span>
+
+T_DNUMBER = <span class="src-num">
+/T_DNUMBER = </span>
+T_LNUMBER = <span class="src-num">
+/T_LNUMBER = </span>
+
+T_VARIABLE = <span class="src-var">
+/T_VARIABLE = </span>
+
+T_COMMENT = <span class="src-comm">
+/T_COMMENT = </span>
+T_ML_COMMENT = <span class="src-comm">
+/T_ML_COMMENT = </span>
+
+T_OBJECT_OPERATOR = <span class="src-sym">
+/T_OBJECT_OPERATOR = </span>
+
+T_ABSTRACT = <span class="src-key">
+/T_ABSTRACT = </span>
+T_CLONE = <span class="src-key">
+/T_CLONE = </span>
+T_HALT_COMPILER = <span class="src-key">
+/T_HALT_COMPILER = </span>
+T_ARRAY = <span class="src-key">
+/T_ARRAY = </span>
+T_AS = <span class="src-key">
+/T_AS = </span>
+T_BREAK = <span class="src-key">
+/T_BREAK = </span>
+T_CLASS = <span class="src-key">
+/T_CLASS = </span>
+T_CASE = <span class="src-key">
+/T_CASE = </span>
+T_CONST = <span class="src-key">
+/T_CONST = </span>
+T_CONTINUE = <span class="src-key">
+/T_CONTINUE = </span>
+T_DECLARE = <span class="src-key">
+/T_DECLARE = </span>
+T_DEFAULT = <span class="src-key">
+/T_DEFAULT = </span>
+T_ELSE = <span class="src-key">
+/T_ELSE = </span>
+T_ELSEIF = <span class="src-key">
+/T_ELSEIF = </span>
+T_EMPTY = <span class="src-key">
+/T_EMPTY = </span>
+T_ENDDECLARE = <span class="src-key">
+/T_ENDDECLARE = </span>
+T_ENDFOR = <span class="src-key">
+/T_ENDFOR = </span>
+T_ENDSWITCH = <span class="src-key">
+/T_ENDSWITCH = </span>
+T_ENDFOREACH = <span class="src-key">
+/T_ENDFOREACH = </span>
+T_ENDIF = <span class="src-key">
+/T_ENDIF = </span>
+T_ENDWHILE = <span class="src-key">
+/T_ENDWHILE = </span>
+T_EXIT = <span class="src-key">
+/T_EXIT = </span>
+T_EXTENDS = <span class="src-key">
+/T_EXTENDS = </span>
+T_FINAL = <span class="src-key">
+/T_FINAL = </span>
+T_FOR = <span class="src-key">
+/T_FOR = </span>
+T_FOREACH = <span class="src-key">
+/T_FOREACH = </span>
+T_FUNCTION = <span class="src-key">
+/T_FUNCTION = </span>
+T_GLOBAL = <span class="src-key">
+/T_GLOBAL = </span>
+T_IF = <span class="src-key">
+/T_IF = </span>
+T_IMPLEMENTS = <span class="src-key">
+/T_IMPLEMENTS = </span>
+T_INTERFACE = <span class="src-key">
+/T_INTERFACE = </span>
+T_LOGICAL_AND = <span class="src-key">
+/T_LOGICAL_AND = </span>
+T_LOGICAL_OR = <span class="src-key">
+/T_LOGICAL_OR = </span>
+T_LOGICAL_XOR = <span class="src-key">
+/T_LOGICAL_XOR = </span>
+T_NEW = <span class="src-key">
+/T_NEW = </span>
+T_PRIVATE = <span class="src-key">
+/T_PRIVATE = </span>
+T_PROTECTED = <span class="src-key">
+/T_PROTECTED = </span>
+T_PUBLIC = <span class="src-key">
+/T_PUBLIC = </span>
+T_RETURN = <span class="src-key">
+/T_RETURN = </span>
+T_STATIC = <span class="src-key">
+/T_STATIC = </span>
+T_SWITCH = <span class="src-key">
+/T_SWITCH = </span>
+T_VAR = <span class="src-key">
+/T_VAR = </span>
+T_WHILE = <span class="src-key">
+/T_WHILE = </span>
+
+T_DOUBLE_COLON = <span class="src-sym">
+/T_DOUBLE_COLON = </span>
+
+T_OPEN_TAG = <span class="src-php">
+/T_OPEN_TAG = </span>
+T_OPEN_TAG_WITH_ECHO = <span class="src-php">
+/T_OPEN_TAG_WITH_ECHO = </span>
+T_CLOSE_TAG = <span class="src-php">
+/T_CLOSE_TAG = </span>
+
+
+[highlightSource]
+;; this is for highlighting things that aren't tokens like "&"
+;; format:
+;; word = open
+;; /word = close
+@ = <span class="src-sym">
+/@ = </span>
+& = <span class="src-sym">
+/& = </span>
+[ = <span class="src-sym">
+/[ = </span>
+] = <span class="src-sym">
+/] = </span>
+! = <span class="src-sym">
+/! = </span>
+";" = <span class="src-sym">
+/; = </span>
+( = <span class="src-sym">
+/( = </span>
+) = <span class="src-sym">
+/) = </span>
+, = <span class="src-sym">
+/, = </span>
+{ = <span class="src-sym">
+/{ = </span>
+} = <span class="src-sym">
+/} = </span>
+""" = <span class="src-str">
+/" = </span>
+
+[highlightDocBlockSourceTokens]
+;; this is for docblock tokens, using by phpDocumentor_HighlightParser
+;; tagphptype is for "string" in @param string description, for example
+docblock = <span class="src-doc">
+/docblock = </span>
+tagphptype = <span class="src-doc-type">
+/tagphptype = </span>
+tagvarname = <span class="src-doc-var">
+/tagvarname = </span>
+coretag = <span class="src-doc-coretag">
+/coretag = </span>
+tag = <span class="src-doc-tag">
+/tag = </span>
+inlinetag = <span class="src-doc-inlinetag">
+/inlinetag = </span>
+internal = <span class="src-doc-internal">
+/internal = </span>
+closetemplate = <span class="src-doc-close-template">
+/closetemplate = </span>
+docblocktemplate = <span class="src-doc-template">
+/docblocktemplate = </span>
+
+[highlightTutorialSourceTokens]
+;; this is for XML DocBook-based tutorials, highlighted by phpDocumentor_TutorialHighlightParser
+;; <tag>
+opentag = <span class="tute-tag">
+/opentag = </span>
+;; </tag>
+closetag = <span class="tute-tag">
+/closetag = </span>
+;; <tag attribute="value">
+attribute = <span class="tute-attribute-name">
+/attribute = </span>
+;; <tag attribute="value">
+attributevalue = <span class="tute-attribute-value">
+/attributevalue = </span>
+;; &entity;
+entity = <span class="tute-entity">
+/entity = </span>
+;; <!-- comment -->
+comment = <span class="tute-comment">
+/comment = </span>
+;; {@inline tag}
+itag = <span class="tute-inline-tag">
+/itag = </span>
+
+;; used for translation of html in DocBlocks
+[desctranslate]
+ul = <ul>
+/ul = </ul>
+ol = <ol>
+/ol = </ol>
+li = <li>
+/li = </li>
+code = <div class="listing"><pre>
+/code = </pre></div>
+var = <var>
+/var = </var>
+samp = <samp>
+/samp = </samp>
+kbd = <kbd>
+/kbd = </kbd>
+pre = <pre>
+/pre = </pre>
+p = <p>
+/p = </p>
+b = <strong>
+/b = </strong>
+i = <em>
+/i = </em>
+br = <br />
+
+[ppage]
+;; this is the DocBook package page translation section. All DocBook tags
+;; that have a corresponding html tag must be listed here. Entities should
+;; also be listed here
+;;
+;; examples:
+;; 1)
+;; tagname = newtagname
+;;
+;; This is the simplest case, where all attributes will be added into the
+;; starting tag and the ending tag will be html/xml style </tranlatedtagname>
+;; <tagname></tagname> becomes <newtagname></newtagname> and
+;; <tagname attr="value"></tagname> becomes
+;; <newtagname attr="value"></newtagname>
+;;
+;; 2)
+;; tagname = newtagname
+;; tagname->attr = newattrname
+;;
+;; in this case, everything will be like the first case, except tags like:
+;; <tagname attr="value"></tagname> will become
+;; <newtagname newattrname="value"></newtagname>
+;;
+;; 3)
+;; tagname = newtagname
+;; tagname->attr = newattrname
+;; tagname->attr+value = newvalue
+;;
+;; in this case, the value is also translated to another. This can be useful
+;; for instances such as focus="middle" changing to align="center" or something
+;; of that nature.
+;; <tagname attr="value"></tagname> will become
+;; <newtagname newattrname="newvalue"></newtagname>
+;;
+;; 4)
+;; tagname = newtagname
+;; tagname->attr1 = newattrname
+;; tagname->attr2 = newattrname
+;; tagname->attr1+value|attr2+value = newvalue
+;;
+;; in this case, two attributes combine to make one new attribute, and the combined
+;; value is translated into a new value
+;; <tagname attr1="value1" attr2="value2"></tagname> will become
+;; <newtagname newattrname="newvalue"></newtagname>
+;;
+;; 5)
+;; tagname = newtagname
+;; tagname!attr = dummy
+;;
+;; here, the attribute will be ignored. dummy is not used and may be any value
+;; <tagname attr="value"></tagname> will become
+;; <newtagname></newtagname>
+;;
+;; 6)
+;; tagname = newtagname
+;; tagname! = dummy
+;;
+;; here, all attributes will be ignored. dummy is not used and may be any value
+;; <tagname attr1="value" attr2="foo"></tagname> will become
+;; <newtagname></newtagname>
+;;
+;; 7)
+;; tagname = newtagname
+;; tagname/ = 1
+;;
+;; here, the tag will be translated as a single tag with no closing tag, and all
+;; attributes
+;; <tagname attr="val">{text text}</tagname> will become
+;; <newtagname attr="val" />
+;;
+;; 8)
+;; tagname = <starttaginfo />
+;; /tagname = closetagtext
+;;
+;; in this case, the text <starttaginfo> will be inserted exactly as entered for
+;; <tagname> and closetagtext for </tagname>
+;; <tagname attr="val"></tagname> will become
+;; <starttaginfo />closetagtext
+;;
+;; 9)
+;; $attr$my_attribute = newattrname
+;;
+;; tagname = newtagname
+;;
+;; in this case, all occurences of my_attribute in any tag will be changed to
+;; newattrname. This is useful for changing things like role="php" to
+;; class="php," for example. Note that the text "$attr$" MUST be on the line
+;; start for phpDocumentor to recognize it.
+;;
+;; 10)
+;; &entity; = translation text
+;; " = "
+;; " = """
+;; < = <
+;;
+;; Use this to control translation of entities to their appropriate values
+
+ =
+" = "
+” = ”
+“ = “
+& = &
+< = <
+> = >
+© = ©
+
+$attr$role = class
+
+abbrev = abbr
+
+blockquote = blockquote
+
+arg = span
+arg->choice = class
+
+author = <span class="author">
+/author = </span>
+author! = 0
+
+authorblurb = <div class="author-blurb">
+/authorblurb = </div>
+
+authorgroup = <div class="authors"><h2 class="title">Authors</h2>
+/authorgroup = </div>
+authorgroup! = 0
+
+caution = <span class="warning">
+/caution = </span>
+caution! = 0
+
+cmdsynopsis = <div class="cmd-synopsis">
+/cmdsynopsis = </div>
+
+command = <span class="cmd-title">
+/command = </span>
+
+copyright = <div class="notes">
+/copyright = </div>
+
+emphasis = strong
+
+example = <pre class="example">
+/example = </pre>
+example! = 0
+
+function =
+/function = ()
+
+formalpara = p
+
+graphic = img
+graphic->fileref = src
+graphic/ =
+
+important = strong
+
+informalequation = blockquote
+
+informalexample = div
+
+inlineequation = em
+
+itemizedlist = ul
+
+listitem = li
+
+literal = code
+
+literallayout = span
+
+option = " "
+/option =
+
+orderedlist = ol
+
+para = p
+
+programlisting = <pre class="listing">
+/programlisting = </pre>
+programlisting! = 0
+
+refentry = div
+
+refnamediv = <div class="ref-title-box">
+/refnamediv = </div>
+refnamediv! = 0
+
+refname = <h1 class="ref-title">
+/refname = </h1>
+
+refpurpose = <h2 class="ref-purpose">
+/refpurpose = </h2>
+
+refsynopsisdiv = <div class="ref-synopsis">
+/refsynopsisdiv = </div>
+refsynopsisdiv! = 0
+
+refsect1 = span
+
+refsect2 =
+/refsect2 = <hr />
+
+refsect3 =
+/refsect3 = <br />
+
+releaseinfo = <div class="release-info">(
+/releaseinfo = )</div>
+
+simpara =
+/simpara = <br />
+simpara! = 0
+
+subscript = sub
+
+superscript = super
+
+table = table
+
+table->colsep = rules
+table->rowsep = rules
+table->colsep+1|rowsep+1 = all
+table->colsep+1|rowsep+0 = cols
+table->colsep+0|rowsep+1 = rows
+
+table->frame = frame
+table->frame+all = border
+table->frame+none = void
+table->frame+sides = vsides
+table->frame+top = above
+table->frame+topbot = hsides
+
+thead = thead
+
+tfoot = tfoot
+
+tbody = tbody
+
+colspec = col
+
+tgroup = colgroup
+tgroup/ = 1
+tgroup->cols = span
+
+row = tr
+
+entry = td
+entry->morerows = colspan
+entry->morerows+1 = 2
+entry->morerows+2 = 3
+entry->morerows+3 = 4
+entry->morerows+4 = 5
+entry->morerows+5 = 6
+entry->morerows+6 = 7
+entry->morerows+7 = 8
+entry->morerows+8 = 9
+entry->morerows+9 = 10
+entry->morerows+10 = 11
+;; add more if you need more colspans
+
+warning = <span class="warning">
+/warning = </span>
+warning! = 0
+
+;; now begins the attributes that should be tags in cdata
+[$attr$id]
+open = a
+;close = /a
+cdata! = true
+quotevalues = true
+separator = "="
+;separateall = true
+$id = name
+
+;; now begins the sections that deal with <title>
+[refsynopsisdiv_title]
+;tag_attr = true
+;attr_name = title
+cdata_start = true
+;cdata_end = true
+open = <h1 class="title">
+close = </h1>
+
+[refsect1_title]
+;tag_attr = true
+;attr_name = title
+cdata_start = true
+;cdata_end = true
+open = <h2 class="title">
+close = </h2>
+
+[refsect2_title]
+;tag_attr = true
+;attr_name = title
+cdata_start = true
+;cdata_end = true
+open = <h3 class="title">
+close = </h3>
+
+[refsect3_title]
+;tag_attr = true
+;attr_name = title
+cdata_start = true
+;cdata_end = true
+open = <h4 class="title">
+close = </h4>
+
+[para_title]
+;tag_attr = true
+;attr_name = title
+cdata_start = true
+;cdata_end = true
+open = <div class="title">
+close = </div>
+
+[formalpara_title]
+;tag_attr = true
+;attr_name = title
+cdata_start = true
+;cdata_end = true
+open = <div class="title">
+close = </div>
+
+[example_title]
+;tag_attr = true
+;attr_name = title
+;cdata_start = true
+cdata_end = true
+open = </td></tr><tr><td><strong>
+close = </strong>
+
+[table_title]
+;tag_attr = true
+;attr_name = true
+cdata_start = true
+open = <caption>
+close = </caption>
diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/__tags.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/__tags.tpl new file mode 100644 index 00000000..221830c4 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/__tags.tpl @@ -0,0 +1,13 @@ +<div class="tag-list">
+ {section name=tag loop=$tags}
+ {if $tags[tag].keyword != "abstract" &&
+ $tags[tag].keyword != "access" &&
+ $tags[tag].keyword != "static" &&
+ $tags[tag].keyword != "version"
+ }
+
+ <strong>{$tags[tag].keyword|capitalize}:</strong>
+ {$tags[tag].data}<br />
+ {/if}
+ {/section}
+</div>
diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/_class_declaration.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/_class_declaration.tpl new file mode 100644 index 00000000..d7fe2f82 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/_class_declaration.tpl @@ -0,0 +1,38 @@ +<hr size="1" noshade="noshade"/>
+<div class="class-declaration">
+ {if count($tags) > 0}
+ {section name=tag loop=$tags}
+ {if $tags[tag].keyword == "abstract"}
+ abstract
+ {/if}
+ {/section}
+ {/if}
+
+ {if $is_interface}
+ interface
+ {else}
+ class
+ {/if}
+
+ <strong>{$class_name}</strong>
+
+ {if count($class_tree) > 1}
+ {section name=tree loop=$class_tree.classes}
+ {if $smarty.section.tree.last}
+ extends {$class_tree.classes[$smarty.section.tree.index_prev]}
+ {/if}
+ {/section}
+ {/if}
+
+ {if $implements}
+ <br/>
+ implements
+ {foreach item="interface" from=$implements}
+ {if !$smarty.foreach.interface.first}
+ , {$interface}
+ {else}
+ {$interface}
+ {/if}
+ {/foreach}
+ {/if}
+</div>
\ No newline at end of file diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/_class_description.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/_class_description.tpl new file mode 100644 index 00000000..12025c1c --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/_class_description.tpl @@ -0,0 +1,7 @@ +<div class="class-description">
+ <p>{$sdesc}</p>
+
+ {if $desc != ""}{$desc}{/if}
+</div>
+
+{include file="_tags.tpl" tags=$tags}
diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/_class_list.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/_class_list.tpl new file mode 100644 index 00000000..d6a1d398 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/_class_list.tpl @@ -0,0 +1 @@ +{eval var=$compiledclassindex}
\ No newline at end of file diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/_constant_details.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/_constant_details.tpl new file mode 100644 index 00000000..bca71e17 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/_constant_details.tpl @@ -0,0 +1,33 @@ +{if $consts}
+ <hr size="1" noshade="noshade"/>
+ <a name="constant-details"></a>
+ <table class="constant-details" cellspacing="1">
+ <tr>
+ <th>Constant Details</th>
+ </tr>
+ {section name=const loop=$consts}
+ <tr>
+ <td>
+ <a name="{$consts[const].const_dest}"></a>
+
+ <h3>{$consts[const].const_name}</h3>
+
+ <p>{$consts[const].sdesc}</p>
+
+ {if $consts[const].desc}
+ {$consts[const].desc}
+ {/if}
+
+ <div class="tag-list">
+ <h4 class="tag">Type:</h4>
+ <div class="tag-data">{include file="_get_constant_type.tpl" const=$consts[const].const_value}</div>
+ <h4 class="tag">Value:</h4>
+ <div class="tag-data">{$consts[const].const_value}</div>
+ </div>
+ {include file="_tags.tpl" tags=$consts[const].tags}
+ <p/>
+ </td>
+ </tr>
+ {/section}
+ </table>
+{/if}
\ No newline at end of file diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/_constant_summary.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/_constant_summary.tpl new file mode 100644 index 00000000..8049c4b0 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/_constant_summary.tpl @@ -0,0 +1,22 @@ +{if $consts || $iconsts}
+ <hr size="1" noshade="noshade"/>
+ <a name="constant-summary"></a>
+ <table class="constant-summary" cellspacing="1">
+ <tr>
+ <th colspan="3">Constant Summary</th>
+ </tr>
+ {section name=const loop=$consts}
+ <tr>
+ <td class="type" nowrap="nowrap">{strip}{include file="_get_constant_type.tpl" const=$consts[const].const_value}{/strip}</td>
+ <td class="name"><a href="{$consts[const].id}">{$consts[const].const_name}</a></td>
+ <td class="description" width="100%">
+ {$consts[const].sdesc}
+
+ {if $consts[const].desc}
+ {$consts[const].desc}
+ {/if}
+ </td>
+ </tr>
+ {/section}
+ </table>
+{/if}
\ No newline at end of file diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/_constructor_details.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/_constructor_details.tpl new file mode 100644 index 00000000..ec4fd0a2 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/_constructor_details.tpl @@ -0,0 +1,55 @@ +{if $methods}
+ {section name=method loop=$methods}
+ {if $methods[method].function_name == "__construct"}
+ <hr size="1" noshade="noshade"/>
+ <a name="sec-method"></a>
+ <table class="method-details" cellspacing="1">
+ <tr>
+ <th colspan="3">Constructor Details</th>
+ </tr>
+ <tr>
+ <td class="method-data">
+ <a name="{$methods[method].method_dest}"></a>
+
+ <h2>{$methods[method].function_name}</h2>
+
+ <table class="method-detail" cellspacing="0">
+ <tr>
+ <td nowrap="nowrap">{strip}
+ {if $methods[method].access == "protected"}
+ protected
+ {/if}
+
+ {if $methods[method].access == "public"}
+ public
+ {/if}
+
+ {if $methods[method].abstract == "1"}
+ abstract
+ {/if}
+
+ {if $methods[method].static == "1"}
+ static
+ {/if}
+
+ <strong>{$methods[method].function_name}</strong>
+ {/strip}</td>
+ <td nowrap="nowrap">{strip}
+ {$methods[method].ifunction_call.params}
+ {/strip}</td>
+ </tr>
+ </table>
+
+ <p>{$methods[method].sdesc}</p>
+
+ {if $methods[method].desc}
+ {$methods[method].desc}
+ {/if}
+
+ {include file="_tags.tpl" tags=$methods[method].tags}
+ </td>
+ </tr>
+ </table>
+ {/if}
+ {/section}
+{/if}
diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/_constructor_summary.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/_constructor_summary.tpl new file mode 100644 index 00000000..8819f63e --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/_constructor_summary.tpl @@ -0,0 +1,25 @@ +{if $methods}
+ {section name=method loop=$methods}
+ {if $methods[method].function_name == "__construct"}
+ <hr size="1" noshade="noshade"/>
+ <a name="constructor-summary"></a>
+ <table class="method-summary" cellspacing="1">
+ <tr>
+ <th colspan="2">Constructor Summary</th>
+ </tr>
+ <tr>
+ <td class="type" nowrap="nowrap" width="1%">{$methods[method].access}</td>
+ <td>
+ <div class="declaration">
+ <a href="{$methods[method].id}">{$methods[method].function_name}</a>
+ {$methods[method].ifunction_call.params}
+ </div>
+ <div class="description">
+ {$methods[method].sdesc}
+ </div>
+ </td>
+ </tr>
+ </table>
+ {/if}
+ {/section}
+{/if}
diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/_destructor_details.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/_destructor_details.tpl new file mode 100644 index 00000000..3cb5534a --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/_destructor_details.tpl @@ -0,0 +1,55 @@ +{if $methods}
+ {section name=method loop=$methods}
+ {if $methods[method].function_name == "__destruct"}
+ <hr size="1" noshade="noshade"/>
+ <a name="sec-method"></a>
+ <table class="method-details" cellspacing="1">
+ <tr>
+ <th colspan="3">Destructor Details</th>
+ </tr>
+ <tr>
+ <td class="method-data">
+ <a name="{$methods[method].method_dest}"></a>
+
+ <h2>{$methods[method].function_name}</h2>
+
+ <table class="method-detail" cellspacing="0">
+ <tr>
+ <td nowrap="nowrap">{strip}
+ {if $methods[method].access == "protected"}
+ protected
+ {/if}
+
+ {if $methods[method].access == "public"}
+ public
+ {/if}
+
+ {if $methods[method].abstract == "1"}
+ abstract
+ {/if}
+
+ {if $methods[method].static == "1"}
+ static
+ {/if}
+
+ <strong>{$methods[method].function_name}</strong>
+ {/strip}</td>
+ <td nowrap="nowrap">{strip}
+ {build_argument_list args=$methods[method].ifunction_call.params style="vertical"}
+ {/strip}</td>
+ </tr>
+ </table>
+
+ <p>{$methods[method].sdesc}</p>
+
+ {if $methods[method].desc}
+ {$methods[method].desc}
+ {/if}
+
+ {include file="_tags.tpl" tags=$methods[method].tags}
+ </td>
+ </tr>
+ </table>
+ {/if}
+ {/section}
+{/if}
\ No newline at end of file diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/_destructor_summary.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/_destructor_summary.tpl new file mode 100644 index 00000000..53e8f1d2 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/_destructor_summary.tpl @@ -0,0 +1,27 @@ +{if $methods}
+ {section name=method loop=$methods}
+ {if $methods[method].function_name == "__destruct"}
+ <hr size="1" noshade="noshade"/>
+ <a name="desructor-summary"></a>
+ <table class="method-summary" cellspacing="1">
+ <tr>
+ <th colspan="2">Destructor Summary</th>
+ </tr>
+ <tr>
+ <td class="type" nowrap="nowrap" width="1%">{strip}
+ {$methods[method].access}
+ {/strip}</td>
+ <td>
+ <div class="declaration">{strip}
+ <a href="{$methods[method].id}">{$methods[method].function_name}</a>
+ {$methods[method].ifunction_call.params}
+ {/strip}</div>
+ <div class="description">
+ {$methods[method].sdesc}
+ </div>
+ </td>
+ </tr>
+ </table>
+ {/if}
+ {/section}
+{/if}
diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/_footer.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/_footer.tpl new file mode 100644 index 00000000..0c2eddc2 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/_footer.tpl @@ -0,0 +1 @@ +</div>
diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/_get_constant_type.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/_get_constant_type.tpl new file mode 100644 index 00000000..48301da4 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/_get_constant_type.tpl @@ -0,0 +1,10 @@ +{if is_numeric(strtolower(trim($const)))}
+ int
+{elseif strtolower(trim($const)) == "true" ||
+ strtolower(trim($const)) == "false"}
+ bool
+{elseif strtolower(trim($const)) == "null"}
+ null
+{else}
+ string
+{/if}
\ No newline at end of file diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/_header.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/_header.tpl new file mode 100644 index 00000000..f92571a4 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/_header.tpl @@ -0,0 +1,4 @@ +<div id="bar" nowrap="nowrap">
+ {include file="_class_list.tpl"}
+</div>
+<div id="content1">
diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/_inherited_constants.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/_inherited_constants.tpl new file mode 100644 index 00000000..66c37633 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/_inherited_constants.tpl @@ -0,0 +1,34 @@ +{if $iconsts}
+ {section name=iconst loop=$iconsts}
+ <table class="inherited-constants" cellspacing="1">
+ <tr>
+ <th>Constants Inherited From {$iconsts[iconst].parent_class}</th>
+ </tr>
+ <tr>
+ <td>
+ {assign var="_consts" value=""}
+
+ {section name=_const loop=$iconsts[iconst].iconsts}
+ {if $_consts != ""},
+ {* append var="_consts" value=", "*}
+ {/if}
+ <a href="{$href}">{$iconsts[iconst].iconsts[_const].name}</a>{if !$smarty.section.name.last},{/if}
+ {*
+ {extract_attribute attribute="href"
+ element=$iconsts[iconst].iconsts[_const].link
+ var="href" append="no"}
+
+ {append var="_consts" value="<a href=\""}
+ {append var="_consts" value=$href}
+ {append var="_consts" value="\">"}
+ {append var="_consts" value=$iconsts[iconst].iconsts[_const].name}
+ {append var="_consts" value="</a>"}
+ *}
+{/section}
+
+ {*$_consts*}
+ </td>
+ </tr>
+ </table>
+ {/section}
+{/if}
diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/_inherited_methods.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/_inherited_methods.tpl new file mode 100644 index 00000000..55aafb17 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/_inherited_methods.tpl @@ -0,0 +1,42 @@ +{if $imethods}
+ {section name=imethod loop=$imethods}
+ {if count($imethods[imethod].imethods) > 1 ||
+ ($imethods[imethod].imethods[0].name != "__construct" &&
+ $imethods[imethod].imethods[0].name != "__destruct" &&
+ $imethods[imethod].imethods[0].abstract != "1")}
+ <table class="inherited-methods" cellspacing="1">
+ <tr>
+ <th>Methods Inherited From {$imethods[imethod].parent_class}</th>
+ </tr>
+ <tr>
+ <td>
+ {* assign var="_methods" value="" *}
+
+ {section name=_method loop=$imethods[imethod].imethods}
+ {if $imethods[imethod].imethods[_method].name != "__construct" &&
+ $imethods[imethod].imethods[_method].abstract != "1"}
+ {*
+ {if $_methods != ""}
+ {append var="_methods" value=", "}
+ {/if}
+
+ {extract_attribute attribute="href"
+ element=$imethods[imethod].imethods[_method].link
+ var="href" append="no"}
+
+ {append var="_methods" value="<a href=\""}
+ {append var="_methods" value=$href}
+ {append var="_methods" value="\">"}
+ {append var="_methods" value=$imethods[imethod].imethods[_method].name}
+ {append var="_methods" value="</a>"}
+ *}
+ {$imethods[imethod].imethods[_method].link}{if !$smarty.section._method.last},{/if}
+ {/if}
+ {/section}
+
+ </td>
+ </tr>
+ </table>
+ {/if}
+ {/section}
+{/if}
diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/_inheritence_tree.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/_inheritence_tree.tpl new file mode 100644 index 00000000..471c7972 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/_inheritence_tree.tpl @@ -0,0 +1,3 @@ +<div class="inheritence-tree">
+ <pre>{section name=tree loop=$class_tree.classes}{if $smarty.section.tree.last}<strong>{$class_tree.classes[tree]}</strong>{else}{$class_tree.classes[tree]}{/if}{$class_tree.distance[tree]}{/section}</pre>
+</div>
\ No newline at end of file diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/_method_details.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/_method_details.tpl new file mode 100644 index 00000000..b5ddfb10 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/_method_details.tpl @@ -0,0 +1,101 @@ +{if $methods && (count($methods) > 1 ||
+ ($methods[0].function_name != "__construct" &&
+ $methods[0].function_name != "__destruct"))}
+
+ <hr size="1" noshade="noshade"/>
+ <a name="method-details"></a>
+ <table class="method-details" cellspacing="1">
+ <tr>
+ <th>Method Details</th>
+ </tr>
+ {section name=method loop=$methods}
+ {if $methods[method].function_name != "__construct" &&
+ $methods[method].function_name != "__destruct"}
+
+ <tr>
+ <td class="method-data">
+
+ <a name="{$methods[method].method_dest}"></a>
+
+ <h2>{$methods[method].function_name}</h2>
+
+ <table class="method-detail" cellspacing="0">
+ <tr>
+ <td nowrap="nowrap">{strip}
+ {if $methods[method].access == "protected"}
+ protected
+ {/if}
+
+ {if $methods[method].access == "public"}
+ public
+ {/if}
+
+ {if $methods[method].abstract == 1}
+ abstract
+ {/if}
+
+ {if $methods[method].static == 1}
+ static
+ {/if}
+
+ {$methods[method].function_return}
+
+
+ <strong>{$methods[method].function_name}</strong>
+ {/strip}</td>
+ <td width="100%">{strip}
+ (
+ {if $methods[method].ifunction_call.params}
+ {foreach item=param name="method" from=$methods[method].ifunction_call.params}
+ {$param.type} {$param.name} {if !$smarty.foreach.method.last}, {/if}
+ {/foreach}
+
+ {/if}
+ )
+ {/strip}</td>
+ </tr>
+ </table>
+
+ <p>{$methods[method].sdesc}</p>
+
+ {if $methods[method].desc}
+ {$methods[method].desc}
+ {/if}
+ {* $methods[method]|print_r *}
+ <div class="tag-list"><table class="method-summary" cellspacing="1">
+ {if $methods[method].ifunction_call.params}
+ <tr><th colspan="3" class="small">Input</th></tr>
+ {foreach item=param name="method" from=$methods[method].ifunction_call.params}
+ <tr><td valign="top">{$param.type}</td><td valign="top"><strong>{$param.name}</strong><td valign="top">{$param.description}</td></tr>
+ {/foreach}
+ {/if}
+ {if $methods[method].tags}
+ <tr><th colspan="3" class="small">Output</th></tr>
+
+ {foreach item=param name="method" from=$methods[method].tags}
+ {if $param.keyword == "return"}
+ <tr><td valign="top">
+ {$methods[method].function_return}
+ </td><td valign="top" colspan="2">{$param.data}</td></tr>
+ {/if}
+ {/foreach}
+ {/if}
+ {if $methods[method].tags}
+ <tr><th colspan="3" class="small">Exception</th></tr>
+
+ {foreach item=param name="method" from=$methods[method].tags}
+ {if $param.keyword == "throws"}
+ <tr><td valign="top">{$param.keyword}</td><td valign="top" colspan="2">{$param.data}</td></tr>
+ {/if}
+ {/foreach}
+ {/if}
+ </table></div>
+
+ {* include file="_tags.tpl" tags=$methods[method].tags *}
+ <p/>
+ </td>
+ </tr>
+ {/if}
+ {/section}
+ </table>
+{/if}
diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/_method_summary.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/_method_summary.tpl new file mode 100644 index 00000000..8fefd671 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/_method_summary.tpl @@ -0,0 +1,61 @@ +{if $methods || $imethods}
+ <hr size="1" noshade="noshade"/>
+ <a name="method-summary"></a>
+ <table class="method-summary" cellspacing="1">
+ <tr>
+ <th colspan="2">Method Summary</th>
+ </tr>
+ {section name=method loop=$methods}
+ {if $methods[method].function_name != "__construct" &&
+ $methods[method].function_name != "__destruct"}
+ {*
+ {if trim(substr($methods[method].function_call, 0, 1)) == "&"}
+ {assign var="ref" value="true"}
+ {assign var="css" value=" class=\"reference\""}
+ {else}
+ {assign var="ref" value="false"}
+ {assign var="css" value=""}
+ {/if}
+ *}
+ <tr>
+ <td class="type" nowrap="nowrap" width="1%">
+ {if $methods[method].access == "protected"}
+ protected
+ {/if}
+
+ {if $methods[method].abstract == 1}
+ abstract
+ {/if}
+
+ {if $methods[method].static == 1}
+ static
+ {/if}
+
+ {$methods[method].function_return}
+{*
+ {if $ref == "true"}
+ &
+ {/if}
+*}
+ </td>
+ <td>
+ <div class="declaration">
+ <a href="{$methods[method].id}">{$methods[method].function_name}</a>
+ ({strip}
+ {if $methods[method].ifunction_call.params}
+ {foreach item=param name="method" from=$methods[method].ifunction_call.params}
+ {$param.type} {$param.name}{if !$smarty.foreach.method.last}, {/if}
+ {/foreach}
+
+ {/if}
+ {/strip})
+ </div>
+ <div class="description">
+ {$methods[method].sdesc}
+ </div>
+ </td>
+ </tr>
+ {/if}
+ {/section}
+ </table>
+{/if}
diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/_sub_classes.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/_sub_classes.tpl new file mode 100644 index 00000000..e605b314 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/_sub_classes.tpl @@ -0,0 +1,19 @@ +{if $children}
+ <div class="sub-classes">
+ {if $is_interface}
+ <h4>Direct Known Sub-interfaces:</h4>
+ {else}
+ <h4>Direct Known Sub-classes:</h4>
+ {/if}
+
+ <div><small>
+ {section name=child loop=$children}
+ {if !$smarty.section.child.first}
+ , {$children[child].link}
+ {else}
+ {$children[child].link}
+ {/if}
+ {/section}
+ </small></div>
+ </div>
+{/if}
diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/_tags.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/_tags.tpl new file mode 100644 index 00000000..221830c4 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/_tags.tpl @@ -0,0 +1,13 @@ +<div class="tag-list">
+ {section name=tag loop=$tags}
+ {if $tags[tag].keyword != "abstract" &&
+ $tags[tag].keyword != "access" &&
+ $tags[tag].keyword != "static" &&
+ $tags[tag].keyword != "version"
+ }
+
+ <strong>{$tags[tag].keyword|capitalize}:</strong>
+ {$tags[tag].data}<br />
+ {/if}
+ {/section}
+</div>
diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/basicindex.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/basicindex.tpl new file mode 100644 index 00000000..37e94343 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/basicindex.tpl @@ -0,0 +1,18 @@ +{section name=letter loop=$letters}
+ [ <a href="{$indexname}.html#{$letters[letter].letter}">{$letters[letter].letter}</a> ]
+{/section}
+
+{section name=index loop=$index}
+ <hr />
+ <a name="{$index[index].letter}"></a>
+ <div>
+ <h2>{$index[index].letter}</h2>
+ <dl>
+ {section name=contents loop=$index[index].index}
+ <dt><b>{$index[index].index[contents].name}</b></dt>
+ <dd>{$index[index].index[contents].listing}</dd>
+ {/section}
+ </dl>
+ </div>
+ <a href="{$indexname}.html#top">top</a><br>
+{/section}
diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/blank.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/blank.tpl new file mode 100644 index 00000000..b503c142 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/blank.tpl @@ -0,0 +1,5 @@ +<div align="center"><h1>{$maintitle}</h1></div>
+<b>Welcome to {$package}!</b><br />
+<br />
+This documentation was generated by <a href="{$phpdocwebsite}">phpDocumentor v{$phpdocversion}</a><br />
+
diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/class.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/class.tpl new file mode 100644 index 00000000..e791bbba --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/class.tpl @@ -0,0 +1,29 @@ +{include file="header.tpl" eltype="class" hasel=true contents=$classcontents}
+
+<h1>{if $is_interface}Interface{else}Class{/if} {$class_name}</h1>
+
+{*inheritence tree*}
+<div class="inheritence-tree">
+ <pre>{section name=tree loop=$class_tree.classes}{if $smarty.section.tree.last}<strong>{$class_tree.classes[tree]}</strong>{else}{$class_tree.classes[tree]}{/if}{$class_tree.distance[tree]}{/section}</pre>
+</div>
+
+{include file="_sub_classes.tpl"}
+{include file="_class_description.tpl"}
+{include file="_inherited_constants.tpl"}
+
+{include file="_constructor_summary.tpl"}
+{* include file="_destructor_summary.tpl" *}
+
+{include file="_method_summary.tpl"}
+
+{include file="_inherited_methods.tpl"}
+{include file="_constant_summary.tpl"}
+{include file="_constructor_details.tpl"}
+
+{* include file="_destructor_details.tpl" *}
+
+{include file="_method_details.tpl"}
+
+{include file="_constant_details.tpl"}
+
+{include file="footer.tpl"}
diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/classleft.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/classleft.tpl new file mode 100644 index 00000000..c07fc33a --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/classleft.tpl @@ -0,0 +1,9 @@ +{foreach key=subpackage item=files from=$classleftindex}
+ <div class="package">
+ {if $subpackage != ""}{$subpackage}<br />{/if}
+ {section name=files loop=$files}
+ {if $subpackage != ""} {/if}
+ {if $files[files].link != ''}<a href="{$files[files].link}">{/if}{$files[files].title}{if $files[files].link != ''}</a>{/if}<br />
+ {/section}
+ </div>
+{/foreach}
diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/classtrees.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/classtrees.tpl new file mode 100644 index 00000000..4020e3a8 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/classtrees.tpl @@ -0,0 +1,8 @@ +{include file="header.tpl" noleftindex=true}
+<h1>{$title}</h1>
+{section name=classtrees loop=$classtrees}
+<hr />
+<div class="classtree">Root class {$classtrees[classtrees].class}</div><br>
+{$classtrees[classtrees].class_tree}
+{/section}
+{include file="footer.tpl"}
diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/const.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/const.tpl new file mode 100644 index 00000000..88856c4b --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/const.tpl @@ -0,0 +1,14 @@ +{section name=consts loop=$consts}
+{if $show == 'summary'}
+ var {$consts[consts].const_name}, {$consts[consts].sdesc}<br>
+{else}
+ <a name="{$consts[consts].const_dest}"></a>
+ <p></p>
+ <h4>{$consts[consts].const_name} = <span class="value">{$consts[consts].const_value|replace:"\n":"<br>\n"|replace:" ":" "|replace:"\t":" "}</span></h4>
+ <p>[line {if $consts[consts].slink}{$consts[consts].slink}{else}{$consts[consts].line_number}{/if}]</p>
+ {include file="docblock.tpl" sdesc=$consts[consts].sdesc desc=$consts[consts].desc tags=$consts[consts].tags}
+
+ <br />
+ <div class="top">[ <a href="#top">Top</a> ]</div><br />
+{/if}
+{/section}
diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/define.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/define.tpl new file mode 100644 index 00000000..04ce5b48 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/define.tpl @@ -0,0 +1,32 @@ +{if count($defines) > 0}
+{section name=def loop=$defines}
+{if $show == 'summary'}
+define constant <a href="{$defines[def].id}">{$defines[def].define_name}</a> = {$defines[def].define_value}, {$defines[def].sdesc}<br>
+{else}
+ <hr />
+ <a name="{$defines[def].define_link}"></a>
+ <h3>{$defines[def].define_name} <span class="smalllinenumber">[line {if $defines[def].slink}{$defines[def].slink}{else}{$defines[def].line_number}{/if}]</span></h3>
+ <div class="tags">
+ <table width="90%" border="0" cellspacing="0" cellpadding="1"><tr><td class="code_border">
+ <table width="100%" border="0" cellspacing="0" cellpadding="2"><tr><td class="code">
+ <code>{$defines[def].define_name} = {$defines[def].define_value}</code>
+ </td></tr></table>
+ </td></tr></table>
+
+ {include file="docblock.tpl" sdesc=$defines[def].sdesc desc=$defines[def].desc tags=$defines[def].tags}
+ <br />
+ {if $defines[def].define_conflicts.conflict_type}
+ <p><b>Conflicts with defines:</b>
+ {section name=me loop=$defines[def].define_conflicts.conflicts}
+ {$defines[def].define_conflicts.conflicts[me]}<br />
+ {/section}
+ </p>
+ {/if}
+{* original {if $defines[def].define_conflicts != ""
+ <b>Conflicts:</b> {$defines[def].define_conflicts<br /><br />
+ {/if *}
+ </div>
+ <div class="top">[ <a href="#top">Top</a> ]</div><br /><br />
+{/if}
+{/section}
+{/if}
\ No newline at end of file diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/docblock.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/docblock.tpl new file mode 100644 index 00000000..09a603f8 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/docblock.tpl @@ -0,0 +1,15 @@ +{if $sdesc != ''}{$sdesc|default:''}<br /><br />{/if}
+{if $desc != ''}{$desc|default:''}<br />{/if}
+{if count($tags) > 0}
+<br /><br />
+<h4>Tags:</h4>
+<div class="tags">
+<table border="0" cellspacing="0" cellpadding="0">
+{section name=tag loop=$tags}
+ <tr>
+ <td><b>{$tags[tag].keyword}:</b> </td><td>{$tags[tag].data}</td>
+ </tr>
+{/section}
+</table>
+</div>
+{/if}
\ No newline at end of file diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/elementindex.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/elementindex.tpl new file mode 100644 index 00000000..175a5136 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/elementindex.tpl @@ -0,0 +1,5 @@ +{include file="header.tpl" noleftindex=true}
+<a name="top"></a>
+<h1>Index of all elements</h1>
+{include file="basicindex.tpl" indexname="elementindex"}
+{include file="footer.tpl"}
diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/errors.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/errors.tpl new file mode 100644 index 00000000..1576a822 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/errors.tpl @@ -0,0 +1,21 @@ +{include file="header.tpl" noleftindex=true}
+{section name=files loop=$files}
+<a href="#{$files[files].file}">{$files[files].file}</a><br>
+{/section}
+{foreach key=file item=issues from=$all}
+<a name="{$file}"></a>
+<h1>{$file}</h1>
+{if count($issues.warnings)}
+<h2>Warnings:</h2><br>
+{section name=warnings loop=$issues.warnings}
+<b>{$issues.warnings[warnings].name}</b> - {$issues.warnings[warnings].listing}<br>
+{/section}
+{/if}
+{if count($issues.errors)}
+<h2>Errors:</h2><br>
+{section name=errors loop=$issues.errors}
+<b>{$issues.errors[errors].name}</b> - {$issues.errors[errors].listing}<br>
+{/section}
+{/if}
+{/foreach}
+{include file="footer.tpl"}
diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/examplesource.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/examplesource.tpl new file mode 100644 index 00000000..fb85654b --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/examplesource.tpl @@ -0,0 +1,6 @@ +{include file="header.tpl" title=$title}
+<h1 align="center">{$title}</h1>
+<div class="php">
+{$source}
+</div>
+{include file="footer.tpl"}
\ No newline at end of file diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/fileleft.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/fileleft.tpl new file mode 100644 index 00000000..50f108d7 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/fileleft.tpl @@ -0,0 +1,10 @@ +{foreach key=subpackage item=files from=$fileleftindex}
+ {if $subpackage != ""}subpackage <b>{$subpackage}</b><br>{/if}
+ <div class="package">
+ {section name=files loop=$files}
+ {if $files[files].link != ''}<a href="{$files[files].link}">{/if}
+ {$files[files].title}
+ {if $files[files].link != ''}</a>{/if}<br>
+ {/section}
+ </div><br />
+{/foreach}
diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/filesource.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/filesource.tpl new file mode 100644 index 00000000..b23076a0 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/filesource.tpl @@ -0,0 +1,8 @@ +{capture name="tutle"}File Source for {$name}{/capture}
+{include file="header.tpl" title=$smarty.capture.tutle}
+<h1 align="center">Source for file {$name}</h1>
+<p>Documentation is available at {$docs}</p>
+<div class="php">
+{$source}
+</div>
+{include file="footer.tpl"}
\ No newline at end of file diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/footer.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/footer.tpl new file mode 100644 index 00000000..68135cd6 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/footer.tpl @@ -0,0 +1,25 @@ + <!-- content end --></td></tr></table>
+ </td>
+ </tr>
+</table>
+
+</div><!-- main -->
+
+<div id="footer">
+ <a href="/tos/">Terms of Service</a> |
+ <a href="/support/">Contact Us</a>
+ <br/>
+ Copyright © 2006-2007 by the PRADO Group.<br/>
+ <a title="Powered by PRADO" href="http://www.pradosoft.com/"><img src="http://www.pradosoft.com/images/powered2.gif" style="border-width:0px;" alt="Powered by PRADO" /></a>
+</div>
+
+</div><!-- page -->
+<script src="http://www.google-analytics.com/urchin.js" type="text/javascript">
+</script>
+<script type="text/javascript">
+_uacct = "UA-186303-3";
+urchinTracker();
+</script>
+
+</body>
+</html>
\ No newline at end of file diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/function.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/function.tpl new file mode 100644 index 00000000..098aeb17 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/function.tpl @@ -0,0 +1,48 @@ +{section name=func loop=$functions}
+{if $show == 'summary'}
+function {$functions[func].id}, {$functions[func].sdesc}<br />
+{else}
+ <hr />
+ <a name="{$functions[func].function_dest}"></a>
+ <h3>{$functions[func].function_name} <span class="smalllinenumber">[line {if $functions[func].slink}{$functions[func].slink}{else}{$functions[func].line_number}{/if}]</span></h3>
+ <div class="function">
+ <table width="90%" border="0" cellspacing="0" cellpadding="1"><tr><td class="code_border">
+ <table width="100%" border="0" cellspacing="0" cellpadding="2"><tr><td class="code">
+ <code>{$functions[func].function_return} {if $functions[func].ifunction_call.returnsref}&{/if}{$functions[func].function_name}(
+{if count($functions[func].ifunction_call.params)}
+{section name=params loop=$functions[func].ifunction_call.params}
+{if $smarty.section.params.iteration != 1}, {/if}{if $functions[func].ifunction_call.params[params].default != ''}[{/if}{$functions[func].ifunction_call.params[params].type} {$functions[func].ifunction_call.params[params].name}{if $functions[func].ifunction_call.params[params].default != ''} = {$functions[func].ifunction_call.params[params].default|escape:"html"}]{/if}
+{/section}
+{/if})</code>
+ </td></tr></table>
+ </td></tr></table><br />
+
+ {include file="docblock.tpl" sdesc=$functions[func].sdesc desc=$functions[func].desc tags=$functions[func].tags}
+ <br /><br />
+ {if $functions[func].function_conflicts.conflict_type}
+ <p><b>Conflicts with functions:</b>
+ {section name=me loop=$functions[func].function_conflicts.conflicts}
+ {$functions[func].function_conflicts.conflicts[me]}<br />
+ {/section}
+ </p>
+ {/if}
+{* original {if $functions[func].function_conflicts != ""
+ <b>Conflicts:</b> {$functions[func].function_conflicts<br /><br />
+ {/if *}
+
+ {if count($functions[func].params) > 0}
+ <h4>Parameters</h4>
+ <table border="0" cellspacing="0" cellpadding="0">
+ {section name=params loop=$functions[func].params}
+ <tr>
+ <td class="type">{$functions[func].params[params].datatype} </td>
+ <td><b>{$functions[func].params[params].var}</b> </td>
+ <td>{$functions[func].params[params].data}</td>
+ </tr>
+ {/section}
+ </table>
+ {/if}
+ <div class="top">[ <a href="#top">Top</a> ]</div><br /><br />
+ </div>
+{/if}
+{/section}
diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/global.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/global.tpl new file mode 100644 index 00000000..1053f748 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/global.tpl @@ -0,0 +1,40 @@ +{if count($globals) > 0}
+{section name=glob loop=$globals}
+{if $show == 'summary'}
+global variable <a href="{$globals[glob].id}">{$globals[glob].global_name}</a> = {$globals[glob].global_value}, {$globals[glob].sdesc}<br>
+{else}
+ <hr />
+ <a name="{$globals[glob].global_link}"></a>
+ <h4><i>{$globals[glob].global_type}</i> {$globals[glob].global_name} <span class="smalllinenumber">[line {if $globals[glob].slink}{$globals[glob].slink}{else}{$globals[glob].line_number}{/if}]</span></h4>
+ <div class="tags">
+ {if $globals[glob].sdesc != ""}
+ {include file="docblock.tpl" sdesc=$globals[glob].sdesc desc=$globals[glob].desc tags=$globals[glob].tags}
+ {/if}
+
+ <table border="0" cellspacing="0" cellpadding="0">
+ <tr>
+ <td><b>Default value:</b> </td>
+ <td>{$globals[glob].global_value|replace:" ":" "|replace:"\n":"<br />\n"|replace:"\t":" "}</td>
+ </tr>
+ {if $globals[glob].global_conflicts.conflict_type}
+ <tr>
+ <td><b>Conflicts with globals:</b> </td>
+ <td>
+ {section name=me loop=$globals[glob].global_conflicts.conflicts}
+ {$globals[glob].global_conflicts.conflicts[me]}<br />
+ {/section}
+ </td>
+ </tr>
+ {/if}
+{* original {if $globals[glob].global_conflicts != ""
+ <tr>
+ <td><b>Conflicts:</b> </td>
+ <td>{$globals[glob].global_conflicts</td>
+ </tr>
+ {/if *}
+ </table>
+ </div><br /><br />
+ <div class="top">[ <a href="#top">Top</a> ]</div><br /><br />
+{/if}
+{/section}
+{/if}
\ No newline at end of file diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/header.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/header.tpl new file mode 100644 index 00000000..659168cf --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/header.tpl @@ -0,0 +1,113 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" > + <head> + <title>PRADO API Manual: {$title}</title> + <meta http-equiv="Expires" content="Fri, Jan 01 1900 00:00:00 GMT"/> + <meta http-equiv="Pragma" content="no-cache"/> + <meta http-equiv="Cache-Control" content="no-cache"/> + <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> + <meta http-equiv="content-language" content="en"/> + <meta name="Keywords" content="PRADO PHP framework component template delphi asp.net event property OOP PHP5 object oriented programming Web programming development" /> + <meta name="Description" content="PRADO is a component-based and event-driven framework for Web application development in PHP 5." /> + <meta name="Author" content="Qiang Xue" /> + <meta name="Subject" content="Web programming, PHP framework" /> + <meta name="Language" content="en" /> + <link rel="Shortcut Icon" href="/favicon.ico" /> + <link rel="stylesheet" type="text/css" href="/css/style.css" /> + <link rel="stylesheet" type="text/css" href="/css/manual.css" /> + </head> + <body> + <div id="page"> + <div id="header"> + <div id="logo"><img src="/css/pradoheader.gif" alt="PRADO Component Framework for PHP 5" /></div> + <div id="mainmenu"> + <ul> + <li><a href="/">Home</a></li> + <li><a href="/about/" >About</a></li> + <li><a href="/testimonials/" >Testimonials</a></li> + <li><a href="/demos/" >Demos</a></li> + <li><a href="/download/" >Download</a></li> + <li><a href="/documentation/" class="active">Documentation</a></li> + <li><a href="/forum/" >Forum</a></li> + <li><a href="http://code.google.com/p/prado3/updates/list">Development</a></li> + </ul> + </div><!-- mainmenu --> + </div><!-- header --> + <div id="main"> + <div id="navbar"> + <ul> + <li><a href="/tutorials/">Tutorials</a></li> + <li><a href="/docs/classdoc/">Class Docs</a></li> + <li><a href="/docs/manual/" class="active">API Manual</a></li> + <li><a href="/wiki/">Wiki</a></li> + </ul> + </div> + <table width="100%" border="0" cellpadding="0" cellspacing="0"> + <tr valign="top"> + <td width="200" id="infobar"> +{if count($ric) >= 1} + <div id="ric"> +{section name=ric loop=$ric} + <p><a href="{$subdir}{$ric[ric].file}">{$ric[ric].name}</a></p> +{/section} + </div> +{/if} + <b>Packages:</b><br /> +{section name=packagelist loop=$packageindex} + <a href="{$subdir}{$packageindex[packagelist].link}">{$packageindex[packagelist].title}</a><br /> +{/section} + <br /><br /> +{if $tutorials} + <b>Tutorials/Manuals:</b><br /> +{if $tutorials.pkg} + <strong>Package-level:</strong> +{section name=ext loop=$tutorials.pkg} + {$tutorials.pkg[ext]} +{/section} +{/if} +{if $tutorials.cls} + <strong>Class-level:</strong> +{section name=ext loop=$tutorials.cls} + {$tutorials.cls[ext]} +{/section} +{/if} +{if $tutorials.proc} + <strong>Procedural-level:</strong> +{section name=ext loop=$tutorials.proc} + {$tutorials.proc[ext]} +{/section} +{/if} +{/if} +{if !$noleftindex}{assign var="noleftindex" value=false}{/if} +{if !$noleftindex} +{* +{if $compiledfileindex} + <b>Files:</b><br /> + {eval var=$compiledfileindex} +{/if} +*} +{if $compiledclassindex} + <b>Classes:</b><br /> + {eval var=$compiledclassindex} +{/if} +{/if} + </td> + <td> + <table cellpadding="10" cellspacing="0" width="100%" border="0"> + <tr> + <td valign="top" align="center"> + <form type="get" action="/docs/manual/search.php"> + Keyword <input type="text" name="keyword" size="50" /> + <input type="submit" value="Search" /> + </form> + </td> + </tr> + <tr> + <td valign="top"><!-- content begin --> +{* +{if !$hasel}{assign var="hasel" value=false}{/if} +{if $hasel} + <h1>{$eltype|capitalize}: {$class_name}</h1> + Source Location: {$source_location}<br /><br /> +{/if} +*} diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/include.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/include.tpl new file mode 100644 index 00000000..cff067db --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/include.tpl @@ -0,0 +1,9 @@ +{if count($includes) > 0}
+<h4>Includes:</h4>
+<div class="tags">
+{section name=includes loop=$includes}
+{$includes[includes].include_name}({$includes[includes].include_value}) [line {if $includes[includes].slink}{$includes[includes].slink}{else}{$includes[includes].line_number}{/if}]<br />
+{include file="docblock.tpl" sdesc=$includes[includes].sdesc desc=$includes[includes].desc tags=$includes[includes].tags}
+{/section}
+</div>
+{/if}
\ No newline at end of file diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/index.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/index.tpl new file mode 100644 index 00000000..60c74b47 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/index.tpl @@ -0,0 +1,7 @@ +{include file="header.tpl"}
+{if $contents}
+{$contents}
+{else}
+{include file="blank.tpl"}
+{/if}
+{include file="footer.tpl"}
diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/media/background.png b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/media/background.png Binary files differnew file mode 100644 index 00000000..d6f36f60 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/media/background.png diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/media/bg_left.png b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/media/bg_left.png Binary files differnew file mode 100644 index 00000000..19fdf05d --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/media/bg_left.png diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/media/empty.png b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/media/empty.png Binary files differnew file mode 100644 index 00000000..a9f29bb1 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/media/empty.png diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/media/manual.css b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/media/manual.css new file mode 100644 index 00000000..8aaa937d --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/media/manual.css @@ -0,0 +1,260 @@ +/* thanks to symfony for a great base template for phpdoc */
+/* symfony-project.com */
+
+#page
+{
+ width: 99%;
+}
+
+div.credit
+{
+ font-size: 10px;
+ color: #888;
+}
+
+.inherited-methods
+{
+ background-color: #ddd;
+ font-size: 1.0em;
+ margin-top: 10px;
+ width: 100%;
+}
+
+.inherited-methods td
+{
+ background-color: #FFFFFF;
+ font-family: "courier new", courier;
+ font-size: 1.1em;
+ padding: 5px;
+}
+
+.inherited-methods th
+{
+ background-color: #F0F0F0;
+ font-weight: bold;
+ padding: 5px;
+ text-align: left;
+}
+
+.method-detail
+{
+ font-size: 1.0em;
+}
+
+.method-detail a
+{
+ font-weight: bold;
+}
+
+.method-detail td
+{
+ font-family: "courier new", courier;
+ font-size: 1.1em;
+ padding-top: 10px;
+ vertical-align: top;
+}
+
+.method-details
+{
+ background-color: #ddd;
+ font-size: 1.0em;
+ width: 100%;
+}
+
+.method-details td
+{
+ background-color: #FFFFFF;
+}
+
+.method-details td.method-data
+{
+ padding: 5px;
+}
+
+.method-details h2
+{
+ color: #750000;
+}
+
+.method-details th
+{
+ background-color: #F0F0F0;
+ font-weight: bold;
+ font-size: 1.2em;
+ padding: 5px;
+ text-align: left;
+}
+
+.method-summary
+{
+ background-color: #aaa;
+ font-size: 1.0em;
+ width: 100%;
+}
+
+.method-summary td
+{
+ background-color: #FFFFFF;
+ padding: 5px;
+}
+
+.method-summary td a
+{
+ font-weight: bold;
+}
+
+.method-summary td.type
+{
+ font-family: "courier new", courier;
+ font-size: 1.0em;
+ text-align: right;
+ vertical-align: top;
+}
+
+.method-summary div.declaration
+{
+ font-family: "courier new", courier;
+ font-size: 1.1em;
+}
+
+.method-summary th
+{
+ background-color: #F0F0F0;
+ font-weight: bold;
+ font-size: 1.2em;
+ padding: 5px;
+ text-align: left;
+}
+
+.method-summary th.small
+{
+ font-size: 1.0em;
+}
+
+.method-summary tr.reference td {
+ background-color: #FFEDED;
+}
+
+
+.constant-details
+{
+ background-color: #ddd;
+ font-size: 1.0em;
+ width: 100%;
+}
+
+.constant-details h3
+{
+ color: #750000;
+}
+
+.constant-details td
+{
+ background-color: #FFFFFF;
+ padding: 5px;
+}
+
+.constant-details th
+{
+ background-color: #F0F0F0;
+ font-weight: bold;
+ font-size: 1.2em;
+ padding: 5px;
+ text-align: left;
+}
+
+.constant-summary
+{
+ background-color: #ddd;
+ font-size: 1.0em;
+ width: 100%;
+}
+
+.constant-summary td
+{
+ background-color: #FFFFFF;
+ padding: 5px;
+}
+
+.constant-summary td.name a
+{
+ font-family: "courier new", courier;
+ font-size: 1.0em;
+ font-weight: bold;
+}
+
+.constant-summary td.type
+{
+ font-family: "courier new", courier;
+ font-size: 1.0em;
+}
+
+.constant-summary th
+{
+ background-color: #F0F0F0;
+ font-weight: bold;
+ font-size: 1.2em;
+ padding: 5px;
+ text-align: left;
+}
+
+.inherited-constants
+{
+ background-color: #eee;
+ font-size: 1.0em;
+ margin-top: 10px;
+ width: 100%;
+}
+
+.inherited-constants td
+{
+ background-color: #FFFFFF;
+ font-family: "courier new", courier;
+ font-size: 1.1em;
+ padding: 5px;
+}
+
+.inherited-constants th
+{
+ background-color: #F0F0F0;
+ font-weight: bold;
+ padding: 5px;
+ text-align: left;
+}
+
+.class-declaration
+{
+ font-family: "courier new", courier;
+ font-size: 1.1em;
+}
+
+.class-description
+{
+ background-color: #F0F0F0;
+ margin-top: 10px;
+ padding: 1px 8px 1px 8px;
+ margin-bottom: 5px;
+}
+
+.inheritence-tree pre
+{
+ margin-bottom: 0;
+}
+
+.sub-classes h4
+{
+ margin: 10px 0 0 0;
+}
+
+.sub-classes div
+{
+ font-family: "courier new", courier;
+ font-size: 1.1em;
+ margin: 5px 0 0 40px;
+}
+
+.sub-classes div small
+{
+ font-size: 1.0em;
+}
+
diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/media/style.css b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/media/style.css new file mode 100644 index 00000000..918d43e4 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/media/style.css @@ -0,0 +1,598 @@ +/**
+ * PradoSoft profile by Carl G. Mathisen and Stefan A. Petrov
+ * http://decart.no
+ */
+
+body
+{
+ text-align: center;
+}
+
+body, div, span, p, input
+{
+ font-family: Verdana, sans-serif, Arial;
+ font-size: 10pt;
+ color: #333333;
+}
+
+h1, h2, h3, h4
+{
+ font-family: Verdana, Helvetica, Arial, Lucida Grande, Trebuchet MS;
+ padding: 0px;
+ margin: 0px;
+ margin-bottom: 10px;
+ color: #821B18;
+ font-weight: normal;
+}
+
+h2
+{
+ font-size: 18px;
+}
+
+h3
+{
+ font-size: 16px;
+}
+
+div
+{
+ text-align: left;
+}
+
+.instructions
+{
+ background-color: #EEEEEE;
+}
+
+img
+{
+ border: none;
+}
+
+a
+{
+ color: #CD2C27;
+ text-decoration: none;
+}
+
+a:hover
+{
+ color: #821B18;
+ text-decoration: underline;
+}
+
+#page
+{
+ margin: 0 auto;
+ padding: 0;
+ position: relative;
+}
+
+#header
+{
+ position: relative;
+ height: 98px;
+}
+
+#logo
+{
+ height: 99px;
+}
+
+/* main page */
+
+div.intro
+{
+ height: 190px;
+ background-image: url('bigmantis.jpg');
+ background-repeat: no-repeat;
+ background-position: top right;
+ background-color: #fff;
+}
+
+div.statements
+{
+ height: 135px;
+ background-image: url('statementsbg.gif');
+ background-repeat: repeat-x;
+ position: relative;
+ border-bottom : 1px solid #EEE;
+}
+
+div.statements div
+{
+ position: absolute;
+ width: 250px;
+ top: 20px;
+}
+
+div.statements div p
+{
+ font-size: 13px;
+ color: #818181;
+}
+
+div.statements div.whatis
+{
+ left: 20px;
+}
+
+div.statements div.whatreq
+{
+ left: 290px;
+}
+
+div.statements div.cani
+{
+ left: 600px;
+ width: 210px;
+}
+
+/* navbar */
+#navbar
+{
+ border-bottom: 2px solid #E9EEEF;
+ height: 30px;
+ margin-bottom: 20px;
+}
+
+#navbar ul
+{
+ margin-left: 0;
+ padding-left: 0;
+ display: inline;
+}
+
+#navbar ul li
+{
+ margin-left: 0px;
+ list-style: none;
+ display: inline;
+}
+
+#navbar ul li a
+{
+ display: block;
+ float: left;
+ font-size: 14px;
+ font-weight: bold;
+ padding-right: 14px;
+ padding-top: 5px;
+ color: #CD2B26;
+ text-decoration: none;
+ height: 29px;
+}
+
+#navbar ul li a.active, #navbar ul li a.hover
+{
+ color: #821B18;
+}
+
+/* infobar */
+div#infobar
+{
+ float: right;
+ width: 200px;
+ padding-left: 20px;
+ border-left: 2px solid #E9EEEF;
+}
+
+div#infobar div
+{
+ margin-bottom: 20px;
+}
+
+div#infobar div#featured img
+{
+ margin-top: 10px;
+}
+
+/* articles */
+
+div#articles
+{
+ width: 560px;
+ float: left;
+}
+
+/* article */
+
+div.article
+{
+ margin-bottom: 40px;
+}
+
+div.article .date
+{
+ color: #9F9291;
+}
+
+div.article .more
+{
+ margin-right: 10px;
+ display: block;
+ text-align: right;
+}
+
+.logo
+{
+ position: absolute;
+ margin-left: 15px;
+ margin-top: 0px;
+ z-index: 1;
+}
+
+#main
+{
+ padding: 20px;
+ padding-top: 20px;
+ background-color: #fff;
+}
+
+div.mantis
+{
+ height: 190px;
+ background-color: #fff;
+ border-bottom: 1px solid #DCDCDC;
+}
+
+div.releases
+{
+ float: left;
+ width: 240px;
+ height: 190px;
+}
+
+div.releases div.official
+{
+ width: 190px;
+ position: relative;
+ left: 52px;
+ top: 128px;
+ font-size: 8pt;
+ color: #6D6D6D;
+}
+
+div.releases div.official a
+{
+ display: block;
+}
+
+div.whyprado
+{
+ display: block;
+ float: left;
+}
+
+div.whyprado ul.list
+{
+ margin-top: 40px;
+ margin-left: 40px;
+}
+
+div.whyprado ul.list li
+{
+ display: block;
+ margin: 5px;
+ padding: 0px;
+ font-size: 18px;
+ background-repeat: no-repeat;
+ background-position: bottom left;
+ padding-left: 30px;
+ list-style: none;
+}
+
+
+#footer
+{
+ border-top: 1px solid #e9eeef;
+ background-color: #fff;
+ clear: both;
+ color: #A7A7A7;
+ font-size: 8pt;
+ text-align: center;
+ padding-top: 10px;
+ padding-bottom: 30px;
+ background-repeat: repeat-x;
+ background-position: bottom;
+}
+
+#features
+{
+ margin-left: 610px;
+ padding: 10px;
+ padding-left: 10px;
+ padding-right: 10px;
+ background-color: #BEDD75;
+ color: #344A1E;
+ font-size: 9pt;
+}
+
+#features ul
+{
+ margin: 10px;
+ padding: 0px;
+}
+
+#features ul li
+{
+ font-size: 8pt;
+ padding: 0px;
+ margin: 0px;
+ margin-top: 8px;
+}
+
+#features h3
+{
+ margin: 0px;
+ padding: 0px;
+ font-size: 10pt;
+ color: #292E1D;
+ text-align: center;
+ border-bottom: 1px solid silver;
+}
+
+#news
+{
+ float: left;
+ width: 590px;
+}
+
+.newstitle
+{
+ font-size: 12pt;
+ font-weight: bold;
+ color: #555;
+ margin-top: 10px;
+ margin-bottom: 0px;
+ border-bottom: 1px solid silver;
+}
+
+.newscontentmore
+{
+ margin-right: 10px;
+ display: block;
+ color: #50811A;
+ text-align: right;
+}
+
+.newscontentmore:hover
+{
+ color: red;
+}
+
+.newstime
+{
+ margin: 0px;
+ font-size:0.8em;
+ color:#aaa;
+ padding-left:10px;
+ text-align: right;
+}
+
+.newscontent
+{
+ margin-top: 5px;
+}
+
+#leftpanel
+{
+ float: left;
+ width: 550px;
+}
+
+#topics
+{
+ border: 1px solid #804040;
+ margin-left: 610px;
+ padding-bottom: 10px;
+}
+
+#topicsheader
+{
+ text-align:center;
+ font-weight:bold;
+ background-color:#804040;
+ color:#FFFFBC;
+ padding: 3px;
+ margin-bottom:0px;
+}
+
+.topicitem
+{
+ padding: 5px;
+}
+
+.topicitem a:hover
+{
+ text-decoration: underline;
+}
+
+.topicitem p
+{
+ margin: 0px;
+ font-size:0.8em;
+ color:#aaa;
+ padding-left:10px;
+ white-space:nowrap;
+}
+
+.reference
+{
+}
+
+.reference img
+{
+ margin: 10px;
+}
+
+.reference h3
+{
+}
+
+
+.download
+{
+ width: 100%;
+ background-color: #aaa;
+}
+
+.download td
+{
+ background-color: #FFFFFF;
+ padding: 5px;
+ font-size: 9pt;
+}
+
+.download td a
+{
+ font-weight: bold;
+}
+
+.download td.type
+{
+ font-family: "courier new", courier;
+ text-align: right;
+ vertical-align: top;
+}
+
+.download div.declaration
+{
+ font-family: "courier new", courier;
+}
+
+
+.download th
+{
+ background-color: #F0F0F0;
+ font-weight: bold;
+ padding: 5px;
+ text-align: left;
+}
+
+.download th.small
+{
+ font-size: 1.0em;
+}
+
+.download tr.reference td {
+ background-color: #FFEDED;
+}
+
+
+.doc-title
+{
+ font-size: 14pt;
+ font-weight: bold;
+ margin-top: 10px;
+ margin-bottom: 10px;
+}
+
+.doc-subtitle
+{
+ font-size: 11pt;
+ font-weight: bold;
+ background-color: #EEE;
+ padding: 5px;
+ margin-top: 20px;
+}
+
+.doc-namespace
+{
+ font-size: 8pt;
+}
+
+
+.doc-menu
+{
+}
+
+.doc-classes
+{
+}
+
+.doc-ancestors
+{
+ font-size: 8pt;
+}
+
+.doc-properties
+{
+ font-size: 9pt;
+}
+
+.doc-properties table
+{
+ border-collapse: collapse;
+ background-color: silver;
+ width: 100%;
+}
+
+.doc-properties td, .doc-properties th
+{
+ padding: 3px;
+ vertical-align: top;
+ background-color: white;
+ border: 1px solid silver;
+}
+
+.doc-events
+{
+ font-size: 9pt;
+}
+
+.doc-events table
+{
+ border-collapse: collapse;
+ background-color: silver;
+ width: 100%;
+}
+
+.doc-events td, .doc-events th
+{
+ padding: 3px;
+ vertical-align: top;
+ background-color: white;
+ border: 1px solid silver;
+}
+
+.doc-methods
+{
+ font-size: 9pt;
+}
+
+.doc-methods table
+{
+ border-collapse: collapse;
+ background-color: silver;
+ width: 100%;
+}
+
+.doc-methods td, .doc-methods th
+{
+ padding: 3px;
+ vertical-align: top;
+ background-color: white;
+ border: 1px solid silver;
+}
+
+.doc-derived
+{
+}
+
+.doc-inherited
+{
+}
+
+.doc-native td
+{
+ background-color: lightyellow;
+}
+
+.forum-topic
+{
+ padding: 10px;
+ border:1px solid silver;
+ margin-bottom: 10px;
+}
diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/media/stylesheet.css b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/media/stylesheet.css new file mode 100644 index 00000000..2c08f94f --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/media/stylesheet.css @@ -0,0 +1,129 @@ +BODY, DIV, SPAN, PRE, CODE, TD, TH {
+ line-height: 140%;
+ font-size: 10pt;
+ font-family: verdana,arial,sans-serif;
+}
+
+H1 {
+ font-size: 12pt;
+}
+
+H4 {
+ font-size: 10pt;
+ font-weight: bold;
+}
+
+P.label {
+ margin-bottom: 5px;
+}
+P.dt {
+ margin-top: 0px;
+ margin-bottom: 0px;
+}
+P.indent {
+ margin-top: 0px;
+ margin-left: 20px;
+ margin-bottom: 0px;
+}
+P.method {
+ background-color: #f0f0f0;
+ padding: 2px;
+ border: 1px #cccccc solid;
+}
+
+A {
+ text-decoration: none;
+}
+
+A:link{
+ color: #336699;
+}
+
+A:visited {
+ color: #003366;
+}
+
+A:active, A:hover {
+ color: #6699CC;
+}
+
+A:hover{
+ text-decoration: underline;
+}
+
+SPAN.type {
+ color: #336699;
+ font-size: xx-small;
+ font-weight: normal;
+ }
+
+PRE {
+ background-color: #EEEEEE;
+ padding: 10px;
+ border-width: 1px;
+ border-color: #336699;
+ border-style: solid;
+}
+
+HR {
+ color: #336699;
+ background-color: #336699;
+ border-width: 0px;
+ height: 1px;
+ filter: Alpha (opacity=100,finishopacity=0,style=1);
+}
+
+DIV.sdesc {
+ font-weight: bold;
+ background-color: #EEEEEE;
+ padding: 10px;
+ border-width: 1px;
+ border-color: #336699;
+ border-style: solid;
+}
+
+DIV.desc {
+ font-family: monospace;
+ background-color: #EEEEEE;
+ padding: 10px;
+ border-width: 1px;
+ border-color: #336699;
+ border-style: solid;
+}
+
+SPAN.code {
+ font-family: monospace;
+}
+
+CODE.varsummarydefault{
+ padding: 1px;
+ border-width: 1px;
+ border-style: dashed;
+ border-color: #336699;
+}
+
+UL.tute {
+ margin: 0px;
+ padding: 0px;
+ padding-left: 5px;
+ }
+
+LI.tute {
+ line-height: 140%;
+ font-size: 10pt;
+ text-indent: -15px;
+ padding-bottom: 2px;
+ padding-left: 14px;
+}
+
+.small{
+ font-size: 9pt;
+}
+
+
+.tute-tag { color: #009999 }
+.tute-attribute-name { color: #0000FF }
+.tute-attribute-value { color: #0099FF }
+.tute-entity { font-weight: bold; }
+.tute-comment { font-style: italic }
+.tute-inline-tag { color: #636311; font-weight: bold }
diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/method.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/method.tpl new file mode 100644 index 00000000..07cb76e5 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/method.tpl @@ -0,0 +1,58 @@ +{section name=methods loop=$methods}
+{if $show == 'summary'}
+method {$methods[methods].function_call}, {$methods[methods].sdesc}<br />
+{else}
+ <hr />
+ <a name="{$methods[methods].method_dest}"></a>
+ <h3>{if $methods[methods].ifunction_call.constructor}constructor {elseif $methods[methods].ifunction_call.destructor}destructor {else}method {/if}{$methods[methods].function_name} <span class="smalllinenumber">[line {if $methods[methods].slink}{$methods[methods].slink}{else}{$methods[methods].line_number}{/if}]</span></h3>
+ <div class="function">
+ <table width="90%" border="0" cellspacing="0" cellpadding="1"><tr><td class="code_border">
+ <table width="100%" border="0" cellspacing="0" cellpadding="2"><tr><td class="code">
+ <code>{$methods[methods].function_return} {if $methods[methods].ifunction_call.returnsref}&{/if}{$methods[methods].function_name}(
+{if count($methods[methods].ifunction_call.params)}
+{section name=params loop=$methods[methods].ifunction_call.params}
+{if $smarty.section.params.iteration != 1}, {/if}
+{if $methods[methods].ifunction_call.params[params].default != ''}[{/if}{$methods[methods].ifunction_call.params[params].type}
+{$methods[methods].ifunction_call.params[params].name}{if $methods[methods].ifunction_call.params[params].default != ''} = {$methods[methods].ifunction_call.params[params].default}]{/if}
+{/section}
+{/if})</code>
+ </td></tr></table>
+ </td></tr></table><br />
+
+ {include file="docblock.tpl" sdesc=$methods[methods].sdesc desc=$methods[methods].desc tags=$methods[methods].tags}<br /><br />
+
+{if $methods[methods].descmethod}
+ <p>Overridden in child classes as:<br />
+ {section name=dm loop=$methods[methods].descmethod}
+ <dl>
+ <dt>{$methods[methods].descmethod[dm].link}</dt>
+ <dd>{$methods[methods].descmethod[dm].sdesc}</dd>
+ </dl>
+ {/section}</p>
+{/if}
+{* original {if $methods[methods].descmethod != ""
+ {$methods[methods].descmethod<br /><br />
+ {/if *}
+{if $methods[methods].method_overrides}Overrides {$methods[methods].method_overrides.link} ({$methods[methods].method_overrides.sdesc|default:"parent method not documented"})<br /><br />{/if}
+{* original {if $methods[methods].method_overrides != ""
+ {$methods[methods].method_overrides<br /><br />
+ {/if *}
+
+ {if count($methods[methods].params) > 0}
+ <h4>Parameters:</h4>
+ <div class="tags">
+ <table border="0" cellspacing="0" cellpadding="0">
+ {section name=params loop=$methods[methods].params}
+ <tr>
+ <td class="type">{$methods[methods].params[params].datatype} </td>
+ <td><b>{$methods[methods].params[params].var}</b> </td>
+ <td>{$methods[methods].params[params].data}</td>
+ </tr>
+ {/section}
+ </table>
+ </div><br />
+ {/if}
+ <div class="top">[ <a href="#top">Top</a> ]</div>
+ </div>
+{/if}
+{/section}
diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/packages.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/packages.tpl new file mode 100644 index 00000000..b48b6719 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/packages.tpl @@ -0,0 +1,3 @@ +{section name=packages loop=$packages}
+<a href="{$packages[packages].link}">{$packages[packages].title}</a>
+{/section}
\ No newline at end of file diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/page.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/page.tpl new file mode 100644 index 00000000..6dd8683d --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/page.tpl @@ -0,0 +1,31 @@ +{include file="header.tpl" eltype="Procedural file" class_name=$name hasel=true contents=$pagecontents}
+
+<br>
+<br>
+
+{if $classes}
+<div class="contents">
+{if $tutorial}
+<span class="maintutorial">Main Tutorial: {$tutorial}</span>
+{/if}
+<h2>Classes:</h2>
+{section name=classes loop=$classes}
+<dt>{$classes[classes].link}</dt>
+ <dd>{$classes[classes].sdesc}</dd>
+{/section}
+</div><br /><br />
+{/if}
+
+<h2>Page Details:</h2>
+{include file="docblock.tpl" type="page"}
+<br /><br />
+{include file="include.tpl"}
+<br /><br />
+{include file="global.tpl"}
+<br /><br />
+{include file="define.tpl"}
+<br />
+{include file="function.tpl"}
+
+{include file="footer.tpl"}
+
diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/pkgelementindex.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/pkgelementindex.tpl new file mode 100644 index 00000000..753ad7cf --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/pkgelementindex.tpl @@ -0,0 +1,5 @@ +{include file="header.tpl"}
+<a name="top"></a>
+<h1>Element index for package {$package}</h1>
+{include file="basicindex.tpl" indexname=elementindex_$package}
+{include file="footer.tpl"}
diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/ric.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/ric.tpl new file mode 100644 index 00000000..c4cb83f9 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/ric.tpl @@ -0,0 +1,6 @@ +{include file="header.tpl"}
+<h1 align="center">{$name}</h1>
+<pre>
+{$contents|htmlentities}
+</pre>
+{include file="footer.tpl"}
\ No newline at end of file diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/todolist.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/todolist.tpl new file mode 100644 index 00000000..5ab0bca2 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/todolist.tpl @@ -0,0 +1,14 @@ +{include file="header.tpl" title="Todo List"}
+<div align="center"><h1>Todo List</h1></div>
+{foreach from=$todos key=todopackage item=todo}
+<h2>{$todopackage}</h2>
+{section name=todo loop=$todo}
+<h3>{$todo[todo].link}</h3>
+<ul>
+{section name=t loop=$todo[todo].todos}
+ <li>{$todo[todo].todos[t]}</li>
+{/section}
+</ul>
+{/section}
+{/foreach}
+{include file="footer.tpl"}
\ No newline at end of file diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/tutorial.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/tutorial.tpl new file mode 100644 index 00000000..22c71c3b --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/tutorial.tpl @@ -0,0 +1,32 @@ +{include file="header.tpl" title=$title}
+{if $nav}
+<table width="100%" border="0" cellpadding="0" cellspacing="0">
+<tr>
+<td width="10%" align="left" valign="bottom">{if $prev}<a href=
+"{$prev}">{/if}Prev{if $prev}</a>{/if}</td>
+<td width="80%" align="center" valign="bottom"></td>
+<td width="10%" align="right" valign="bottom">{if $next}<a href=
+"{$next}">{/if}Next{if $next}</a>{/if}</td>
+</tr>
+</table>
+{/if}
+{$contents}
+{if $nav}
+<table width="100%" border="0" cellpadding="0" cellspacing="0">
+<tr>
+<td width="33%" align="left" valign="top">{if $prev}<a href="{$prev}">{/if}
+Prev{if $prev}</a>{/if}</td>
+<td width="34%" align="center" valign="top">{if $up}<a href=
+"{$up}">Up</a>{else} {/if}</td>
+<td width="33%" align="right" valign="top">{if $next}<a href=
+"{$next}">{/if}Next{if $next}</a>{/if}</td>
+</tr>
+
+<tr>
+<td width="33%" align="left" valign="top">{if $prevtitle}{$prevtitle}{/if}</td>
+<td width="34%" align="center" valign="top">{if $uptitle}{$uptitle}{/if}</td>
+<td width="33%" align="right" valign="top">{if $nexttitle}{$nexttitle}{/if}</td>
+</tr>
+</table>
+{/if}
+{include file="footer.tpl"}
\ No newline at end of file diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/tutorial_toc.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/tutorial_toc.tpl new file mode 100644 index 00000000..1db34438 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/tutorial_toc.tpl @@ -0,0 +1,29 @@ +{if count($toc)}
+<h1 align="center">Table of Contents</h1>
+<ul>
+{section name=toc loop=$toc}
+{if $toc[toc].tagname == 'refsect1'}
+{assign var="context" value="refsect1"}
+{$toc[toc].link}<br />
+{/if}
+{if $toc[toc].tagname == 'refsect2'}
+{assign var="context" value="refsect2"}
+ {$toc[toc].link}<br />
+{/if}
+{if $toc[toc].tagname == 'refsect3'}
+{assign var="context" value="refsect3"}
+ {$toc[toc].link}<br />
+{/if}
+{if $toc[toc].tagname == 'table'}
+{if $context == 'refsect2'} {/if}
+{if $context == 'refsect3'} {/if}
+Table: {$toc[toc].link}
+{/if}
+{if $toc[toc].tagname == 'example'}
+{if $context == 'refsect2'} {/if}
+{if $context == 'refsect3'} {/if}
+Table: {$toc[toc].link}
+{/if}
+{/section}
+</ul>
+{/if}
\ No newline at end of file diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/tutorial_tree.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/tutorial_tree.tpl new file mode 100644 index 00000000..faf7bcef --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/tutorial_tree.tpl @@ -0,0 +1,5 @@ +<ul>
+ <li type="square"><a href="{$main.link}">{$main.title|strip_tags}</a>
+{if $kids}{$kids}</li>{/if}
+</ul>
+
diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/var.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/var.tpl new file mode 100644 index 00000000..c76929fe --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/var.tpl @@ -0,0 +1,28 @@ +{section name=vars loop=$vars}
+{if $show == 'summary'}
+ var {$vars[vars].var_name}, {$vars[vars].sdesc}<br>
+{else}
+ <a name="{$vars[vars].var_dest}"></a>
+ <p></p>
+ <h4>{$vars[vars].var_name} = <span class="value">{$vars[vars].var_default|replace:"\n":"<br>\n"|replace:" ":" "|replace:"\t":" "}</span></h4>
+ <p>[line {if $vars[vars].slink}{$vars[vars].slink}{else}{$vars[vars].line_number}{/if}]</p>
+ {include file="docblock.tpl" sdesc=$vars[vars].sdesc desc=$vars[vars].desc tags=$vars[vars].tags}
+
+ <br />
+ <div class="tags">
+ <table border="0" cellspacing="0" cellpadding="0">
+ <tr>
+ <td><b>Type:</b> </td>
+ <td>{$vars[vars].var_type}</td>
+ </tr>
+ {if $vars[vars].var_overrides != ""}
+ <tr>
+ <td><b>Overrides:</b> </td>
+ <td>{$vars[vars].var_overrides}</td>
+ </tr>
+ {/if}
+ </table>
+ </div><br /><br />
+ <div class="top">[ <a href="#top">Top</a> ]</div><br />
+{/if}
+{/section}
diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/default/options.ini b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/default/options.ini new file mode 100755 index 00000000..e61aeba8 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/default/options.ini @@ -0,0 +1,577 @@ +preservedocbooktags = false + +;; used to highlight the {@source} inline tag, @filesource tag, and @example tag +[highlightSourceTokens] +;; format: +;; T_CONSTANTNAME = open +;; /T_CONSTANTNAME = close + +T_INCLUDE = <span class="src-inc"> +/T_INCLUDE = </span> +T_INCLUDE_ONCE = <span class="src-inc"> +/T_INCLUDE_ONCE = </span> +T_REQUIRE_ONCE = <span class="src-inc"> +/T_REQUIRE_ONCE = </span> +T_REQUIRE_ONCE = <span class="src-inc"> +/T_REQUIRE_ONCE = </span> + +T_CONSTANT_ENCAPSED_STRING = <span class="src-str"> +/T_CONSTANT_ENCAPSED_STRING = </span> +T_STRING_VARNAME = <span class="src-str"> +/T_STRING_VARNAME = </span> + +T_STRING = <span class="src-id"> +/T_STRING = </span> + +T_DNUMBER = <span class="src-num"> +/T_DNUMBER = </span> +T_LNUMBER = <span class="src-num"> +/T_LNUMBER = </span> + +T_VARIABLE = <span class="src-var"> +/T_VARIABLE = </span> + +T_COMMENT = <span class="src-comm"> +/T_COMMENT = </span> +T_ML_COMMENT = <span class="src-comm"> +/T_ML_COMMENT = </span> + +T_OBJECT_OPERATOR = <span class="src-sym"> +/T_OBJECT_OPERATOR = </span> + +T_ABSTRACT = <span class="src-key"> +/T_ABSTRACT = </span> +T_CLONE = <span class="src-key"> +/T_CLONE = </span> +T_HALT_COMPILER = <span class="src-key"> +/T_HALT_COMPILER = </span> +T_ARRAY = <span class="src-key"> +/T_ARRAY = </span> +T_AS = <span class="src-key"> +/T_AS = </span> +T_BREAK = <span class="src-key"> +/T_BREAK = </span> +T_CLASS = <span class="src-key"> +/T_CLASS = </span> +T_CASE = <span class="src-key"> +/T_CASE = </span> +T_CONST = <span class="src-key"> +/T_CONST = </span> +T_CONTINUE = <span class="src-key"> +/T_CONTINUE = </span> +T_DECLARE = <span class="src-key"> +/T_DECLARE = </span> +T_DEFAULT = <span class="src-key"> +/T_DEFAULT = </span> +T_ELSE = <span class="src-key"> +/T_ELSE = </span> +T_ELSEIF = <span class="src-key"> +/T_ELSEIF = </span> +T_EMPTY = <span class="src-key"> +/T_EMPTY = </span> +T_ENDDECLARE = <span class="src-key"> +/T_ENDDECLARE = </span> +T_ENDFOR = <span class="src-key"> +/T_ENDFOR = </span> +T_ENDSWITCH = <span class="src-key"> +/T_ENDSWITCH = </span> +T_ENDFOREACH = <span class="src-key"> +/T_ENDFOREACH = </span> +T_ENDIF = <span class="src-key"> +/T_ENDIF = </span> +T_ENDWHILE = <span class="src-key"> +/T_ENDWHILE = </span> +T_EXIT = <span class="src-key"> +/T_EXIT = </span> +T_EXTENDS = <span class="src-key"> +/T_EXTENDS = </span> +T_FINAL = <span class="src-key"> +/T_FINAL = </span> +T_FOR = <span class="src-key"> +/T_FOR = </span> +T_FOREACH = <span class="src-key"> +/T_FOREACH = </span> +T_FUNCTION = <span class="src-key"> +/T_FUNCTION = </span> +T_GLOBAL = <span class="src-key"> +/T_GLOBAL = </span> +T_IF = <span class="src-key"> +/T_IF = </span> +T_IMPLEMENTS = <span class="src-key"> +/T_IMPLEMENTS = </span> +T_INTERFACE = <span class="src-key"> +/T_INTERFACE = </span> +T_LOGICAL_AND = <span class="src-key"> +/T_LOGICAL_AND = </span> +T_LOGICAL_OR = <span class="src-key"> +/T_LOGICAL_OR = </span> +T_LOGICAL_XOR = <span class="src-key"> +/T_LOGICAL_XOR = </span> +T_NEW = <span class="src-key"> +/T_NEW = </span> +T_PRIVATE = <span class="src-key"> +/T_PRIVATE = </span> +T_PROTECTED = <span class="src-key"> +/T_PROTECTED = </span> +T_PUBLIC = <span class="src-key"> +/T_PUBLIC = </span> +T_RETURN = <span class="src-key"> +/T_RETURN = </span> +T_STATIC = <span class="src-key"> +/T_STATIC = </span> +T_SWITCH = <span class="src-key"> +/T_SWITCH = </span> +T_VAR = <span class="src-key"> +/T_VAR = </span> +T_WHILE = <span class="src-key"> +/T_WHILE = </span> + +T_DOUBLE_COLON = <span class="src-sym"> +/T_DOUBLE_COLON = </span> + +T_OPEN_TAG = <span class="src-php"> +/T_OPEN_TAG = </span> +T_OPEN_TAG_WITH_ECHO = <span class="src-php"> +/T_OPEN_TAG_WITH_ECHO = </span> +T_CLOSE_TAG = <span class="src-php"> +/T_CLOSE_TAG = </span> + + +[highlightSource] +;; this is for highlighting things that aren't tokens like "&" +;; format: +;; word = open +;; /word = close +@ = <span class="src-sym"> +/@ = </span> +& = <span class="src-sym"> +/& = </span> +[ = <span class="src-sym"> +/[ = </span> +] = <span class="src-sym"> +/] = </span> +! = <span class="src-sym"> +/! = </span> +";" = <span class="src-sym"> +/; = </span> +( = <span class="src-sym"> +/( = </span> +) = <span class="src-sym"> +/) = </span> +, = <span class="src-sym"> +/, = </span> +{ = <span class="src-sym"> +/{ = </span> +} = <span class="src-sym"> +/} = </span> +""" = <span class="src-str"> +/" = </span> + +[highlightDocBlockSourceTokens] +;; this is for docblock tokens, using by phpDocumentor_HighlightParser +;; tagphptype is for "string" in @param string description, for example +docblock = <span class="src-doc"> +/docblock = </span> +tagphptype = <span class="src-doc-type"> +/tagphptype = </span> +tagvarname = <span class="src-doc-var"> +/tagvarname = </span> +coretag = <span class="src-doc-coretag"> +/coretag = </span> +tag = <span class="src-doc-tag"> +/tag = </span> +inlinetag = <span class="src-doc-inlinetag"> +/inlinetag = </span> +internal = <span class="src-doc-internal"> +/internal = </span> +closetemplate = <span class="src-doc-close-template"> +/closetemplate = </span> +docblocktemplate = <span class="src-doc-template"> +/docblocktemplate = </span> + +[highlightTutorialSourceTokens] +;; this is for XML DocBook-based tutorials, highlighted by phpDocumentor_TutorialHighlightParser +;; <tag> +opentag = <span class="tute-tag"> +/opentag = </span> +;; </tag> +closetag = <span class="tute-tag"> +/closetag = </span> +;; <tag attribute="value"> +attribute = <span class="tute-attribute-name"> +/attribute = </span> +;; <tag attribute="value"> +attributevalue = <span class="tute-attribute-value"> +/attributevalue = </span> +;; &entity; +entity = <span class="tute-entity"> +/entity = </span> +;; <!-- comment --> +comment = <span class="tute-comment"> +/comment = </span> +;; {@inline tag} +itag = <span class="tute-inline-tag"> +/itag = </span> + +;; used for translation of html in DocBlocks +[desctranslate] +ul = <ul> +/ul = </ul> +ol = <ol> +/ol = </ol> +li = <li> +/li = </li> +code = +/code = +var = <var> +/var = </var> +samp = <samp> +/samp = </samp> +kbd = <kbd> +/kbd = </kbd> +pre = <pre> +/pre = </pre> +p = <p> +/p = </p> +b = <strong> +/b = </strong> +i = <em> +/i = </em> +br = <br /> + +[ppage] +;; this is the DocBook package page translation section. All DocBook tags +;; that have a corresponding html tag must be listed here. Entities should +;; also be listed here +;; +;; examples: +;; 1) +;; tagname = newtagname +;; +;; This is the simplest case, where all attributes will be added into the +;; starting tag and the ending tag will be html/xml style </tranlatedtagname> +;; <tagname></tagname> becomes <newtagname></newtagname> and +;; <tagname attr="value"></tagname> becomes +;; <newtagname attr="value"></newtagname> +;; +;; 2) +;; tagname = newtagname +;; tagname->attr = newattrname +;; +;; in this case, everything will be like the first case, except tags like: +;; <tagname attr="value"></tagname> will become +;; <newtagname newattrname="value"></newtagname> +;; +;; 3) +;; tagname = newtagname +;; tagname->attr = newattrname +;; tagname->attr+value = newvalue +;; +;; in this case, the value is also translated to another. This can be useful +;; for instances such as focus="middle" changing to align="center" or something +;; of that nature. +;; <tagname attr="value"></tagname> will become +;; <newtagname newattrname="newvalue"></newtagname> +;; +;; 4) +;; tagname = newtagname +;; tagname->attr1 = newattrname +;; tagname->attr2 = newattrname +;; tagname->attr1+value|attr2+value = newvalue +;; +;; in this case, two attributes combine to make one new attribute, and the combined +;; value is translated into a new value +;; <tagname attr1="value1" attr2="value2"></tagname> will become +;; <newtagname newattrname="newvalue"></newtagname> +;; +;; 5) +;; tagname = newtagname +;; tagname!attr = dummy +;; +;; here, the attribute will be ignored. dummy is not used and may be any value +;; <tagname attr="value"></tagname> will become +;; <newtagname></newtagname> +;; +;; 6) +;; tagname = newtagname +;; tagname! = dummy +;; +;; here, all attributes will be ignored. dummy is not used and may be any value +;; <tagname attr1="value" attr2="foo"></tagname> will become +;; <newtagname></newtagname> +;; +;; 7) +;; tagname = newtagname +;; tagname/ = 1 +;; +;; here, the tag will be translated as a single tag with no closing tag, and all +;; attributes +;; <tagname attr="val">{text text}</tagname> will become +;; <newtagname attr="val" /> +;; +;; 8) +;; tagname = <starttaginfo /> +;; /tagname = closetagtext +;; +;; in this case, the text <starttaginfo> will be inserted exactly as entered for +;; <tagname> and closetagtext for </tagname> +;; <tagname attr="val"></tagname> will become +;; <starttaginfo />closetagtext +;; +;; 9) +;; $attr$my_attribute = newattrname +;; +;; tagname = newtagname +;; +;; in this case, all occurences of my_attribute in any tag will be changed to +;; newattrname. This is useful for changing things like role="php" to +;; class="php," for example. Note that the text "$attr$" MUST be on the line +;; start for phpDocumentor to recognize it. +;; +;; 10) +;; &entity; = translation text +;; " = " +;; " = """ +;; < = < +;; +;; Use this to control translation of entities to their appropriate values + + = +" = " +” = ” +“ = “ +& = & +< = < +> = > +© = © + +$attr$role = class + +abbrev = abbr + +blockquote = blockquote + +arg = span +arg->choice = class + +author = <span class="author"> +/author = </span> +author! = 0 + +authorblurb = <div class="author-blurb"> +/authorblurb = </div> + +authorgroup = <div class="authors"><h2 class="title">Authors</h2> +/authorgroup = </div> +authorgroup! = 0 + +caution = <span class="warning"> +/caution = </span> +caution! = 0 + +cmdsynopsis = <div class="cmd-synopsis"> +/cmdsynopsis = </div> + +command = <span class="cmd-title"> +/command = </span> + +copyright = <div class="notes"> +/copyright = </div> + +emphasis = em + +example = <div class="src-code"> +/example = </div> +example! = 0 + +function = +/function = () + +formalpara = p + +graphic = img +graphic->fileref = src +graphic/ = + +important = strong + +informalequation = blockquote + +informalexample = div + +inlineequation = em + +itemizedlist = ul + +listitem = li + +literal = code + +literallayout = span + +option = " " +/option = + +orderedlist = ol + +para = p + +programlisting = <div class="src-code"> +/programlisting = </div> +programlisting! = 0 + +refentry = div + +refnamediv = <div class="ref-title-box"> +/refnamediv = </div> +refnamediv! = 0 + +refname = <h1 class="ref-title"> +/refname = </h1> + +refpurpose = <h2 class="ref-purpose"> +/refpurpose = </h2> + +refsynopsisdiv = <div class="ref-synopsis"> +/refsynopsisdiv = </div> +refsynopsisdiv! = 0 + +refsect1 = span + +refsect2 = +/refsect2 = <hr /> + +refsect3 = +/refsect3 = <br /> + +releaseinfo = <div class="release-info">( +/releaseinfo = )</div> + +simpara = +/simpara = <br /> +simpara! = 0 + +subscript = sub + +superscript = super + +table = table + +table->colsep = rules +table->rowsep = rules +table->colsep+1|rowsep+1 = all +table->colsep+1|rowsep+0 = cols +table->colsep+0|rowsep+1 = rows + +table->frame = frame +table->frame+all = border +table->frame+none = void +table->frame+sides = vsides +table->frame+top = above +table->frame+topbot = hsides + +thead = thead + +tfoot = tfoot + +tbody = tbody + +colspec = col + +tgroup = colgroup +tgroup/ = 1 +tgroup->cols = span + +row = tr + +entry = td +entry->morerows = colspan +entry->morerows+1 = 2 +entry->morerows+2 = 3 +entry->morerows+3 = 4 +entry->morerows+4 = 5 +entry->morerows+5 = 6 +entry->morerows+6 = 7 +entry->morerows+7 = 8 +entry->morerows+8 = 9 +entry->morerows+9 = 10 +entry->morerows+10 = 11 +;; add more if you need more colspans + +warning = <span class="warning"> +/warning = </span> +warning! = 0 + +;; now begins the attributes that should be tags in cdata +[$attr$id] +open = a +;close = /a +cdata! = true +quotevalues = true +separator = "=" +;separateall = true +$id = name + +;; now begins the sections that deal with <title> +[refsynopsisdiv_title] +;tag_attr = true +;attr_name = title +cdata_start = true +;cdata_end = true +open = <h1 class="title" align="center"> +close = </h1> + +[refsect1_title] +;tag_attr = true +;attr_name = title +cdata_start = true +;cdata_end = true +open = <h2 class="title"> +close = </h2> + +[refsect2_title] +;tag_attr = true +;attr_name = title +cdata_start = true +;cdata_end = true +open = <h3 class="title"> +close = </h3> + +[refsect3_title] +;tag_attr = true +;attr_name = title +cdata_start = true +;cdata_end = true +open = <h4 class="title"> +close = </h4> + +[para_title] +;tag_attr = true +;attr_name = title +cdata_start = true +;cdata_end = true +open = <div class="title"> +close = </div> + +[formalpara_title] +;tag_attr = true +;attr_name = title +cdata_start = true +;cdata_end = true +open = <div class="title"> +close = </div> + +[example_title] +;tag_attr = true +;attr_name = title +;cdata_start = true +cdata_end = true +open = </td></tr><tr><td><strong> +close = </strong> + +[table_title] +;tag_attr = true +;attr_name = true +cdata_start = true +open = <caption> +close = </caption> diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/default/templates/basicindex.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/default/templates/basicindex.tpl new file mode 100755 index 00000000..b3f0c4a4 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/default/templates/basicindex.tpl @@ -0,0 +1,17 @@ +{section name=letter loop=$letters} + <a href="{$indexname}.html#{$letters[letter].letter}">{$letters[letter].letter}</a> +{/section} + +{section name=index loop=$index} + <a name="{$index[index].letter}"></a> + <a href="{$indexname}.html#top">top</a><br> + <div> + <h2>{$index[index].letter}</h2> + <dl class="lettercontents"> + {section name=contents loop=$index[index].index} + <dt>{$index[index].index[contents].name}</dt> + <dd>{$index[index].index[contents].listing}</dd> + {/section} + </dl> + </div> +{/section} diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/default/templates/blank.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/default/templates/blank.tpl new file mode 100755 index 00000000..aae59975 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/default/templates/blank.tpl @@ -0,0 +1,5 @@ +<div align="center"><h1>{$maintitle}</h1></div> +<b>Welcome to {$package}!</b><br /> +<br /> +This documentation was generated by <a href="{$phpdocwebsite}">phpDocumentor v{$phpdocversion}</a><br /> + diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/default/templates/class.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/default/templates/class.tpl new file mode 100755 index 00000000..399116ad --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/default/templates/class.tpl @@ -0,0 +1,173 @@ +{include file="header.tpl" eltype="class" hasel=true contents=$classcontents} + +{if $conflicts.conflict_type}<p class="warning">Conflicts with classes:<br /> + {section name=me loop=$conflicts.conflicts} + {$conflicts.conflicts[me]}<br /> + {/section} +<p> + {/if} + +<div class="leftcol"> + <h3><a href="#class_details">{if $is_interface}Interface{else}Class{/if} Overview</a> <span class="smalllinenumber">[line {if $class_slink}{$class_slink}{else}{$line_number}{/if}]</span></h3> + <div id="classTree"><pre>{section name=tree loop=$class_tree.classes}{$class_tree.classes[tree]}{$class_tree.distance[tree]}{/section}</pre> +</div> + <div class="small"> + <p>{$sdesc|default:''}</p> + {if $tutorial} + <h4 class="classtutorial">{if $is_interface}Interface{else}Class{/if} Tutorial:</h4> + <ul> + <li>{$tutorial}</li> + </ul> + {/if} + <h4>Author(s):</h4> + <ul> + {section name=tag loop=$tags} + {if $tags[tag].keyword eq "author"} + <li>{$tags[tag].data}</li> + {/if} + {/section} + </ul> + <h4>Version:</h4> + <ul> + {section name=tag loop=$tags} + {if $tags[tag].keyword eq "version"} + <li>{$tags[tag].data}</li> + {/if} + {/section} + </ul> + + <h4>Copyright:</h4> + <ul> + {section name=tag loop=$tags} + {if $tags[tag].keyword eq "copyright"} + <li>{$tags[tag].data}</li> + {/if} + {/section} + </li> + </div> +</div> + +<div class="middlecol"> + <h3><a href="#class_vars">Variables</a></h3> + <ul class="small"> + {section name=contents loop=$contents.var} + <li>{$contents.var[contents]}</li> + {/section} + </ul> + <h3><a href="#class_consts">Constants</a></h3> + <ul class="small"> + {section name=contents loop=$contents.const} + <li>{$contents.const[contents]}</li> + {/section} + </ul> +</div> +<div class="rightcol"> + <h3><a href="#class_methods">Methods</a></h3> + <ul class="small"> + {section name=contents loop=$contents.method} + <li>{$contents.method[contents]}</li> + {/section} + </ul> +</div> + +<div id="content"> +<hr> + <div class="contents"> +{if $children} + <h2>Child classes:</h2> + {section name=kids loop=$children} + <dl> + <dt>{$children[kids].link}</dt> + <dd>{$children[kids].sdesc}</dd> + </dl> + {/section}</p> +{/if} + </div> + + <div class="leftCol"> + {if $implements} + <h2>Implements interfaces</h2> + <ul> + {foreach item="int" from=$implements}<li>{$int}</li>{/foreach} + </ul> + {/if} + <h2>Inherited Variables</h2> + {section name=ivars loop=$ivars} + <div class="indent"> + <h3>Class: {$ivars[ivars].parent_class}</h3> + <div class="small"> + <dl> + {section name=ivars2 loop=$ivars[ivars].ivars} + <dt> + {$ivars[ivars].ivars[ivars2].link} + </dt> + <dd> + {$ivars[ivars].ivars[ivars2].ivars_sdesc} + </dd> + {/section} + </dl> + </div> + </div> + {/section} + <h2>Inherited Constants</h2> + {section name=iconsts loop=$iconsts} + <div class="indent"> + <h3>Class: {$iconsts[iconsts].parent_class}</h3> + <div class="small"> + <dl> + {section name=iconsts2 loop=$iconsts[iconsts].iconsts} + <dt> + {$iconsts[iconsts].iconsts[iconsts2].link} + </dt> + <dd> + {$iconsts[iconsts].iconsts[iconsts2].iconsts_sdesc} + </dd> + {/section} + </dl> + </div> + </div> + {/section} + </div> + + <div class="rightCol"> + <h2>Inherited Methods</h2> + {section name=imethods loop=$imethods} + <div class="indent"> + <h3>Class: {$imethods[imethods].parent_class}</h3> + <dl class="small"> + {section name=im2 loop=$imethods[imethods].imethods} + <dt> + {$imethods[imethods].imethods[im2].link} + </dt> + <dd> + {$imethods[imethods].imethods[im2].sdesc} + </dd> + {/section} + </dl> + </div> + {/section} + </div> + <br clear="all"> + <hr> + + <a name="class_details"></a> + <h2>Class Details</h2> + {include file="docblock.tpl" type="class" sdesc=$sdesc desc=$desc} + <p class="small" style="color: #334B66;">[ <a href="#top">Top</a> ]</p> + + <hr> + <a name="class_vars"></a> + <h2>Class Variables</h2> + {include file="var.tpl"} + + <hr> + <a name="class_methods"></a> + <h2>Class Methods</h2> + {include file="method.tpl"} + + <hr> + <a name="class_consts"></a> + <h2>Class Constants</h2> + {include file="const.tpl"} +</div> +{include file="footer.tpl"} diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/default/templates/classleft.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/default/templates/classleft.tpl new file mode 100755 index 00000000..7d7de89a --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/default/templates/classleft.tpl @@ -0,0 +1,8 @@ +{foreach key=subpackage item=files from=$classleftindex} + {if $subpackage != ""}<b>{$subpackage}</b><br>{/if} + {section name=files loop=$files} + {if $files[files].link != ''}<a href="{$files[files].link}">{/if} + {$files[files].title} + {if $files[files].link != ''}</a>{/if}<br> + {/section} +{/foreach} diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/default/templates/classtrees.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/default/templates/classtrees.tpl new file mode 100755 index 00000000..0c0e974a --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/default/templates/classtrees.tpl @@ -0,0 +1,17 @@ +{include file="header.tpl" noleftindex=true} +<h1>{$title}</h1> +{if $interfaces} +{section name=classtrees loop=$interfaces} +<hr /> +<div class="classtree">Root interface {$interfaces[classtrees].class}</div><br /> +{$interfaces[classtrees].class_tree} +{/section} +{/if} +{if $classtrees} +{section name=classtrees loop=$classtrees} +<hr /> +<div class="classtree">Root class {$classtrees[classtrees].class}</div><br /> +{$classtrees[classtrees].class_tree} +{/section} +{/if} +{include file="footer.tpl"} diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/default/templates/const.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/default/templates/const.tpl new file mode 100644 index 00000000..aeab7293 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/default/templates/const.tpl @@ -0,0 +1,14 @@ +{section name=consts loop=$consts} +{if $show == 'summary'} + var {$consts[consts].const_name}, {$consts[consts].sdesc}<br> +{else} + <a name="{$consts[consts].const_dest}"></a> + <p></p> + <h4>{$consts[consts].const_name} = <span class="value">{$consts[consts].const_value|replace:"\n":"<br>\n"|replace:" ":" "|replace:"\t":" "}</span></h4> + <div class="indent"> + <p class="linenumber">[line {if $consts[consts].slink}{$consts[consts].slink}{else}{$consts[consts].line_number}{/if}]</p> + {include file="docblock.tpl" sdesc=$consts[consts].sdesc desc=$consts[consts].desc tags=$consts[consts].tags} + </div> + <p class="top">[ <a href="#top">Top</a> ]</p> +{/if} +{/section} diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/default/templates/define.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/default/templates/define.tpl new file mode 100755 index 00000000..0aa7ef76 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/default/templates/define.tpl @@ -0,0 +1,23 @@ +<div id="define{if $show == 'summary'}_summary{/if}"> +{section name=def loop=$defines} +{if $show == 'summary'} +define constant <a href="{$defines[def].id}">{$defines[def].define_name}</a> = {$defines[def].define_value}, {$defines[def].sdesc}<br> +{else} + <a name="{$defines[def].define_link}"></a> + <h3>{$defines[def].define_name}</h3> + <div class="indent"> + <p class="linenumber">[line {if $defines[def].slink}{$defines[def].slink}{else}{$defines[def].line_number}{/if}]</p> + <p><code>{$defines[def].define_name} = {$defines[def].define_value}</code></p> + {include file="docblock.tpl" sdesc=$defines[def].sdesc desc=$defines[def].desc tags=$defines[def].tags} + {if $defines[def].define_conflicts.conflict_type} + <p><b>Conflicts with defines:</b> + {section name=me loop=$defines[def].define_conflicts.conflicts} + {$defines[def].define_conflicts.conflicts[me]}<br /> + {/section} + </p> + {/if} + </div> + <p class="top">[ <a href="#top">Top</a> ]</p> +{/if} +{/section} +</div> diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/default/templates/docblock.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/default/templates/docblock.tpl new file mode 100755 index 00000000..9ea60cf2 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/default/templates/docblock.tpl @@ -0,0 +1,13 @@ +{if $sdesc != ''} +<p align="center"><strong>{$sdesc|default:''} +</strong></p> +{/if} +{if $desc != ''}{$desc|default:''}{/if} +{if count($tags)} +<h4>Tags:</h4> +<ul> +{section name=tag loop=$tags} + <li><b>{$tags[tag].keyword}</b> - {$tags[tag].data}</li> +{/section} +</ul> +{/if} diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/default/templates/elementindex.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/default/templates/elementindex.tpl new file mode 100755 index 00000000..0ff4a79e --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/default/templates/elementindex.tpl @@ -0,0 +1,5 @@ +{include file="header.tpl" noleftindex=true} +<a name="top"></a> +<h1>Index of All Elements</h1> +{include file="basicindex.tpl" indexname="elementindex"} +{include file="footer.tpl"} diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/default/templates/errors.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/default/templates/errors.tpl new file mode 100755 index 00000000..0f526584 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/default/templates/errors.tpl @@ -0,0 +1,21 @@ +{include file="header.tpl" noleftindex=true} +{section name=files loop=$files} +<a href="#{$files[files].file}">{$files[files].file}</a><br> +{/section} +{foreach key=file item=issues from=$all} +<a name="{$file}"></a> +<h1>{$file}</h1> +{if count($issues.warnings)} +<h2>Warnings:</h2><br> +{section name=warnings loop=$issues.warnings} +<b>{$issues.warnings[warnings].name}</b> - {$issues.warnings[warnings].listing}<br> +{/section} +{/if} +{if count($issues.errors)} +<h2>Errors:</h2><br> +{section name=errors loop=$issues.errors} +<b>{$issues.errors[errors].name}</b> - {$issues.errors[errors].listing}<br> +{/section} +{/if} +{/foreach} +{include file="footer.tpl"} diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/default/templates/examplesource.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/default/templates/examplesource.tpl new file mode 100755 index 00000000..1bf1f882 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/default/templates/examplesource.tpl @@ -0,0 +1,6 @@ +{include file="header.tpl" title=$title} +<h1 align="center">{$title}</h1> +<div class="php-src"> +{$source} +</div> +{include file="footer.tpl"}
\ No newline at end of file diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/default/templates/fileleft.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/default/templates/fileleft.tpl new file mode 100755 index 00000000..9e141dc5 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/default/templates/fileleft.tpl @@ -0,0 +1,8 @@ +{foreach key=subpackage item=files from=$fileleftindex} + {if $subpackage != ""}subpackage <b>{$subpackage}</b><br>{/if} + {section name=files loop=$files} + {if $files[files].link != ''}<a href="{$files[files].link}">{/if} + {$files[files].title} + {if $files[files].link != ''}</a>{/if}<br> + {/section} +{/foreach} diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/default/templates/filesource.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/default/templates/filesource.tpl new file mode 100755 index 00000000..15f7fbfe --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/default/templates/filesource.tpl @@ -0,0 +1,8 @@ +{capture name="tutle"}File Source for {$name}{/capture} +{include file="header.tpl" title=$smarty.capture.tutle} +<h1 align="center">Source for file {$name}</h1> +<p>Documentation is available at {$docs}</p> +<div class="php-src"> +{$source} +</div> +{include file="footer.tpl"}
\ No newline at end of file diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/default/templates/footer.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/default/templates/footer.tpl new file mode 100755 index 00000000..0bdda65c --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/default/templates/footer.tpl @@ -0,0 +1,7 @@ + <div id="credit"> + <hr> + Documentation generated on {$date} by <a href="{$phpdocwebsite}">phpDocumentor {$phpdocversion}</a> + </div> +</div> +</body> +</html> diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/default/templates/function.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/default/templates/function.tpl new file mode 100755 index 00000000..14fd78eb --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/default/templates/function.tpl @@ -0,0 +1,39 @@ +<div id="function{if $show == 'summary'}_summary{/if}"> +{section name=func loop=$functions} +{if $show == 'summary'} +function {$functions[func].id}, {$functions[func].sdesc}<br> +{else} + <a name="{$functions[func].function_dest}"></a> + <h3>{$functions[func].function_name}</h3> + <div class="indent"> + <code>{$functions[func].function_return} {if $functions[func].ifunction_call.returnsref}&{/if}{$functions[func].function_name}( +{if count($functions[func].ifunction_call.params)} +{section name=params loop=$functions[func].ifunction_call.params} +{if $smarty.section.params.iteration != 1}, {/if}{if $functions[func].ifunction_call.params[params].hasdefault}[{/if}{$functions[func].ifunction_call.params[params].type} {$functions[func].ifunction_call.params[params].name}{if $functions[func].ifunction_call.params[params].hasdefault} = {$functions[func].ifunction_call.params[params].default|escape:"html"}]{/if} +{/section} +{/if})</code> + <p class="linenumber">[line {if $functions[func].slink}{$functions[func].slink}{else}{$functions[func].line_number}{/if}]</p> + {include file="docblock.tpl" sdesc=$functions[func].sdesc desc=$functions[func].desc tags=$functions[func].tags} + {if $functions[func].function_conflicts.conflict_type} + <p><b>Conflicts with functions:</b> + {section name=me loop=$functions[func].function_conflicts.conflicts} + {$functions[func].function_conflicts.conflicts[me]}<br /> + {/section} + </p> + {/if} + + <h4>Parameters</h4> + <ul> + {section name=params loop=$functions[func].params} + <li> + <span class="type">{$functions[func].params[params].datatype}</span> + <b>{$functions[func].params[params].var}</b> + - + {$functions[func].params[params].data}</li> + {/section} + </ul> + </div> + <p class="top">[ <a href="#top">Top</a> ]</p> +{/if} +{/section} +</div> diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/default/templates/global.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/default/templates/global.tpl new file mode 100755 index 00000000..9fa52bce --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/default/templates/global.tpl @@ -0,0 +1,24 @@ +<div id="global{if $show == 'summary'}_summary{/if}"> +{section name=glob loop=$globals} +{if $show == 'summary'} +global variable <a href="{$globals[glob].id}">{$globals[glob].global_name}</a> = {$globals[glob].global_value}, {$globals[glob].sdesc}<br> +{else} + <a name="{$globals[glob].global_link}"></a> + <h3><i>{$globals[glob].global_type}</i> {$globals[glob].global_name}</h3> + <div class="indent"> + <p class="linenumber">[line {if $globals[glob].slink}{$globals[glob].slink}{else}{$globals[glob].line_number}{/if}]</p> + {include file="docblock.tpl" sdesc=$globals[glob].sdesc desc=$globals[glob].desc tags=$globals[glob].tags} + + <p><b>Default Value:</b>{$globals[glob].global_value|replace:"\n":"<br>\n"|replace:" ":" "|replace:"\t":" "}</p> + {if $globals[glob].global_conflicts.conflict_type} + <p><b>Conflicts with globals:</b> + {section name=me loop=$globals[glob].global_conflicts.conflicts} + {$globals[glob].global_conflicts.conflicts[me]}<br /> + {/section} + </p> + {/if} + </div> + <p class="top">[ <a href="#top">Top</a> ]</p> +{/if} +{/section} +</div> diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/default/templates/header.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/default/templates/header.tpl new file mode 100755 index 00000000..f23687eb --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/default/templates/header.tpl @@ -0,0 +1,101 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<html> +<head> + <title>{$title}</title> + <link rel="stylesheet" type="text/css" id="layout" href="{$subdir}media/layout.css" media="screen"> + <link rel="stylesheet" type="text/css" href="{$subdir}media/style.css" media="all"> + <link rel="stylesheet" type="text/css" href="{$subdir}media/print.css" media="print"> +</head> + +<body> +<div id="header"> + <div id="navLinks"> + {assign var="packagehaselements" value=false} + {foreach from=$packageindex item=thispackage} + {if in_array($package, $thispackage)} + {assign var="packagehaselements" value=true} + {/if} + {/foreach} + {if $packagehaselements} + [ <a href="{$subdir}classtrees_{$package}.html">Class Tree: {$package}</a> ] + [ <a href="{$subdir}elementindex_{$package}.html">Index: {$package}</a> ] + {/if} + [ <a href="{$subdir}elementindex.html">All elements</a> ] + </div> + <div id="packagePosition"> + <div id="packageTitle2">{$package}</div> + <div id="packageTitle">{$package}</div> + <div id="elementPath">{$subpackage} · {$current}</div> + </div> +</div> + +<div id="nav" class="small"> +{if count($ric) >= 1} + <div id="ric"> + {section name=ric loop=$ric} + <p><a href="{$subdir}{$ric[ric].file}">{$ric[ric].name}</a></p> + {/section} + </div> +{/if} +{if $hastodos} + <div id="todolist"> + <p><a href="{$subdir}{$todolink}">Todo List</a></p> + </div> +{/if} + <div id="packages"> + Packages: + {section name=packagelist loop=$packageindex} + <p><a href="{$subdir}{$packageindex[packagelist].link}">{$packageindex[packagelist].title}</a></p> + {/section} + </div> +{if $tutorials} + <div id="tutorials"> + Tutorials/Manuals:<br /> + {if $tutorials.pkg} + <strong>Package-level:</strong> + {section name=ext loop=$tutorials.pkg} + {$tutorials.pkg[ext]} + {/section} + {/if} + {if $tutorials.cls} + <strong>Class-level:</strong> + {section name=ext loop=$tutorials.cls} + {$tutorials.cls[ext]} + {/section} + {/if} + {if $tutorials.proc} + <strong>Procedural-level:</strong> + {section name=ext loop=$tutorials.proc} + {$tutorials.proc[ext]} + {/section} + {/if} + </div> +{/if} + + {if !$noleftindex}{assign var="noleftindex" value=false}{/if} + {if !$noleftindex} + <div id="index"> + <div id="files"> + {if $compiledfileindex} + Files:<br> + {eval var=$compiledfileindex}{/if} + </div> + <div id="interfaces"> + {if $compiledinterfaceindex}Interfaces:<br> + {eval var=$compiledinterfaceindex}{/if} + </div> + <div id="classes"> + {if $compiledclassindex}Classes:<br> + {eval var=$compiledclassindex}{/if} + </div> + </div> + {/if} +</div> + +<div id="body"> + {if !$hasel}{assign var="hasel" value=false}{/if} + {if $eltype == 'class' && $is_interface}{assign var="eltype" value="interface"}{/if} + {if $hasel} + <h1>{$eltype|capitalize}: {$class_name}</h1> + <p style="margin: 0px;">Source Location: {$source_location}</p> + {/if} diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/default/templates/include.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/default/templates/include.tpl new file mode 100755 index 00000000..f2f5625d --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/default/templates/include.tpl @@ -0,0 +1,8 @@ +{if count($includes) > 0} +Includes:<br> +{section name=includes loop=$includes} +{$includes[includes].include_name}({$includes[includes].include_value}) <span class="linenumber">[line {if $includes[includes].slink}{$includes[includes].slink}{else}{$includes[includes].line_number}{/if}]</span> +<br /> +{include file="docblock.tpl" sdesc=$includes[includes].sdesc desc=$includes[includes].desc tags=$includes[includes].tags} +{/section} +{/if}
\ No newline at end of file diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/default/templates/index.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/default/templates/index.tpl new file mode 100755 index 00000000..a493f70e --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/default/templates/index.tpl @@ -0,0 +1,7 @@ +{include file="header.tpl"} +{if $contents} +{$contents} +{else} +{include file="blank.tpl"} +{/if} +{include file="footer.tpl"} diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/default/templates/layout.css b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/default/templates/layout.css new file mode 100755 index 00000000..1184cf1f --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/default/templates/layout.css @@ -0,0 +1,81 @@ +#header { + z-index: 100; + position: absolute; + top: 0px; + left: 0px; + width: 100%; + height: 5%; +} +#nav { + z-index: 200; + position: absolute; + top: 5%; + left: 0px; + width: 15%; + height: 1600px; + clip: auto; + overflow: auto; +} +#body { + position: absolute; + top: 6%; + left: 17%; + width: 82%; +} +#content { + clear: both; + top: -1px; +} +#packagePosition { + position: absolute; + right: 5px; + top: 0px; + width: 35%; + height: 100%; +} +#packageTitle { + position: absolute; + right: 0px; +} +#packageTitle2 { + position: absolute; + right: -3px; + top: -2px; +} +#elementPath { + position: absolute; + right: 0px; + bottom: 0px; +} +#navLinks { + position: absolute; + top: 0px; + left: 10px; + height: 100%; + +} +.leftCol { + width: auto; + float: left; +} +.middleCol { + width: auto; + float: left; +} +.rightCol { + width: auto; + float: left; +} +#credit { + margin-top: 20px; + margin-bottom: 50px; +} + +/** Fixed layout for nav on mozilla */ +head:first-child+body div#header { + position: fixed; +} +head:first-child+body div#nav { + position: fixed; + height: 94% +} diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/default/templates/media/layout.css b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/default/templates/media/layout.css new file mode 100755 index 00000000..1184cf1f --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/default/templates/media/layout.css @@ -0,0 +1,81 @@ +#header { + z-index: 100; + position: absolute; + top: 0px; + left: 0px; + width: 100%; + height: 5%; +} +#nav { + z-index: 200; + position: absolute; + top: 5%; + left: 0px; + width: 15%; + height: 1600px; + clip: auto; + overflow: auto; +} +#body { + position: absolute; + top: 6%; + left: 17%; + width: 82%; +} +#content { + clear: both; + top: -1px; +} +#packagePosition { + position: absolute; + right: 5px; + top: 0px; + width: 35%; + height: 100%; +} +#packageTitle { + position: absolute; + right: 0px; +} +#packageTitle2 { + position: absolute; + right: -3px; + top: -2px; +} +#elementPath { + position: absolute; + right: 0px; + bottom: 0px; +} +#navLinks { + position: absolute; + top: 0px; + left: 10px; + height: 100%; + +} +.leftCol { + width: auto; + float: left; +} +.middleCol { + width: auto; + float: left; +} +.rightCol { + width: auto; + float: left; +} +#credit { + margin-top: 20px; + margin-bottom: 50px; +} + +/** Fixed layout for nav on mozilla */ +head:first-child+body div#header { + position: fixed; +} +head:first-child+body div#nav { + position: fixed; + height: 94% +} diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/default/templates/media/print.css b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/default/templates/media/print.css new file mode 100755 index 00000000..3fcc2baa --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/default/templates/media/print.css @@ -0,0 +1,25 @@ +BODY { + margin: 1em; +} +#header { +} +#nav { + display: none; +} +#packagePosition { + text-align: right; +} +#packageTitle { + display: inline; + margin: 5px; +} +#packageTitle2 { + display: none; +} +#elementPath { + display: inline; + margin: 5px; +} +#navLinks { + display: none; +} diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/default/templates/media/style.css b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/default/templates/media/style.css new file mode 100755 index 00000000..041c489a --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/default/templates/media/style.css @@ -0,0 +1,236 @@ +BODY { + background: #FFFFFF; + font-family: Arial; + margin: 0px; + padding: 0px; +} +A { + color: #CC4400; + font-weight: bold; +} +A:Hover { + color: white; + background-color: #334B66; + font-weight: bold; + text-decoration: none; +} + +#packageTitle { + font-size: 160%; + font-weight: bold; + text-align: right; + color: #CC6633; +} +#packageTitle2 { + font-size: 160%; + font-weight: bold; + text-align: right; + color: #334B66; + background-color: #6699CC; +} +#packageLinks { + background-color: #6699CC; +} +#header { + background-color: #6699CC; + border-bottom: solid #334B66 4px; +} +#nav { + background-color: #6699CC; + padding: 4px; + border-right: solid #334B66 4px; +} +#index { + padding: 18px; +} +hr { + width: 80%; + background-color: #6699CC; + color: #6699CC; + margin-top: 15px; + margin-bottom: 15px; + clear: both; +} +.links { + text-align: left; + width: 98%; + margin: auto; +} +UL { + margin: 0px; + padding: 0px; + padding-left: 5px; + list-style-type: none; +} +li { + text-indent: -15px; + padding-bottom: 2px; + padding-left: 14px; +} +dd { + margin-bottom: .5em; +} +.small { + font-size: 80%; +} +h3 { +} +.middleCol { + margin-left: -1px; + border-right: dotted gray 1px; + border-left: dotted gray 1px; + padding: 5px; +} +.leftCol { + border-right: dotted gray 1px; + padding: 5px; +} +.rightCol { + margin-left: -1px; + border-left: dotted gray 1px; + padding: 5px; +} +#elementPath { + font-size: 14px; + font-weight: bold; + color: #334B66; +} +.constructor { + /*border: dashed #334B66 1px;*/ + font-weight: bold; +} +#credit { + text-align: center; + color: #334B66; + font-weight: bold; +} +div.contents { + border: solid #334B66 1px; + padding: 3px; + margin-bottom: 5px; + clear: all; +} +H1 { + margin: 0px; +} +H2 { + margin: 0px; + margin-bottom: 2px; +} +H3 { + margin: 0px; +} +H4 { + margin: 0px; +} +#classTree { + padding: 0px; + margin: 0px; +} +div.indent { + margin-left: 15px; +} +.warning { + color: red; + background-color: #334B66; + font-weight: bold; +} +code { + font-family: fixed; + padding: 3px; + color: #334B66; + background-color: #dddddd; +} +.type { + color: #334B66; +} +.value { + color: #334B66; + border: dotted #334B66 1px; +} +.top { + color: #334B66; + border-bottom: dotted #334B66 1px; + padding-bottom: 4px; +} +.php-src, .php, .listing { + font-family: fixed; + padding: 3px; + color: #334B66; + background-color: #dddddd; + font-family: 'Courier New', Courier, monospace; font-weight: normal; +} +DIV#nav DL { + margin: 0px; + padding: 0px; + list-style-type: none; +} +div.classtree { + font-size: 130%; + font-weight: bold; + background-color: #CC6633; + border: dotted #334B66 2px; +} +span.linenumber,p.linenumber { + font-weight: bold,italic; +} +span.smalllinenumber { + font-weight: bold,italic; + font-size: 9pt; +} +ul { + margin-left: 0px; + padding-left: 8px; +} +/* Syntax highlighting */ + +.src-code { background-color: #f5f5f5; border: 1px solid #ccc9a4; padding: 0px; margin : 0px} +.src-line { font-family: 'Courier New', Courier, monospace; font-weight: normal; } +/*.src-code pre { }*/ + +.src-comm { color: green; } +.src-id { } +.src-inc { color: #0000FF; } +.src-key { color: #0000FF; } +.src-num { color: #CC0000; } +.src-str { color: #66cccc; } +.src-sym { font-weight: bold; } +.src-var { } + +.src-php { font-weight: bold; } + +.src-doc { color: #009999 } +.src-doc-close-template { color: #0000FF } +.src-doc-coretag { color: #0099FF; font-weight: bold } +.src-doc-inlinetag { color: #0099FF } +.src-doc-internal { color: #6699cc } +.src-doc-tag { color: #0080CC } +.src-doc-template { color: #0000FF } +.src-doc-type { font-style: italic } +.src-doc-var { font-style: italic } + +.tute-tag { color: #009999 } +.tute-attribute-name { color: #0000FF } +.tute-attribute-value { color: #0099FF } +.tute-entity { font-weight: bold; } +.tute-comment { font-style: italic } +.tute-inline-tag { color: #636311; font-weight: bold } + +/* tutorial */ + +.authors { } +.author { font-style: italic; font-weight: bold } +.author-blurb { margin: .5em 0em .5em 2em; font-size: 85%; font-weight: normal; font-style: normal } +.example { border: 1px dashed #999999; background-color: #EEEEEE; padding: .5em; } +.listing { border: 1px dashed #999999; background-color: #EEEEEE; padding: .5em; white-space: nowrap; } +.release-info { font-size: 85%; font-style: italic; margin: 1em 0em } +.ref-title-box { } +.ref-title { } +.ref-purpose { font-style: italic; color: #666666 } +.ref-synopsis { } +.title { font-weight: bold; margin: 1em 0em 0em 0em; padding: .25em; + border: 2px solid #CC6633; background-color: #6699CC } +.cmd-synopsis { margin: 1em 0em } +.cmd-title { font-weight: bold } +.toc { margin-left: 2em; padding-left: 0em } + diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/default/templates/method.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/default/templates/method.tpl new file mode 100755 index 00000000..f9bcdd38 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/default/templates/method.tpl @@ -0,0 +1,123 @@ +{section name=methods loop=$methods} +{if $methods[methods].static} +{if $show == 'summary'} + <p>static method {$methods[methods].function_call}, {$methods[methods].sdesc}</p> +{else} + <a name="{$methods[methods].method_dest}"></a> + <p></p> + <h3>static {$methods[methods].function_name}</h3> + <div class="indent"> + <p> + <code>static {$methods[methods].function_return} {if $methods[methods].ifunction_call.returnsref}&{/if}{$methods[methods].function_name}( +{if count($methods[methods].ifunction_call.params)} +{section name=params loop=$methods[methods].ifunction_call.params} +{if $smarty.section.params.iteration != 1}, {/if} +{if $methods[methods].ifunction_call.params[params].hasdefault}[{/if}{$methods[methods].ifunction_call.params[params].type} +{$methods[methods].ifunction_call.params[params].name}{if $methods[methods].ifunction_call.params[params].hasdefault} = {$methods[methods].ifunction_call.params[params].default}]{/if} +{/section} +{/if})</code> + </p> + + <p class="linenumber">[line {if $methods[methods].slink}{$methods[methods].slink}{else}{$methods[methods].line_number}{/if}]</p> + {include file="docblock.tpl" sdesc=$methods[methods].sdesc desc=$methods[methods].desc tags=$methods[methods].tags} + +{if $methods[methods].descmethod} + <p>Overridden in child classes as:<br /> + {section name=dm loop=$methods[methods].descmethod} + <dl> + <dt>{$methods[methods].descmethod[dm].link}</dt> + <dd>{$methods[methods].descmethod[dm].sdesc}</dd> + </dl> + {/section}</p> +{/if} +{if $methods[methods].method_overrides}<p>Overrides {$methods[methods].method_overrides.link} ({$methods[methods].method_overrides.sdesc|default:"parent method not documented"})</p>{/if} + {if $methods[methods].method_implements} + <hr class="separator" /> + <div class="notes">Implementation of:</div> + {section name=imp loop=$methods[methods].method_implements} + <dl> + <dt>{$methods[methods].method_implements[imp].link}</dt> + {if $methods[methods].method_implements[imp].sdesc} + <dd>{$methods[methods].method_implements[imp].sdesc}</dd> + {/if} + </dl> + {/section} + {/if} + + <h4>Parameters:</h4> + <ul> + {section name=params loop=$methods[methods].params} + <li> + <span class="type">{$methods[methods].params[params].datatype}</span> + <b>{$methods[methods].params[params].var}</b> + - + {$methods[methods].params[params].data}</li> + {/section} + </ul> + </div> + <p class="top">[ <a href="#top">Top</a> ]</p> +{/if} +{/if} +{/section} + +{section name=methods loop=$methods} +{if !$methods[methods].static} +{if $show == 'summary'} + <p>{if $methods[methods].ifunction_call.constructor}constructor {elseif $methods[methods].ifunction_call.destructor}destructor {else}method {/if}{$methods[methods].function_call}, {$methods[methods].sdesc}</p> +{else} + <a name="{$methods[methods].method_dest}"></a> + <p></p> + <h3>{$methods[methods].function_name}</h3> + <div class="indent"> + <p> + <code>{$methods[methods].function_return} {if $methods[methods].ifunction_call.returnsref}&{/if}{$methods[methods].function_name}( +{if count($methods[methods].ifunction_call.params)} +{section name=params loop=$methods[methods].ifunction_call.params} +{if $smarty.section.params.iteration != 1}, {/if} +{if $methods[methods].ifunction_call.params[params].hasdefault}[{/if}{$methods[methods].ifunction_call.params[params].type} +{$methods[methods].ifunction_call.params[params].name}{if $methods[methods].ifunction_call.params[params].hasdefault} = {$methods[methods].ifunction_call.params[params].default}]{/if} +{/section} +{/if})</code> + </p> + + <p class="linenumber">[line {if $methods[methods].slink}{$methods[methods].slink}{else}{$methods[methods].line_number}{/if}]</p> + {include file="docblock.tpl" sdesc=$methods[methods].sdesc desc=$methods[methods].desc tags=$methods[methods].tags} + +{if $methods[methods].descmethod} + <p>Overridden in child classes as:<br /> + {section name=dm loop=$methods[methods].descmethod} + <dl> + <dt>{$methods[methods].descmethod[dm].link}</dt> + <dd>{$methods[methods].descmethod[dm].sdesc}</dd> + </dl> + {/section}</p> +{/if} +{if $methods[methods].method_overrides}<p>Overrides {$methods[methods].method_overrides.link} ({$methods[methods].method_overrides.sdesc|default:"parent method not documented"})</p>{/if} + {if $methods[methods].method_implements} + <hr class="separator" /> + <div class="notes">Implementation of:</div> + {section name=imp loop=$methods[methods].method_implements} + <dl> + <dt>{$methods[methods].method_implements[imp].link}</dt> + {if $methods[methods].method_implements[imp].sdesc} + <dd>{$methods[methods].method_implements[imp].sdesc}</dd> + {/if} + </dl> + {/section} + {/if} + + <h4>Parameters:</h4> + <ul> + {section name=params loop=$methods[methods].params} + <li> + <span class="type">{$methods[methods].params[params].datatype}</span> + <b>{$methods[methods].params[params].var}</b> + - + {$methods[methods].params[params].data}</li> + {/section} + </ul> + </div> + <p class="top">[ <a href="#top">Top</a> ]</p> +{/if} +{/if} +{/section} diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/default/templates/packages.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/default/templates/packages.tpl new file mode 100755 index 00000000..0967e6e7 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/default/templates/packages.tpl @@ -0,0 +1,3 @@ +{section name=packages loop=$packages} +<a href="{$packages[packages].link}">{$packages[packages].title}</a> +{/section}
\ No newline at end of file diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/default/templates/page.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/default/templates/page.tpl new file mode 100755 index 00000000..c3cb9fd1 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/default/templates/page.tpl @@ -0,0 +1,31 @@ +{include file="header.tpl" eltype="Procedural file" class_name=$name hasel=true contents=$pagecontents} + +<br> +<br> + +<div class="contents"> +{if $tutorial} +<span class="maintutorial">Main Tutorial: {$tutorial}</span> +{/if} +<h2>Classes:</h2> +<dl> +{section name=classes loop=$classes} +<dt>{$classes[classes].link}</dt> + <dd>{$classes[classes].sdesc}</dd> +{/section} +</dl> +</div> + +<h2>Page Details:</h2> +{include file="docblock.tpl" type="page"} +<hr> +{include file="include.tpl"} +<hr> +{include file="global.tpl"} +<hr> +{include file="define.tpl"} +<hr> +{include file="function.tpl"} + +{include file="footer.tpl"} + diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/default/templates/pkgelementindex.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/default/templates/pkgelementindex.tpl new file mode 100755 index 00000000..0dabfdb7 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/default/templates/pkgelementindex.tpl @@ -0,0 +1,5 @@ +{include file="header.tpl"} +<a name="top"></a> +<h1>Element index for package {$package}</h1> +{include file="basicindex.tpl" indexname=elementindex_$package} +{include file="footer.tpl"} diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/default/templates/ric.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/default/templates/ric.tpl new file mode 100755 index 00000000..eff734c1 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/default/templates/ric.tpl @@ -0,0 +1,6 @@ +{include file="header.tpl"} +<h1 align="center">{$name}</h1> +<pre> +{$contents|htmlentities} +</pre> +{include file="footer.tpl"}
\ No newline at end of file diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/default/templates/style.css b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/default/templates/style.css new file mode 100755 index 00000000..993997ae --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/default/templates/style.css @@ -0,0 +1,172 @@ +BODY { + font-family: Arial; + margin: 0px; + padding: 0px; +} +A { + color: #CC4400; + font-weight: bold; +} +A:Hover { + color: white; + background-color: #334B66; + font-weight: bold; + text-decoration: none; +} + +#packageTitle { + font-size: 160%; + font-weight: bold; + text-align: right; + color: #CC6633; +} +#packageTitle2 { + font-size: 160%; + font-weight: bold; + text-align: right; + color: #334B66; + background-color: #6699CC; +} +#packageLinks { + background-color: #6699CC; +} +#header { + background-color: #6699CC; + border-bottom: solid #334B66 4px; +} +#nav { + background-color: #6699CC; + padding: 4px; + border-right: solid #334B66 4px; +} +#index { + padding: 18px; +} +hr { + width: 80%; + background-color: #6699CC; + color: #6699CC; + margin-top: 15px; + margin-bottom: 15px; + clear: both; +} +.links { + text-align: left; + width: 98%; + margin: auto; +} +UL { + margin: 0px; + padding: 0px; + padding-left: 5px; + list-style-type: none; +} +li { + text-indent: -15px; + padding-bottom: 2px; + padding-left: 14px; +} +dd { + margin-bottom: .5em; +} +.small { + font-size: 80%; +} +h3 { +} +.middleCol { + margin-left: -1px; + border-right: dotted gray 1px; + border-left: dotted gray 1px; + padding: 5px; +} +.leftCol { + border-right: dotted gray 1px; + padding: 5px; +} +.rightCol { + margin-left: -1px; + border-left: dotted gray 1px; + padding: 5px; +} +#elementPath { + font-size: 14px; + font-weight: bold; + color: #334B66; +} +.constructor { + /*border: dashed #334B66 1px;*/ + font-weight: bold; +} +#credit { + text-align: center; + color: #334B66; + font-weight: bold; +} +div.contents { + border: solid #334B66 1px; + padding: 3px; + margin-bottom: 5px; + clear: all; +} +H1 { + margin: 0px; +} +H2 { + margin: 0px; + margin-bottom: 2px; +} +H3 { + margin: 0px; +} +H4 { + margin: 0px; +} +#classTree { + padding: 0px; + margin: 0px; +} +div.indent { + margin-left: 15px; +} +.warning { + color: red; + background-color: #334B66; + font-weight: bold; +} +code { + font-family: fixed; + padding: 3px; + color: #334B66; + background-color: #dddddd; +} +.type { + color: #334B66; +} +.value { + color: #334B66; + border: dotted #334B66 1px; +} +.top { + color: #334B66; + border-bottom: dotted #334B66 1px; + padding-bottom: 4px; +} +DIV#nav DL { + margin: 0px; + padding: 0px; + list-style-type: none; +} +div.classtree { + font-size: 130%; + font-weight: bold; + background-color: #CC6633; + border: dotted #334B66 2px; +} +span.linenumber,p.linenumber { + font-weight: bold,italic; +} +span.smalllinenumber { + font-weight: bold,italic; + font-size: 9pt; +} diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/default/templates/todolist.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/default/templates/todolist.tpl new file mode 100755 index 00000000..f929ccdb --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/default/templates/todolist.tpl @@ -0,0 +1,14 @@ +{include file="header.tpl" title="Todo List"} +<div align="center"><h1>Todo List</h1></div> +{foreach from=$todos key=todopackage item=todo} +<h2>{$todopackage}</h2> +{section name=todo loop=$todo} +<h3>{$todo[todo].link}</h3> +<ul> +{section name=t loop=$todo[todo].todos} + <li>{$todo[todo].todos[t]}</li> +{/section} +</ul> +{/section} +{/foreach} +{include file="footer.tpl"}
\ No newline at end of file diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/default/templates/tutorial.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/default/templates/tutorial.tpl new file mode 100755 index 00000000..71fbb4fe --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/default/templates/tutorial.tpl @@ -0,0 +1,32 @@ +{include file="header.tpl" title=$title} +{if $nav} +<table width="100%" border="0" cellpadding="0" cellspacing="0"> +<tr> +<td width="10%" align="left" valign="bottom">{if $prev}<a href= +"{$prev}">{/if}Prev{if $prev}</a>{/if}</td> +<td width="80%" align="center" valign="bottom"></td> +<td width="10%" align="right" valign="bottom">{if $next}<a href= +"{$next}">{/if}Next{if $next}</a>{/if}</td> +</tr> +</table> +{/if} +{$contents} +{if $nav} +<table width="100%" border="0" cellpadding="0" cellspacing="0"> +<tr> +<td width="33%" align="left" valign="top">{if $prev}<a href="{$prev}">{/if} +Prev{if $prev}</a>{/if}</td> +<td width="34%" align="center" valign="top">{if $up}<a href= +"{$up}">Up</a>{else} {/if}</td> +<td width="33%" align="right" valign="top">{if $next}<a href= +"{$next}">{/if}Next{if $next}</a>{/if}</td> +</tr> + +<tr> +<td width="33%" align="left" valign="top">{if $prevtitle}{$prevtitle}{/if}</td> +<td width="34%" align="center" valign="top">{if $uptitle}{$uptitle}{/if}</td> +<td width="33%" align="right" valign="top">{if $nexttitle}{$nexttitle}{/if}</td> +</tr> +</table> +{/if} +{include file="footer.tpl"} diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/default/templates/tutorial_toc.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/default/templates/tutorial_toc.tpl new file mode 100755 index 00000000..3d22d403 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/default/templates/tutorial_toc.tpl @@ -0,0 +1,29 @@ +{if count($toc)} +<h1 align="center">Table of Contents</h1> +<ul> +{section name=toc loop=$toc} +{if $toc[toc].tagname == 'refsect1'} +{assign var="context" value="refsect1"} +{$toc[toc].link}<br /> +{/if} +{if $toc[toc].tagname == 'refsect2'} +{assign var="context" value="refsect2"} + {$toc[toc].link}<br /> +{/if} +{if $toc[toc].tagname == 'refsect3'} +{assign var="context" value="refsect3"} + {$toc[toc].link}<br /> +{/if} +{if $toc[toc].tagname == 'table'} +{if $context == 'refsect2'} {/if} +{if $context == 'refsect3'} {/if} +Table: {$toc[toc].link} +{/if} +{if $toc[toc].tagname == 'example'} +{if $context == 'refsect2'} {/if} +{if $context == 'refsect3'} {/if} +Table: {$toc[toc].link} +{/if} +{/section} +</ul> +{/if}
\ No newline at end of file diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/default/templates/tutorial_tree.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/default/templates/tutorial_tree.tpl new file mode 100755 index 00000000..ccb0289e --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/default/templates/tutorial_tree.tpl @@ -0,0 +1,5 @@ +<ul> + <li><a href="{$main.link}">{$main.title|strip_tags}</a> +{if $kids}{$kids}</li>{/if} +</ul> + diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/default/templates/var.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/default/templates/var.tpl new file mode 100755 index 00000000..262f427a --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/default/templates/var.tpl @@ -0,0 +1,36 @@ +{section name=vars loop=$vars} +{if $vars[vars].static} +{if $show == 'summary'} + static var {$vars[vars].var_name}, {$vars[vars].sdesc}<br> +{else} + <a name="{$vars[vars].var_dest}"></a> + <p></p> + <h4>static {$vars[vars].var_name}{if $vars[vars].has_default} = <span class="value">{$vars[vars].var_default|replace:"\n":"<br>\n"|replace:" ":" "|replace:"\t":" "}</span>{/if}</h4> + <div class="indent"> + <p class="linenumber">[line {if $vars[vars].slink}{$vars[vars].slink}{else}{$vars[vars].line_number}{/if}]</p> + {include file="docblock.tpl" sdesc=$vars[vars].sdesc desc=$vars[vars].desc tags=$vars[vars].tags} + <p><b>Type:</b> {$vars[vars].var_type}</p> + <p><b>Overrides:</b> {$vars[vars].var_overrides}</p> + </div> + <p class="top">[ <a href="#top">Top</a> ]</p> +{/if} +{/if} +{/section} +{section name=vars loop=$vars} +{if !$vars[vars].static} +{if $show == 'summary'} + var {$vars[vars].var_name}, {$vars[vars].sdesc}<br> +{else} + <a name="{$vars[vars].var_dest}"></a> + <p></p> + <h4>{$vars[vars].var_name}{if $vars[vars].has_default} = <span class="value">{$vars[vars].var_default|replace:"\n":"<br>\n"|replace:" ":" "|replace:"\t":" "}</span>{/if}</h4> + <div class="indent"> + <p class="linenumber">[line {if $vars[vars].slink}{$vars[vars].slink}{else}{$vars[vars].line_number}{/if}]</p> + {include file="docblock.tpl" sdesc=$vars[vars].sdesc desc=$vars[vars].desc tags=$vars[vars].tags} + <p><b>Type:</b> {$vars[vars].var_type}</p> + <p><b>Overrides:</b> {$vars[vars].var_overrides}</p> + </div> + <p class="top">[ <a href="#top">Top</a> ]</p> +{/if} +{/if} +{/section} diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/HTMLframesConverter.inc b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/HTMLframesConverter.inc new file mode 100755 index 00000000..8bab7d99 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/HTMLframesConverter.inc @@ -0,0 +1,1914 @@ +<?php +/** + * HTML original framed output converter, modified to use Smarty Template. + * This Converter takes output from the {@link Parser} and converts it to HTML-ready output for use with {@link Smarty}. + * + * phpDocumentor :: automatic documentation generator + * + * PHP versions 4 and 5 + * + * Copyright (c) 2002-2006 Gregory Beaver + * + * LICENSE: + * + * 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, or (at your option) any + * later version. + * + * 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 + * + * @package Converters + * @subpackage HTMLframes + * @author Gregory Beaver <cellog@php.net> + * @copyright 2002-2006 Gregory Beaver + * @license http://www.opensource.org/licenses/lgpl-license.php LGPL + * @version CVS: $Id: HTMLframesConverter.inc 234145 2007-04-19 20:20:57Z ashnazg $ + * @filesource + * @link http://www.phpdoc.org + * @link http://pear.php.net/PhpDocumentor + * @see parserDocBlock, parserInclude, parserPage, parserClass + * @see parserDefine, parserFunction, parserMethod, parserVar + * @since 1.2 + */ +/** + * HTML output converter. + * This Converter takes output from the {@link Parser} and converts it to HTML-ready output for use with {@link Smarty}. + * + * @package Converters + * @subpackage HTMLframes + * @see parserDocBlock, parserInclude, parserPage, parserClass, parserDefine, parserFunction, parserMethod, parserVar + * @author Greg Beaver <cellog@php.net> + * @since 1.2 + * @version $Id: HTMLframesConverter.inc 234145 2007-04-19 20:20:57Z ashnazg $ + */ +class HTMLframesConverter extends Converter +{ + /** + * This converter knows about the new root tree processing + * In order to fix PEAR Bug #6389 + * @var boolean + */ + var $processSpecialRoots = true; + /** + * Smarty Converter wants elements sorted by type as well as alphabetically + * @see Converter::$sort_page_contents_by_type + * @var boolean + */ + var $sort_page_contents_by_type = true; + /** @var string */ + var $outputformat = 'HTML'; + /** @var string */ + var $name = 'frames'; + /** + * indexes of elements by package that need to be generated + * @var array + */ + var $leftindex = array('classes' => true, 'pages' => true, 'functions' => true, 'defines' => false, 'globals' => false); + + /** + * output directory for the current procedural page being processed + * @var string + */ + var $page_dir; + + /** + * target directory passed on the command-line. + * {@link $targetDir} is malleable, always adding package/ and package/subpackage/ subdirectories onto it. + * @var string + */ + var $base_dir; + + /** + * output directory for the current class being processed + * @var string + */ + var $class_dir; + + /** + * array of converted package page names. + * Used to link to the package page in the left index + * @var array Format: array(package => 1) + */ + var $package_pages = array(); + + /** + * controls formatting of parser informative output + * + * Converter prints: + * "Converting /path/to/file.php... Procedural Page Elements... Classes..." + * Since HTMLdefaultConverter outputs files while converting, it needs to send a \n to start a new line. However, if there + * is more than one class, output is messy, with multiple \n's just between class file output. This variable prevents that + * and is purely cosmetic + * @var boolean + */ + var $juststarted = false; + + /** + * contains all of the template procedural page element loop data needed for the current template + * @var array + */ + var $current; + + /** + * contains all of the template class element loop data needed for the current template + * @var array + */ + var $currentclass; + var $wrote = false; + var $ric_set = array(); + + /** + * sets {@link $base_dir} to $targetDir + * @see Converter() + */ + function HTMLframesConverter(&$allp, &$packp, &$classes, &$procpages, $po, $pp, $qm, $targetDir, $templateDir, $title) + { + Converter::Converter($allp, $packp, $classes, $procpages,$po, $pp, $qm, $targetDir, $templateDir, $title); + $this->base_dir = $targetDir; + } + + /** + * @deprecated in favor of PHP 4.3.0+ tokenizer-based source highlighting + */ + function unmangle($sourcecode) + { + $sourcecode = str_replace('<code>','<pre>',$sourcecode); + $sourcecode = str_replace('</code>','</pre>',$sourcecode); + $sourcecode = str_replace('<br />',"\n",$sourcecode); + $sourcecode = str_replace(' ',' ',$sourcecode); + $sourcecode = str_replace('<','<',$sourcecode); + $sourcecode = str_replace('>','>',$sourcecode); + $sourcecode = str_replace('&','&',$sourcecode); + return $sourcecode; + } + + /** + * @param string full path to the source file + * @param string fully highlighted source code + */ + function writeSource($path, $value) + { + $templ = &$this->newSmarty(); + $pathinfo = $this->proceduralpages->getPathInfo($path, $this); + $templ->assign('source',$value); + $templ->assign('package',$pathinfo['package']); + $templ->assign('subpackage',$pathinfo['subpackage']); + $templ->assign('name',$pathinfo['name']); + $templ->assign('source_loc',$pathinfo['source_loc']); + $templ->assign('docs',$pathinfo['docs']); + $templ->assign("subdir",'../'); + $templ->register_outputfilter('HTMLframes_outputfilter'); + $this->setTargetDir($this->getFileSourcePath($this->base_dir)); + phpDocumentor_out("\n"); + $this->setSourcePaths($path); + $this->writefile($this->getFileSourceName($path).'.html',$templ->fetch('filesource.tpl')); + } + + function writeExample($title, $path, $source) + { + $templ = &$this->newSmarty(); + $templ->assign('source',$source); + if (empty($title)) + { + $title = 'example'; + addWarning(PDERROR_EMPTY_EXAMPLE_TITLE, $path, $title); + } + $templ->assign('title',$title); + $templ->assign('file',$path); + $templ->assign("subdir",'../'); + $templ->register_outputfilter('HTMLframes_outputfilter'); + $this->setTargetDir($this->base_dir . PATH_DELIMITER . '__examplesource'); + phpDocumentor_out("\n"); + $this->writefile('exsource_'.$path.'.html',$templ->fetch('examplesource.tpl')); + } + + function getExampleLink($path, $title) + { + return $this->returnLink('{$subdir}__examplesource' . PATH_DELIMITER . 'exsource_'.$path.'.html',$title); + } + + function getSourceLink($path) + { + return $this->returnLink('{$subdir}__filesource/' . + $this->getFileSourceName($path).'.html','Source Code for this file'); + } + + /** + * Retrieve a Converter-specific anchor to a segment of a source code file + * parsed via a {@tutorial tags.filesource.pkg} tag. + * @param string full path to source file + * @param string name of anchor + * @param string link text, if this is a link + * @param boolean returns either a link or a destination based on this + * parameter + * @return string link to an anchor, or the anchor + */ + function getSourceAnchor($sourcefile,$anchor,$text = '',$link = false) + { + if ($link) { + return $this->returnLink('{$subdir}__filesource/' . + $this->getFileSourceName($sourcefile) . '.html#a' . $anchor, $text); + } else { + return '<a name="a'.$anchor.'"></a>'; + } + } + + /** + * Return a line of highlighted source code with formatted line number + * + * If the $path is a full path, then an anchor to the line number will be + * added as well + * @param integer line number + * @param string highlighted source code line + * @param false|string full path to @filesource file this line is a part of, + * if this is a single line from a complete file. + * @return string formatted source code line with line number + */ + function sourceLine($linenumber, $line, $path = false) + { + $extra = ''; + if (strlen(str_replace("\n", '', $line)) == 0) { + $extra = ' '; + } + if ($path) + { + return '<li><div class="src-line">' . $this->getSourceAnchor($path, $linenumber) . + str_replace("\n",'',$line) . $extra . + "</div></li>\n"; + } else + { + return '<li><div class="src-line">' . str_replace("\n",'',$line) . + "$extra</div></li>\n"; + } + } + + /** + * Used to convert the <<code>> tag in a docblock + * @param string + * @param boolean + * @return string + */ + function ProgramExample($example, $tutorial = false, $inlinesourceparse = null/*false*/, + $class = null/*false*/, $linenum = null/*false*/, $filesourcepath = null/*false*/) + { + return '<div class="src-code"><ol>' . parent::ProgramExample($example, $tutorial, $inlinesourceparse, $class, $linenum, $filesourcepath) + .'</ol></div>'; + } + + /** + * @param string + */ + function TutorialExample($example) + { + $trans = $this->template_options['desctranslate']; + $this->template_options['desctranslate'] = array(); + $example = '<ol>' . parent::TutorialExample($example) + .'</ol>'; + $this->template_options['desctranslate'] = $trans; + if (!isset($this->template_options['desctranslate'])) return $example; + if (!isset($this->template_options['desctranslate']['code'])) return $example; + $example = $this->template_options['desctranslate']['code'] . $example; + if (!isset($this->template_options['desctranslate']['/code'])) return $example; + return $example . $this->template_options['desctranslate']['/code']; + } + + function getCurrentPageLink() + { + return $this->curname . '.html'; + } + + /** + * Uses htmlspecialchars() on the input + */ + function postProcess($text) + { + if ($this->highlightingSource) { + return str_replace(array(' ',"\t"), array(' ', ' '), + htmlspecialchars($text)); + } + return htmlspecialchars($text); + } + + /** + * Use the template tutorial_toc.tpl to generate a table of contents for HTML + * @return string table of contents formatted for use in the current output format + * @param array format: array(array('tagname' => section, 'link' => returnsee link, 'id' => anchor name, 'title' => from title tag),...) + */ + function formatTutorialTOC($toc) + { + $template = &$this->newSmarty(); + $template->assign('toc',$toc); + return $template->fetch('tutorial_toc.tpl'); + } + + function &SmartyInit(&$templ) + { + if (!isset($this->package_index)) + foreach($this->all_packages as $key => $val) + { + if (isset($this->pkg_elements[$key])) + { + if (!isset($start)) $start = $key; + $this->package_index[] = array('link' => "li_$key.html", 'title' => $key); + } + } + $templ->assign("packageindex",$this->package_index); + $templ->assign("subdir",''); + return $templ; + } + + /** + * Writes out the template file of {@link $class_data} and unsets the template to save memory + * @see registerCurrentClass() + * @see parent::endClass() + */ + function endClass() + { + $a = '../'; + if (!empty($this->subpackage)) $a .= '../'; + if ($this->juststarted) + { + $this->juststarted = false; + phpDocumentor_out("\n"); + flush(); + } + $this->setTargetDir($this->base_dir . PATH_DELIMITER . $this->class_dir); + $this->class_data->assign("subdir",$a); + $this->class_data->register_outputfilter('HTMLframes_outputfilter'); + $this->writefile($this->class . '.html',$this->class_data->fetch('class.tpl')); + unset($this->class_data); + } + + /** + * Writes out the template file of {@link $page_data} and unsets the template to save memory + * @see registerCurrent() + * @see parent::endPage() + */ + function endPage() + { + $this->package = $this->curpage->package; + $this->subpackage = $this->curpage->subpackage; + $a = '../'; + if (!empty($this->subpackage)) $a .= '../'; + $this->setTargetDir($this->base_dir . PATH_DELIMITER . $this->page_dir); + $this->page_data->assign("package",$this->package); + $this->page_data->assign("subdir",$a); + $this->page_data->register_outputfilter('HTMLframes_outputfilter'); + $this->writefile($this->page . '.html',$this->page_data->fetch('page.tpl')); + unset($this->page_data); + } + + /** + * @param string + * @param string + * @return string <a href="'.$link.'">'.$text.'</a> + */ + function returnLink($link,$text) + { + return '<a href="'.$link.'">'.$text.'</a>'; + } + + function makeLeft() + { + foreach($this->page_elements as $package => $o1) + { + foreach($o1 as $subpackage => $links) + { + for($i=0;$i<count($links);$i++) + { + $left[$package][$subpackage]['files'][] = + array("link" => $this->getId($links[$i]), "title" => $links[$i]->name); + } + } + } + $interfaces = $classes = false; + foreach($this->class_elements as $package => $o1) + { + foreach($o1 as $subpackage => $links) + { + for($i=0;$i<count($links);$i++) + { + $class = $this->classes->getClassByPackage($links[$i]->name, $links[$i]->package); + $isinterface = $isclass = false; + if ($class->isInterface()) { + $isinterface = true; + $interfaces = true; + } else { + $isclass = true; + $classes = true; + } + if ($class && isset($class->docblock) && $class->docblock->hasaccess) { + $left[$package][$subpackage]['classes'][] = + array("link" => $this->getId($links[$i]), + "title" => $links[$i]->name, + 'is_interface' => $isinterface, + 'is_class' => $isclass, + "access" => $class->docblock->tags['access'][0]->value, + "abstract" => isset ($class->docblock->tags['abstract'][0])); + } else { + $left[$package][$subpackage]['classes'][] = + array("link" => $this->getId($links[$i]), + "title" => $links[$i]->name, + 'is_interface' => $isinterface, + 'is_class' => $isclass, + "access" => 'public', + "abstract" => isset ($class->docblock->tags['abstract'][0])); + } + } + } + } + foreach($this->function_elements as $package => $o1) + { + foreach($o1 as $subpackage => $links) + { + for($i=0;$i<count($links);$i++) + { + $left[$package][$subpackage]['functions'][] = + array("link" => $this->getId($links[$i]), "title" => $links[$i]->name); + } + } + } + $ret = array(); + foreach($left as $package => $r) + { + $pd = 'blank'; + if (isset($this->package_pages[$package])) $pd = $package.'/package_'.$package.'.html'; + if (!isset($r[''])) + { + $pt = false; + $ptnoa = false; + $ptt = $package; + if ($t = $this->hasTutorial('pkg',$package,$package,'')) + { + $pt = $t->getLink($this); + $ptnoa = $this->getId($t->getLink($this,true)); + $ptt = $t->getTitle($this); + } + $tutes = array(); + foreach($this->tutorial_tree as $root => $tr) + { + if ($tr['tutorial']->package == $package && $tr['tutorial']->subpackage == '') { + $tutes[$tr['tutorial']->tutorial_type][] = + $this->getTutorialTree($tr['tutorial']); + } + } + if (isset($this->childless_tutorials[$package][$subpackage])) + { + foreach($this->childless_tutorials[$package][$subpackage] as $ext => $other) + { + foreach($other as $tutorial) + { + $tutes[$tutorial->tutorial_type][] = $this->getTutorialTree($tutorial); + } + } + } + $ret[$package][] = + array( + 'package' => $package, + 'subpackage' => '', + 'packagedoc' => $pd, + 'packagetutorial' => $pt, + 'packagetutorialnoa' => $ptnoa, + 'packagetutorialtitle' => $ptt, + 'files' => array(), + 'functions' => array(), + 'classes' => array(), + 'tutorials' => $tutes, + ); + } + foreach($r as $subpackage => $info) + { + $my = array(); + $my['package'] = $package; + if (isset($this->package_pages[$package])) + $my['packagedoc'] = $pd; + else + $my['packagedoc'] = 'blank'; + $my['subpackage'] = $subpackage; + if (empty($subpackage)) + { + if ($t = $this->hasTutorial('pkg',$package,$package,$subpackage)) + { + $my['packagetutorial'] = $t->getLink($this); + $my['packagetutorialnoa'] = $this->getId($t->getLink($this,true)); + $my['packagetutorialtitle'] = $t->getTitle($this); + } else + { + $my['packagetutorial'] = '<a href="blank.html">No Package-Level Tutorial</a>'; + $my['packagetutorialnoa'] = 'blank.html'; + $my['packagetutorialtitle'] = $package; + } + } else + { + if ($t = $this->hasTutorial('pkg',$subpackage,$package,$subpackage)) + { + $my['subpackagetutorial'] = $this->returnSee($this->getTutorialLink($t)); + $my['subpackagetutorialnoa'] = $this->getId($t->getLink($this,true)); + $my['subpackagetutorialtitle'] = $t->getTitle($this); + } else + { + $my['subpackagetutorial'] = false; + $my['subpackagetutorialnoa'] = false; + $my['subpackagetutorialtitle'] = $subpackage; + } + } + $tutes = array(); + foreach($this->tutorial_tree as $root => $tr) + { + if ($tr['tutorial']->package == $package && $tr['tutorial']->subpackage == $subpackage) + { + $tutes[$tr['tutorial']->tutorial_type][] = $this->getTutorialTree($tr['tutorial']); + } + } + $my['tutorials'] = $tutes; + $my['files'] = $my['classes'] = $my['functions'] = array(); + if (isset($info['files'])) + $my['files'] = $info['files']; + if (isset($info['classes'])) + $my['classes'] = $info['classes']; + $my['hasclasses'] = $classes; + $my['hasinterfaces'] = $interfaces; + if (isset($info['functions'])) + $my['functions'] = $info['functions']; + $ret[$package][] = $my; + } + } + return $ret; + } + + function getTutorialTree($tutorial,$k = false) + { + $ret = ''; + if (is_object($tutorial)) $tree = parent::getTutorialTree($tutorial); else $tree = $tutorial; +// debug($this->vardump_tree($tree));exit; + if (!$tree) + { + $template = &$this->newSmarty(); + $template->assign('subtree',false); + $template->assign('name',str_replace('.','',$tutorial->name)); + $template->assign('parent',false); + $template->assign('haskids',false); + $template->assign('kids',''); + $link = new tutorialLink; + $t = $tutorial; + $link->addLink('',$t->path,$t->name,$t->package,$t->subpackage,$t->getTitle($this)); + $main = array('link' => $this->getId($link), 'title' => $link->title); + $template->assign('main',$main); + return $template->fetch('tutorial_tree.tpl'); + } + if (isset($tree['kids'])) + { + foreach($tree['kids'] as $subtree) + { + $ret .= $this->getTutorialTree($subtree, true); + } + } + $template = &$this->newSmarty(); + $template->assign('subtree',$k); + $template->assign('name',str_replace('.','',$tree['tutorial']->name)); + $template->assign('parent',($k ? str_replace('.','',$tree['tutorial']->parent->name) : false)); + $template->assign('haskids',strlen($ret)); + $template->assign('kids',$ret); + $link = new tutorialLink; + $t = $tree['tutorial']; + $link->addLink('',$t->path,$t->name,$t->package,$t->subpackage,$t->getTitle($this)); + $main = array('link' => $this->getId($link), 'title' => $link->title); + $template->assign('main',$main); + $ret = $template->fetch('tutorial_tree.tpl'); + return $ret; + } + + /** + * HTMLdefaultConverter chooses to format both package indexes and the complete index here + * + * This function formats output for the elementindex.html and pkgelementindex.html template files. It then + * writes them to the target directory + * @see generateElementIndex(), generatePkgElementIndex() + */ + function formatPkgIndex() + { + list($package_indexes,$packages,$mletters) = $this->generatePkgElementIndexes(); + for($i=0;$i<count($package_indexes);$i++) + { + $template = &$this->newSmarty(); + $this->package = $package_indexes[$i]['package']; + $this->subpackage = ''; + $template->assign("index",$package_indexes[$i]['pindex']); + $template->assign("package",$package_indexes[$i]['package']); + $template->assign("letters",$mletters[$package_indexes[$i]['package']]); + $template->register_outputfilter('HTMLframes_outputfilter'); + $this->setTargetDir($this->base_dir); + $this->writefile('elementindex_'.$package_indexes[$i]['package'].'.html',$template->fetch('pkgelementindex.tpl')); + } + phpDocumentor_out("\n"); + flush(); + } + + /** + * HTMLdefaultConverter uses this function to format template index.html and packages.html + * + * This function generates the package list from {@link $all_packages}, eliminating any + * packages that don't have any entries in their package index (no files at all, due to @ignore + * or other factors). Then it uses the default package name as the first package index to display. + * It sets the right pane to be either a blank file with instructions on making package-level docs, + * or the package-level docs for the default package. + * @global string Used to set the starting package to display + */ + function formatIndex() + { + global $phpDocumentor_DefaultPackageName; + list($elindex,$mletters) = $this->generateElementIndex(); + $template = &$this->newSmarty(); + $template->assign("index",$elindex); + $template->assign("letters",$mletters); + $template->register_outputfilter('HTMLframes_outputfilter'); + phpDocumentor_out("\n"); + flush(); + $this->setTargetDir($this->base_dir); + $this->writefile('elementindex.html',$template->fetch('elementindex.tpl')); + usort($this->package_index,"HTMLframes_pindexcmp"); + $index = &$this->newSmarty(); + foreach($this->all_packages as $key => $val) + { + if (isset($this->pkg_elements[$key])) + { + if (!isset($start)) $start = $key; + if (!isset($this->package_pages[$key])) $this->writeNewPPage($key); + } + } + // Created index.html + if (isset($this->pkg_elements[$phpDocumentor_DefaultPackageName])) $start = $phpDocumentor_DefaultPackageName; + $this->package = $start; + $this->subpackage = ''; + $index->assign("package_count",count($this->pkg_elements)); + if (count($this->ric_set)) + $index->assign("package_count",2); + $index->assign("date",date("r",time())); + $index->assign("title",$this->title); + $index->assign("start","li_$start.html"); + $index->register_outputfilter('HTMLframes_outputfilter'); + if (isset($this->tutorials[$start]['']['pkg'][$start . '.pkg'])) + { + $index->assign("blank",$start.'/tutorial_'.$start.'.pkg'); + } elseif (isset($this->package_pages[$start])) + { + $index->assign("blank",$start.'/package_'.$start); + } + else + { + $index->assign("blank","blank"); + $blank = &$this->newSmarty(); + $blank->assign('package',$this->package); + $this->setTargetDir($this->base_dir); + $this->writefile("blank.html",$blank->fetch('blank.tpl')); + } + phpDocumentor_out("\n"); + flush(); + $this->setTargetDir($this->base_dir); + $this->writefile("index.html",$index->fetch('index.tpl')); + + // Create package index + $package = &$this->newSmarty(); + $package->assign('ric',array()); + if (isset($this->ric_set)) + { + foreach($this->ric_set as $name => $u) + { + $package->append('ric',array('file' => 'ric_'.$name.'.html','name' => $name)); + } + } + $package->assign("packages",$this->package_index); + $package->register_outputfilter('HTMLframes_outputfilter'); + $this->writefile("packages.html",$package->fetch('top_frame.tpl')); + unset($index); + } + + function writeNewPPage($key) + { + return; + $template = &$this->newSmarty(); + $this->package = $key; + $this->subpackage = ''; + $template->assign("date",date("r",time())); + $template->assign("title",$this->title); + $template->assign("package",$key); + $template->register_outputfilter('HTMLframes_outputfilter'); + phpDocumentor_out("\n"); + flush(); + $this->setTargetDir($this->base_dir); + + $this->writefile("li_$key.html",$template->fetch('index.tpl')); + unset($template); + } + + /** + * Generate indexes for li_package.html and classtree output files + * + * This function generates the li_package.html files from the template file left.html. It does this by + * iterating through each of the $page_elements, $class_elements and $function_elements arrays to retrieve + * the pre-sorted {@link abstractLink} descendants needed for index generation. Conversion of these links to + * text is done by {@link returnSee()}. The {@link $local} parameter is set to false to ensure that paths are correct. + * + * Then it uses {@link generateFormattedClassTrees()} to create class trees from the template file classtrees.html. Output + * filename is classtrees_packagename.html. This function also unsets {@link $elements} and {@link $pkg_elements} to free + * up the considerable memory these two class vars use + * @see $page_elements, $class_elements, $function_elements + */ + function formatLeftIndex() + { + phpDocumentor_out("\n"); + flush(); + $this->setTargetDir($this->base_dir); + if (0)//!isset($this->left)) + { + debug("Nothing parsed, check the command-line"); + die(); + } + $x = $this->makeLeft(); + foreach($this->all_packages as $package => $rest) + { + if (!isset($this->pkg_elements[$package])) continue; + $template = &$this->newSmarty(); + $template->assign("info",$x[$package]); + $template->assign('package',$package); + $template->assign("hastutorials",isset($this->tutorials[$package])); + $template->assign('hastodos',count($this->todoList)); + $template->assign('todolink','todolist.html'); + $template->assign("classtreepage","classtrees_$package"); + $template->assign("elementindex","elementindex_$package"); + $template->register_outputfilter('HTMLframes_outputfilter'); + if (isset($this->package_pages[$package])) + { + $template->assign("packagedoc",$package.'/package_' . $package . '.html'); + } else + { + $template->assign("packagedoc",false); + } + $this->writefile("li_$package.html",$template->fetch('left_frame.tpl')); + + // Create class tree page + $template = &$this->newSmarty(); + $template->assign("classtrees",$this->generateFormattedClassTrees($package)); + $template->assign("interfaces",$this->generateFormattedInterfaceTrees($package)); + $template->assign("package",$package); + $template->register_outputfilter('HTMLframes_outputfilter'); + $this->writefile("classtrees_$package.html",$template->fetch('classtrees.tpl')); + phpDocumentor_out("\n"); + flush(); + } + // free up considerable memory + unset($this->elements); + unset($this->pkg_elements); + } + + /** + * This function takes an {@link abstractLink} descendant and returns an html link + * + * @param abstractLink a descendant of abstractlink should be passed, and never text + * @param string text to display in the link + * @param boolean this parameter is not used, and is deprecated + * @param boolean determines whether the returned text is enclosed in an <a> tag + */ + function returnSee(&$element, $eltext = false, $with_a = true) + { + if (!is_object($element) || !$element) return false; + if (!$with_a) return $this->getId($element, false); + if (!$eltext) + { + $eltext = ''; + switch($element->type) + { + case 'tutorial' : + $eltext = strip_tags($element->title); + break; + case 'method' : + case 'var' : + case 'const' : + $eltext .= $element->class.'::'; + case 'page' : + case 'define' : + case 'class' : + case 'function' : + case 'global' : + default : + $eltext .= $element->name; + if ($element->type == 'function' || $element->type == 'method') $eltext .= '()'; + break; + } + } + return '<a href="'.$this->getId($element).'">'.$eltext.'</a>'; + } + + function getId($element, $fullpath = true) + { + if (phpDocumentor_get_class($element) == 'parserdata') + { + $element = $this->addLink($element->parent); + $elp = $element->parent; + } elseif (is_a($element, 'parserbase')) + { + $elp = $element; + $element = $this->addLink($element); + } + $c = ''; + if (!empty($element->subpackage)) + { + $c = '/'.$element->subpackage; + } + $b = '{$subdir}'; + switch ($element->type) + { + case 'page' : + if ($fullpath) + return $b.$element->package.$c.'/'.$element->fileAlias.'.html'; + return 'top'; + break; + case 'define' : + case 'global' : + case 'function' : + if ($fullpath) + return $b.$element->package.$c.'/'.$element->fileAlias.'.html#'.$element->type.$element->name; + return $element->type.$element->name; + break; + case 'class' : + if ($fullpath) + return $b.$element->package.$c.'/'.$element->name.'.html'; + return 'top'; + break; + case 'method' : + case 'var' : + case 'const' : + if ($fullpath) + return $b.$element->package.$c.'/'.$element->class.'.html#'.$element->type.$element->name; + return $element->type.$element->name; + break; + case 'tutorial' : + $d = ''; + if ($element->section) + { + $d = '#'.$element->section; + } + return $b.$element->package.$c.'/tutorial_'.$element->name.'.html'.$d; + } + } + + /** + * Convert README/INSTALL/CHANGELOG file contents to output format + * @param README|INSTALL|CHANGELOG + * @param string contents of the file + */ + function Convert_RIC($name, $contents) + { + $template = &$this->newSmarty(); + $template->assign('contents',$contents); + $template->assign('name',$name); + $this->setTargetDir($this->base_dir); + $this->writefile('ric_'.$name . '.html',$template->fetch('ric.tpl')); + $this->ric_set[$name] = true; + } + + function ConvertTodoList() + { + $todolist = array(); + foreach($this->todoList as $package => $alltodos) + { + foreach($alltodos as $todos) + { + $converted = array(); + $converted['link'] = $this->returnSee($todos[0]); + if (!is_array($todos[1])) + { + $converted['todos'][] = $todos[1]->Convert($this); + } else + { + foreach($todos[1] as $todo) + { + $converted['todos'][] = $todo->Convert($this); + } + } + $todolist[$package][] = $converted; + } + } + $templ = &$this->newSmarty(); + $templ->assign('todos',$todolist); + $templ->register_outputfilter('HTMLframes_outputfilter'); + $this->setTargetDir($this->base_dir); + $this->writefile('todolist.html',$templ->fetch('todolist.tpl')); + } + + /** + * Create errors.html template file output + * + * This method takes all parsing errors and warnings and spits them out ordered by file and line number. + * @global ErrorTracker We'll be using it's output facility + */ + function ConvertErrorLog() + { + global $phpDocumentor_errors; + $allfiles = array(); + $files = array(); + $warnings = $phpDocumentor_errors->returnWarnings(); + $errors = $phpDocumentor_errors->returnErrors(); + $template = &$this->newSmarty(); + foreach($warnings as $warning) + { + $file = '##none'; + $linenum = 'Warning'; + if ($warning->file) + { + $file = $warning->file; + $allfiles[$file] = 1; + $linenum .= ' on line '.$warning->linenum; + } + $files[$file]['warnings'][] = array('name' => $linenum, 'listing' => $warning->data); + } + foreach($errors as $error) + { + $file = '##none'; + $linenum = 'Error'; + if ($error->file) + { + $file = $error->file; + $allfiles[$file] = 1; + $linenum .= ' on line '.$error->linenum; + } + $files[$file]['errors'][] = array('name' => $linenum, 'listing' => $error->data); + } + $i=1; + $af = array(); + foreach($allfiles as $file => $num) + { + $af[$i++] = $file; + } + $allfiles = $af; + usort($allfiles,'strnatcasecmp'); + $allfiles[0] = "Post-parsing"; + foreach($allfiles as $i => $a) + { + $allfiles[$i] = array('file' => $a); + } + $out = array(); + foreach($files as $file => $data) + { + if ($file == '##none') $file = 'Post-parsing'; + $out[$file] = $data; + } + $template->assign("files",$allfiles); + $template->assign("all",$out); + $template->assign("title","phpDocumentor Parser Errors and Warnings"); + $this->setTargetDir($this->base_dir); + $this->writefile("errors.html",$template->fetch('errors.tpl')); + unset($template); + phpDocumentor_out("\n\nTo view errors and warnings, look at ".$this->base_dir. PATH_DELIMITER . "errors.html\n"); + flush(); + } + + function getTutorialId($package,$subpackage,$tutorial,$id) + { + return $id; + } + + function getCData($value) + { + return '<pre>'.htmlentities($value).'</pre>'; + } + + /** + * Converts package page and sets its package as used in {@link $package_pages} + * @param parserPackagePage + */ + function convertPackagepage(&$element) + { + phpDocumentor_out("\n"); + flush(); + $this->package = $element->package; + $this->subpackage = ''; + $contents = $element->Convert($this); + $this->package_pages[$element->package] = str_replace('{$subdir}','../',$contents); + phpDocumentor_out("\n"); + flush(); + $this->setTargetDir($this->base_dir . PATH_DELIMITER . $element->package); + $this->writeFile('package_'.$element->package.'.html',str_replace('{$subdir}','../',$contents)); + } + + /** + * @param parserTutorial + */ + function convertTutorial(&$element) + { + phpDocumentor_out("\n"); + flush(); + $template = &parent::convertTutorial($element); + $a = '../'; + if ($element->subpackage) $a .= '../'; + $template->assign('subdir',$a); + $template->register_outputfilter('HTMLframes_outputfilter'); + $contents = $template->fetch('tutorial.tpl'); + $a = ''; + if ($element->subpackage) $a = PATH_DELIMITER . $element->subpackage; + phpDocumentor_out("\n"); + flush(); + $this->setTargetDir($this->base_dir . PATH_DELIMITER . $element->package . $a); + $this->writeFile('tutorial_'.$element->name.'.html',$contents); + } + + /** + * Converts class for template output + * @see prepareDocBlock(), generateChildClassList(), generateFormattedClassTree(), getFormattedConflicts() + * @see getFormattedInheritedMethods(), getFormattedInheritedVars() + * @param parserClass + */ + function convertClass(&$element) + { + parent::convertClass($element); + $this->class_dir = $element->docblock->package; + if (!empty($element->docblock->subpackage)) $this->class_dir .= PATH_DELIMITER . $element->docblock->subpackage; + $a = '../'; + if ($element->docblock->subpackage != '') $a = "../$a"; + + $this->class_data->assign('subdir',$a); + $this->class_data->assign("title","Docs For Class " . $element->getName()); + $this->class_data->assign("page",$element->getName() . '.html'); + } + + /** + * Converts class variables for template output + * @see prepareDocBlock(), getFormattedConflicts() + * @param parserDefine + */ + function convertVar(&$element) + { + parent::convertVar($element, array('var_dest' => $this->getId($element,false))); + } + + /** + * Converts class variables for template output + * @see prepareDocBlock(), getFormattedConflicts() + * @param parserDefine + */ + function convertConst(&$element) + { + parent::convertConst($element, array('const_dest' => $this->getId($element,false))); + } + + /** + * Converts class methods for template output + * @see prepareDocBlock(), getFormattedConflicts() + * @param parserDefine + */ + function convertMethod(&$element) + { + parent::convertMethod($element, array('method_dest' => $this->getId($element,false))); + } + + /** + * Converts function for template output + * @see prepareDocBlock(), parserFunction::getFunctionCall(), getFormattedConflicts() + * @param parserFunction + */ + function convertFunction(&$element) + { + $funcloc = $this->getId($this->addLink($element)); + parent::convertFunction($element,array('function_dest' => $this->getId($element,false))); + } + + /** + * Converts include elements for template output + * @see prepareDocBlock() + * @param parserInclude + */ + function convertInclude(&$element) + { + parent::convertInclude($element, array('include_file' => '_'.strtr($element->getValue(),array('"' => '', "'" => '','.' => '_')))); + } + + /** + * Converts defines for template output + * @see prepareDocBlock(), getFormattedConflicts() + * @param parserDefine + */ + function convertDefine(&$element) + { + parent::convertDefine($element, array('define_link' => $this->getId($element,false))); + } + + /** + * Converts global variables for template output + * @param parserGlobal + */ + function convertGlobal(&$element) + { + parent::convertGlobal($element, array('global_link' => $this->getId($element,false))); + } + + /** + * converts procedural pages for template output + * @see prepareDocBlock(), getClassesOnPage() + * @param parserData + */ + function convertPage(&$element) + { + parent::convertPage($element); + $this->juststarted = true; + $this->page_dir = $element->parent->package; + if (!empty($element->parent->subpackage)) $this->page_dir .= PATH_DELIMITER . $element->parent->subpackage; + // registering stuff on the template + $this->page_data->assign("page",$this->getPageName($element) . '.html'); + $this->page_data->assign("title","Docs for page ".$element->parent->getFile()); + } + + function getPageName(&$element) + { + if (phpDocumentor_get_class($element) == 'parserpage') return '_'.$element->getName(); + return '_'.$element->parent->getName(); + } + + /** + * returns an array containing the class inheritance tree from the root object to the class + * + * @param parserClass class variable + * @return array Format: array(root,child,child,child,...,$class) + * @uses parserClass::getParentClassTree() + */ + + function generateFormattedClassTree($class) + { + $tree = $class->getParentClassTree($this); + $out = ''; + if (count($tree) - 1) + { + $result = array($class->getName()); + $parent = $tree[$class->getName()]; + $distance[] = ''; + while ($parent) + { + $x = $parent; + if (is_object($parent)) + { + $subpackage = $parent->docblock->subpackage; + $package = $parent->docblock->package; + $x = $parent; + $x = $parent->getLink($this); + if (!$x) $x = $parent->getName(); + } + $result[] = + $x; + $distance[] = + "\n%s|\n" . + "%s--"; + if (is_object($parent)) + $parent = $tree[$parent->getName()]; + elseif (isset($tree[$parent])) + $parent = $tree[$parent]; + } + $nbsp = ' '; + for($i=count($result) - 1;$i>=0;$i--) + { + $my_nbsp = ''; + for($j=0;$j<count($result) - $i;$j++) $my_nbsp .= $nbsp; + $distance[$i] = sprintf($distance[$i],$my_nbsp,$my_nbsp); + } + return array('classes'=>array_reverse($result),'distance'=>array_reverse($distance)); + } else + { + return array('classes'=>$class->getName(),'distance'=>array('')); + } + } + + /** @access private */ + function sortVar($a, $b) + { + return strnatcasecmp($a->getName(),$b->getName()); + } + + /** @access private */ + function sortMethod($a, $b) + { + if ($a->isConstructor) return -1; + if ($b->isConstructor) return 1; + return strnatcasecmp($a->getName(),$b->getName()); + } + + /** + * returns a template-enabled array of class trees + * + * @param string $package package to generate a class tree for + * @see $roots, HTMLConverter::getRootTree() + */ + function generateFormattedClassTrees($package) + { + if (!isset($this->roots['normal'][$package]) && + !isset($this->roots['special'][$package])) { + return array(); + } + $trees = array(); + if (isset($this->roots['normal'][$package])) { + $roots = $this->roots['normal'][$package]; + for($i=0;$i<count($roots);$i++) + { + $root = $this->classes->getClassByPackage($roots[$i], $package); + if ($root && $root->isInterface()) { + continue; + } + $trees[] = array('class' => $roots[$i],'class_tree' => "<ul>\n".$this->getRootTree($this->getSortedClassTreeFromClass($roots[$i],$package,''),$package)."</ul>\n"); + } + } + if (isset($this->roots['special'][$package])) { + $roots = $this->roots['special'][$package]; + foreach ($roots as $parent => $classes) { + $thistree = ''; + foreach ($classes as $classinfo) { + $root = $this->classes->getClassByPackage($classinfo, $package); + if ($root && $root->isInterface()) { + continue; + } + $thistree .= + $this->getRootTree( + $this->getSortedClassTreeFromClass( + $classinfo, + $package, + ''), + $package, + true); + } + if (!$thistree) { + continue; + } + $trees[] = array( + 'class' => $parent, + 'class_tree' => "<ul>\n" . $thistree . "</ul>\n" + ); + } + } + return $trees; + } + + /** + * returns a template-enabled array of interface inheritance trees + * + * @param string $package package to generate a class tree for + * @see $roots, HTMLConverter::getRootTree() + */ + function generateFormattedInterfaceTrees($package) + { + if (!isset($this->roots['normal'][$package]) && + !isset($this->roots['special'][$package])) { + return array(); + } + $trees = array(); + if (isset($this->roots['normal'][$package])) { + $roots = $this->roots['normal'][$package]; + for($i=0;$i<count($roots);$i++) + { + $root = $this->classes->getClassByPackage($roots[$i], $package); + if ($root && !$root->isInterface()) { + continue; + } + $trees[] = array('class' => $roots[$i],'class_tree' => "<ul>\n".$this->getRootTree($this->getSortedClassTreeFromClass($roots[$i],$package,''),$package)."</ul>\n"); + } + } + if (isset($this->roots['special'][$package])) { + $roots = $this->roots['special'][$package]; + foreach ($roots as $parent => $classes) { + $thistree = ''; + foreach ($classes as $classinfo) { + $root = $this->classes->getClassByPackage($classinfo, $package); + if ($root && !$root->isInterface()) { + continue; + } + $thistree .= + $this->getRootTree( + $this->getSortedClassTreeFromClass( + $classinfo, + $package, + ''), + $package, + true); + } + if (!$thistree) { + continue; + } + $trees[] = array( + 'class' => $parent, + 'class_tree' => "<ul>\n" . $thistree . "</ul>\n" + ); + } + } + return $trees; + } + + /** + * return formatted class tree for the Class Trees page + * + * @param array $tree output from {@link getSortedClassTreeFromClass()} + * @param string $package package + * @param boolean $nounknownparent if true, an object's parent will not be checked + * @see Classes::$definitechild, generateFormattedClassTrees() + * @return string + */ + function getRootTree($tree, $package, $noparent = false) + { + if (!$tree) return ''; + $my_tree = ''; + $cur = '#root'; + $lastcur = array(false); + $kids = array(); + $dopar = false; + if (!$noparent && $tree[$cur]['parent']) + { + $dopar = true; + if (!is_object($tree[$cur]['parent'])) + { +// debug("parent ".$tree[$cur]['parent']." not found"); + $my_tree .= '<li>' . $tree[$cur]['parent'] .'<ul>'; + } + else + { +// debug("parent ".$this->returnSee($tree[$cur]['parent'])." in other package"); + $root = $this->classes->getClassByPackage($tree[$cur]['parent']->name, + $package); + $my_tree .= '<li>' . $this->returnSee($tree[$cur]['parent']); + if ($tree[$cur]['parent']->package != $package) $my_tree .= ' <b>(Different package)</b><ul>'; + } + } + do + { +// fancy_debug($cur,$lastcur,$kids); + if (count($tree[$cur]['children'])) + { +// debug("$cur has children"); + if (!isset($kids[$cur])) + { +// debug("set $cur kids"); + $kids[$cur] = 1; + $root = $this->classes->getClassByPackage( + $tree[$cur]['link']->name, + $tree[$cur]['link']->package); + if ($implements = $root->getImplements()) { + $my_tree .= '<li>'.$this->returnSee($tree[$cur]['link']) . + ' (implements '; + foreach ($implements as $i => $interface) { + if ($i && $i != count($implements) - 1) $my_tree .= ', '; + if ($link = $this->getLink('object ' . $interface)) { + $my_tree .= $this->returnSee($link); + } else { + $my_tree .= $interface; + } + } + $my_tree .= ')'; + } else { + $my_tree .= '<li>'.$this->returnSee($tree[$cur]['link']); + } + $my_tree .= '<ul>'."\n"; + } + array_push($lastcur,$cur); + list(,$cur) = each($tree[$cur]['children']); +// var_dump('listed',$cur); + if ($cur) + { + $cur = $cur['package'] . '#' . $cur['class']; +// debug("set cur to child $cur"); +// $my_tree .= '<li>'.$this->returnSee($tree[$cur]['link']); + continue; + } else + { +// debug("end of children for $cur"); + $cur = array_pop($lastcur); + $cur = array_pop($lastcur); + $my_tree .= '</ul></li>'."\n"; + if ($dopar && ($cur == '#root' || !$cur)) $my_tree .= '</ul></li>'; + } + } else + { +// debug("$cur has no children"); + $my_tree .= '<li>'.$this->returnSee($tree[$cur]['link'])."</li>"; + if ($dopar && $cur == '#root') $my_tree .= '</ul></li>'; + $cur = array_pop($lastcur); + } + } while ($cur); + return $my_tree; + } + + /** + * Generate indexing information for given element + * + * @param parserElement descendant of parserElement + * @see generateElementIndex() + * @return array + */ + function getIndexInformation($elt) + { + $Result['type'] = $elt->type; + $Result['file_name'] = $elt->file; + $Result['path'] = $elt->getPath(); + + if (isset($elt->docblock)) + { + $Result['description'] = $elt->docblock->getSDesc($this); + + if ($elt->docblock->hasaccess) + $Result['access'] = $elt->docblock->tags['access'][0]->value; + else + $Result['access'] = 'public'; + + $Result['abstract'] = isset ($elt->docblock->tags['abstract'][0]); + } + else + $Result['description'] = ''; + + $aa = $Result['description']; + if (!empty($aa)) $aa = "<br> $aa"; + + switch($elt->type) + { + case 'class': + $Result['name'] = $elt->getName(); + $Result['title'] = 'Class'; + $Result['link'] = $this->getClassLink($elt->getName(), + $elt->docblock->package, + $elt->getPath(), + $elt->getName()); + $Result['listing'] = 'in file '.$elt->file.', class '.$Result['link']."$aa"; + break; + case 'define': + $Result['name'] = $elt->getName(); + $Result['title'] = 'Constant'; + $Result['link'] = $this->getDefineLink($elt->getName(), + $elt->docblock->package, + $elt->getPath(), + $elt->getName()); + $Result['listing'] = 'in file '.$elt->file.', constant '.$Result['link']."$aa"; + break; + case 'global': + $Result['name'] = $elt->getName(); + $Result['title'] = 'Global'; + $Result['link'] = $this->getGlobalLink($elt->getName(), + $elt->docblock->package, + $elt->getPath(), + $elt->getName()); + $Result['listing'] = 'in file '.$elt->file.', global variable '.$Result['link']."$aa"; + break; + case 'function': + $Result['name'] = $elt->getName(); + $Result['title'] = 'Function'; + $Result['link'] = $this->getFunctionLink($elt->getName(), + $elt->docblock->package, + $elt->getPath(), + $elt->getName().'()'); + $Result['listing'] = 'in file '.$elt->file.', function '.$Result['link']."$aa"; + break; + case 'method': + $Result['name'] = $elt->getName(); + $Result['title'] = 'Method'; + $Result['link'] = $this->getMethodLink($elt->getName(), + $elt->class, + $elt->docblock->package, + $elt->getPath(), + $elt->class.'::'.$elt->getName().'()' + ); + if ($elt->isConstructor) $Result['constructor'] = 1; + $Result['listing'] = 'in file '.$elt->file.', method '.$Result['link']."$aa"; + break; + case 'var': + $Result['name'] = $elt->getName(); + $Result['title'] = 'Variable'; + $Result['link'] = $this->getVarLink($elt->getName(), + $elt->class, + $elt->docblock->package, + $elt->getPath(), + $elt->class.'::'.$elt->getName()); + $Result['listing'] = 'in file '.$elt->file.', variable '.$Result['link']."$aa"; + break; + case 'const': + $Result['name'] = $elt->getName(); + $Result['title'] = 'Class Constant'; + $Result['link'] = $this->getConstLink($elt->getName(), + $elt->class, + $elt->docblock->package, + $elt->getPath(), + $elt->class.'::'.$elt->getName()); + $Result['listing'] = 'in file '.$elt->file.', class constant '.$Result['link']."$aa"; + break; + case 'page': + $Result['name'] = $elt->getFile(); + $Result['title'] = 'Page'; + $Result['link'] = $this->getPageLink($elt->getFile(), + $elt->package, + $elt->getPath(), + $elt->getFile()); + $Result['listing'] = 'procedural page '.$Result['link']; + break; + case 'include': + $Result['name'] = $elt->getName(); + $Result['title'] = 'Include'; + $Result['link'] = $elt->getValue(); + $Result['listing'] = 'include '.$Result['name']; + break; + } + + return $Result; + } + /** + * Generate alphabetical index of all elements + * + * @see $elements, walk() + */ + function generateElementIndex() + { + $elementindex = array(); + $letters = array(); + $used = array(); + foreach($this->elements as $letter => $nutoh) + { + foreach($this->elements[$letter] as $i => $yuh) + { + if ($this->elements[$letter][$i]->type != 'include') + { + if (!isset($used[$letter])) + { + $letters[]['letter'] = $letter; + $elindex['letter'] = $letter; + $used[$letter] = 1; + } + + $elindex['index'][] = $this->getIndexInformation($this->elements[$letter][$i]); + } + } + if (isset($elindex['index'])) + { + $elementindex[] = $elindex; + } else + { + unset($letters[count($letters) - 1]); + } + $elindex = array(); + } + return array($elementindex,$letters); + } + + function copyMediaRecursively($media,$targetdir,$subdir = '') + { + $versionControlDirectories = array ('CVS', 'media/CVS', 'media\\CVS', '.svn', 'media/.svn', 'media\\.svn'); + if (!is_array($media)) { + return; + } + foreach($media as $dir => $files) + { + if ($dir === '/') + { + $this->copyMediaRecursively($files,$targetdir); + } else + { + if (!is_numeric($dir)) + { + if (in_array($dir, $versionControlDirectories)) + { + // skip it entirely + } + else + { + // create the subdir + phpDocumentor_out("creating $targetdir" . PATH_DELIMITER . "$dir\n"); + Converter::setTargetDir($targetdir . PATH_DELIMITER . $dir); + if (!empty($subdir)) + { + $subdir .= PATH_DELIMITER; + } + $this->copyMediaRecursively($files,"$targetdir/$dir",$subdir . $dir); + } + } + else + { + // copy the file + phpDocumentor_out("copying $targetdir" . PATH_DELIMITER . $files['file']."\n"); + $this->copyFile($files['file'],$subdir); + } + } + } + } + + /** + * calls the converter setTargetDir, and then copies any template images and the stylesheet if they haven't been copied + * @see Converter::setTargetDir() + */ + function setTargetDir($dir) + { + Converter::setTargetDir($dir); + if ($this->wrote) return; + $this->wrote = true; + $template_images = array(); + $stylesheets = array(); + $tdir = $dir; + $dir = $this->templateDir; + $this->templateDir = $this->templateDir.'templates/'; + $info = new Io; + $this->copyMediaRecursively($info->getDirTree($this->templateDir.'media',$this->templateDir),$tdir); + } + + /** + * Generate alphabetical index of all elements by package and subpackage + * + * @param string $package name of a package + * @see $pkg_elements, walk(), generatePkgElementIndexes() + */ + function generatePkgElementIndex($package) + { +// var_dump($this->pkg_elements[$package]); + $elementindex = array(); + $letters = array(); + $letterind = array(); + $used = array(); + $subp = ''; + foreach($this->pkg_elements[$package] as $subpackage => $els) + { + if (empty($els)) continue; + if (!empty($subpackage)) $subp = " (<b>subpackage:</b> $subpackage)"; else $subp = ''; + foreach($els as $letter => $yuh) + { + foreach($els[$letter] as $i => $yuh) + { + if ($els[$letter][$i]->type != 'include') + { + if (!isset($used[$letter])) + { + $letters[]['letter'] = $letter; + $letterind[$letter] = count($letters) - 1; + $used[$letter] = 1; + } + $elindex[$letter]['letter'] = $letter; + + $elindex[$letter]['index'][] = $this->getIndexInformation($els[$letter][$i]); + } + } + } + } + ksort($elindex); + usort($letters,'HTMLframes_lettersort'); + if (isset($elindex)) + { + while(list($letter,$tempel) = each($elindex)) + { + if (!isset($tempel)) + { + unset($letters[$letterind[$tempel['letter']]]); + } else + $elementindex[] = $tempel; + } + } else $letters = array(); + return array($elementindex,$letters); + } + + /** + * + * @see generatePkgElementIndex() + */ + function generatePkgElementIndexes() + { + $packages = array(); + $package_names = array(); + $pkg = array(); + $letters = array(); + foreach($this->pkg_elements as $package => $trash) + { + $pkgs['package'] = $package; + $pkg['package'] = $package; + list($pkg['pindex'],$letters[$package]) = $this->generatePkgElementIndex($package); + if (count($pkg['pindex'])) + { + $packages[] = $pkg; + $package_names[] = $pkgs; + } + unset($pkgs); + unset($pkg); + } + foreach($packages as $i => $package) + { + $pnames = array(); + for($j=0;$j<count($package_names);$j++) + { + if ($package_names[$j]['package'] != $package['package']) $pnames[] = $package_names[$j]; + } + $packages[$i]['packageindexes'] = $pnames; + } + return array($packages,$package_names,$letters); + } + + /** + * @param string name of class + * @param string package name + * @param string full path to look in (used in index generation) + * @param boolean deprecated + * @param boolean return just the URL, or enclose it in an html a tag + * @return mixed false if not found, or an html a link to the class's documentation + * @see parent::getClassLink() + */ + function getClassLink($expr,$package, $file = false,$text = false, $with_a = true) + { + $a = Converter::getClassLink($expr,$package,$file); + if (!$a) return false; + return $this->returnSee($a, $text, $with_a); + } + + /** + * @param string name of function + * @param string package name + * @param string full path to look in (used in index generation) + * @param boolean deprecated + * @param boolean return just the URL, or enclose it in an html a tag + * @return mixed false if not found, or an html a link to the function's documentation + * @see parent::getFunctionLink() + */ + function getFunctionLink($expr,$package, $file = false,$text = false) + { + $a = Converter::getFunctionLink($expr,$package,$file); + if (!$a) return false; + return $this->returnSee($a, $text); + } + + /** + * @param string name of define + * @param string package name + * @param string full path to look in (used in index generation) + * @param boolean deprecated + * @param boolean return just the URL, or enclose it in an html a tag + * @return mixed false if not found, or an html a link to the define's documentation + * @see parent::getDefineLink() + */ + function getDefineLink($expr,$package, $file = false,$text = false) + { + $a = Converter::getDefineLink($expr,$package,$file); + if (!$a) return false; + return $this->returnSee($a, $text); + } + + /** + * @param string name of global variable + * @param string package name + * @param string full path to look in (used in index generation) + * @param boolean deprecated + * @param boolean return just the URL, or enclose it in an html a tag + * @return mixed false if not found, or an html a link to the global variable's documentation + * @see parent::getGlobalLink() + */ + function getGlobalLink($expr,$package, $file = false,$text = false) + { + $a = Converter::getGlobalLink($expr,$package,$file); + if (!$a) return false; + return $this->returnSee($a, $text); + } + + /** + * @param string name of procedural page + * @param string package name + * @param string full path to look in (used in index generation) + * @param boolean deprecated + * @param boolean return just the URL, or enclose it in an html a tag + * @return mixed false if not found, or an html a link to the procedural page's documentation + * @see parent::getPageLink() + */ + function getPageLink($expr,$package, $path = false,$text = false) + { + $a = Converter::getPageLink($expr,$package,$path); + if (!$a) return false; + return $this->returnSee($a, $text); + } + + /** + * @param string name of method + * @param string class containing method + * @param string package name + * @param string full path to look in (used in index generation) + * @param boolean deprecated + * @param boolean return just the URL, or enclose it in an html a tag + * @return mixed false if not found, or an html a link to the method's documentation + * @see parent::getMethodLink() + */ + function getMethodLink($expr,$class,$package, $file = false,$text = false) + { + $a = Converter::getMethodLink($expr,$class,$package,$file); + if (!$a) return false; + return $this->returnSee($a, $text); + } + + /** + * @param string name of var + * @param string class containing var + * @param string package name + * @param string full path to look in (used in index generation) + * @param boolean deprecated + * @param boolean return just the URL, or enclose it in an html a tag + * @return mixed false if not found, or an html a link to the var's documentation + * @see parent::getVarLink() + */ + function getVarLink($expr,$class,$package, $file = false,$text = false) + { + $a = Converter::getVarLink($expr,$class,$package,$file); + if (!$a) return false; + return $this->returnSee($a, $text); + } + + /** + * @param string name of class constant + * @param string class containing class constant + * @param string package name + * @param string full path to look in (used in index generation) + * @param boolean deprecated + * @param boolean return just the URL, or enclose it in an html a tag + * @return mixed false if not found, or an html a link to the var's documentation + * @see parent::getVarLink() + */ + function getConstLink($expr,$class,$package, $file = false,$text = false) + { + $a = Converter::getConstLink($expr,$class,$package,$file); + if (!$a) return false; + return $this->returnSee($a, $text); + } + + /** + * does a nat case sort on the specified second level value of the array + * + * @param mixed $a + * @param mixed $b + * @return int + */ + function rcNatCmp ($a, $b) + { + $aa = strtoupper($a[$this->rcnatcmpkey]); + $bb = strtoupper($b[$this->rcnatcmpkey]); + + return strnatcasecmp($aa, $bb); + } + + /** + * does a nat case sort on the specified second level value of the array. + * this one puts constructors first + * + * @param mixed $a + * @param mixed $b + * @return int + */ + function rcNatCmp1 ($a, $b) + { + $aa = strtoupper($a[$this->rcnatcmpkey]); + $bb = strtoupper($b[$this->rcnatcmpkey]); + + if (strpos($aa,'CONSTRUCTOR') === 0) + { + return -1; + } + if (strpos($bb,'CONSTRUCTOR') === 0) + { + return 1; + } + if (strpos($aa,strtoupper($this->class)) === 0) + { + return -1; + } + if (strpos($bb,strtoupper($this->class)) === 0) + { + return -1; + } + return strnatcasecmp($aa, $bb); + } + + /** + * This function is not used by HTMLdefaultConverter, but is required by Converter + */ + function Output() + { + } +} + +/** + * @access private + * @global string name of the package to set as the first package + */ +function HTMLframes_pindexcmp($a, $b) +{ + global $phpDocumentor_DefaultPackageName; + if ($a['title'] == $phpDocumentor_DefaultPackageName) return -1; + if ($b['title'] == $phpDocumentor_DefaultPackageName) return 1; + return strnatcasecmp($a['title'],$b['title']); +} + +/** @access private */ +function HTMLframes_lettersort($a, $b) +{ + return strnatcasecmp($a['letter'],$b['letter']); +} + +/** @access private */ +function HTMLframes_outputfilter($src, &$smarty) +{ + return str_replace('{$subdir}',$smarty->_tpl_vars['subdir'],$src); +} +?> diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/default/options.ini b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/default/options.ini new file mode 100755 index 00000000..084809be --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/default/options.ini @@ -0,0 +1,577 @@ +preservedocbooktags = false + +;; used to highlight the {@source} inline tag, @filesource tag, and @example tag +[highlightSourceTokens] +;; format: +;; T_CONSTANTNAME = open +;; /T_CONSTANTNAME = close + +T_INCLUDE = <span class="src-inc"> +/T_INCLUDE = </span> +T_INCLUDE_ONCE = <span class="src-inc"> +/T_INCLUDE_ONCE = </span> +T_REQUIRE_ONCE = <span class="src-inc"> +/T_REQUIRE_ONCE = </span> +T_REQUIRE_ONCE = <span class="src-inc"> +/T_REQUIRE_ONCE = </span> + +T_CONSTANT_ENCAPSED_STRING = <span class="src-str"> +/T_CONSTANT_ENCAPSED_STRING = </span> +T_STRING_VARNAME = <span class="src-str"> +/T_STRING_VARNAME = </span> + +T_STRING = <span class="src-id"> +/T_STRING = </span> + +T_DNUMBER = <span class="src-num"> +/T_DNUMBER = </span> +T_LNUMBER = <span class="src-num"> +/T_LNUMBER = </span> + +T_VARIABLE = <span class="src-var"> +/T_VARIABLE = </span> + +T_COMMENT = <span class="src-comm"> +/T_COMMENT = </span> +T_ML_COMMENT = <span class="src-comm"> +/T_ML_COMMENT = </span> + +T_OBJECT_OPERATOR = <span class="src-sym"> +/T_OBJECT_OPERATOR = </span> + +T_ABSTRACT = <span class="src-key"> +/T_ABSTRACT = </span> +T_CLONE = <span class="src-key"> +/T_CLONE = </span> +T_HALT_COMPILER = <span class="src-key"> +/T_HALT_COMPILER = </span> +T_ARRAY = <span class="src-key"> +/T_ARRAY = </span> +T_AS = <span class="src-key"> +/T_AS = </span> +T_BREAK = <span class="src-key"> +/T_BREAK = </span> +T_CLASS = <span class="src-key"> +/T_CLASS = </span> +T_CASE = <span class="src-key"> +/T_CASE = </span> +T_CONST = <span class="src-key"> +/T_CONST = </span> +T_CONTINUE = <span class="src-key"> +/T_CONTINUE = </span> +T_DECLARE = <span class="src-key"> +/T_DECLARE = </span> +T_DEFAULT = <span class="src-key"> +/T_DEFAULT = </span> +T_ELSE = <span class="src-key"> +/T_ELSE = </span> +T_ELSEIF = <span class="src-key"> +/T_ELSEIF = </span> +T_EMPTY = <span class="src-key"> +/T_EMPTY = </span> +T_ENDDECLARE = <span class="src-key"> +/T_ENDDECLARE = </span> +T_ENDFOR = <span class="src-key"> +/T_ENDFOR = </span> +T_ENDSWITCH = <span class="src-key"> +/T_ENDSWITCH = </span> +T_ENDFOREACH = <span class="src-key"> +/T_ENDFOREACH = </span> +T_ENDIF = <span class="src-key"> +/T_ENDIF = </span> +T_ENDWHILE = <span class="src-key"> +/T_ENDWHILE = </span> +T_EXIT = <span class="src-key"> +/T_EXIT = </span> +T_EXTENDS = <span class="src-key"> +/T_EXTENDS = </span> +T_FINAL = <span class="src-key"> +/T_FINAL = </span> +T_FOR = <span class="src-key"> +/T_FOR = </span> +T_FOREACH = <span class="src-key"> +/T_FOREACH = </span> +T_FUNCTION = <span class="src-key"> +/T_FUNCTION = </span> +T_GLOBAL = <span class="src-key"> +/T_GLOBAL = </span> +T_IF = <span class="src-key"> +/T_IF = </span> +T_IMPLEMENTS = <span class="src-key"> +/T_IMPLEMENTS = </span> +T_INTERFACE = <span class="src-key"> +/T_INTERFACE = </span> +T_LOGICAL_AND = <span class="src-key"> +/T_LOGICAL_AND = </span> +T_LOGICAL_OR = <span class="src-key"> +/T_LOGICAL_OR = </span> +T_LOGICAL_XOR = <span class="src-key"> +/T_LOGICAL_XOR = </span> +T_NEW = <span class="src-key"> +/T_NEW = </span> +T_PRIVATE = <span class="src-key"> +/T_PRIVATE = </span> +T_PROTECTED = <span class="src-key"> +/T_PROTECTED = </span> +T_PUBLIC = <span class="src-key"> +/T_PUBLIC = </span> +T_RETURN = <span class="src-key"> +/T_RETURN = </span> +T_STATIC = <span class="src-key"> +/T_STATIC = </span> +T_SWITCH = <span class="src-key"> +/T_SWITCH = </span> +T_VAR = <span class="src-key"> +/T_VAR = </span> +T_WHILE = <span class="src-key"> +/T_WHILE = </span> + +T_DOUBLE_COLON = <span class="src-sym"> +/T_DOUBLE_COLON = </span> + +T_OPEN_TAG = <span class="src-php"> +/T_OPEN_TAG = </span> +T_OPEN_TAG_WITH_ECHO = <span class="src-php"> +/T_OPEN_TAG_WITH_ECHO = </span> +T_CLOSE_TAG = <span class="src-php"> +/T_CLOSE_TAG = </span> + + +[highlightSource] +;; this is for highlighting things that aren't tokens like "&" +;; format: +;; word = open +;; /word = close +@ = <span class="src-sym"> +/@ = </span> +& = <span class="src-sym"> +/& = </span> +[ = <span class="src-sym"> +/[ = </span> +] = <span class="src-sym"> +/] = </span> +! = <span class="src-sym"> +/! = </span> +";" = <span class="src-sym"> +/; = </span> +( = <span class="src-sym"> +/( = </span> +) = <span class="src-sym"> +/) = </span> +, = <span class="src-sym"> +/, = </span> +{ = <span class="src-sym"> +/{ = </span> +} = <span class="src-sym"> +/} = </span> +""" = <span class="src-str"> +/" = </span> + +[highlightDocBlockSourceTokens] +;; this is for docblock tokens, using by phpDocumentor_HighlightParser +;; tagphptype is for "string" in @param string description, for example +docblock = <span class="src-doc"> +/docblock = </span> +tagphptype = <span class="src-doc-type"> +/tagphptype = </span> +tagvarname = <span class="src-doc-var"> +/tagvarname = </span> +coretag = <span class="src-doc-coretag"> +/coretag = </span> +tag = <span class="src-doc-tag"> +/tag = </span> +inlinetag = <span class="src-doc-inlinetag"> +/inlinetag = </span> +internal = <span class="src-doc-internal"> +/internal = </span> +closetemplate = <span class="src-doc-close-template"> +/closetemplate = </span> +docblocktemplate = <span class="src-doc-template"> +/docblocktemplate = </span> + +[highlightTutorialSourceTokens] +;; this is for XML DocBook-based tutorials, highlighted by phpDocumentor_TutorialHighlightParser +;; <tag> +opentag = <span class="tute-tag"> +/opentag = </span> +;; </tag> +closetag = <span class="tute-tag"> +/closetag = </span> +;; <tag attribute="value"> +attribute = <span class="tute-attribute-name"> +/attribute = </span> +;; <tag attribute="value"> +attributevalue = <span class="tute-attribute-value"> +/attributevalue = </span> +;; &entity; +entity = <span class="tute-entity"> +/entity = </span> +;; <!-- comment --> +comment = <span class="tute-comment"> +/comment = </span> +;; {@inline tag} +itag = <span class="tute-inline-tag"> +/itag = </span> + +;; used for translation of html in DocBlocks +[desctranslate] +ul = <ul> +/ul = </ul> +ol = <ol> +/ol = </ol> +li = <li> +/li = </li> +code = +/code = +var = <var> +/var = </var> +samp = <samp> +/samp = </samp> +kbd = <kbd> +/kbd = </kbd> +pre = <pre> +/pre = </pre> +p = <p> +/p = </p> +b = <strong> +/b = </strong> +i = <em> +/i = </em> +br = <br /> + +[ppage] +;; this is the DocBook package page translation section. All DocBook tags +;; that have a corresponding html tag must be listed here. Entities should +;; also be listed here +;; +;; examples: +;; 1) +;; tagname = newtagname +;; +;; This is the simplest case, where all attributes will be added into the +;; starting tag and the ending tag will be html/xml style </tranlatedtagname> +;; <tagname></tagname> becomes <newtagname></newtagname> and +;; <tagname attr="value"></tagname> becomes +;; <newtagname attr="value"></newtagname> +;; +;; 2) +;; tagname = newtagname +;; tagname->attr = newattrname +;; +;; in this case, everything will be like the first case, except tags like: +;; <tagname attr="value"></tagname> will become +;; <newtagname newattrname="value"></newtagname> +;; +;; 3) +;; tagname = newtagname +;; tagname->attr = newattrname +;; tagname->attr+value = newvalue +;; +;; in this case, the value is also translated to another. This can be useful +;; for instances such as focus="middle" changing to align="center" or something +;; of that nature. +;; <tagname attr="value"></tagname> will become +;; <newtagname newattrname="newvalue"></newtagname> +;; +;; 4) +;; tagname = newtagname +;; tagname->attr1 = newattrname +;; tagname->attr2 = newattrname +;; tagname->attr1+value|attr2+value = newvalue +;; +;; in this case, two attributes combine to make one new attribute, and the combined +;; value is translated into a new value +;; <tagname attr1="value1" attr2="value2"></tagname> will become +;; <newtagname newattrname="newvalue"></newtagname> +;; +;; 5) +;; tagname = newtagname +;; tagname!attr = dummy +;; +;; here, the attribute will be ignored. dummy is not used and may be any value +;; <tagname attr="value"></tagname> will become +;; <newtagname></newtagname> +;; +;; 6) +;; tagname = newtagname +;; tagname! = dummy +;; +;; here, all attributes will be ignored. dummy is not used and may be any value +;; <tagname attr1="value" attr2="foo"></tagname> will become +;; <newtagname></newtagname> +;; +;; 7) +;; tagname = newtagname +;; tagname/ = 1 +;; +;; here, the tag will be translated as a single tag with no closing tag, and all +;; attributes +;; <tagname attr="val">{text text}</tagname> will become +;; <newtagname attr="val" /> +;; +;; 8) +;; tagname = <starttaginfo /> +;; /tagname = closetagtext +;; +;; in this case, the text <starttaginfo> will be inserted exactly as entered for +;; <tagname> and closetagtext for </tagname> +;; <tagname attr="val"></tagname> will become +;; <starttaginfo />closetagtext +;; +;; 9) +;; $attr$my_attribute = newattrname +;; +;; tagname = newtagname +;; +;; in this case, all occurences of my_attribute in any tag will be changed to +;; newattrname. This is useful for changing things like role="php" to +;; class="php," for example. Note that the text "$attr$" MUST be on the line +;; start for phpDocumentor to recognize it. +;; +;; 10) +;; &entity; = translation text +;; " = " +;; " = """ +;; < = < +;; +;; Use this to control translation of entities to their appropriate values + + = +" = " +” = ” +“ = “ +& = & +< = < +> = > +© = © + + +$attr$role = class + +abbrev = abbr + +blockquote = blockquote + +arg = span +arg->choice = class + +author = <span class="author"> +/author = </span> +author! = 0 + +authorblurb = <div class="author-blurb"> +/authorblurb = </div> + +authorgroup = <div class="authors"><h2 class="title">Authors</h2> +/authorgroup = </div> +authorgroup! = 0 + +caution = <span class="warning"> +/caution = </span> +caution! = 0 + +cmdsynopsis = <div class="cmd-synopsis"> +/cmdsynopsis = </div> + +command = <span class="cmd-title"> +/command = </span> + +copyright = <div class="notes"> +/copyright = </div> + +emphasis = em + +example = <div class="src-code"> +/example = </div> +example! = 0 + +function = +/function = () + +formalpara = p + +graphic = img +graphic->fileref = src +graphic/ = + +important = strong + +informalequation = blockquote + +informalexample = div + +inlineequation = em + +itemizedlist = ul + +listitem = li + +literal = code + +literallayout = span + +option = " " +/option = + +orderedlist = ol + +para = p + +programlisting = <div class="src-code"> +/programlisting = </div> +programlisting! = 0 + +refentry = div + +refnamediv = <div class="ref-title-box"> +/refnamediv = </div> +refnamediv! = 0 + +refname = <h1 class="ref-title"> +/refname = </h1> + +refpurpose = <h2 class="ref-purpose"> +/refpurpose = </h2> + +refsynopsisdiv = <div class="ref-synopsis"> +/refsynopsisdiv = </div> +refsynopsisdiv! = 0 + +refsect1 = span + +refsect2 = span + +refsect3 = +/refsect3 = <br /> + +releaseinfo = <div class="release-info">( +/releaseinfo = )</div> + +simpara = +/simpara = <br /> +simpara! = 0 + +subscript = sub + +superscript = super + +table = table + +table->colsep = rules +table->rowsep = rules +table->colsep+1|rowsep+1 =all +table->colsep+1|rowsep+0 =cols +table->colsep+0|rowsep+1 =rows + +table->frame =frame +table->frame+all =border +table->frame+none =void +table->frame+sides =vsides +table->frame+top =above +table->frame+topbot =hsides + +thead = thead + +tfoot = tfoot + +tbody = tbody + +colspec = col + +tgroup = colgroup +tgroup/ = 1 +tgroup->cols = span + +row = tr + +entry = td +entry->morerows = colspan +entry->morerows+1 =2 +entry->morerows+2 =3 +entry->morerows+3 =4 +entry->morerows+4 =5 +entry->morerows+5 =6 +entry->morerows+6 =7 +entry->morerows+7 =8 +entry->morerows+8 =9 +entry->morerows+9 =10 +entry->morerows+10 =11 +;; add more if you need more colspans + +warning = <span class="warning"> +/warning = </span> +warning! = 0 + +;; now begins the attributes that should be tags in cdata +[$attr$id] +open = a +;close = /a +cdata! = true +quotevalues = true +separator = "=" +;separateall = true +$id = name + +;; now begins the sections that deal with <title> +[refsynopsisdiv_title] +;tag_attr = true +;attr_name = title +cdata_start = true +;cdata_end = true +open = <h1 class="title"> +close = </h1> + +[refsect1_title] +;tag_attr = true +;attr_name = title +cdata_start = true +;cdata_end = true +open = <h2 class="title"> +close = </h2> + +[refsect2_title] +;tag_attr = true +;attr_name = title +cdata_start = true +;cdata_end = true +open = <h3 class="title"> +close = </h3> + +[refsect3_title] +;tag_attr = true +;attr_name = title +cdata_start = true +;cdata_end = true +open = <h4 class="title"> +close = </h4> + +[para_title] +;tag_attr = true +;attr_name = title +cdata_start = true +;cdata_end = true +open = <div class="title"> +close = </div> + +[formalpara_title] +;tag_attr = true +;attr_name = title +cdata_start = true +;cdata_end = true +open = <div class="title"> +close = </div> + +[example_title] +;tag_attr = true +;attr_name = title +;cdata_start = true +cdata_end = true +open = </td></tr><tr><td><strong> +close = </strong> + +[table_title] +;tag_attr = true +;attr_name = true +cdata_start = true +open = <caption> +close = </caption> diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/default/templates/basicindex.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/default/templates/basicindex.tpl new file mode 100755 index 00000000..951ee264 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/default/templates/basicindex.tpl @@ -0,0 +1,47 @@ +<div class="index-letter-menu"> +{section name=letter loop=$letters} + <a class="index-letter" href="{$indexname}.html#{$letters[letter].letter}">{$letters[letter].letter}</a> +{/section} +</div> + +{section name=index loop=$index} + <a name="{$index[index].letter}"></a> + <div class="index-letter-section"> + <div style="float: left" class="index-letter-title">{$index[index].letter}</div> + <div style="float: right"><a href="#top">top</a></div> + <div style="clear: both"></div> + </div> + <dl> + {section name=contents loop=$index[index].index} + <dt class="field"> + {if ($index[index].index[contents].title == "Variable")} + <span class="var-title">{$index[index].index[contents].name}</span> + {elseif ($index[index].index[contents].title == "Global")} + <span class="var-title">{$index[index].index[contents].name}</span> + {elseif ($index[index].index[contents].title == "Method")} + <span class="method-title">{$index[index].index[contents].name}</span> + {elseif ($index[index].index[contents].title == "Function")} + <span class="method-title">{$index[index].index[contents].name}</span> + {elseif ($index[index].index[contents].title == "Constant")} + <span class="const-title">{$index[index].index[contents].name}</span> + {elseif ($index[index].index[contents].title == "Page") || ($index[index].index[contents].title == "Include")} + <span class="include-title">{$index[index].index[contents].name}</span> + {else} + {$index[index].index[contents].name} + {/if} + </dt> + <dd class="index-item-body"> + <div class="index-item-details">{$index[index].index[contents].link} in {$index[index].index[contents].file_name}</div> + {if $index[index].index[contents].description} + <div class="index-item-description">{$index[index].index[contents].description}</div> + {/if} + </dd> + {/section} + </dl> +{/section} + +<div class="index-letter-menu"> +{section name=letter loop=$letters} + <a class="index-letter" href="{$indexname}.html#{$letters[letter].letter}">{$letters[letter].letter}</a> +{/section} +</div> diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/default/templates/blank.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/default/templates/blank.tpl new file mode 100755 index 00000000..6a05f27e --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/default/templates/blank.tpl @@ -0,0 +1,13 @@ +<html> +<head> + <title>{$maintitle}</title> + <link rel="stylesheet" href="{$subdir}media/stylesheet.css" /> + <meta http-equiv='Content-Type' content='text/html; charset=iso-8859-1'/> +</head> +<body> +<div align="center"><h1>{$maintitle}</h1></div> +<b>Welcome to {$package}!</b><br /> +<br /> +This documentation was generated by <a href="{$phpdocwebsite}">phpDocumentor v{$phpdocversion}</a><br /> +</body> +</html>
\ No newline at end of file diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/default/templates/class.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/default/templates/class.tpl new file mode 100755 index 00000000..9ab7c455 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/default/templates/class.tpl @@ -0,0 +1,429 @@ +{include file="header.tpl" top3=true} + +<h2 class="class-name">{if $is_interface}Interface{else}Class{/if} {$class_name}</h2> + +<a name="sec-description"></a> +<div class="info-box"> + <div class="info-box-title">Description</div> + <div class="nav-bar"> + {if $children || $vars || $ivars || $methods || $imethods || $consts || $iconsts } + <span class="disabled">Description</span> | + {/if} + {if $children} + <a href="#sec-descendents">Descendents</a> + {if $vars || $ivars || $methods || $imethods || $consts || $iconsts}|{/if} + {/if} + {if $vars || $ivars} + {if $vars} + <a href="#sec-var-summary">Vars</a> (<a href="#sec-vars">details</a>) + {else} + <a href="#sec-vars">Vars</a> + {/if} + {if $methods || $imethods}|{/if} + {/if} + {if $methods || $imethods} + {if $methods} + <a href="#sec-method-summary">Methods</a> (<a href="#sec-methods">details</a>) + {else} + <a href="#sec-methods">Methods</a> + {/if} + {/if} + {if $consts || $iconsts} + {if $consts} + <a href="#sec-const-summary">Constants</a> (<a href="#sec-consts">details</a>) + {else} + <a href="#sec-consts">Constants</a> + {/if} + {/if} + </div> + <div class="info-box-body"> + {if $implements} + <p class="implements"> + Implements interfaces: + <ul> + {foreach item="int" from=$implements}<li>{$int}</li>{/foreach} + </ul> + </p> + {/if} + {include file="docblock.tpl" type="class" sdesc=$sdesc desc=$desc} + <p class="notes"> + Located in <a class="field" href="{$page_link}">{$source_location}</a> (line <span class="field">{if $class_slink}{$class_slink}{else}{$line_number}{/if}</span>) + </p> + + {if $tutorial} + <hr class="separator" /> + <div class="notes">Tutorial: <span class="tutorial">{$tutorial}</span></div> + {/if} + + <pre>{section name=tree loop=$class_tree.classes}{$class_tree.classes[tree]}{$class_tree.distance[tree]}{/section}</pre> + + {if $conflicts.conflict_type} + <hr class="separator" /> + <div><span class="warning">Conflicts with classes:</span><br /> + {section name=me loop=$conflicts.conflicts} + {$conflicts.conflicts[me]}<br /> + {/section} + </div> + {/if} + </div> +</div> + +{if $children} + <a name="sec-descendents"></a> + <div class="info-box"> + <div class="info-box-title">Direct descendents</div> + <div class="nav-bar"> + <a href="#sec-description">Description</a> | + <span class="disabled">Descendents</span> + {if $vars || $ivars || $methods || $imethods}|{/if} + {if $vars || $ivars} + {if $vars} + <a href="#sec-var-summary">Vars</a> (<a href="#sec-vars">details</a>) + {else} + <a href="#sec-vars">Vars</a> + {/if} + {if $methods || $imethods}|{/if} + {/if} + {if $methods || $imethods} + {if $methods} + <a href="#sec-method-summary">Methods</a> (<a href="#sec-methods">details</a>) + {else} + <a href="#sec-methods">Methods</a> + {/if} + {/if} + {if $consts || $iconsts} + {if $consts} + <a href="#sec-const-summary">Constants</a> (<a href="#sec-consts">details</a>) + {else} + <a href="#sec-consts">Constants</a> + {/if} + {/if} + </div> + <div class="info-box-body"> + <table cellpadding="2" cellspacing="0" class="class-table"> + <tr> + <th class="class-table-header">Class</th> + <th class="class-table-header">Description</th> + </tr> + {section name=kids loop=$children} + <tr> + <td style="padding-right: 2em">{$children[kids].link}</td> + <td> + {if $children[kids].sdesc} + {$children[kids].sdesc} + {else} + {$children[kids].desc} + {/if} + </td> + </tr> + {/section} + </table> + </div> + </div> +{/if} + +{if $consts} + <a name="sec-const-summary"></a> + <div class="info-box"> + <div class="info-box-title">Class Constant Summary</span></div> + <div class="nav-bar"> + <a href="#sec-description">Description</a> | + {if $children} + <a href="#sec-descendents">Descendants</a> | + {/if} + <span class="disabled">Constants</span> (<a href="#sec-consts">details</a>) + {if $vars || $ivars} + {if $vars} + <a href="#sec-var-summary">Vars</a> (<a href="#sec-vars">details</a>) + {else} + <a href="#sec-vars">Vars</a> + {/if} + | + {/if} + {if $methods || $imethods} + | + {if $methods} + <a href="#sec-method-summary">Methods</a> (<a href="#sec-methods">details</a>) + {else} + <a href="#sec-methods">Methods</a> + {/if} + {/if} + </div> + <div class="info-box-body"> + <div class="const-summary"> + {section name=consts loop=$consts} + <div class="const-title"> + <img src="{$subdir}media/images/Constant.png" alt=" " /> + <a href="#{$consts[consts].const_name}" title="details" class="const-name">{$consts[consts].const_name}</a> = <span class="var-type">{$consts[consts].const_value}</span> + + </div> + {/section} + </div> + </div> + </div> +{/if} + +{if $vars} + <a name="sec-var-summary"></a> + <div class="info-box"> + <div class="info-box-title">Variable Summary</span></div> + <div class="nav-bar"> + <a href="#sec-description">Description</a> | + {if $children} + <a href="#sec-descendents">Descendents</a> | + {/if} + <span class="disabled">Vars</span> (<a href="#sec-vars">details</a>) + {if $methods || $imethods} + | + {if $methods} + <a href="#sec-method-summary">Methods</a> (<a href="#sec-methods">details</a>) + {else} + <a href="#sec-methods">Methods</a> + {/if} + {/if} + {if $consts || $iconsts} + {if $consts} + <a href="#sec-const-summary">Constants</a> (<a href="#sec-consts">details</a>) + {else} + <a href="#sec-consts">Constants</a> + {/if} + {/if} + </div> + <div class="info-box-body"> + <div class="var-summary"> + {section name=vars loop=$vars} + {if $vars[vars].static} + <div class="var-title"> + static <span class="var-type">{$vars[vars].var_type}</span> + <a href="#{$vars[vars].var_name}" title="details" class="var-name">{$vars[vars].var_name}</a> + </div> + {/if} + {/section} + {section name=vars loop=$vars} + {if !$vars[vars].static} + <div class="var-title"> + <span class="var-type">{$vars[vars].var_type}</span> + <a href="#{$vars[vars].var_name}" title="details" class="var-name">{$vars[vars].var_name}</a> + </div> + {/if} + {/section} + </div> + </div> + </div> +{/if} + +{if $methods} + <a name="sec-method-summary"></a> + <div class="info-box"> + <div class="info-box-title">Method Summary</span></div> + <div class="nav-bar"> + <a href="#sec-description">Description</a> | + {if $children} + <a href="#sec-descendents">Descendents</a> | + {/if} + {if $consts || $iconsts} + {if $consts} + <a href="#sec-const-summary">Constants</a> (<a href="#sec-consts">details</a>) + {else} + <a href="#sec-consts">Constants</a> + {/if} + {/if} + {if $vars || $ivars} + {if $vars} + <a href="#sec-var-summary">Vars</a> (<a href="#sec-vars">details</a>) + {else} + <a href="#sec-vars">Vars</a> + {/if} + | + {/if} + <span class="disabled">Methods</span> (<a href="#sec-methods">details</a>) + </div> + <div class="info-box-body"> + <div class="method-summary"> + {section name=methods loop=$methods} + {if $methods[methods].static} + <div class="method-definition"> + static {if $methods[methods].function_return} + <span class="method-result">{$methods[methods].function_return}</span> + {/if} + <a href="#{$methods[methods].function_name}" title="details" class="method-name">{if $methods[methods].ifunction_call.returnsref}&{/if}{$methods[methods].function_name}</a> + {if count($methods[methods].ifunction_call.params)} + ({section name=params loop=$methods[methods].ifunction_call.params}{if $smarty.section.params.iteration != 1}, {/if}{if $methods[methods].ifunction_call.params[params].hasdefault}[{/if}<span class="var-type">{$methods[methods].ifunction_call.params[params].type}</span> <span class="var-name">{$methods[methods].ifunction_call.params[params].name}</span>{if $methods[methods].ifunction_call.params[params].hasdefault} = <span class="var-default">{$methods[methods].ifunction_call.params[params].default}</span>]{/if}{/section}) + {else} + () + {/if} + </div> + {/if} + {/section} + {section name=methods loop=$methods} + {if !$methods[methods].static} + <div class="method-definition"> + {if $methods[methods].function_return} + <span class="method-result">{$methods[methods].function_return}</span> + {/if} + <a href="#{$methods[methods].function_name}" title="details" class="method-name">{if $methods[methods].ifunction_call.returnsref}&{/if}{$methods[methods].function_name}</a> + {if count($methods[methods].ifunction_call.params)} + ({section name=params loop=$methods[methods].ifunction_call.params}{if $smarty.section.params.iteration != 1}, {/if}{if $methods[methods].ifunction_call.params[params].hasdefault}[{/if}<span class="var-type">{$methods[methods].ifunction_call.params[params].type}</span> <span class="var-name">{$methods[methods].ifunction_call.params[params].name}</span>{if $methods[methods].ifunction_call.params[params].hasdefault} = <span class="var-default">{$methods[methods].ifunction_call.params[params].default}</span>]{/if}{/section}) + {else} + () + {/if} + </div> + {/if} + {/section} + </div> + </div> + </div> +{/if} + +{if $vars || $ivars} + <a name="sec-vars"></a> + <div class="info-box"> + <div class="info-box-title">Variables</div> + <div class="nav-bar"> + <a href="#sec-description">Description</a> | + {if $children} + <a href="#sec-descendents">Descendents</a> | + {/if} + {if $methods} + <a href="#sec-var-summary">Vars</a> (<span class="disabled">details</span>) + {else} + <span class="disabled">Vars</span> + {/if} + + {if $consts || $iconsts} + {if $consts} + <a href="#sec-const-summary">Constants</a> (<a href="#sec-consts">details</a>) + {else} + <a href="#sec-consts">Constants</a> + {/if} + {/if} + {if $methods || $imethods} + | + {if $methods} + <a href="#sec-method-summary">Methods</a> (<a href="#sec-methods">details</a>) + {else} + <a href="#sec-methods">Methods</a> + {/if} + {/if} + </div> + <div class="info-box-body"> + {include file="var.tpl"} + {if $ivars} + <h4>Inherited Variables</h4> + <A NAME='inherited_vars'><!-- --></A> + {section name=ivars loop=$ivars} + <p>Inherited from <span class="classname">{$ivars[ivars].parent_class}</span></p> + <blockquote> + {section name=ivars2 loop=$ivars[ivars].ivars} + <span class="var-title"> + <span class="var-name">{$ivars[ivars].ivars[ivars2].link}</span>{if $ivars[ivars].ivars[ivars2].ivar_sdesc}: {$ivars[ivars].ivars[ivars2].ivar_sdesc}{/if}<br> + </span> + {/section} + </blockquote> + {/section} + {/if} + </div> + </div> +{/if} + +{if $methods || $imethods} + <a name="sec-methods"></a> + <div class="info-box"> + <div class="info-box-title">Methods</div> + <div class="nav-bar"> + <a href="#sec-description">Description</a> | + {if $children} + <a href="#sec-descendents">Descendents</a> | + {/if} + {if $vars || $ivars} + {if $vars} + <a href="#sec-var-summary">Vars</a> (<a href="#sec-vars">details</a>) + {else} + <a href="#sec-vars">Vars</a> + {/if} + {/if} + {if $consts || $iconsts} + {if $consts} + <a href="#sec-const-summary">Constants</a> (<a href="#sec-consts">details</a>) + {else} + <a href="#sec-consts">Constants</a> + {/if} + {/if} + {if $methods} + <a href="#sec-method-summary">Methods</a> (<span class="disabled">details</span>) + {else} + <span class="disabled">Methods</span> + {/if} + </div> + <div class="info-box-body"> + {include file="method.tpl"} + {if $imethods} + <h4>Inherited Methods</h4> + <a name='inherited_methods'><!-- --></a> + {section name=imethods loop=$imethods} + <!-- =========== Summary =========== --> + <p>Inherited From <span class="classname">{$imethods[imethods].parent_class}</span></p> + <blockquote> + {section name=im2 loop=$imethods[imethods].imethods} + <span class="method-name">{$imethods[imethods].imethods[im2].link}</span>{if $imethods[imethods].imethods[im2].ifunction_sdesc}: {$imethods[imethods].imethods[im2].ifunction_sdesc}{/if}<br> + {/section} + </blockquote> + {/section} + {/if} + </div> + </div> +{/if} + +{if $consts || $iconsts} + <a name="sec-consts"></a> + <div class="info-box"> + <div class="info-box-title">Class Constants</div> + <div class="nav-bar"> + <a href="#sec-description">Description</a> | + {if $children} + <a href="#sec-descendents">Descendants</a> | + {/if} + {if $methods} + <a href="#sec-var-summary">Constants</a> (<span class="disabled">details</span>) + {else} + <span class="disabled">Constants</span> + {/if} + + {if $vars || $ivars} + {if $vars} + <a href="#sec-var-summary">Vars</a> (<a href="#sec-vars">details</a>) + {else} + <a href="#sec-vars">Vars</a> + {/if} + {/if} + {if $methods || $imethods} + | + {if $methods} + <a href="#sec-method-summary">Methods</a> (<a href="#sec-methods">details</a>) + {else} + <a href="#sec-methods">Methods</a> + {/if} + {/if} + </div> + <div class="info-box-body"> + {include file="const.tpl"} + {if $iconsts} + <h4>Inherited Constants</h4> + <A NAME='inherited_vars'><!-- --></A> + {section name=iconsts loop=$iconsts} + <p>Inherited from <span class="classname">{$iconsts[iconsts].parent_class}</span></p> + <blockquote> + {section name=iconsts2 loop=$iconsts[iconsts].iconsts} + <img src="{$subdir}media/images/{if $iconsts[iconsts].iconsts[iconsts2].access == 'private'}PrivateVariable{else}Variable{/if}.png" /> + <span class="const-title"> + <span class="const-name">{$iconsts[iconsts].iconsts[iconsts2].link}</span>{if $iconsts[iconsts].iconsts[iconsts2].iconst_sdesc}: {$iconsts[iconsts].iconsts[iconsts2].iconst_sdesc}{/if}<br> + </span> + {/section} + </blockquote> + {/section} + {/if} + </div> + </div> +{/if} + +{include file="footer.tpl" top3=true} diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/default/templates/classtrees.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/default/templates/classtrees.tpl new file mode 100755 index 00000000..952e6d50 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/default/templates/classtrees.tpl @@ -0,0 +1,19 @@ +{include file="header.tpl" top1=true} + +<!-- Start of Class Data --> +<H2> + {$smarty.capture.title} +</H2> +{if $interfaces} +{section name=classtrees loop=$interfaces} +<h2>Root interface {$interfaces[classtrees].class}</h2> +{$interfaces[classtrees].class_tree} +{/section} +{/if} +{if $classtrees} +{section name=classtrees loop=$classtrees} +<h2>Root class {$classtrees[classtrees].class}</h2> +{$classtrees[classtrees].class_tree} +{/section} +{/if} +{include file="footer.tpl"}
\ No newline at end of file diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/default/templates/const.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/default/templates/const.tpl new file mode 100644 index 00000000..c26ff92d --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/default/templates/const.tpl @@ -0,0 +1,18 @@ +{section name=consts loop=$consts} +<a name="const{$consts[consts].const_name}" id="{$consts[consts].const_name}"><!-- --></A> +<div class="{cycle values="evenrow,oddrow"}"> + + <div class="const-header"> + <img src="{$subdir}media/images/{if $consts[consts].access == 'private'}PrivateVariable{else}Variable{/if}.png" /> + <span class="const-title"> + <span class="const-name">{$consts[consts].const_name}</span> + = <span class="const-default">{$consts[consts].const_value|replace:"\n":"<br />"}</span> + (line <span class="line-number">{if $consts[consts].slink}{$consts[consts].slink}{else}{$consts[consts].line_number}{/if}</span>) + </span> + </div> + + {include file="docblock.tpl" sdesc=$consts[consts].sdesc desc=$consts[consts].desc tags=$consts[consts].tags} + +</div> +{/section} + diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/default/templates/define.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/default/templates/define.tpl new file mode 100755 index 00000000..0da5d864 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/default/templates/define.tpl @@ -0,0 +1,24 @@ +{section name=def loop=$defines} +<a name="{$defines[def].define_link}"><!-- --></a> +<div class="{cycle values="evenrow,oddrow"}"> + + <div> + <span class="const-title"> + <span class="const-name">{$defines[def].define_name}</span> = {$defines[def].define_value|replace:"\n":"<br />"} + (line <span class="line-number">{if $defines[def].slink}{$defines[def].slink}{else}{$defines[def].line_number}{/if}</span>) + </span> + </div> + + {include file="docblock.tpl" sdesc=$defines[def].sdesc desc=$defines[def].desc tags=$defines[def].tags} + + {if $globals[glob].global_conflicts.conflict_type} + <hr class="separator" /> + <div><span class="warning">Conflicts with constants:</span><br /> + {section name=me loop=$defines[def].define_conflicts.conflicts} + {$defines[def].define_conflicts.conflicts[me]}<br /> + {/section} + </div> + {/if} + +</div> +{/section}
\ No newline at end of file diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/default/templates/docblock.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/default/templates/docblock.tpl new file mode 100755 index 00000000..783d5271 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/default/templates/docblock.tpl @@ -0,0 +1,14 @@ +<!-- ========== Info from phpDoc block ========= --> +{if $sdesc} +<p class="short-description">{$sdesc}</p> +{/if} +{if $desc} +<p class="description">{$desc}</p> +{/if} +{if $tags} + <ul class="tags"> + {section name=tags loop=$tags} + <li><span class="field">{$tags[tags].keyword}:</span> {$tags[tags].data}</li> + {/section} + </ul> +{/if} diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/default/templates/elementindex.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/default/templates/elementindex.tpl new file mode 100755 index 00000000..d5964f99 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/default/templates/elementindex.tpl @@ -0,0 +1,12 @@ +{include file="header.tpl" noleftindex=true} +<a name="top"></a> +<h2>Full index</h2> +<h3>Package indexes</h3> +<ul> +{section name=p loop=$packageindex} + <li><a href="elementindex_{$packageindex[p].title}.html">{$packageindex[p].title}</a></li> +{/section} +</ul> +<br /> +{include file="basicindex.tpl" indexname="elementindex"} +{include file="footer.tpl"} diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/default/templates/errors.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/default/templates/errors.tpl new file mode 100755 index 00000000..0f526584 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/default/templates/errors.tpl @@ -0,0 +1,21 @@ +{include file="header.tpl" noleftindex=true} +{section name=files loop=$files} +<a href="#{$files[files].file}">{$files[files].file}</a><br> +{/section} +{foreach key=file item=issues from=$all} +<a name="{$file}"></a> +<h1>{$file}</h1> +{if count($issues.warnings)} +<h2>Warnings:</h2><br> +{section name=warnings loop=$issues.warnings} +<b>{$issues.warnings[warnings].name}</b> - {$issues.warnings[warnings].listing}<br> +{/section} +{/if} +{if count($issues.errors)} +<h2>Errors:</h2><br> +{section name=errors loop=$issues.errors} +<b>{$issues.errors[errors].name}</b> - {$issues.errors[errors].listing}<br> +{/section} +{/if} +{/foreach} +{include file="footer.tpl"} diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/default/templates/examplesource.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/default/templates/examplesource.tpl new file mode 100755 index 00000000..8abf74ce --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/default/templates/examplesource.tpl @@ -0,0 +1,6 @@ +{include file="header.tpl" title=$title} +<h1>{$title}</h1> +<div class="listing"> +{$source} +</div> +{include file="footer.tpl"}
\ No newline at end of file diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/default/templates/filesource.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/default/templates/filesource.tpl new file mode 100755 index 00000000..239f7b41 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/default/templates/filesource.tpl @@ -0,0 +1,8 @@ +{capture name="tutle"}File Source for {$name}{/capture} +{include file="header.tpl" title=$smarty.capture.tutle} +<h1>Source for file {$name}</h1> +<p>Documentation is available at {$docs}</p> +<div class="src-code"> +{$source} +</div> +{include file="footer.tpl"}
\ No newline at end of file diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/default/templates/footer.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/default/templates/footer.tpl new file mode 100755 index 00000000..8d0f79db --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/default/templates/footer.tpl @@ -0,0 +1,8 @@ +{if !$index} + <p class="notes" id="credit"> + Documentation generated on {$date} by <a href="{$phpdocwebsite}" target="_blank">phpDocumentor {$phpdocversion}</a> + </p> +{/if} + {if $top3}</div>{/if} +</body> +</html> diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/default/templates/function.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/default/templates/function.tpl new file mode 100755 index 00000000..b6880059 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/default/templates/function.tpl @@ -0,0 +1,44 @@ +{section name=func loop=$functions} +<a name="{$functions[func].function_dest}" id="{$functions[func].function_dest}"><!-- --></a> +<div class="{cycle values="evenrow,oddrow"}"> + + <div> + <span class="method-title">{$functions[func].function_name}</span> (line <span class="line-number">{if $functions[func].slink}{$functions[func].slink}{else}{$functions[func].line_number}{/if}</span>) + </div> + + {include file="docblock.tpl" sdesc=$functions[func].sdesc desc=$functions[func].desc tags=$functions[func].tags params=$functions[func].params function=false} + + <div class="method-signature"> + <span class="method-result">{$functions[func].function_return}</span> + <span class="method-name"> + {if $functions[func].ifunction_call.returnsref}&{/if}{$functions[func].function_name} + </span> + {if count($functions[func].ifunction_call.params)} + ({section name=params loop=$functions[func].ifunction_call.params}{if $smarty.section.params.iteration != 1}, {/if}{if $functions[func].ifunction_call.params[params].hasdefault}[{/if}<span class="var-type">{$functions[func].ifunction_call.params[params].type}</span> <span class="var-name">{$functions[func].ifunction_call.params[params].name}</span>{if $functions[func].ifunction_call.params[params].hasdefault} = <span class="var-default">{$functions[func].ifunction_call.params[params].default|escape:"html"}</span>]{/if}{/section}) + {else} + () + {/if} + </div> + + {if $functions[func].params} + <ul class="parameters"> + {section name=params loop=$functions[func].params} + <li> + <span class="var-type">{$functions[func].params[params].datatype}</span> + <span class="var-name">{$functions[func].params[params].var}</span>{if $functions[func].params[params].data}<span class="var-description">: {$functions[func].params[params].data}</span>{/if} + </li> + {/section} + </ul> + {/if} + + {if $functions[func].function_conflicts.conflict_type} + <hr class="separator" /> + <div><span class="warning">Conflicts with functions:</span><br /> + {section name=me loop=$functions[func].function_conflicts.conflicts} + {$functions[func].function_conflicts.conflicts[me]}<br /> + {/section} + </div> + {/if} + +</div> +{/section} diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/default/templates/global.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/default/templates/global.tpl new file mode 100755 index 00000000..eab7e0b0 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/default/templates/global.tpl @@ -0,0 +1,26 @@ +{section name=glob loop=$globals} +<a name="{$globals[glob].global_link}" id="{$globals[glob].global_link}"><!-- --></a> +<div class="{cycle values="evenrow,oddrow"}"> + + <div> + <span class="var-title"> + <span class="var-type">{$globals[glob].global_type}</span> + <span class="var-name">{$globals[glob].global_name}</span> + {if $vars[vars].var_default} = <span class="var-default">{$globals[glob].global_value|replace:"\n":"<br />"}</span>{/if} + (line <span class="line-number">{if $globals[glob].slink}{$globals[glob].slink}{else}{$globals[glob].line_number}{/if}</span>) + </span> + </div> + + {include file="docblock.tpl" sdesc=$globals[glob].sdesc desc=$globals[glob].desc tags=$globals[glob].tags} + + {if $globals[glob].global_conflicts.conflict_type} + <hr class="separator" /> + <div><span class="warning">Conflicts with global variables:</span><br /> + {section name=me loop=$globals[glob].global_conflicts.conflicts} + {$globals[glob].global_conflicts.conflicts[me]}<br /> + {/section} + </div> + {/if} + +</div> +{/section}
\ No newline at end of file diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/default/templates/header.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/default/templates/header.tpl new file mode 100755 index 00000000..0d626190 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/default/templates/header.tpl @@ -0,0 +1,95 @@ +<?xml version="1.0" encoding="iso-8859-1"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> + <html xmlns="http://www.w3.org/1999/xhtml"> + <head> + <!-- template designed by Marco Von Ballmoos --> + <title>{$title}</title> + <link rel="stylesheet" href="{$subdir}media/stylesheet.css" /> + {if $top2 || $top3} + <script src="{$subdir}media/lib/classTree.js"></script> + {/if} + {if $top2} + <meta http-equiv='Content-Type' content='text/html; charset=iso-8859-1'/> + {/if} + {if $top3 || $top2} + <script language="javascript" type="text/javascript"> + var imgPlus = new Image(); + var imgMinus = new Image(); + imgPlus.src = "{$subdir}media/images/plus.png"; + imgMinus.src = "{$subdir}media/images/minus.png"; + + function showNode(Node){ldelim} + switch(navigator.family){ldelim} + case 'nn4': + // Nav 4.x code fork... + var oTable = document.layers["span" + Node]; + var oImg = document.layers["img" + Node]; + break; + case 'ie4': + // IE 4/5 code fork... + var oTable = document.all["span" + Node]; + var oImg = document.all["img" + Node]; + break; + case 'gecko': + // Standards Compliant code fork... + var oTable = document.getElementById("span" + Node); + var oImg = document.getElementById("img" + Node); + break; + {rdelim} + oImg.src = imgMinus.src; + oTable.style.display = "block"; + {rdelim} + + function hideNode(Node){ldelim} + switch(navigator.family){ldelim} + case 'nn4': + // Nav 4.x code fork... + var oTable = document.layers["span" + Node]; + var oImg = document.layers["img" + Node]; + break; + case 'ie4': + // IE 4/5 code fork... + var oTable = document.all["span" + Node]; + var oImg = document.all["img" + Node]; + break; + case 'gecko': + // Standards Compliant code fork... + var oTable = document.getElementById("span" + Node); + var oImg = document.getElementById("img" + Node); + break; + {rdelim} + oImg.src = imgPlus.src; + oTable.style.display = "none"; + {rdelim} + + function nodeIsVisible(Node){ldelim} + switch(navigator.family){ldelim} + case 'nn4': + // Nav 4.x code fork... + var oTable = document.layers["span" + Node]; + break; + case 'ie4': + // IE 4/5 code fork... + var oTable = document.all["span" + Node]; + break; + case 'gecko': + // Standards Compliant code fork... + var oTable = document.getElementById("span" + Node); + break; + {rdelim} + return (oTable && oTable.style.display == "block"); + {rdelim} + + function toggleNodeVisibility(Node){ldelim} + if (nodeIsVisible(Node)){ldelim} + hideNode(Node); + {rdelim}else{ldelim} + showNode(Node); + {rdelim} + {rdelim} + </script> + {/if} + </head> + <body> + {if $top3}<div class="page-body">{/if} + diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/default/templates/include.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/default/templates/include.tpl new file mode 100755 index 00000000..c2419e5f --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/default/templates/include.tpl @@ -0,0 +1,16 @@ +{section name=includes loop=$includes} +<a name="{$includes[includes].include_file}"><!-- --></a> +<div class="{cycle values="evenrow,oddrow"}"> + + <div> + <span class="include-title"> + <span class="include-type">{$includes[includes].include_name}</span> + (<span class="include-name">{$includes[includes].include_value}</span>) + (line <span class="line-number">{if $includes[includes].slink}{$includes[includes].slink}{else}{$includes[includes].line_number}{/if}</span>) + </span> + </div> + + {include file="docblock.tpl" sdesc=$includes[includes].sdesc desc=$includes[includes].desc tags=$includes[includes].tags} + +</div> +{/section}
\ No newline at end of file diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/default/templates/index.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/default/templates/index.tpl new file mode 100755 index 00000000..7cd61094 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/default/templates/index.tpl @@ -0,0 +1,24 @@ +<?xml version="1.0" encoding="iso-8859-1"?> +<!DOCTYPE html + PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//FR" + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd"> + <html xmlns="http://www.w3.org/1999/xhtml"> +<head> + <!-- Generated by phpDocumentor on {$date} --> + <title>{$title}</title> + <meta http-equiv='Content-Type' content='text/html; charset=iso-8859-1'/> +</head> + +<FRAMESET rows='120,*'> + <FRAME src='packages.html' name='left_top' frameborder="1" bordercolor="#999999"> + <FRAMESET cols='25%,*'> + <FRAME src='{$start}' name='left_bottom' frameborder="1" bordercolor="#999999"> + <FRAME src='{$blank}.html' name='right' frameborder="1" bordercolor="#999999"> + </FRAMESET> + <NOFRAMES> + <H2>Frame Alert</H2> + <P>This document is designed to be viewed using the frames feature. + If you see this message, you are using a non-frame-capable web client.</P> + </NOFRAMES> +</FRAMESET> +</HTML> diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/default/templates/left_frame.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/default/templates/left_frame.tpl new file mode 100755 index 00000000..35178d87 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/default/templates/left_frame.tpl @@ -0,0 +1,197 @@ +{include file="header.tpl" top2=true} +<h3 class="package-title">{$info.0.package}</h3> +<div class="tree"> +<script language="Javascript"> +if (document.getElementById) {ldelim} +{section name=p loop=$info} + {if $info[p].subpackage == ""} + var tree = new WebFXTree('<span class="package">{$info.0.package|escape:"quotes"}</span>'); + tree.setBehavior('classic'); + + {if $hastodos} + var todos = new WebFXTreeItem('To-do List', '{$todolink}'); + tree.add(todos); + {/if} + + var class_trees = new WebFXTreeItem('Class trees', '{$classtreepage}.html'); + tree.add(class_trees); + + var elements = new WebFXTreeItem('Index of elements', '{$elementindex}.html'); + tree.add(elements); + + var parent_node; + + {if $info[p].tutorials} + var tree_tutorial = new WebFXTreeItem('Tutorial(s)/Manual(s)', ''); + tree.add(tree_tutorial); + + {if $info[p].tutorials.pkg} + var tree_inner_tutorial = new WebFXTreeItem('Package-level', ''); + tree_tutorial.add(tree_inner_tutorial); + + parent_node = tree_inner_tutorial; + {section name=ext loop=$info[p].tutorials.pkg} + {$info[p].tutorials.pkg[ext]} + {/section} + {/if} + + {if $info[p].tutorials.cls} + var tree_inner_tutorial = new WebFXTreeItem('Class-level', ''); + tree_tutorial.add(tree_inner_tutorial); + + parent_node = tree_inner_tutorial; + {section name=ext loop=$info[p].tutorials.cls} + {$info[p].tutorials.cls[ext]} + {/section} + {/if} + + {if $info[p].tutorials.proc} + var tree_inner_tutorial = new WebFXTreeItem('Function-level', ''); + tree_tutorial.add(tree_inner_tutorial); + + parent_node = tree_inner_tutorial; + {section name=ext loop=$info[p].tutorials.proc} + {$info[p].tutorials.proc[ext]} + {/section} + {/if} + {/if} + {if $info[p].hasinterfaces} + {if $info[p].classes} + var tree_classe = new WebFXTreeItem('Interface(s)', '{$packagedoc}'); + + {section name=class loop=$info[p].classes} + {if $info[p].classes[class].is_interface} + var classe = new WebFXTreeItem('{$info[p].classes[class].title|escape:"quotes"}', '{$info[p].classes[class].link|escape:"quotes"}'); + tree_classe.add(classe); + {/if} + {/section} + + tree.add(tree_classe); + {/if} + {/if} + {if $info[p].hasclasses} + {if $info[p].classes} + var tree_classe = new WebFXTreeItem('Class(es)', '{$packagedoc}'); + + {section name=class loop=$info[p].classes} + {if $info[p].classes[class].is_class} + var classe = new WebFXTreeItem('{$info[p].classes[class].title|escape:"quotes"}', '{$info[p].classes[class].link|escape:"quotes"}'); + tree_classe.add(classe); + {/if} + {/section} + + tree.add(tree_classe); + {/if} + {/if} + + {if $info[p].functions} + var tree_function = new WebFXTreeItem('Function(s)', '{$packagedoc|escape:"quotes"}'); + + {section name=nonclass loop=$info[p].functions} + var fic = new WebFXTreeItem('{$info[p].functions[nonclass].title|escape:"quotes"}', '{$info[p].functions[nonclass].link}'); + tree_function.add(fic); + {/section} + + tree.add(tree_function); + {/if} + + {if $info[p].files} + var tree_file = new WebFXTreeItem('File(s)', '{$packagedoc|escape:"quotes"}'); + + {section name=nonclass loop=$info[p].files} + var file = new WebFXTreeItem('{$info[p].files[nonclass].title|escape:"quotes"}', '{$info[p].files[nonclass].link|escape:"quotes"}'); + tree_file.add(file); + {/section} + + tree.add(tree_file); + {/if} + + {else} + {if $info[p].subpackagetutorial} + var subpackagetree = new WebFXTreeItem('<span class="sub-package">{$info[p].subpackagetutorialtitle|strip_tags|escape:"quotes"}</span>', '{$info[p].subpackagetutorialnoa|escape:"quotes"}'); + {else} + var subpackagetree = new WebFXTreeItem('<span class="sub-package">{$info[p].subpackage|escape:"quotes"}</span>', '{$packagedoc|escape:"quotes"}'); + {/if} + + {if $info[p].tutorials} + var tree_tutorial = new WebFXTreeItem('Tutorial(s)/Manual(s)', ''); + tree.add(tree_tutorial); + + {if $info[p].tutorials.pkg} + var tree_inner_tutorial = new WebFXTreeItem('Package-level', ''); + tree_tutorial.add(tree_inner_tutorial); + + parent_node = tree_inner_tutorial; + {section name=ext loop=$info[p].tutorials.pkg} + {$info[p].tutorials.pkg[ext]} + {/section} + {/if} + + {if $info[p].tutorials.cls} + var tree_inner_tutorial = new WebFXTreeItem('Class-level', ''); + tree_tutorial.add(tree_inner_tutorial); + + parent_node = tree_inner_tutorial; + {section name=ext loop=$info[p].tutorials.cls} + {$info[p].tutorials.cls[ext]} + {/section} + {/if} + + {if $info[p].tutorials.proc} + var tree_inner_tutorial = new WebFXTreeItem('Function-level', ''); + tree_tutorial.add(tree_inner_tutorial); + + parent_node = tree_inner_tutorial; + {section name=ext loop=$info[p].tutorials.proc} + {$info[p].tutorials.proc[ext]} + {/section} + {/if} + {/if} + + {if $info[p].classes} + var subpackagetree_classe = new WebFXTreeItem('Class(es)', '{$packagedoc|escape:"quotes"}'); + + {section name=class loop=$info[p].classes} + var classe = new WebFXTreeItem('{$info[p].classes[class].title|escape:"quotes"}', '{$info[p].classes[class].link|escape:"quotes"}'); + subpackagetree_classe.add(classe); + {/section} + + subpackagetree.add(subpackagetree_classe); + {/if} + + {if $info[p].functions} + var subpackagetree_function = new WebFXTreeItem('Function(s)', '{$packagedoc}'); + + {section name=nonclass loop=$info[p].functions} + var fic = new WebFXTreeItem('{$info[p].functions[nonclass].title|escape:"quotes"}', '{$info[p].functions[nonclass].link|escape:"quotes"}'); + subpackagetree_function.add(fic); + {/section} + + subpackagetree.add(subpackagetree_function); + {/if} + + {if $info[p].files} + var subpackagetree_file = new WebFXTreeItem('File(s)', '{$packagedoc|escape:"quotes"}'); + + {section name=nonclass loop=$info[p].files} + var file = new WebFXTreeItem('{$info[p].files[nonclass].title|escape:"quotes"}', '{$info[p].files[nonclass].link|escape:"quotes"}'); + subpackagetree_file.add(file); + {/section} + + subpackagetree.add(subpackagetree_file); + {/if} + + tree.add(subpackagetree); + {/if} +{/section} + +document.write(tree); +{rdelim} +</script> +</div> +<p class="notes"> + Generated by + <a href="{$phpdocwebsite}" target="_blank">phpDocumentor <span class="field">{$phpdocversion}</span></a> +</p> +</body> +</html> diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/default/templates/media/banner.css b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/default/templates/media/banner.css new file mode 100755 index 00000000..f2149ebb --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/default/templates/media/banner.css @@ -0,0 +1,32 @@ +body +{ + background-color: #CCCCFF; + margin: 0px; + padding: 0px; +} + +/* Banner (top bar) classes */ + +.banner { } + +.banner-menu +{ + clear: both; + padding: .5em; + border-top: 2px solid #6666AA; +} + +.banner-title +{ + text-align: right; + font-size: 20pt; + font-weight: bold; + margin: .2em; +} + +.package-selector +{ + background-color: #AAAADD; + border: 1px solid black; + color: yellow; +} diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/default/templates/media/images/I.png b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/default/templates/media/images/I.png Binary files differnew file mode 100755 index 00000000..e8512fb9 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/default/templates/media/images/I.png diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/default/templates/media/images/L.png b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/default/templates/media/images/L.png Binary files differnew file mode 100755 index 00000000..eb334eda --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/default/templates/media/images/L.png diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/default/templates/media/images/Lminus.png b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/default/templates/media/images/Lminus.png Binary files differnew file mode 100755 index 00000000..f7c43c0a --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/default/templates/media/images/Lminus.png diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/default/templates/media/images/Lplus.png b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/default/templates/media/images/Lplus.png Binary files differnew file mode 100755 index 00000000..848ec2fc --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/default/templates/media/images/Lplus.png diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/default/templates/media/images/T.png b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/default/templates/media/images/T.png Binary files differnew file mode 100755 index 00000000..30173254 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/default/templates/media/images/T.png diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/default/templates/media/images/Tminus.png b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/default/templates/media/images/Tminus.png Binary files differnew file mode 100755 index 00000000..2260e424 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/default/templates/media/images/Tminus.png diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/default/templates/media/images/Tplus.png b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/default/templates/media/images/Tplus.png Binary files differnew file mode 100755 index 00000000..2c8d8f4f --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/default/templates/media/images/Tplus.png diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/default/templates/media/images/blank.png b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/default/templates/media/images/blank.png Binary files differnew file mode 100755 index 00000000..cee9cd37 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/default/templates/media/images/blank.png diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/default/templates/media/images/empty.png b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/default/templates/media/images/empty.png Binary files differnew file mode 100755 index 00000000..d5683865 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/default/templates/media/images/empty.png diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/default/templates/media/images/minus.gif b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/default/templates/media/images/minus.gif Binary files differnew file mode 100644 index 00000000..f502662b --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/default/templates/media/images/minus.gif diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/default/templates/media/images/plus.gif b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/default/templates/media/images/plus.gif Binary files differnew file mode 100644 index 00000000..eeca02ce --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/default/templates/media/images/plus.gif diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/default/templates/media/lib/classTree.js b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/default/templates/media/lib/classTree.js new file mode 100755 index 00000000..ebb3fb4a --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/default/templates/media/lib/classTree.js @@ -0,0 +1,454 @@ +/*----------------------------------------\ +| Cross Browser Tree Widget 1.1 | +|-----------------------------------------| +| Created by Emil A. Eklund (eae@eae.net) | +| For WebFX (http://webfx.eae.net/) | +|-----------------------------------------| +| This script is provided as is without | +| any warranty whatsoever. It may be used | +| free of charge for non commerical sites | +| For commerical use contact the author | +| of this script for further details. | +|-----------------------------------------| +| Created 2000-12-11 | Updated 2001-09-06 | +\----------------------------------------*/ + +var webFXTreeConfig = { + rootIcon : 'media/images/empty.png', + openRootIcon : 'media/images/empty.png', + folderIcon : 'media/images/empty.png', + openFolderIcon : 'media/images/empty.png', + fileIcon : 'media/images/empty.png', + iIcon : 'media/images/I.png', + lIcon : 'media/images/L.png', + lMinusIcon : 'media/images/Lminus.png', + lPlusIcon : 'media/images/Lplus.png', + tIcon : 'media/images/T.png', + tMinusIcon : 'media/images/Tminus.png', + tPlusIcon : 'media/images/Tplus.png', + blankIcon : 'media/images/blank.png', + defaultText : 'Tree Item', + defaultAction : 'javascript:void(0);', + defaultTarget : 'right', + defaultBehavior : 'classic' +}; + +var webFXTreeHandler = { + idCounter : 0, + idPrefix : "webfx-tree-object-", + all : {}, + behavior : null, + selected : null, + getId : function() { return this.idPrefix + this.idCounter++; }, + toggle : function (oItem) { this.all[oItem.id.replace('-plus','')].toggle(); }, + select : function (oItem) { this.all[oItem.id.replace('-icon','')].select(); }, + focus : function (oItem) { this.all[oItem.id.replace('-anchor','')].focus(); }, + blur : function (oItem) { this.all[oItem.id.replace('-anchor','')].blur(); }, + keydown : function (oItem) { return this.all[oItem.id].keydown(window.event.keyCode); }, + cookies : new WebFXCookie() +}; + +/* + * WebFXCookie class + */ + +function WebFXCookie() { + if (document.cookie.length) { this.cookies = ' ' + document.cookie; } +} + +WebFXCookie.prototype.setCookie = function (key, value) { + document.cookie = key + "=" + escape(value); +} + +WebFXCookie.prototype.getCookie = function (key) { + if (this.cookies) { + var start = this.cookies.indexOf(' ' + key + '='); + if (start == -1) { return null; } + var end = this.cookies.indexOf(";", start); + if (end == -1) { end = this.cookies.length; } + end -= start; + var cookie = this.cookies.substr(start,end); + return unescape(cookie.substr(cookie.indexOf('=') + 1, cookie.length - cookie.indexOf('=') + 1)); + } + else { return null; } +} + +/* + * WebFXTreeAbstractNode class + */ + +function WebFXTreeAbstractNode(sText, sAction, sTarget) { + this.childNodes = []; + this.id = webFXTreeHandler.getId(); + this.text = sText || webFXTreeConfig.defaultText; + this.action = sAction || webFXTreeConfig.defaultAction; + this.targetWindow = sTarget || webFXTreeConfig.defaultTarget; + this._last = false; + webFXTreeHandler.all[this.id] = this; +} + +WebFXTreeAbstractNode.prototype.add = function (node) { + node.parentNode = this; + this.childNodes[this.childNodes.length] = node; + var root = this; + if (this.childNodes.length >=2) { + this.childNodes[this.childNodes.length -2]._last = false; + } + while (root.parentNode) { root = root.parentNode; } + if (root.rendered) { + if (this.childNodes.length >= 2) { + document.getElementById(this.childNodes[this.childNodes.length -2].id + '-plus').src = ((this.childNodes[this.childNodes.length -2].folder)?webFXTreeConfig.tMinusIcon:webFXTreeConfig.tIcon); + if (this.childNodes[this.childNodes.length -2].folder) { + this.childNodes[this.childNodes.length -2].plusIcon = webFXTreeConfig.tPlusIcon; + this.childNodes[this.childNodes.length -2].minusIcon = webFXTreeConfig.tMinusIcon; + } + this.childNodes[this.childNodes.length -2]._last = false; + } + this._last = true; + var foo = this; + while (foo.parentNode) { + for (var i = 0; i < foo.parentNode.childNodes.length; i++) { + if (foo.id == foo.parentNode.childNodes[i].id) { break; } + } + if (++i == foo.parentNode.childNodes.length) { foo.parentNode._last = true; } + else { foo.parentNode._last = false; } + foo = foo.parentNode; + } + document.getElementById(this.id + '-cont').insertAdjacentHTML("beforeEnd", node.toString()); + if ((!this.folder) && (!this.openIcon)) { + this.icon = webFXTreeConfig.folderIcon; + this.openIcon = webFXTreeConfig.openFolderIcon; + } + this.folder = true; + this.indent(); + this.expand(); + } + return node; +} + +WebFXTreeAbstractNode.prototype.toggle = function() { + if (this.folder) { + if (this.open) { this.collapse(); } + else { this.expand(); } + } +} + +WebFXTreeAbstractNode.prototype.select = function() { + document.getElementById(this.id + '-anchor').focus(); +} + +WebFXTreeAbstractNode.prototype.focus = function() { + webFXTreeHandler.selected = this; + if ((this.openIcon) && (webFXTreeHandler.behavior != 'classic')) { document.getElementById(this.id + '-icon').src = this.openIcon; } + document.getElementById(this.id + '-anchor').style.backgroundColor = 'highlight'; + document.getElementById(this.id + '-anchor').style.color = 'highlighttext'; + document.getElementById(this.id + '-anchor').focus(); +} + +WebFXTreeAbstractNode.prototype.blur = function() { + if ((this.openIcon) && (webFXTreeHandler.behavior != 'classic')) { document.getElementById(this.id + '-icon').src = this.icon; } + document.getElementById(this.id + '-anchor').style.backgroundColor = 'transparent'; + document.getElementById(this.id + '-anchor').style.color = 'menutext'; +} + +WebFXTreeAbstractNode.prototype.doExpand = function() { + if (webFXTreeHandler.behavior == 'classic') { document.getElementById(this.id + '-icon').src = this.openIcon; } + if (this.childNodes.length) { document.getElementById(this.id + '-cont').style.display = 'block'; } + this.open = true; + webFXTreeHandler.cookies.setCookie(this.id.substr(18,this.id.length - 18), '1'); +} + +WebFXTreeAbstractNode.prototype.doCollapse = function() { + if (webFXTreeHandler.behavior == 'classic') { document.getElementById(this.id + '-icon').src = this.icon; } + if (this.childNodes.length) { document.getElementById(this.id + '-cont').style.display = 'none'; } + this.open = false; + webFXTreeHandler.cookies.setCookie(this.id.substr(18,this.id.length - 18), '0'); +} + +WebFXTreeAbstractNode.prototype.expandAll = function() { + this.expandChildren(); + if ((this.folder) && (!this.open)) { this.expand(); } +} + +WebFXTreeAbstractNode.prototype.expandChildren = function() { + for (var i = 0; i < this.childNodes.length; i++) { + this.childNodes[i].expandAll(); +} } + +WebFXTreeAbstractNode.prototype.collapseAll = function() { + if ((this.folder) && (this.open)) { this.collapse(); } + this.collapseChildren(); +} + +WebFXTreeAbstractNode.prototype.collapseChildren = function() { + for (var i = 0; i < this.childNodes.length; i++) { + this.childNodes[i].collapseAll(); +} } + +WebFXTreeAbstractNode.prototype.indent = function(lvl, del, last, level) { + /* + * Since we only want to modify items one level below ourself, + * and since the rightmost indentation position is occupied by + * the plus icon we set this to -2 + */ + if (lvl == null) { lvl = -2; } + var state = 0; + for (var i = this.childNodes.length - 1; i >= 0 ; i--) { + state = this.childNodes[i].indent(lvl + 1, del, last, level); + if (state) { return; } + } + if (del) { + if (level >= this._level) { + if (this.folder) { + document.getElementById(this.id + '-plus').src = (this.open)?webFXTreeConfig.lMinusIcon:webFXTreeConfig.lPlusIcon; + this.plusIcon = webFXTreeConfig.lPlusIcon; + this.minusIcon = webFXTreeConfig.lMinusIcon; + } + else { document.getElementById(this.id + '-plus').src = webFXTreeConfig.lIcon; } + return 1; + } + } + var foo = document.getElementById(this.id + '-indent-' + lvl); + if (foo) { + if ((del) && (last)) { foo._last = true; } + if (foo._last) { foo.src = webFXTreeConfig.blankIcon; } + else { foo.src = webFXTreeConfig.iIcon; } + } + return 0; +} + +/* + * WebFXTree class + */ + +function WebFXTree(sText, sAction, sBehavior, sIcon, sOpenIcon) { + this.base = WebFXTreeAbstractNode; + this.base(sText, sAction); + this.icon = sIcon || webFXTreeConfig.rootIcon; + this.openIcon = sOpenIcon || webFXTreeConfig.openRootIcon; + /* Defaults to open */ + this.open = (webFXTreeHandler.cookies.getCookie(this.id.substr(18,this.id.length - 18)) == '0')?false:true; + this.folder = true; + this.rendered = false; + if (!webFXTreeHandler.behavior) { webFXTreeHandler.behavior = sBehavior || webFXTreeConfig.defaultBehavior; } + this.targetWindow = 'right'; +} + +WebFXTree.prototype = new WebFXTreeAbstractNode; + +WebFXTree.prototype.setBehavior = function (sBehavior) { + webFXTreeHandler.behavior = sBehavior; +}; + +WebFXTree.prototype.getBehavior = function (sBehavior) { + return webFXTreeHandler.behavior; +}; + +WebFXTree.prototype.getSelected = function() { + if (webFXTreeHandler.selected) { return webFXTreeHandler.selected; } + else { return null; } +} + +WebFXTree.prototype.remove = function() { } + +WebFXTree.prototype.expand = function() { + this.doExpand(); +} + +WebFXTree.prototype.collapse = function() { + this.focus(); + this.doCollapse(); +} + +WebFXTree.prototype.getFirst = function() { + return null; +} + +WebFXTree.prototype.getLast = function() { + return null; +} + +WebFXTree.prototype.getNextSibling = function() { + return null; +} + +WebFXTree.prototype.getPreviousSibling = function() { + return null; +} + +WebFXTree.prototype.keydown = function(key) { + if (key == 39) { this.expand(); return false; } + if (key == 37) { this.collapse(); return false; } + if ((key == 40) && (this.open)) { this.childNodes[0].select(); return false; } + return true; +} + +WebFXTree.prototype.toString = function() { + var str = "<div id=\"" + this.id + "\" ondblclick=\"webFXTreeHandler.toggle(this);\" class=\"webfx-tree-item\" onkeydown=\"return webFXTreeHandler.keydown(this)\">"; + str += "<img id=\"" + this.id + "-icon\" class=\"webfx-tree-icon\" src=\"" + ((webFXTreeHandler.behavior == 'classic' && this.open)?this.openIcon:this.icon) + "\" onclick=\"webFXTreeHandler.select(this);\"><a href=\"" + this.action + "\" id=\"" + this.id + "-anchor\" target=\"" + this.targetWindow + "\" onfocus=\"webFXTreeHandler.focus(this);\" onblur=\"webFXTreeHandler.blur(this);\">" + this.text + "</a></div>"; + str += "<div id=\"" + this.id + "-cont\" class=\"webfx-tree-container\" style=\"display: " + ((this.open)?'block':'none') + ";\">"; + for (var i = 0; i < this.childNodes.length; i++) { + str += this.childNodes[i].toString(i, this.childNodes.length); + } + str += "</div>"; + this.rendered = true; + return str; +}; + +/* + * WebFXTreeItem class + */ + +function WebFXTreeItem(sText, sAction, eParent, sIcon, sOpenIcon) { + this.base = WebFXTreeAbstractNode; + this.base(sText, sAction); + /* Defaults to close */ + this.open = (webFXTreeHandler.cookies.getCookie(this.id.substr(18,this.id.length - 18)) == '1')?true:false; + if (eParent) { eParent.add(this); } + if (sIcon) { this.icon = sIcon; } + if (sOpenIcon) { this.openIcon = sOpenIcon; } +} + +WebFXTreeItem.prototype = new WebFXTreeAbstractNode; + +WebFXTreeItem.prototype.remove = function() { + var parentNode = this.parentNode; + var prevSibling = this.getPreviousSibling(true); + var nextSibling = this.getNextSibling(true); + var folder = this.parentNode.folder; + var last = ((nextSibling) && (nextSibling.parentNode) && (nextSibling.parentNode.id == parentNode.id))?false:true; + this.getPreviousSibling().focus(); + this._remove(); + if (parentNode.childNodes.length == 0) { + parentNode.folder = false; + parentNode.open = false; + } + if (last) { + if (parentNode.id == prevSibling.id) { + document.getElementById(parentNode.id + '-icon').src = webFXTreeConfig.fileIcon; + } + else { } + } + if ((!prevSibling.parentNode) || (prevSibling.parentNode != parentNode)) { + parentNode.indent(null, true, last, this._level); + } + if (document.getElementById(prevSibling.id + '-plus')) { + if (nextSibling) { + if ((parentNode == prevSibling) && (parentNode.getNextSibling)) { document.getElementById(prevSibling.id + '-plus').src = webFXTreeConfig.tIcon; } + else if (nextSibling.parentNode != prevSibling) { document.getElementById(prevSibling.id + '-plus').src = webFXTreeConfig.lIcon; } + } + else { document.getElementById(prevSibling.id + '-plus').src = webFXTreeConfig.lIcon; } + } +} + +WebFXTreeItem.prototype._remove = function() { + for (var i = this.childNodes.length - 1; i >= 0; i--) { + this.childNodes[i]._remove(); + } + for (var i = 0; i < this.parentNode.childNodes.length; i++) { + if (this.id == this.parentNode.childNodes[i].id) { + for (var j = i; j < this.parentNode.childNodes.length; j++) { + this.parentNode.childNodes[i] = this.parentNode.childNodes[i+1] + } + this.parentNode.childNodes.length = this.parentNode.childNodes.length - 1; + if (i + 1 == this.parentNode.childNodes.length) { this.parentNode._last = true; } + } + } + webFXTreeHandler.all[this.id] = null; + if (document.getElementById(this.id)) { + document.getElementById(this.id).innerHTML = ""; + document.getElementById(this.id).removeNode(); + } +} + +WebFXTreeItem.prototype.expand = function() { + this.doExpand(); + document.getElementById(this.id + '-plus').src = this.minusIcon; +} + +WebFXTreeItem.prototype.collapse = function() { + this.focus(); + this.doCollapse(); + document.getElementById(this.id + '-plus').src = this.plusIcon; +} + +WebFXTreeItem.prototype.getFirst = function() { + return this.childNodes[0]; +} + +WebFXTreeItem.prototype.getLast = function() { + if (this.childNodes[this.childNodes.length - 1].open) { return this.childNodes[this.childNodes.length - 1].getLast(); } + else { return this.childNodes[this.childNodes.length - 1]; } +} + +WebFXTreeItem.prototype.getNextSibling = function() { + for (var i = 0; i < this.parentNode.childNodes.length; i++) { + if (this == this.parentNode.childNodes[i]) { break; } + } + if (++i == this.parentNode.childNodes.length) { return this.parentNode.getNextSibling(); } + else { return this.parentNode.childNodes[i]; } +} + +WebFXTreeItem.prototype.getPreviousSibling = function(b) { + for (var i = 0; i < this.parentNode.childNodes.length; i++) { + if (this == this.parentNode.childNodes[i]) { break; } + } + if (i == 0) { return this.parentNode; } + else { + if ((this.parentNode.childNodes[--i].open) || (b && this.parentNode.childNodes[i].folder)) { return this.parentNode.childNodes[i].getLast(); } + else { return this.parentNode.childNodes[i]; } +} } + +WebFXTreeItem.prototype.keydown = function(key) { + if ((key == 39) && (this.folder)) { + if (!this.open) { this.expand(); return false; } + else { this.getFirst().select(); return false; } + } + else if (key == 37) { + if (this.open) { this.collapse(); return false; } + else { this.parentNode.select(); return false; } + } + else if (key == 40) { + if (this.open) { this.getFirst().select(); return false; } + else { + var sib = this.getNextSibling(); + if (sib) { sib.select(); return false; } + } } + else if (key == 38) { this.getPreviousSibling().select(); return false; } + return true; +} + +WebFXTreeItem.prototype.toString = function (nItem, nItemCount) { + var foo = this.parentNode; + var indent = ''; + if (nItem + 1 == nItemCount) { this.parentNode._last = true; } + var i = 0; + while (foo.parentNode) { + foo = foo.parentNode; + indent = "<img id=\"" + this.id + "-indent-" + i + "\" src=\"" + ((foo._last)?webFXTreeConfig.blankIcon:webFXTreeConfig.iIcon) + "\">" + indent; + i++; + } + this._level = i; + if (this.childNodes.length) { this.folder = 1; } + else { this.open = false; } + if ((this.folder) || (webFXTreeHandler.behavior != 'classic')) { + if (!this.icon) { this.icon = webFXTreeConfig.folderIcon; } + if (!this.openIcon) { this.openIcon = webFXTreeConfig.openFolderIcon; } + } + else if (!this.icon) { this.icon = webFXTreeConfig.fileIcon; } + var label = this.text; + label = label.replace('<', '<'); + label = label.replace('>', '>'); + var str = "<div id=\"" + this.id + "\" ondblclick=\"webFXTreeHandler.toggle(this);\" class=\"webfx-tree-item\" onkeydown=\"return webFXTreeHandler.keydown(this)\">"; + str += indent; + str += "<img id=\"" + this.id + "-plus\" src=\"" + ((this.folder)?((this.open)?((this.parentNode._last)?webFXTreeConfig.lMinusIcon:webFXTreeConfig.tMinusIcon):((this.parentNode._last)?webFXTreeConfig.lPlusIcon:webFXTreeConfig.tPlusIcon)):((this.parentNode._last)?webFXTreeConfig.lIcon:webFXTreeConfig.tIcon)) + "\" onclick=\"webFXTreeHandler.toggle(this);\">" + str += "<img id=\"" + this.id + "-icon\" src=\"" + ((webFXTreeHandler.behavior == 'classic' && this.open)?this.openIcon:this.icon) + "\" onclick=\"webFXTreeHandler.select(this);\"><a href=\"" + this.action + "\" id=\"" + this.id + "-anchor\" target=\"" + this.targetWindow + "\" onfocus=\"webFXTreeHandler.focus(this);\" onblur=\"webFXTreeHandler.blur(this);\">" + label + "</a></div>"; + str += "<div id=\"" + this.id + "-cont\" class=\"webfx-tree-container\" style=\"display: " + ((this.open)?'block':'none') + ";\">"; + for (var i = 0; i < this.childNodes.length; i++) { + str += this.childNodes[i].toString(i,this.childNodes.length); + } + str += "</div>"; + this.plusIcon = ((this.parentNode._last)?webFXTreeConfig.lPlusIcon:webFXTreeConfig.tPlusIcon); + this.minusIcon = ((this.parentNode._last)?webFXTreeConfig.lMinusIcon:webFXTreeConfig.tMinusIcon); + return str; +}
\ No newline at end of file diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/default/templates/media/stylesheet.css b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/default/templates/media/stylesheet.css new file mode 100755 index 00000000..72d3141d --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/default/templates/media/stylesheet.css @@ -0,0 +1,184 @@ +a { color: #336699; text-decoration: none; } +a:hover { color: #6699CC; text-decoration: underline; } +a:active { color: #6699CC; text-decoration: underline; } + +body { background : #FFFFFF; } +body, table { font-family: Georgia, Times New Roman, Times, serif; font-size: 10pt } +p, li { line-height: 140% } +a img { border: 0px; } +dd { margin-left: 0px; padding-left: 1em; } + +/* Page layout/boxes */ + +.info-box {} +.info-box-title { margin: 1em 0em 0em 0em; padding: .25em; font-weight: normal; font-size: 14pt; border: 2px solid #999999; background-color: #CCCCFF } +.info-box-body { border: 1px solid #999999; padding: .5em; } +.nav-bar { font-size: 8pt; white-space: nowrap; text-align: right; padding: .2em; margin: 0em 0em 1em 0em; } + +.oddrow { background-color: #F8F8F8; border: 1px solid #AAAAAA; padding: .5em; margin-bottom: 1em} +.evenrow { border: 1px solid #AAAAAA; padding: .5em; margin-bottom: 1em} + +.page-body { max-width: 800px; margin: auto; } +.tree { } + +/* Index formatting classes */ + +.index-item-body { margin-top: .5em; margin-bottom: .5em} +.index-item-description { margin-top: .25em } +.index-item-details { font-weight: normal; font-style: italic; font-size: 8pt } +.index-letter-section { background-color: #EEEEEE; border: 1px dotted #999999; padding: .5em; margin-bottom: 1em} +.index-letter-title { font-size: 12pt; font-weight: bold } +.index-letter-menu { text-align: center; margin: 1em } +.index-letter { font-size: 12pt } + +/* Docbook classes */ + +.description {} +.short-description { font-weight: bold; color: #666666; } +.tags { padding-left: 0em; margin-left: 3em; color: #666666; list-style-type: square; } +.parameters { padding-left: 0em; margin-left: 3em; font-style: italic; list-style-type: square; } +.redefinitions { font-size: 8pt; padding-left: 0em; margin-left: 2em; } +.package { } +.package-title { font-weight: bold; font-size: 14pt; border-bottom: 1px solid black } +.package-details { font-size: 85%; } +.sub-package { font-weight: bold; font-size: 120% } +.tutorial { border-width: thin; border-color: #0066ff } +.tutorial-nav-box { width: 100%; border: 1px solid #999999; background-color: #F8F8F8; } +.nav-button-disabled { color: #999999; } +.nav-button:active, +.nav-button:focus, +.nav-button:hover { background-color: #DDDDDD; outline: 1px solid #999999; text-decoration: none } +.folder-title { font-style: italic } + +/* Generic formatting */ + +.field { font-weight: bold; } +.detail { font-size: 8pt; } +.notes { font-style: italic; font-size: 8pt; } +.separator { background-color: #999999; height: 2px; } +.warning { color: #FF6600; } +.disabled { font-style: italic; color: #999999; } + +/* Code elements */ + +.line-number { } + +.class-table { width: 100%; } +.class-table-header { border-bottom: 1px dotted #666666; text-align: left} +.class-name { color: #000000; font-weight: bold; } + +.method-summary { padding-left: 1em; font-size: 8pt } +.method-header { } +.method-definition { margin-bottom: .3em } +.method-title { font-weight: bold; } +.method-name { font-weight: bold; } +.method-signature { font-size: 85%; color: #666666; margin: .5em 0em } +.method-result { font-style: italic; } + +.var-summary { padding-left: 1em; font-size: 8pt; } +.var-header { } +.var-title { margin-bottom: .3em } +.var-type { font-style: italic; } +.var-name { font-weight: bold; } +.var-default {} +.var-description { font-weight: normal; color: #000000; } + +.include-title { } +.include-type { font-style: italic; } +.include-name { font-weight: bold; } + +.const-title { } +.const-name { font-weight: bold; } + +/* Syntax highlighting */ + +.src-code { border: 1px solid #336699; padding: 1em; background-color: #EEEEEE; } +.src-line { font-family: 'Courier New', Courier, monospace; font-weight: normal; } + +.src-comm { color: green; } +.src-id { } +.src-inc { color: #0000FF; } +.src-key { color: #0000FF; } +.src-num { color: #CC0000; } +.src-str { color: #66cccc; } +.src-sym { font-weight: bold; } +.src-var { } + +.src-php { font-weight: bold; } + +.src-doc { color: #009999 } +.src-doc-close-template { color: #0000FF } +.src-doc-coretag { color: #0099FF; font-weight: bold } +.src-doc-inlinetag { color: #0099FF } +.src-doc-internal { color: #6699cc } +.src-doc-tag { color: #0080CC } +.src-doc-template { color: #0000FF } +.src-doc-type { font-style: italic } +.src-doc-var { font-style: italic } + +.tute-tag { color: #009999 } +.tute-attribute-name { color: #0000FF } +.tute-attribute-value { color: #0099FF } +.tute-entity { font-weight: bold; } +.tute-comment { font-style: italic } +.tute-inline-tag { color: #636311; font-weight: bold } + +/* tutorial */ + +.authors { } +.author { font-style: italic; font-weight: bold } +.author-blurb { margin: .5em 0em .5em 2em; font-size: 85%; font-weight: normal; font-style: normal } +.example { border: 1px dashed #999999; background-color: #EEEEEE; padding: .5em; } +.listing { border: 1px dashed #999999; background-color: #EEEEEE; padding: .5em; white-space: nowrap; } +.release-info { font-size: 85%; font-style: italic; margin: 1em 0em } +.ref-title-box { } +.ref-title { } +.ref-purpose { font-style: italic; color: #666666 } +.ref-synopsis { } +.title { font-weight: bold; margin: 1em 0em 0em 0em; padding: .25em; border: 2px solid #999999; background-color: #CCCCFF } +.cmd-synopsis { margin: 1em 0em } +.cmd-title { font-weight: bold } +.toc { margin-left: 2em; padding-left: 0em } + +/*------------------------------------------------------------------------------ + webfx-tree +------------------------------------------------------------------------------*/ + +.webfx-tree-container { + margin: 0px; + padding: 0px; + white-space: nowrap; + font: icon; +} + +.webfx-tree-item { + padding: 0px; + margin: 0px; + color: black; + white-space: nowrap; + font: icon; +} + +.webfx-tree-item a { + margin-left: 3px; + padding: 1px 2px 1px 2px; + color: black; + text-decoration: none; +} + +.webfx-tree-item a:hover, .webfx-tree-item a:active, .webfx-tree-item a:focus { + color: black; + background: #CCCCFF; + text-decoration: none +} + +.webfx-tree-item img { + vertical-align: middle; + border: 0px; +} + +.webfx-tree-icon { + width: 16px; + height: 16px; +} + diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/default/templates/method.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/default/templates/method.tpl new file mode 100755 index 00000000..06d57a12 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/default/templates/method.tpl @@ -0,0 +1,149 @@ +<A NAME='method_detail'></A> +{section name=methods loop=$methods} +{if $methods[methods].static} +<a name="method{$methods[methods].function_name}" id="{$methods[methods].function_name}"><!-- --></a> +<div class="{cycle values="evenrow,oddrow"}"> + + <div class="method-header"> + <span class="method-title">static {$methods[methods].function_name}</span> (line <span class="line-number">{if $methods[methods].slink}{$methods[methods].slink}{else}{$methods[methods].line_number}{/if}</span>) + </div> + + {include file="docblock.tpl" sdesc=$methods[methods].sdesc desc=$methods[methods].desc tags=$methods[methods].tags params=$methods[methods].params function=false} + + <div class="method-signature"> + static <span class="method-result">{$methods[methods].function_return}</span> + <span class="method-name"> + {if $methods[methods].ifunction_call.returnsref}&{/if}{$methods[methods].function_name} + </span> + {if count($methods[methods].ifunction_call.params)} + ({section name=params loop=$methods[methods].ifunction_call.params}{if $smarty.section.params.iteration != 1}, {/if}{if $methods[methods].ifunction_call.params[params].hasdefault}[{/if}<span class="var-type">{$methods[methods].ifunction_call.params[params].type}</span> <span class="var-name">{$methods[methods].ifunction_call.params[params].name}</span>{if $methods[methods].ifunction_call.params[params].hasdefault} = <span class="var-default">{$methods[methods].ifunction_call.params[params].default}</span>]{/if}{/section}) + {else} + () + {/if} + </div> + + {if $methods[methods].params} + <ul class="parameters"> + {section name=params loop=$methods[methods].params} + <li> + <span class="var-type">{$methods[methods].params[params].datatype}</span> + <span class="var-name">{$methods[methods].params[params].var}</span>{if $methods[methods].params[params].data}<span class="var-description">: {$methods[methods].params[params].data}</span>{/if} + </li> + {/section} + </ul> + {/if} + + {if $methods[methods].method_overrides} + <hr class="separator" /> + <div class="notes">Redefinition of:</div> + <dl> + <dt>{$methods[methods].method_overrides.link}</dt> + {if $methods[methods].method_overrides.sdesc} + <dd>{$methods[methods].method_overrides.sdesc}</dd> + {/if} + </dl> + {/if} + {if $methods[methods].method_implements} + <hr class="separator" /> + <div class="notes">Implementation of:</div> + {section name=imp loop=$methods[methods].method_implements} + <dl> + <dt>{$methods[methods].method_implements[imp].link}</dt> + {if $methods[methods].method_implements[imp].sdesc} + <dd>{$methods[methods].method_implements[imp].sdesc}</dd> + {/if} + </dl> + {/section} + {/if} + + {if $methods[methods].descmethod} + <hr class="separator" /> + <div class="notes">Redefined in descendants as:</div> + <ul class="redefinitions"> + {section name=dm loop=$methods[methods].descmethod} + <li> + {$methods[methods].descmethod[dm].link} + {if $methods[methods].descmethod[dm].sdesc} + : {$methods[methods].descmethod[dm].sdesc} + {/if} + </li> + {/section} + </ul> + {/if} +</div> +{/if} +{/section} +{section name=methods loop=$methods} +{if !$methods[methods].static} +<a name="method{$methods[methods].function_name}" id="{$methods[methods].function_name}"><!-- --></a> +<div class="{cycle values="evenrow,oddrow"}"> + + <div class="method-header"> + <span class="method-title">{if $methods[methods].ifunction_call.constructor}Constructor {elseif $methods[methods].ifunction_call.destructor}Destructor {/if}{$methods[methods].function_name}</span> (line <span class="line-number">{if $methods[methods].slink}{$methods[methods].slink}{else}{$methods[methods].line_number}{/if}</span>) + </div> + + {include file="docblock.tpl" sdesc=$methods[methods].sdesc desc=$methods[methods].desc tags=$methods[methods].tags params=$methods[methods].params function=false} + + <div class="method-signature"> + <span class="method-result">{$methods[methods].function_return}</span> + <span class="method-name"> + {if $methods[methods].ifunction_call.returnsref}&{/if}{$methods[methods].function_name} + </span> + {if count($methods[methods].ifunction_call.params)} + ({section name=params loop=$methods[methods].ifunction_call.params}{if $smarty.section.params.iteration != 1}, {/if}{if $methods[methods].ifunction_call.params[params].hasdefault}[{/if}<span class="var-type">{$methods[methods].ifunction_call.params[params].type}</span> <span class="var-name">{$methods[methods].ifunction_call.params[params].name}</span>{if $methods[methods].ifunction_call.params[params].hasdefault} = <span class="var-default">{$methods[methods].ifunction_call.params[params].default}</span>]{/if}{/section}) + {else} + () + {/if} + </div> + + {if $methods[methods].params} + <ul class="parameters"> + {section name=params loop=$methods[methods].params} + <li> + <span class="var-type">{$methods[methods].params[params].datatype}</span> + <span class="var-name">{$methods[methods].params[params].var}</span>{if $methods[methods].params[params].data}<span class="var-description">: {$methods[methods].params[params].data}</span>{/if} + </li> + {/section} + </ul> + {/if} + + {if $methods[methods].method_overrides} + <hr class="separator" /> + <div class="notes">Redefinition of:</div> + <dl> + <dt>{$methods[methods].method_overrides.link}</dt> + {if $methods[methods].method_overrides.sdesc} + <dd>{$methods[methods].method_overrides.sdesc}</dd> + {/if} + </dl> + {/if} + {if $methods[methods].method_implements} + <hr class="separator" /> + <div class="notes">Implementation of:</div> + {section name=imp loop=$methods[methods].method_implements} + <dl> + <dt>{$methods[methods].method_implements[imp].link}</dt> + {if $methods[methods].method_implements[imp].sdesc} + <dd>{$methods[methods].method_implements[imp].sdesc}</dd> + {/if} + </dl> + {/section} + {/if} + + {if $methods[methods].descmethod} + <hr class="separator" /> + <div class="notes">Redefined in descendants as:</div> + <ul class="redefinitions"> + {section name=dm loop=$methods[methods].descmethod} + <li> + {$methods[methods].descmethod[dm].link} + {if $methods[methods].descmethod[dm].sdesc} + : {$methods[methods].descmethod[dm].sdesc} + {/if} + </li> + {/section} + </ul> + {/if} +</div> +{/if} +{/section} diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/default/templates/page.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/default/templates/page.tpl new file mode 100755 index 00000000..b5980236 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/default/templates/page.tpl @@ -0,0 +1,211 @@ +{include file="header.tpl" top3=true} + +<h2 class="file-name">{$source_location}</h2> + +<a name="sec-description"></a> +<div class="info-box"> + <div class="info-box-title">Description</div> + <div class="nav-bar"> + {if $classes || $includes || $defines || $globals || $functions} + <span class="disabled">Description</span> | + {/if} + {if $classes} + <a href="#sec-classes">Classes</a> + {if $includes || $defines || $globals || $functions}|{/if} + {/if} + {if $includes} + <a href="#sec-includes">Includes</a> + {if $defines || $globals || $functions}|{/if} + {/if} + {if $defines} + <a href="#sec-constants">Constants</a> + {if $globals || $functions}|{/if} + {/if} + {if $globals} + <a href="#sec-variables">Variables</a> + {if $functions}|{/if} + {/if} + {if $functions} + <a href="#sec-functions">Functions</a> + {/if} + </div> + <div class="info-box-body"> + {include file="docblock.tpl" desc=$desc sdesc=$sdesc tags=$tags} + + {if $tutorial} + <hr class="separator" /> + <div class="notes">Tutorial: <span class="tutorial">{$tutorial}</div> + {/if} + </div> +</div> + +{if $classes} + <a name="sec-classes"></a> + <div class="info-box"> + <div class="info-box-title">Classes</div> + <div class="nav-bar"> + <a href="#sec-description">Description</a> | + <span class="disabled">Classes</span> + {if $includes || $defines || $globals || $functions}|{/if} + {if $includes} + <a href="#sec-includes">Includes</a> + {if $defines || $globals || $functions}|{/if} + {/if} + {if $defines} + <a href="#sec-constants">Constants</a> + {if $globals || $functions}|{/if} + {/if} + {if $globals} + <a href="#sec-variables">Variables</a> + {if $functions}|{/if} + {/if} + {if $functions} + <a href="#sec-functions">Functions</a> + {/if} + </div> + <div class="info-box-body"> + <table cellpadding="2" cellspacing="0" class="class-table"> + <tr> + <th class="class-table-header">Class</th> + <th class="class-table-header">Description</th> + </tr> + {section name=classes loop=$classes} + <tr> + <td style="padding-right: 2em; vertical-align: top"> + {$classes[classes].link} + </td> + <td> + {if $classes[classes].sdesc} + {$classes[classes].sdesc} + {else} + {$classes[classes].desc} + {/if} + </td> + </tr> + {/section} + </table> + </div> + </div> +{/if} + +{if $includes} + <a name="sec-includes"></a> + <div class="info-box"> + <div class="info-box-title">Includes</div> + <div class="nav-bar"> + <a href="#sec-description">Description</a> | + {if $classes} + <a href="#sec-classes">Classes</a> + {if $includes || $defines || $globals || $functions}|{/if} + {/if} + <span class="disabled">Includes</span> + {if $defines || $globals || $functions}|{/if} + {if $defines} + <a href="#sec-constants">Constants</a> + {if $globals || $functions}|{/if} + {/if} + {if $globals} + <a href="#sec-variables">Variables</a> + {if $functions}|{/if} + {/if} + {if $functions} + <a href="#sec-functions">Functions</a> + {/if} + </div> + <div class="info-box-body"> + {include file="include.tpl"} + </div> + </div> +{/if} + +{if $defines} + <a name="sec-constants"></a> + <div class="info-box"> + <div class="info-box-title">Constants</div> + <div class="nav-bar"> + <a href="#sec-description">Description</a> | + {if $classes} + <a href="#sec-classes">Classes</a> + {if $includes || $defines || $globals || $functions}|{/if} + {/if} + {if $includes} + <a href="#sec-includes">Includes</a> + {if $defines || $globals || $functions}|{/if} + {/if} + <span class="disabled">Constants</span> + {if $globals || $functions}|{/if} + {if $globals} + <a href="#sec-variables">Variables</a> + {if $functions}|{/if} + {/if} + {if $functions} + <a href="#sec-functions">Functions</a> + {/if} + </div> + <div class="info-box-body"> + {include file="define.tpl"} + </div> + </div> +{/if} + +{if $globals} + <a name="sec-variables"></a> + <div class="info-box"> + <div class="info-box-title">Variables</div> + <div class="nav-bar"> + <a href="#sec-description">Description</a> | + {if $classes} + <a href="#sec-classes">Classes</a> + {if $includes || $defines || $globals || $functions}|{/if} + {/if} + {if $includes} + <a href="#sec-includes">Includes</a> + {if $defines || $globals || $functions}|{/if} + {/if} + {if $defines} + <a href="#sec-constants">Constants</a> + {if $globals || $functions}|{/if} + {/if} + <span class="disabled">Variables</span> + {if $functions}|{/if} + {if $functions} + <a href="#sec-functions">Functions</a> + {/if} + </div> + <div class="info-box-body"> + {include file="global.tpl"} + </div> + </div> +{/if} + +{if $functions} + <a name="sec-functions"></a> + <div class="info-box"> + <div class="info-box-title">Functions</div> + <div class="nav-bar"> + <a href="#sec-description">Description</a> | + {if $classes} + <a href="#sec-classes">Classes</a> + {if $includes || $defines || $globals || $functions}|{/if} + {/if} + {if $includes} + <a href="#sec-includes">Includes</a> + {if $defines || $globals || $functions}|{/if} + {/if} + {if $defines} + <a href="#sec-constants">Constants</a> + {if $globals || $functions}|{/if} + {/if} + {if $globals} + <a href="#sec-variables">Variables</a> + {if $functions}|{/if} + {/if} + <span class="disabled">Functions</span> + </div> + <div class="info-box-body"> + {include file="function.tpl"} + </div> + </div> +{/if} + +{include file="footer.tpl" top3=true} diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/default/templates/pkgelementindex.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/default/templates/pkgelementindex.tpl new file mode 100755 index 00000000..dc283ad0 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/default/templates/pkgelementindex.tpl @@ -0,0 +1,17 @@ +{include file="header.tpl"} +<a name="top"></a> +<h2>[{$package}] element index</h2> +{if count($packageindex) > 1} + <h3>Package indexes</h3> + <ul> + {section name=p loop=$packageindex} + {if $packageindex[p].title != $package} + <li><a href="elementindex_{$packageindex[p].title}.html">{$packageindex[p].title}</a></li> + {/if} + {/section} + </ul> +{/if} +<a href="elementindex.html">All elements</a> +<br /> +{include file="basicindex.tpl" indexname=elementindex_$package} +{include file="footer.tpl"} diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/default/templates/ric.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/default/templates/ric.tpl new file mode 100755 index 00000000..ad792475 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/default/templates/ric.tpl @@ -0,0 +1,6 @@ +{include file="header.tpl"} +<div align="center"><h1>{$name}</h1></div> +<pre> +{$contents|htmlentities} +</pre> +{include file="footer.tpl"}
\ No newline at end of file diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/default/templates/todolist.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/default/templates/todolist.tpl new file mode 100755 index 00000000..f929ccdb --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/default/templates/todolist.tpl @@ -0,0 +1,14 @@ +{include file="header.tpl" title="Todo List"} +<div align="center"><h1>Todo List</h1></div> +{foreach from=$todos key=todopackage item=todo} +<h2>{$todopackage}</h2> +{section name=todo loop=$todo} +<h3>{$todo[todo].link}</h3> +<ul> +{section name=t loop=$todo[todo].todos} + <li>{$todo[todo].todos[t]}</li> +{/section} +</ul> +{/section} +{/foreach} +{include file="footer.tpl"}
\ No newline at end of file diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/default/templates/top_frame.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/default/templates/top_frame.tpl new file mode 100755 index 00000000..36d1e5a1 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/default/templates/top_frame.tpl @@ -0,0 +1,45 @@ +<?xml version="1.0" encoding="iso-8859-1"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> + <html xmlns="http://www.w3.org/1999/xhtml"> + <head> + <!-- template designed by Marco Von Ballmoos --> + <title>{$title}</title> + <link rel="stylesheet" href="{$subdir}media/stylesheet.css" /> + <link rel="stylesheet" href="{$subdir}media/banner.css" /> + <meta http-equiv='Content-Type' content='text/html; charset=iso-8859-1'/> + </head> + <body> + <div class="banner"> + <div class="banner-title">{$package}</div> + <div class="banner-menu"> + <form> + <table cellpadding="0" cellspacing="0" style="width: 100%"> + <tr> + <td> + {if count($ric) >= 1} + {assign var="last_ric_name" value=""} + {section name=ric loop=$ric} + {if $last_ric_name != ""} | {/if} + <a href="{$ric[ric].file}" target="right">{$ric[ric].name}</a> + {assign var="last_ric_name" value=$ric[ric].name} + {/section} + {/if} + </td> + <td style="width: 2em"> </td> + <td style="text-align: right"> + {if count($packages) > 1} + <span class="field">Packages</span> + <select class="package-selector" onchange="window.parent.left_bottom.location=this[selectedIndex].value"> + {section name=p loop=$packages} + <option value="{$packages[p].link}">{$packages[p].title}</option> + {/section} + </select> + {/if} + </td> + </tr> + </table> + </form> + </div> + </div> + </body> + </html> diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/default/templates/tutorial.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/default/templates/tutorial.tpl new file mode 100755 index 00000000..3b9109d1 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/default/templates/tutorial.tpl @@ -0,0 +1,13 @@ +{include file="header.tpl" title=$title top3=true} + +{if $nav} + {include file="tutorial_nav.tpl" prev=$prev next=$next up=$up prevtitle=$prevtitle nexttitle=$nexttitle uptitle=$uptitle} +{/if} + +{$contents} + +{if $nav} + {include file="tutorial_nav.tpl" prev=$prev next=$next up=$up prevtitle=$prevtitle nexttitle=$nexttitle uptitle=$uptitle} +{/if} + +{include file="footer.tpl" top3=true}
\ No newline at end of file diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/default/templates/tutorial_nav.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/default/templates/tutorial_nav.tpl new file mode 100755 index 00000000..89952301 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/default/templates/tutorial_nav.tpl @@ -0,0 +1,41 @@ +<table class="tutorial-nav-box"> + <tr> + <td style="width: 30%"> + {if $prev} + <a href="{$prev}" class="nav-button">Previous</a> + {else} + <span class="nav-button-disabled">Previous</span> + {/if} + </td> + <td style="text-align: center"> + {if $up} + <a href="{$up}" class="nav-button">Up</a> + {/if} + </td> + <td style="text-align: right; width: 30%"> + {if $next} + <a href="{$next}" class="nav-button">Next</a> + {else} + <span class="nav-button-disabled">Next</span> + {/if} + </td> + </tr> + <tr> + <td style="width: 30%"> + {if $prevtitle} + <span class="detail">{$prevtitle}</span> + {/if} + </td> + <td style="text-align: center"> + {if $uptitle} + <span class="detail">{$uptitle}</span> + {/if} + </td> + <td style="text-align: right; width: 30%"> + {if $nexttitle} + <span class="detail">{$nexttitle}</span> + {/if} + </td> + </tr> +</table> +
\ No newline at end of file diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/default/templates/tutorial_toc.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/default/templates/tutorial_toc.tpl new file mode 100755 index 00000000..3482249b --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/default/templates/tutorial_toc.tpl @@ -0,0 +1,40 @@ +{if count($toc)} +<h1 class="title">Table of Contents</h1> +<ul class="toc"> + {assign var="lastcontext" value='refsect1'} + {section name=toc loop=$toc} + + {if $toc[toc].tagname != $lastcontext} + {if $lastcontext == 'refsect1'} + <ul class="toc"> + <li>{$toc[toc].link}</li> + {else} + {if $lastcontext == 'refsect2'} + {if $toc[toc].tagname == 'refsect1'} + </ul> + <li>{$toc[toc].link}</li> + {/if} + {if $toc[toc].tagname == 'refsect3'} + <ul class="toc"> + <li>{$toc[toc].link}</li> + {/if} + {else} + </ul> + </ul> + <li>{$toc[toc].link}</li> + {/if} + {/if} + {assign var="lastcontext" value=$toc[toc].tagname} + {else} + <li>{$toc[toc].link}</li> + {/if} + {/section} + {if $lastcontext == 'refsect2'} + </ul> + {/if} + {if $lastcontext == 'refsect3'} + </ul> + </ul> + {/if} +</ul> +{/if} diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/default/templates/tutorial_tree.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/default/templates/tutorial_tree.tpl new file mode 100755 index 00000000..40d9a4ff --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/default/templates/tutorial_tree.tpl @@ -0,0 +1,8 @@ + var a{$name|replace:"-":"_"}node = new WebFXTreeItem('{$main.title|strip_tags|escape:"quotes"}','{$main.link}', parent_node); + +{if $haskids} + var a{$name|replace:"-":"_"}_old_parent_node = parent_node; + parent_node = a{$name|replace:"-":"_"}node; + {$kids} + parent_node = a{$name|replace:"-":"_"}_old_parent_node; +{/if} diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/default/templates/var.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/default/templates/var.tpl new file mode 100755 index 00000000..1b3ca2ff --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/default/templates/var.tpl @@ -0,0 +1,90 @@ +{section name=vars loop=$vars} +{if $vars[vars].static} +<a name="var{$vars[vars].var_name}" id="{$vars[vars].var_name}"><!-- --></A> +<div class="{cycle values="evenrow,oddrow"}"> + + <div class="var-header"> + <span class="var-title"> + static <span class="var-type">{$vars[vars].var_type}</span> + <span class="var-name">{$vars[vars].var_name}</span> + {if $vars[vars].var_default} = <span class="var-default">{$vars[vars].var_default|replace:"\n":"<br />"}</span>{/if} + (line <span class="line-number">{if $vars[vars].slink}{$vars[vars].slink}{else}{$vars[vars].line_number}{/if}</span>) + </span> + </div> + + {include file="docblock.tpl" sdesc=$vars[vars].sdesc desc=$vars[vars].desc tags=$vars[vars].tags} + + {if $vars[vars].var_overrides} + <hr class="separator" /> + <div class="notes">Redefinition of:</div> + <dl> + <dt>{$vars[vars].var_overrides.link}</dt> + {if $vars[vars].var_overrides.sdesc} + <dd>{$vars[vars].var_overrides.sdesc}</dd> + {/if} + </dl> + {/if} + + {if $vars[vars].descvar} + <hr class="separator" /> + <div class="notes">Redefined in descendants as:</div> + <ul class="redefinitions"> + {section name=vm loop=$vars[vars].descvar} + <li> + {$vars[vars].descvar[vm].link} + {if $vars[vars].descvar[vm].sdesc} + : {$vars[vars].descvar[vm].sdesc} + {/if} + </li> + {/section} + </ul> + {/if} + +</div> +{/if} +{/section} +{section name=vars loop=$vars} +{if !$vars[vars].static} +<a name="var{$vars[vars].var_name}" id="{$vars[vars].var_name}"><!-- --></A> +<div class="{cycle values="evenrow,oddrow"}"> + + <div class="var-header"> + <span class="var-title"> + <span class="var-type">{$vars[vars].var_type}</span> + <span class="var-name">{$vars[vars].var_name}</span> + {if $vars[vars].var_default} = <span class="var-default">{$vars[vars].var_default|replace:"\n":"<br />"}</span>{/if} + (line <span class="line-number">{if $vars[vars].slink}{$vars[vars].slink}{else}{$vars[vars].line_number}{/if}</span>) + </span> + </div> + + {include file="docblock.tpl" sdesc=$vars[vars].sdesc desc=$vars[vars].desc tags=$vars[vars].tags} + + {if $vars[vars].var_overrides} + <hr class="separator" /> + <div class="notes">Redefinition of:</div> + <dl> + <dt>{$vars[vars].var_overrides.link}</dt> + {if $vars[vars].var_overrides.sdesc} + <dd>{$vars[vars].var_overrides.sdesc}</dd> + {/if} + </dl> + {/if} + + {if $vars[vars].descvar} + <hr class="separator" /> + <div class="notes">Redefined in descendants as:</div> + <ul class="redefinitions"> + {section name=vm loop=$vars[vars].descvar} + <li> + {$vars[vars].descvar[vm].link} + {if $vars[vars].descvar[vm].sdesc} + : {$vars[vars].descvar[vm].sdesc} + {/if} + </li> + {/section} + </ul> + {/if} + +</div> +{/if} +{/section} diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/options.ini b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/options.ini new file mode 100755 index 00000000..084809be --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/options.ini @@ -0,0 +1,577 @@ +preservedocbooktags = false + +;; used to highlight the {@source} inline tag, @filesource tag, and @example tag +[highlightSourceTokens] +;; format: +;; T_CONSTANTNAME = open +;; /T_CONSTANTNAME = close + +T_INCLUDE = <span class="src-inc"> +/T_INCLUDE = </span> +T_INCLUDE_ONCE = <span class="src-inc"> +/T_INCLUDE_ONCE = </span> +T_REQUIRE_ONCE = <span class="src-inc"> +/T_REQUIRE_ONCE = </span> +T_REQUIRE_ONCE = <span class="src-inc"> +/T_REQUIRE_ONCE = </span> + +T_CONSTANT_ENCAPSED_STRING = <span class="src-str"> +/T_CONSTANT_ENCAPSED_STRING = </span> +T_STRING_VARNAME = <span class="src-str"> +/T_STRING_VARNAME = </span> + +T_STRING = <span class="src-id"> +/T_STRING = </span> + +T_DNUMBER = <span class="src-num"> +/T_DNUMBER = </span> +T_LNUMBER = <span class="src-num"> +/T_LNUMBER = </span> + +T_VARIABLE = <span class="src-var"> +/T_VARIABLE = </span> + +T_COMMENT = <span class="src-comm"> +/T_COMMENT = </span> +T_ML_COMMENT = <span class="src-comm"> +/T_ML_COMMENT = </span> + +T_OBJECT_OPERATOR = <span class="src-sym"> +/T_OBJECT_OPERATOR = </span> + +T_ABSTRACT = <span class="src-key"> +/T_ABSTRACT = </span> +T_CLONE = <span class="src-key"> +/T_CLONE = </span> +T_HALT_COMPILER = <span class="src-key"> +/T_HALT_COMPILER = </span> +T_ARRAY = <span class="src-key"> +/T_ARRAY = </span> +T_AS = <span class="src-key"> +/T_AS = </span> +T_BREAK = <span class="src-key"> +/T_BREAK = </span> +T_CLASS = <span class="src-key"> +/T_CLASS = </span> +T_CASE = <span class="src-key"> +/T_CASE = </span> +T_CONST = <span class="src-key"> +/T_CONST = </span> +T_CONTINUE = <span class="src-key"> +/T_CONTINUE = </span> +T_DECLARE = <span class="src-key"> +/T_DECLARE = </span> +T_DEFAULT = <span class="src-key"> +/T_DEFAULT = </span> +T_ELSE = <span class="src-key"> +/T_ELSE = </span> +T_ELSEIF = <span class="src-key"> +/T_ELSEIF = </span> +T_EMPTY = <span class="src-key"> +/T_EMPTY = </span> +T_ENDDECLARE = <span class="src-key"> +/T_ENDDECLARE = </span> +T_ENDFOR = <span class="src-key"> +/T_ENDFOR = </span> +T_ENDSWITCH = <span class="src-key"> +/T_ENDSWITCH = </span> +T_ENDFOREACH = <span class="src-key"> +/T_ENDFOREACH = </span> +T_ENDIF = <span class="src-key"> +/T_ENDIF = </span> +T_ENDWHILE = <span class="src-key"> +/T_ENDWHILE = </span> +T_EXIT = <span class="src-key"> +/T_EXIT = </span> +T_EXTENDS = <span class="src-key"> +/T_EXTENDS = </span> +T_FINAL = <span class="src-key"> +/T_FINAL = </span> +T_FOR = <span class="src-key"> +/T_FOR = </span> +T_FOREACH = <span class="src-key"> +/T_FOREACH = </span> +T_FUNCTION = <span class="src-key"> +/T_FUNCTION = </span> +T_GLOBAL = <span class="src-key"> +/T_GLOBAL = </span> +T_IF = <span class="src-key"> +/T_IF = </span> +T_IMPLEMENTS = <span class="src-key"> +/T_IMPLEMENTS = </span> +T_INTERFACE = <span class="src-key"> +/T_INTERFACE = </span> +T_LOGICAL_AND = <span class="src-key"> +/T_LOGICAL_AND = </span> +T_LOGICAL_OR = <span class="src-key"> +/T_LOGICAL_OR = </span> +T_LOGICAL_XOR = <span class="src-key"> +/T_LOGICAL_XOR = </span> +T_NEW = <span class="src-key"> +/T_NEW = </span> +T_PRIVATE = <span class="src-key"> +/T_PRIVATE = </span> +T_PROTECTED = <span class="src-key"> +/T_PROTECTED = </span> +T_PUBLIC = <span class="src-key"> +/T_PUBLIC = </span> +T_RETURN = <span class="src-key"> +/T_RETURN = </span> +T_STATIC = <span class="src-key"> +/T_STATIC = </span> +T_SWITCH = <span class="src-key"> +/T_SWITCH = </span> +T_VAR = <span class="src-key"> +/T_VAR = </span> +T_WHILE = <span class="src-key"> +/T_WHILE = </span> + +T_DOUBLE_COLON = <span class="src-sym"> +/T_DOUBLE_COLON = </span> + +T_OPEN_TAG = <span class="src-php"> +/T_OPEN_TAG = </span> +T_OPEN_TAG_WITH_ECHO = <span class="src-php"> +/T_OPEN_TAG_WITH_ECHO = </span> +T_CLOSE_TAG = <span class="src-php"> +/T_CLOSE_TAG = </span> + + +[highlightSource] +;; this is for highlighting things that aren't tokens like "&" +;; format: +;; word = open +;; /word = close +@ = <span class="src-sym"> +/@ = </span> +& = <span class="src-sym"> +/& = </span> +[ = <span class="src-sym"> +/[ = </span> +] = <span class="src-sym"> +/] = </span> +! = <span class="src-sym"> +/! = </span> +";" = <span class="src-sym"> +/; = </span> +( = <span class="src-sym"> +/( = </span> +) = <span class="src-sym"> +/) = </span> +, = <span class="src-sym"> +/, = </span> +{ = <span class="src-sym"> +/{ = </span> +} = <span class="src-sym"> +/} = </span> +""" = <span class="src-str"> +/" = </span> + +[highlightDocBlockSourceTokens] +;; this is for docblock tokens, using by phpDocumentor_HighlightParser +;; tagphptype is for "string" in @param string description, for example +docblock = <span class="src-doc"> +/docblock = </span> +tagphptype = <span class="src-doc-type"> +/tagphptype = </span> +tagvarname = <span class="src-doc-var"> +/tagvarname = </span> +coretag = <span class="src-doc-coretag"> +/coretag = </span> +tag = <span class="src-doc-tag"> +/tag = </span> +inlinetag = <span class="src-doc-inlinetag"> +/inlinetag = </span> +internal = <span class="src-doc-internal"> +/internal = </span> +closetemplate = <span class="src-doc-close-template"> +/closetemplate = </span> +docblocktemplate = <span class="src-doc-template"> +/docblocktemplate = </span> + +[highlightTutorialSourceTokens] +;; this is for XML DocBook-based tutorials, highlighted by phpDocumentor_TutorialHighlightParser +;; <tag> +opentag = <span class="tute-tag"> +/opentag = </span> +;; </tag> +closetag = <span class="tute-tag"> +/closetag = </span> +;; <tag attribute="value"> +attribute = <span class="tute-attribute-name"> +/attribute = </span> +;; <tag attribute="value"> +attributevalue = <span class="tute-attribute-value"> +/attributevalue = </span> +;; &entity; +entity = <span class="tute-entity"> +/entity = </span> +;; <!-- comment --> +comment = <span class="tute-comment"> +/comment = </span> +;; {@inline tag} +itag = <span class="tute-inline-tag"> +/itag = </span> + +;; used for translation of html in DocBlocks +[desctranslate] +ul = <ul> +/ul = </ul> +ol = <ol> +/ol = </ol> +li = <li> +/li = </li> +code = +/code = +var = <var> +/var = </var> +samp = <samp> +/samp = </samp> +kbd = <kbd> +/kbd = </kbd> +pre = <pre> +/pre = </pre> +p = <p> +/p = </p> +b = <strong> +/b = </strong> +i = <em> +/i = </em> +br = <br /> + +[ppage] +;; this is the DocBook package page translation section. All DocBook tags +;; that have a corresponding html tag must be listed here. Entities should +;; also be listed here +;; +;; examples: +;; 1) +;; tagname = newtagname +;; +;; This is the simplest case, where all attributes will be added into the +;; starting tag and the ending tag will be html/xml style </tranlatedtagname> +;; <tagname></tagname> becomes <newtagname></newtagname> and +;; <tagname attr="value"></tagname> becomes +;; <newtagname attr="value"></newtagname> +;; +;; 2) +;; tagname = newtagname +;; tagname->attr = newattrname +;; +;; in this case, everything will be like the first case, except tags like: +;; <tagname attr="value"></tagname> will become +;; <newtagname newattrname="value"></newtagname> +;; +;; 3) +;; tagname = newtagname +;; tagname->attr = newattrname +;; tagname->attr+value = newvalue +;; +;; in this case, the value is also translated to another. This can be useful +;; for instances such as focus="middle" changing to align="center" or something +;; of that nature. +;; <tagname attr="value"></tagname> will become +;; <newtagname newattrname="newvalue"></newtagname> +;; +;; 4) +;; tagname = newtagname +;; tagname->attr1 = newattrname +;; tagname->attr2 = newattrname +;; tagname->attr1+value|attr2+value = newvalue +;; +;; in this case, two attributes combine to make one new attribute, and the combined +;; value is translated into a new value +;; <tagname attr1="value1" attr2="value2"></tagname> will become +;; <newtagname newattrname="newvalue"></newtagname> +;; +;; 5) +;; tagname = newtagname +;; tagname!attr = dummy +;; +;; here, the attribute will be ignored. dummy is not used and may be any value +;; <tagname attr="value"></tagname> will become +;; <newtagname></newtagname> +;; +;; 6) +;; tagname = newtagname +;; tagname! = dummy +;; +;; here, all attributes will be ignored. dummy is not used and may be any value +;; <tagname attr1="value" attr2="foo"></tagname> will become +;; <newtagname></newtagname> +;; +;; 7) +;; tagname = newtagname +;; tagname/ = 1 +;; +;; here, the tag will be translated as a single tag with no closing tag, and all +;; attributes +;; <tagname attr="val">{text text}</tagname> will become +;; <newtagname attr="val" /> +;; +;; 8) +;; tagname = <starttaginfo /> +;; /tagname = closetagtext +;; +;; in this case, the text <starttaginfo> will be inserted exactly as entered for +;; <tagname> and closetagtext for </tagname> +;; <tagname attr="val"></tagname> will become +;; <starttaginfo />closetagtext +;; +;; 9) +;; $attr$my_attribute = newattrname +;; +;; tagname = newtagname +;; +;; in this case, all occurences of my_attribute in any tag will be changed to +;; newattrname. This is useful for changing things like role="php" to +;; class="php," for example. Note that the text "$attr$" MUST be on the line +;; start for phpDocumentor to recognize it. +;; +;; 10) +;; &entity; = translation text +;; " = " +;; " = """ +;; < = < +;; +;; Use this to control translation of entities to their appropriate values + + = +" = " +” = ” +“ = “ +& = & +< = < +> = > +© = © + + +$attr$role = class + +abbrev = abbr + +blockquote = blockquote + +arg = span +arg->choice = class + +author = <span class="author"> +/author = </span> +author! = 0 + +authorblurb = <div class="author-blurb"> +/authorblurb = </div> + +authorgroup = <div class="authors"><h2 class="title">Authors</h2> +/authorgroup = </div> +authorgroup! = 0 + +caution = <span class="warning"> +/caution = </span> +caution! = 0 + +cmdsynopsis = <div class="cmd-synopsis"> +/cmdsynopsis = </div> + +command = <span class="cmd-title"> +/command = </span> + +copyright = <div class="notes"> +/copyright = </div> + +emphasis = em + +example = <div class="src-code"> +/example = </div> +example! = 0 + +function = +/function = () + +formalpara = p + +graphic = img +graphic->fileref = src +graphic/ = + +important = strong + +informalequation = blockquote + +informalexample = div + +inlineequation = em + +itemizedlist = ul + +listitem = li + +literal = code + +literallayout = span + +option = " " +/option = + +orderedlist = ol + +para = p + +programlisting = <div class="src-code"> +/programlisting = </div> +programlisting! = 0 + +refentry = div + +refnamediv = <div class="ref-title-box"> +/refnamediv = </div> +refnamediv! = 0 + +refname = <h1 class="ref-title"> +/refname = </h1> + +refpurpose = <h2 class="ref-purpose"> +/refpurpose = </h2> + +refsynopsisdiv = <div class="ref-synopsis"> +/refsynopsisdiv = </div> +refsynopsisdiv! = 0 + +refsect1 = span + +refsect2 = span + +refsect3 = +/refsect3 = <br /> + +releaseinfo = <div class="release-info">( +/releaseinfo = )</div> + +simpara = +/simpara = <br /> +simpara! = 0 + +subscript = sub + +superscript = super + +table = table + +table->colsep = rules +table->rowsep = rules +table->colsep+1|rowsep+1 =all +table->colsep+1|rowsep+0 =cols +table->colsep+0|rowsep+1 =rows + +table->frame =frame +table->frame+all =border +table->frame+none =void +table->frame+sides =vsides +table->frame+top =above +table->frame+topbot =hsides + +thead = thead + +tfoot = tfoot + +tbody = tbody + +colspec = col + +tgroup = colgroup +tgroup/ = 1 +tgroup->cols = span + +row = tr + +entry = td +entry->morerows = colspan +entry->morerows+1 =2 +entry->morerows+2 =3 +entry->morerows+3 =4 +entry->morerows+4 =5 +entry->morerows+5 =6 +entry->morerows+6 =7 +entry->morerows+7 =8 +entry->morerows+8 =9 +entry->morerows+9 =10 +entry->morerows+10 =11 +;; add more if you need more colspans + +warning = <span class="warning"> +/warning = </span> +warning! = 0 + +;; now begins the attributes that should be tags in cdata +[$attr$id] +open = a +;close = /a +cdata! = true +quotevalues = true +separator = "=" +;separateall = true +$id = name + +;; now begins the sections that deal with <title> +[refsynopsisdiv_title] +;tag_attr = true +;attr_name = title +cdata_start = true +;cdata_end = true +open = <h1 class="title"> +close = </h1> + +[refsect1_title] +;tag_attr = true +;attr_name = title +cdata_start = true +;cdata_end = true +open = <h2 class="title"> +close = </h2> + +[refsect2_title] +;tag_attr = true +;attr_name = title +cdata_start = true +;cdata_end = true +open = <h3 class="title"> +close = </h3> + +[refsect3_title] +;tag_attr = true +;attr_name = title +cdata_start = true +;cdata_end = true +open = <h4 class="title"> +close = </h4> + +[para_title] +;tag_attr = true +;attr_name = title +cdata_start = true +;cdata_end = true +open = <div class="title"> +close = </div> + +[formalpara_title] +;tag_attr = true +;attr_name = title +cdata_start = true +;cdata_end = true +open = <div class="title"> +close = </div> + +[example_title] +;tag_attr = true +;attr_name = title +;cdata_start = true +cdata_end = true +open = </td></tr><tr><td><strong> +close = </strong> + +[table_title] +;tag_attr = true +;attr_name = true +cdata_start = true +open = <caption> +close = </caption> diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/basicindex.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/basicindex.tpl new file mode 100755 index 00000000..f90100b4 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/basicindex.tpl @@ -0,0 +1,57 @@ +<div class="index-letter-menu"> +{section name=letter loop=$letters} + <a class="index-letter" href="{$indexname}.html#{$letters[letter].letter}">{$letters[letter].letter}</a> +{/section} +</div> + +{section name=index loop=$index} + <a name="{$index[index].letter}"></a> + <div class="index-letter-section"> + <div style="float: left" class="index-letter-title">{$index[index].letter}</div> + <div style="float: right"><a href="#top">top</a></div> + <div style="clear: both"></div> + </div> + <dl> + {section name=contents loop=$index[index].index} + <dt class="field"> + {if ($index[index].index[contents].title == "Variable")} + <img src="{$subdir}media/images/{if $index[index].index[contents].access == 'private'}Private{/if}{$index[index].index[contents].title}.png" alt="{$index[index].index[contents].title}" title="{$index[index].index[contents].title}" /> + <span class="var-title">{$index[index].index[contents].name}</span> + {elseif ($index[index].index[contents].title == "Global")} + <img src="{$subdir}media/images/{$index[index].index[contents].title}.png" alt="{$index[index].index[contents].title}" title="{$index[index].index[contents].title}" /> + <span class="var-title">{$index[index].index[contents].name}</span> + {elseif ($index[index].index[contents].title == "Method")} + <img src="{$subdir}media/images/{if $index[index].index[contents].constructor}Constructor{elseif $index[index].index[contents].destructor}Destructor{else}{if $index[index].index[contents].abstract}Abstract{/if}{if $index[index].index[contents].access == 'private'}Private{/if}{$index[index].index[contents].title}{/if}.png" alt="{$index[index].index[contents].title}" title="{$index[index].index[contents].title}" /> + <span class="method-title">{$index[index].index[contents].name}</span> + {elseif ($index[index].index[contents].title == "Function")} + <img src="{$subdir}media/images/{$index[index].index[contents].title}.png" alt="{$index[index].index[contents].title}" title="{$index[index].index[contents].title}" /> + <span class="method-title">{$index[index].index[contents].name}</span> + {elseif ($index[index].index[contents].title == "Constant")} + <img src="{$subdir}media/images/{$index[index].index[contents].title}.png" alt="{$index[index].index[contents].title}" title="{$index[index].index[contents].title}" /> + <span class="const-title">{$index[index].index[contents].name}</span> + {elseif ($index[index].index[contents].title == "Page") || ($index[index].index[contents].title == "Include")} + <img src="{$subdir}media/images/{$index[index].index[contents].title}.png" alt="{$index[index].index[contents].title}" title="{$index[index].index[contents].title}" /> + <span class="include-title">{$index[index].index[contents].name}</span> + {elseif ($index[index].index[contents].title == "Class")} + <img src="{$subdir}media/images/{if $index[index].index[contents].abstract}Abstract{/if}{if $index[index].index[contents].access == 'private'}Private{/if}{$index[index].index[contents].title}.png" alt="{$index[index].index[contents].title}" title="{$index[index].index[contents].title}" /> + {$index[index].index[contents].name} + {else} + <img src="{$subdir}media/images/{$index[index].index[contents].title}.png" alt="{$index[index].index[contents].title}" title="{$index[index].index[contents].title}" /> + {$index[index].index[contents].name} + {/if} + </dt> + <dd class="index-item-body"> + <div class="index-item-details">{$index[index].index[contents].link} in {$index[index].index[contents].file_name}</div> + {if $index[index].index[contents].description} + <div class="index-item-description">{$index[index].index[contents].description}</div> + {/if} + </dd> + {/section} + </dl> +{/section} + +<div class="index-letter-menu"> +{section name=letter loop=$letters} + <a class="index-letter" href="{$indexname}.html#{$letters[letter].letter}">{$letters[letter].letter}</a> +{/section} +</div> diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/blank.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/blank.tpl new file mode 100755 index 00000000..6a05f27e --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/blank.tpl @@ -0,0 +1,13 @@ +<html> +<head> + <title>{$maintitle}</title> + <link rel="stylesheet" href="{$subdir}media/stylesheet.css" /> + <meta http-equiv='Content-Type' content='text/html; charset=iso-8859-1'/> +</head> +<body> +<div align="center"><h1>{$maintitle}</h1></div> +<b>Welcome to {$package}!</b><br /> +<br /> +This documentation was generated by <a href="{$phpdocwebsite}">phpDocumentor v{$phpdocversion}</a><br /> +</body> +</html>
\ No newline at end of file diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/class.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/class.tpl new file mode 100755 index 00000000..1999d25d --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/class.tpl @@ -0,0 +1,444 @@ +{include file="header.tpl" top3=true} + +<h2 class="class-name"><img src="{$subdir}media/images/{if $abstract}{if $access == 'private'}AbstractPrivate{else}Abstract{/if}{else}{if $access == 'private'}Private{/if}{/if}Class_logo.png" + alt="{if $abstract}{if $access == 'private'}AbstractPrivate{else}Abstract{/if}{else}{if $access == 'private'}Private{/if}{/if} Class" + title="{if $abstract}{if $access == 'private'}AbstractPrivate{else}Abstract{/if}{else}{if $access == 'private'}Private{/if}{/if} Class" + style="vertical-align: middle">{if $is_interface}Interface{/if} {$class_name}</h2> + +<a name="sec-description"></a> +<div class="info-box"> + <div class="info-box-title">Description</div> + <div class="nav-bar"> + {if $children || $vars || $ivars || $methods || $imethods || $consts || $iconsts} + <span class="disabled">Description</span> | + {/if} + {if $children} + <a href="#sec-descendents">Descendents</a> + {if $vars || $ivars || $methods || $imethods || $consts || $iconsts}|{/if} + {/if} + {if $vars || $ivars} + {if $vars} + <a href="#sec-var-summary">Vars</a> (<a href="#sec-vars">details</a>) + {else} + <a href="#sec-vars">Vars</a> + {/if} + {if $methods || $imethods}|{/if} + {/if} + {if $methods || $imethods} + {if $methods} + <a href="#sec-method-summary">Methods</a> (<a href="#sec-methods">details</a>) + {else} + <a href="#sec-methods">Methods</a> + {/if} + {/if} + {if $consts || $iconsts} + {if $consts} + <a href="#sec-const-summary">Constants</a> (<a href="#sec-consts">details</a>) + {else} + <a href="#sec-consts">Constants</a> + {/if} + {/if} + </div> + <div class="info-box-body"> + {if $implements} + <p class="implements"> + Implements interfaces: + <ul> + {foreach item="int" from=$implements}<li>{$int}</li>{/foreach} + </ul> + </p> + {/if} + {include file="docblock.tpl" type="class" sdesc=$sdesc desc=$desc} + <p class="notes"> + Located in <a class="field" href="{$page_link}">{$source_location}</a> (line <span class="field">{if $class_slink}{$class_slink}{else}{$line_number}{/if}</span>) + </p> + + {if $tutorial} + <hr class="separator" /> + <div class="notes">Tutorial: <span class="tutorial">{$tutorial}</span></div> + {/if} + + <pre>{section name=tree loop=$class_tree.classes}{$class_tree.classes[tree]}{$class_tree.distance[tree]}{/section}</pre> + + {if $conflicts.conflict_type} + <hr class="separator" /> + <div><span class="warning">Conflicts with classes:</span><br /> + {section name=me loop=$conflicts.conflicts} + {$conflicts.conflicts[me]}<br /> + {/section} + </div> + {/if} + </div> +</div> + +{if $children} + <a name="sec-descendents"></a> + <div class="info-box"> + <div class="info-box-title">Direct descendents</div> + <div class="nav-bar"> + <a href="#sec-description">Description</a> | + <span class="disabled">Descendents</span> + {if $vars || $ivars || $methods || $imethods || $consts || $iconsts}|{/if} + {if $vars || $ivars} + {if $vars} + <a href="#sec-var-summary">Vars</a> (<a href="#sec-vars">details</a>) + {else} + <a href="#sec-vars">Vars</a> + {/if} + {if $methods || $imethods}|{/if} + {/if} + {if $methods || $imethods} + {if $methods} + <a href="#sec-method-summary">Methods</a> (<a href="#sec-methods">details</a>) + {else} + <a href="#sec-methods">Methods</a> + {/if} + {/if} + {if $consts || $iconsts} + {if $consts} + <a href="#sec-const-summary">Constants</a> (<a href="#sec-consts">details</a>) + {else} + <a href="#sec-consts">Constants</a> + {/if} + {/if} + </div> + <div class="info-box-body"> + <table cellpadding="2" cellspacing="0" class="class-table"> + <tr> + <th class="class-table-header">Class</th> + <th class="class-table-header">Description</th> + </tr> + {section name=kids loop=$children} + <tr> + <td style="padding-right: 2em; white-space: nowrap"> + <img src="{$subdir}media/images/{if $children[kids].abstract}Abstract{/if}{if $children[kids].access == 'private'}Private{/if}Class.png" + alt="{if $children[kids].abstract}Abstract{/if}{if $children[kids].access == 'private'}Private{/if} class" + title="{if $children[kids].abstract}Abstract{/if}{if $children[kids].access == 'private'}Private{/if} class" + style="vertical-align: center"/> + {$children[kids].link} + </td> + <td> + {if $children[kids].sdesc} + {$children[kids].sdesc} + {else} + {$children[kids].desc} + {/if} + </td> + </tr> + {/section} + </table> + </div> + </div> +{/if} + +{if $consts} + <a name="sec-const-summary"></a> + <div class="info-box"> + <div class="info-box-title">Class Constant Summary</span></div> + <div class="nav-bar"> + <a href="#sec-description">Description</a> | + {if $children} + <a href="#sec-descendents">Descendants</a> | + {/if} + <span class="disabled">Constants</span> (<a href="#sec-consts">details</a>) + {if $vars || $ivars} + {if $vars} + <a href="#sec-var-summary">Vars</a> (<a href="#sec-vars">details</a>) + {else} + <a href="#sec-vars">Vars</a> + {/if} + | + {/if} + {if $methods || $imethods} + | + {if $methods} + <a href="#sec-method-summary">Methods</a> (<a href="#sec-methods">details</a>) + {else} + <a href="#sec-methods">Methods</a> + {/if} + {/if} + </div> + <div class="info-box-body"> + <div class="const-summary"> + {section name=consts loop=$consts} + <div class="const-title"> + <img src="{$subdir}media/images/Constant.png" alt=" " /> + <a href="#{$consts[consts].const_name}" title="details" class="const-name">{$consts[consts].const_name}</a> = <span class="var-type">{$consts[consts].const_value}</span> + + </div> + {/section} + </div> + </div> + </div> +{/if} + +{if $vars} + <a name="sec-var-summary"></a> + <div class="info-box"> + <div class="info-box-title">Variable Summary</span></div> + <div class="nav-bar"> + <a href="#sec-description">Description</a> | + {if $children} + <a href="#sec-descendents">Descendants</a> | + {/if} + <span class="disabled">Vars</span> (<a href="#sec-vars">details</a>) + {if $methods || $imethods} + | + {if $methods} + <a href="#sec-method-summary">Methods</a> (<a href="#sec-methods">details</a>) + {else} + <a href="#sec-methods">Methods</a> + {/if} + {/if} + {if $consts || $iconsts} + {if $consts} + <a href="#sec-const-summary">Constants</a> (<a href="#sec-consts">details</a>) + {else} + <a href="#sec-consts">Constants</a> + {/if} + {/if} + </div> + <div class="info-box-body"> + <div class="var-summary"> + {section name=vars loop=$vars} + {if $vars[vars].static} + <div class="var-title"> + <img src="{$subdir}media/images/StaticVariable.png" alt=" " /> + static <span class="var-type">{$vars[vars].var_type}</span> + <a href="#{$vars[vars].var_name}" title="details" class="var-name">{$vars[vars].var_name}</a> + </div> + {/if} + {/section} + {section name=vars loop=$vars} + {if !$vars[vars].static} + <div class="var-title"> + <img src="{$subdir}media/images/{if $vars[vars].access == 'private'}PrivateVariable{else}Variable{/if}.png" alt=" " /> + <span class="var-type">{$vars[vars].var_type}</span> + <a href="#{$vars[vars].var_name}" title="details" class="var-name">{$vars[vars].var_name}</a> + </div> + {/if} + {/section} + </div> + </div> + </div> +{/if} + +{if $methods} + <a name="sec-method-summary"></a> + <div class="info-box"> + <div class="info-box-title">Method Summary</span></div> + <div class="nav-bar"> + <a href="#sec-description">Description</a> | + {if $children} + <a href="#sec-descendents">Descendants</a> | + {/if} + {if $consts || $iconsts} + {if $consts} + <a href="#sec-const-summary">Constants</a> (<a href="#sec-consts">details</a>) + {else} + <a href="#sec-consts">Constants</a> + {/if} + {/if} + {if $vars || $ivars} + {if $vars} + <a href="#sec-var-summary">Vars</a> (<a href="#sec-vars">details</a>) + {else} + <a href="#sec-vars">Vars</a> + {/if} + | + {/if} + <span class="disabled">Methods</span> (<a href="#sec-methods">details</a>) + </div> + <div class="info-box-body"> + <div class="method-summary"> + {section name=methods loop=$methods} + {if $methods[methods].static} + <div class="method-definition"> + <img src="{$subdir}media/images/StaticMethod.png" alt=" "/> + static {if $methods[methods].function_return} + <span class="method-result">{$methods[methods].function_return}</span> + {/if} + <a href="#{$methods[methods].function_name}" title="details" class="method-name">{if $methods[methods].ifunction_call.returnsref}&{/if}{$methods[methods].function_name}</a> + {if count($methods[methods].ifunction_call.params)} + ({section name=params loop=$methods[methods].ifunction_call.params}{if $smarty.section.params.iteration != 1}, {/if}{if $methods[methods].ifunction_call.params[params].hasdefault}[{/if}<span class="var-type">{$methods[methods].ifunction_call.params[params].type}</span> <span class="var-name">{$methods[methods].ifunction_call.params[params].name}</span>{if $methods[methods].ifunction_call.params[params].hasdefault} = <span class="var-default">{$methods[methods].ifunction_call.params[params].default}</span>]{/if}{/section}) + {else} + () + {/if} + </div> + {/if} + {/section} + {section name=methods loop=$methods} + {if !$methods[methods].static} + <div class="method-definition"> + <img src="{$subdir}media/images/{if $methods[methods].ifunction_call.constructor}Constructor{elseif $methods[methods].ifunction_call.destructor}Destructor{elseif $methods[methods].access == 'private'}{if $methods[methods].abstract}Abstract{/if}PrivateMethod{else}{if $methods[methods].abstract}Abstract{/if}Method{/if}.png" alt=" "/> + {if $methods[methods].function_return} + <span class="method-result">{$methods[methods].function_return}</span> + {/if} + <a href="#{$methods[methods].function_name}" title="details" class="method-name">{if $methods[methods].ifunction_call.returnsref}&{/if}{$methods[methods].function_name}</a> + {if count($methods[methods].ifunction_call.params)} + ({section name=params loop=$methods[methods].ifunction_call.params}{if $smarty.section.params.iteration != 1}, {/if}{if $methods[methods].ifunction_call.params[params].hasdefault}[{/if}<span class="var-type">{$methods[methods].ifunction_call.params[params].type}</span> <span class="var-name">{$methods[methods].ifunction_call.params[params].name}</span>{if $methods[methods].ifunction_call.params[params].hasdefault} = <span class="var-default">{$methods[methods].ifunction_call.params[params].default}</span>]{/if}{/section}) + {else} + () + {/if} + </div> + {/if} + {/section} + </div> + </div> + </div> +{/if} + +{if $vars || $ivars} + <a name="sec-vars"></a> + <div class="info-box"> + <div class="info-box-title">Variables</div> + <div class="nav-bar"> + <a href="#sec-description">Description</a> | + {if $children} + <a href="#sec-descendents">Descendents</a> | + {/if} + {if $methods} + <a href="#sec-var-summary">Vars</a> (<span class="disabled">details</span>) + {else} + <span class="disabled">Vars</span> + {/if} + + {if $consts || $iconsts} + {if $consts} + <a href="#sec-const-summary">Constants</a> (<a href="#sec-consts">details</a>) + {else} + <a href="#sec-consts">Constants</a> + {/if} + {/if} + {if $methods || $imethods} + | + {if $methods} + <a href="#sec-method-summary">Methods</a> (<a href="#sec-methods">details</a>) + {else} + <a href="#sec-methods">Methods</a> + {/if} + {/if} + </div> + <div class="info-box-body"> + {include file="var.tpl"} + {if $ivars} + <h4>Inherited Variables</h4> + <A NAME='inherited_vars'><!-- --></A> + {section name=ivars loop=$ivars} + <p>Inherited from <span class="classname">{$ivars[ivars].parent_class}</span></p> + <blockquote> + {section name=ivars2 loop=$ivars[ivars].ivars} + <img src="{$subdir}media/images/{if $ivars[ivars].ivars[ivars2].access == 'private'}PrivateVariable{else}Variable{/if}.png" /> + <span class="var-title"> + <span class="var-name">{$ivars[ivars].ivars[ivars2].link}</span>{if $ivars[ivars].ivars[ivars2].ivar_sdesc}: {$ivars[ivars].ivars[ivars2].ivar_sdesc}{/if}<br> + </span> + {/section} + </blockquote> + {/section} + {/if} + </div> + </div> +{/if} + +{if $methods || $imethods} + <a name="sec-methods"></a> + <div class="info-box"> + <div class="info-box-title">Methods</div> + <div class="nav-bar"> + <a href="#sec-description">Description</a> | + {if $children} + <a href="#sec-descendents">Descendents</a> | + {/if} + {if $vars || $ivars} + {if $vars} + <a href="#sec-var-summary">Vars</a> (<a href="#sec-vars">details</a>) + {else} + <a href="#sec-vars">Vars</a> + {/if} + {/if} + {if $consts || $iconsts} + {if $consts} + <a href="#sec-const-summary">Constants</a> (<a href="#sec-consts">details</a>) + {else} + <a href="#sec-consts">Constants</a> + {/if} + {/if} + {if $methods} + <a href="#sec-method-summary">Methods</a> (<span class="disabled">details</span>) + {else} + <span class="disabled">Methods</span> + {/if} + </div> + <div class="info-box-body"> + {include file="method.tpl"} + {if $imethods} + <h4>Inherited Methods</h4> + <a name='inherited_methods'><!-- --></a> + {section name=imethods loop=$imethods} + <!-- =========== Summary =========== --> + <p>Inherited From <span class="classname">{$imethods[imethods].parent_class}</span></p> + <blockquote> + {section name=im2 loop=$imethods[imethods].imethods} + <img src="{$subdir}media/images/{if $imethods[imethods].imethods[im2].constructor}Constructor{elseif $imethods[imethods].imethods[im2].destructor}Destructor{elseif $imethods[imethods].imethods[im2].access == 'private'}{if $imethods[imethods].imethods[im2].abstract}Abstract{/if}PrivateMethod{else}{if $imethods[imethods].imethods[im2].abstract}Abstract{/if}Method{/if}.png" alt=" "/> + <span class="method-name">{$imethods[imethods].imethods[im2].link}</span>{if $imethods[imethods].imethods[im2].ifunction_sdesc}: {$imethods[imethods].imethods[im2].ifunction_sdesc}{/if}<br> + {/section} + </blockquote> + {/section} + {/if} + </div> + </div> +{/if} + +{if $consts || $iconsts} + <a name="sec-consts"></a> + <div class="info-box"> + <div class="info-box-title">Class Constants</div> + <div class="nav-bar"> + <a href="#sec-description">Description</a> | + {if $children} + <a href="#sec-descendents">Descendants</a> | + {/if} + {if $methods} + <a href="#sec-var-summary">Constants</a> (<span class="disabled">details</span>) + {else} + <span class="disabled">Constants</span> + {/if} + + {if $vars || $ivars} + {if $vars} + <a href="#sec-var-summary">Vars</a> (<a href="#sec-vars">details</a>) + {else} + <a href="#sec-vars">Vars</a> + {/if} + {/if} + {if $methods || $imethods} + | + {if $methods} + <a href="#sec-method-summary">Methods</a> (<a href="#sec-methods">details</a>) + {else} + <a href="#sec-methods">Methods</a> + {/if} + {/if} + </div> + <div class="info-box-body"> + {include file="const.tpl"} + {if $iconsts} + <h4>Inherited Constants</h4> + <A NAME='inherited_vars'><!-- --></A> + {section name=iconsts loop=$iconsts} + <p>Inherited from <span class="classname">{$iconsts[iconsts].parent_class}</span></p> + <blockquote> + {section name=iconsts2 loop=$iconsts[iconsts].iconsts} + <img src="{$subdir}media/images/{if $iconsts[iconsts].iconsts[iconsts2].access == 'private'}PrivateVariable{else}Variable{/if}.png" /> + <span class="const-title"> + <span class="const-name">{$iconsts[iconsts].iconsts[iconsts2].link}</span>{if $iconsts[iconsts].iconsts[iconsts2].iconst_sdesc}: {$iconsts[iconsts].iconsts[iconsts2].iconst_sdesc}{/if}<br> + </span> + {/section} + </blockquote> + {/section} + {/if} + </div> + </div> +{/if} + +{include file="footer.tpl" top3=true} diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/classtrees.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/classtrees.tpl new file mode 100755 index 00000000..952e6d50 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/classtrees.tpl @@ -0,0 +1,19 @@ +{include file="header.tpl" top1=true} + +<!-- Start of Class Data --> +<H2> + {$smarty.capture.title} +</H2> +{if $interfaces} +{section name=classtrees loop=$interfaces} +<h2>Root interface {$interfaces[classtrees].class}</h2> +{$interfaces[classtrees].class_tree} +{/section} +{/if} +{if $classtrees} +{section name=classtrees loop=$classtrees} +<h2>Root class {$classtrees[classtrees].class}</h2> +{$classtrees[classtrees].class_tree} +{/section} +{/if} +{include file="footer.tpl"}
\ No newline at end of file diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/const.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/const.tpl new file mode 100644 index 00000000..c26ff92d --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/const.tpl @@ -0,0 +1,18 @@ +{section name=consts loop=$consts} +<a name="const{$consts[consts].const_name}" id="{$consts[consts].const_name}"><!-- --></A> +<div class="{cycle values="evenrow,oddrow"}"> + + <div class="const-header"> + <img src="{$subdir}media/images/{if $consts[consts].access == 'private'}PrivateVariable{else}Variable{/if}.png" /> + <span class="const-title"> + <span class="const-name">{$consts[consts].const_name}</span> + = <span class="const-default">{$consts[consts].const_value|replace:"\n":"<br />"}</span> + (line <span class="line-number">{if $consts[consts].slink}{$consts[consts].slink}{else}{$consts[consts].line_number}{/if}</span>) + </span> + </div> + + {include file="docblock.tpl" sdesc=$consts[consts].sdesc desc=$consts[consts].desc tags=$consts[consts].tags} + +</div> +{/section} + diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/define.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/define.tpl new file mode 100755 index 00000000..94078960 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/define.tpl @@ -0,0 +1,25 @@ +{section name=def loop=$defines} +<a name="{$defines[def].define_link}"><!-- --></a> +<div class="{cycle values="evenrow,oddrow"}"> + + <div> + <img src="{$subdir}media/images/Constant.png" /> + <span class="const-title"> + <span class="const-name">{$defines[def].define_name}</span> = {$defines[def].define_value|replace:"\n":"<br />"} + (line <span class="line-number">{if $defines[def].slink}{$defines[def].slink}{else}{$defines[def].line_number}{/if}</span>) + </span> + </div> + + {include file="docblock.tpl" sdesc=$defines[def].sdesc desc=$defines[def].desc tags=$defines[def].tags} + + {if $globals[glob].global_conflicts.conflict_type} + <hr class="separator" /> + <div><span class="warning">Conflicts with constants:</span><br /> + {section name=me loop=$defines[def].define_conflicts.conflicts} + {$defines[def].define_conflicts.conflicts[me]}<br /> + {/section} + </div> + {/if} + +</div> +{/section}
\ No newline at end of file diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/docblock.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/docblock.tpl new file mode 100755 index 00000000..783d5271 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/docblock.tpl @@ -0,0 +1,14 @@ +<!-- ========== Info from phpDoc block ========= --> +{if $sdesc} +<p class="short-description">{$sdesc}</p> +{/if} +{if $desc} +<p class="description">{$desc}</p> +{/if} +{if $tags} + <ul class="tags"> + {section name=tags loop=$tags} + <li><span class="field">{$tags[tags].keyword}:</span> {$tags[tags].data}</li> + {/section} + </ul> +{/if} diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/elementindex.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/elementindex.tpl new file mode 100755 index 00000000..d5964f99 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/elementindex.tpl @@ -0,0 +1,12 @@ +{include file="header.tpl" noleftindex=true} +<a name="top"></a> +<h2>Full index</h2> +<h3>Package indexes</h3> +<ul> +{section name=p loop=$packageindex} + <li><a href="elementindex_{$packageindex[p].title}.html">{$packageindex[p].title}</a></li> +{/section} +</ul> +<br /> +{include file="basicindex.tpl" indexname="elementindex"} +{include file="footer.tpl"} diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/errors.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/errors.tpl new file mode 100755 index 00000000..0f526584 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/errors.tpl @@ -0,0 +1,21 @@ +{include file="header.tpl" noleftindex=true} +{section name=files loop=$files} +<a href="#{$files[files].file}">{$files[files].file}</a><br> +{/section} +{foreach key=file item=issues from=$all} +<a name="{$file}"></a> +<h1>{$file}</h1> +{if count($issues.warnings)} +<h2>Warnings:</h2><br> +{section name=warnings loop=$issues.warnings} +<b>{$issues.warnings[warnings].name}</b> - {$issues.warnings[warnings].listing}<br> +{/section} +{/if} +{if count($issues.errors)} +<h2>Errors:</h2><br> +{section name=errors loop=$issues.errors} +<b>{$issues.errors[errors].name}</b> - {$issues.errors[errors].listing}<br> +{/section} +{/if} +{/foreach} +{include file="footer.tpl"} diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/examplesource.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/examplesource.tpl new file mode 100755 index 00000000..8abf74ce --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/examplesource.tpl @@ -0,0 +1,6 @@ +{include file="header.tpl" title=$title} +<h1>{$title}</h1> +<div class="listing"> +{$source} +</div> +{include file="footer.tpl"}
\ No newline at end of file diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/filesource.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/filesource.tpl new file mode 100755 index 00000000..239f7b41 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/filesource.tpl @@ -0,0 +1,8 @@ +{capture name="tutle"}File Source for {$name}{/capture} +{include file="header.tpl" title=$smarty.capture.tutle} +<h1>Source for file {$name}</h1> +<p>Documentation is available at {$docs}</p> +<div class="src-code"> +{$source} +</div> +{include file="footer.tpl"}
\ No newline at end of file diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/footer.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/footer.tpl new file mode 100755 index 00000000..8d0f79db --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/footer.tpl @@ -0,0 +1,8 @@ +{if !$index} + <p class="notes" id="credit"> + Documentation generated on {$date} by <a href="{$phpdocwebsite}" target="_blank">phpDocumentor {$phpdocversion}</a> + </p> +{/if} + {if $top3}</div>{/if} +</body> +</html> diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/function.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/function.tpl new file mode 100755 index 00000000..e62a98ae --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/function.tpl @@ -0,0 +1,44 @@ +{section name=func loop=$functions} +<a name="{$functions[func].function_dest}" id="{$functions[func].function_dest}"><!-- --></a> +<div class="{cycle values="evenrow,oddrow"}"> + + <div> + <img src="{$subdir}media/images/Function.png" /> + <span class="method-title">{$functions[func].function_name}</span> (line <span class="line-number">{if $functions[func].slink}{$functions[func].slink}{else}{$functions[func].line_number}{/if}</span>) + </div> + + {include file="docblock.tpl" sdesc=$functions[func].sdesc desc=$functions[func].desc tags=$functions[func].tags params=$functions[func].params function=false} + <div class="method-signature"> + <span class="method-result">{$functions[func].function_return}</span> + <span class="method-name"> + {if $functions[func].ifunction_call.returnsref}&{/if}{$functions[func].function_name} + </span> + {if count($functions[func].ifunction_call.params)} + ({section name=params loop=$functions[func].ifunction_call.params}{if $smarty.section.params.iteration != 1}, {/if}{if $functions[func].ifunction_call.params[params].hasdefault}[{/if}<span class="var-type">{$functions[func].ifunction_call.params[params].type}</span> <span class="var-name">{$functions[func].ifunction_call.params[params].name}</span>{if $functions[func].ifunction_call.params[params].hasdefault} = <span class="var-default">{$functions[func].ifunction_call.params[params].default|escape:"html"}</span>]{/if}{/section}) + {else} + () + {/if} + </div> + + {if $functions[func].params} + <ul class="parameters"> + {section name=params loop=$functions[func].params} + <li> + <span class="var-type">{$functions[func].params[params].datatype}</span> + <span class="var-name">{$functions[func].params[params].var}</span>{if $functions[func].params[params].data}<span class="var-description">: {$functions[func].params[params].data}</span>{/if} + </li> + {/section} + </ul> + {/if} + + {if $functions[func].function_conflicts.conflict_type} + <hr class="separator" /> + <div><span class="warning">Conflicts with functions:</span><br /> + {section name=me loop=$functions[func].function_conflicts.conflicts} + {$functions[func].function_conflicts.conflicts[me]}<br /> + {/section} + </div> + {/if} + +</div> +{/section} diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/global.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/global.tpl new file mode 100755 index 00000000..d37bda37 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/global.tpl @@ -0,0 +1,27 @@ +{section name=glob loop=$globals} +<a name="{$globals[glob].global_link}" id="{$globals[glob].global_link}"><!-- --></a> +<div class="{cycle values="evenrow,oddrow"}"> + + <div> + <img src="{$subdir}media/images/Global.png" /> + <span class="var-title"> + <span class="var-type">{$globals[glob].global_type}</span> + <span class="var-name">{$globals[glob].global_name}</span> + {if $vars[vars].var_default} = <span class="var-default">{$globals[glob].global_value|replace:"\n":"<br />"}</span>{/if} + (line <span class="line-number">{if $globals[glob].slink}{$globals[glob].slink}{else}{$globals[glob].line_number}{/if}</span>) + </span> + </div> + + {include file="docblock.tpl" sdesc=$globals[glob].sdesc desc=$globals[glob].desc tags=$globals[glob].tags} + + {if $globals[glob].global_conflicts.conflict_type} + <hr class="separator" /> + <div><span class="warning">Conflicts with global variables:</span><br /> + {section name=me loop=$globals[glob].global_conflicts.conflicts} + {$globals[glob].global_conflicts.conflicts[me]}<br /> + {/section} + </div> + {/if} + +</div> +{/section}
\ No newline at end of file diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/header.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/header.tpl new file mode 100755 index 00000000..0d626190 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/header.tpl @@ -0,0 +1,95 @@ +<?xml version="1.0" encoding="iso-8859-1"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> + <html xmlns="http://www.w3.org/1999/xhtml"> + <head> + <!-- template designed by Marco Von Ballmoos --> + <title>{$title}</title> + <link rel="stylesheet" href="{$subdir}media/stylesheet.css" /> + {if $top2 || $top3} + <script src="{$subdir}media/lib/classTree.js"></script> + {/if} + {if $top2} + <meta http-equiv='Content-Type' content='text/html; charset=iso-8859-1'/> + {/if} + {if $top3 || $top2} + <script language="javascript" type="text/javascript"> + var imgPlus = new Image(); + var imgMinus = new Image(); + imgPlus.src = "{$subdir}media/images/plus.png"; + imgMinus.src = "{$subdir}media/images/minus.png"; + + function showNode(Node){ldelim} + switch(navigator.family){ldelim} + case 'nn4': + // Nav 4.x code fork... + var oTable = document.layers["span" + Node]; + var oImg = document.layers["img" + Node]; + break; + case 'ie4': + // IE 4/5 code fork... + var oTable = document.all["span" + Node]; + var oImg = document.all["img" + Node]; + break; + case 'gecko': + // Standards Compliant code fork... + var oTable = document.getElementById("span" + Node); + var oImg = document.getElementById("img" + Node); + break; + {rdelim} + oImg.src = imgMinus.src; + oTable.style.display = "block"; + {rdelim} + + function hideNode(Node){ldelim} + switch(navigator.family){ldelim} + case 'nn4': + // Nav 4.x code fork... + var oTable = document.layers["span" + Node]; + var oImg = document.layers["img" + Node]; + break; + case 'ie4': + // IE 4/5 code fork... + var oTable = document.all["span" + Node]; + var oImg = document.all["img" + Node]; + break; + case 'gecko': + // Standards Compliant code fork... + var oTable = document.getElementById("span" + Node); + var oImg = document.getElementById("img" + Node); + break; + {rdelim} + oImg.src = imgPlus.src; + oTable.style.display = "none"; + {rdelim} + + function nodeIsVisible(Node){ldelim} + switch(navigator.family){ldelim} + case 'nn4': + // Nav 4.x code fork... + var oTable = document.layers["span" + Node]; + break; + case 'ie4': + // IE 4/5 code fork... + var oTable = document.all["span" + Node]; + break; + case 'gecko': + // Standards Compliant code fork... + var oTable = document.getElementById("span" + Node); + break; + {rdelim} + return (oTable && oTable.style.display == "block"); + {rdelim} + + function toggleNodeVisibility(Node){ldelim} + if (nodeIsVisible(Node)){ldelim} + hideNode(Node); + {rdelim}else{ldelim} + showNode(Node); + {rdelim} + {rdelim} + </script> + {/if} + </head> + <body> + {if $top3}<div class="page-body">{/if} + diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/include.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/include.tpl new file mode 100755 index 00000000..f264afd3 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/include.tpl @@ -0,0 +1,17 @@ +{section name=includes loop=$includes} +<a name="{$includes[includes].include_file}"><!-- --></a> +<div class="{cycle values="evenrow,oddrow"}"> + + <div> + <img src="{$subdir}media/images/Page.png" alt=" " /> + <span class="include-title"> + <span class="include-type">{$includes[includes].include_name}</span> + (<span class="include-name">{$includes[includes].include_value}</span>) + (line <span class="line-number">{if $includes[includes].slink}{$includes[includes].slink}{else}{$includes[includes].line_number}{/if}</span>) + </span> + </div> + + {include file="docblock.tpl" sdesc=$includes[includes].sdesc desc=$includes[includes].desc tags=$includes[includes].tags} + +</div> +{/section}
\ No newline at end of file diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/index.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/index.tpl new file mode 100755 index 00000000..7cd61094 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/index.tpl @@ -0,0 +1,24 @@ +<?xml version="1.0" encoding="iso-8859-1"?> +<!DOCTYPE html + PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//FR" + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd"> + <html xmlns="http://www.w3.org/1999/xhtml"> +<head> + <!-- Generated by phpDocumentor on {$date} --> + <title>{$title}</title> + <meta http-equiv='Content-Type' content='text/html; charset=iso-8859-1'/> +</head> + +<FRAMESET rows='120,*'> + <FRAME src='packages.html' name='left_top' frameborder="1" bordercolor="#999999"> + <FRAMESET cols='25%,*'> + <FRAME src='{$start}' name='left_bottom' frameborder="1" bordercolor="#999999"> + <FRAME src='{$blank}.html' name='right' frameborder="1" bordercolor="#999999"> + </FRAMESET> + <NOFRAMES> + <H2>Frame Alert</H2> + <P>This document is designed to be viewed using the frames feature. + If you see this message, you are using a non-frame-capable web client.</P> + </NOFRAMES> +</FRAMESET> +</HTML> diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/left_frame.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/left_frame.tpl new file mode 100755 index 00000000..a38cb29f --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/left_frame.tpl @@ -0,0 +1,250 @@ +{include file="header.tpl" top2=true} +<h3 class="package-title">{$info.0.package}</h3> +<div class="tree"> +<script language="Javascript"> +if (document.getElementById) {ldelim} +{section name=p loop=$info} + {if $info[p].subpackage == ""} + var tree = new WebFXTree('<span class="package">{$info.0.package}</span>'); + tree.setBehavior('classic'); + tree.openIcon = 'media/images/package.png'; + tree.icon = 'media/images/package.png'; + + {if $hastodos} + var todos = new WebFXTreeItem('To-do List', '{$todolink}'); + todos.openIcon = 'media/images/Index.png'; + todos.icon = 'media/images/Index.png'; + tree.add(todos); + {/if} + + var class_trees = new WebFXTreeItem('Class trees', '{$classtreepage}.html'); + class_trees.openIcon = 'media/images/Index.png'; + class_trees.icon = 'media/images/Index.png'; + tree.add(class_trees); + + var elements = new WebFXTreeItem('Index of elements', '{$elementindex}.html'); + elements.openIcon = 'media/images/Index.png'; + elements.icon = 'media/images/Index.png'; + tree.add(elements); + + var parent_node; + + {if $info[p].tutorials} + var tree_tutorial = new WebFXTreeItem('Tutorial(s)/Manual(s)', ''); + tree_tutorial.openIcon = 'media/images/tutorial_folder.png'; + tree_tutorial.icon = 'media/images/tutorial_folder.png'; + tree.add(tree_tutorial); + + {if $info[p].tutorials.pkg} + var tree_inner_tutorial = new WebFXTreeItem('Package-level', ''); + tree_inner_tutorial.openIcon = 'media/images/package_folder.png'; + tree_inner_tutorial.icon = 'media/images/package_folder.png'; + tree_tutorial.add(tree_inner_tutorial); + + parent_node = tree_inner_tutorial; + {section name=ext loop=$info[p].tutorials.pkg} + {$info[p].tutorials.pkg[ext]} + {/section} + {/if} + + {if $info[p].tutorials.cls} + var tree_inner_tutorial = new WebFXTreeItem('Class-level', ''); + tree_inner_tutorial.openIcon = 'media/images/class_folder.png'; + tree_inner_tutorial.icon = 'media/images/class_folder.png'; + tree_tutorial.add(tree_inner_tutorial); + + parent_node = tree_inner_tutorial; + {section name=ext loop=$info[p].tutorials.cls} + {$info[p].tutorials.cls[ext]} + {/section} + {/if} + + {if $info[p].tutorials.proc} + var tree_inner_tutorial = new WebFXTreeItem('Function-level', ''); + tree_inner_tutorial.openIcon = 'media/images/function_folder.png'; + tree_inner_tutorial.icon = 'media/images/function_folder.png'; + tree_tutorial.add(tree_inner_tutorial); + + parent_node = tree_inner_tutorial; + {section name=ext loop=$info[p].tutorials.proc} + {$info[p].tutorials.proc[ext]} + {/section} + {/if} + {/if} + + {if $info[p].hasinterfaces} + var tree_classe = new WebFXTreeItem('Interface(s)', '{$packagedoc|escape:"quotes"}'); + tree_classe.openIcon = 'media/images/class_folder.png'; + tree_classe.icon = 'media/images/class_folder.png'; + + {section name=class loop=$info[p].classes} + {if $info[p].classes[class].is_interface} + var classe = new WebFXTreeItem('{$info[p].classes[class].title|escape:"quotes"}', '{$info[p].classes[class].link|escape:"quotes"}'); + classe.openIcon = 'media/images/Interface.png'; + classe.icon = 'media/images/Interface.png'; + tree_classe.add(classe); + {/if} + {/section} + + tree.add(tree_classe); + {/if} + + {if $info[p].hasclasses} + var tree_classe = new WebFXTreeItem('Class(es)', '{$packagedoc|escape:"quotes"}'); + tree_classe.openIcon = 'media/images/class_folder.png'; + tree_classe.icon = 'media/images/class_folder.png'; + + {section name=class loop=$info[p].classes} + {if $info[p].classes[class].is_class} + var classe = new WebFXTreeItem('{$info[p].classes[class].title|escape:"quotes"}', '{$info[p].classes[class].link|escape:"quotes"}'); + classe.openIcon = 'media/images/{if $info[p].classes[class].abstract}Abstract{/if}{if $info[p].classes[class].access == 'private'}Private{/if}Class.png'; + classe.icon = 'media/images/{if $info[p].classes[class].abstract}Abstract{/if}{if $info[p].classes[class].access == 'private'}Private{/if}Class.png'; + tree_classe.add(classe); + {/if} + {/section} + + tree.add(tree_classe); + {/if} + + {if $info[p].functions} + var tree_function = new WebFXTreeItem('Function(s)', '{$packagedoc|escape:"quotes"}'); + tree_function.openIcon = 'media/images/function_folder.png'; + tree_function.icon = 'media/images/function_folder.png'; + + {section name=nonclass loop=$info[p].functions} + var fic = new WebFXTreeItem('{$info[p].functions[nonclass].title|escape:"quotes"}', '{$info[p].functions[nonclass].link|escape:"quotes"}'); + fic.openIcon = 'media/images/Function.png'; + fic.icon = 'media/images/Function.png'; + tree_function.add(fic); + {/section} + + tree.add(tree_function); + {/if} + + {if $info[p].files} + var tree_file = new WebFXTreeItem('File(s)', '{$packagedoc|escape:"quotes"}'); + tree_file.openIcon = 'media/images/folder.png'; + tree_file.icon = 'media/images/folder.png'; + + {section name=nonclass loop=$info[p].files} + var file = new WebFXTreeItem('{$info[p].files[nonclass].title|escape:"quotes"}', '{$info[p].files[nonclass].link|escape:"quotes"}'); + file.openIcon = 'media/images/Page.png'; + file.icon = 'media/images/Page.png'; + tree_file.add(file); + {/section} + + tree.add(tree_file); + {/if} + + {else} + {if $info[p].subpackagetutorial} + var subpackagetree = new WebFXTreeItem('<span class="sub-package">{$info[p].subpackagetutorialtitle|strip_tags|escape:"quotes"}</span>', '{$info[p].subpackagetutorialnoa}'); + {else} + var subpackagetree = new WebFXTreeItem('<span class="sub-package">{$info[p].subpackage}</span>', '{$packagedoc|escape:"quotes"}'); + {/if} + + subpackagetree.openIcon = 'media/images/package.png'; + subpackagetree.icon = 'media/images/package.png'; + + {if $info[p].tutorials} + var tree_tutorial = new WebFXTreeItem('Tutorial(s)/Manual(s)', ''); + tree_tutorial.openIcon = 'media/images/tutorial_folder.png'; + tree_tutorial.icon = 'media/images/tutorial_folder.png'; + tree.add(tree_tutorial); + + {if $info[p].tutorials.pkg} + var tree_inner_tutorial = new WebFXTreeItem('Package-level', ''); + tree_inner_tutorial.openIcon = 'media/images/package_folder.png'; + tree_inner_tutorial.icon = 'media/images/package_folder.png'; + tree_tutorial.add(tree_inner_tutorial); + + parent_node = tree_inner_tutorial; + {section name=ext loop=$info[p].tutorials.pkg} + {$info[p].tutorials.pkg[ext]} + {/section} + {/if} + + {if $info[p].tutorials.cls} + var tree_inner_tutorial = new WebFXTreeItem('Class-level', ''); + tree_inner_tutorial.openIcon = 'media/images/class_folder.png'; + tree_inner_tutorial.icon = 'media/images/class_folder.png'; + tree_tutorial.add(tree_inner_tutorial); + + parent_node = tree_inner_tutorial; + {section name=ext loop=$info[p].tutorials.cls} + {$info[p].tutorials.cls[ext]} + {/section} + {/if} + + {if $info[p].tutorials.proc} + var tree_inner_tutorial = new WebFXTreeItem('Function-level', ''); + tree_inner_tutorial.openIcon = 'media/images/function_folder.png'; + tree_inner_tutorial.icon = 'media/images/function_folder.png'; + tree_tutorial.add(tree_inner_tutorial); + + parent_node = tree_inner_tutorial; + {section name=ext loop=$info[p].tutorials.proc} + {$info[p].tutorials.proc[ext]} + {/section} + {/if} + {/if} + + {if $info[p].classes} + var subpackagetree_classe = new WebFXTreeItem('Class(es)', '{$packagedoc|escape:"quotes"}'); + subpackagetree_classe.openIcon = 'media/images/class_folder.png'; + subpackagetree_classe.icon = 'media/images/class_folder.png'; + + {section name=class loop=$info[p].classes} + var classe = new WebFXTreeItem('{$info[p].classes[class].title|escape:"quotes"}', '{$info[p].classes[class].link|escape:"quotes"}'); + classe.openIcon = 'media/images/{if $info[p].classes[class].abstract}Abstract{/if}{if $info[p].classes[class].access == 'private'}Private{/if}Class.png'; + classe.icon = 'media/images/{if $info[p].classes[class].abstract}Abstract{/if}{if $info[p].classes[class].access == 'private'}Private{/if}Class.png'; + subpackagetree_classe.add(classe); + {/section} + + subpackagetree.add(subpackagetree_classe); + {/if} + + {if $info[p].functions} + var subpackagetree_function = new WebFXTreeItem('Function(s)', '{$packagedoc|escape:"quotes"}'); + subpackagetree_function.openIcon = 'media/images/function_folder.png'; + subpackagetree_function.icon = 'media/images/function_folder.png'; + + {section name=nonclass loop=$info[p].functions} + var fic = new WebFXTreeItem('{$info[p].functions[nonclass].title|escape:"quotes"}', '{$info[p].functions[nonclass].link|escape:"quotes"}'); + fic.openIcon = 'media/images/Function.png'; + fic.icon = 'media/images/Function.png'; + subpackagetree_function.add(fic); + {/section} + + subpackagetree.add(subpackagetree_function); + {/if} + + {if $info[p].files} + var subpackagetree_file = new WebFXTreeItem('File(s)', '{$packagedoc|escape:"quotes"}'); + subpackagetree_file.openIcon = 'media/images/folder.png'; + subpackagetree_file.icon = 'media/images/folder.png'; + + {section name=nonclass loop=$info[p].files} + var file = new WebFXTreeItem('{$info[p].files[nonclass].title|escape:"quotes"}', '{$info[p].files[nonclass].link|escape:"quotes"}'); + file.openIcon = 'media/images/Page.png'; + file.icon = 'media/images/Page.png'; + subpackagetree_file.add(file); + {/section} + + subpackagetree.add(subpackagetree_file); + {/if} + + tree.add(subpackagetree); + {/if} +{/section} + +document.write(tree); +{rdelim} +</script> +</div> +<p class="notes"> + Generated by + <a href="{$phpdocwebsite}" target="_blank">phpDocumentor <span class="field">{$phpdocversion}</span></a> +</p> +</body> +</html> diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/media/banner.css b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/media/banner.css new file mode 100755 index 00000000..19a383c3 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/media/banner.css @@ -0,0 +1,32 @@ +body +{ + background-color: #EEEEEE; + margin: 0px; + padding: 0px; +} + +/* Banner (top bar) classes */ + +.banner { } + +.banner-menu +{ + clear: both; + padding: .5em; + border-top: 2px solid #AAAAAA; +} + +.banner-title +{ + text-align: right; + font-size: 20pt; + font-weight: bold; + margin: .2em; +} + +.package-selector +{ + background-color: #DDDDDD; + border: 1px solid #AAAAAA; + color: #000090; +} diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/media/images/AbstractClass.png b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/media/images/AbstractClass.png Binary files differnew file mode 100644 index 00000000..afa9d1d9 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/media/images/AbstractClass.png diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/media/images/AbstractClass_logo.png b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/media/images/AbstractClass_logo.png Binary files differnew file mode 100644 index 00000000..8f65c390 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/media/images/AbstractClass_logo.png diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/media/images/AbstractMethod.png b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/media/images/AbstractMethod.png Binary files differnew file mode 100644 index 00000000..605ccbe5 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/media/images/AbstractMethod.png diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/media/images/AbstractPrivateClass.png b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/media/images/AbstractPrivateClass.png Binary files differnew file mode 100644 index 00000000..53d76c63 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/media/images/AbstractPrivateClass.png diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/media/images/AbstractPrivateClass_logo.png b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/media/images/AbstractPrivateClass_logo.png Binary files differnew file mode 100644 index 00000000..4e68f570 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/media/images/AbstractPrivateClass_logo.png diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/media/images/AbstractPrivateMethod.png b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/media/images/AbstractPrivateMethod.png Binary files differnew file mode 100644 index 00000000..41cc9f02 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/media/images/AbstractPrivateMethod.png diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/media/images/Class.png b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/media/images/Class.png Binary files differnew file mode 100755 index 00000000..cf548d27 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/media/images/Class.png diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/media/images/Class_logo.png b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/media/images/Class_logo.png Binary files differnew file mode 100644 index 00000000..6f223c47 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/media/images/Class_logo.png diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/media/images/Constant.png b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/media/images/Constant.png Binary files differnew file mode 100755 index 00000000..a9c6f28b --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/media/images/Constant.png diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/media/images/Constructor.png b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/media/images/Constructor.png Binary files differnew file mode 100755 index 00000000..3f16222b --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/media/images/Constructor.png diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/media/images/Destructor.png b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/media/images/Destructor.png Binary files differnew file mode 100755 index 00000000..f28528f0 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/media/images/Destructor.png diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/media/images/Function.png b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/media/images/Function.png Binary files differnew file mode 100755 index 00000000..902fe258 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/media/images/Function.png diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/media/images/Global.png b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/media/images/Global.png Binary files differnew file mode 100755 index 00000000..7281bd2a --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/media/images/Global.png diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/media/images/I.png b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/media/images/I.png Binary files differnew file mode 100755 index 00000000..e8512fb9 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/media/images/I.png diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/media/images/Index.png b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/media/images/Index.png Binary files differnew file mode 100755 index 00000000..6558ec39 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/media/images/Index.png diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/media/images/Interface.png b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/media/images/Interface.png Binary files differnew file mode 100644 index 00000000..e6cd51ed --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/media/images/Interface.png diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/media/images/Interface_logo.png b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/media/images/Interface_logo.png Binary files differnew file mode 100644 index 00000000..6f223c47 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/media/images/Interface_logo.png diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/media/images/L.png b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/media/images/L.png Binary files differnew file mode 100755 index 00000000..eb334eda --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/media/images/L.png diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/media/images/Lminus.png b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/media/images/Lminus.png Binary files differnew file mode 100755 index 00000000..f7c43c0a --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/media/images/Lminus.png diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/media/images/Lplus.png b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/media/images/Lplus.png Binary files differnew file mode 100755 index 00000000..848ec2fc --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/media/images/Lplus.png diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/media/images/Method.png b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/media/images/Method.png Binary files differnew file mode 100755 index 00000000..9b215784 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/media/images/Method.png diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/media/images/Page.png b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/media/images/Page.png Binary files differnew file mode 100755 index 00000000..ffe7986e --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/media/images/Page.png diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/media/images/Page_logo.png b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/media/images/Page_logo.png Binary files differnew file mode 100644 index 00000000..44ce0b3c --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/media/images/Page_logo.png diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/media/images/PrivateClass.png b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/media/images/PrivateClass.png Binary files differnew file mode 100755 index 00000000..470e6d56 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/media/images/PrivateClass.png diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/media/images/PrivateClass_logo.png b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/media/images/PrivateClass_logo.png Binary files differnew file mode 100644 index 00000000..590e0064 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/media/images/PrivateClass_logo.png diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/media/images/PrivateMethod.png b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/media/images/PrivateMethod.png Binary files differnew file mode 100755 index 00000000..d01f2b31 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/media/images/PrivateMethod.png diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/media/images/PrivateVariable.png b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/media/images/PrivateVariable.png Binary files differnew file mode 100755 index 00000000..d76b21d4 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/media/images/PrivateVariable.png diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/media/images/StaticMethod.png b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/media/images/StaticMethod.png Binary files differnew file mode 100755 index 00000000..9b215784 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/media/images/StaticMethod.png diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/media/images/StaticVariable.png b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/media/images/StaticVariable.png Binary files differnew file mode 100755 index 00000000..8e820193 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/media/images/StaticVariable.png diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/media/images/T.png b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/media/images/T.png Binary files differnew file mode 100755 index 00000000..30173254 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/media/images/T.png diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/media/images/Tminus.png b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/media/images/Tminus.png Binary files differnew file mode 100755 index 00000000..2260e424 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/media/images/Tminus.png diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/media/images/Tplus.png b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/media/images/Tplus.png Binary files differnew file mode 100755 index 00000000..2c8d8f4f --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/media/images/Tplus.png diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/media/images/Variable.png b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/media/images/Variable.png Binary files differnew file mode 100755 index 00000000..8e820193 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/media/images/Variable.png diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/media/images/blank.png b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/media/images/blank.png Binary files differnew file mode 100755 index 00000000..cee9cd37 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/media/images/blank.png diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/media/images/class_folder.png b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/media/images/class_folder.png Binary files differnew file mode 100755 index 00000000..84e9587a --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/media/images/class_folder.png diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/media/images/empty.png b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/media/images/empty.png Binary files differnew file mode 100755 index 00000000..d5683865 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/media/images/empty.png diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/media/images/file.png b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/media/images/file.png Binary files differnew file mode 100755 index 00000000..0bb2427f --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/media/images/file.png diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/media/images/folder.png b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/media/images/folder.png Binary files differnew file mode 100755 index 00000000..a2d79f8d --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/media/images/folder.png diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/media/images/function_folder.png b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/media/images/function_folder.png Binary files differnew file mode 100755 index 00000000..8b3d6e3b --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/media/images/function_folder.png diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/media/images/minus.gif b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/media/images/minus.gif Binary files differnew file mode 100644 index 00000000..f502662b --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/media/images/minus.gif diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/media/images/next_button.png b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/media/images/next_button.png Binary files differnew file mode 100755 index 00000000..cdbc615d --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/media/images/next_button.png diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/media/images/next_button_disabled.png b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/media/images/next_button_disabled.png Binary files differnew file mode 100755 index 00000000..4a11780f --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/media/images/next_button_disabled.png diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/media/images/package.png b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/media/images/package.png Binary files differnew file mode 100755 index 00000000..b04cf566 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/media/images/package.png diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/media/images/package_folder.png b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/media/images/package_folder.png Binary files differnew file mode 100755 index 00000000..6162bafd --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/media/images/package_folder.png diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/media/images/plus.gif b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/media/images/plus.gif Binary files differnew file mode 100644 index 00000000..eeca02ce --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/media/images/plus.gif diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/media/images/previous_button.png b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/media/images/previous_button.png Binary files differnew file mode 100755 index 00000000..327fdbc2 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/media/images/previous_button.png diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/media/images/previous_button_disabled.png b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/media/images/previous_button_disabled.png Binary files differnew file mode 100755 index 00000000..c02ff64b --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/media/images/previous_button_disabled.png diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/media/images/private_class_logo.png b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/media/images/private_class_logo.png Binary files differnew file mode 100644 index 00000000..590e0064 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/media/images/private_class_logo.png diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/media/images/tutorial.png b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/media/images/tutorial.png Binary files differnew file mode 100755 index 00000000..bc197375 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/media/images/tutorial.png diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/media/images/tutorial_folder.png b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/media/images/tutorial_folder.png Binary files differnew file mode 100755 index 00000000..2a468b2a --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/media/images/tutorial_folder.png diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/media/images/up_button.png b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/media/images/up_button.png Binary files differnew file mode 100755 index 00000000..ff36c593 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/media/images/up_button.png diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/media/lib/classTree.js b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/media/lib/classTree.js new file mode 100755 index 00000000..ebb3fb4a --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/media/lib/classTree.js @@ -0,0 +1,454 @@ +/*----------------------------------------\ +| Cross Browser Tree Widget 1.1 | +|-----------------------------------------| +| Created by Emil A. Eklund (eae@eae.net) | +| For WebFX (http://webfx.eae.net/) | +|-----------------------------------------| +| This script is provided as is without | +| any warranty whatsoever. It may be used | +| free of charge for non commerical sites | +| For commerical use contact the author | +| of this script for further details. | +|-----------------------------------------| +| Created 2000-12-11 | Updated 2001-09-06 | +\----------------------------------------*/ + +var webFXTreeConfig = { + rootIcon : 'media/images/empty.png', + openRootIcon : 'media/images/empty.png', + folderIcon : 'media/images/empty.png', + openFolderIcon : 'media/images/empty.png', + fileIcon : 'media/images/empty.png', + iIcon : 'media/images/I.png', + lIcon : 'media/images/L.png', + lMinusIcon : 'media/images/Lminus.png', + lPlusIcon : 'media/images/Lplus.png', + tIcon : 'media/images/T.png', + tMinusIcon : 'media/images/Tminus.png', + tPlusIcon : 'media/images/Tplus.png', + blankIcon : 'media/images/blank.png', + defaultText : 'Tree Item', + defaultAction : 'javascript:void(0);', + defaultTarget : 'right', + defaultBehavior : 'classic' +}; + +var webFXTreeHandler = { + idCounter : 0, + idPrefix : "webfx-tree-object-", + all : {}, + behavior : null, + selected : null, + getId : function() { return this.idPrefix + this.idCounter++; }, + toggle : function (oItem) { this.all[oItem.id.replace('-plus','')].toggle(); }, + select : function (oItem) { this.all[oItem.id.replace('-icon','')].select(); }, + focus : function (oItem) { this.all[oItem.id.replace('-anchor','')].focus(); }, + blur : function (oItem) { this.all[oItem.id.replace('-anchor','')].blur(); }, + keydown : function (oItem) { return this.all[oItem.id].keydown(window.event.keyCode); }, + cookies : new WebFXCookie() +}; + +/* + * WebFXCookie class + */ + +function WebFXCookie() { + if (document.cookie.length) { this.cookies = ' ' + document.cookie; } +} + +WebFXCookie.prototype.setCookie = function (key, value) { + document.cookie = key + "=" + escape(value); +} + +WebFXCookie.prototype.getCookie = function (key) { + if (this.cookies) { + var start = this.cookies.indexOf(' ' + key + '='); + if (start == -1) { return null; } + var end = this.cookies.indexOf(";", start); + if (end == -1) { end = this.cookies.length; } + end -= start; + var cookie = this.cookies.substr(start,end); + return unescape(cookie.substr(cookie.indexOf('=') + 1, cookie.length - cookie.indexOf('=') + 1)); + } + else { return null; } +} + +/* + * WebFXTreeAbstractNode class + */ + +function WebFXTreeAbstractNode(sText, sAction, sTarget) { + this.childNodes = []; + this.id = webFXTreeHandler.getId(); + this.text = sText || webFXTreeConfig.defaultText; + this.action = sAction || webFXTreeConfig.defaultAction; + this.targetWindow = sTarget || webFXTreeConfig.defaultTarget; + this._last = false; + webFXTreeHandler.all[this.id] = this; +} + +WebFXTreeAbstractNode.prototype.add = function (node) { + node.parentNode = this; + this.childNodes[this.childNodes.length] = node; + var root = this; + if (this.childNodes.length >=2) { + this.childNodes[this.childNodes.length -2]._last = false; + } + while (root.parentNode) { root = root.parentNode; } + if (root.rendered) { + if (this.childNodes.length >= 2) { + document.getElementById(this.childNodes[this.childNodes.length -2].id + '-plus').src = ((this.childNodes[this.childNodes.length -2].folder)?webFXTreeConfig.tMinusIcon:webFXTreeConfig.tIcon); + if (this.childNodes[this.childNodes.length -2].folder) { + this.childNodes[this.childNodes.length -2].plusIcon = webFXTreeConfig.tPlusIcon; + this.childNodes[this.childNodes.length -2].minusIcon = webFXTreeConfig.tMinusIcon; + } + this.childNodes[this.childNodes.length -2]._last = false; + } + this._last = true; + var foo = this; + while (foo.parentNode) { + for (var i = 0; i < foo.parentNode.childNodes.length; i++) { + if (foo.id == foo.parentNode.childNodes[i].id) { break; } + } + if (++i == foo.parentNode.childNodes.length) { foo.parentNode._last = true; } + else { foo.parentNode._last = false; } + foo = foo.parentNode; + } + document.getElementById(this.id + '-cont').insertAdjacentHTML("beforeEnd", node.toString()); + if ((!this.folder) && (!this.openIcon)) { + this.icon = webFXTreeConfig.folderIcon; + this.openIcon = webFXTreeConfig.openFolderIcon; + } + this.folder = true; + this.indent(); + this.expand(); + } + return node; +} + +WebFXTreeAbstractNode.prototype.toggle = function() { + if (this.folder) { + if (this.open) { this.collapse(); } + else { this.expand(); } + } +} + +WebFXTreeAbstractNode.prototype.select = function() { + document.getElementById(this.id + '-anchor').focus(); +} + +WebFXTreeAbstractNode.prototype.focus = function() { + webFXTreeHandler.selected = this; + if ((this.openIcon) && (webFXTreeHandler.behavior != 'classic')) { document.getElementById(this.id + '-icon').src = this.openIcon; } + document.getElementById(this.id + '-anchor').style.backgroundColor = 'highlight'; + document.getElementById(this.id + '-anchor').style.color = 'highlighttext'; + document.getElementById(this.id + '-anchor').focus(); +} + +WebFXTreeAbstractNode.prototype.blur = function() { + if ((this.openIcon) && (webFXTreeHandler.behavior != 'classic')) { document.getElementById(this.id + '-icon').src = this.icon; } + document.getElementById(this.id + '-anchor').style.backgroundColor = 'transparent'; + document.getElementById(this.id + '-anchor').style.color = 'menutext'; +} + +WebFXTreeAbstractNode.prototype.doExpand = function() { + if (webFXTreeHandler.behavior == 'classic') { document.getElementById(this.id + '-icon').src = this.openIcon; } + if (this.childNodes.length) { document.getElementById(this.id + '-cont').style.display = 'block'; } + this.open = true; + webFXTreeHandler.cookies.setCookie(this.id.substr(18,this.id.length - 18), '1'); +} + +WebFXTreeAbstractNode.prototype.doCollapse = function() { + if (webFXTreeHandler.behavior == 'classic') { document.getElementById(this.id + '-icon').src = this.icon; } + if (this.childNodes.length) { document.getElementById(this.id + '-cont').style.display = 'none'; } + this.open = false; + webFXTreeHandler.cookies.setCookie(this.id.substr(18,this.id.length - 18), '0'); +} + +WebFXTreeAbstractNode.prototype.expandAll = function() { + this.expandChildren(); + if ((this.folder) && (!this.open)) { this.expand(); } +} + +WebFXTreeAbstractNode.prototype.expandChildren = function() { + for (var i = 0; i < this.childNodes.length; i++) { + this.childNodes[i].expandAll(); +} } + +WebFXTreeAbstractNode.prototype.collapseAll = function() { + if ((this.folder) && (this.open)) { this.collapse(); } + this.collapseChildren(); +} + +WebFXTreeAbstractNode.prototype.collapseChildren = function() { + for (var i = 0; i < this.childNodes.length; i++) { + this.childNodes[i].collapseAll(); +} } + +WebFXTreeAbstractNode.prototype.indent = function(lvl, del, last, level) { + /* + * Since we only want to modify items one level below ourself, + * and since the rightmost indentation position is occupied by + * the plus icon we set this to -2 + */ + if (lvl == null) { lvl = -2; } + var state = 0; + for (var i = this.childNodes.length - 1; i >= 0 ; i--) { + state = this.childNodes[i].indent(lvl + 1, del, last, level); + if (state) { return; } + } + if (del) { + if (level >= this._level) { + if (this.folder) { + document.getElementById(this.id + '-plus').src = (this.open)?webFXTreeConfig.lMinusIcon:webFXTreeConfig.lPlusIcon; + this.plusIcon = webFXTreeConfig.lPlusIcon; + this.minusIcon = webFXTreeConfig.lMinusIcon; + } + else { document.getElementById(this.id + '-plus').src = webFXTreeConfig.lIcon; } + return 1; + } + } + var foo = document.getElementById(this.id + '-indent-' + lvl); + if (foo) { + if ((del) && (last)) { foo._last = true; } + if (foo._last) { foo.src = webFXTreeConfig.blankIcon; } + else { foo.src = webFXTreeConfig.iIcon; } + } + return 0; +} + +/* + * WebFXTree class + */ + +function WebFXTree(sText, sAction, sBehavior, sIcon, sOpenIcon) { + this.base = WebFXTreeAbstractNode; + this.base(sText, sAction); + this.icon = sIcon || webFXTreeConfig.rootIcon; + this.openIcon = sOpenIcon || webFXTreeConfig.openRootIcon; + /* Defaults to open */ + this.open = (webFXTreeHandler.cookies.getCookie(this.id.substr(18,this.id.length - 18)) == '0')?false:true; + this.folder = true; + this.rendered = false; + if (!webFXTreeHandler.behavior) { webFXTreeHandler.behavior = sBehavior || webFXTreeConfig.defaultBehavior; } + this.targetWindow = 'right'; +} + +WebFXTree.prototype = new WebFXTreeAbstractNode; + +WebFXTree.prototype.setBehavior = function (sBehavior) { + webFXTreeHandler.behavior = sBehavior; +}; + +WebFXTree.prototype.getBehavior = function (sBehavior) { + return webFXTreeHandler.behavior; +}; + +WebFXTree.prototype.getSelected = function() { + if (webFXTreeHandler.selected) { return webFXTreeHandler.selected; } + else { return null; } +} + +WebFXTree.prototype.remove = function() { } + +WebFXTree.prototype.expand = function() { + this.doExpand(); +} + +WebFXTree.prototype.collapse = function() { + this.focus(); + this.doCollapse(); +} + +WebFXTree.prototype.getFirst = function() { + return null; +} + +WebFXTree.prototype.getLast = function() { + return null; +} + +WebFXTree.prototype.getNextSibling = function() { + return null; +} + +WebFXTree.prototype.getPreviousSibling = function() { + return null; +} + +WebFXTree.prototype.keydown = function(key) { + if (key == 39) { this.expand(); return false; } + if (key == 37) { this.collapse(); return false; } + if ((key == 40) && (this.open)) { this.childNodes[0].select(); return false; } + return true; +} + +WebFXTree.prototype.toString = function() { + var str = "<div id=\"" + this.id + "\" ondblclick=\"webFXTreeHandler.toggle(this);\" class=\"webfx-tree-item\" onkeydown=\"return webFXTreeHandler.keydown(this)\">"; + str += "<img id=\"" + this.id + "-icon\" class=\"webfx-tree-icon\" src=\"" + ((webFXTreeHandler.behavior == 'classic' && this.open)?this.openIcon:this.icon) + "\" onclick=\"webFXTreeHandler.select(this);\"><a href=\"" + this.action + "\" id=\"" + this.id + "-anchor\" target=\"" + this.targetWindow + "\" onfocus=\"webFXTreeHandler.focus(this);\" onblur=\"webFXTreeHandler.blur(this);\">" + this.text + "</a></div>"; + str += "<div id=\"" + this.id + "-cont\" class=\"webfx-tree-container\" style=\"display: " + ((this.open)?'block':'none') + ";\">"; + for (var i = 0; i < this.childNodes.length; i++) { + str += this.childNodes[i].toString(i, this.childNodes.length); + } + str += "</div>"; + this.rendered = true; + return str; +}; + +/* + * WebFXTreeItem class + */ + +function WebFXTreeItem(sText, sAction, eParent, sIcon, sOpenIcon) { + this.base = WebFXTreeAbstractNode; + this.base(sText, sAction); + /* Defaults to close */ + this.open = (webFXTreeHandler.cookies.getCookie(this.id.substr(18,this.id.length - 18)) == '1')?true:false; + if (eParent) { eParent.add(this); } + if (sIcon) { this.icon = sIcon; } + if (sOpenIcon) { this.openIcon = sOpenIcon; } +} + +WebFXTreeItem.prototype = new WebFXTreeAbstractNode; + +WebFXTreeItem.prototype.remove = function() { + var parentNode = this.parentNode; + var prevSibling = this.getPreviousSibling(true); + var nextSibling = this.getNextSibling(true); + var folder = this.parentNode.folder; + var last = ((nextSibling) && (nextSibling.parentNode) && (nextSibling.parentNode.id == parentNode.id))?false:true; + this.getPreviousSibling().focus(); + this._remove(); + if (parentNode.childNodes.length == 0) { + parentNode.folder = false; + parentNode.open = false; + } + if (last) { + if (parentNode.id == prevSibling.id) { + document.getElementById(parentNode.id + '-icon').src = webFXTreeConfig.fileIcon; + } + else { } + } + if ((!prevSibling.parentNode) || (prevSibling.parentNode != parentNode)) { + parentNode.indent(null, true, last, this._level); + } + if (document.getElementById(prevSibling.id + '-plus')) { + if (nextSibling) { + if ((parentNode == prevSibling) && (parentNode.getNextSibling)) { document.getElementById(prevSibling.id + '-plus').src = webFXTreeConfig.tIcon; } + else if (nextSibling.parentNode != prevSibling) { document.getElementById(prevSibling.id + '-plus').src = webFXTreeConfig.lIcon; } + } + else { document.getElementById(prevSibling.id + '-plus').src = webFXTreeConfig.lIcon; } + } +} + +WebFXTreeItem.prototype._remove = function() { + for (var i = this.childNodes.length - 1; i >= 0; i--) { + this.childNodes[i]._remove(); + } + for (var i = 0; i < this.parentNode.childNodes.length; i++) { + if (this.id == this.parentNode.childNodes[i].id) { + for (var j = i; j < this.parentNode.childNodes.length; j++) { + this.parentNode.childNodes[i] = this.parentNode.childNodes[i+1] + } + this.parentNode.childNodes.length = this.parentNode.childNodes.length - 1; + if (i + 1 == this.parentNode.childNodes.length) { this.parentNode._last = true; } + } + } + webFXTreeHandler.all[this.id] = null; + if (document.getElementById(this.id)) { + document.getElementById(this.id).innerHTML = ""; + document.getElementById(this.id).removeNode(); + } +} + +WebFXTreeItem.prototype.expand = function() { + this.doExpand(); + document.getElementById(this.id + '-plus').src = this.minusIcon; +} + +WebFXTreeItem.prototype.collapse = function() { + this.focus(); + this.doCollapse(); + document.getElementById(this.id + '-plus').src = this.plusIcon; +} + +WebFXTreeItem.prototype.getFirst = function() { + return this.childNodes[0]; +} + +WebFXTreeItem.prototype.getLast = function() { + if (this.childNodes[this.childNodes.length - 1].open) { return this.childNodes[this.childNodes.length - 1].getLast(); } + else { return this.childNodes[this.childNodes.length - 1]; } +} + +WebFXTreeItem.prototype.getNextSibling = function() { + for (var i = 0; i < this.parentNode.childNodes.length; i++) { + if (this == this.parentNode.childNodes[i]) { break; } + } + if (++i == this.parentNode.childNodes.length) { return this.parentNode.getNextSibling(); } + else { return this.parentNode.childNodes[i]; } +} + +WebFXTreeItem.prototype.getPreviousSibling = function(b) { + for (var i = 0; i < this.parentNode.childNodes.length; i++) { + if (this == this.parentNode.childNodes[i]) { break; } + } + if (i == 0) { return this.parentNode; } + else { + if ((this.parentNode.childNodes[--i].open) || (b && this.parentNode.childNodes[i].folder)) { return this.parentNode.childNodes[i].getLast(); } + else { return this.parentNode.childNodes[i]; } +} } + +WebFXTreeItem.prototype.keydown = function(key) { + if ((key == 39) && (this.folder)) { + if (!this.open) { this.expand(); return false; } + else { this.getFirst().select(); return false; } + } + else if (key == 37) { + if (this.open) { this.collapse(); return false; } + else { this.parentNode.select(); return false; } + } + else if (key == 40) { + if (this.open) { this.getFirst().select(); return false; } + else { + var sib = this.getNextSibling(); + if (sib) { sib.select(); return false; } + } } + else if (key == 38) { this.getPreviousSibling().select(); return false; } + return true; +} + +WebFXTreeItem.prototype.toString = function (nItem, nItemCount) { + var foo = this.parentNode; + var indent = ''; + if (nItem + 1 == nItemCount) { this.parentNode._last = true; } + var i = 0; + while (foo.parentNode) { + foo = foo.parentNode; + indent = "<img id=\"" + this.id + "-indent-" + i + "\" src=\"" + ((foo._last)?webFXTreeConfig.blankIcon:webFXTreeConfig.iIcon) + "\">" + indent; + i++; + } + this._level = i; + if (this.childNodes.length) { this.folder = 1; } + else { this.open = false; } + if ((this.folder) || (webFXTreeHandler.behavior != 'classic')) { + if (!this.icon) { this.icon = webFXTreeConfig.folderIcon; } + if (!this.openIcon) { this.openIcon = webFXTreeConfig.openFolderIcon; } + } + else if (!this.icon) { this.icon = webFXTreeConfig.fileIcon; } + var label = this.text; + label = label.replace('<', '<'); + label = label.replace('>', '>'); + var str = "<div id=\"" + this.id + "\" ondblclick=\"webFXTreeHandler.toggle(this);\" class=\"webfx-tree-item\" onkeydown=\"return webFXTreeHandler.keydown(this)\">"; + str += indent; + str += "<img id=\"" + this.id + "-plus\" src=\"" + ((this.folder)?((this.open)?((this.parentNode._last)?webFXTreeConfig.lMinusIcon:webFXTreeConfig.tMinusIcon):((this.parentNode._last)?webFXTreeConfig.lPlusIcon:webFXTreeConfig.tPlusIcon)):((this.parentNode._last)?webFXTreeConfig.lIcon:webFXTreeConfig.tIcon)) + "\" onclick=\"webFXTreeHandler.toggle(this);\">" + str += "<img id=\"" + this.id + "-icon\" src=\"" + ((webFXTreeHandler.behavior == 'classic' && this.open)?this.openIcon:this.icon) + "\" onclick=\"webFXTreeHandler.select(this);\"><a href=\"" + this.action + "\" id=\"" + this.id + "-anchor\" target=\"" + this.targetWindow + "\" onfocus=\"webFXTreeHandler.focus(this);\" onblur=\"webFXTreeHandler.blur(this);\">" + label + "</a></div>"; + str += "<div id=\"" + this.id + "-cont\" class=\"webfx-tree-container\" style=\"display: " + ((this.open)?'block':'none') + ";\">"; + for (var i = 0; i < this.childNodes.length; i++) { + str += this.childNodes[i].toString(i,this.childNodes.length); + } + str += "</div>"; + this.plusIcon = ((this.parentNode._last)?webFXTreeConfig.lPlusIcon:webFXTreeConfig.tPlusIcon); + this.minusIcon = ((this.parentNode._last)?webFXTreeConfig.lMinusIcon:webFXTreeConfig.tMinusIcon); + return str; +}
\ No newline at end of file diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/media/stylesheet.css b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/media/stylesheet.css new file mode 100755 index 00000000..5b025a93 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/media/stylesheet.css @@ -0,0 +1,181 @@ +a { color: #000090; text-decoration: none; } +a:hover, a:active, a:focus { color: highlighttext; background-color: highlight; text-decoration: none; } + +body { background : #FFFFFF; } +body, table { font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 10pt; } + +a img { border: 0px; } + +/* Page layout/boxes */ + +.info-box { } +.info-box-title { margin: 1em 0em 0em 0em; font-weight: normal; font-size: 14pt; color: #999999; border-bottom: 2px solid #999999; } +.info-box-body { border: 1px solid #999999; padding: .5em; } +.nav-bar { font-size: 8pt; white-space: nowrap; text-align: right; padding: .2em; margin: 0em 0em 1em 0em; } + +.oddrow { background-color: #F8F8F8; border: 1px solid #AAAAAA; padding: .5em; margin-bottom: 1em} +.evenrow { border: 1px solid #AAAAAA; padding: .5em; margin-bottom: 1em} + +.page-body { max-width: 800px; margin: auto; } +.tree { } + +/* Index formatting classes */ + +.index-item-body { margin-top: .5em; margin-bottom: .5em} +.index-item-description { margin-top: .25em } +.index-item-details { font-weight: normal; font-style: italic; font-size: 8pt } +.index-letter-section { background-color: #EEEEEE; border: 1px dotted #999999; padding: .5em; margin-bottom: 1em} +.index-letter-title { font-size: 12pt; font-weight: bold } +.index-letter-menu { text-align: center; margin: 1em } +.index-letter { font-size: 12pt } + +/* Docbook classes */ + +.description {} +.short-description { font-weight: bold; color: #666666; } +.tags { padding-left: 0em; margin-left: 3em; color: #666666; list-style-type: square; } +.parameters { padding-left: 0em; margin-left: 3em; color: #014fbe; list-style-type: square; } +.redefinitions { font-size: 8pt; padding-left: 0em; margin-left: 2em; } +.package { font-weight: bold; } +.package-title { font-weight: bold; font-size: 14pt; border-bottom: 1px solid black } +.sub-package { font-weight: bold; } +.tutorial { border-width: thin; border-color: #0066ff; } +.tutorial-nav-box { width: 100%; border: 1px solid #999999; background-color: #F8F8F8; } + +/* Generic formatting */ + +.field { font-weight: bold; } +.detail { font-size: 8pt; } +.notes { font-style: italic; font-size: 8pt; } +.separator { background-color: #999999; height: 2px; } +.warning { color: #FF6600; } +.disabled { font-style: italic; color: #999999; } + +/* Code elements */ + +.line-number { } + +.class-table { width: 100%; } +.class-table-header { border-bottom: 1px dotted #666666; text-align: left} +.class-name { color: #0000AA; font-weight: bold; } + +.method-summary { color: #009000; padding-left: 1em; font-size: 8pt; } +.method-header { } +.method-definition { margin-bottom: .2em } +.method-title { color: #009000; font-weight: bold; } +.method-name { font-weight: bold; } +.method-signature { font-size: 85%; color: #666666; margin: .5em 0em } +.method-result { font-style: italic; } + +.var-summary { padding-left: 1em; font-size: 8pt; } +.var-header { } +.var-title { color: #014fbe; margin-bottom: .3em } +.var-type { font-style: italic; } +.var-name { font-weight: bold; } +.var-default {} +.var-description { font-weight: normal; color: #000000; } + +.include-title { color: #014fbe;} +.include-type { font-style: italic; } +.include-name { font-weight: bold; } + +.const-title { color: #FF6600; } +.const-name { font-weight: bold; } + +/* Syntax highlighting */ + +.src-code { font-family: 'Courier New', Courier, monospace; font-weight: normal; } +.src-line { font-family: 'Courier New', Courier, monospace; font-weight: normal; } + +.src-code a:link { padding: 1px; text-decoration: underline; color: #0000DD; } +.src-code a:visited { text-decoration: underline; color: #0000DD; } +.src-code a:active { background-color: #FFFF66; color: #008000; } +.src-code a:hover { background-color: #FFFF66; text-decoration: overline underline; color: #008000; } + +.src-comm { color: #666666; } +.src-id { color: #FF6600; font-style: italic; } +.src-inc { color: #0000AA; font-weight: bold; } +.src-key { color: #0000AA; font-weight: bold; } +.src-num { color: #CC0000; } +.src-str { color: #CC0000; } +.src-sym { } +.src-var { } + +.src-php { font-weight: bold; } + +.src-doc { color: #666666; } +.src-doc-close-template { color: #666666 } +.src-doc-coretag { color: #008000; } +.src-doc-inlinetag {} +.src-doc-internal {} +.src-doc-tag { color: #0080CC; } +.src-doc-template { color: #666666 } +.src-doc-type { font-style: italic; color: #444444 } +.src-doc-var { color: #444444 } + +.tute-tag { color: #009999 } +.tute-attribute-name { color: #0000FF } +.tute-attribute-value { color: #0099FF } +.tute-entity { font-weight: bold; } +.tute-comment { font-style: italic } +.tute-inline-tag { color: #636311; font-weight: bold } + +/* tutorial */ + +.authors { } +.author { font-style: italic; font-weight: bold } +.author-blurb { margin: .5em 0em .5em 2em; font-size: 85%; font-weight: normal; font-style: normal } +.example { border: 1px dashed #999999; background-color: #EEEEEE; padding: .5em; } +.listing { border: 1px dashed #999999; background-color: #EEEEEE; padding: .5em; white-space: nowrap; } +.release-info { font-size: 85%; font-style: italic; margin: 1em 0em } +.ref-title-box { } +.ref-title { } +.ref-purpose { font-style: italic; color: #666666 } +.ref-synopsis { } +.title { font-weight: bold; border-bottom: 1px solid #999999; color: #999999; } +.cmd-synopsis { margin: 1em 0em } +.cmd-title { font-weight: bold } +.toc { margin-left: 2em; padding-left: 0em } + +/*------------------------------------------------------------------------------ + webfx-tree +------------------------------------------------------------------------------*/ + +.webfx-tree-container { + margin: 0px; + padding: 0px; + white-space: nowrap; + font: icon; +} + +.webfx-tree-item { + padding: 0px; + margin: 0px; + color: black; + white-space: nowrap; + font: icon; +} + +.webfx-tree-item a { + margin-left: 3px; + padding: 1px 2px 1px 2px; + color: black; + text-decoration: none; +} + +.webfx-tree-item a:hover, .webfx-tree-item a:active { + color: highlighttext; + background: highlight; + text-decoration: none +} + +.webfx-tree-item img { + vertical-align: middle; + border: 0px; +} + +.webfx-tree-icon { + width: 16px; + height: 16px; +} + diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/method.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/method.tpl new file mode 100755 index 00000000..547e261d --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/method.tpl @@ -0,0 +1,151 @@ +<A NAME='method_detail'></A> +{section name=methods loop=$methods} +{if $methods[methods].static} +<a name="method{$methods[methods].function_name}" id="{$methods[methods].function_name}"><!-- --></a> +<div class="{cycle values="evenrow,oddrow"}"> + + <div class="method-header"> + <img src="{$subdir}media/images/StaticMethod.png" /> + <span class="method-title">static {$methods[methods].function_name}</span> (line <span class="line-number">{if $methods[methods].slink}{$methods[methods].slink}{else}{$methods[methods].line_number}{/if}</span>) + </div> + + {include file="docblock.tpl" sdesc=$methods[methods].sdesc desc=$methods[methods].desc tags=$methods[methods].tags params=$methods[methods].params function=false} + + <div class="method-signature"> + static <span class="method-result">{$methods[methods].function_return}</span> + <span class="method-name"> + {if $methods[methods].ifunction_call.returnsref}&{/if}{$methods[methods].function_name} + </span> + {if count($methods[methods].ifunction_call.params)} + ({section name=params loop=$methods[methods].ifunction_call.params}{if $smarty.section.params.iteration != 1}, {/if}{if $methods[methods].ifunction_call.params[params].hasdefault}[{/if}<span class="var-type">{$methods[methods].ifunction_call.params[params].type}</span> <span class="var-name">{$methods[methods].ifunction_call.params[params].name}</span>{if $methods[methods].ifunction_call.params[params].hasdefault} = <span class="var-default">{$methods[methods].ifunction_call.params[params].default}</span>]{/if}{/section}) + {else} + () + {/if} + </div> + + {if $methods[methods].params} + <ul class="parameters"> + {section name=params loop=$methods[methods].params} + <li> + <span class="var-type">{$methods[methods].params[params].datatype}</span> + <span class="var-name">{$methods[methods].params[params].var}</span>{if $methods[methods].params[params].data}<span class="var-description">: {$methods[methods].params[params].data}</span>{/if} + </li> + {/section} + </ul> + {/if} + + {if $methods[methods].method_overrides} + <hr class="separator" /> + <div class="notes">Redefinition of:</div> + <dl> + <dt>{$methods[methods].method_overrides.link}</dt> + {if $methods[methods].method_overrides.sdesc} + <dd>{$methods[methods].method_overrides.sdesc}</dd> + {/if} + </dl> + {/if} + {if $methods[methods].method_implements} + <hr class="separator" /> + <div class="notes">Implementation of:</div> + {section name=imp loop=$methods[methods].method_implements} + <dl> + <dt>{$methods[methods].method_implements[imp].link}</dt> + {if $methods[methods].method_implements[imp].sdesc} + <dd>{$methods[methods].method_implements[imp].sdesc}</dd> + {/if} + </dl> + {/section} + {/if} + + {if $methods[methods].descmethod} + <hr class="separator" /> + <div class="notes">Redefined in descendants as:</div> + <ul class="redefinitions"> + {section name=dm loop=$methods[methods].descmethod} + <li> + {$methods[methods].descmethod[dm].link} + {if $methods[methods].descmethod[dm].sdesc} + : {$methods[methods].descmethod[dm].sdesc} + {/if} + </li> + {/section} + </ul> + {/if} +</div> +{/if} +{/section} +{section name=methods loop=$methods} +{if !$methods[methods].static} +<a name="method{$methods[methods].function_name}" id="{$methods[methods].function_name}"><!-- --></a> +<div class="{cycle values="evenrow,oddrow"}"> + + <div class="method-header"> + <img src="{$subdir}media/images/{if $methods[methods].ifunction_call.constructor}Constructor{elseif $methods[methods].ifunction_call.destructor}Destructor{else}{if $methods[methods].abstract}Abstract{/if}{if $methods[methods].access == 'private'}Private{/if}Method{/if}.png" /> + <span class="method-title">{if $methods[methods].ifunction_call.constructor}Constructor {elseif $methods[methods].ifunction_call.destructor}Destructor {/if}{$methods[methods].function_name}</span> (line <span class="line-number">{if $methods[methods].slink}{$methods[methods].slink}{else}{$methods[methods].line_number}{/if}</span>) + </div> + + {include file="docblock.tpl" sdesc=$methods[methods].sdesc desc=$methods[methods].desc tags=$methods[methods].tags params=$methods[methods].params function=false} + + <div class="method-signature"> + <span class="method-result">{$methods[methods].function_return}</span> + <span class="method-name"> + {if $methods[methods].ifunction_call.returnsref}&{/if}{$methods[methods].function_name} + </span> + {if count($methods[methods].ifunction_call.params)} + ({section name=params loop=$methods[methods].ifunction_call.params}{if $smarty.section.params.iteration != 1}, {/if}{if $methods[methods].ifunction_call.params[params].hasdefault}[{/if}<span class="var-type">{$methods[methods].ifunction_call.params[params].type}</span> <span class="var-name">{$methods[methods].ifunction_call.params[params].name}</span>{if $methods[methods].ifunction_call.params[params].hasdefault} = <span class="var-default">{$methods[methods].ifunction_call.params[params].default}</span>]{/if}{/section}) + {else} + () + {/if} + </div> + + {if $methods[methods].params} + <ul class="parameters"> + {section name=params loop=$methods[methods].params} + <li> + <span class="var-type">{$methods[methods].params[params].datatype}</span> + <span class="var-name">{$methods[methods].params[params].var}</span>{if $methods[methods].params[params].data}<span class="var-description">: {$methods[methods].params[params].data}</span>{/if} + </li> + {/section} + </ul> + {/if} + + {if $methods[methods].method_overrides} + <hr class="separator" /> + <div class="notes">Redefinition of:</div> + <dl> + <dt>{$methods[methods].method_overrides.link}</dt> + {if $methods[methods].method_overrides.sdesc} + <dd>{$methods[methods].method_overrides.sdesc}</dd> + {/if} + </dl> + {/if} + {if $methods[methods].method_implements} + <hr class="separator" /> + <div class="notes">Implementation of:</div> + {section name=imp loop=$methods[methods].method_implements} + <dl> + <dt>{$methods[methods].method_implements[imp].link}</dt> + {if $methods[methods].method_implements[imp].sdesc} + <dd>{$methods[methods].method_implements[imp].sdesc}</dd> + {/if} + </dl> + {/section} + {/if} + + {if $methods[methods].descmethod} + <hr class="separator" /> + <div class="notes">Redefined in descendants as:</div> + <ul class="redefinitions"> + {section name=dm loop=$methods[methods].descmethod} + <li> + {$methods[methods].descmethod[dm].link} + {if $methods[methods].descmethod[dm].sdesc} + : {$methods[methods].descmethod[dm].sdesc} + {/if} + </li> + {/section} + </ul> + {/if} +</div> +{/if} +{/section} diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/page.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/page.tpl new file mode 100755 index 00000000..2cffc22d --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/page.tpl @@ -0,0 +1,214 @@ +{include file="header.tpl" top3=true} + +<h2 class="file-name"><img src="{$subdir}media/images/Page_logo.png" alt="File" style="vertical-align: middle">{$source_location}</h2> + +<a name="sec-description"></a> +<div class="info-box"> + <div class="info-box-title">Description</div> + <div class="nav-bar"> + {if $classes || $includes || $defines || $globals || $functions} + <span class="disabled">Description</span> | + {/if} + {if $classes} + <a href="#sec-classes">Classes</a> + {if $includes || $defines || $globals || $functions}|{/if} + {/if} + {if $includes} + <a href="#sec-includes">Includes</a> + {if $defines || $globals || $functions}|{/if} + {/if} + {if $defines} + <a href="#sec-constants">Constants</a> + {if $globals || $functions}|{/if} + {/if} + {if $globals} + <a href="#sec-variables">Variables</a> + {if $functions}|{/if} + {/if} + {if $functions} + <a href="#sec-functions">Functions</a> + {/if} + </div> + <div class="info-box-body"> + {include file="docblock.tpl" desc=$desc sdesc=$sdesc tags=$tags} + + {if $tutorial} + <hr class="separator" /> + <div class="notes">Tutorial: <span class="tutorial">{$tutorial}</div> + {/if} + </div> +</div> + +{if $classes} + <a name="sec-classes"></a> + <div class="info-box"> + <div class="info-box-title">Classes</div> + <div class="nav-bar"> + <a href="#sec-description">Description</a> | + <span class="disabled">Classes</span> + {if $includes || $defines || $globals || $functions}|{/if} + {if $includes} + <a href="#sec-includes">Includes</a> + {if $defines || $globals || $functions}|{/if} + {/if} + {if $defines} + <a href="#sec-constants">Constants</a> + {if $globals || $functions}|{/if} + {/if} + {if $globals} + <a href="#sec-variables">Variables</a> + {if $functions}|{/if} + {/if} + {if $functions} + <a href="#sec-functions">Functions</a> + {/if} + </div> + <div class="info-box-body"> + <table cellpadding="2" cellspacing="0" class="class-table"> + <tr> + <th class="class-table-header">Class</th> + <th class="class-table-header">Description</th> + </tr> + {section name=classes loop=$classes} + <tr> + <td style="padding-right: 2em; vertical-align: top; white-space: nowrap"> + <img src="{$subdir}media/images/{if $classes[classes].abstract}Abstract{/if}{if $classes[classes].access == 'private'}Private{/if}Class.png" + alt="{if $classes[classes].abstract}Abstract{/if}{if $classes[classes].access == 'private'}Private{/if} class" + title="{if $classes[classes].abstract}Abstract{/if}{if $classes[classes].access == 'private'}Private{/if} class"/> + {$classes[classes].link} + </td> + <td> + {if $classes[classes].sdesc} + {$classes[classes].sdesc} + {else} + {$classes[classes].desc} + {/if} + </td> + </tr> + {/section} + </table> + </div> + </div> +{/if} + +{if $includes} + <a name="sec-includes"></a> + <div class="info-box"> + <div class="info-box-title">Includes</div> + <div class="nav-bar"> + <a href="#sec-description">Description</a> | + {if $classes} + <a href="#sec-classes">Classes</a> + {if $includes || $defines || $globals || $functions}|{/if} + {/if} + <span class="disabled">Includes</span> + {if $defines || $globals || $functions}|{/if} + {if $defines} + <a href="#sec-constants">Constants</a> + {if $globals || $functions}|{/if} + {/if} + {if $globals} + <a href="#sec-variables">Variables</a> + {if $functions}|{/if} + {/if} + {if $functions} + <a href="#sec-functions">Functions</a> + {/if} + </div> + <div class="info-box-body"> + {include file="include.tpl"} + </div> + </div> +{/if} + +{if $defines} + <a name="sec-constants"></a> + <div class="info-box"> + <div class="info-box-title">Constants</div> + <div class="nav-bar"> + <a href="#sec-description">Description</a> | + {if $classes} + <a href="#sec-classes">Classes</a> + {if $includes || $defines || $globals || $functions}|{/if} + {/if} + {if $includes} + <a href="#sec-includes">Includes</a> + {if $defines || $globals || $functions}|{/if} + {/if} + <span class="disabled">Constants</span> + {if $globals || $functions}|{/if} + {if $globals} + <a href="#sec-variables">Variables</a> + {if $functions}|{/if} + {/if} + {if $functions} + <a href="#sec-functions">Functions</a> + {/if} + </div> + <div class="info-box-body"> + {include file="define.tpl"} + </div> + </div> +{/if} + +{if $globals} + <a name="sec-variables"></a> + <div class="info-box"> + <div class="info-box-title">Variables</div> + <div class="nav-bar"> + <a href="#sec-description">Description</a> | + {if $classes} + <a href="#sec-classes">Classes</a> + {if $includes || $defines || $globals || $functions}|{/if} + {/if} + {if $includes} + <a href="#sec-includes">Includes</a> + {if $defines || $globals || $functions}|{/if} + {/if} + {if $defines} + <a href="#sec-constants">Constants</a> + {if $globals || $functions}|{/if} + {/if} + <span class="disabled">Variables</span> + {if $functions}|{/if} + {if $functions} + <a href="#sec-functions">Functions</a> + {/if} + </div> + <div class="info-box-body"> + {include file="global.tpl"} + </div> + </div> +{/if} + +{if $functions} + <a name="sec-functions"></a> + <div class="info-box"> + <div class="info-box-title">Functions</div> + <div class="nav-bar"> + <a href="#sec-description">Description</a> | + {if $classes} + <a href="#sec-classes">Classes</a> + {if $includes || $defines || $globals || $functions}|{/if} + {/if} + {if $includes} + <a href="#sec-includes">Includes</a> + {if $defines || $globals || $functions}|{/if} + {/if} + {if $defines} + <a href="#sec-constants">Constants</a> + {if $globals || $functions}|{/if} + {/if} + {if $globals} + <a href="#sec-variables">Variables</a> + {if $functions}|{/if} + {/if} + <span class="disabled">Functions</span> + </div> + <div class="info-box-body"> + {include file="function.tpl"} + </div> + </div> +{/if} + +{include file="footer.tpl" top3=true} diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/pkgelementindex.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/pkgelementindex.tpl new file mode 100755 index 00000000..dc283ad0 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/pkgelementindex.tpl @@ -0,0 +1,17 @@ +{include file="header.tpl"} +<a name="top"></a> +<h2>[{$package}] element index</h2> +{if count($packageindex) > 1} + <h3>Package indexes</h3> + <ul> + {section name=p loop=$packageindex} + {if $packageindex[p].title != $package} + <li><a href="elementindex_{$packageindex[p].title}.html">{$packageindex[p].title}</a></li> + {/if} + {/section} + </ul> +{/if} +<a href="elementindex.html">All elements</a> +<br /> +{include file="basicindex.tpl" indexname=elementindex_$package} +{include file="footer.tpl"} diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/ric.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/ric.tpl new file mode 100755 index 00000000..ad792475 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/ric.tpl @@ -0,0 +1,6 @@ +{include file="header.tpl"} +<div align="center"><h1>{$name}</h1></div> +<pre> +{$contents|htmlentities} +</pre> +{include file="footer.tpl"}
\ No newline at end of file diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/todolist.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/todolist.tpl new file mode 100755 index 00000000..f929ccdb --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/todolist.tpl @@ -0,0 +1,14 @@ +{include file="header.tpl" title="Todo List"} +<div align="center"><h1>Todo List</h1></div> +{foreach from=$todos key=todopackage item=todo} +<h2>{$todopackage}</h2> +{section name=todo loop=$todo} +<h3>{$todo[todo].link}</h3> +<ul> +{section name=t loop=$todo[todo].todos} + <li>{$todo[todo].todos[t]}</li> +{/section} +</ul> +{/section} +{/foreach} +{include file="footer.tpl"}
\ No newline at end of file diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/top_frame.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/top_frame.tpl new file mode 100755 index 00000000..36d1e5a1 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/top_frame.tpl @@ -0,0 +1,45 @@ +<?xml version="1.0" encoding="iso-8859-1"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> + <html xmlns="http://www.w3.org/1999/xhtml"> + <head> + <!-- template designed by Marco Von Ballmoos --> + <title>{$title}</title> + <link rel="stylesheet" href="{$subdir}media/stylesheet.css" /> + <link rel="stylesheet" href="{$subdir}media/banner.css" /> + <meta http-equiv='Content-Type' content='text/html; charset=iso-8859-1'/> + </head> + <body> + <div class="banner"> + <div class="banner-title">{$package}</div> + <div class="banner-menu"> + <form> + <table cellpadding="0" cellspacing="0" style="width: 100%"> + <tr> + <td> + {if count($ric) >= 1} + {assign var="last_ric_name" value=""} + {section name=ric loop=$ric} + {if $last_ric_name != ""} | {/if} + <a href="{$ric[ric].file}" target="right">{$ric[ric].name}</a> + {assign var="last_ric_name" value=$ric[ric].name} + {/section} + {/if} + </td> + <td style="width: 2em"> </td> + <td style="text-align: right"> + {if count($packages) > 1} + <span class="field">Packages</span> + <select class="package-selector" onchange="window.parent.left_bottom.location=this[selectedIndex].value"> + {section name=p loop=$packages} + <option value="{$packages[p].link}">{$packages[p].title}</option> + {/section} + </select> + {/if} + </td> + </tr> + </table> + </form> + </div> + </div> + </body> + </html> diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/tutorial.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/tutorial.tpl new file mode 100755 index 00000000..3b9109d1 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/tutorial.tpl @@ -0,0 +1,13 @@ +{include file="header.tpl" title=$title top3=true} + +{if $nav} + {include file="tutorial_nav.tpl" prev=$prev next=$next up=$up prevtitle=$prevtitle nexttitle=$nexttitle uptitle=$uptitle} +{/if} + +{$contents} + +{if $nav} + {include file="tutorial_nav.tpl" prev=$prev next=$next up=$up prevtitle=$prevtitle nexttitle=$nexttitle uptitle=$uptitle} +{/if} + +{include file="footer.tpl" top3=true}
\ No newline at end of file diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/tutorial_nav.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/tutorial_nav.tpl new file mode 100755 index 00000000..3cd7893d --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/tutorial_nav.tpl @@ -0,0 +1,41 @@ +<table class="tutorial-nav-box"> + <tr> + <td style="width: 30%"> + {if $prev} + <a href="{$prev}"><img src="{$subdir}media/images/previous_button.png" alt="Previous"></a> + {else} + <span class="disabled"><img src="{$subdir}media/images/previous_button_disabled.png" alt="Previous"></span> + {/if} + </td> + <td style="text-align: center"> + {if $up} + <a href="{$up}"><img src="{$subdir}media/images/up_button.png" alt="Up"></a> + {/if} + </td> + <td style="text-align: right; width: 30%"> + {if $next} + <a href="{$next}"><img src="{$subdir}media/images/next_button.png" alt="Next"></a> + {else} + <span class="disabled"><img src="{$subdir}media/images/next_button_disabled.png" alt="Next"></span> + {/if} + </td> + </tr> + <tr> + <td style="width: 30%"> + {if $prevtitle} + <span class="detail">{$prevtitle}</span> + {/if} + </td> + <td style="text-align: center"> + {if $uptitle} + <span class="detail">{$uptitle}</span> + {/if} + </td> + <td style="text-align: right; width: 30%"> + {if $nexttitle} + <span class="detail">{$nexttitle}</span> + {/if} + </td> + </tr> +</table> +
\ No newline at end of file diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/tutorial_toc.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/tutorial_toc.tpl new file mode 100755 index 00000000..3482249b --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/tutorial_toc.tpl @@ -0,0 +1,40 @@ +{if count($toc)} +<h1 class="title">Table of Contents</h1> +<ul class="toc"> + {assign var="lastcontext" value='refsect1'} + {section name=toc loop=$toc} + + {if $toc[toc].tagname != $lastcontext} + {if $lastcontext == 'refsect1'} + <ul class="toc"> + <li>{$toc[toc].link}</li> + {else} + {if $lastcontext == 'refsect2'} + {if $toc[toc].tagname == 'refsect1'} + </ul> + <li>{$toc[toc].link}</li> + {/if} + {if $toc[toc].tagname == 'refsect3'} + <ul class="toc"> + <li>{$toc[toc].link}</li> + {/if} + {else} + </ul> + </ul> + <li>{$toc[toc].link}</li> + {/if} + {/if} + {assign var="lastcontext" value=$toc[toc].tagname} + {else} + <li>{$toc[toc].link}</li> + {/if} + {/section} + {if $lastcontext == 'refsect2'} + </ul> + {/if} + {if $lastcontext == 'refsect3'} + </ul> + </ul> + {/if} +</ul> +{/if} diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/tutorial_tree.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/tutorial_tree.tpl new file mode 100755 index 00000000..8b10e9db --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/tutorial_tree.tpl @@ -0,0 +1,9 @@ + var a{$name|replace:"-":"_"}node = new WebFXTreeItem('{$main.title|strip_tags|escape:"quotes"}','{$main.link}', parent_node, + 'media/images/tutorial.png', 'media/images/tutorial.png'); + +{if $haskids} + var a{$name|replace:"-":"_"}_old_parent_node = parent_node; + parent_node = a{$name|replace:"-":"_"}node; + {$kids} + parent_node = a{$name|replace:"-":"_"}_old_parent_node; +{/if} diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/var.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/var.tpl new file mode 100755 index 00000000..a82d1bfa --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/earthli/templates/var.tpl @@ -0,0 +1,94 @@ +{section name=vars loop=$vars} +{if $vars[vars].static} +<a name="var{$vars[vars].var_name}" id="{$vars[vars].var_name}"><!-- --></A> +<div class="{cycle values="evenrow,oddrow"}"> + + <div class="var-header"> + <img src="{$subdir}media/images/StaticVariable.png" /> + <span class="var-title"> + static <span class="var-type">{$vars[vars].var_type}</span> + <span class="var-name">{$vars[vars].var_name}</span> + {if $vars[vars].var_default} = <span class="var-default">{$vars[vars].var_default|replace:"\n":"<br />"}</span>{/if} + (line <span class="line-number">{if $vars[vars].slink}{$vars[vars].slink}{else}{$vars[vars].line_number}{/if}</span>) + </span> + </div> + + {include file="docblock.tpl" sdesc=$vars[vars].sdesc desc=$vars[vars].desc tags=$vars[vars].tags} + + {if $vars[vars].var_overrides} + <hr class="separator" /> + <div class="notes">Redefinition of:</div> + <dl> + <dt>{$vars[vars].var_overrides.link}</dt> + {if $vars[vars].var_overrides.sdesc} + <dd>{$vars[vars].var_overrides.sdesc}</dd> + {/if} + </dl> + {/if} + + {if $vars[vars].descvar} + <hr class="separator" /> + <div class="notes">Redefined in descendants as:</div> + <ul class="redefinitions"> + {section name=vm loop=$vars[vars].descvar} + <li> + {$vars[vars].descvar[vm].link} + {if $vars[vars].descvar[vm].sdesc} + : {$vars[vars].descvar[vm].sdesc} + {/if} + </li> + {/section} + </ul> + {/if} + +</div> +{/if} +{/section} + +{section name=vars loop=$vars} +{if !$vars[vars].static} +<a name="var{$vars[vars].var_name}" id="{$vars[vars].var_name}"><!-- --></A> +<div class="{cycle values="evenrow,oddrow"}"> + + <div class="var-header"> + <img src="{$subdir}media/images/{if $vars[vars].access == 'private'}PrivateVariable{else}Variable{/if}.png" /> + <span class="var-title"> + <span class="var-type">{$vars[vars].var_type}</span> + <span class="var-name">{$vars[vars].var_name}</span> + {if $vars[vars].var_default} = <span class="var-default">{$vars[vars].var_default|replace:"\n":"<br />"}</span>{/if} + (line <span class="line-number">{if $vars[vars].slink}{$vars[vars].slink}{else}{$vars[vars].line_number}{/if}</span>) + </span> + </div> + + {include file="docblock.tpl" sdesc=$vars[vars].sdesc desc=$vars[vars].desc tags=$vars[vars].tags} + + {if $vars[vars].var_overrides} + <hr class="separator" /> + <div class="notes">Redefinition of:</div> + <dl> + <dt>{$vars[vars].var_overrides.link}</dt> + {if $vars[vars].var_overrides.sdesc} + <dd>{$vars[vars].var_overrides.sdesc}</dd> + {/if} + </dl> + {/if} + + {if $vars[vars].descvar} + <hr class="separator" /> + <div class="notes">Redefined in descendants as:</div> + <ul class="redefinitions"> + {section name=vm loop=$vars[vars].descvar} + <li> + {$vars[vars].descvar[vm].link} + {if $vars[vars].descvar[vm].sdesc} + : {$vars[vars].descvar[vm].sdesc} + {/if} + </li> + {/section} + </ul> + {/if} + +</div> +{/if} +{/section} + diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/l0l33t/options.ini b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/l0l33t/options.ini new file mode 100755 index 00000000..084809be --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/l0l33t/options.ini @@ -0,0 +1,577 @@ +preservedocbooktags = false + +;; used to highlight the {@source} inline tag, @filesource tag, and @example tag +[highlightSourceTokens] +;; format: +;; T_CONSTANTNAME = open +;; /T_CONSTANTNAME = close + +T_INCLUDE = <span class="src-inc"> +/T_INCLUDE = </span> +T_INCLUDE_ONCE = <span class="src-inc"> +/T_INCLUDE_ONCE = </span> +T_REQUIRE_ONCE = <span class="src-inc"> +/T_REQUIRE_ONCE = </span> +T_REQUIRE_ONCE = <span class="src-inc"> +/T_REQUIRE_ONCE = </span> + +T_CONSTANT_ENCAPSED_STRING = <span class="src-str"> +/T_CONSTANT_ENCAPSED_STRING = </span> +T_STRING_VARNAME = <span class="src-str"> +/T_STRING_VARNAME = </span> + +T_STRING = <span class="src-id"> +/T_STRING = </span> + +T_DNUMBER = <span class="src-num"> +/T_DNUMBER = </span> +T_LNUMBER = <span class="src-num"> +/T_LNUMBER = </span> + +T_VARIABLE = <span class="src-var"> +/T_VARIABLE = </span> + +T_COMMENT = <span class="src-comm"> +/T_COMMENT = </span> +T_ML_COMMENT = <span class="src-comm"> +/T_ML_COMMENT = </span> + +T_OBJECT_OPERATOR = <span class="src-sym"> +/T_OBJECT_OPERATOR = </span> + +T_ABSTRACT = <span class="src-key"> +/T_ABSTRACT = </span> +T_CLONE = <span class="src-key"> +/T_CLONE = </span> +T_HALT_COMPILER = <span class="src-key"> +/T_HALT_COMPILER = </span> +T_ARRAY = <span class="src-key"> +/T_ARRAY = </span> +T_AS = <span class="src-key"> +/T_AS = </span> +T_BREAK = <span class="src-key"> +/T_BREAK = </span> +T_CLASS = <span class="src-key"> +/T_CLASS = </span> +T_CASE = <span class="src-key"> +/T_CASE = </span> +T_CONST = <span class="src-key"> +/T_CONST = </span> +T_CONTINUE = <span class="src-key"> +/T_CONTINUE = </span> +T_DECLARE = <span class="src-key"> +/T_DECLARE = </span> +T_DEFAULT = <span class="src-key"> +/T_DEFAULT = </span> +T_ELSE = <span class="src-key"> +/T_ELSE = </span> +T_ELSEIF = <span class="src-key"> +/T_ELSEIF = </span> +T_EMPTY = <span class="src-key"> +/T_EMPTY = </span> +T_ENDDECLARE = <span class="src-key"> +/T_ENDDECLARE = </span> +T_ENDFOR = <span class="src-key"> +/T_ENDFOR = </span> +T_ENDSWITCH = <span class="src-key"> +/T_ENDSWITCH = </span> +T_ENDFOREACH = <span class="src-key"> +/T_ENDFOREACH = </span> +T_ENDIF = <span class="src-key"> +/T_ENDIF = </span> +T_ENDWHILE = <span class="src-key"> +/T_ENDWHILE = </span> +T_EXIT = <span class="src-key"> +/T_EXIT = </span> +T_EXTENDS = <span class="src-key"> +/T_EXTENDS = </span> +T_FINAL = <span class="src-key"> +/T_FINAL = </span> +T_FOR = <span class="src-key"> +/T_FOR = </span> +T_FOREACH = <span class="src-key"> +/T_FOREACH = </span> +T_FUNCTION = <span class="src-key"> +/T_FUNCTION = </span> +T_GLOBAL = <span class="src-key"> +/T_GLOBAL = </span> +T_IF = <span class="src-key"> +/T_IF = </span> +T_IMPLEMENTS = <span class="src-key"> +/T_IMPLEMENTS = </span> +T_INTERFACE = <span class="src-key"> +/T_INTERFACE = </span> +T_LOGICAL_AND = <span class="src-key"> +/T_LOGICAL_AND = </span> +T_LOGICAL_OR = <span class="src-key"> +/T_LOGICAL_OR = </span> +T_LOGICAL_XOR = <span class="src-key"> +/T_LOGICAL_XOR = </span> +T_NEW = <span class="src-key"> +/T_NEW = </span> +T_PRIVATE = <span class="src-key"> +/T_PRIVATE = </span> +T_PROTECTED = <span class="src-key"> +/T_PROTECTED = </span> +T_PUBLIC = <span class="src-key"> +/T_PUBLIC = </span> +T_RETURN = <span class="src-key"> +/T_RETURN = </span> +T_STATIC = <span class="src-key"> +/T_STATIC = </span> +T_SWITCH = <span class="src-key"> +/T_SWITCH = </span> +T_VAR = <span class="src-key"> +/T_VAR = </span> +T_WHILE = <span class="src-key"> +/T_WHILE = </span> + +T_DOUBLE_COLON = <span class="src-sym"> +/T_DOUBLE_COLON = </span> + +T_OPEN_TAG = <span class="src-php"> +/T_OPEN_TAG = </span> +T_OPEN_TAG_WITH_ECHO = <span class="src-php"> +/T_OPEN_TAG_WITH_ECHO = </span> +T_CLOSE_TAG = <span class="src-php"> +/T_CLOSE_TAG = </span> + + +[highlightSource] +;; this is for highlighting things that aren't tokens like "&" +;; format: +;; word = open +;; /word = close +@ = <span class="src-sym"> +/@ = </span> +& = <span class="src-sym"> +/& = </span> +[ = <span class="src-sym"> +/[ = </span> +] = <span class="src-sym"> +/] = </span> +! = <span class="src-sym"> +/! = </span> +";" = <span class="src-sym"> +/; = </span> +( = <span class="src-sym"> +/( = </span> +) = <span class="src-sym"> +/) = </span> +, = <span class="src-sym"> +/, = </span> +{ = <span class="src-sym"> +/{ = </span> +} = <span class="src-sym"> +/} = </span> +""" = <span class="src-str"> +/" = </span> + +[highlightDocBlockSourceTokens] +;; this is for docblock tokens, using by phpDocumentor_HighlightParser +;; tagphptype is for "string" in @param string description, for example +docblock = <span class="src-doc"> +/docblock = </span> +tagphptype = <span class="src-doc-type"> +/tagphptype = </span> +tagvarname = <span class="src-doc-var"> +/tagvarname = </span> +coretag = <span class="src-doc-coretag"> +/coretag = </span> +tag = <span class="src-doc-tag"> +/tag = </span> +inlinetag = <span class="src-doc-inlinetag"> +/inlinetag = </span> +internal = <span class="src-doc-internal"> +/internal = </span> +closetemplate = <span class="src-doc-close-template"> +/closetemplate = </span> +docblocktemplate = <span class="src-doc-template"> +/docblocktemplate = </span> + +[highlightTutorialSourceTokens] +;; this is for XML DocBook-based tutorials, highlighted by phpDocumentor_TutorialHighlightParser +;; <tag> +opentag = <span class="tute-tag"> +/opentag = </span> +;; </tag> +closetag = <span class="tute-tag"> +/closetag = </span> +;; <tag attribute="value"> +attribute = <span class="tute-attribute-name"> +/attribute = </span> +;; <tag attribute="value"> +attributevalue = <span class="tute-attribute-value"> +/attributevalue = </span> +;; &entity; +entity = <span class="tute-entity"> +/entity = </span> +;; <!-- comment --> +comment = <span class="tute-comment"> +/comment = </span> +;; {@inline tag} +itag = <span class="tute-inline-tag"> +/itag = </span> + +;; used for translation of html in DocBlocks +[desctranslate] +ul = <ul> +/ul = </ul> +ol = <ol> +/ol = </ol> +li = <li> +/li = </li> +code = +/code = +var = <var> +/var = </var> +samp = <samp> +/samp = </samp> +kbd = <kbd> +/kbd = </kbd> +pre = <pre> +/pre = </pre> +p = <p> +/p = </p> +b = <strong> +/b = </strong> +i = <em> +/i = </em> +br = <br /> + +[ppage] +;; this is the DocBook package page translation section. All DocBook tags +;; that have a corresponding html tag must be listed here. Entities should +;; also be listed here +;; +;; examples: +;; 1) +;; tagname = newtagname +;; +;; This is the simplest case, where all attributes will be added into the +;; starting tag and the ending tag will be html/xml style </tranlatedtagname> +;; <tagname></tagname> becomes <newtagname></newtagname> and +;; <tagname attr="value"></tagname> becomes +;; <newtagname attr="value"></newtagname> +;; +;; 2) +;; tagname = newtagname +;; tagname->attr = newattrname +;; +;; in this case, everything will be like the first case, except tags like: +;; <tagname attr="value"></tagname> will become +;; <newtagname newattrname="value"></newtagname> +;; +;; 3) +;; tagname = newtagname +;; tagname->attr = newattrname +;; tagname->attr+value = newvalue +;; +;; in this case, the value is also translated to another. This can be useful +;; for instances such as focus="middle" changing to align="center" or something +;; of that nature. +;; <tagname attr="value"></tagname> will become +;; <newtagname newattrname="newvalue"></newtagname> +;; +;; 4) +;; tagname = newtagname +;; tagname->attr1 = newattrname +;; tagname->attr2 = newattrname +;; tagname->attr1+value|attr2+value = newvalue +;; +;; in this case, two attributes combine to make one new attribute, and the combined +;; value is translated into a new value +;; <tagname attr1="value1" attr2="value2"></tagname> will become +;; <newtagname newattrname="newvalue"></newtagname> +;; +;; 5) +;; tagname = newtagname +;; tagname!attr = dummy +;; +;; here, the attribute will be ignored. dummy is not used and may be any value +;; <tagname attr="value"></tagname> will become +;; <newtagname></newtagname> +;; +;; 6) +;; tagname = newtagname +;; tagname! = dummy +;; +;; here, all attributes will be ignored. dummy is not used and may be any value +;; <tagname attr1="value" attr2="foo"></tagname> will become +;; <newtagname></newtagname> +;; +;; 7) +;; tagname = newtagname +;; tagname/ = 1 +;; +;; here, the tag will be translated as a single tag with no closing tag, and all +;; attributes +;; <tagname attr="val">{text text}</tagname> will become +;; <newtagname attr="val" /> +;; +;; 8) +;; tagname = <starttaginfo /> +;; /tagname = closetagtext +;; +;; in this case, the text <starttaginfo> will be inserted exactly as entered for +;; <tagname> and closetagtext for </tagname> +;; <tagname attr="val"></tagname> will become +;; <starttaginfo />closetagtext +;; +;; 9) +;; $attr$my_attribute = newattrname +;; +;; tagname = newtagname +;; +;; in this case, all occurences of my_attribute in any tag will be changed to +;; newattrname. This is useful for changing things like role="php" to +;; class="php," for example. Note that the text "$attr$" MUST be on the line +;; start for phpDocumentor to recognize it. +;; +;; 10) +;; &entity; = translation text +;; " = " +;; " = """ +;; < = < +;; +;; Use this to control translation of entities to their appropriate values + + = +" = " +” = ” +“ = “ +& = & +< = < +> = > +© = © + + +$attr$role = class + +abbrev = abbr + +blockquote = blockquote + +arg = span +arg->choice = class + +author = <span class="author"> +/author = </span> +author! = 0 + +authorblurb = <div class="author-blurb"> +/authorblurb = </div> + +authorgroup = <div class="authors"><h2 class="title">Authors</h2> +/authorgroup = </div> +authorgroup! = 0 + +caution = <span class="warning"> +/caution = </span> +caution! = 0 + +cmdsynopsis = <div class="cmd-synopsis"> +/cmdsynopsis = </div> + +command = <span class="cmd-title"> +/command = </span> + +copyright = <div class="notes"> +/copyright = </div> + +emphasis = em + +example = <div class="src-code"> +/example = </div> +example! = 0 + +function = +/function = () + +formalpara = p + +graphic = img +graphic->fileref = src +graphic/ = + +important = strong + +informalequation = blockquote + +informalexample = div + +inlineequation = em + +itemizedlist = ul + +listitem = li + +literal = code + +literallayout = span + +option = " " +/option = + +orderedlist = ol + +para = p + +programlisting = <div class="src-code"> +/programlisting = </div> +programlisting! = 0 + +refentry = div + +refnamediv = <div class="ref-title-box"> +/refnamediv = </div> +refnamediv! = 0 + +refname = <h1 class="ref-title"> +/refname = </h1> + +refpurpose = <h2 class="ref-purpose"> +/refpurpose = </h2> + +refsynopsisdiv = <div class="ref-synopsis"> +/refsynopsisdiv = </div> +refsynopsisdiv! = 0 + +refsect1 = span + +refsect2 = span + +refsect3 = +/refsect3 = <br /> + +releaseinfo = <div class="release-info">( +/releaseinfo = )</div> + +simpara = +/simpara = <br /> +simpara! = 0 + +subscript = sub + +superscript = super + +table = table + +table->colsep = rules +table->rowsep = rules +table->colsep+1|rowsep+1 =all +table->colsep+1|rowsep+0 =cols +table->colsep+0|rowsep+1 =rows + +table->frame =frame +table->frame+all =border +table->frame+none =void +table->frame+sides =vsides +table->frame+top =above +table->frame+topbot =hsides + +thead = thead + +tfoot = tfoot + +tbody = tbody + +colspec = col + +tgroup = colgroup +tgroup/ = 1 +tgroup->cols = span + +row = tr + +entry = td +entry->morerows = colspan +entry->morerows+1 =2 +entry->morerows+2 =3 +entry->morerows+3 =4 +entry->morerows+4 =5 +entry->morerows+5 =6 +entry->morerows+6 =7 +entry->morerows+7 =8 +entry->morerows+8 =9 +entry->morerows+9 =10 +entry->morerows+10 =11 +;; add more if you need more colspans + +warning = <span class="warning"> +/warning = </span> +warning! = 0 + +;; now begins the attributes that should be tags in cdata +[$attr$id] +open = a +;close = /a +cdata! = true +quotevalues = true +separator = "=" +;separateall = true +$id = name + +;; now begins the sections that deal with <title> +[refsynopsisdiv_title] +;tag_attr = true +;attr_name = title +cdata_start = true +;cdata_end = true +open = <h1 class="title"> +close = </h1> + +[refsect1_title] +;tag_attr = true +;attr_name = title +cdata_start = true +;cdata_end = true +open = <h2 class="title"> +close = </h2> + +[refsect2_title] +;tag_attr = true +;attr_name = title +cdata_start = true +;cdata_end = true +open = <h3 class="title"> +close = </h3> + +[refsect3_title] +;tag_attr = true +;attr_name = title +cdata_start = true +;cdata_end = true +open = <h4 class="title"> +close = </h4> + +[para_title] +;tag_attr = true +;attr_name = title +cdata_start = true +;cdata_end = true +open = <div class="title"> +close = </div> + +[formalpara_title] +;tag_attr = true +;attr_name = title +cdata_start = true +;cdata_end = true +open = <div class="title"> +close = </div> + +[example_title] +;tag_attr = true +;attr_name = title +;cdata_start = true +cdata_end = true +open = </td></tr><tr><td><strong> +close = </strong> + +[table_title] +;tag_attr = true +;attr_name = true +cdata_start = true +open = <caption> +close = </caption> diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/l0l33t/templates/basicindex.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/l0l33t/templates/basicindex.tpl new file mode 100755 index 00000000..951ee264 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/l0l33t/templates/basicindex.tpl @@ -0,0 +1,47 @@ +<div class="index-letter-menu"> +{section name=letter loop=$letters} + <a class="index-letter" href="{$indexname}.html#{$letters[letter].letter}">{$letters[letter].letter}</a> +{/section} +</div> + +{section name=index loop=$index} + <a name="{$index[index].letter}"></a> + <div class="index-letter-section"> + <div style="float: left" class="index-letter-title">{$index[index].letter}</div> + <div style="float: right"><a href="#top">top</a></div> + <div style="clear: both"></div> + </div> + <dl> + {section name=contents loop=$index[index].index} + <dt class="field"> + {if ($index[index].index[contents].title == "Variable")} + <span class="var-title">{$index[index].index[contents].name}</span> + {elseif ($index[index].index[contents].title == "Global")} + <span class="var-title">{$index[index].index[contents].name}</span> + {elseif ($index[index].index[contents].title == "Method")} + <span class="method-title">{$index[index].index[contents].name}</span> + {elseif ($index[index].index[contents].title == "Function")} + <span class="method-title">{$index[index].index[contents].name}</span> + {elseif ($index[index].index[contents].title == "Constant")} + <span class="const-title">{$index[index].index[contents].name}</span> + {elseif ($index[index].index[contents].title == "Page") || ($index[index].index[contents].title == "Include")} + <span class="include-title">{$index[index].index[contents].name}</span> + {else} + {$index[index].index[contents].name} + {/if} + </dt> + <dd class="index-item-body"> + <div class="index-item-details">{$index[index].index[contents].link} in {$index[index].index[contents].file_name}</div> + {if $index[index].index[contents].description} + <div class="index-item-description">{$index[index].index[contents].description}</div> + {/if} + </dd> + {/section} + </dl> +{/section} + +<div class="index-letter-menu"> +{section name=letter loop=$letters} + <a class="index-letter" href="{$indexname}.html#{$letters[letter].letter}">{$letters[letter].letter}</a> +{/section} +</div> diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/l0l33t/templates/blank.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/l0l33t/templates/blank.tpl new file mode 100755 index 00000000..6a05f27e --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/l0l33t/templates/blank.tpl @@ -0,0 +1,13 @@ +<html> +<head> + <title>{$maintitle}</title> + <link rel="stylesheet" href="{$subdir}media/stylesheet.css" /> + <meta http-equiv='Content-Type' content='text/html; charset=iso-8859-1'/> +</head> +<body> +<div align="center"><h1>{$maintitle}</h1></div> +<b>Welcome to {$package}!</b><br /> +<br /> +This documentation was generated by <a href="{$phpdocwebsite}">phpDocumentor v{$phpdocversion}</a><br /> +</body> +</html>
\ No newline at end of file diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/l0l33t/templates/class.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/l0l33t/templates/class.tpl new file mode 100755 index 00000000..9ab7c455 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/l0l33t/templates/class.tpl @@ -0,0 +1,429 @@ +{include file="header.tpl" top3=true} + +<h2 class="class-name">{if $is_interface}Interface{else}Class{/if} {$class_name}</h2> + +<a name="sec-description"></a> +<div class="info-box"> + <div class="info-box-title">Description</div> + <div class="nav-bar"> + {if $children || $vars || $ivars || $methods || $imethods || $consts || $iconsts } + <span class="disabled">Description</span> | + {/if} + {if $children} + <a href="#sec-descendents">Descendents</a> + {if $vars || $ivars || $methods || $imethods || $consts || $iconsts}|{/if} + {/if} + {if $vars || $ivars} + {if $vars} + <a href="#sec-var-summary">Vars</a> (<a href="#sec-vars">details</a>) + {else} + <a href="#sec-vars">Vars</a> + {/if} + {if $methods || $imethods}|{/if} + {/if} + {if $methods || $imethods} + {if $methods} + <a href="#sec-method-summary">Methods</a> (<a href="#sec-methods">details</a>) + {else} + <a href="#sec-methods">Methods</a> + {/if} + {/if} + {if $consts || $iconsts} + {if $consts} + <a href="#sec-const-summary">Constants</a> (<a href="#sec-consts">details</a>) + {else} + <a href="#sec-consts">Constants</a> + {/if} + {/if} + </div> + <div class="info-box-body"> + {if $implements} + <p class="implements"> + Implements interfaces: + <ul> + {foreach item="int" from=$implements}<li>{$int}</li>{/foreach} + </ul> + </p> + {/if} + {include file="docblock.tpl" type="class" sdesc=$sdesc desc=$desc} + <p class="notes"> + Located in <a class="field" href="{$page_link}">{$source_location}</a> (line <span class="field">{if $class_slink}{$class_slink}{else}{$line_number}{/if}</span>) + </p> + + {if $tutorial} + <hr class="separator" /> + <div class="notes">Tutorial: <span class="tutorial">{$tutorial}</span></div> + {/if} + + <pre>{section name=tree loop=$class_tree.classes}{$class_tree.classes[tree]}{$class_tree.distance[tree]}{/section}</pre> + + {if $conflicts.conflict_type} + <hr class="separator" /> + <div><span class="warning">Conflicts with classes:</span><br /> + {section name=me loop=$conflicts.conflicts} + {$conflicts.conflicts[me]}<br /> + {/section} + </div> + {/if} + </div> +</div> + +{if $children} + <a name="sec-descendents"></a> + <div class="info-box"> + <div class="info-box-title">Direct descendents</div> + <div class="nav-bar"> + <a href="#sec-description">Description</a> | + <span class="disabled">Descendents</span> + {if $vars || $ivars || $methods || $imethods}|{/if} + {if $vars || $ivars} + {if $vars} + <a href="#sec-var-summary">Vars</a> (<a href="#sec-vars">details</a>) + {else} + <a href="#sec-vars">Vars</a> + {/if} + {if $methods || $imethods}|{/if} + {/if} + {if $methods || $imethods} + {if $methods} + <a href="#sec-method-summary">Methods</a> (<a href="#sec-methods">details</a>) + {else} + <a href="#sec-methods">Methods</a> + {/if} + {/if} + {if $consts || $iconsts} + {if $consts} + <a href="#sec-const-summary">Constants</a> (<a href="#sec-consts">details</a>) + {else} + <a href="#sec-consts">Constants</a> + {/if} + {/if} + </div> + <div class="info-box-body"> + <table cellpadding="2" cellspacing="0" class="class-table"> + <tr> + <th class="class-table-header">Class</th> + <th class="class-table-header">Description</th> + </tr> + {section name=kids loop=$children} + <tr> + <td style="padding-right: 2em">{$children[kids].link}</td> + <td> + {if $children[kids].sdesc} + {$children[kids].sdesc} + {else} + {$children[kids].desc} + {/if} + </td> + </tr> + {/section} + </table> + </div> + </div> +{/if} + +{if $consts} + <a name="sec-const-summary"></a> + <div class="info-box"> + <div class="info-box-title">Class Constant Summary</span></div> + <div class="nav-bar"> + <a href="#sec-description">Description</a> | + {if $children} + <a href="#sec-descendents">Descendants</a> | + {/if} + <span class="disabled">Constants</span> (<a href="#sec-consts">details</a>) + {if $vars || $ivars} + {if $vars} + <a href="#sec-var-summary">Vars</a> (<a href="#sec-vars">details</a>) + {else} + <a href="#sec-vars">Vars</a> + {/if} + | + {/if} + {if $methods || $imethods} + | + {if $methods} + <a href="#sec-method-summary">Methods</a> (<a href="#sec-methods">details</a>) + {else} + <a href="#sec-methods">Methods</a> + {/if} + {/if} + </div> + <div class="info-box-body"> + <div class="const-summary"> + {section name=consts loop=$consts} + <div class="const-title"> + <img src="{$subdir}media/images/Constant.png" alt=" " /> + <a href="#{$consts[consts].const_name}" title="details" class="const-name">{$consts[consts].const_name}</a> = <span class="var-type">{$consts[consts].const_value}</span> + + </div> + {/section} + </div> + </div> + </div> +{/if} + +{if $vars} + <a name="sec-var-summary"></a> + <div class="info-box"> + <div class="info-box-title">Variable Summary</span></div> + <div class="nav-bar"> + <a href="#sec-description">Description</a> | + {if $children} + <a href="#sec-descendents">Descendents</a> | + {/if} + <span class="disabled">Vars</span> (<a href="#sec-vars">details</a>) + {if $methods || $imethods} + | + {if $methods} + <a href="#sec-method-summary">Methods</a> (<a href="#sec-methods">details</a>) + {else} + <a href="#sec-methods">Methods</a> + {/if} + {/if} + {if $consts || $iconsts} + {if $consts} + <a href="#sec-const-summary">Constants</a> (<a href="#sec-consts">details</a>) + {else} + <a href="#sec-consts">Constants</a> + {/if} + {/if} + </div> + <div class="info-box-body"> + <div class="var-summary"> + {section name=vars loop=$vars} + {if $vars[vars].static} + <div class="var-title"> + static <span class="var-type">{$vars[vars].var_type}</span> + <a href="#{$vars[vars].var_name}" title="details" class="var-name">{$vars[vars].var_name}</a> + </div> + {/if} + {/section} + {section name=vars loop=$vars} + {if !$vars[vars].static} + <div class="var-title"> + <span class="var-type">{$vars[vars].var_type}</span> + <a href="#{$vars[vars].var_name}" title="details" class="var-name">{$vars[vars].var_name}</a> + </div> + {/if} + {/section} + </div> + </div> + </div> +{/if} + +{if $methods} + <a name="sec-method-summary"></a> + <div class="info-box"> + <div class="info-box-title">Method Summary</span></div> + <div class="nav-bar"> + <a href="#sec-description">Description</a> | + {if $children} + <a href="#sec-descendents">Descendents</a> | + {/if} + {if $consts || $iconsts} + {if $consts} + <a href="#sec-const-summary">Constants</a> (<a href="#sec-consts">details</a>) + {else} + <a href="#sec-consts">Constants</a> + {/if} + {/if} + {if $vars || $ivars} + {if $vars} + <a href="#sec-var-summary">Vars</a> (<a href="#sec-vars">details</a>) + {else} + <a href="#sec-vars">Vars</a> + {/if} + | + {/if} + <span class="disabled">Methods</span> (<a href="#sec-methods">details</a>) + </div> + <div class="info-box-body"> + <div class="method-summary"> + {section name=methods loop=$methods} + {if $methods[methods].static} + <div class="method-definition"> + static {if $methods[methods].function_return} + <span class="method-result">{$methods[methods].function_return}</span> + {/if} + <a href="#{$methods[methods].function_name}" title="details" class="method-name">{if $methods[methods].ifunction_call.returnsref}&{/if}{$methods[methods].function_name}</a> + {if count($methods[methods].ifunction_call.params)} + ({section name=params loop=$methods[methods].ifunction_call.params}{if $smarty.section.params.iteration != 1}, {/if}{if $methods[methods].ifunction_call.params[params].hasdefault}[{/if}<span class="var-type">{$methods[methods].ifunction_call.params[params].type}</span> <span class="var-name">{$methods[methods].ifunction_call.params[params].name}</span>{if $methods[methods].ifunction_call.params[params].hasdefault} = <span class="var-default">{$methods[methods].ifunction_call.params[params].default}</span>]{/if}{/section}) + {else} + () + {/if} + </div> + {/if} + {/section} + {section name=methods loop=$methods} + {if !$methods[methods].static} + <div class="method-definition"> + {if $methods[methods].function_return} + <span class="method-result">{$methods[methods].function_return}</span> + {/if} + <a href="#{$methods[methods].function_name}" title="details" class="method-name">{if $methods[methods].ifunction_call.returnsref}&{/if}{$methods[methods].function_name}</a> + {if count($methods[methods].ifunction_call.params)} + ({section name=params loop=$methods[methods].ifunction_call.params}{if $smarty.section.params.iteration != 1}, {/if}{if $methods[methods].ifunction_call.params[params].hasdefault}[{/if}<span class="var-type">{$methods[methods].ifunction_call.params[params].type}</span> <span class="var-name">{$methods[methods].ifunction_call.params[params].name}</span>{if $methods[methods].ifunction_call.params[params].hasdefault} = <span class="var-default">{$methods[methods].ifunction_call.params[params].default}</span>]{/if}{/section}) + {else} + () + {/if} + </div> + {/if} + {/section} + </div> + </div> + </div> +{/if} + +{if $vars || $ivars} + <a name="sec-vars"></a> + <div class="info-box"> + <div class="info-box-title">Variables</div> + <div class="nav-bar"> + <a href="#sec-description">Description</a> | + {if $children} + <a href="#sec-descendents">Descendents</a> | + {/if} + {if $methods} + <a href="#sec-var-summary">Vars</a> (<span class="disabled">details</span>) + {else} + <span class="disabled">Vars</span> + {/if} + + {if $consts || $iconsts} + {if $consts} + <a href="#sec-const-summary">Constants</a> (<a href="#sec-consts">details</a>) + {else} + <a href="#sec-consts">Constants</a> + {/if} + {/if} + {if $methods || $imethods} + | + {if $methods} + <a href="#sec-method-summary">Methods</a> (<a href="#sec-methods">details</a>) + {else} + <a href="#sec-methods">Methods</a> + {/if} + {/if} + </div> + <div class="info-box-body"> + {include file="var.tpl"} + {if $ivars} + <h4>Inherited Variables</h4> + <A NAME='inherited_vars'><!-- --></A> + {section name=ivars loop=$ivars} + <p>Inherited from <span class="classname">{$ivars[ivars].parent_class}</span></p> + <blockquote> + {section name=ivars2 loop=$ivars[ivars].ivars} + <span class="var-title"> + <span class="var-name">{$ivars[ivars].ivars[ivars2].link}</span>{if $ivars[ivars].ivars[ivars2].ivar_sdesc}: {$ivars[ivars].ivars[ivars2].ivar_sdesc}{/if}<br> + </span> + {/section} + </blockquote> + {/section} + {/if} + </div> + </div> +{/if} + +{if $methods || $imethods} + <a name="sec-methods"></a> + <div class="info-box"> + <div class="info-box-title">Methods</div> + <div class="nav-bar"> + <a href="#sec-description">Description</a> | + {if $children} + <a href="#sec-descendents">Descendents</a> | + {/if} + {if $vars || $ivars} + {if $vars} + <a href="#sec-var-summary">Vars</a> (<a href="#sec-vars">details</a>) + {else} + <a href="#sec-vars">Vars</a> + {/if} + {/if} + {if $consts || $iconsts} + {if $consts} + <a href="#sec-const-summary">Constants</a> (<a href="#sec-consts">details</a>) + {else} + <a href="#sec-consts">Constants</a> + {/if} + {/if} + {if $methods} + <a href="#sec-method-summary">Methods</a> (<span class="disabled">details</span>) + {else} + <span class="disabled">Methods</span> + {/if} + </div> + <div class="info-box-body"> + {include file="method.tpl"} + {if $imethods} + <h4>Inherited Methods</h4> + <a name='inherited_methods'><!-- --></a> + {section name=imethods loop=$imethods} + <!-- =========== Summary =========== --> + <p>Inherited From <span class="classname">{$imethods[imethods].parent_class}</span></p> + <blockquote> + {section name=im2 loop=$imethods[imethods].imethods} + <span class="method-name">{$imethods[imethods].imethods[im2].link}</span>{if $imethods[imethods].imethods[im2].ifunction_sdesc}: {$imethods[imethods].imethods[im2].ifunction_sdesc}{/if}<br> + {/section} + </blockquote> + {/section} + {/if} + </div> + </div> +{/if} + +{if $consts || $iconsts} + <a name="sec-consts"></a> + <div class="info-box"> + <div class="info-box-title">Class Constants</div> + <div class="nav-bar"> + <a href="#sec-description">Description</a> | + {if $children} + <a href="#sec-descendents">Descendants</a> | + {/if} + {if $methods} + <a href="#sec-var-summary">Constants</a> (<span class="disabled">details</span>) + {else} + <span class="disabled">Constants</span> + {/if} + + {if $vars || $ivars} + {if $vars} + <a href="#sec-var-summary">Vars</a> (<a href="#sec-vars">details</a>) + {else} + <a href="#sec-vars">Vars</a> + {/if} + {/if} + {if $methods || $imethods} + | + {if $methods} + <a href="#sec-method-summary">Methods</a> (<a href="#sec-methods">details</a>) + {else} + <a href="#sec-methods">Methods</a> + {/if} + {/if} + </div> + <div class="info-box-body"> + {include file="const.tpl"} + {if $iconsts} + <h4>Inherited Constants</h4> + <A NAME='inherited_vars'><!-- --></A> + {section name=iconsts loop=$iconsts} + <p>Inherited from <span class="classname">{$iconsts[iconsts].parent_class}</span></p> + <blockquote> + {section name=iconsts2 loop=$iconsts[iconsts].iconsts} + <img src="{$subdir}media/images/{if $iconsts[iconsts].iconsts[iconsts2].access == 'private'}PrivateVariable{else}Variable{/if}.png" /> + <span class="const-title"> + <span class="const-name">{$iconsts[iconsts].iconsts[iconsts2].link}</span>{if $iconsts[iconsts].iconsts[iconsts2].iconst_sdesc}: {$iconsts[iconsts].iconsts[iconsts2].iconst_sdesc}{/if}<br> + </span> + {/section} + </blockquote> + {/section} + {/if} + </div> + </div> +{/if} + +{include file="footer.tpl" top3=true} diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/l0l33t/templates/classtrees.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/l0l33t/templates/classtrees.tpl new file mode 100755 index 00000000..952e6d50 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/l0l33t/templates/classtrees.tpl @@ -0,0 +1,19 @@ +{include file="header.tpl" top1=true} + +<!-- Start of Class Data --> +<H2> + {$smarty.capture.title} +</H2> +{if $interfaces} +{section name=classtrees loop=$interfaces} +<h2>Root interface {$interfaces[classtrees].class}</h2> +{$interfaces[classtrees].class_tree} +{/section} +{/if} +{if $classtrees} +{section name=classtrees loop=$classtrees} +<h2>Root class {$classtrees[classtrees].class}</h2> +{$classtrees[classtrees].class_tree} +{/section} +{/if} +{include file="footer.tpl"}
\ No newline at end of file diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/l0l33t/templates/const.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/l0l33t/templates/const.tpl new file mode 100644 index 00000000..c26ff92d --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/l0l33t/templates/const.tpl @@ -0,0 +1,18 @@ +{section name=consts loop=$consts} +<a name="const{$consts[consts].const_name}" id="{$consts[consts].const_name}"><!-- --></A> +<div class="{cycle values="evenrow,oddrow"}"> + + <div class="const-header"> + <img src="{$subdir}media/images/{if $consts[consts].access == 'private'}PrivateVariable{else}Variable{/if}.png" /> + <span class="const-title"> + <span class="const-name">{$consts[consts].const_name}</span> + = <span class="const-default">{$consts[consts].const_value|replace:"\n":"<br />"}</span> + (line <span class="line-number">{if $consts[consts].slink}{$consts[consts].slink}{else}{$consts[consts].line_number}{/if}</span>) + </span> + </div> + + {include file="docblock.tpl" sdesc=$consts[consts].sdesc desc=$consts[consts].desc tags=$consts[consts].tags} + +</div> +{/section} + diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/l0l33t/templates/define.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/l0l33t/templates/define.tpl new file mode 100755 index 00000000..0da5d864 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/l0l33t/templates/define.tpl @@ -0,0 +1,24 @@ +{section name=def loop=$defines} +<a name="{$defines[def].define_link}"><!-- --></a> +<div class="{cycle values="evenrow,oddrow"}"> + + <div> + <span class="const-title"> + <span class="const-name">{$defines[def].define_name}</span> = {$defines[def].define_value|replace:"\n":"<br />"} + (line <span class="line-number">{if $defines[def].slink}{$defines[def].slink}{else}{$defines[def].line_number}{/if}</span>) + </span> + </div> + + {include file="docblock.tpl" sdesc=$defines[def].sdesc desc=$defines[def].desc tags=$defines[def].tags} + + {if $globals[glob].global_conflicts.conflict_type} + <hr class="separator" /> + <div><span class="warning">Conflicts with constants:</span><br /> + {section name=me loop=$defines[def].define_conflicts.conflicts} + {$defines[def].define_conflicts.conflicts[me]}<br /> + {/section} + </div> + {/if} + +</div> +{/section}
\ No newline at end of file diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/l0l33t/templates/docblock.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/l0l33t/templates/docblock.tpl new file mode 100755 index 00000000..783d5271 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/l0l33t/templates/docblock.tpl @@ -0,0 +1,14 @@ +<!-- ========== Info from phpDoc block ========= --> +{if $sdesc} +<p class="short-description">{$sdesc}</p> +{/if} +{if $desc} +<p class="description">{$desc}</p> +{/if} +{if $tags} + <ul class="tags"> + {section name=tags loop=$tags} + <li><span class="field">{$tags[tags].keyword}:</span> {$tags[tags].data}</li> + {/section} + </ul> +{/if} diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/l0l33t/templates/elementindex.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/l0l33t/templates/elementindex.tpl new file mode 100755 index 00000000..d5964f99 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/l0l33t/templates/elementindex.tpl @@ -0,0 +1,12 @@ +{include file="header.tpl" noleftindex=true} +<a name="top"></a> +<h2>Full index</h2> +<h3>Package indexes</h3> +<ul> +{section name=p loop=$packageindex} + <li><a href="elementindex_{$packageindex[p].title}.html">{$packageindex[p].title}</a></li> +{/section} +</ul> +<br /> +{include file="basicindex.tpl" indexname="elementindex"} +{include file="footer.tpl"} diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/l0l33t/templates/errors.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/l0l33t/templates/errors.tpl new file mode 100755 index 00000000..0f526584 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/l0l33t/templates/errors.tpl @@ -0,0 +1,21 @@ +{include file="header.tpl" noleftindex=true} +{section name=files loop=$files} +<a href="#{$files[files].file}">{$files[files].file}</a><br> +{/section} +{foreach key=file item=issues from=$all} +<a name="{$file}"></a> +<h1>{$file}</h1> +{if count($issues.warnings)} +<h2>Warnings:</h2><br> +{section name=warnings loop=$issues.warnings} +<b>{$issues.warnings[warnings].name}</b> - {$issues.warnings[warnings].listing}<br> +{/section} +{/if} +{if count($issues.errors)} +<h2>Errors:</h2><br> +{section name=errors loop=$issues.errors} +<b>{$issues.errors[errors].name}</b> - {$issues.errors[errors].listing}<br> +{/section} +{/if} +{/foreach} +{include file="footer.tpl"} diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/l0l33t/templates/examplesource.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/l0l33t/templates/examplesource.tpl new file mode 100755 index 00000000..8abf74ce --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/l0l33t/templates/examplesource.tpl @@ -0,0 +1,6 @@ +{include file="header.tpl" title=$title} +<h1>{$title}</h1> +<div class="listing"> +{$source} +</div> +{include file="footer.tpl"}
\ No newline at end of file diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/l0l33t/templates/filesource.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/l0l33t/templates/filesource.tpl new file mode 100755 index 00000000..239f7b41 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/l0l33t/templates/filesource.tpl @@ -0,0 +1,8 @@ +{capture name="tutle"}File Source for {$name}{/capture} +{include file="header.tpl" title=$smarty.capture.tutle} +<h1>Source for file {$name}</h1> +<p>Documentation is available at {$docs}</p> +<div class="src-code"> +{$source} +</div> +{include file="footer.tpl"}
\ No newline at end of file diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/l0l33t/templates/footer.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/l0l33t/templates/footer.tpl new file mode 100755 index 00000000..8d0f79db --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/l0l33t/templates/footer.tpl @@ -0,0 +1,8 @@ +{if !$index} + <p class="notes" id="credit"> + Documentation generated on {$date} by <a href="{$phpdocwebsite}" target="_blank">phpDocumentor {$phpdocversion}</a> + </p> +{/if} + {if $top3}</div>{/if} +</body> +</html> diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/l0l33t/templates/function.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/l0l33t/templates/function.tpl new file mode 100755 index 00000000..b6880059 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/l0l33t/templates/function.tpl @@ -0,0 +1,44 @@ +{section name=func loop=$functions} +<a name="{$functions[func].function_dest}" id="{$functions[func].function_dest}"><!-- --></a> +<div class="{cycle values="evenrow,oddrow"}"> + + <div> + <span class="method-title">{$functions[func].function_name}</span> (line <span class="line-number">{if $functions[func].slink}{$functions[func].slink}{else}{$functions[func].line_number}{/if}</span>) + </div> + + {include file="docblock.tpl" sdesc=$functions[func].sdesc desc=$functions[func].desc tags=$functions[func].tags params=$functions[func].params function=false} + + <div class="method-signature"> + <span class="method-result">{$functions[func].function_return}</span> + <span class="method-name"> + {if $functions[func].ifunction_call.returnsref}&{/if}{$functions[func].function_name} + </span> + {if count($functions[func].ifunction_call.params)} + ({section name=params loop=$functions[func].ifunction_call.params}{if $smarty.section.params.iteration != 1}, {/if}{if $functions[func].ifunction_call.params[params].hasdefault}[{/if}<span class="var-type">{$functions[func].ifunction_call.params[params].type}</span> <span class="var-name">{$functions[func].ifunction_call.params[params].name}</span>{if $functions[func].ifunction_call.params[params].hasdefault} = <span class="var-default">{$functions[func].ifunction_call.params[params].default|escape:"html"}</span>]{/if}{/section}) + {else} + () + {/if} + </div> + + {if $functions[func].params} + <ul class="parameters"> + {section name=params loop=$functions[func].params} + <li> + <span class="var-type">{$functions[func].params[params].datatype}</span> + <span class="var-name">{$functions[func].params[params].var}</span>{if $functions[func].params[params].data}<span class="var-description">: {$functions[func].params[params].data}</span>{/if} + </li> + {/section} + </ul> + {/if} + + {if $functions[func].function_conflicts.conflict_type} + <hr class="separator" /> + <div><span class="warning">Conflicts with functions:</span><br /> + {section name=me loop=$functions[func].function_conflicts.conflicts} + {$functions[func].function_conflicts.conflicts[me]}<br /> + {/section} + </div> + {/if} + +</div> +{/section} diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/l0l33t/templates/global.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/l0l33t/templates/global.tpl new file mode 100755 index 00000000..eab7e0b0 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/l0l33t/templates/global.tpl @@ -0,0 +1,26 @@ +{section name=glob loop=$globals} +<a name="{$globals[glob].global_link}" id="{$globals[glob].global_link}"><!-- --></a> +<div class="{cycle values="evenrow,oddrow"}"> + + <div> + <span class="var-title"> + <span class="var-type">{$globals[glob].global_type}</span> + <span class="var-name">{$globals[glob].global_name}</span> + {if $vars[vars].var_default} = <span class="var-default">{$globals[glob].global_value|replace:"\n":"<br />"}</span>{/if} + (line <span class="line-number">{if $globals[glob].slink}{$globals[glob].slink}{else}{$globals[glob].line_number}{/if}</span>) + </span> + </div> + + {include file="docblock.tpl" sdesc=$globals[glob].sdesc desc=$globals[glob].desc tags=$globals[glob].tags} + + {if $globals[glob].global_conflicts.conflict_type} + <hr class="separator" /> + <div><span class="warning">Conflicts with global variables:</span><br /> + {section name=me loop=$globals[glob].global_conflicts.conflicts} + {$globals[glob].global_conflicts.conflicts[me]}<br /> + {/section} + </div> + {/if} + +</div> +{/section}
\ No newline at end of file diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/l0l33t/templates/header.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/l0l33t/templates/header.tpl new file mode 100755 index 00000000..cd34cf9f --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/l0l33t/templates/header.tpl @@ -0,0 +1,99 @@ +<?xml version="1.0" encoding="iso-8859-1"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> + <html xmlns="http://www.w3.org/1999/xhtml"> + <head> + <!-- template designed by Marco Von Ballmoos --> + <title>{$title}</title> + <link rel="stylesheet" href="{$subdir}media/stylesheet.css" /> + {if $top2 || $top3} + <script src="{$subdir}media/lib/classTree.js"></script> + {/if} + {if $top2} + <meta http-equiv='Content-Type' content='text/html; charset=iso-8859-1'/> + <link rel="stylesheet" href="{$subdir}media/banner.css" /> + <style> + body {ldelim} padding: 1em {rdelim} + </style> + {/if} + {if $top3 || $top2} + <script language="javascript" type="text/javascript"> + var imgPlus = new Image(); + var imgMinus = new Image(); + imgPlus.src = "{$subdir}media/images/plus.png"; + imgMinus.src = "{$subdir}media/images/minus.png"; + + function showNode(Node){ldelim} + switch(navigator.family){ldelim} + case 'nn4': + // Nav 4.x code fork... + var oTable = document.layers["span" + Node]; + var oImg = document.layers["img" + Node]; + break; + case 'ie4': + // IE 4/5 code fork... + var oTable = document.all["span" + Node]; + var oImg = document.all["img" + Node]; + break; + case 'gecko': + // Standards Compliant code fork... + var oTable = document.getElementById("span" + Node); + var oImg = document.getElementById("img" + Node); + break; + {rdelim} + oImg.src = imgMinus.src; + oTable.style.display = "block"; + {rdelim} + + function hideNode(Node){ldelim} + switch(navigator.family){ldelim} + case 'nn4': + // Nav 4.x code fork... + var oTable = document.layers["span" + Node]; + var oImg = document.layers["img" + Node]; + break; + case 'ie4': + // IE 4/5 code fork... + var oTable = document.all["span" + Node]; + var oImg = document.all["img" + Node]; + break; + case 'gecko': + // Standards Compliant code fork... + var oTable = document.getElementById("span" + Node); + var oImg = document.getElementById("img" + Node); + break; + {rdelim} + oImg.src = imgPlus.src; + oTable.style.display = "none"; + {rdelim} + + function nodeIsVisible(Node){ldelim} + switch(navigator.family){ldelim} + case 'nn4': + // Nav 4.x code fork... + var oTable = document.layers["span" + Node]; + break; + case 'ie4': + // IE 4/5 code fork... + var oTable = document.all["span" + Node]; + break; + case 'gecko': + // Standards Compliant code fork... + var oTable = document.getElementById("span" + Node); + break; + {rdelim} + return (oTable && oTable.style.display == "block"); + {rdelim} + + function toggleNodeVisibility(Node){ldelim} + if (nodeIsVisible(Node)){ldelim} + hideNode(Node); + {rdelim}else{ldelim} + showNode(Node); + {rdelim} + {rdelim} + </script> + {/if} + </head> + <body> + {if $top3}<div class="page-body">{/if} + diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/l0l33t/templates/include.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/l0l33t/templates/include.tpl new file mode 100755 index 00000000..c2419e5f --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/l0l33t/templates/include.tpl @@ -0,0 +1,16 @@ +{section name=includes loop=$includes} +<a name="{$includes[includes].include_file}"><!-- --></a> +<div class="{cycle values="evenrow,oddrow"}"> + + <div> + <span class="include-title"> + <span class="include-type">{$includes[includes].include_name}</span> + (<span class="include-name">{$includes[includes].include_value}</span>) + (line <span class="line-number">{if $includes[includes].slink}{$includes[includes].slink}{else}{$includes[includes].line_number}{/if}</span>) + </span> + </div> + + {include file="docblock.tpl" sdesc=$includes[includes].sdesc desc=$includes[includes].desc tags=$includes[includes].tags} + +</div> +{/section}
\ No newline at end of file diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/l0l33t/templates/index.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/l0l33t/templates/index.tpl new file mode 100755 index 00000000..7cd61094 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/l0l33t/templates/index.tpl @@ -0,0 +1,24 @@ +<?xml version="1.0" encoding="iso-8859-1"?> +<!DOCTYPE html + PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//FR" + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd"> + <html xmlns="http://www.w3.org/1999/xhtml"> +<head> + <!-- Generated by phpDocumentor on {$date} --> + <title>{$title}</title> + <meta http-equiv='Content-Type' content='text/html; charset=iso-8859-1'/> +</head> + +<FRAMESET rows='120,*'> + <FRAME src='packages.html' name='left_top' frameborder="1" bordercolor="#999999"> + <FRAMESET cols='25%,*'> + <FRAME src='{$start}' name='left_bottom' frameborder="1" bordercolor="#999999"> + <FRAME src='{$blank}.html' name='right' frameborder="1" bordercolor="#999999"> + </FRAMESET> + <NOFRAMES> + <H2>Frame Alert</H2> + <P>This document is designed to be viewed using the frames feature. + If you see this message, you are using a non-frame-capable web client.</P> + </NOFRAMES> +</FRAMESET> +</HTML> diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/l0l33t/templates/left_frame.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/l0l33t/templates/left_frame.tpl new file mode 100755 index 00000000..2072566d --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/l0l33t/templates/left_frame.tpl @@ -0,0 +1,198 @@ +{include file="header.tpl" top2=true} +<h3 class="package-title">{$info.0.package}</h3> +<div class="tree"> +<script language="Javascript"> +if (document.getElementById) {ldelim} +{section name=p loop=$info} + {if $info[p].subpackage == ""} + var tree = new WebFXTree('<span class="package">{$info.0.package}</span>'); + tree.setBehavior('classic'); + + {if $hastodos} + var todos = new WebFXTreeItem('To-do List', '{$todolink}'); + tree.add(todos); + {/if} + + var class_trees = new WebFXTreeItem('Class trees', '{$classtreepage}.html'); + tree.add(class_trees); + + var elements = new WebFXTreeItem('Index of elements', '{$elementindex}.html'); + tree.add(elements); + + var parent_node; + + {if $info[p].tutorials} + var tree_tutorial = new WebFXTreeItem('Tutorial(s)/Manual(s)', ''); + tree.add(tree_tutorial); + + {if $info[p].tutorials.pkg} + var tree_inner_tutorial = new WebFXTreeItem('Package-level', ''); + tree_tutorial.add(tree_inner_tutorial); + + parent_node = tree_inner_tutorial; + {section name=ext loop=$info[p].tutorials.pkg} + {$info[p].tutorials.pkg[ext]} + {/section} + {/if} + + {if $info[p].tutorials.cls} + var tree_inner_tutorial = new WebFXTreeItem('Class-level', ''); + tree_tutorial.add(tree_inner_tutorial); + + parent_node = tree_inner_tutorial; + {section name=ext loop=$info[p].tutorials.cls} + {$info[p].tutorials.cls[ext]} + {/section} + {/if} + + {if $info[p].tutorials.proc} + var tree_inner_tutorial = new WebFXTreeItem('Function-level', ''); + tree_tutorial.add(tree_inner_tutorial); + + parent_node = tree_inner_tutorial; + {section name=ext loop=$info[p].tutorials.proc} + {$info[p].tutorials.proc[ext]} + {/section} + {/if} + {/if} + + {if $info[p].hasinterfaces} + {if $info[p].classes} + var tree_classe = new WebFXTreeItem('Interface(s)', '{$packagedoc}'); + + {section name=class loop=$info[p].classes} + {if $info[p].classes[class].is_interface} + var classe = new WebFXTreeItem('{$info[p].classes[class].title|escape:"quotes"}', '{$info[p].classes[class].link|escape:"quotes"}'); + tree_classe.add(classe); + {/if} + {/section} + + tree.add(tree_classe); + {/if} + {/if} + {if $info[p].hasclasses} + {if $info[p].classes} + var tree_classe = new WebFXTreeItem('Class(es)', '{$packagedoc}'); + + {section name=class loop=$info[p].classes} + {if $info[p].classes[class].is_class} + var classe = new WebFXTreeItem('{$info[p].classes[class].title|escape:"quotes"}', '{$info[p].classes[class].link|escape:"quotes"}'); + tree_classe.add(classe); + {/if} + {/section} + + tree.add(tree_classe); + {/if} + {/if} + + {if $info[p].functions} + var tree_function = new WebFXTreeItem('Function(s)', '{$packagedoc}'); + + {section name=nonclass loop=$info[p].functions} + var fic = new WebFXTreeItem('{$info[p].functions[nonclass].title|escape:"quotes"}', '{$info[p].functions[nonclass].link|escape:"quotes"}'); + tree_function.add(fic); + {/section} + + tree.add(tree_function); + {/if} + + {if $info[p].files} + var tree_file = new WebFXTreeItem('File(s)', '{$packagedoc|escape:"quotes"}'); + + {section name=nonclass loop=$info[p].files} + var file = new WebFXTreeItem('{$info[p].files[nonclass].title|escape:"quotes"}', '{$info[p].files[nonclass].link|escape:"quotes"}'); + tree_file.add(file); + {/section} + + tree.add(tree_file); + {/if} + + {else} + {if $info[p].subpackagetutorial} + var subpackagetree = new WebFXTreeItem('<span class="sub-package">{$info[p].subpackagetutorialtitle|strip_tags|escape:"quotes"}</span>', '{$info[p].subpackagetutorialnoa}'); + {else} + var subpackagetree = new WebFXTreeItem('<span class="sub-package">{$info[p].subpackage}</span>', '{$packagedoc|escape:"quotes"}'); + {/if} + + {if $info[p].tutorials} + var tree_tutorial = new WebFXTreeItem('Tutorial(s)/Manual(s)', ''); + tree.add(tree_tutorial); + + {if $info[p].tutorials.pkg} + var tree_inner_tutorial = new WebFXTreeItem('Package-level', ''); + tree_tutorial.add(tree_inner_tutorial); + + parent_node = tree_inner_tutorial; + {section name=ext loop=$info[p].tutorials.pkg} + {$info[p].tutorials.pkg[ext]} + {/section} + {/if} + + {if $info[p].tutorials.cls} + var tree_inner_tutorial = new WebFXTreeItem('Class-level', ''); + tree_tutorial.add(tree_inner_tutorial); + + parent_node = tree_inner_tutorial; + {section name=ext loop=$info[p].tutorials.cls} + {$info[p].tutorials.cls[ext]} + {/section} + {/if} + + {if $info[p].tutorials.proc} + var tree_inner_tutorial = new WebFXTreeItem('Function-level', ''); + tree_tutorial.add(tree_inner_tutorial); + + parent_node = tree_inner_tutorial; + {section name=ext loop=$info[p].tutorials.proc} + {$info[p].tutorials.proc[ext]} + {/section} + {/if} + {/if} + + {if $info[p].classes} + var subpackagetree_classe = new WebFXTreeItem('Class(es)', '{$packagedoc|escape:"quotes"}'); + + {section name=class loop=$info[p].classes} + var classe = new WebFXTreeItem('{$info[p].classes[class].title|escape:"quotes"}', '{$info[p].classes[class].link|escape:"quotes"}'); + subpackagetree_classe.add(classe); + {/section} + + subpackagetree.add(subpackagetree_classe); + {/if} + + {if $info[p].functions} + var subpackagetree_function = new WebFXTreeItem('Function(s)', '{$packagedoc}'); + + {section name=nonclass loop=$info[p].functions} + var fic = new WebFXTreeItem('{$info[p].functions[nonclass].title|escape:"quotes"}', '{$info[p].functions[nonclass].link|escape:"quotes"}'); + subpackagetree_function.add(fic); + {/section} + + subpackagetree.add(subpackagetree_function); + {/if} + + {if $info[p].files} + var subpackagetree_file = new WebFXTreeItem('File(s)', '{$packagedoc|escape:"quotes"}'); + + {section name=nonclass loop=$info[p].files} + var file = new WebFXTreeItem('{$info[p].files[nonclass].title|escape:"quotes"}', '{$info[p].files[nonclass].link|escape:"quotes"}'); + subpackagetree_file.add(file); + {/section} + + subpackagetree.add(subpackagetree_file); + {/if} + + tree.add(subpackagetree); + {/if} +{/section} + +document.write(tree); +{rdelim} +</script> +</div> +<p class="notes"> + Generated by + <a href="{$phpdocwebsite}" target="_blank">phpDocumentor <span class="field">{$phpdocversion}</span></a> +</p> +</body> +</html> diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/l0l33t/templates/media/banner.css b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/l0l33t/templates/media/banner.css new file mode 100755 index 00000000..4f7db5da --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/l0l33t/templates/media/banner.css @@ -0,0 +1,32 @@ +body +{ + background: #EEEEEE url(bg_left.png) repeat; + margin: 0px; + padding: 0px; +} + +/* Banner (top bar) classes */ + +.banner { } + +.banner-menu +{ + clear: both; + padding: .5em; + border-top: 2px solid #999999; +} + +.banner-title +{ + text-align: right; + font-size: 20pt; + font-weight: bold; + margin: .2em; +} + +.package-selector +{ + background-color: #EEEEEE; + border: 1px solid black; + color: #0000C0; +} diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/l0l33t/templates/media/bg_left.png b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/l0l33t/templates/media/bg_left.png Binary files differnew file mode 100755 index 00000000..1c331f09 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/l0l33t/templates/media/bg_left.png diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/l0l33t/templates/media/images/I.png b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/l0l33t/templates/media/images/I.png Binary files differnew file mode 100755 index 00000000..e8512fb9 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/l0l33t/templates/media/images/I.png diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/l0l33t/templates/media/images/L.png b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/l0l33t/templates/media/images/L.png Binary files differnew file mode 100755 index 00000000..eb334eda --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/l0l33t/templates/media/images/L.png diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/l0l33t/templates/media/images/Lminus.png b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/l0l33t/templates/media/images/Lminus.png Binary files differnew file mode 100755 index 00000000..f7c43c0a --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/l0l33t/templates/media/images/Lminus.png diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/l0l33t/templates/media/images/Lplus.png b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/l0l33t/templates/media/images/Lplus.png Binary files differnew file mode 100755 index 00000000..848ec2fc --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/l0l33t/templates/media/images/Lplus.png diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/l0l33t/templates/media/images/T.png b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/l0l33t/templates/media/images/T.png Binary files differnew file mode 100755 index 00000000..30173254 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/l0l33t/templates/media/images/T.png diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/l0l33t/templates/media/images/Tminus.png b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/l0l33t/templates/media/images/Tminus.png Binary files differnew file mode 100755 index 00000000..2260e424 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/l0l33t/templates/media/images/Tminus.png diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/l0l33t/templates/media/images/Tplus.png b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/l0l33t/templates/media/images/Tplus.png Binary files differnew file mode 100755 index 00000000..2c8d8f4f --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/l0l33t/templates/media/images/Tplus.png diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/l0l33t/templates/media/images/blank.png b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/l0l33t/templates/media/images/blank.png Binary files differnew file mode 100755 index 00000000..cee9cd37 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/l0l33t/templates/media/images/blank.png diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/l0l33t/templates/media/images/empty.png b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/l0l33t/templates/media/images/empty.png Binary files differnew file mode 100755 index 00000000..d5683865 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/l0l33t/templates/media/images/empty.png diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/l0l33t/templates/media/lib/classTree.js b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/l0l33t/templates/media/lib/classTree.js new file mode 100755 index 00000000..ebb3fb4a --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/l0l33t/templates/media/lib/classTree.js @@ -0,0 +1,454 @@ +/*----------------------------------------\ +| Cross Browser Tree Widget 1.1 | +|-----------------------------------------| +| Created by Emil A. Eklund (eae@eae.net) | +| For WebFX (http://webfx.eae.net/) | +|-----------------------------------------| +| This script is provided as is without | +| any warranty whatsoever. It may be used | +| free of charge for non commerical sites | +| For commerical use contact the author | +| of this script for further details. | +|-----------------------------------------| +| Created 2000-12-11 | Updated 2001-09-06 | +\----------------------------------------*/ + +var webFXTreeConfig = { + rootIcon : 'media/images/empty.png', + openRootIcon : 'media/images/empty.png', + folderIcon : 'media/images/empty.png', + openFolderIcon : 'media/images/empty.png', + fileIcon : 'media/images/empty.png', + iIcon : 'media/images/I.png', + lIcon : 'media/images/L.png', + lMinusIcon : 'media/images/Lminus.png', + lPlusIcon : 'media/images/Lplus.png', + tIcon : 'media/images/T.png', + tMinusIcon : 'media/images/Tminus.png', + tPlusIcon : 'media/images/Tplus.png', + blankIcon : 'media/images/blank.png', + defaultText : 'Tree Item', + defaultAction : 'javascript:void(0);', + defaultTarget : 'right', + defaultBehavior : 'classic' +}; + +var webFXTreeHandler = { + idCounter : 0, + idPrefix : "webfx-tree-object-", + all : {}, + behavior : null, + selected : null, + getId : function() { return this.idPrefix + this.idCounter++; }, + toggle : function (oItem) { this.all[oItem.id.replace('-plus','')].toggle(); }, + select : function (oItem) { this.all[oItem.id.replace('-icon','')].select(); }, + focus : function (oItem) { this.all[oItem.id.replace('-anchor','')].focus(); }, + blur : function (oItem) { this.all[oItem.id.replace('-anchor','')].blur(); }, + keydown : function (oItem) { return this.all[oItem.id].keydown(window.event.keyCode); }, + cookies : new WebFXCookie() +}; + +/* + * WebFXCookie class + */ + +function WebFXCookie() { + if (document.cookie.length) { this.cookies = ' ' + document.cookie; } +} + +WebFXCookie.prototype.setCookie = function (key, value) { + document.cookie = key + "=" + escape(value); +} + +WebFXCookie.prototype.getCookie = function (key) { + if (this.cookies) { + var start = this.cookies.indexOf(' ' + key + '='); + if (start == -1) { return null; } + var end = this.cookies.indexOf(";", start); + if (end == -1) { end = this.cookies.length; } + end -= start; + var cookie = this.cookies.substr(start,end); + return unescape(cookie.substr(cookie.indexOf('=') + 1, cookie.length - cookie.indexOf('=') + 1)); + } + else { return null; } +} + +/* + * WebFXTreeAbstractNode class + */ + +function WebFXTreeAbstractNode(sText, sAction, sTarget) { + this.childNodes = []; + this.id = webFXTreeHandler.getId(); + this.text = sText || webFXTreeConfig.defaultText; + this.action = sAction || webFXTreeConfig.defaultAction; + this.targetWindow = sTarget || webFXTreeConfig.defaultTarget; + this._last = false; + webFXTreeHandler.all[this.id] = this; +} + +WebFXTreeAbstractNode.prototype.add = function (node) { + node.parentNode = this; + this.childNodes[this.childNodes.length] = node; + var root = this; + if (this.childNodes.length >=2) { + this.childNodes[this.childNodes.length -2]._last = false; + } + while (root.parentNode) { root = root.parentNode; } + if (root.rendered) { + if (this.childNodes.length >= 2) { + document.getElementById(this.childNodes[this.childNodes.length -2].id + '-plus').src = ((this.childNodes[this.childNodes.length -2].folder)?webFXTreeConfig.tMinusIcon:webFXTreeConfig.tIcon); + if (this.childNodes[this.childNodes.length -2].folder) { + this.childNodes[this.childNodes.length -2].plusIcon = webFXTreeConfig.tPlusIcon; + this.childNodes[this.childNodes.length -2].minusIcon = webFXTreeConfig.tMinusIcon; + } + this.childNodes[this.childNodes.length -2]._last = false; + } + this._last = true; + var foo = this; + while (foo.parentNode) { + for (var i = 0; i < foo.parentNode.childNodes.length; i++) { + if (foo.id == foo.parentNode.childNodes[i].id) { break; } + } + if (++i == foo.parentNode.childNodes.length) { foo.parentNode._last = true; } + else { foo.parentNode._last = false; } + foo = foo.parentNode; + } + document.getElementById(this.id + '-cont').insertAdjacentHTML("beforeEnd", node.toString()); + if ((!this.folder) && (!this.openIcon)) { + this.icon = webFXTreeConfig.folderIcon; + this.openIcon = webFXTreeConfig.openFolderIcon; + } + this.folder = true; + this.indent(); + this.expand(); + } + return node; +} + +WebFXTreeAbstractNode.prototype.toggle = function() { + if (this.folder) { + if (this.open) { this.collapse(); } + else { this.expand(); } + } +} + +WebFXTreeAbstractNode.prototype.select = function() { + document.getElementById(this.id + '-anchor').focus(); +} + +WebFXTreeAbstractNode.prototype.focus = function() { + webFXTreeHandler.selected = this; + if ((this.openIcon) && (webFXTreeHandler.behavior != 'classic')) { document.getElementById(this.id + '-icon').src = this.openIcon; } + document.getElementById(this.id + '-anchor').style.backgroundColor = 'highlight'; + document.getElementById(this.id + '-anchor').style.color = 'highlighttext'; + document.getElementById(this.id + '-anchor').focus(); +} + +WebFXTreeAbstractNode.prototype.blur = function() { + if ((this.openIcon) && (webFXTreeHandler.behavior != 'classic')) { document.getElementById(this.id + '-icon').src = this.icon; } + document.getElementById(this.id + '-anchor').style.backgroundColor = 'transparent'; + document.getElementById(this.id + '-anchor').style.color = 'menutext'; +} + +WebFXTreeAbstractNode.prototype.doExpand = function() { + if (webFXTreeHandler.behavior == 'classic') { document.getElementById(this.id + '-icon').src = this.openIcon; } + if (this.childNodes.length) { document.getElementById(this.id + '-cont').style.display = 'block'; } + this.open = true; + webFXTreeHandler.cookies.setCookie(this.id.substr(18,this.id.length - 18), '1'); +} + +WebFXTreeAbstractNode.prototype.doCollapse = function() { + if (webFXTreeHandler.behavior == 'classic') { document.getElementById(this.id + '-icon').src = this.icon; } + if (this.childNodes.length) { document.getElementById(this.id + '-cont').style.display = 'none'; } + this.open = false; + webFXTreeHandler.cookies.setCookie(this.id.substr(18,this.id.length - 18), '0'); +} + +WebFXTreeAbstractNode.prototype.expandAll = function() { + this.expandChildren(); + if ((this.folder) && (!this.open)) { this.expand(); } +} + +WebFXTreeAbstractNode.prototype.expandChildren = function() { + for (var i = 0; i < this.childNodes.length; i++) { + this.childNodes[i].expandAll(); +} } + +WebFXTreeAbstractNode.prototype.collapseAll = function() { + if ((this.folder) && (this.open)) { this.collapse(); } + this.collapseChildren(); +} + +WebFXTreeAbstractNode.prototype.collapseChildren = function() { + for (var i = 0; i < this.childNodes.length; i++) { + this.childNodes[i].collapseAll(); +} } + +WebFXTreeAbstractNode.prototype.indent = function(lvl, del, last, level) { + /* + * Since we only want to modify items one level below ourself, + * and since the rightmost indentation position is occupied by + * the plus icon we set this to -2 + */ + if (lvl == null) { lvl = -2; } + var state = 0; + for (var i = this.childNodes.length - 1; i >= 0 ; i--) { + state = this.childNodes[i].indent(lvl + 1, del, last, level); + if (state) { return; } + } + if (del) { + if (level >= this._level) { + if (this.folder) { + document.getElementById(this.id + '-plus').src = (this.open)?webFXTreeConfig.lMinusIcon:webFXTreeConfig.lPlusIcon; + this.plusIcon = webFXTreeConfig.lPlusIcon; + this.minusIcon = webFXTreeConfig.lMinusIcon; + } + else { document.getElementById(this.id + '-plus').src = webFXTreeConfig.lIcon; } + return 1; + } + } + var foo = document.getElementById(this.id + '-indent-' + lvl); + if (foo) { + if ((del) && (last)) { foo._last = true; } + if (foo._last) { foo.src = webFXTreeConfig.blankIcon; } + else { foo.src = webFXTreeConfig.iIcon; } + } + return 0; +} + +/* + * WebFXTree class + */ + +function WebFXTree(sText, sAction, sBehavior, sIcon, sOpenIcon) { + this.base = WebFXTreeAbstractNode; + this.base(sText, sAction); + this.icon = sIcon || webFXTreeConfig.rootIcon; + this.openIcon = sOpenIcon || webFXTreeConfig.openRootIcon; + /* Defaults to open */ + this.open = (webFXTreeHandler.cookies.getCookie(this.id.substr(18,this.id.length - 18)) == '0')?false:true; + this.folder = true; + this.rendered = false; + if (!webFXTreeHandler.behavior) { webFXTreeHandler.behavior = sBehavior || webFXTreeConfig.defaultBehavior; } + this.targetWindow = 'right'; +} + +WebFXTree.prototype = new WebFXTreeAbstractNode; + +WebFXTree.prototype.setBehavior = function (sBehavior) { + webFXTreeHandler.behavior = sBehavior; +}; + +WebFXTree.prototype.getBehavior = function (sBehavior) { + return webFXTreeHandler.behavior; +}; + +WebFXTree.prototype.getSelected = function() { + if (webFXTreeHandler.selected) { return webFXTreeHandler.selected; } + else { return null; } +} + +WebFXTree.prototype.remove = function() { } + +WebFXTree.prototype.expand = function() { + this.doExpand(); +} + +WebFXTree.prototype.collapse = function() { + this.focus(); + this.doCollapse(); +} + +WebFXTree.prototype.getFirst = function() { + return null; +} + +WebFXTree.prototype.getLast = function() { + return null; +} + +WebFXTree.prototype.getNextSibling = function() { + return null; +} + +WebFXTree.prototype.getPreviousSibling = function() { + return null; +} + +WebFXTree.prototype.keydown = function(key) { + if (key == 39) { this.expand(); return false; } + if (key == 37) { this.collapse(); return false; } + if ((key == 40) && (this.open)) { this.childNodes[0].select(); return false; } + return true; +} + +WebFXTree.prototype.toString = function() { + var str = "<div id=\"" + this.id + "\" ondblclick=\"webFXTreeHandler.toggle(this);\" class=\"webfx-tree-item\" onkeydown=\"return webFXTreeHandler.keydown(this)\">"; + str += "<img id=\"" + this.id + "-icon\" class=\"webfx-tree-icon\" src=\"" + ((webFXTreeHandler.behavior == 'classic' && this.open)?this.openIcon:this.icon) + "\" onclick=\"webFXTreeHandler.select(this);\"><a href=\"" + this.action + "\" id=\"" + this.id + "-anchor\" target=\"" + this.targetWindow + "\" onfocus=\"webFXTreeHandler.focus(this);\" onblur=\"webFXTreeHandler.blur(this);\">" + this.text + "</a></div>"; + str += "<div id=\"" + this.id + "-cont\" class=\"webfx-tree-container\" style=\"display: " + ((this.open)?'block':'none') + ";\">"; + for (var i = 0; i < this.childNodes.length; i++) { + str += this.childNodes[i].toString(i, this.childNodes.length); + } + str += "</div>"; + this.rendered = true; + return str; +}; + +/* + * WebFXTreeItem class + */ + +function WebFXTreeItem(sText, sAction, eParent, sIcon, sOpenIcon) { + this.base = WebFXTreeAbstractNode; + this.base(sText, sAction); + /* Defaults to close */ + this.open = (webFXTreeHandler.cookies.getCookie(this.id.substr(18,this.id.length - 18)) == '1')?true:false; + if (eParent) { eParent.add(this); } + if (sIcon) { this.icon = sIcon; } + if (sOpenIcon) { this.openIcon = sOpenIcon; } +} + +WebFXTreeItem.prototype = new WebFXTreeAbstractNode; + +WebFXTreeItem.prototype.remove = function() { + var parentNode = this.parentNode; + var prevSibling = this.getPreviousSibling(true); + var nextSibling = this.getNextSibling(true); + var folder = this.parentNode.folder; + var last = ((nextSibling) && (nextSibling.parentNode) && (nextSibling.parentNode.id == parentNode.id))?false:true; + this.getPreviousSibling().focus(); + this._remove(); + if (parentNode.childNodes.length == 0) { + parentNode.folder = false; + parentNode.open = false; + } + if (last) { + if (parentNode.id == prevSibling.id) { + document.getElementById(parentNode.id + '-icon').src = webFXTreeConfig.fileIcon; + } + else { } + } + if ((!prevSibling.parentNode) || (prevSibling.parentNode != parentNode)) { + parentNode.indent(null, true, last, this._level); + } + if (document.getElementById(prevSibling.id + '-plus')) { + if (nextSibling) { + if ((parentNode == prevSibling) && (parentNode.getNextSibling)) { document.getElementById(prevSibling.id + '-plus').src = webFXTreeConfig.tIcon; } + else if (nextSibling.parentNode != prevSibling) { document.getElementById(prevSibling.id + '-plus').src = webFXTreeConfig.lIcon; } + } + else { document.getElementById(prevSibling.id + '-plus').src = webFXTreeConfig.lIcon; } + } +} + +WebFXTreeItem.prototype._remove = function() { + for (var i = this.childNodes.length - 1; i >= 0; i--) { + this.childNodes[i]._remove(); + } + for (var i = 0; i < this.parentNode.childNodes.length; i++) { + if (this.id == this.parentNode.childNodes[i].id) { + for (var j = i; j < this.parentNode.childNodes.length; j++) { + this.parentNode.childNodes[i] = this.parentNode.childNodes[i+1] + } + this.parentNode.childNodes.length = this.parentNode.childNodes.length - 1; + if (i + 1 == this.parentNode.childNodes.length) { this.parentNode._last = true; } + } + } + webFXTreeHandler.all[this.id] = null; + if (document.getElementById(this.id)) { + document.getElementById(this.id).innerHTML = ""; + document.getElementById(this.id).removeNode(); + } +} + +WebFXTreeItem.prototype.expand = function() { + this.doExpand(); + document.getElementById(this.id + '-plus').src = this.minusIcon; +} + +WebFXTreeItem.prototype.collapse = function() { + this.focus(); + this.doCollapse(); + document.getElementById(this.id + '-plus').src = this.plusIcon; +} + +WebFXTreeItem.prototype.getFirst = function() { + return this.childNodes[0]; +} + +WebFXTreeItem.prototype.getLast = function() { + if (this.childNodes[this.childNodes.length - 1].open) { return this.childNodes[this.childNodes.length - 1].getLast(); } + else { return this.childNodes[this.childNodes.length - 1]; } +} + +WebFXTreeItem.prototype.getNextSibling = function() { + for (var i = 0; i < this.parentNode.childNodes.length; i++) { + if (this == this.parentNode.childNodes[i]) { break; } + } + if (++i == this.parentNode.childNodes.length) { return this.parentNode.getNextSibling(); } + else { return this.parentNode.childNodes[i]; } +} + +WebFXTreeItem.prototype.getPreviousSibling = function(b) { + for (var i = 0; i < this.parentNode.childNodes.length; i++) { + if (this == this.parentNode.childNodes[i]) { break; } + } + if (i == 0) { return this.parentNode; } + else { + if ((this.parentNode.childNodes[--i].open) || (b && this.parentNode.childNodes[i].folder)) { return this.parentNode.childNodes[i].getLast(); } + else { return this.parentNode.childNodes[i]; } +} } + +WebFXTreeItem.prototype.keydown = function(key) { + if ((key == 39) && (this.folder)) { + if (!this.open) { this.expand(); return false; } + else { this.getFirst().select(); return false; } + } + else if (key == 37) { + if (this.open) { this.collapse(); return false; } + else { this.parentNode.select(); return false; } + } + else if (key == 40) { + if (this.open) { this.getFirst().select(); return false; } + else { + var sib = this.getNextSibling(); + if (sib) { sib.select(); return false; } + } } + else if (key == 38) { this.getPreviousSibling().select(); return false; } + return true; +} + +WebFXTreeItem.prototype.toString = function (nItem, nItemCount) { + var foo = this.parentNode; + var indent = ''; + if (nItem + 1 == nItemCount) { this.parentNode._last = true; } + var i = 0; + while (foo.parentNode) { + foo = foo.parentNode; + indent = "<img id=\"" + this.id + "-indent-" + i + "\" src=\"" + ((foo._last)?webFXTreeConfig.blankIcon:webFXTreeConfig.iIcon) + "\">" + indent; + i++; + } + this._level = i; + if (this.childNodes.length) { this.folder = 1; } + else { this.open = false; } + if ((this.folder) || (webFXTreeHandler.behavior != 'classic')) { + if (!this.icon) { this.icon = webFXTreeConfig.folderIcon; } + if (!this.openIcon) { this.openIcon = webFXTreeConfig.openFolderIcon; } + } + else if (!this.icon) { this.icon = webFXTreeConfig.fileIcon; } + var label = this.text; + label = label.replace('<', '<'); + label = label.replace('>', '>'); + var str = "<div id=\"" + this.id + "\" ondblclick=\"webFXTreeHandler.toggle(this);\" class=\"webfx-tree-item\" onkeydown=\"return webFXTreeHandler.keydown(this)\">"; + str += indent; + str += "<img id=\"" + this.id + "-plus\" src=\"" + ((this.folder)?((this.open)?((this.parentNode._last)?webFXTreeConfig.lMinusIcon:webFXTreeConfig.tMinusIcon):((this.parentNode._last)?webFXTreeConfig.lPlusIcon:webFXTreeConfig.tPlusIcon)):((this.parentNode._last)?webFXTreeConfig.lIcon:webFXTreeConfig.tIcon)) + "\" onclick=\"webFXTreeHandler.toggle(this);\">" + str += "<img id=\"" + this.id + "-icon\" src=\"" + ((webFXTreeHandler.behavior == 'classic' && this.open)?this.openIcon:this.icon) + "\" onclick=\"webFXTreeHandler.select(this);\"><a href=\"" + this.action + "\" id=\"" + this.id + "-anchor\" target=\"" + this.targetWindow + "\" onfocus=\"webFXTreeHandler.focus(this);\" onblur=\"webFXTreeHandler.blur(this);\">" + label + "</a></div>"; + str += "<div id=\"" + this.id + "-cont\" class=\"webfx-tree-container\" style=\"display: " + ((this.open)?'block':'none') + ";\">"; + for (var i = 0; i < this.childNodes.length; i++) { + str += this.childNodes[i].toString(i,this.childNodes.length); + } + str += "</div>"; + this.plusIcon = ((this.parentNode._last)?webFXTreeConfig.lPlusIcon:webFXTreeConfig.tPlusIcon); + this.minusIcon = ((this.parentNode._last)?webFXTreeConfig.lMinusIcon:webFXTreeConfig.tMinusIcon); + return str; +}
\ No newline at end of file diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/l0l33t/templates/media/minus.gif b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/l0l33t/templates/media/minus.gif Binary files differnew file mode 100755 index 00000000..f502662b --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/l0l33t/templates/media/minus.gif diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/l0l33t/templates/media/plus.gif b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/l0l33t/templates/media/plus.gif Binary files differnew file mode 100755 index 00000000..eeca02ce --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/l0l33t/templates/media/plus.gif diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/l0l33t/templates/media/stylesheet.css b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/l0l33t/templates/media/stylesheet.css new file mode 100755 index 00000000..3552b78f --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/l0l33t/templates/media/stylesheet.css @@ -0,0 +1,196 @@ +a +{ + color: #336699; + text-decoration: underline; +} + +a:hover, a:active, a:focus +{ + text-decoration: underline; + color: #6699CC +} + +body { background : #FFFFFF; font-family: "Courier New", Courier, fixed; font-size: 10pt } +table { font-size: 10pt } +p, li { line-height: 140% } +a img { border: 0px; } +dd { margin-left: 0px; padding-left: 1em; } + +/* Page layout/boxes */ + +.info-box {} +.info-box-title { margin: 1em 0em 0em 0em; padding: .25em; font-weight: normal; font-size: 14pt; border: 1px solid #336699; background-color: #EEEEEE } +.info-box-body { border: 1px solid #999999; padding: .5em; } +.nav-bar { font-size: 8pt; white-space: nowrap; text-align: right; padding: .2em; margin: 0em 0em 1em 0em; } + +.oddrow { background-color: #F4F4F4; border: 1px solid #AAAAAA; padding: .5em; margin-bottom: 1em} +.evenrow { border: 1px solid #AAAAAA; padding: .5em; margin-bottom: 1em} + +.page-body { max-width: 800px; margin: auto; } +.menu-body { background: #EEEEEE url(bg_left.css) repeat } +.tree dl { margin: 0px } +.tree a { text-decoration: none } +.tree a:hover, .tree a:active, .tree a:focus { text-decoration: underline } + +/* Index formatting classes */ + +.index-item-body { margin-top: .5em; margin-bottom: .5em} +.index-item-description { margin-top: .25em } +.index-item-details { font-weight: normal; font-style: italic; font-size: 8pt } +.index-letter-section { background-color: #EEEEEE; border: 1px dotted #999999; padding: .5em; margin-bottom: 1em} +.index-letter-title { font-size: 12pt; font-weight: bold } +.index-letter-menu { text-align: center; margin: 1em } +.index-letter { font-size: 12pt } + +/* Docbook classes */ + +.description {} +.short-description { font-weight: bold; color: #666666; } +.tags { padding-left: 0em; margin-left: 3em; color: #666666; list-style-type: square; } +.parameters { padding-left: 0em; margin-left: 3em; font-style: italic; list-style-type: square; } +.redefinitions { font-size: 8pt; padding-left: 0em; margin-left: 2em; } +.package { } +.package-title { font-weight: bold; font-size: 14pt; border-bottom: 1px solid black } +.package-details { font-size: 85%; } +.sub-package { font-weight: bold; font-size: 120% } +.tutorial { border-width: thin; border-color: #0066ff } +.tutorial-nav-box { width: 100%; border: 1px solid #AAAAAA; background: #EEEEEE url(bg_left.png) repeat; } +.nav-button-disabled { color: #AAAAAA; } +.nav-button:active, +.nav-button:focus, +.nav-button:hover { background-color: #CCCCCC; outline: 1px solid #999999; text-decoration: none } +.folder-title { font-style: italic } + +/* Generic formatting */ + +.field { font-weight: bold; } +.detail { font-size: 8pt; } +.notes { font-style: italic; font-size: 8pt; } +.separator { background-color: #999999; height: 2px; } +.warning { color: #CC0000; } +.disabled { font-style: italic; color: #999999; } + +/* Code elements */ + +.line-number { } + +.class-table { width: 100%; } +.class-table-header { border-bottom: 1px dotted #666666; text-align: left; background-color: DDDDFF } +.class-name { color: #000000; font-weight: bold; } + +.method-summary { padding-left: 1em; font-size: 8pt } +.method-header { } +.method-definition { margin-bottom: .3em } +.method-title { font-weight: bold } +.method-name { font-weight: bold; } +.method-signature { font-size: 85%; color: #666666; margin: .5em 0em } +.method-result { font-style: italic; } + +.var-summary { padding-left: 1em; font-size: 8pt; } +.var-header { } +.var-title { margin-bottom: .3em } +.var-type { font-style: italic; border: 1px dashed #336699 } +.var-name { font-weight: bold; } +.var-default { border: 1px dashed #336699 } +.var-description { font-weight: normal; color: #000000; } + +.include-title { } +.include-type { font-style: italic; } +.include-name { font-weight: bold; } + +.const-title { } +.const-name { font-weight: bold; } + +/* Syntax highlighting */ + +.src-code { border: 1px solid #336699; padding: 1em; + font-family: 'Courier New', Courier, monospace; font-weight: normal; } +.src-line { font-family: 'Courier New', Courier, monospace; font-weight: normal; } + +.src-comm { color: green; } +.src-id { } +.src-inc { color: #0000FF; } +.src-key { color: #0000FF; } +.src-num { color: #CC0000; } +.src-str { color: #66cccc; } +.src-sym { font-weight: bold; } +.src-var { } + +.src-php { font-weight: bold; } + +.src-doc { color: #009999 } +.src-doc-close-template { color: #0000FF } +.src-doc-coretag { color: #0099FF; font-weight: bold } +.src-doc-inlinetag { color: #0099FF } +.src-doc-internal { color: #6699cc } +.src-doc-tag { color: #0080CC } +.src-doc-template { color: #0000FF } +.src-doc-type { font-style: italic } +.src-doc-var { font-style: italic } + +.tute-tag { color: #009999 } +.tute-attribute-name { color: #0000FF } +.tute-attribute-value { color: #0099FF } +.tute-entity { font-weight: bold; } +.tute-comment { font-style: italic } +.tute-inline-tag { color: #636311; font-weight: bold } + +/* tutorial */ + +.authors { } +.author { font-style: italic; font-weight: bold } +.author-blurb { margin: .5em 0em .5em 2em; font-size: 85%; font-weight: normal; font-style: normal } +.example { border: 1px solid #336699; background-color: #F4F4F4; padding: .5em; } +.listing { border: 1px solid #336699; background-color: #F4F4F4; padding: .5em; white-space: nowrap; } +.release-info { font-size: 85%; font-style: italic; margin: 1em 0em } +.ref-title-box { } +.ref-title { } +.ref-purpose { font-style: italic; color: #666666 } +.ref-synopsis { } +.title { font-weight: bold; border-bottom: 1px solid #336699; padding: 2px } +.cmd-synopsis { margin: 1em 0em } +.cmd-title { font-weight: bold } +.toc { margin-left: 2em; padding-left: 0em } + +/*------------------------------------------------------------------------------ + webfx-tree +------------------------------------------------------------------------------*/ + +.webfx-tree-container { + margin: 0px; + padding: 0px; + white-space: nowrap; + font: icon; +} + +.webfx-tree-item { + padding: 0px; + margin: 0px; + color: black; + white-space: nowrap; + font: icon; +} + +.webfx-tree-item a { + margin-left: 3px; + padding: 1px 2px 1px 2px; + color: black; + text-decoration: none; +} + +.webfx-tree-item a:hover, .webfx-tree-item a:active, .webfx-tree-item a:focus { + color: white; + background: #6699CC; + text-decoration: none +} + +.webfx-tree-item img { + vertical-align: middle; + border: 0px; +} + +.webfx-tree-icon { + width: 16px; + height: 16px; +} + diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/l0l33t/templates/method.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/l0l33t/templates/method.tpl new file mode 100755 index 00000000..06d57a12 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/l0l33t/templates/method.tpl @@ -0,0 +1,149 @@ +<A NAME='method_detail'></A> +{section name=methods loop=$methods} +{if $methods[methods].static} +<a name="method{$methods[methods].function_name}" id="{$methods[methods].function_name}"><!-- --></a> +<div class="{cycle values="evenrow,oddrow"}"> + + <div class="method-header"> + <span class="method-title">static {$methods[methods].function_name}</span> (line <span class="line-number">{if $methods[methods].slink}{$methods[methods].slink}{else}{$methods[methods].line_number}{/if}</span>) + </div> + + {include file="docblock.tpl" sdesc=$methods[methods].sdesc desc=$methods[methods].desc tags=$methods[methods].tags params=$methods[methods].params function=false} + + <div class="method-signature"> + static <span class="method-result">{$methods[methods].function_return}</span> + <span class="method-name"> + {if $methods[methods].ifunction_call.returnsref}&{/if}{$methods[methods].function_name} + </span> + {if count($methods[methods].ifunction_call.params)} + ({section name=params loop=$methods[methods].ifunction_call.params}{if $smarty.section.params.iteration != 1}, {/if}{if $methods[methods].ifunction_call.params[params].hasdefault}[{/if}<span class="var-type">{$methods[methods].ifunction_call.params[params].type}</span> <span class="var-name">{$methods[methods].ifunction_call.params[params].name}</span>{if $methods[methods].ifunction_call.params[params].hasdefault} = <span class="var-default">{$methods[methods].ifunction_call.params[params].default}</span>]{/if}{/section}) + {else} + () + {/if} + </div> + + {if $methods[methods].params} + <ul class="parameters"> + {section name=params loop=$methods[methods].params} + <li> + <span class="var-type">{$methods[methods].params[params].datatype}</span> + <span class="var-name">{$methods[methods].params[params].var}</span>{if $methods[methods].params[params].data}<span class="var-description">: {$methods[methods].params[params].data}</span>{/if} + </li> + {/section} + </ul> + {/if} + + {if $methods[methods].method_overrides} + <hr class="separator" /> + <div class="notes">Redefinition of:</div> + <dl> + <dt>{$methods[methods].method_overrides.link}</dt> + {if $methods[methods].method_overrides.sdesc} + <dd>{$methods[methods].method_overrides.sdesc}</dd> + {/if} + </dl> + {/if} + {if $methods[methods].method_implements} + <hr class="separator" /> + <div class="notes">Implementation of:</div> + {section name=imp loop=$methods[methods].method_implements} + <dl> + <dt>{$methods[methods].method_implements[imp].link}</dt> + {if $methods[methods].method_implements[imp].sdesc} + <dd>{$methods[methods].method_implements[imp].sdesc}</dd> + {/if} + </dl> + {/section} + {/if} + + {if $methods[methods].descmethod} + <hr class="separator" /> + <div class="notes">Redefined in descendants as:</div> + <ul class="redefinitions"> + {section name=dm loop=$methods[methods].descmethod} + <li> + {$methods[methods].descmethod[dm].link} + {if $methods[methods].descmethod[dm].sdesc} + : {$methods[methods].descmethod[dm].sdesc} + {/if} + </li> + {/section} + </ul> + {/if} +</div> +{/if} +{/section} +{section name=methods loop=$methods} +{if !$methods[methods].static} +<a name="method{$methods[methods].function_name}" id="{$methods[methods].function_name}"><!-- --></a> +<div class="{cycle values="evenrow,oddrow"}"> + + <div class="method-header"> + <span class="method-title">{if $methods[methods].ifunction_call.constructor}Constructor {elseif $methods[methods].ifunction_call.destructor}Destructor {/if}{$methods[methods].function_name}</span> (line <span class="line-number">{if $methods[methods].slink}{$methods[methods].slink}{else}{$methods[methods].line_number}{/if}</span>) + </div> + + {include file="docblock.tpl" sdesc=$methods[methods].sdesc desc=$methods[methods].desc tags=$methods[methods].tags params=$methods[methods].params function=false} + + <div class="method-signature"> + <span class="method-result">{$methods[methods].function_return}</span> + <span class="method-name"> + {if $methods[methods].ifunction_call.returnsref}&{/if}{$methods[methods].function_name} + </span> + {if count($methods[methods].ifunction_call.params)} + ({section name=params loop=$methods[methods].ifunction_call.params}{if $smarty.section.params.iteration != 1}, {/if}{if $methods[methods].ifunction_call.params[params].hasdefault}[{/if}<span class="var-type">{$methods[methods].ifunction_call.params[params].type}</span> <span class="var-name">{$methods[methods].ifunction_call.params[params].name}</span>{if $methods[methods].ifunction_call.params[params].hasdefault} = <span class="var-default">{$methods[methods].ifunction_call.params[params].default}</span>]{/if}{/section}) + {else} + () + {/if} + </div> + + {if $methods[methods].params} + <ul class="parameters"> + {section name=params loop=$methods[methods].params} + <li> + <span class="var-type">{$methods[methods].params[params].datatype}</span> + <span class="var-name">{$methods[methods].params[params].var}</span>{if $methods[methods].params[params].data}<span class="var-description">: {$methods[methods].params[params].data}</span>{/if} + </li> + {/section} + </ul> + {/if} + + {if $methods[methods].method_overrides} + <hr class="separator" /> + <div class="notes">Redefinition of:</div> + <dl> + <dt>{$methods[methods].method_overrides.link}</dt> + {if $methods[methods].method_overrides.sdesc} + <dd>{$methods[methods].method_overrides.sdesc}</dd> + {/if} + </dl> + {/if} + {if $methods[methods].method_implements} + <hr class="separator" /> + <div class="notes">Implementation of:</div> + {section name=imp loop=$methods[methods].method_implements} + <dl> + <dt>{$methods[methods].method_implements[imp].link}</dt> + {if $methods[methods].method_implements[imp].sdesc} + <dd>{$methods[methods].method_implements[imp].sdesc}</dd> + {/if} + </dl> + {/section} + {/if} + + {if $methods[methods].descmethod} + <hr class="separator" /> + <div class="notes">Redefined in descendants as:</div> + <ul class="redefinitions"> + {section name=dm loop=$methods[methods].descmethod} + <li> + {$methods[methods].descmethod[dm].link} + {if $methods[methods].descmethod[dm].sdesc} + : {$methods[methods].descmethod[dm].sdesc} + {/if} + </li> + {/section} + </ul> + {/if} +</div> +{/if} +{/section} diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/l0l33t/templates/page.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/l0l33t/templates/page.tpl new file mode 100755 index 00000000..b5980236 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/l0l33t/templates/page.tpl @@ -0,0 +1,211 @@ +{include file="header.tpl" top3=true} + +<h2 class="file-name">{$source_location}</h2> + +<a name="sec-description"></a> +<div class="info-box"> + <div class="info-box-title">Description</div> + <div class="nav-bar"> + {if $classes || $includes || $defines || $globals || $functions} + <span class="disabled">Description</span> | + {/if} + {if $classes} + <a href="#sec-classes">Classes</a> + {if $includes || $defines || $globals || $functions}|{/if} + {/if} + {if $includes} + <a href="#sec-includes">Includes</a> + {if $defines || $globals || $functions}|{/if} + {/if} + {if $defines} + <a href="#sec-constants">Constants</a> + {if $globals || $functions}|{/if} + {/if} + {if $globals} + <a href="#sec-variables">Variables</a> + {if $functions}|{/if} + {/if} + {if $functions} + <a href="#sec-functions">Functions</a> + {/if} + </div> + <div class="info-box-body"> + {include file="docblock.tpl" desc=$desc sdesc=$sdesc tags=$tags} + + {if $tutorial} + <hr class="separator" /> + <div class="notes">Tutorial: <span class="tutorial">{$tutorial}</div> + {/if} + </div> +</div> + +{if $classes} + <a name="sec-classes"></a> + <div class="info-box"> + <div class="info-box-title">Classes</div> + <div class="nav-bar"> + <a href="#sec-description">Description</a> | + <span class="disabled">Classes</span> + {if $includes || $defines || $globals || $functions}|{/if} + {if $includes} + <a href="#sec-includes">Includes</a> + {if $defines || $globals || $functions}|{/if} + {/if} + {if $defines} + <a href="#sec-constants">Constants</a> + {if $globals || $functions}|{/if} + {/if} + {if $globals} + <a href="#sec-variables">Variables</a> + {if $functions}|{/if} + {/if} + {if $functions} + <a href="#sec-functions">Functions</a> + {/if} + </div> + <div class="info-box-body"> + <table cellpadding="2" cellspacing="0" class="class-table"> + <tr> + <th class="class-table-header">Class</th> + <th class="class-table-header">Description</th> + </tr> + {section name=classes loop=$classes} + <tr> + <td style="padding-right: 2em; vertical-align: top"> + {$classes[classes].link} + </td> + <td> + {if $classes[classes].sdesc} + {$classes[classes].sdesc} + {else} + {$classes[classes].desc} + {/if} + </td> + </tr> + {/section} + </table> + </div> + </div> +{/if} + +{if $includes} + <a name="sec-includes"></a> + <div class="info-box"> + <div class="info-box-title">Includes</div> + <div class="nav-bar"> + <a href="#sec-description">Description</a> | + {if $classes} + <a href="#sec-classes">Classes</a> + {if $includes || $defines || $globals || $functions}|{/if} + {/if} + <span class="disabled">Includes</span> + {if $defines || $globals || $functions}|{/if} + {if $defines} + <a href="#sec-constants">Constants</a> + {if $globals || $functions}|{/if} + {/if} + {if $globals} + <a href="#sec-variables">Variables</a> + {if $functions}|{/if} + {/if} + {if $functions} + <a href="#sec-functions">Functions</a> + {/if} + </div> + <div class="info-box-body"> + {include file="include.tpl"} + </div> + </div> +{/if} + +{if $defines} + <a name="sec-constants"></a> + <div class="info-box"> + <div class="info-box-title">Constants</div> + <div class="nav-bar"> + <a href="#sec-description">Description</a> | + {if $classes} + <a href="#sec-classes">Classes</a> + {if $includes || $defines || $globals || $functions}|{/if} + {/if} + {if $includes} + <a href="#sec-includes">Includes</a> + {if $defines || $globals || $functions}|{/if} + {/if} + <span class="disabled">Constants</span> + {if $globals || $functions}|{/if} + {if $globals} + <a href="#sec-variables">Variables</a> + {if $functions}|{/if} + {/if} + {if $functions} + <a href="#sec-functions">Functions</a> + {/if} + </div> + <div class="info-box-body"> + {include file="define.tpl"} + </div> + </div> +{/if} + +{if $globals} + <a name="sec-variables"></a> + <div class="info-box"> + <div class="info-box-title">Variables</div> + <div class="nav-bar"> + <a href="#sec-description">Description</a> | + {if $classes} + <a href="#sec-classes">Classes</a> + {if $includes || $defines || $globals || $functions}|{/if} + {/if} + {if $includes} + <a href="#sec-includes">Includes</a> + {if $defines || $globals || $functions}|{/if} + {/if} + {if $defines} + <a href="#sec-constants">Constants</a> + {if $globals || $functions}|{/if} + {/if} + <span class="disabled">Variables</span> + {if $functions}|{/if} + {if $functions} + <a href="#sec-functions">Functions</a> + {/if} + </div> + <div class="info-box-body"> + {include file="global.tpl"} + </div> + </div> +{/if} + +{if $functions} + <a name="sec-functions"></a> + <div class="info-box"> + <div class="info-box-title">Functions</div> + <div class="nav-bar"> + <a href="#sec-description">Description</a> | + {if $classes} + <a href="#sec-classes">Classes</a> + {if $includes || $defines || $globals || $functions}|{/if} + {/if} + {if $includes} + <a href="#sec-includes">Includes</a> + {if $defines || $globals || $functions}|{/if} + {/if} + {if $defines} + <a href="#sec-constants">Constants</a> + {if $globals || $functions}|{/if} + {/if} + {if $globals} + <a href="#sec-variables">Variables</a> + {if $functions}|{/if} + {/if} + <span class="disabled">Functions</span> + </div> + <div class="info-box-body"> + {include file="function.tpl"} + </div> + </div> +{/if} + +{include file="footer.tpl" top3=true} diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/l0l33t/templates/pkgelementindex.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/l0l33t/templates/pkgelementindex.tpl new file mode 100755 index 00000000..dc283ad0 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/l0l33t/templates/pkgelementindex.tpl @@ -0,0 +1,17 @@ +{include file="header.tpl"} +<a name="top"></a> +<h2>[{$package}] element index</h2> +{if count($packageindex) > 1} + <h3>Package indexes</h3> + <ul> + {section name=p loop=$packageindex} + {if $packageindex[p].title != $package} + <li><a href="elementindex_{$packageindex[p].title}.html">{$packageindex[p].title}</a></li> + {/if} + {/section} + </ul> +{/if} +<a href="elementindex.html">All elements</a> +<br /> +{include file="basicindex.tpl" indexname=elementindex_$package} +{include file="footer.tpl"} diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/l0l33t/templates/ric.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/l0l33t/templates/ric.tpl new file mode 100755 index 00000000..ad792475 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/l0l33t/templates/ric.tpl @@ -0,0 +1,6 @@ +{include file="header.tpl"} +<div align="center"><h1>{$name}</h1></div> +<pre> +{$contents|htmlentities} +</pre> +{include file="footer.tpl"}
\ No newline at end of file diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/l0l33t/templates/todolist.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/l0l33t/templates/todolist.tpl new file mode 100755 index 00000000..f929ccdb --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/l0l33t/templates/todolist.tpl @@ -0,0 +1,14 @@ +{include file="header.tpl" title="Todo List"} +<div align="center"><h1>Todo List</h1></div> +{foreach from=$todos key=todopackage item=todo} +<h2>{$todopackage}</h2> +{section name=todo loop=$todo} +<h3>{$todo[todo].link}</h3> +<ul> +{section name=t loop=$todo[todo].todos} + <li>{$todo[todo].todos[t]}</li> +{/section} +</ul> +{/section} +{/foreach} +{include file="footer.tpl"}
\ No newline at end of file diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/l0l33t/templates/top_frame.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/l0l33t/templates/top_frame.tpl new file mode 100755 index 00000000..36d1e5a1 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/l0l33t/templates/top_frame.tpl @@ -0,0 +1,45 @@ +<?xml version="1.0" encoding="iso-8859-1"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> + <html xmlns="http://www.w3.org/1999/xhtml"> + <head> + <!-- template designed by Marco Von Ballmoos --> + <title>{$title}</title> + <link rel="stylesheet" href="{$subdir}media/stylesheet.css" /> + <link rel="stylesheet" href="{$subdir}media/banner.css" /> + <meta http-equiv='Content-Type' content='text/html; charset=iso-8859-1'/> + </head> + <body> + <div class="banner"> + <div class="banner-title">{$package}</div> + <div class="banner-menu"> + <form> + <table cellpadding="0" cellspacing="0" style="width: 100%"> + <tr> + <td> + {if count($ric) >= 1} + {assign var="last_ric_name" value=""} + {section name=ric loop=$ric} + {if $last_ric_name != ""} | {/if} + <a href="{$ric[ric].file}" target="right">{$ric[ric].name}</a> + {assign var="last_ric_name" value=$ric[ric].name} + {/section} + {/if} + </td> + <td style="width: 2em"> </td> + <td style="text-align: right"> + {if count($packages) > 1} + <span class="field">Packages</span> + <select class="package-selector" onchange="window.parent.left_bottom.location=this[selectedIndex].value"> + {section name=p loop=$packages} + <option value="{$packages[p].link}">{$packages[p].title}</option> + {/section} + </select> + {/if} + </td> + </tr> + </table> + </form> + </div> + </div> + </body> + </html> diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/l0l33t/templates/tutorial.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/l0l33t/templates/tutorial.tpl new file mode 100755 index 00000000..3b9109d1 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/l0l33t/templates/tutorial.tpl @@ -0,0 +1,13 @@ +{include file="header.tpl" title=$title top3=true} + +{if $nav} + {include file="tutorial_nav.tpl" prev=$prev next=$next up=$up prevtitle=$prevtitle nexttitle=$nexttitle uptitle=$uptitle} +{/if} + +{$contents} + +{if $nav} + {include file="tutorial_nav.tpl" prev=$prev next=$next up=$up prevtitle=$prevtitle nexttitle=$nexttitle uptitle=$uptitle} +{/if} + +{include file="footer.tpl" top3=true}
\ No newline at end of file diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/l0l33t/templates/tutorial_nav.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/l0l33t/templates/tutorial_nav.tpl new file mode 100755 index 00000000..89952301 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/l0l33t/templates/tutorial_nav.tpl @@ -0,0 +1,41 @@ +<table class="tutorial-nav-box"> + <tr> + <td style="width: 30%"> + {if $prev} + <a href="{$prev}" class="nav-button">Previous</a> + {else} + <span class="nav-button-disabled">Previous</span> + {/if} + </td> + <td style="text-align: center"> + {if $up} + <a href="{$up}" class="nav-button">Up</a> + {/if} + </td> + <td style="text-align: right; width: 30%"> + {if $next} + <a href="{$next}" class="nav-button">Next</a> + {else} + <span class="nav-button-disabled">Next</span> + {/if} + </td> + </tr> + <tr> + <td style="width: 30%"> + {if $prevtitle} + <span class="detail">{$prevtitle}</span> + {/if} + </td> + <td style="text-align: center"> + {if $uptitle} + <span class="detail">{$uptitle}</span> + {/if} + </td> + <td style="text-align: right; width: 30%"> + {if $nexttitle} + <span class="detail">{$nexttitle}</span> + {/if} + </td> + </tr> +</table> +
\ No newline at end of file diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/l0l33t/templates/tutorial_toc.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/l0l33t/templates/tutorial_toc.tpl new file mode 100755 index 00000000..3482249b --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/l0l33t/templates/tutorial_toc.tpl @@ -0,0 +1,40 @@ +{if count($toc)} +<h1 class="title">Table of Contents</h1> +<ul class="toc"> + {assign var="lastcontext" value='refsect1'} + {section name=toc loop=$toc} + + {if $toc[toc].tagname != $lastcontext} + {if $lastcontext == 'refsect1'} + <ul class="toc"> + <li>{$toc[toc].link}</li> + {else} + {if $lastcontext == 'refsect2'} + {if $toc[toc].tagname == 'refsect1'} + </ul> + <li>{$toc[toc].link}</li> + {/if} + {if $toc[toc].tagname == 'refsect3'} + <ul class="toc"> + <li>{$toc[toc].link}</li> + {/if} + {else} + </ul> + </ul> + <li>{$toc[toc].link}</li> + {/if} + {/if} + {assign var="lastcontext" value=$toc[toc].tagname} + {else} + <li>{$toc[toc].link}</li> + {/if} + {/section} + {if $lastcontext == 'refsect2'} + </ul> + {/if} + {if $lastcontext == 'refsect3'} + </ul> + </ul> + {/if} +</ul> +{/if} diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/l0l33t/templates/tutorial_tree.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/l0l33t/templates/tutorial_tree.tpl new file mode 100755 index 00000000..40d9a4ff --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/l0l33t/templates/tutorial_tree.tpl @@ -0,0 +1,8 @@ + var a{$name|replace:"-":"_"}node = new WebFXTreeItem('{$main.title|strip_tags|escape:"quotes"}','{$main.link}', parent_node); + +{if $haskids} + var a{$name|replace:"-":"_"}_old_parent_node = parent_node; + parent_node = a{$name|replace:"-":"_"}node; + {$kids} + parent_node = a{$name|replace:"-":"_"}_old_parent_node; +{/if} diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/l0l33t/templates/var.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/l0l33t/templates/var.tpl new file mode 100755 index 00000000..fccf6892 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/l0l33t/templates/var.tpl @@ -0,0 +1,92 @@ +{section name=vars loop=$vars} +{if $vars[vars].static} +<a name="var{$vars[vars].var_name}" id="{$vars[vars].var_name}"><!-- --></A> +<div class="{cycle values="evenrow,oddrow"}"> + + <div class="var-header"> + <span class="var-title"> + static <span class="var-type">{$vars[vars].var_type}</span> + <span class="var-name">{$vars[vars].var_name}</span> + {if $vars[vars].var_default} = <span class="var-default">{$vars[vars].var_default|replace:"\n":"<br />"}</span>{/if} + (line <span class="line-number">{if $vars[vars].slink}{$vars[vars].slink}{else}{$vars[vars].line_number}{/if}</span>) + </span> + </div> + + {include file="docblock.tpl" sdesc=$vars[vars].sdesc desc=$vars[vars].desc tags=$vars[vars].tags} + + {if $vars[vars].var_overrides} + <hr class="separator" /> + <div class="notes">Redefinition of:</div> + <dl> + <dt>{$vars[vars].var_overrides.link}</dt> + {if $vars[vars].var_overrides.sdesc} + <dd>{$vars[vars].var_overrides.sdesc}</dd> + {/if} + </dl> + {/if} + + {if $vars[vars].descvar} + <hr class="separator" /> + <div class="notes">Redefined in descendants as:</div> + <ul class="redefinitions"> + {section name=vm loop=$vars[vars].descvar} + <li> + {$vars[vars].descvar[vm].link} + {if $vars[vars].descvar[vm].sdesc} + : {$vars[vars].descvar[vm].sdesc} + {/if} + </li> + {/section} + </ul> + {/if} + +</div> +{/if} +{/section} + +{section name=vars loop=$vars} +{if !$vars[vars].static} +<a name="var{$vars[vars].var_name}" id="{$vars[vars].var_name}"><!-- --></A> +<div class="{cycle values="evenrow,oddrow"}"> + + <div class="var-header"> + <span class="var-title"> + <span class="var-type">{$vars[vars].var_type}</span> + <span class="var-name">{$vars[vars].var_name}</span> + {if $vars[vars].var_default} = <span class="var-default">{$vars[vars].var_default|replace:"\n":"<br />"}</span>{/if} + (line <span class="line-number">{if $vars[vars].slink}{$vars[vars].slink}{else}{$vars[vars].line_number}{/if}</span>) + </span> + </div> + + {include file="docblock.tpl" sdesc=$vars[vars].sdesc desc=$vars[vars].desc tags=$vars[vars].tags} + + {if $vars[vars].var_overrides} + <hr class="separator" /> + <div class="notes">Redefinition of:</div> + <dl> + <dt>{$vars[vars].var_overrides.link}</dt> + {if $vars[vars].var_overrides.sdesc} + <dd>{$vars[vars].var_overrides.sdesc}</dd> + {/if} + </dl> + {/if} + + {if $vars[vars].descvar} + <hr class="separator" /> + <div class="notes">Redefined in descendants as:</div> + <ul class="redefinitions"> + {section name=vm loop=$vars[vars].descvar} + <li> + {$vars[vars].descvar[vm].link} + {if $vars[vars].descvar[vm].sdesc} + : {$vars[vars].descvar[vm].sdesc} + {/if} + </li> + {/section} + </ul> + {/if} + +</div> +{/if} +{/section} + diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/phpdoc.de/options.ini b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/phpdoc.de/options.ini new file mode 100755 index 00000000..084809be --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/phpdoc.de/options.ini @@ -0,0 +1,577 @@ +preservedocbooktags = false + +;; used to highlight the {@source} inline tag, @filesource tag, and @example tag +[highlightSourceTokens] +;; format: +;; T_CONSTANTNAME = open +;; /T_CONSTANTNAME = close + +T_INCLUDE = <span class="src-inc"> +/T_INCLUDE = </span> +T_INCLUDE_ONCE = <span class="src-inc"> +/T_INCLUDE_ONCE = </span> +T_REQUIRE_ONCE = <span class="src-inc"> +/T_REQUIRE_ONCE = </span> +T_REQUIRE_ONCE = <span class="src-inc"> +/T_REQUIRE_ONCE = </span> + +T_CONSTANT_ENCAPSED_STRING = <span class="src-str"> +/T_CONSTANT_ENCAPSED_STRING = </span> +T_STRING_VARNAME = <span class="src-str"> +/T_STRING_VARNAME = </span> + +T_STRING = <span class="src-id"> +/T_STRING = </span> + +T_DNUMBER = <span class="src-num"> +/T_DNUMBER = </span> +T_LNUMBER = <span class="src-num"> +/T_LNUMBER = </span> + +T_VARIABLE = <span class="src-var"> +/T_VARIABLE = </span> + +T_COMMENT = <span class="src-comm"> +/T_COMMENT = </span> +T_ML_COMMENT = <span class="src-comm"> +/T_ML_COMMENT = </span> + +T_OBJECT_OPERATOR = <span class="src-sym"> +/T_OBJECT_OPERATOR = </span> + +T_ABSTRACT = <span class="src-key"> +/T_ABSTRACT = </span> +T_CLONE = <span class="src-key"> +/T_CLONE = </span> +T_HALT_COMPILER = <span class="src-key"> +/T_HALT_COMPILER = </span> +T_ARRAY = <span class="src-key"> +/T_ARRAY = </span> +T_AS = <span class="src-key"> +/T_AS = </span> +T_BREAK = <span class="src-key"> +/T_BREAK = </span> +T_CLASS = <span class="src-key"> +/T_CLASS = </span> +T_CASE = <span class="src-key"> +/T_CASE = </span> +T_CONST = <span class="src-key"> +/T_CONST = </span> +T_CONTINUE = <span class="src-key"> +/T_CONTINUE = </span> +T_DECLARE = <span class="src-key"> +/T_DECLARE = </span> +T_DEFAULT = <span class="src-key"> +/T_DEFAULT = </span> +T_ELSE = <span class="src-key"> +/T_ELSE = </span> +T_ELSEIF = <span class="src-key"> +/T_ELSEIF = </span> +T_EMPTY = <span class="src-key"> +/T_EMPTY = </span> +T_ENDDECLARE = <span class="src-key"> +/T_ENDDECLARE = </span> +T_ENDFOR = <span class="src-key"> +/T_ENDFOR = </span> +T_ENDSWITCH = <span class="src-key"> +/T_ENDSWITCH = </span> +T_ENDFOREACH = <span class="src-key"> +/T_ENDFOREACH = </span> +T_ENDIF = <span class="src-key"> +/T_ENDIF = </span> +T_ENDWHILE = <span class="src-key"> +/T_ENDWHILE = </span> +T_EXIT = <span class="src-key"> +/T_EXIT = </span> +T_EXTENDS = <span class="src-key"> +/T_EXTENDS = </span> +T_FINAL = <span class="src-key"> +/T_FINAL = </span> +T_FOR = <span class="src-key"> +/T_FOR = </span> +T_FOREACH = <span class="src-key"> +/T_FOREACH = </span> +T_FUNCTION = <span class="src-key"> +/T_FUNCTION = </span> +T_GLOBAL = <span class="src-key"> +/T_GLOBAL = </span> +T_IF = <span class="src-key"> +/T_IF = </span> +T_IMPLEMENTS = <span class="src-key"> +/T_IMPLEMENTS = </span> +T_INTERFACE = <span class="src-key"> +/T_INTERFACE = </span> +T_LOGICAL_AND = <span class="src-key"> +/T_LOGICAL_AND = </span> +T_LOGICAL_OR = <span class="src-key"> +/T_LOGICAL_OR = </span> +T_LOGICAL_XOR = <span class="src-key"> +/T_LOGICAL_XOR = </span> +T_NEW = <span class="src-key"> +/T_NEW = </span> +T_PRIVATE = <span class="src-key"> +/T_PRIVATE = </span> +T_PROTECTED = <span class="src-key"> +/T_PROTECTED = </span> +T_PUBLIC = <span class="src-key"> +/T_PUBLIC = </span> +T_RETURN = <span class="src-key"> +/T_RETURN = </span> +T_STATIC = <span class="src-key"> +/T_STATIC = </span> +T_SWITCH = <span class="src-key"> +/T_SWITCH = </span> +T_VAR = <span class="src-key"> +/T_VAR = </span> +T_WHILE = <span class="src-key"> +/T_WHILE = </span> + +T_DOUBLE_COLON = <span class="src-sym"> +/T_DOUBLE_COLON = </span> + +T_OPEN_TAG = <span class="src-php"> +/T_OPEN_TAG = </span> +T_OPEN_TAG_WITH_ECHO = <span class="src-php"> +/T_OPEN_TAG_WITH_ECHO = </span> +T_CLOSE_TAG = <span class="src-php"> +/T_CLOSE_TAG = </span> + + +[highlightSource] +;; this is for highlighting things that aren't tokens like "&" +;; format: +;; word = open +;; /word = close +@ = <span class="src-sym"> +/@ = </span> +& = <span class="src-sym"> +/& = </span> +[ = <span class="src-sym"> +/[ = </span> +] = <span class="src-sym"> +/] = </span> +! = <span class="src-sym"> +/! = </span> +";" = <span class="src-sym"> +/; = </span> +( = <span class="src-sym"> +/( = </span> +) = <span class="src-sym"> +/) = </span> +, = <span class="src-sym"> +/, = </span> +{ = <span class="src-sym"> +/{ = </span> +} = <span class="src-sym"> +/} = </span> +""" = <span class="src-str"> +/" = </span> + +[highlightDocBlockSourceTokens] +;; this is for docblock tokens, using by phpDocumentor_HighlightParser +;; tagphptype is for "string" in @param string description, for example +docblock = <span class="src-doc"> +/docblock = </span> +tagphptype = <span class="src-doc-type"> +/tagphptype = </span> +tagvarname = <span class="src-doc-var"> +/tagvarname = </span> +coretag = <span class="src-doc-coretag"> +/coretag = </span> +tag = <span class="src-doc-tag"> +/tag = </span> +inlinetag = <span class="src-doc-inlinetag"> +/inlinetag = </span> +internal = <span class="src-doc-internal"> +/internal = </span> +closetemplate = <span class="src-doc-close-template"> +/closetemplate = </span> +docblocktemplate = <span class="src-doc-template"> +/docblocktemplate = </span> + +[highlightTutorialSourceTokens] +;; this is for XML DocBook-based tutorials, highlighted by phpDocumentor_TutorialHighlightParser +;; <tag> +opentag = <span class="tute-tag"> +/opentag = </span> +;; </tag> +closetag = <span class="tute-tag"> +/closetag = </span> +;; <tag attribute="value"> +attribute = <span class="tute-attribute-name"> +/attribute = </span> +;; <tag attribute="value"> +attributevalue = <span class="tute-attribute-value"> +/attributevalue = </span> +;; &entity; +entity = <span class="tute-entity"> +/entity = </span> +;; <!-- comment --> +comment = <span class="tute-comment"> +/comment = </span> +;; {@inline tag} +itag = <span class="tute-inline-tag"> +/itag = </span> + +;; used for translation of html in DocBlocks +[desctranslate] +ul = <ul> +/ul = </ul> +ol = <ol> +/ol = </ol> +li = <li> +/li = </li> +code = +/code = +var = <var> +/var = </var> +samp = <samp> +/samp = </samp> +kbd = <kbd> +/kbd = </kbd> +pre = <pre> +/pre = </pre> +p = <p> +/p = </p> +b = <strong> +/b = </strong> +i = <em> +/i = </em> +br = <br /> + +[ppage] +;; this is the DocBook package page translation section. All DocBook tags +;; that have a corresponding html tag must be listed here. Entities should +;; also be listed here +;; +;; examples: +;; 1) +;; tagname = newtagname +;; +;; This is the simplest case, where all attributes will be added into the +;; starting tag and the ending tag will be html/xml style </tranlatedtagname> +;; <tagname></tagname> becomes <newtagname></newtagname> and +;; <tagname attr="value"></tagname> becomes +;; <newtagname attr="value"></newtagname> +;; +;; 2) +;; tagname = newtagname +;; tagname->attr = newattrname +;; +;; in this case, everything will be like the first case, except tags like: +;; <tagname attr="value"></tagname> will become +;; <newtagname newattrname="value"></newtagname> +;; +;; 3) +;; tagname = newtagname +;; tagname->attr = newattrname +;; tagname->attr+value = newvalue +;; +;; in this case, the value is also translated to another. This can be useful +;; for instances such as focus="middle" changing to align="center" or something +;; of that nature. +;; <tagname attr="value"></tagname> will become +;; <newtagname newattrname="newvalue"></newtagname> +;; +;; 4) +;; tagname = newtagname +;; tagname->attr1 = newattrname +;; tagname->attr2 = newattrname +;; tagname->attr1+value|attr2+value = newvalue +;; +;; in this case, two attributes combine to make one new attribute, and the combined +;; value is translated into a new value +;; <tagname attr1="value1" attr2="value2"></tagname> will become +;; <newtagname newattrname="newvalue"></newtagname> +;; +;; 5) +;; tagname = newtagname +;; tagname!attr = dummy +;; +;; here, the attribute will be ignored. dummy is not used and may be any value +;; <tagname attr="value"></tagname> will become +;; <newtagname></newtagname> +;; +;; 6) +;; tagname = newtagname +;; tagname! = dummy +;; +;; here, all attributes will be ignored. dummy is not used and may be any value +;; <tagname attr1="value" attr2="foo"></tagname> will become +;; <newtagname></newtagname> +;; +;; 7) +;; tagname = newtagname +;; tagname/ = 1 +;; +;; here, the tag will be translated as a single tag with no closing tag, and all +;; attributes +;; <tagname attr="val">{text text}</tagname> will become +;; <newtagname attr="val" /> +;; +;; 8) +;; tagname = <starttaginfo /> +;; /tagname = closetagtext +;; +;; in this case, the text <starttaginfo> will be inserted exactly as entered for +;; <tagname> and closetagtext for </tagname> +;; <tagname attr="val"></tagname> will become +;; <starttaginfo />closetagtext +;; +;; 9) +;; $attr$my_attribute = newattrname +;; +;; tagname = newtagname +;; +;; in this case, all occurences of my_attribute in any tag will be changed to +;; newattrname. This is useful for changing things like role="php" to +;; class="php," for example. Note that the text "$attr$" MUST be on the line +;; start for phpDocumentor to recognize it. +;; +;; 10) +;; &entity; = translation text +;; " = " +;; " = """ +;; < = < +;; +;; Use this to control translation of entities to their appropriate values + + = +" = " +” = ” +“ = “ +& = & +< = < +> = > +© = © + + +$attr$role = class + +abbrev = abbr + +blockquote = blockquote + +arg = span +arg->choice = class + +author = <span class="author"> +/author = </span> +author! = 0 + +authorblurb = <div class="author-blurb"> +/authorblurb = </div> + +authorgroup = <div class="authors"><h2 class="title">Authors</h2> +/authorgroup = </div> +authorgroup! = 0 + +caution = <span class="warning"> +/caution = </span> +caution! = 0 + +cmdsynopsis = <div class="cmd-synopsis"> +/cmdsynopsis = </div> + +command = <span class="cmd-title"> +/command = </span> + +copyright = <div class="notes"> +/copyright = </div> + +emphasis = em + +example = <div class="src-code"> +/example = </div> +example! = 0 + +function = +/function = () + +formalpara = p + +graphic = img +graphic->fileref = src +graphic/ = + +important = strong + +informalequation = blockquote + +informalexample = div + +inlineequation = em + +itemizedlist = ul + +listitem = li + +literal = code + +literallayout = span + +option = " " +/option = + +orderedlist = ol + +para = p + +programlisting = <div class="src-code"> +/programlisting = </div> +programlisting! = 0 + +refentry = div + +refnamediv = <div class="ref-title-box"> +/refnamediv = </div> +refnamediv! = 0 + +refname = <h1 class="ref-title"> +/refname = </h1> + +refpurpose = <h2 class="ref-purpose"> +/refpurpose = </h2> + +refsynopsisdiv = <div class="ref-synopsis"> +/refsynopsisdiv = </div> +refsynopsisdiv! = 0 + +refsect1 = span + +refsect2 = span + +refsect3 = +/refsect3 = <br /> + +releaseinfo = <div class="release-info">( +/releaseinfo = )</div> + +simpara = +/simpara = <br /> +simpara! = 0 + +subscript = sub + +superscript = super + +table = table + +table->colsep = rules +table->rowsep = rules +table->colsep+1|rowsep+1 =all +table->colsep+1|rowsep+0 =cols +table->colsep+0|rowsep+1 =rows + +table->frame =frame +table->frame+all =border +table->frame+none =void +table->frame+sides =vsides +table->frame+top =above +table->frame+topbot =hsides + +thead = thead + +tfoot = tfoot + +tbody = tbody + +colspec = col + +tgroup = colgroup +tgroup/ = 1 +tgroup->cols = span + +row = tr + +entry = td +entry->morerows = colspan +entry->morerows+1 =2 +entry->morerows+2 =3 +entry->morerows+3 =4 +entry->morerows+4 =5 +entry->morerows+5 =6 +entry->morerows+6 =7 +entry->morerows+7 =8 +entry->morerows+8 =9 +entry->morerows+9 =10 +entry->morerows+10 =11 +;; add more if you need more colspans + +warning = <span class="warning"> +/warning = </span> +warning! = 0 + +;; now begins the attributes that should be tags in cdata +[$attr$id] +open = a +;close = /a +cdata! = true +quotevalues = true +separator = "=" +;separateall = true +$id = name + +;; now begins the sections that deal with <title> +[refsynopsisdiv_title] +;tag_attr = true +;attr_name = title +cdata_start = true +;cdata_end = true +open = <h1 class="title"> +close = </h1> + +[refsect1_title] +;tag_attr = true +;attr_name = title +cdata_start = true +;cdata_end = true +open = <h2 class="title"> +close = </h2> + +[refsect2_title] +;tag_attr = true +;attr_name = title +cdata_start = true +;cdata_end = true +open = <h3 class="title"> +close = </h3> + +[refsect3_title] +;tag_attr = true +;attr_name = title +cdata_start = true +;cdata_end = true +open = <h4 class="title"> +close = </h4> + +[para_title] +;tag_attr = true +;attr_name = title +cdata_start = true +;cdata_end = true +open = <div class="title"> +close = </div> + +[formalpara_title] +;tag_attr = true +;attr_name = title +cdata_start = true +;cdata_end = true +open = <div class="title"> +close = </div> + +[example_title] +;tag_attr = true +;attr_name = title +;cdata_start = true +cdata_end = true +open = </td></tr><tr><td><strong> +close = </strong> + +[table_title] +;tag_attr = true +;attr_name = true +cdata_start = true +open = <caption> +close = </caption> diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/phpdoc.de/templates/basicindex.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/phpdoc.de/templates/basicindex.tpl new file mode 100755 index 00000000..951ee264 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/phpdoc.de/templates/basicindex.tpl @@ -0,0 +1,47 @@ +<div class="index-letter-menu"> +{section name=letter loop=$letters} + <a class="index-letter" href="{$indexname}.html#{$letters[letter].letter}">{$letters[letter].letter}</a> +{/section} +</div> + +{section name=index loop=$index} + <a name="{$index[index].letter}"></a> + <div class="index-letter-section"> + <div style="float: left" class="index-letter-title">{$index[index].letter}</div> + <div style="float: right"><a href="#top">top</a></div> + <div style="clear: both"></div> + </div> + <dl> + {section name=contents loop=$index[index].index} + <dt class="field"> + {if ($index[index].index[contents].title == "Variable")} + <span class="var-title">{$index[index].index[contents].name}</span> + {elseif ($index[index].index[contents].title == "Global")} + <span class="var-title">{$index[index].index[contents].name}</span> + {elseif ($index[index].index[contents].title == "Method")} + <span class="method-title">{$index[index].index[contents].name}</span> + {elseif ($index[index].index[contents].title == "Function")} + <span class="method-title">{$index[index].index[contents].name}</span> + {elseif ($index[index].index[contents].title == "Constant")} + <span class="const-title">{$index[index].index[contents].name}</span> + {elseif ($index[index].index[contents].title == "Page") || ($index[index].index[contents].title == "Include")} + <span class="include-title">{$index[index].index[contents].name}</span> + {else} + {$index[index].index[contents].name} + {/if} + </dt> + <dd class="index-item-body"> + <div class="index-item-details">{$index[index].index[contents].link} in {$index[index].index[contents].file_name}</div> + {if $index[index].index[contents].description} + <div class="index-item-description">{$index[index].index[contents].description}</div> + {/if} + </dd> + {/section} + </dl> +{/section} + +<div class="index-letter-menu"> +{section name=letter loop=$letters} + <a class="index-letter" href="{$indexname}.html#{$letters[letter].letter}">{$letters[letter].letter}</a> +{/section} +</div> diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/phpdoc.de/templates/blank.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/phpdoc.de/templates/blank.tpl new file mode 100755 index 00000000..6a05f27e --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/phpdoc.de/templates/blank.tpl @@ -0,0 +1,13 @@ +<html> +<head> + <title>{$maintitle}</title> + <link rel="stylesheet" href="{$subdir}media/stylesheet.css" /> + <meta http-equiv='Content-Type' content='text/html; charset=iso-8859-1'/> +</head> +<body> +<div align="center"><h1>{$maintitle}</h1></div> +<b>Welcome to {$package}!</b><br /> +<br /> +This documentation was generated by <a href="{$phpdocwebsite}">phpDocumentor v{$phpdocversion}</a><br /> +</body> +</html>
\ No newline at end of file diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/phpdoc.de/templates/class.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/phpdoc.de/templates/class.tpl new file mode 100755 index 00000000..9ab7c455 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/phpdoc.de/templates/class.tpl @@ -0,0 +1,429 @@ +{include file="header.tpl" top3=true} + +<h2 class="class-name">{if $is_interface}Interface{else}Class{/if} {$class_name}</h2> + +<a name="sec-description"></a> +<div class="info-box"> + <div class="info-box-title">Description</div> + <div class="nav-bar"> + {if $children || $vars || $ivars || $methods || $imethods || $consts || $iconsts } + <span class="disabled">Description</span> | + {/if} + {if $children} + <a href="#sec-descendents">Descendents</a> + {if $vars || $ivars || $methods || $imethods || $consts || $iconsts}|{/if} + {/if} + {if $vars || $ivars} + {if $vars} + <a href="#sec-var-summary">Vars</a> (<a href="#sec-vars">details</a>) + {else} + <a href="#sec-vars">Vars</a> + {/if} + {if $methods || $imethods}|{/if} + {/if} + {if $methods || $imethods} + {if $methods} + <a href="#sec-method-summary">Methods</a> (<a href="#sec-methods">details</a>) + {else} + <a href="#sec-methods">Methods</a> + {/if} + {/if} + {if $consts || $iconsts} + {if $consts} + <a href="#sec-const-summary">Constants</a> (<a href="#sec-consts">details</a>) + {else} + <a href="#sec-consts">Constants</a> + {/if} + {/if} + </div> + <div class="info-box-body"> + {if $implements} + <p class="implements"> + Implements interfaces: + <ul> + {foreach item="int" from=$implements}<li>{$int}</li>{/foreach} + </ul> + </p> + {/if} + {include file="docblock.tpl" type="class" sdesc=$sdesc desc=$desc} + <p class="notes"> + Located in <a class="field" href="{$page_link}">{$source_location}</a> (line <span class="field">{if $class_slink}{$class_slink}{else}{$line_number}{/if}</span>) + </p> + + {if $tutorial} + <hr class="separator" /> + <div class="notes">Tutorial: <span class="tutorial">{$tutorial}</span></div> + {/if} + + <pre>{section name=tree loop=$class_tree.classes}{$class_tree.classes[tree]}{$class_tree.distance[tree]}{/section}</pre> + + {if $conflicts.conflict_type} + <hr class="separator" /> + <div><span class="warning">Conflicts with classes:</span><br /> + {section name=me loop=$conflicts.conflicts} + {$conflicts.conflicts[me]}<br /> + {/section} + </div> + {/if} + </div> +</div> + +{if $children} + <a name="sec-descendents"></a> + <div class="info-box"> + <div class="info-box-title">Direct descendents</div> + <div class="nav-bar"> + <a href="#sec-description">Description</a> | + <span class="disabled">Descendents</span> + {if $vars || $ivars || $methods || $imethods}|{/if} + {if $vars || $ivars} + {if $vars} + <a href="#sec-var-summary">Vars</a> (<a href="#sec-vars">details</a>) + {else} + <a href="#sec-vars">Vars</a> + {/if} + {if $methods || $imethods}|{/if} + {/if} + {if $methods || $imethods} + {if $methods} + <a href="#sec-method-summary">Methods</a> (<a href="#sec-methods">details</a>) + {else} + <a href="#sec-methods">Methods</a> + {/if} + {/if} + {if $consts || $iconsts} + {if $consts} + <a href="#sec-const-summary">Constants</a> (<a href="#sec-consts">details</a>) + {else} + <a href="#sec-consts">Constants</a> + {/if} + {/if} + </div> + <div class="info-box-body"> + <table cellpadding="2" cellspacing="0" class="class-table"> + <tr> + <th class="class-table-header">Class</th> + <th class="class-table-header">Description</th> + </tr> + {section name=kids loop=$children} + <tr> + <td style="padding-right: 2em">{$children[kids].link}</td> + <td> + {if $children[kids].sdesc} + {$children[kids].sdesc} + {else} + {$children[kids].desc} + {/if} + </td> + </tr> + {/section} + </table> + </div> + </div> +{/if} + +{if $consts} + <a name="sec-const-summary"></a> + <div class="info-box"> + <div class="info-box-title">Class Constant Summary</span></div> + <div class="nav-bar"> + <a href="#sec-description">Description</a> | + {if $children} + <a href="#sec-descendents">Descendants</a> | + {/if} + <span class="disabled">Constants</span> (<a href="#sec-consts">details</a>) + {if $vars || $ivars} + {if $vars} + <a href="#sec-var-summary">Vars</a> (<a href="#sec-vars">details</a>) + {else} + <a href="#sec-vars">Vars</a> + {/if} + | + {/if} + {if $methods || $imethods} + | + {if $methods} + <a href="#sec-method-summary">Methods</a> (<a href="#sec-methods">details</a>) + {else} + <a href="#sec-methods">Methods</a> + {/if} + {/if} + </div> + <div class="info-box-body"> + <div class="const-summary"> + {section name=consts loop=$consts} + <div class="const-title"> + <img src="{$subdir}media/images/Constant.png" alt=" " /> + <a href="#{$consts[consts].const_name}" title="details" class="const-name">{$consts[consts].const_name}</a> = <span class="var-type">{$consts[consts].const_value}</span> + + </div> + {/section} + </div> + </div> + </div> +{/if} + +{if $vars} + <a name="sec-var-summary"></a> + <div class="info-box"> + <div class="info-box-title">Variable Summary</span></div> + <div class="nav-bar"> + <a href="#sec-description">Description</a> | + {if $children} + <a href="#sec-descendents">Descendents</a> | + {/if} + <span class="disabled">Vars</span> (<a href="#sec-vars">details</a>) + {if $methods || $imethods} + | + {if $methods} + <a href="#sec-method-summary">Methods</a> (<a href="#sec-methods">details</a>) + {else} + <a href="#sec-methods">Methods</a> + {/if} + {/if} + {if $consts || $iconsts} + {if $consts} + <a href="#sec-const-summary">Constants</a> (<a href="#sec-consts">details</a>) + {else} + <a href="#sec-consts">Constants</a> + {/if} + {/if} + </div> + <div class="info-box-body"> + <div class="var-summary"> + {section name=vars loop=$vars} + {if $vars[vars].static} + <div class="var-title"> + static <span class="var-type">{$vars[vars].var_type}</span> + <a href="#{$vars[vars].var_name}" title="details" class="var-name">{$vars[vars].var_name}</a> + </div> + {/if} + {/section} + {section name=vars loop=$vars} + {if !$vars[vars].static} + <div class="var-title"> + <span class="var-type">{$vars[vars].var_type}</span> + <a href="#{$vars[vars].var_name}" title="details" class="var-name">{$vars[vars].var_name}</a> + </div> + {/if} + {/section} + </div> + </div> + </div> +{/if} + +{if $methods} + <a name="sec-method-summary"></a> + <div class="info-box"> + <div class="info-box-title">Method Summary</span></div> + <div class="nav-bar"> + <a href="#sec-description">Description</a> | + {if $children} + <a href="#sec-descendents">Descendents</a> | + {/if} + {if $consts || $iconsts} + {if $consts} + <a href="#sec-const-summary">Constants</a> (<a href="#sec-consts">details</a>) + {else} + <a href="#sec-consts">Constants</a> + {/if} + {/if} + {if $vars || $ivars} + {if $vars} + <a href="#sec-var-summary">Vars</a> (<a href="#sec-vars">details</a>) + {else} + <a href="#sec-vars">Vars</a> + {/if} + | + {/if} + <span class="disabled">Methods</span> (<a href="#sec-methods">details</a>) + </div> + <div class="info-box-body"> + <div class="method-summary"> + {section name=methods loop=$methods} + {if $methods[methods].static} + <div class="method-definition"> + static {if $methods[methods].function_return} + <span class="method-result">{$methods[methods].function_return}</span> + {/if} + <a href="#{$methods[methods].function_name}" title="details" class="method-name">{if $methods[methods].ifunction_call.returnsref}&{/if}{$methods[methods].function_name}</a> + {if count($methods[methods].ifunction_call.params)} + ({section name=params loop=$methods[methods].ifunction_call.params}{if $smarty.section.params.iteration != 1}, {/if}{if $methods[methods].ifunction_call.params[params].hasdefault}[{/if}<span class="var-type">{$methods[methods].ifunction_call.params[params].type}</span> <span class="var-name">{$methods[methods].ifunction_call.params[params].name}</span>{if $methods[methods].ifunction_call.params[params].hasdefault} = <span class="var-default">{$methods[methods].ifunction_call.params[params].default}</span>]{/if}{/section}) + {else} + () + {/if} + </div> + {/if} + {/section} + {section name=methods loop=$methods} + {if !$methods[methods].static} + <div class="method-definition"> + {if $methods[methods].function_return} + <span class="method-result">{$methods[methods].function_return}</span> + {/if} + <a href="#{$methods[methods].function_name}" title="details" class="method-name">{if $methods[methods].ifunction_call.returnsref}&{/if}{$methods[methods].function_name}</a> + {if count($methods[methods].ifunction_call.params)} + ({section name=params loop=$methods[methods].ifunction_call.params}{if $smarty.section.params.iteration != 1}, {/if}{if $methods[methods].ifunction_call.params[params].hasdefault}[{/if}<span class="var-type">{$methods[methods].ifunction_call.params[params].type}</span> <span class="var-name">{$methods[methods].ifunction_call.params[params].name}</span>{if $methods[methods].ifunction_call.params[params].hasdefault} = <span class="var-default">{$methods[methods].ifunction_call.params[params].default}</span>]{/if}{/section}) + {else} + () + {/if} + </div> + {/if} + {/section} + </div> + </div> + </div> +{/if} + +{if $vars || $ivars} + <a name="sec-vars"></a> + <div class="info-box"> + <div class="info-box-title">Variables</div> + <div class="nav-bar"> + <a href="#sec-description">Description</a> | + {if $children} + <a href="#sec-descendents">Descendents</a> | + {/if} + {if $methods} + <a href="#sec-var-summary">Vars</a> (<span class="disabled">details</span>) + {else} + <span class="disabled">Vars</span> + {/if} + + {if $consts || $iconsts} + {if $consts} + <a href="#sec-const-summary">Constants</a> (<a href="#sec-consts">details</a>) + {else} + <a href="#sec-consts">Constants</a> + {/if} + {/if} + {if $methods || $imethods} + | + {if $methods} + <a href="#sec-method-summary">Methods</a> (<a href="#sec-methods">details</a>) + {else} + <a href="#sec-methods">Methods</a> + {/if} + {/if} + </div> + <div class="info-box-body"> + {include file="var.tpl"} + {if $ivars} + <h4>Inherited Variables</h4> + <A NAME='inherited_vars'><!-- --></A> + {section name=ivars loop=$ivars} + <p>Inherited from <span class="classname">{$ivars[ivars].parent_class}</span></p> + <blockquote> + {section name=ivars2 loop=$ivars[ivars].ivars} + <span class="var-title"> + <span class="var-name">{$ivars[ivars].ivars[ivars2].link}</span>{if $ivars[ivars].ivars[ivars2].ivar_sdesc}: {$ivars[ivars].ivars[ivars2].ivar_sdesc}{/if}<br> + </span> + {/section} + </blockquote> + {/section} + {/if} + </div> + </div> +{/if} + +{if $methods || $imethods} + <a name="sec-methods"></a> + <div class="info-box"> + <div class="info-box-title">Methods</div> + <div class="nav-bar"> + <a href="#sec-description">Description</a> | + {if $children} + <a href="#sec-descendents">Descendents</a> | + {/if} + {if $vars || $ivars} + {if $vars} + <a href="#sec-var-summary">Vars</a> (<a href="#sec-vars">details</a>) + {else} + <a href="#sec-vars">Vars</a> + {/if} + {/if} + {if $consts || $iconsts} + {if $consts} + <a href="#sec-const-summary">Constants</a> (<a href="#sec-consts">details</a>) + {else} + <a href="#sec-consts">Constants</a> + {/if} + {/if} + {if $methods} + <a href="#sec-method-summary">Methods</a> (<span class="disabled">details</span>) + {else} + <span class="disabled">Methods</span> + {/if} + </div> + <div class="info-box-body"> + {include file="method.tpl"} + {if $imethods} + <h4>Inherited Methods</h4> + <a name='inherited_methods'><!-- --></a> + {section name=imethods loop=$imethods} + <!-- =========== Summary =========== --> + <p>Inherited From <span class="classname">{$imethods[imethods].parent_class}</span></p> + <blockquote> + {section name=im2 loop=$imethods[imethods].imethods} + <span class="method-name">{$imethods[imethods].imethods[im2].link}</span>{if $imethods[imethods].imethods[im2].ifunction_sdesc}: {$imethods[imethods].imethods[im2].ifunction_sdesc}{/if}<br> + {/section} + </blockquote> + {/section} + {/if} + </div> + </div> +{/if} + +{if $consts || $iconsts} + <a name="sec-consts"></a> + <div class="info-box"> + <div class="info-box-title">Class Constants</div> + <div class="nav-bar"> + <a href="#sec-description">Description</a> | + {if $children} + <a href="#sec-descendents">Descendants</a> | + {/if} + {if $methods} + <a href="#sec-var-summary">Constants</a> (<span class="disabled">details</span>) + {else} + <span class="disabled">Constants</span> + {/if} + + {if $vars || $ivars} + {if $vars} + <a href="#sec-var-summary">Vars</a> (<a href="#sec-vars">details</a>) + {else} + <a href="#sec-vars">Vars</a> + {/if} + {/if} + {if $methods || $imethods} + | + {if $methods} + <a href="#sec-method-summary">Methods</a> (<a href="#sec-methods">details</a>) + {else} + <a href="#sec-methods">Methods</a> + {/if} + {/if} + </div> + <div class="info-box-body"> + {include file="const.tpl"} + {if $iconsts} + <h4>Inherited Constants</h4> + <A NAME='inherited_vars'><!-- --></A> + {section name=iconsts loop=$iconsts} + <p>Inherited from <span class="classname">{$iconsts[iconsts].parent_class}</span></p> + <blockquote> + {section name=iconsts2 loop=$iconsts[iconsts].iconsts} + <img src="{$subdir}media/images/{if $iconsts[iconsts].iconsts[iconsts2].access == 'private'}PrivateVariable{else}Variable{/if}.png" /> + <span class="const-title"> + <span class="const-name">{$iconsts[iconsts].iconsts[iconsts2].link}</span>{if $iconsts[iconsts].iconsts[iconsts2].iconst_sdesc}: {$iconsts[iconsts].iconsts[iconsts2].iconst_sdesc}{/if}<br> + </span> + {/section} + </blockquote> + {/section} + {/if} + </div> + </div> +{/if} + +{include file="footer.tpl" top3=true} diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/phpdoc.de/templates/classtrees.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/phpdoc.de/templates/classtrees.tpl new file mode 100755 index 00000000..952e6d50 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/phpdoc.de/templates/classtrees.tpl @@ -0,0 +1,19 @@ +{include file="header.tpl" top1=true} + +<!-- Start of Class Data --> +<H2> + {$smarty.capture.title} +</H2> +{if $interfaces} +{section name=classtrees loop=$interfaces} +<h2>Root interface {$interfaces[classtrees].class}</h2> +{$interfaces[classtrees].class_tree} +{/section} +{/if} +{if $classtrees} +{section name=classtrees loop=$classtrees} +<h2>Root class {$classtrees[classtrees].class}</h2> +{$classtrees[classtrees].class_tree} +{/section} +{/if} +{include file="footer.tpl"}
\ No newline at end of file diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/phpdoc.de/templates/const.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/phpdoc.de/templates/const.tpl new file mode 100644 index 00000000..c26ff92d --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/phpdoc.de/templates/const.tpl @@ -0,0 +1,18 @@ +{section name=consts loop=$consts} +<a name="const{$consts[consts].const_name}" id="{$consts[consts].const_name}"><!-- --></A> +<div class="{cycle values="evenrow,oddrow"}"> + + <div class="const-header"> + <img src="{$subdir}media/images/{if $consts[consts].access == 'private'}PrivateVariable{else}Variable{/if}.png" /> + <span class="const-title"> + <span class="const-name">{$consts[consts].const_name}</span> + = <span class="const-default">{$consts[consts].const_value|replace:"\n":"<br />"}</span> + (line <span class="line-number">{if $consts[consts].slink}{$consts[consts].slink}{else}{$consts[consts].line_number}{/if}</span>) + </span> + </div> + + {include file="docblock.tpl" sdesc=$consts[consts].sdesc desc=$consts[consts].desc tags=$consts[consts].tags} + +</div> +{/section} + diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/phpdoc.de/templates/define.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/phpdoc.de/templates/define.tpl new file mode 100755 index 00000000..0da5d864 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/phpdoc.de/templates/define.tpl @@ -0,0 +1,24 @@ +{section name=def loop=$defines} +<a name="{$defines[def].define_link}"><!-- --></a> +<div class="{cycle values="evenrow,oddrow"}"> + + <div> + <span class="const-title"> + <span class="const-name">{$defines[def].define_name}</span> = {$defines[def].define_value|replace:"\n":"<br />"} + (line <span class="line-number">{if $defines[def].slink}{$defines[def].slink}{else}{$defines[def].line_number}{/if}</span>) + </span> + </div> + + {include file="docblock.tpl" sdesc=$defines[def].sdesc desc=$defines[def].desc tags=$defines[def].tags} + + {if $globals[glob].global_conflicts.conflict_type} + <hr class="separator" /> + <div><span class="warning">Conflicts with constants:</span><br /> + {section name=me loop=$defines[def].define_conflicts.conflicts} + {$defines[def].define_conflicts.conflicts[me]}<br /> + {/section} + </div> + {/if} + +</div> +{/section}
\ No newline at end of file diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/phpdoc.de/templates/docblock.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/phpdoc.de/templates/docblock.tpl new file mode 100755 index 00000000..783d5271 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/phpdoc.de/templates/docblock.tpl @@ -0,0 +1,14 @@ +<!-- ========== Info from phpDoc block ========= --> +{if $sdesc} +<p class="short-description">{$sdesc}</p> +{/if} +{if $desc} +<p class="description">{$desc}</p> +{/if} +{if $tags} + <ul class="tags"> + {section name=tags loop=$tags} + <li><span class="field">{$tags[tags].keyword}:</span> {$tags[tags].data}</li> + {/section} + </ul> +{/if} diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/phpdoc.de/templates/elementindex.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/phpdoc.de/templates/elementindex.tpl new file mode 100755 index 00000000..d5964f99 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/phpdoc.de/templates/elementindex.tpl @@ -0,0 +1,12 @@ +{include file="header.tpl" noleftindex=true} +<a name="top"></a> +<h2>Full index</h2> +<h3>Package indexes</h3> +<ul> +{section name=p loop=$packageindex} + <li><a href="elementindex_{$packageindex[p].title}.html">{$packageindex[p].title}</a></li> +{/section} +</ul> +<br /> +{include file="basicindex.tpl" indexname="elementindex"} +{include file="footer.tpl"} diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/phpdoc.de/templates/errors.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/phpdoc.de/templates/errors.tpl new file mode 100755 index 00000000..0f526584 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/phpdoc.de/templates/errors.tpl @@ -0,0 +1,21 @@ +{include file="header.tpl" noleftindex=true} +{section name=files loop=$files} +<a href="#{$files[files].file}">{$files[files].file}</a><br> +{/section} +{foreach key=file item=issues from=$all} +<a name="{$file}"></a> +<h1>{$file}</h1> +{if count($issues.warnings)} +<h2>Warnings:</h2><br> +{section name=warnings loop=$issues.warnings} +<b>{$issues.warnings[warnings].name}</b> - {$issues.warnings[warnings].listing}<br> +{/section} +{/if} +{if count($issues.errors)} +<h2>Errors:</h2><br> +{section name=errors loop=$issues.errors} +<b>{$issues.errors[errors].name}</b> - {$issues.errors[errors].listing}<br> +{/section} +{/if} +{/foreach} +{include file="footer.tpl"} diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/phpdoc.de/templates/examplesource.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/phpdoc.de/templates/examplesource.tpl new file mode 100755 index 00000000..8abf74ce --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/phpdoc.de/templates/examplesource.tpl @@ -0,0 +1,6 @@ +{include file="header.tpl" title=$title} +<h1>{$title}</h1> +<div class="listing"> +{$source} +</div> +{include file="footer.tpl"}
\ No newline at end of file diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/phpdoc.de/templates/filesource.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/phpdoc.de/templates/filesource.tpl new file mode 100755 index 00000000..239f7b41 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/phpdoc.de/templates/filesource.tpl @@ -0,0 +1,8 @@ +{capture name="tutle"}File Source for {$name}{/capture} +{include file="header.tpl" title=$smarty.capture.tutle} +<h1>Source for file {$name}</h1> +<p>Documentation is available at {$docs}</p> +<div class="src-code"> +{$source} +</div> +{include file="footer.tpl"}
\ No newline at end of file diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/phpdoc.de/templates/footer.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/phpdoc.de/templates/footer.tpl new file mode 100755 index 00000000..8d0f79db --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/phpdoc.de/templates/footer.tpl @@ -0,0 +1,8 @@ +{if !$index} + <p class="notes" id="credit"> + Documentation generated on {$date} by <a href="{$phpdocwebsite}" target="_blank">phpDocumentor {$phpdocversion}</a> + </p> +{/if} + {if $top3}</div>{/if} +</body> +</html> diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/phpdoc.de/templates/function.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/phpdoc.de/templates/function.tpl new file mode 100755 index 00000000..b6880059 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/phpdoc.de/templates/function.tpl @@ -0,0 +1,44 @@ +{section name=func loop=$functions} +<a name="{$functions[func].function_dest}" id="{$functions[func].function_dest}"><!-- --></a> +<div class="{cycle values="evenrow,oddrow"}"> + + <div> + <span class="method-title">{$functions[func].function_name}</span> (line <span class="line-number">{if $functions[func].slink}{$functions[func].slink}{else}{$functions[func].line_number}{/if}</span>) + </div> + + {include file="docblock.tpl" sdesc=$functions[func].sdesc desc=$functions[func].desc tags=$functions[func].tags params=$functions[func].params function=false} + + <div class="method-signature"> + <span class="method-result">{$functions[func].function_return}</span> + <span class="method-name"> + {if $functions[func].ifunction_call.returnsref}&{/if}{$functions[func].function_name} + </span> + {if count($functions[func].ifunction_call.params)} + ({section name=params loop=$functions[func].ifunction_call.params}{if $smarty.section.params.iteration != 1}, {/if}{if $functions[func].ifunction_call.params[params].hasdefault}[{/if}<span class="var-type">{$functions[func].ifunction_call.params[params].type}</span> <span class="var-name">{$functions[func].ifunction_call.params[params].name}</span>{if $functions[func].ifunction_call.params[params].hasdefault} = <span class="var-default">{$functions[func].ifunction_call.params[params].default|escape:"html"}</span>]{/if}{/section}) + {else} + () + {/if} + </div> + + {if $functions[func].params} + <ul class="parameters"> + {section name=params loop=$functions[func].params} + <li> + <span class="var-type">{$functions[func].params[params].datatype}</span> + <span class="var-name">{$functions[func].params[params].var}</span>{if $functions[func].params[params].data}<span class="var-description">: {$functions[func].params[params].data}</span>{/if} + </li> + {/section} + </ul> + {/if} + + {if $functions[func].function_conflicts.conflict_type} + <hr class="separator" /> + <div><span class="warning">Conflicts with functions:</span><br /> + {section name=me loop=$functions[func].function_conflicts.conflicts} + {$functions[func].function_conflicts.conflicts[me]}<br /> + {/section} + </div> + {/if} + +</div> +{/section} diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/phpdoc.de/templates/global.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/phpdoc.de/templates/global.tpl new file mode 100755 index 00000000..eab7e0b0 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/phpdoc.de/templates/global.tpl @@ -0,0 +1,26 @@ +{section name=glob loop=$globals} +<a name="{$globals[glob].global_link}" id="{$globals[glob].global_link}"><!-- --></a> +<div class="{cycle values="evenrow,oddrow"}"> + + <div> + <span class="var-title"> + <span class="var-type">{$globals[glob].global_type}</span> + <span class="var-name">{$globals[glob].global_name}</span> + {if $vars[vars].var_default} = <span class="var-default">{$globals[glob].global_value|replace:"\n":"<br />"}</span>{/if} + (line <span class="line-number">{if $globals[glob].slink}{$globals[glob].slink}{else}{$globals[glob].line_number}{/if}</span>) + </span> + </div> + + {include file="docblock.tpl" sdesc=$globals[glob].sdesc desc=$globals[glob].desc tags=$globals[glob].tags} + + {if $globals[glob].global_conflicts.conflict_type} + <hr class="separator" /> + <div><span class="warning">Conflicts with global variables:</span><br /> + {section name=me loop=$globals[glob].global_conflicts.conflicts} + {$globals[glob].global_conflicts.conflicts[me]}<br /> + {/section} + </div> + {/if} + +</div> +{/section}
\ No newline at end of file diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/phpdoc.de/templates/header.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/phpdoc.de/templates/header.tpl new file mode 100755 index 00000000..0d626190 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/phpdoc.de/templates/header.tpl @@ -0,0 +1,95 @@ +<?xml version="1.0" encoding="iso-8859-1"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> + <html xmlns="http://www.w3.org/1999/xhtml"> + <head> + <!-- template designed by Marco Von Ballmoos --> + <title>{$title}</title> + <link rel="stylesheet" href="{$subdir}media/stylesheet.css" /> + {if $top2 || $top3} + <script src="{$subdir}media/lib/classTree.js"></script> + {/if} + {if $top2} + <meta http-equiv='Content-Type' content='text/html; charset=iso-8859-1'/> + {/if} + {if $top3 || $top2} + <script language="javascript" type="text/javascript"> + var imgPlus = new Image(); + var imgMinus = new Image(); + imgPlus.src = "{$subdir}media/images/plus.png"; + imgMinus.src = "{$subdir}media/images/minus.png"; + + function showNode(Node){ldelim} + switch(navigator.family){ldelim} + case 'nn4': + // Nav 4.x code fork... + var oTable = document.layers["span" + Node]; + var oImg = document.layers["img" + Node]; + break; + case 'ie4': + // IE 4/5 code fork... + var oTable = document.all["span" + Node]; + var oImg = document.all["img" + Node]; + break; + case 'gecko': + // Standards Compliant code fork... + var oTable = document.getElementById("span" + Node); + var oImg = document.getElementById("img" + Node); + break; + {rdelim} + oImg.src = imgMinus.src; + oTable.style.display = "block"; + {rdelim} + + function hideNode(Node){ldelim} + switch(navigator.family){ldelim} + case 'nn4': + // Nav 4.x code fork... + var oTable = document.layers["span" + Node]; + var oImg = document.layers["img" + Node]; + break; + case 'ie4': + // IE 4/5 code fork... + var oTable = document.all["span" + Node]; + var oImg = document.all["img" + Node]; + break; + case 'gecko': + // Standards Compliant code fork... + var oTable = document.getElementById("span" + Node); + var oImg = document.getElementById("img" + Node); + break; + {rdelim} + oImg.src = imgPlus.src; + oTable.style.display = "none"; + {rdelim} + + function nodeIsVisible(Node){ldelim} + switch(navigator.family){ldelim} + case 'nn4': + // Nav 4.x code fork... + var oTable = document.layers["span" + Node]; + break; + case 'ie4': + // IE 4/5 code fork... + var oTable = document.all["span" + Node]; + break; + case 'gecko': + // Standards Compliant code fork... + var oTable = document.getElementById("span" + Node); + break; + {rdelim} + return (oTable && oTable.style.display == "block"); + {rdelim} + + function toggleNodeVisibility(Node){ldelim} + if (nodeIsVisible(Node)){ldelim} + hideNode(Node); + {rdelim}else{ldelim} + showNode(Node); + {rdelim} + {rdelim} + </script> + {/if} + </head> + <body> + {if $top3}<div class="page-body">{/if} + diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/phpdoc.de/templates/include.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/phpdoc.de/templates/include.tpl new file mode 100755 index 00000000..c2419e5f --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/phpdoc.de/templates/include.tpl @@ -0,0 +1,16 @@ +{section name=includes loop=$includes} +<a name="{$includes[includes].include_file}"><!-- --></a> +<div class="{cycle values="evenrow,oddrow"}"> + + <div> + <span class="include-title"> + <span class="include-type">{$includes[includes].include_name}</span> + (<span class="include-name">{$includes[includes].include_value}</span>) + (line <span class="line-number">{if $includes[includes].slink}{$includes[includes].slink}{else}{$includes[includes].line_number}{/if}</span>) + </span> + </div> + + {include file="docblock.tpl" sdesc=$includes[includes].sdesc desc=$includes[includes].desc tags=$includes[includes].tags} + +</div> +{/section}
\ No newline at end of file diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/phpdoc.de/templates/index.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/phpdoc.de/templates/index.tpl new file mode 100755 index 00000000..7cd61094 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/phpdoc.de/templates/index.tpl @@ -0,0 +1,24 @@ +<?xml version="1.0" encoding="iso-8859-1"?> +<!DOCTYPE html + PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//FR" + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd"> + <html xmlns="http://www.w3.org/1999/xhtml"> +<head> + <!-- Generated by phpDocumentor on {$date} --> + <title>{$title}</title> + <meta http-equiv='Content-Type' content='text/html; charset=iso-8859-1'/> +</head> + +<FRAMESET rows='120,*'> + <FRAME src='packages.html' name='left_top' frameborder="1" bordercolor="#999999"> + <FRAMESET cols='25%,*'> + <FRAME src='{$start}' name='left_bottom' frameborder="1" bordercolor="#999999"> + <FRAME src='{$blank}.html' name='right' frameborder="1" bordercolor="#999999"> + </FRAMESET> + <NOFRAMES> + <H2>Frame Alert</H2> + <P>This document is designed to be viewed using the frames feature. + If you see this message, you are using a non-frame-capable web client.</P> + </NOFRAMES> +</FRAMESET> +</HTML> diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/phpdoc.de/templates/left_frame.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/phpdoc.de/templates/left_frame.tpl new file mode 100755 index 00000000..98fc3135 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/phpdoc.de/templates/left_frame.tpl @@ -0,0 +1,217 @@ +{include file="header.tpl" top2=true} +<h3 class="package-title">{$info.0.package}</h3> +<div class="tree"> +<script language="Javascript"> +if (document.getElementById) {ldelim} +{section name=p loop=$info} + {if $info[p].subpackage == ""} + var tree = new WebFXTree('<span class="package">{$info.0.package}</span>'); + tree.setBehavior('classic'); + + {if $hastodos} + var todos = new WebFXTreeItem('To-do List', '{$todolink}'); + tree.add(todos); + {/if} + + var class_trees = new WebFXTreeItem('Class trees', '{$classtreepage}.html'); + tree.add(class_trees); + + var elements = new WebFXTreeItem('Index of elements', '{$elementindex}.html'); + tree.add(elements); + + var parent_node; + + {if $info[p].tutorials} + var tree_tutorial = new WebFXTreeItem('Tutorial(s)/Manual(s)', ''); + tree.add(tree_tutorial); + + {if $info[p].tutorials.pkg} + var tree_inner_tutorial = new WebFXTreeItem('Package-level', ''); + tree_tutorial.add(tree_inner_tutorial); + + parent_node = tree_inner_tutorial; + {section name=ext loop=$info[p].tutorials.pkg} + {$info[p].tutorials.pkg[ext]} + {/section} + {/if} + + {if $info[p].tutorials.cls} + var tree_inner_tutorial = new WebFXTreeItem('Class-level', ''); + tree_tutorial.add(tree_inner_tutorial); + + parent_node = tree_inner_tutorial; + {section name=ext loop=$info[p].tutorials.cls} + {$info[p].tutorials.cls[ext]} + {/section} + {/if} + + {if $info[p].tutorials.proc} + var tree_inner_tutorial = new WebFXTreeItem('Function-level', ''); + tree_tutorial.add(tree_inner_tutorial); + + parent_node = tree_inner_tutorial; + {section name=ext loop=$info[p].tutorials.proc} + {$info[p].tutorials.proc[ext]} + {/section} + {/if} + {/if} + + {if $info[p].hasinterfaces} + {if $info[p].classes} + var tree_classe = new WebFXTreeItem('Interface(s)', '{$packagedoc}'); + + {section name=class loop=$info[p].classes} + {if $info[p].classes[class].is_interface} + var classe = new WebFXTreeItem('{$info[p].classes[class].title|escape:"quotes"}', '{$info[p].classes[class].link|escape:"quotes"}'); + tree_classe.add(classe); + {/if} + {/section} + + tree.add(tree_classe); + {/if} + {/if} + {if $info[p].hasclasses} + {if $info[p].classes} + var tree_classe = new WebFXTreeItem('Class(es)', '{$packagedoc}'); + + {section name=class loop=$info[p].classes} + {if $info[p].classes[class].is_class} + var classe = new WebFXTreeItem('{$info[p].classes[class].title|escape:"quotes"}', '{$info[p].classes[class].link|escape:"quotes"}'); + tree_classe.add(classe); + {/if} + {/section} + + tree.add(tree_classe); + {/if} + {/if} + + {if $info[p].functions} + var tree_function = new WebFXTreeItem('Function(s)', '{$packagedoc|escape:"quotes"}'); + + {section name=nonclass loop=$info[p].functions} + var fic = new WebFXTreeItem('{$info[p].functions[nonclass].title|escape:"quotes"}', '{$info[p].functions[nonclass].link|escape:"quotes"}'); + tree_function.add(fic); + {/section} + + tree.add(tree_function); + {/if} + + {if $info[p].files} + var tree_file = new WebFXTreeItem('File(s)', '{$packagedoc|escape:"quotes"}'); + + {section name=nonclass loop=$info[p].files} + var file = new WebFXTreeItem('{$info[p].files[nonclass].title|escape:"quotes"}', '{$info[p].files[nonclass].link|escape:"quotes"}'); + tree_file.add(file); + {/section} + + tree.add(tree_file); + {/if} + + {else} + {if $info[p].subpackagetutorial} + var subpackagetree = new WebFXTreeItem('<span class="sub-package">{$info[p].subpackagetutorialtitle|strip_tags|escape:"quotes"}</span>', '{$info[p].subpackagetutorialnoa}'); + {else} + var subpackagetree = new WebFXTreeItem('<span class="sub-package">{$info[p].subpackage}</span>', '{$packagedoc}'); + {/if} + + {if $info[p].tutorials} + var tree_tutorial = new WebFXTreeItem('Tutorial(s)/Manual(s)', ''); + tree.add(tree_tutorial); + + {if $info[p].tutorials.pkg} + var tree_inner_tutorial = new WebFXTreeItem('Package-level', ''); + tree_tutorial.add(tree_inner_tutorial); + + parent_node = tree_inner_tutorial; + {section name=ext loop=$info[p].tutorials.pkg} + {$info[p].tutorials.pkg[ext]} + {/section} + {/if} + + {if $info[p].tutorials.cls} + var tree_inner_tutorial = new WebFXTreeItem('Class-level', ''); + tree_tutorial.add(tree_inner_tutorial); + + parent_node = tree_inner_tutorial; + {section name=ext loop=$info[p].tutorials.cls} + {$info[p].tutorials.cls[ext]} + {/section} + {/if} + + {if $info[p].tutorials.proc} + var tree_inner_tutorial = new WebFXTreeItem('Function-level', ''); + tree_tutorial.add(tree_inner_tutorial); + + parent_node = tree_inner_tutorial; + {section name=ext loop=$info[p].tutorials.proc} + {$info[p].tutorials.proc[ext]} + {/section} + {/if} + {/if} + + {if $info[p].hasinterfaces} + {if $info[p].classes} + var subpackagetree_classe = new WebFXTreeItem('Interface(s)', '{$packagedoc}'); + + {section name=class loop=$info[p].classes} + {if $info[p].classes[class].is_interface} + var classe = new WebFXTreeItem('{$info[p].classes[class].title|escape:"quotes"}', '{$info[p].classes[class].link|escape:"quotes"}'); + subpackagetree_classe.add(classe); + {/if} + {/section} + + subpackagetree.add(subpackagetree_classe); + {/if} + {/if} + + {if $info[p].hasclasses} + {if $info[p].classes} + var subpackagetree_classe = new WebFXTreeItem('Class(es)', '{$packagedoc}'); + + {section name=class loop=$info[p].classes} + {if $info[p].classes[class].is_class} + var classe = new WebFXTreeItem('{$info[p].classes[class].title|escape:"quotes"}', '{$info[p].classes[class].link|escape:"quotes"}'); + subpackagetree_classe.add(classe); + {/if} + {/section} + + subpackagetree.add(subpackagetree_classe); + {/if} + {/if} + + {if $info[p].functions} + var subpackagetree_function = new WebFXTreeItem('Function(s)', '{$packagedoc|escape:"quotes"}'); + + {section name=nonclass loop=$info[p].functions} + var fic = new WebFXTreeItem('{$info[p].functions[nonclass].title|escape:"quotes"}', '{$info[p].functions[nonclass].link|escape:"quotes"}'); + subpackagetree_function.add(fic); + {/section} + + subpackagetree.add(subpackagetree_function); + {/if} + + {if $info[p].files} + var subpackagetree_file = new WebFXTreeItem('File(s)', '{$packagedoc|escape:"quotes"}'); + + {section name=nonclass loop=$info[p].files} + var file = new WebFXTreeItem('{$info[p].files[nonclass].title|escape:"quotes"}', '{$info[p].files[nonclass].link|escape:"quotes"}'); + subpackagetree_file.add(file); + {/section} + + subpackagetree.add(subpackagetree_file); + {/if} + + tree.add(subpackagetree); + {/if} +{/section} + +document.write(tree); +{rdelim} +</script> +</div> +<p class="notes"> + Generated by + <a href="{$phpdocwebsite}" target="_blank">phpDocumentor <span class="field">{$phpdocversion}</span></a> +</p> +</body> +</html> diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/phpdoc.de/templates/media/banner.css b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/phpdoc.de/templates/media/banner.css new file mode 100755 index 00000000..065e76bc --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/phpdoc.de/templates/media/banner.css @@ -0,0 +1,32 @@ +body +{ + background-color: #FFFFFF; + margin: 0px; + padding: 0px; +} + +/* Banner (top bar) classes */ + +.banner { } + +.banner-menu +{ + clear: both; + padding: .5em; + border-top: 2px solid #999999; +} + +.banner-title +{ + text-align: right; + font-size: 20pt; + font-weight: bold; + margin: .2em; +} + +.package-selector +{ + background-color: #EEEEEE; + border: 1px solid black; + color: #0000C0; +} diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/phpdoc.de/templates/media/images/I.png b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/phpdoc.de/templates/media/images/I.png Binary files differnew file mode 100755 index 00000000..e8512fb9 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/phpdoc.de/templates/media/images/I.png diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/phpdoc.de/templates/media/images/L.png b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/phpdoc.de/templates/media/images/L.png Binary files differnew file mode 100755 index 00000000..eb334eda --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/phpdoc.de/templates/media/images/L.png diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/phpdoc.de/templates/media/images/Lminus.png b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/phpdoc.de/templates/media/images/Lminus.png Binary files differnew file mode 100755 index 00000000..f7c43c0a --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/phpdoc.de/templates/media/images/Lminus.png diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/phpdoc.de/templates/media/images/Lplus.png b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/phpdoc.de/templates/media/images/Lplus.png Binary files differnew file mode 100755 index 00000000..848ec2fc --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/phpdoc.de/templates/media/images/Lplus.png diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/phpdoc.de/templates/media/images/T.png b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/phpdoc.de/templates/media/images/T.png Binary files differnew file mode 100755 index 00000000..30173254 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/phpdoc.de/templates/media/images/T.png diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/phpdoc.de/templates/media/images/Tminus.png b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/phpdoc.de/templates/media/images/Tminus.png Binary files differnew file mode 100755 index 00000000..2260e424 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/phpdoc.de/templates/media/images/Tminus.png diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/phpdoc.de/templates/media/images/Tplus.png b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/phpdoc.de/templates/media/images/Tplus.png Binary files differnew file mode 100755 index 00000000..2c8d8f4f --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/phpdoc.de/templates/media/images/Tplus.png diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/phpdoc.de/templates/media/images/blank.png b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/phpdoc.de/templates/media/images/blank.png Binary files differnew file mode 100755 index 00000000..cee9cd37 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/phpdoc.de/templates/media/images/blank.png diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/phpdoc.de/templates/media/images/empty.png b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/phpdoc.de/templates/media/images/empty.png Binary files differnew file mode 100755 index 00000000..d5683865 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/phpdoc.de/templates/media/images/empty.png diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/phpdoc.de/templates/media/images/minus.gif b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/phpdoc.de/templates/media/images/minus.gif Binary files differnew file mode 100644 index 00000000..f502662b --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/phpdoc.de/templates/media/images/minus.gif diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/phpdoc.de/templates/media/images/plus.gif b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/phpdoc.de/templates/media/images/plus.gif Binary files differnew file mode 100644 index 00000000..eeca02ce --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/phpdoc.de/templates/media/images/plus.gif diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/phpdoc.de/templates/media/lib/classTree.js b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/phpdoc.de/templates/media/lib/classTree.js new file mode 100755 index 00000000..ebb3fb4a --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/phpdoc.de/templates/media/lib/classTree.js @@ -0,0 +1,454 @@ +/*----------------------------------------\ +| Cross Browser Tree Widget 1.1 | +|-----------------------------------------| +| Created by Emil A. Eklund (eae@eae.net) | +| For WebFX (http://webfx.eae.net/) | +|-----------------------------------------| +| This script is provided as is without | +| any warranty whatsoever. It may be used | +| free of charge for non commerical sites | +| For commerical use contact the author | +| of this script for further details. | +|-----------------------------------------| +| Created 2000-12-11 | Updated 2001-09-06 | +\----------------------------------------*/ + +var webFXTreeConfig = { + rootIcon : 'media/images/empty.png', + openRootIcon : 'media/images/empty.png', + folderIcon : 'media/images/empty.png', + openFolderIcon : 'media/images/empty.png', + fileIcon : 'media/images/empty.png', + iIcon : 'media/images/I.png', + lIcon : 'media/images/L.png', + lMinusIcon : 'media/images/Lminus.png', + lPlusIcon : 'media/images/Lplus.png', + tIcon : 'media/images/T.png', + tMinusIcon : 'media/images/Tminus.png', + tPlusIcon : 'media/images/Tplus.png', + blankIcon : 'media/images/blank.png', + defaultText : 'Tree Item', + defaultAction : 'javascript:void(0);', + defaultTarget : 'right', + defaultBehavior : 'classic' +}; + +var webFXTreeHandler = { + idCounter : 0, + idPrefix : "webfx-tree-object-", + all : {}, + behavior : null, + selected : null, + getId : function() { return this.idPrefix + this.idCounter++; }, + toggle : function (oItem) { this.all[oItem.id.replace('-plus','')].toggle(); }, + select : function (oItem) { this.all[oItem.id.replace('-icon','')].select(); }, + focus : function (oItem) { this.all[oItem.id.replace('-anchor','')].focus(); }, + blur : function (oItem) { this.all[oItem.id.replace('-anchor','')].blur(); }, + keydown : function (oItem) { return this.all[oItem.id].keydown(window.event.keyCode); }, + cookies : new WebFXCookie() +}; + +/* + * WebFXCookie class + */ + +function WebFXCookie() { + if (document.cookie.length) { this.cookies = ' ' + document.cookie; } +} + +WebFXCookie.prototype.setCookie = function (key, value) { + document.cookie = key + "=" + escape(value); +} + +WebFXCookie.prototype.getCookie = function (key) { + if (this.cookies) { + var start = this.cookies.indexOf(' ' + key + '='); + if (start == -1) { return null; } + var end = this.cookies.indexOf(";", start); + if (end == -1) { end = this.cookies.length; } + end -= start; + var cookie = this.cookies.substr(start,end); + return unescape(cookie.substr(cookie.indexOf('=') + 1, cookie.length - cookie.indexOf('=') + 1)); + } + else { return null; } +} + +/* + * WebFXTreeAbstractNode class + */ + +function WebFXTreeAbstractNode(sText, sAction, sTarget) { + this.childNodes = []; + this.id = webFXTreeHandler.getId(); + this.text = sText || webFXTreeConfig.defaultText; + this.action = sAction || webFXTreeConfig.defaultAction; + this.targetWindow = sTarget || webFXTreeConfig.defaultTarget; + this._last = false; + webFXTreeHandler.all[this.id] = this; +} + +WebFXTreeAbstractNode.prototype.add = function (node) { + node.parentNode = this; + this.childNodes[this.childNodes.length] = node; + var root = this; + if (this.childNodes.length >=2) { + this.childNodes[this.childNodes.length -2]._last = false; + } + while (root.parentNode) { root = root.parentNode; } + if (root.rendered) { + if (this.childNodes.length >= 2) { + document.getElementById(this.childNodes[this.childNodes.length -2].id + '-plus').src = ((this.childNodes[this.childNodes.length -2].folder)?webFXTreeConfig.tMinusIcon:webFXTreeConfig.tIcon); + if (this.childNodes[this.childNodes.length -2].folder) { + this.childNodes[this.childNodes.length -2].plusIcon = webFXTreeConfig.tPlusIcon; + this.childNodes[this.childNodes.length -2].minusIcon = webFXTreeConfig.tMinusIcon; + } + this.childNodes[this.childNodes.length -2]._last = false; + } + this._last = true; + var foo = this; + while (foo.parentNode) { + for (var i = 0; i < foo.parentNode.childNodes.length; i++) { + if (foo.id == foo.parentNode.childNodes[i].id) { break; } + } + if (++i == foo.parentNode.childNodes.length) { foo.parentNode._last = true; } + else { foo.parentNode._last = false; } + foo = foo.parentNode; + } + document.getElementById(this.id + '-cont').insertAdjacentHTML("beforeEnd", node.toString()); + if ((!this.folder) && (!this.openIcon)) { + this.icon = webFXTreeConfig.folderIcon; + this.openIcon = webFXTreeConfig.openFolderIcon; + } + this.folder = true; + this.indent(); + this.expand(); + } + return node; +} + +WebFXTreeAbstractNode.prototype.toggle = function() { + if (this.folder) { + if (this.open) { this.collapse(); } + else { this.expand(); } + } +} + +WebFXTreeAbstractNode.prototype.select = function() { + document.getElementById(this.id + '-anchor').focus(); +} + +WebFXTreeAbstractNode.prototype.focus = function() { + webFXTreeHandler.selected = this; + if ((this.openIcon) && (webFXTreeHandler.behavior != 'classic')) { document.getElementById(this.id + '-icon').src = this.openIcon; } + document.getElementById(this.id + '-anchor').style.backgroundColor = 'highlight'; + document.getElementById(this.id + '-anchor').style.color = 'highlighttext'; + document.getElementById(this.id + '-anchor').focus(); +} + +WebFXTreeAbstractNode.prototype.blur = function() { + if ((this.openIcon) && (webFXTreeHandler.behavior != 'classic')) { document.getElementById(this.id + '-icon').src = this.icon; } + document.getElementById(this.id + '-anchor').style.backgroundColor = 'transparent'; + document.getElementById(this.id + '-anchor').style.color = 'menutext'; +} + +WebFXTreeAbstractNode.prototype.doExpand = function() { + if (webFXTreeHandler.behavior == 'classic') { document.getElementById(this.id + '-icon').src = this.openIcon; } + if (this.childNodes.length) { document.getElementById(this.id + '-cont').style.display = 'block'; } + this.open = true; + webFXTreeHandler.cookies.setCookie(this.id.substr(18,this.id.length - 18), '1'); +} + +WebFXTreeAbstractNode.prototype.doCollapse = function() { + if (webFXTreeHandler.behavior == 'classic') { document.getElementById(this.id + '-icon').src = this.icon; } + if (this.childNodes.length) { document.getElementById(this.id + '-cont').style.display = 'none'; } + this.open = false; + webFXTreeHandler.cookies.setCookie(this.id.substr(18,this.id.length - 18), '0'); +} + +WebFXTreeAbstractNode.prototype.expandAll = function() { + this.expandChildren(); + if ((this.folder) && (!this.open)) { this.expand(); } +} + +WebFXTreeAbstractNode.prototype.expandChildren = function() { + for (var i = 0; i < this.childNodes.length; i++) { + this.childNodes[i].expandAll(); +} } + +WebFXTreeAbstractNode.prototype.collapseAll = function() { + if ((this.folder) && (this.open)) { this.collapse(); } + this.collapseChildren(); +} + +WebFXTreeAbstractNode.prototype.collapseChildren = function() { + for (var i = 0; i < this.childNodes.length; i++) { + this.childNodes[i].collapseAll(); +} } + +WebFXTreeAbstractNode.prototype.indent = function(lvl, del, last, level) { + /* + * Since we only want to modify items one level below ourself, + * and since the rightmost indentation position is occupied by + * the plus icon we set this to -2 + */ + if (lvl == null) { lvl = -2; } + var state = 0; + for (var i = this.childNodes.length - 1; i >= 0 ; i--) { + state = this.childNodes[i].indent(lvl + 1, del, last, level); + if (state) { return; } + } + if (del) { + if (level >= this._level) { + if (this.folder) { + document.getElementById(this.id + '-plus').src = (this.open)?webFXTreeConfig.lMinusIcon:webFXTreeConfig.lPlusIcon; + this.plusIcon = webFXTreeConfig.lPlusIcon; + this.minusIcon = webFXTreeConfig.lMinusIcon; + } + else { document.getElementById(this.id + '-plus').src = webFXTreeConfig.lIcon; } + return 1; + } + } + var foo = document.getElementById(this.id + '-indent-' + lvl); + if (foo) { + if ((del) && (last)) { foo._last = true; } + if (foo._last) { foo.src = webFXTreeConfig.blankIcon; } + else { foo.src = webFXTreeConfig.iIcon; } + } + return 0; +} + +/* + * WebFXTree class + */ + +function WebFXTree(sText, sAction, sBehavior, sIcon, sOpenIcon) { + this.base = WebFXTreeAbstractNode; + this.base(sText, sAction); + this.icon = sIcon || webFXTreeConfig.rootIcon; + this.openIcon = sOpenIcon || webFXTreeConfig.openRootIcon; + /* Defaults to open */ + this.open = (webFXTreeHandler.cookies.getCookie(this.id.substr(18,this.id.length - 18)) == '0')?false:true; + this.folder = true; + this.rendered = false; + if (!webFXTreeHandler.behavior) { webFXTreeHandler.behavior = sBehavior || webFXTreeConfig.defaultBehavior; } + this.targetWindow = 'right'; +} + +WebFXTree.prototype = new WebFXTreeAbstractNode; + +WebFXTree.prototype.setBehavior = function (sBehavior) { + webFXTreeHandler.behavior = sBehavior; +}; + +WebFXTree.prototype.getBehavior = function (sBehavior) { + return webFXTreeHandler.behavior; +}; + +WebFXTree.prototype.getSelected = function() { + if (webFXTreeHandler.selected) { return webFXTreeHandler.selected; } + else { return null; } +} + +WebFXTree.prototype.remove = function() { } + +WebFXTree.prototype.expand = function() { + this.doExpand(); +} + +WebFXTree.prototype.collapse = function() { + this.focus(); + this.doCollapse(); +} + +WebFXTree.prototype.getFirst = function() { + return null; +} + +WebFXTree.prototype.getLast = function() { + return null; +} + +WebFXTree.prototype.getNextSibling = function() { + return null; +} + +WebFXTree.prototype.getPreviousSibling = function() { + return null; +} + +WebFXTree.prototype.keydown = function(key) { + if (key == 39) { this.expand(); return false; } + if (key == 37) { this.collapse(); return false; } + if ((key == 40) && (this.open)) { this.childNodes[0].select(); return false; } + return true; +} + +WebFXTree.prototype.toString = function() { + var str = "<div id=\"" + this.id + "\" ondblclick=\"webFXTreeHandler.toggle(this);\" class=\"webfx-tree-item\" onkeydown=\"return webFXTreeHandler.keydown(this)\">"; + str += "<img id=\"" + this.id + "-icon\" class=\"webfx-tree-icon\" src=\"" + ((webFXTreeHandler.behavior == 'classic' && this.open)?this.openIcon:this.icon) + "\" onclick=\"webFXTreeHandler.select(this);\"><a href=\"" + this.action + "\" id=\"" + this.id + "-anchor\" target=\"" + this.targetWindow + "\" onfocus=\"webFXTreeHandler.focus(this);\" onblur=\"webFXTreeHandler.blur(this);\">" + this.text + "</a></div>"; + str += "<div id=\"" + this.id + "-cont\" class=\"webfx-tree-container\" style=\"display: " + ((this.open)?'block':'none') + ";\">"; + for (var i = 0; i < this.childNodes.length; i++) { + str += this.childNodes[i].toString(i, this.childNodes.length); + } + str += "</div>"; + this.rendered = true; + return str; +}; + +/* + * WebFXTreeItem class + */ + +function WebFXTreeItem(sText, sAction, eParent, sIcon, sOpenIcon) { + this.base = WebFXTreeAbstractNode; + this.base(sText, sAction); + /* Defaults to close */ + this.open = (webFXTreeHandler.cookies.getCookie(this.id.substr(18,this.id.length - 18)) == '1')?true:false; + if (eParent) { eParent.add(this); } + if (sIcon) { this.icon = sIcon; } + if (sOpenIcon) { this.openIcon = sOpenIcon; } +} + +WebFXTreeItem.prototype = new WebFXTreeAbstractNode; + +WebFXTreeItem.prototype.remove = function() { + var parentNode = this.parentNode; + var prevSibling = this.getPreviousSibling(true); + var nextSibling = this.getNextSibling(true); + var folder = this.parentNode.folder; + var last = ((nextSibling) && (nextSibling.parentNode) && (nextSibling.parentNode.id == parentNode.id))?false:true; + this.getPreviousSibling().focus(); + this._remove(); + if (parentNode.childNodes.length == 0) { + parentNode.folder = false; + parentNode.open = false; + } + if (last) { + if (parentNode.id == prevSibling.id) { + document.getElementById(parentNode.id + '-icon').src = webFXTreeConfig.fileIcon; + } + else { } + } + if ((!prevSibling.parentNode) || (prevSibling.parentNode != parentNode)) { + parentNode.indent(null, true, last, this._level); + } + if (document.getElementById(prevSibling.id + '-plus')) { + if (nextSibling) { + if ((parentNode == prevSibling) && (parentNode.getNextSibling)) { document.getElementById(prevSibling.id + '-plus').src = webFXTreeConfig.tIcon; } + else if (nextSibling.parentNode != prevSibling) { document.getElementById(prevSibling.id + '-plus').src = webFXTreeConfig.lIcon; } + } + else { document.getElementById(prevSibling.id + '-plus').src = webFXTreeConfig.lIcon; } + } +} + +WebFXTreeItem.prototype._remove = function() { + for (var i = this.childNodes.length - 1; i >= 0; i--) { + this.childNodes[i]._remove(); + } + for (var i = 0; i < this.parentNode.childNodes.length; i++) { + if (this.id == this.parentNode.childNodes[i].id) { + for (var j = i; j < this.parentNode.childNodes.length; j++) { + this.parentNode.childNodes[i] = this.parentNode.childNodes[i+1] + } + this.parentNode.childNodes.length = this.parentNode.childNodes.length - 1; + if (i + 1 == this.parentNode.childNodes.length) { this.parentNode._last = true; } + } + } + webFXTreeHandler.all[this.id] = null; + if (document.getElementById(this.id)) { + document.getElementById(this.id).innerHTML = ""; + document.getElementById(this.id).removeNode(); + } +} + +WebFXTreeItem.prototype.expand = function() { + this.doExpand(); + document.getElementById(this.id + '-plus').src = this.minusIcon; +} + +WebFXTreeItem.prototype.collapse = function() { + this.focus(); + this.doCollapse(); + document.getElementById(this.id + '-plus').src = this.plusIcon; +} + +WebFXTreeItem.prototype.getFirst = function() { + return this.childNodes[0]; +} + +WebFXTreeItem.prototype.getLast = function() { + if (this.childNodes[this.childNodes.length - 1].open) { return this.childNodes[this.childNodes.length - 1].getLast(); } + else { return this.childNodes[this.childNodes.length - 1]; } +} + +WebFXTreeItem.prototype.getNextSibling = function() { + for (var i = 0; i < this.parentNode.childNodes.length; i++) { + if (this == this.parentNode.childNodes[i]) { break; } + } + if (++i == this.parentNode.childNodes.length) { return this.parentNode.getNextSibling(); } + else { return this.parentNode.childNodes[i]; } +} + +WebFXTreeItem.prototype.getPreviousSibling = function(b) { + for (var i = 0; i < this.parentNode.childNodes.length; i++) { + if (this == this.parentNode.childNodes[i]) { break; } + } + if (i == 0) { return this.parentNode; } + else { + if ((this.parentNode.childNodes[--i].open) || (b && this.parentNode.childNodes[i].folder)) { return this.parentNode.childNodes[i].getLast(); } + else { return this.parentNode.childNodes[i]; } +} } + +WebFXTreeItem.prototype.keydown = function(key) { + if ((key == 39) && (this.folder)) { + if (!this.open) { this.expand(); return false; } + else { this.getFirst().select(); return false; } + } + else if (key == 37) { + if (this.open) { this.collapse(); return false; } + else { this.parentNode.select(); return false; } + } + else if (key == 40) { + if (this.open) { this.getFirst().select(); return false; } + else { + var sib = this.getNextSibling(); + if (sib) { sib.select(); return false; } + } } + else if (key == 38) { this.getPreviousSibling().select(); return false; } + return true; +} + +WebFXTreeItem.prototype.toString = function (nItem, nItemCount) { + var foo = this.parentNode; + var indent = ''; + if (nItem + 1 == nItemCount) { this.parentNode._last = true; } + var i = 0; + while (foo.parentNode) { + foo = foo.parentNode; + indent = "<img id=\"" + this.id + "-indent-" + i + "\" src=\"" + ((foo._last)?webFXTreeConfig.blankIcon:webFXTreeConfig.iIcon) + "\">" + indent; + i++; + } + this._level = i; + if (this.childNodes.length) { this.folder = 1; } + else { this.open = false; } + if ((this.folder) || (webFXTreeHandler.behavior != 'classic')) { + if (!this.icon) { this.icon = webFXTreeConfig.folderIcon; } + if (!this.openIcon) { this.openIcon = webFXTreeConfig.openFolderIcon; } + } + else if (!this.icon) { this.icon = webFXTreeConfig.fileIcon; } + var label = this.text; + label = label.replace('<', '<'); + label = label.replace('>', '>'); + var str = "<div id=\"" + this.id + "\" ondblclick=\"webFXTreeHandler.toggle(this);\" class=\"webfx-tree-item\" onkeydown=\"return webFXTreeHandler.keydown(this)\">"; + str += indent; + str += "<img id=\"" + this.id + "-plus\" src=\"" + ((this.folder)?((this.open)?((this.parentNode._last)?webFXTreeConfig.lMinusIcon:webFXTreeConfig.tMinusIcon):((this.parentNode._last)?webFXTreeConfig.lPlusIcon:webFXTreeConfig.tPlusIcon)):((this.parentNode._last)?webFXTreeConfig.lIcon:webFXTreeConfig.tIcon)) + "\" onclick=\"webFXTreeHandler.toggle(this);\">" + str += "<img id=\"" + this.id + "-icon\" src=\"" + ((webFXTreeHandler.behavior == 'classic' && this.open)?this.openIcon:this.icon) + "\" onclick=\"webFXTreeHandler.select(this);\"><a href=\"" + this.action + "\" id=\"" + this.id + "-anchor\" target=\"" + this.targetWindow + "\" onfocus=\"webFXTreeHandler.focus(this);\" onblur=\"webFXTreeHandler.blur(this);\">" + label + "</a></div>"; + str += "<div id=\"" + this.id + "-cont\" class=\"webfx-tree-container\" style=\"display: " + ((this.open)?'block':'none') + ";\">"; + for (var i = 0; i < this.childNodes.length; i++) { + str += this.childNodes[i].toString(i,this.childNodes.length); + } + str += "</div>"; + this.plusIcon = ((this.parentNode._last)?webFXTreeConfig.lPlusIcon:webFXTreeConfig.tPlusIcon); + this.minusIcon = ((this.parentNode._last)?webFXTreeConfig.lMinusIcon:webFXTreeConfig.tMinusIcon); + return str; +}
\ No newline at end of file diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/phpdoc.de/templates/media/stylesheet.css b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/phpdoc.de/templates/media/stylesheet.css new file mode 100755 index 00000000..ccedc6a4 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/phpdoc.de/templates/media/stylesheet.css @@ -0,0 +1,184 @@ +a { color: #0000C0; text-decoration: underline; } +a:hover { text-decoration: underline; background-color: #FFFFFF } +a:active { text-decoration: underline; background-color: #FFFFFF } + +body, table { background-color: #EEEEEE; font-family: Verdana, Arial, sans-serif; font-size: 10pt } +p, li { line-height: 140% } +a img { border: 0px; } +dd { margin-left: 0px; padding-left: 1em; } + +/* Page layout/boxes */ + +.info-box {} +.info-box-title { margin: 1em 0em 0em 0em; padding: .25em; font-weight: normal; font-size: 14pt; border: 2px solid #999999; background-color: #FFFFFF } +.info-box-body { border: 1px solid #999999; padding: .5em; } +.nav-bar { font-size: 8pt; white-space: nowrap; text-align: right; padding: .2em; margin: 0em 0em 1em 0em; } + +.oddrow { background-color: #F8F8F8; border: 1px solid #AAAAAA; padding: .5em; margin-bottom: 1em} +.evenrow { border: 1px solid #AAAAAA; padding: .5em; margin-bottom: 1em} + +.page-body { max-width: 800px; margin: auto; } +.tree { } + +/* Index formatting classes */ + +.index-item-body { margin-top: .5em; margin-bottom: .5em} +.index-item-description { margin-top: .25em } +.index-item-details { font-weight: normal; font-style: italic; font-size: 8pt } +.index-letter-section { background-color: #EEEEEE; border: 1px dotted #999999; padding: .5em; margin-bottom: 1em} +.index-letter-title { font-size: 12pt; font-weight: bold } +.index-letter-menu { text-align: center; margin: 1em } +.index-letter { font-size: 12pt } + +/* Docbook classes */ + +.description {} +.short-description { font-weight: bold; color: #666666; } +.tags { padding-left: 0em; margin-left: 3em; color: #666666; list-style-type: square; } +.parameters { padding-left: 0em; margin-left: 3em; font-style: italic; list-style-type: square; } +.redefinitions { font-size: 8pt; padding-left: 0em; margin-left: 2em; } +.package { } +.package-title { font-weight: bold; font-size: 14pt; border-bottom: 1px solid black } +.package-details { font-size: 85%; } +.sub-package { font-weight: bold; font-size: 120% } +.tutorial { border-width: thin; border-color: #0066ff } +.tutorial-nav-box { width: 100%; border: 1px solid #AAAAAA; background-color: #DDDDFF; } +.nav-button-disabled { color: #AAAAAA; } +.nav-button:active, +.nav-button:focus, +.nav-button:hover { background-color: #CCCCCC; outline: 1px solid #999999; text-decoration: none } +.folder-title { font-style: italic } + +/* Generic formatting */ + +.field { font-weight: bold; } +.detail { font-size: 8pt; } +.notes { font-style: italic; font-size: 8pt; } +.separator { background-color: #999999; height: 2px; } +.warning { color: #FF6600; } +.disabled { font-style: italic; color: #999999; } + +/* Code elements */ + +.line-number { } + +.class-table { width: 100%; } +.class-table-header { border-bottom: 1px dotted #666666; text-align: left; background-color: DDDDFF } +.class-name { color: #000000; font-weight: bold; } + +.method-summary { padding-left: 1em; font-size: 8pt } +.method-header { background-color: #DDDDFF; padding: 1px; } +.method-definition { margin-bottom: .3em } +.method-title { font-weight: bold } +.method-name { font-weight: bold; } +.method-signature { font-size: 85%; color: #666666; margin: .5em 0em } +.method-result { font-style: italic; } + +.var-summary { padding-left: 1em; font-size: 8pt; } +.var-header { background-color: #DDDDFF; padding: 1px; } +.var-title { margin-bottom: .3em } +.var-type { font-style: italic; } +.var-name { font-weight: bold; } +.var-default {} +.var-description { font-weight: normal; color: #000000; } + +.include-title { } +.include-type { font-style: italic; } +.include-name { font-weight: bold; } + +.const-title { } +.const-name { font-weight: bold; } + +/* Syntax highlighting */ + +.src-code { border: 1px solid #999999; padding: 1em; + font-family: 'Courier New', Courier, monospace; font-weight: normal; } +.src-line { font-family: 'Courier New', Courier, monospace; font-weight: normal; } + +.src-comm { color: green; } +.src-id { } +.src-inc { color: #0000FF; } +.src-key { color: #0000FF; } +.src-num { color: #CC0000; } +.src-str { color: #66cccc; } +.src-sym { font-weight: bold; } +.src-var { } + +.src-php { font-weight: bold; } + +.src-doc { color: #009999 } +.src-doc-close-template { color: #0000FF } +.src-doc-coretag { color: #0099FF; font-weight: bold } +.src-doc-inlinetag { color: #0099FF } +.src-doc-internal { color: #6699cc } +.src-doc-tag { color: #0080CC } +.src-doc-template { color: #0000FF } +.src-doc-type { font-style: italic } +.src-doc-var { font-style: italic } + +.tute-tag { color: #009999 } +.tute-attribute-name { color: #0000FF } +.tute-attribute-value { color: #0099FF } +.tute-entity { font-weight: bold; } +.tute-comment { font-style: italic } +.tute-inline-tag { color: #636311; font-weight: bold } + +/* tutorial */ + +.authors { } +.author { font-style: italic; font-weight: bold } +.author-blurb { margin: .5em 0em .5em 2em; font-size: 85%; font-weight: normal; font-style: normal } +.example { border: 1px dashed #999999; background-color: #EEEEEE; padding: .5em; } +.listing { border: 1px dashed #999999; background-color: #EEEEEE; padding: .5em; white-space: nowrap; } +.release-info { font-size: 85%; font-style: italic; margin: 1em 0em } +.ref-title-box { } +.ref-title { } +.ref-purpose { font-style: italic; color: #666666 } +.ref-synopsis { } +.title { font-weight: bold; border: 2px solid #999999; background-color: #FFFFFF; padding: 2px } +.cmd-synopsis { margin: 1em 0em } +.cmd-title { font-weight: bold } +.toc { margin-left: 2em; padding-left: 0em } + +/*------------------------------------------------------------------------------ + webfx-tree +------------------------------------------------------------------------------*/ + +.webfx-tree-container { + margin: 0px; + padding: 0px; + white-space: nowrap; + font: icon; +} + +.webfx-tree-item { + padding: 0px; + margin: 0px; + color: black; + white-space: nowrap; + font: icon; +} + +.webfx-tree-item a { + margin-left: 3px; + padding: 1px 2px 1px 2px; + color: black; + text-decoration: none; +} + +.webfx-tree-item a:hover, .webfx-tree-item a:active { + color: #666666; + background: white; + text-decoration: none +} + +.webfx-tree-item img { + vertical-align: middle; + border: 0px; +} + +.webfx-tree-icon { + width: 16px; + height: 16px; +} + diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/phpdoc.de/templates/method.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/phpdoc.de/templates/method.tpl new file mode 100755 index 00000000..06d57a12 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/phpdoc.de/templates/method.tpl @@ -0,0 +1,149 @@ +<A NAME='method_detail'></A> +{section name=methods loop=$methods} +{if $methods[methods].static} +<a name="method{$methods[methods].function_name}" id="{$methods[methods].function_name}"><!-- --></a> +<div class="{cycle values="evenrow,oddrow"}"> + + <div class="method-header"> + <span class="method-title">static {$methods[methods].function_name}</span> (line <span class="line-number">{if $methods[methods].slink}{$methods[methods].slink}{else}{$methods[methods].line_number}{/if}</span>) + </div> + + {include file="docblock.tpl" sdesc=$methods[methods].sdesc desc=$methods[methods].desc tags=$methods[methods].tags params=$methods[methods].params function=false} + + <div class="method-signature"> + static <span class="method-result">{$methods[methods].function_return}</span> + <span class="method-name"> + {if $methods[methods].ifunction_call.returnsref}&{/if}{$methods[methods].function_name} + </span> + {if count($methods[methods].ifunction_call.params)} + ({section name=params loop=$methods[methods].ifunction_call.params}{if $smarty.section.params.iteration != 1}, {/if}{if $methods[methods].ifunction_call.params[params].hasdefault}[{/if}<span class="var-type">{$methods[methods].ifunction_call.params[params].type}</span> <span class="var-name">{$methods[methods].ifunction_call.params[params].name}</span>{if $methods[methods].ifunction_call.params[params].hasdefault} = <span class="var-default">{$methods[methods].ifunction_call.params[params].default}</span>]{/if}{/section}) + {else} + () + {/if} + </div> + + {if $methods[methods].params} + <ul class="parameters"> + {section name=params loop=$methods[methods].params} + <li> + <span class="var-type">{$methods[methods].params[params].datatype}</span> + <span class="var-name">{$methods[methods].params[params].var}</span>{if $methods[methods].params[params].data}<span class="var-description">: {$methods[methods].params[params].data}</span>{/if} + </li> + {/section} + </ul> + {/if} + + {if $methods[methods].method_overrides} + <hr class="separator" /> + <div class="notes">Redefinition of:</div> + <dl> + <dt>{$methods[methods].method_overrides.link}</dt> + {if $methods[methods].method_overrides.sdesc} + <dd>{$methods[methods].method_overrides.sdesc}</dd> + {/if} + </dl> + {/if} + {if $methods[methods].method_implements} + <hr class="separator" /> + <div class="notes">Implementation of:</div> + {section name=imp loop=$methods[methods].method_implements} + <dl> + <dt>{$methods[methods].method_implements[imp].link}</dt> + {if $methods[methods].method_implements[imp].sdesc} + <dd>{$methods[methods].method_implements[imp].sdesc}</dd> + {/if} + </dl> + {/section} + {/if} + + {if $methods[methods].descmethod} + <hr class="separator" /> + <div class="notes">Redefined in descendants as:</div> + <ul class="redefinitions"> + {section name=dm loop=$methods[methods].descmethod} + <li> + {$methods[methods].descmethod[dm].link} + {if $methods[methods].descmethod[dm].sdesc} + : {$methods[methods].descmethod[dm].sdesc} + {/if} + </li> + {/section} + </ul> + {/if} +</div> +{/if} +{/section} +{section name=methods loop=$methods} +{if !$methods[methods].static} +<a name="method{$methods[methods].function_name}" id="{$methods[methods].function_name}"><!-- --></a> +<div class="{cycle values="evenrow,oddrow"}"> + + <div class="method-header"> + <span class="method-title">{if $methods[methods].ifunction_call.constructor}Constructor {elseif $methods[methods].ifunction_call.destructor}Destructor {/if}{$methods[methods].function_name}</span> (line <span class="line-number">{if $methods[methods].slink}{$methods[methods].slink}{else}{$methods[methods].line_number}{/if}</span>) + </div> + + {include file="docblock.tpl" sdesc=$methods[methods].sdesc desc=$methods[methods].desc tags=$methods[methods].tags params=$methods[methods].params function=false} + + <div class="method-signature"> + <span class="method-result">{$methods[methods].function_return}</span> + <span class="method-name"> + {if $methods[methods].ifunction_call.returnsref}&{/if}{$methods[methods].function_name} + </span> + {if count($methods[methods].ifunction_call.params)} + ({section name=params loop=$methods[methods].ifunction_call.params}{if $smarty.section.params.iteration != 1}, {/if}{if $methods[methods].ifunction_call.params[params].hasdefault}[{/if}<span class="var-type">{$methods[methods].ifunction_call.params[params].type}</span> <span class="var-name">{$methods[methods].ifunction_call.params[params].name}</span>{if $methods[methods].ifunction_call.params[params].hasdefault} = <span class="var-default">{$methods[methods].ifunction_call.params[params].default}</span>]{/if}{/section}) + {else} + () + {/if} + </div> + + {if $methods[methods].params} + <ul class="parameters"> + {section name=params loop=$methods[methods].params} + <li> + <span class="var-type">{$methods[methods].params[params].datatype}</span> + <span class="var-name">{$methods[methods].params[params].var}</span>{if $methods[methods].params[params].data}<span class="var-description">: {$methods[methods].params[params].data}</span>{/if} + </li> + {/section} + </ul> + {/if} + + {if $methods[methods].method_overrides} + <hr class="separator" /> + <div class="notes">Redefinition of:</div> + <dl> + <dt>{$methods[methods].method_overrides.link}</dt> + {if $methods[methods].method_overrides.sdesc} + <dd>{$methods[methods].method_overrides.sdesc}</dd> + {/if} + </dl> + {/if} + {if $methods[methods].method_implements} + <hr class="separator" /> + <div class="notes">Implementation of:</div> + {section name=imp loop=$methods[methods].method_implements} + <dl> + <dt>{$methods[methods].method_implements[imp].link}</dt> + {if $methods[methods].method_implements[imp].sdesc} + <dd>{$methods[methods].method_implements[imp].sdesc}</dd> + {/if} + </dl> + {/section} + {/if} + + {if $methods[methods].descmethod} + <hr class="separator" /> + <div class="notes">Redefined in descendants as:</div> + <ul class="redefinitions"> + {section name=dm loop=$methods[methods].descmethod} + <li> + {$methods[methods].descmethod[dm].link} + {if $methods[methods].descmethod[dm].sdesc} + : {$methods[methods].descmethod[dm].sdesc} + {/if} + </li> + {/section} + </ul> + {/if} +</div> +{/if} +{/section} diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/phpdoc.de/templates/page.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/phpdoc.de/templates/page.tpl new file mode 100755 index 00000000..b5980236 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/phpdoc.de/templates/page.tpl @@ -0,0 +1,211 @@ +{include file="header.tpl" top3=true} + +<h2 class="file-name">{$source_location}</h2> + +<a name="sec-description"></a> +<div class="info-box"> + <div class="info-box-title">Description</div> + <div class="nav-bar"> + {if $classes || $includes || $defines || $globals || $functions} + <span class="disabled">Description</span> | + {/if} + {if $classes} + <a href="#sec-classes">Classes</a> + {if $includes || $defines || $globals || $functions}|{/if} + {/if} + {if $includes} + <a href="#sec-includes">Includes</a> + {if $defines || $globals || $functions}|{/if} + {/if} + {if $defines} + <a href="#sec-constants">Constants</a> + {if $globals || $functions}|{/if} + {/if} + {if $globals} + <a href="#sec-variables">Variables</a> + {if $functions}|{/if} + {/if} + {if $functions} + <a href="#sec-functions">Functions</a> + {/if} + </div> + <div class="info-box-body"> + {include file="docblock.tpl" desc=$desc sdesc=$sdesc tags=$tags} + + {if $tutorial} + <hr class="separator" /> + <div class="notes">Tutorial: <span class="tutorial">{$tutorial}</div> + {/if} + </div> +</div> + +{if $classes} + <a name="sec-classes"></a> + <div class="info-box"> + <div class="info-box-title">Classes</div> + <div class="nav-bar"> + <a href="#sec-description">Description</a> | + <span class="disabled">Classes</span> + {if $includes || $defines || $globals || $functions}|{/if} + {if $includes} + <a href="#sec-includes">Includes</a> + {if $defines || $globals || $functions}|{/if} + {/if} + {if $defines} + <a href="#sec-constants">Constants</a> + {if $globals || $functions}|{/if} + {/if} + {if $globals} + <a href="#sec-variables">Variables</a> + {if $functions}|{/if} + {/if} + {if $functions} + <a href="#sec-functions">Functions</a> + {/if} + </div> + <div class="info-box-body"> + <table cellpadding="2" cellspacing="0" class="class-table"> + <tr> + <th class="class-table-header">Class</th> + <th class="class-table-header">Description</th> + </tr> + {section name=classes loop=$classes} + <tr> + <td style="padding-right: 2em; vertical-align: top"> + {$classes[classes].link} + </td> + <td> + {if $classes[classes].sdesc} + {$classes[classes].sdesc} + {else} + {$classes[classes].desc} + {/if} + </td> + </tr> + {/section} + </table> + </div> + </div> +{/if} + +{if $includes} + <a name="sec-includes"></a> + <div class="info-box"> + <div class="info-box-title">Includes</div> + <div class="nav-bar"> + <a href="#sec-description">Description</a> | + {if $classes} + <a href="#sec-classes">Classes</a> + {if $includes || $defines || $globals || $functions}|{/if} + {/if} + <span class="disabled">Includes</span> + {if $defines || $globals || $functions}|{/if} + {if $defines} + <a href="#sec-constants">Constants</a> + {if $globals || $functions}|{/if} + {/if} + {if $globals} + <a href="#sec-variables">Variables</a> + {if $functions}|{/if} + {/if} + {if $functions} + <a href="#sec-functions">Functions</a> + {/if} + </div> + <div class="info-box-body"> + {include file="include.tpl"} + </div> + </div> +{/if} + +{if $defines} + <a name="sec-constants"></a> + <div class="info-box"> + <div class="info-box-title">Constants</div> + <div class="nav-bar"> + <a href="#sec-description">Description</a> | + {if $classes} + <a href="#sec-classes">Classes</a> + {if $includes || $defines || $globals || $functions}|{/if} + {/if} + {if $includes} + <a href="#sec-includes">Includes</a> + {if $defines || $globals || $functions}|{/if} + {/if} + <span class="disabled">Constants</span> + {if $globals || $functions}|{/if} + {if $globals} + <a href="#sec-variables">Variables</a> + {if $functions}|{/if} + {/if} + {if $functions} + <a href="#sec-functions">Functions</a> + {/if} + </div> + <div class="info-box-body"> + {include file="define.tpl"} + </div> + </div> +{/if} + +{if $globals} + <a name="sec-variables"></a> + <div class="info-box"> + <div class="info-box-title">Variables</div> + <div class="nav-bar"> + <a href="#sec-description">Description</a> | + {if $classes} + <a href="#sec-classes">Classes</a> + {if $includes || $defines || $globals || $functions}|{/if} + {/if} + {if $includes} + <a href="#sec-includes">Includes</a> + {if $defines || $globals || $functions}|{/if} + {/if} + {if $defines} + <a href="#sec-constants">Constants</a> + {if $globals || $functions}|{/if} + {/if} + <span class="disabled">Variables</span> + {if $functions}|{/if} + {if $functions} + <a href="#sec-functions">Functions</a> + {/if} + </div> + <div class="info-box-body"> + {include file="global.tpl"} + </div> + </div> +{/if} + +{if $functions} + <a name="sec-functions"></a> + <div class="info-box"> + <div class="info-box-title">Functions</div> + <div class="nav-bar"> + <a href="#sec-description">Description</a> | + {if $classes} + <a href="#sec-classes">Classes</a> + {if $includes || $defines || $globals || $functions}|{/if} + {/if} + {if $includes} + <a href="#sec-includes">Includes</a> + {if $defines || $globals || $functions}|{/if} + {/if} + {if $defines} + <a href="#sec-constants">Constants</a> + {if $globals || $functions}|{/if} + {/if} + {if $globals} + <a href="#sec-variables">Variables</a> + {if $functions}|{/if} + {/if} + <span class="disabled">Functions</span> + </div> + <div class="info-box-body"> + {include file="function.tpl"} + </div> + </div> +{/if} + +{include file="footer.tpl" top3=true} diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/phpdoc.de/templates/pkgelementindex.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/phpdoc.de/templates/pkgelementindex.tpl new file mode 100755 index 00000000..dc283ad0 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/phpdoc.de/templates/pkgelementindex.tpl @@ -0,0 +1,17 @@ +{include file="header.tpl"} +<a name="top"></a> +<h2>[{$package}] element index</h2> +{if count($packageindex) > 1} + <h3>Package indexes</h3> + <ul> + {section name=p loop=$packageindex} + {if $packageindex[p].title != $package} + <li><a href="elementindex_{$packageindex[p].title}.html">{$packageindex[p].title}</a></li> + {/if} + {/section} + </ul> +{/if} +<a href="elementindex.html">All elements</a> +<br /> +{include file="basicindex.tpl" indexname=elementindex_$package} +{include file="footer.tpl"} diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/phpdoc.de/templates/ric.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/phpdoc.de/templates/ric.tpl new file mode 100755 index 00000000..ad792475 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/phpdoc.de/templates/ric.tpl @@ -0,0 +1,6 @@ +{include file="header.tpl"} +<div align="center"><h1>{$name}</h1></div> +<pre> +{$contents|htmlentities} +</pre> +{include file="footer.tpl"}
\ No newline at end of file diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/phpdoc.de/templates/todolist.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/phpdoc.de/templates/todolist.tpl new file mode 100755 index 00000000..f929ccdb --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/phpdoc.de/templates/todolist.tpl @@ -0,0 +1,14 @@ +{include file="header.tpl" title="Todo List"} +<div align="center"><h1>Todo List</h1></div> +{foreach from=$todos key=todopackage item=todo} +<h2>{$todopackage}</h2> +{section name=todo loop=$todo} +<h3>{$todo[todo].link}</h3> +<ul> +{section name=t loop=$todo[todo].todos} + <li>{$todo[todo].todos[t]}</li> +{/section} +</ul> +{/section} +{/foreach} +{include file="footer.tpl"}
\ No newline at end of file diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/phpdoc.de/templates/top_frame.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/phpdoc.de/templates/top_frame.tpl new file mode 100755 index 00000000..36d1e5a1 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/phpdoc.de/templates/top_frame.tpl @@ -0,0 +1,45 @@ +<?xml version="1.0" encoding="iso-8859-1"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> + <html xmlns="http://www.w3.org/1999/xhtml"> + <head> + <!-- template designed by Marco Von Ballmoos --> + <title>{$title}</title> + <link rel="stylesheet" href="{$subdir}media/stylesheet.css" /> + <link rel="stylesheet" href="{$subdir}media/banner.css" /> + <meta http-equiv='Content-Type' content='text/html; charset=iso-8859-1'/> + </head> + <body> + <div class="banner"> + <div class="banner-title">{$package}</div> + <div class="banner-menu"> + <form> + <table cellpadding="0" cellspacing="0" style="width: 100%"> + <tr> + <td> + {if count($ric) >= 1} + {assign var="last_ric_name" value=""} + {section name=ric loop=$ric} + {if $last_ric_name != ""} | {/if} + <a href="{$ric[ric].file}" target="right">{$ric[ric].name}</a> + {assign var="last_ric_name" value=$ric[ric].name} + {/section} + {/if} + </td> + <td style="width: 2em"> </td> + <td style="text-align: right"> + {if count($packages) > 1} + <span class="field">Packages</span> + <select class="package-selector" onchange="window.parent.left_bottom.location=this[selectedIndex].value"> + {section name=p loop=$packages} + <option value="{$packages[p].link}">{$packages[p].title}</option> + {/section} + </select> + {/if} + </td> + </tr> + </table> + </form> + </div> + </div> + </body> + </html> diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/phpdoc.de/templates/tutorial.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/phpdoc.de/templates/tutorial.tpl new file mode 100755 index 00000000..3b9109d1 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/phpdoc.de/templates/tutorial.tpl @@ -0,0 +1,13 @@ +{include file="header.tpl" title=$title top3=true} + +{if $nav} + {include file="tutorial_nav.tpl" prev=$prev next=$next up=$up prevtitle=$prevtitle nexttitle=$nexttitle uptitle=$uptitle} +{/if} + +{$contents} + +{if $nav} + {include file="tutorial_nav.tpl" prev=$prev next=$next up=$up prevtitle=$prevtitle nexttitle=$nexttitle uptitle=$uptitle} +{/if} + +{include file="footer.tpl" top3=true}
\ No newline at end of file diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/phpdoc.de/templates/tutorial_nav.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/phpdoc.de/templates/tutorial_nav.tpl new file mode 100755 index 00000000..89952301 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/phpdoc.de/templates/tutorial_nav.tpl @@ -0,0 +1,41 @@ +<table class="tutorial-nav-box"> + <tr> + <td style="width: 30%"> + {if $prev} + <a href="{$prev}" class="nav-button">Previous</a> + {else} + <span class="nav-button-disabled">Previous</span> + {/if} + </td> + <td style="text-align: center"> + {if $up} + <a href="{$up}" class="nav-button">Up</a> + {/if} + </td> + <td style="text-align: right; width: 30%"> + {if $next} + <a href="{$next}" class="nav-button">Next</a> + {else} + <span class="nav-button-disabled">Next</span> + {/if} + </td> + </tr> + <tr> + <td style="width: 30%"> + {if $prevtitle} + <span class="detail">{$prevtitle}</span> + {/if} + </td> + <td style="text-align: center"> + {if $uptitle} + <span class="detail">{$uptitle}</span> + {/if} + </td> + <td style="text-align: right; width: 30%"> + {if $nexttitle} + <span class="detail">{$nexttitle}</span> + {/if} + </td> + </tr> +</table> +
\ No newline at end of file diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/phpdoc.de/templates/tutorial_toc.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/phpdoc.de/templates/tutorial_toc.tpl new file mode 100755 index 00000000..3482249b --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/phpdoc.de/templates/tutorial_toc.tpl @@ -0,0 +1,40 @@ +{if count($toc)} +<h1 class="title">Table of Contents</h1> +<ul class="toc"> + {assign var="lastcontext" value='refsect1'} + {section name=toc loop=$toc} + + {if $toc[toc].tagname != $lastcontext} + {if $lastcontext == 'refsect1'} + <ul class="toc"> + <li>{$toc[toc].link}</li> + {else} + {if $lastcontext == 'refsect2'} + {if $toc[toc].tagname == 'refsect1'} + </ul> + <li>{$toc[toc].link}</li> + {/if} + {if $toc[toc].tagname == 'refsect3'} + <ul class="toc"> + <li>{$toc[toc].link}</li> + {/if} + {else} + </ul> + </ul> + <li>{$toc[toc].link}</li> + {/if} + {/if} + {assign var="lastcontext" value=$toc[toc].tagname} + {else} + <li>{$toc[toc].link}</li> + {/if} + {/section} + {if $lastcontext == 'refsect2'} + </ul> + {/if} + {if $lastcontext == 'refsect3'} + </ul> + </ul> + {/if} +</ul> +{/if} diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/phpdoc.de/templates/tutorial_tree.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/phpdoc.de/templates/tutorial_tree.tpl new file mode 100755 index 00000000..40d9a4ff --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/phpdoc.de/templates/tutorial_tree.tpl @@ -0,0 +1,8 @@ + var a{$name|replace:"-":"_"}node = new WebFXTreeItem('{$main.title|strip_tags|escape:"quotes"}','{$main.link}', parent_node); + +{if $haskids} + var a{$name|replace:"-":"_"}_old_parent_node = parent_node; + parent_node = a{$name|replace:"-":"_"}node; + {$kids} + parent_node = a{$name|replace:"-":"_"}_old_parent_node; +{/if} diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/phpdoc.de/templates/var.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/phpdoc.de/templates/var.tpl new file mode 100755 index 00000000..fccf6892 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/phpdoc.de/templates/var.tpl @@ -0,0 +1,92 @@ +{section name=vars loop=$vars} +{if $vars[vars].static} +<a name="var{$vars[vars].var_name}" id="{$vars[vars].var_name}"><!-- --></A> +<div class="{cycle values="evenrow,oddrow"}"> + + <div class="var-header"> + <span class="var-title"> + static <span class="var-type">{$vars[vars].var_type}</span> + <span class="var-name">{$vars[vars].var_name}</span> + {if $vars[vars].var_default} = <span class="var-default">{$vars[vars].var_default|replace:"\n":"<br />"}</span>{/if} + (line <span class="line-number">{if $vars[vars].slink}{$vars[vars].slink}{else}{$vars[vars].line_number}{/if}</span>) + </span> + </div> + + {include file="docblock.tpl" sdesc=$vars[vars].sdesc desc=$vars[vars].desc tags=$vars[vars].tags} + + {if $vars[vars].var_overrides} + <hr class="separator" /> + <div class="notes">Redefinition of:</div> + <dl> + <dt>{$vars[vars].var_overrides.link}</dt> + {if $vars[vars].var_overrides.sdesc} + <dd>{$vars[vars].var_overrides.sdesc}</dd> + {/if} + </dl> + {/if} + + {if $vars[vars].descvar} + <hr class="separator" /> + <div class="notes">Redefined in descendants as:</div> + <ul class="redefinitions"> + {section name=vm loop=$vars[vars].descvar} + <li> + {$vars[vars].descvar[vm].link} + {if $vars[vars].descvar[vm].sdesc} + : {$vars[vars].descvar[vm].sdesc} + {/if} + </li> + {/section} + </ul> + {/if} + +</div> +{/if} +{/section} + +{section name=vars loop=$vars} +{if !$vars[vars].static} +<a name="var{$vars[vars].var_name}" id="{$vars[vars].var_name}"><!-- --></A> +<div class="{cycle values="evenrow,oddrow"}"> + + <div class="var-header"> + <span class="var-title"> + <span class="var-type">{$vars[vars].var_type}</span> + <span class="var-name">{$vars[vars].var_name}</span> + {if $vars[vars].var_default} = <span class="var-default">{$vars[vars].var_default|replace:"\n":"<br />"}</span>{/if} + (line <span class="line-number">{if $vars[vars].slink}{$vars[vars].slink}{else}{$vars[vars].line_number}{/if}</span>) + </span> + </div> + + {include file="docblock.tpl" sdesc=$vars[vars].sdesc desc=$vars[vars].desc tags=$vars[vars].tags} + + {if $vars[vars].var_overrides} + <hr class="separator" /> + <div class="notes">Redefinition of:</div> + <dl> + <dt>{$vars[vars].var_overrides.link}</dt> + {if $vars[vars].var_overrides.sdesc} + <dd>{$vars[vars].var_overrides.sdesc}</dd> + {/if} + </dl> + {/if} + + {if $vars[vars].descvar} + <hr class="separator" /> + <div class="notes">Redefined in descendants as:</div> + <ul class="redefinitions"> + {section name=vm loop=$vars[vars].descvar} + <li> + {$vars[vars].descvar[vm].link} + {if $vars[vars].descvar[vm].sdesc} + : {$vars[vars].descvar[vm].sdesc} + {/if} + </li> + {/section} + </ul> + {/if} + +</div> +{/if} +{/section} + diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/phphtmllib/options.ini b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/phphtmllib/options.ini new file mode 100755 index 00000000..084809be --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/phphtmllib/options.ini @@ -0,0 +1,577 @@ +preservedocbooktags = false + +;; used to highlight the {@source} inline tag, @filesource tag, and @example tag +[highlightSourceTokens] +;; format: +;; T_CONSTANTNAME = open +;; /T_CONSTANTNAME = close + +T_INCLUDE = <span class="src-inc"> +/T_INCLUDE = </span> +T_INCLUDE_ONCE = <span class="src-inc"> +/T_INCLUDE_ONCE = </span> +T_REQUIRE_ONCE = <span class="src-inc"> +/T_REQUIRE_ONCE = </span> +T_REQUIRE_ONCE = <span class="src-inc"> +/T_REQUIRE_ONCE = </span> + +T_CONSTANT_ENCAPSED_STRING = <span class="src-str"> +/T_CONSTANT_ENCAPSED_STRING = </span> +T_STRING_VARNAME = <span class="src-str"> +/T_STRING_VARNAME = </span> + +T_STRING = <span class="src-id"> +/T_STRING = </span> + +T_DNUMBER = <span class="src-num"> +/T_DNUMBER = </span> +T_LNUMBER = <span class="src-num"> +/T_LNUMBER = </span> + +T_VARIABLE = <span class="src-var"> +/T_VARIABLE = </span> + +T_COMMENT = <span class="src-comm"> +/T_COMMENT = </span> +T_ML_COMMENT = <span class="src-comm"> +/T_ML_COMMENT = </span> + +T_OBJECT_OPERATOR = <span class="src-sym"> +/T_OBJECT_OPERATOR = </span> + +T_ABSTRACT = <span class="src-key"> +/T_ABSTRACT = </span> +T_CLONE = <span class="src-key"> +/T_CLONE = </span> +T_HALT_COMPILER = <span class="src-key"> +/T_HALT_COMPILER = </span> +T_ARRAY = <span class="src-key"> +/T_ARRAY = </span> +T_AS = <span class="src-key"> +/T_AS = </span> +T_BREAK = <span class="src-key"> +/T_BREAK = </span> +T_CLASS = <span class="src-key"> +/T_CLASS = </span> +T_CASE = <span class="src-key"> +/T_CASE = </span> +T_CONST = <span class="src-key"> +/T_CONST = </span> +T_CONTINUE = <span class="src-key"> +/T_CONTINUE = </span> +T_DECLARE = <span class="src-key"> +/T_DECLARE = </span> +T_DEFAULT = <span class="src-key"> +/T_DEFAULT = </span> +T_ELSE = <span class="src-key"> +/T_ELSE = </span> +T_ELSEIF = <span class="src-key"> +/T_ELSEIF = </span> +T_EMPTY = <span class="src-key"> +/T_EMPTY = </span> +T_ENDDECLARE = <span class="src-key"> +/T_ENDDECLARE = </span> +T_ENDFOR = <span class="src-key"> +/T_ENDFOR = </span> +T_ENDSWITCH = <span class="src-key"> +/T_ENDSWITCH = </span> +T_ENDFOREACH = <span class="src-key"> +/T_ENDFOREACH = </span> +T_ENDIF = <span class="src-key"> +/T_ENDIF = </span> +T_ENDWHILE = <span class="src-key"> +/T_ENDWHILE = </span> +T_EXIT = <span class="src-key"> +/T_EXIT = </span> +T_EXTENDS = <span class="src-key"> +/T_EXTENDS = </span> +T_FINAL = <span class="src-key"> +/T_FINAL = </span> +T_FOR = <span class="src-key"> +/T_FOR = </span> +T_FOREACH = <span class="src-key"> +/T_FOREACH = </span> +T_FUNCTION = <span class="src-key"> +/T_FUNCTION = </span> +T_GLOBAL = <span class="src-key"> +/T_GLOBAL = </span> +T_IF = <span class="src-key"> +/T_IF = </span> +T_IMPLEMENTS = <span class="src-key"> +/T_IMPLEMENTS = </span> +T_INTERFACE = <span class="src-key"> +/T_INTERFACE = </span> +T_LOGICAL_AND = <span class="src-key"> +/T_LOGICAL_AND = </span> +T_LOGICAL_OR = <span class="src-key"> +/T_LOGICAL_OR = </span> +T_LOGICAL_XOR = <span class="src-key"> +/T_LOGICAL_XOR = </span> +T_NEW = <span class="src-key"> +/T_NEW = </span> +T_PRIVATE = <span class="src-key"> +/T_PRIVATE = </span> +T_PROTECTED = <span class="src-key"> +/T_PROTECTED = </span> +T_PUBLIC = <span class="src-key"> +/T_PUBLIC = </span> +T_RETURN = <span class="src-key"> +/T_RETURN = </span> +T_STATIC = <span class="src-key"> +/T_STATIC = </span> +T_SWITCH = <span class="src-key"> +/T_SWITCH = </span> +T_VAR = <span class="src-key"> +/T_VAR = </span> +T_WHILE = <span class="src-key"> +/T_WHILE = </span> + +T_DOUBLE_COLON = <span class="src-sym"> +/T_DOUBLE_COLON = </span> + +T_OPEN_TAG = <span class="src-php"> +/T_OPEN_TAG = </span> +T_OPEN_TAG_WITH_ECHO = <span class="src-php"> +/T_OPEN_TAG_WITH_ECHO = </span> +T_CLOSE_TAG = <span class="src-php"> +/T_CLOSE_TAG = </span> + + +[highlightSource] +;; this is for highlighting things that aren't tokens like "&" +;; format: +;; word = open +;; /word = close +@ = <span class="src-sym"> +/@ = </span> +& = <span class="src-sym"> +/& = </span> +[ = <span class="src-sym"> +/[ = </span> +] = <span class="src-sym"> +/] = </span> +! = <span class="src-sym"> +/! = </span> +";" = <span class="src-sym"> +/; = </span> +( = <span class="src-sym"> +/( = </span> +) = <span class="src-sym"> +/) = </span> +, = <span class="src-sym"> +/, = </span> +{ = <span class="src-sym"> +/{ = </span> +} = <span class="src-sym"> +/} = </span> +""" = <span class="src-str"> +/" = </span> + +[highlightDocBlockSourceTokens] +;; this is for docblock tokens, using by phpDocumentor_HighlightParser +;; tagphptype is for "string" in @param string description, for example +docblock = <span class="src-doc"> +/docblock = </span> +tagphptype = <span class="src-doc-type"> +/tagphptype = </span> +tagvarname = <span class="src-doc-var"> +/tagvarname = </span> +coretag = <span class="src-doc-coretag"> +/coretag = </span> +tag = <span class="src-doc-tag"> +/tag = </span> +inlinetag = <span class="src-doc-inlinetag"> +/inlinetag = </span> +internal = <span class="src-doc-internal"> +/internal = </span> +closetemplate = <span class="src-doc-close-template"> +/closetemplate = </span> +docblocktemplate = <span class="src-doc-template"> +/docblocktemplate = </span> + +[highlightTutorialSourceTokens] +;; this is for XML DocBook-based tutorials, highlighted by phpDocumentor_TutorialHighlightParser +;; <tag> +opentag = <span class="tute-tag"> +/opentag = </span> +;; </tag> +closetag = <span class="tute-tag"> +/closetag = </span> +;; <tag attribute="value"> +attribute = <span class="tute-attribute-name"> +/attribute = </span> +;; <tag attribute="value"> +attributevalue = <span class="tute-attribute-value"> +/attributevalue = </span> +;; &entity; +entity = <span class="tute-entity"> +/entity = </span> +;; <!-- comment --> +comment = <span class="tute-comment"> +/comment = </span> +;; {@inline tag} +itag = <span class="tute-inline-tag"> +/itag = </span> + +;; used for translation of html in DocBlocks +[desctranslate] +ul = <ul> +/ul = </ul> +ol = <ol> +/ol = </ol> +li = <li> +/li = </li> +code = +/code = +var = <var> +/var = </var> +samp = <samp> +/samp = </samp> +kbd = <kbd> +/kbd = </kbd> +pre = <pre> +/pre = </pre> +p = <p> +/p = </p> +b = <strong> +/b = </strong> +i = <em> +/i = </em> +br = <br /> + +[ppage] +;; this is the DocBook package page translation section. All DocBook tags +;; that have a corresponding html tag must be listed here. Entities should +;; also be listed here +;; +;; examples: +;; 1) +;; tagname = newtagname +;; +;; This is the simplest case, where all attributes will be added into the +;; starting tag and the ending tag will be html/xml style </tranlatedtagname> +;; <tagname></tagname> becomes <newtagname></newtagname> and +;; <tagname attr="value"></tagname> becomes +;; <newtagname attr="value"></newtagname> +;; +;; 2) +;; tagname = newtagname +;; tagname->attr = newattrname +;; +;; in this case, everything will be like the first case, except tags like: +;; <tagname attr="value"></tagname> will become +;; <newtagname newattrname="value"></newtagname> +;; +;; 3) +;; tagname = newtagname +;; tagname->attr = newattrname +;; tagname->attr+value = newvalue +;; +;; in this case, the value is also translated to another. This can be useful +;; for instances such as focus="middle" changing to align="center" or something +;; of that nature. +;; <tagname attr="value"></tagname> will become +;; <newtagname newattrname="newvalue"></newtagname> +;; +;; 4) +;; tagname = newtagname +;; tagname->attr1 = newattrname +;; tagname->attr2 = newattrname +;; tagname->attr1+value|attr2+value = newvalue +;; +;; in this case, two attributes combine to make one new attribute, and the combined +;; value is translated into a new value +;; <tagname attr1="value1" attr2="value2"></tagname> will become +;; <newtagname newattrname="newvalue"></newtagname> +;; +;; 5) +;; tagname = newtagname +;; tagname!attr = dummy +;; +;; here, the attribute will be ignored. dummy is not used and may be any value +;; <tagname attr="value"></tagname> will become +;; <newtagname></newtagname> +;; +;; 6) +;; tagname = newtagname +;; tagname! = dummy +;; +;; here, all attributes will be ignored. dummy is not used and may be any value +;; <tagname attr1="value" attr2="foo"></tagname> will become +;; <newtagname></newtagname> +;; +;; 7) +;; tagname = newtagname +;; tagname/ = 1 +;; +;; here, the tag will be translated as a single tag with no closing tag, and all +;; attributes +;; <tagname attr="val">{text text}</tagname> will become +;; <newtagname attr="val" /> +;; +;; 8) +;; tagname = <starttaginfo /> +;; /tagname = closetagtext +;; +;; in this case, the text <starttaginfo> will be inserted exactly as entered for +;; <tagname> and closetagtext for </tagname> +;; <tagname attr="val"></tagname> will become +;; <starttaginfo />closetagtext +;; +;; 9) +;; $attr$my_attribute = newattrname +;; +;; tagname = newtagname +;; +;; in this case, all occurences of my_attribute in any tag will be changed to +;; newattrname. This is useful for changing things like role="php" to +;; class="php," for example. Note that the text "$attr$" MUST be on the line +;; start for phpDocumentor to recognize it. +;; +;; 10) +;; &entity; = translation text +;; " = " +;; " = """ +;; < = < +;; +;; Use this to control translation of entities to their appropriate values + + = +" = " +” = ” +“ = “ +& = & +< = < +> = > +© = © + + +$attr$role = class + +abbrev = abbr + +blockquote = blockquote + +arg = span +arg->choice = class + +author = <span class="author"> +/author = </span> +author! = 0 + +authorblurb = <div class="author-blurb"> +/authorblurb = </div> + +authorgroup = <div class="authors"><h2 class="title">Authors</h2> +/authorgroup = </div> +authorgroup! = 0 + +caution = <span class="warning"> +/caution = </span> +caution! = 0 + +cmdsynopsis = <div class="cmd-synopsis"> +/cmdsynopsis = </div> + +command = <span class="cmd-title"> +/command = </span> + +copyright = <div class="notes"> +/copyright = </div> + +emphasis = em + +example = <div class="src-code"> +/example = </div> +example! = 0 + +function = +/function = () + +formalpara = p + +graphic = img +graphic->fileref = src +graphic/ = + +important = strong + +informalequation = blockquote + +informalexample = div + +inlineequation = em + +itemizedlist = ul + +listitem = li + +literal = code + +literallayout = span + +option = " " +/option = + +orderedlist = ol + +para = p + +programlisting = <div class="src-code"> +/programlisting = </div> +programlisting! = 0 + +refentry = div + +refnamediv = <div class="ref-title-box"> +/refnamediv = </div> +refnamediv! = 0 + +refname = <h1 class="ref-title"> +/refname = </h1> + +refpurpose = <h2 class="ref-purpose"> +/refpurpose = </h2> + +refsynopsisdiv = <div class="ref-synopsis"> +/refsynopsisdiv = </div> +refsynopsisdiv! = 0 + +refsect1 = span + +refsect2 = span + +refsect3 = +/refsect3 = <br /> + +releaseinfo = <div class="release-info">( +/releaseinfo = )</div> + +simpara = +/simpara = <br /> +simpara! = 0 + +subscript = sub + +superscript = super + +table = table + +table->colsep = rules +table->rowsep = rules +table->colsep+1|rowsep+1 =all +table->colsep+1|rowsep+0 =cols +table->colsep+0|rowsep+1 =rows + +table->frame =frame +table->frame+all =border +table->frame+none =void +table->frame+sides =vsides +table->frame+top =above +table->frame+topbot =hsides + +thead = thead + +tfoot = tfoot + +tbody = tbody + +colspec = col + +tgroup = colgroup +tgroup/ = 1 +tgroup->cols = span + +row = tr + +entry = td +entry->morerows = colspan +entry->morerows+1 =2 +entry->morerows+2 =3 +entry->morerows+3 =4 +entry->morerows+4 =5 +entry->morerows+5 =6 +entry->morerows+6 =7 +entry->morerows+7 =8 +entry->morerows+8 =9 +entry->morerows+9 =10 +entry->morerows+10 =11 +;; add more if you need more colspans + +warning = <span class="warning"> +/warning = </span> +warning! = 0 + +;; now begins the attributes that should be tags in cdata +[$attr$id] +open = a +;close = /a +cdata! = true +quotevalues = true +separator = "=" +;separateall = true +$id = name + +;; now begins the sections that deal with <title> +[refsynopsisdiv_title] +;tag_attr = true +;attr_name = title +cdata_start = true +;cdata_end = true +open = <h1 class="title"> +close = </h1> + +[refsect1_title] +;tag_attr = true +;attr_name = title +cdata_start = true +;cdata_end = true +open = <h2 class="title"> +close = </h2> + +[refsect2_title] +;tag_attr = true +;attr_name = title +cdata_start = true +;cdata_end = true +open = <h3 class="title"> +close = </h3> + +[refsect3_title] +;tag_attr = true +;attr_name = title +cdata_start = true +;cdata_end = true +open = <h4 class="title"> +close = </h4> + +[para_title] +;tag_attr = true +;attr_name = title +cdata_start = true +;cdata_end = true +open = <div class="title"> +close = </div> + +[formalpara_title] +;tag_attr = true +;attr_name = title +cdata_start = true +;cdata_end = true +open = <div class="title"> +close = </div> + +[example_title] +;tag_attr = true +;attr_name = title +;cdata_start = true +cdata_end = true +open = </td></tr><tr><td><strong> +close = </strong> + +[table_title] +;tag_attr = true +;attr_name = true +cdata_start = true +open = <caption> +close = </caption> diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/phphtmllib/templates/basicindex.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/phphtmllib/templates/basicindex.tpl new file mode 100755 index 00000000..951ee264 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/phphtmllib/templates/basicindex.tpl @@ -0,0 +1,47 @@ +<div class="index-letter-menu"> +{section name=letter loop=$letters} + <a class="index-letter" href="{$indexname}.html#{$letters[letter].letter}">{$letters[letter].letter}</a> +{/section} +</div> + +{section name=index loop=$index} + <a name="{$index[index].letter}"></a> + <div class="index-letter-section"> + <div style="float: left" class="index-letter-title">{$index[index].letter}</div> + <div style="float: right"><a href="#top">top</a></div> + <div style="clear: both"></div> + </div> + <dl> + {section name=contents loop=$index[index].index} + <dt class="field"> + {if ($index[index].index[contents].title == "Variable")} + <span class="var-title">{$index[index].index[contents].name}</span> + {elseif ($index[index].index[contents].title == "Global")} + <span class="var-title">{$index[index].index[contents].name}</span> + {elseif ($index[index].index[contents].title == "Method")} + <span class="method-title">{$index[index].index[contents].name}</span> + {elseif ($index[index].index[contents].title == "Function")} + <span class="method-title">{$index[index].index[contents].name}</span> + {elseif ($index[index].index[contents].title == "Constant")} + <span class="const-title">{$index[index].index[contents].name}</span> + {elseif ($index[index].index[contents].title == "Page") || ($index[index].index[contents].title == "Include")} + <span class="include-title">{$index[index].index[contents].name}</span> + {else} + {$index[index].index[contents].name} + {/if} + </dt> + <dd class="index-item-body"> + <div class="index-item-details">{$index[index].index[contents].link} in {$index[index].index[contents].file_name}</div> + {if $index[index].index[contents].description} + <div class="index-item-description">{$index[index].index[contents].description}</div> + {/if} + </dd> + {/section} + </dl> +{/section} + +<div class="index-letter-menu"> +{section name=letter loop=$letters} + <a class="index-letter" href="{$indexname}.html#{$letters[letter].letter}">{$letters[letter].letter}</a> +{/section} +</div> diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/phphtmllib/templates/blank.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/phphtmllib/templates/blank.tpl new file mode 100755 index 00000000..6a05f27e --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/phphtmllib/templates/blank.tpl @@ -0,0 +1,13 @@ +<html> +<head> + <title>{$maintitle}</title> + <link rel="stylesheet" href="{$subdir}media/stylesheet.css" /> + <meta http-equiv='Content-Type' content='text/html; charset=iso-8859-1'/> +</head> +<body> +<div align="center"><h1>{$maintitle}</h1></div> +<b>Welcome to {$package}!</b><br /> +<br /> +This documentation was generated by <a href="{$phpdocwebsite}">phpDocumentor v{$phpdocversion}</a><br /> +</body> +</html>
\ No newline at end of file diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/phphtmllib/templates/class.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/phphtmllib/templates/class.tpl new file mode 100755 index 00000000..9ab7c455 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/phphtmllib/templates/class.tpl @@ -0,0 +1,429 @@ +{include file="header.tpl" top3=true} + +<h2 class="class-name">{if $is_interface}Interface{else}Class{/if} {$class_name}</h2> + +<a name="sec-description"></a> +<div class="info-box"> + <div class="info-box-title">Description</div> + <div class="nav-bar"> + {if $children || $vars || $ivars || $methods || $imethods || $consts || $iconsts } + <span class="disabled">Description</span> | + {/if} + {if $children} + <a href="#sec-descendents">Descendents</a> + {if $vars || $ivars || $methods || $imethods || $consts || $iconsts}|{/if} + {/if} + {if $vars || $ivars} + {if $vars} + <a href="#sec-var-summary">Vars</a> (<a href="#sec-vars">details</a>) + {else} + <a href="#sec-vars">Vars</a> + {/if} + {if $methods || $imethods}|{/if} + {/if} + {if $methods || $imethods} + {if $methods} + <a href="#sec-method-summary">Methods</a> (<a href="#sec-methods">details</a>) + {else} + <a href="#sec-methods">Methods</a> + {/if} + {/if} + {if $consts || $iconsts} + {if $consts} + <a href="#sec-const-summary">Constants</a> (<a href="#sec-consts">details</a>) + {else} + <a href="#sec-consts">Constants</a> + {/if} + {/if} + </div> + <div class="info-box-body"> + {if $implements} + <p class="implements"> + Implements interfaces: + <ul> + {foreach item="int" from=$implements}<li>{$int}</li>{/foreach} + </ul> + </p> + {/if} + {include file="docblock.tpl" type="class" sdesc=$sdesc desc=$desc} + <p class="notes"> + Located in <a class="field" href="{$page_link}">{$source_location}</a> (line <span class="field">{if $class_slink}{$class_slink}{else}{$line_number}{/if}</span>) + </p> + + {if $tutorial} + <hr class="separator" /> + <div class="notes">Tutorial: <span class="tutorial">{$tutorial}</span></div> + {/if} + + <pre>{section name=tree loop=$class_tree.classes}{$class_tree.classes[tree]}{$class_tree.distance[tree]}{/section}</pre> + + {if $conflicts.conflict_type} + <hr class="separator" /> + <div><span class="warning">Conflicts with classes:</span><br /> + {section name=me loop=$conflicts.conflicts} + {$conflicts.conflicts[me]}<br /> + {/section} + </div> + {/if} + </div> +</div> + +{if $children} + <a name="sec-descendents"></a> + <div class="info-box"> + <div class="info-box-title">Direct descendents</div> + <div class="nav-bar"> + <a href="#sec-description">Description</a> | + <span class="disabled">Descendents</span> + {if $vars || $ivars || $methods || $imethods}|{/if} + {if $vars || $ivars} + {if $vars} + <a href="#sec-var-summary">Vars</a> (<a href="#sec-vars">details</a>) + {else} + <a href="#sec-vars">Vars</a> + {/if} + {if $methods || $imethods}|{/if} + {/if} + {if $methods || $imethods} + {if $methods} + <a href="#sec-method-summary">Methods</a> (<a href="#sec-methods">details</a>) + {else} + <a href="#sec-methods">Methods</a> + {/if} + {/if} + {if $consts || $iconsts} + {if $consts} + <a href="#sec-const-summary">Constants</a> (<a href="#sec-consts">details</a>) + {else} + <a href="#sec-consts">Constants</a> + {/if} + {/if} + </div> + <div class="info-box-body"> + <table cellpadding="2" cellspacing="0" class="class-table"> + <tr> + <th class="class-table-header">Class</th> + <th class="class-table-header">Description</th> + </tr> + {section name=kids loop=$children} + <tr> + <td style="padding-right: 2em">{$children[kids].link}</td> + <td> + {if $children[kids].sdesc} + {$children[kids].sdesc} + {else} + {$children[kids].desc} + {/if} + </td> + </tr> + {/section} + </table> + </div> + </div> +{/if} + +{if $consts} + <a name="sec-const-summary"></a> + <div class="info-box"> + <div class="info-box-title">Class Constant Summary</span></div> + <div class="nav-bar"> + <a href="#sec-description">Description</a> | + {if $children} + <a href="#sec-descendents">Descendants</a> | + {/if} + <span class="disabled">Constants</span> (<a href="#sec-consts">details</a>) + {if $vars || $ivars} + {if $vars} + <a href="#sec-var-summary">Vars</a> (<a href="#sec-vars">details</a>) + {else} + <a href="#sec-vars">Vars</a> + {/if} + | + {/if} + {if $methods || $imethods} + | + {if $methods} + <a href="#sec-method-summary">Methods</a> (<a href="#sec-methods">details</a>) + {else} + <a href="#sec-methods">Methods</a> + {/if} + {/if} + </div> + <div class="info-box-body"> + <div class="const-summary"> + {section name=consts loop=$consts} + <div class="const-title"> + <img src="{$subdir}media/images/Constant.png" alt=" " /> + <a href="#{$consts[consts].const_name}" title="details" class="const-name">{$consts[consts].const_name}</a> = <span class="var-type">{$consts[consts].const_value}</span> + + </div> + {/section} + </div> + </div> + </div> +{/if} + +{if $vars} + <a name="sec-var-summary"></a> + <div class="info-box"> + <div class="info-box-title">Variable Summary</span></div> + <div class="nav-bar"> + <a href="#sec-description">Description</a> | + {if $children} + <a href="#sec-descendents">Descendents</a> | + {/if} + <span class="disabled">Vars</span> (<a href="#sec-vars">details</a>) + {if $methods || $imethods} + | + {if $methods} + <a href="#sec-method-summary">Methods</a> (<a href="#sec-methods">details</a>) + {else} + <a href="#sec-methods">Methods</a> + {/if} + {/if} + {if $consts || $iconsts} + {if $consts} + <a href="#sec-const-summary">Constants</a> (<a href="#sec-consts">details</a>) + {else} + <a href="#sec-consts">Constants</a> + {/if} + {/if} + </div> + <div class="info-box-body"> + <div class="var-summary"> + {section name=vars loop=$vars} + {if $vars[vars].static} + <div class="var-title"> + static <span class="var-type">{$vars[vars].var_type}</span> + <a href="#{$vars[vars].var_name}" title="details" class="var-name">{$vars[vars].var_name}</a> + </div> + {/if} + {/section} + {section name=vars loop=$vars} + {if !$vars[vars].static} + <div class="var-title"> + <span class="var-type">{$vars[vars].var_type}</span> + <a href="#{$vars[vars].var_name}" title="details" class="var-name">{$vars[vars].var_name}</a> + </div> + {/if} + {/section} + </div> + </div> + </div> +{/if} + +{if $methods} + <a name="sec-method-summary"></a> + <div class="info-box"> + <div class="info-box-title">Method Summary</span></div> + <div class="nav-bar"> + <a href="#sec-description">Description</a> | + {if $children} + <a href="#sec-descendents">Descendents</a> | + {/if} + {if $consts || $iconsts} + {if $consts} + <a href="#sec-const-summary">Constants</a> (<a href="#sec-consts">details</a>) + {else} + <a href="#sec-consts">Constants</a> + {/if} + {/if} + {if $vars || $ivars} + {if $vars} + <a href="#sec-var-summary">Vars</a> (<a href="#sec-vars">details</a>) + {else} + <a href="#sec-vars">Vars</a> + {/if} + | + {/if} + <span class="disabled">Methods</span> (<a href="#sec-methods">details</a>) + </div> + <div class="info-box-body"> + <div class="method-summary"> + {section name=methods loop=$methods} + {if $methods[methods].static} + <div class="method-definition"> + static {if $methods[methods].function_return} + <span class="method-result">{$methods[methods].function_return}</span> + {/if} + <a href="#{$methods[methods].function_name}" title="details" class="method-name">{if $methods[methods].ifunction_call.returnsref}&{/if}{$methods[methods].function_name}</a> + {if count($methods[methods].ifunction_call.params)} + ({section name=params loop=$methods[methods].ifunction_call.params}{if $smarty.section.params.iteration != 1}, {/if}{if $methods[methods].ifunction_call.params[params].hasdefault}[{/if}<span class="var-type">{$methods[methods].ifunction_call.params[params].type}</span> <span class="var-name">{$methods[methods].ifunction_call.params[params].name}</span>{if $methods[methods].ifunction_call.params[params].hasdefault} = <span class="var-default">{$methods[methods].ifunction_call.params[params].default}</span>]{/if}{/section}) + {else} + () + {/if} + </div> + {/if} + {/section} + {section name=methods loop=$methods} + {if !$methods[methods].static} + <div class="method-definition"> + {if $methods[methods].function_return} + <span class="method-result">{$methods[methods].function_return}</span> + {/if} + <a href="#{$methods[methods].function_name}" title="details" class="method-name">{if $methods[methods].ifunction_call.returnsref}&{/if}{$methods[methods].function_name}</a> + {if count($methods[methods].ifunction_call.params)} + ({section name=params loop=$methods[methods].ifunction_call.params}{if $smarty.section.params.iteration != 1}, {/if}{if $methods[methods].ifunction_call.params[params].hasdefault}[{/if}<span class="var-type">{$methods[methods].ifunction_call.params[params].type}</span> <span class="var-name">{$methods[methods].ifunction_call.params[params].name}</span>{if $methods[methods].ifunction_call.params[params].hasdefault} = <span class="var-default">{$methods[methods].ifunction_call.params[params].default}</span>]{/if}{/section}) + {else} + () + {/if} + </div> + {/if} + {/section} + </div> + </div> + </div> +{/if} + +{if $vars || $ivars} + <a name="sec-vars"></a> + <div class="info-box"> + <div class="info-box-title">Variables</div> + <div class="nav-bar"> + <a href="#sec-description">Description</a> | + {if $children} + <a href="#sec-descendents">Descendents</a> | + {/if} + {if $methods} + <a href="#sec-var-summary">Vars</a> (<span class="disabled">details</span>) + {else} + <span class="disabled">Vars</span> + {/if} + + {if $consts || $iconsts} + {if $consts} + <a href="#sec-const-summary">Constants</a> (<a href="#sec-consts">details</a>) + {else} + <a href="#sec-consts">Constants</a> + {/if} + {/if} + {if $methods || $imethods} + | + {if $methods} + <a href="#sec-method-summary">Methods</a> (<a href="#sec-methods">details</a>) + {else} + <a href="#sec-methods">Methods</a> + {/if} + {/if} + </div> + <div class="info-box-body"> + {include file="var.tpl"} + {if $ivars} + <h4>Inherited Variables</h4> + <A NAME='inherited_vars'><!-- --></A> + {section name=ivars loop=$ivars} + <p>Inherited from <span class="classname">{$ivars[ivars].parent_class}</span></p> + <blockquote> + {section name=ivars2 loop=$ivars[ivars].ivars} + <span class="var-title"> + <span class="var-name">{$ivars[ivars].ivars[ivars2].link}</span>{if $ivars[ivars].ivars[ivars2].ivar_sdesc}: {$ivars[ivars].ivars[ivars2].ivar_sdesc}{/if}<br> + </span> + {/section} + </blockquote> + {/section} + {/if} + </div> + </div> +{/if} + +{if $methods || $imethods} + <a name="sec-methods"></a> + <div class="info-box"> + <div class="info-box-title">Methods</div> + <div class="nav-bar"> + <a href="#sec-description">Description</a> | + {if $children} + <a href="#sec-descendents">Descendents</a> | + {/if} + {if $vars || $ivars} + {if $vars} + <a href="#sec-var-summary">Vars</a> (<a href="#sec-vars">details</a>) + {else} + <a href="#sec-vars">Vars</a> + {/if} + {/if} + {if $consts || $iconsts} + {if $consts} + <a href="#sec-const-summary">Constants</a> (<a href="#sec-consts">details</a>) + {else} + <a href="#sec-consts">Constants</a> + {/if} + {/if} + {if $methods} + <a href="#sec-method-summary">Methods</a> (<span class="disabled">details</span>) + {else} + <span class="disabled">Methods</span> + {/if} + </div> + <div class="info-box-body"> + {include file="method.tpl"} + {if $imethods} + <h4>Inherited Methods</h4> + <a name='inherited_methods'><!-- --></a> + {section name=imethods loop=$imethods} + <!-- =========== Summary =========== --> + <p>Inherited From <span class="classname">{$imethods[imethods].parent_class}</span></p> + <blockquote> + {section name=im2 loop=$imethods[imethods].imethods} + <span class="method-name">{$imethods[imethods].imethods[im2].link}</span>{if $imethods[imethods].imethods[im2].ifunction_sdesc}: {$imethods[imethods].imethods[im2].ifunction_sdesc}{/if}<br> + {/section} + </blockquote> + {/section} + {/if} + </div> + </div> +{/if} + +{if $consts || $iconsts} + <a name="sec-consts"></a> + <div class="info-box"> + <div class="info-box-title">Class Constants</div> + <div class="nav-bar"> + <a href="#sec-description">Description</a> | + {if $children} + <a href="#sec-descendents">Descendants</a> | + {/if} + {if $methods} + <a href="#sec-var-summary">Constants</a> (<span class="disabled">details</span>) + {else} + <span class="disabled">Constants</span> + {/if} + + {if $vars || $ivars} + {if $vars} + <a href="#sec-var-summary">Vars</a> (<a href="#sec-vars">details</a>) + {else} + <a href="#sec-vars">Vars</a> + {/if} + {/if} + {if $methods || $imethods} + | + {if $methods} + <a href="#sec-method-summary">Methods</a> (<a href="#sec-methods">details</a>) + {else} + <a href="#sec-methods">Methods</a> + {/if} + {/if} + </div> + <div class="info-box-body"> + {include file="const.tpl"} + {if $iconsts} + <h4>Inherited Constants</h4> + <A NAME='inherited_vars'><!-- --></A> + {section name=iconsts loop=$iconsts} + <p>Inherited from <span class="classname">{$iconsts[iconsts].parent_class}</span></p> + <blockquote> + {section name=iconsts2 loop=$iconsts[iconsts].iconsts} + <img src="{$subdir}media/images/{if $iconsts[iconsts].iconsts[iconsts2].access == 'private'}PrivateVariable{else}Variable{/if}.png" /> + <span class="const-title"> + <span class="const-name">{$iconsts[iconsts].iconsts[iconsts2].link}</span>{if $iconsts[iconsts].iconsts[iconsts2].iconst_sdesc}: {$iconsts[iconsts].iconsts[iconsts2].iconst_sdesc}{/if}<br> + </span> + {/section} + </blockquote> + {/section} + {/if} + </div> + </div> +{/if} + +{include file="footer.tpl" top3=true} diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/phphtmllib/templates/classtrees.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/phphtmllib/templates/classtrees.tpl new file mode 100755 index 00000000..952e6d50 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/phphtmllib/templates/classtrees.tpl @@ -0,0 +1,19 @@ +{include file="header.tpl" top1=true} + +<!-- Start of Class Data --> +<H2> + {$smarty.capture.title} +</H2> +{if $interfaces} +{section name=classtrees loop=$interfaces} +<h2>Root interface {$interfaces[classtrees].class}</h2> +{$interfaces[classtrees].class_tree} +{/section} +{/if} +{if $classtrees} +{section name=classtrees loop=$classtrees} +<h2>Root class {$classtrees[classtrees].class}</h2> +{$classtrees[classtrees].class_tree} +{/section} +{/if} +{include file="footer.tpl"}
\ No newline at end of file diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/phphtmllib/templates/const.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/phphtmllib/templates/const.tpl new file mode 100644 index 00000000..c26ff92d --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/phphtmllib/templates/const.tpl @@ -0,0 +1,18 @@ +{section name=consts loop=$consts} +<a name="const{$consts[consts].const_name}" id="{$consts[consts].const_name}"><!-- --></A> +<div class="{cycle values="evenrow,oddrow"}"> + + <div class="const-header"> + <img src="{$subdir}media/images/{if $consts[consts].access == 'private'}PrivateVariable{else}Variable{/if}.png" /> + <span class="const-title"> + <span class="const-name">{$consts[consts].const_name}</span> + = <span class="const-default">{$consts[consts].const_value|replace:"\n":"<br />"}</span> + (line <span class="line-number">{if $consts[consts].slink}{$consts[consts].slink}{else}{$consts[consts].line_number}{/if}</span>) + </span> + </div> + + {include file="docblock.tpl" sdesc=$consts[consts].sdesc desc=$consts[consts].desc tags=$consts[consts].tags} + +</div> +{/section} + diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/phphtmllib/templates/define.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/phphtmllib/templates/define.tpl new file mode 100755 index 00000000..0da5d864 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/phphtmllib/templates/define.tpl @@ -0,0 +1,24 @@ +{section name=def loop=$defines} +<a name="{$defines[def].define_link}"><!-- --></a> +<div class="{cycle values="evenrow,oddrow"}"> + + <div> + <span class="const-title"> + <span class="const-name">{$defines[def].define_name}</span> = {$defines[def].define_value|replace:"\n":"<br />"} + (line <span class="line-number">{if $defines[def].slink}{$defines[def].slink}{else}{$defines[def].line_number}{/if}</span>) + </span> + </div> + + {include file="docblock.tpl" sdesc=$defines[def].sdesc desc=$defines[def].desc tags=$defines[def].tags} + + {if $globals[glob].global_conflicts.conflict_type} + <hr class="separator" /> + <div><span class="warning">Conflicts with constants:</span><br /> + {section name=me loop=$defines[def].define_conflicts.conflicts} + {$defines[def].define_conflicts.conflicts[me]}<br /> + {/section} + </div> + {/if} + +</div> +{/section}
\ No newline at end of file diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/phphtmllib/templates/docblock.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/phphtmllib/templates/docblock.tpl new file mode 100755 index 00000000..783d5271 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/phphtmllib/templates/docblock.tpl @@ -0,0 +1,14 @@ +<!-- ========== Info from phpDoc block ========= --> +{if $sdesc} +<p class="short-description">{$sdesc}</p> +{/if} +{if $desc} +<p class="description">{$desc}</p> +{/if} +{if $tags} + <ul class="tags"> + {section name=tags loop=$tags} + <li><span class="field">{$tags[tags].keyword}:</span> {$tags[tags].data}</li> + {/section} + </ul> +{/if} diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/phphtmllib/templates/elementindex.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/phphtmllib/templates/elementindex.tpl new file mode 100755 index 00000000..d5964f99 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/phphtmllib/templates/elementindex.tpl @@ -0,0 +1,12 @@ +{include file="header.tpl" noleftindex=true} +<a name="top"></a> +<h2>Full index</h2> +<h3>Package indexes</h3> +<ul> +{section name=p loop=$packageindex} + <li><a href="elementindex_{$packageindex[p].title}.html">{$packageindex[p].title}</a></li> +{/section} +</ul> +<br /> +{include file="basicindex.tpl" indexname="elementindex"} +{include file="footer.tpl"} diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/phphtmllib/templates/errors.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/phphtmllib/templates/errors.tpl new file mode 100755 index 00000000..0f526584 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/phphtmllib/templates/errors.tpl @@ -0,0 +1,21 @@ +{include file="header.tpl" noleftindex=true} +{section name=files loop=$files} +<a href="#{$files[files].file}">{$files[files].file}</a><br> +{/section} +{foreach key=file item=issues from=$all} +<a name="{$file}"></a> +<h1>{$file}</h1> +{if count($issues.warnings)} +<h2>Warnings:</h2><br> +{section name=warnings loop=$issues.warnings} +<b>{$issues.warnings[warnings].name}</b> - {$issues.warnings[warnings].listing}<br> +{/section} +{/if} +{if count($issues.errors)} +<h2>Errors:</h2><br> +{section name=errors loop=$issues.errors} +<b>{$issues.errors[errors].name}</b> - {$issues.errors[errors].listing}<br> +{/section} +{/if} +{/foreach} +{include file="footer.tpl"} diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/phphtmllib/templates/examplesource.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/phphtmllib/templates/examplesource.tpl new file mode 100755 index 00000000..8abf74ce --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/phphtmllib/templates/examplesource.tpl @@ -0,0 +1,6 @@ +{include file="header.tpl" title=$title} +<h1>{$title}</h1> +<div class="listing"> +{$source} +</div> +{include file="footer.tpl"}
\ No newline at end of file diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/phphtmllib/templates/filesource.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/phphtmllib/templates/filesource.tpl new file mode 100755 index 00000000..239f7b41 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/phphtmllib/templates/filesource.tpl @@ -0,0 +1,8 @@ +{capture name="tutle"}File Source for {$name}{/capture} +{include file="header.tpl" title=$smarty.capture.tutle} +<h1>Source for file {$name}</h1> +<p>Documentation is available at {$docs}</p> +<div class="src-code"> +{$source} +</div> +{include file="footer.tpl"}
\ No newline at end of file diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/phphtmllib/templates/footer.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/phphtmllib/templates/footer.tpl new file mode 100755 index 00000000..8d0f79db --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/phphtmllib/templates/footer.tpl @@ -0,0 +1,8 @@ +{if !$index} + <p class="notes" id="credit"> + Documentation generated on {$date} by <a href="{$phpdocwebsite}" target="_blank">phpDocumentor {$phpdocversion}</a> + </p> +{/if} + {if $top3}</div>{/if} +</body> +</html> diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/phphtmllib/templates/function.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/phphtmllib/templates/function.tpl new file mode 100755 index 00000000..b6880059 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/phphtmllib/templates/function.tpl @@ -0,0 +1,44 @@ +{section name=func loop=$functions} +<a name="{$functions[func].function_dest}" id="{$functions[func].function_dest}"><!-- --></a> +<div class="{cycle values="evenrow,oddrow"}"> + + <div> + <span class="method-title">{$functions[func].function_name}</span> (line <span class="line-number">{if $functions[func].slink}{$functions[func].slink}{else}{$functions[func].line_number}{/if}</span>) + </div> + + {include file="docblock.tpl" sdesc=$functions[func].sdesc desc=$functions[func].desc tags=$functions[func].tags params=$functions[func].params function=false} + + <div class="method-signature"> + <span class="method-result">{$functions[func].function_return}</span> + <span class="method-name"> + {if $functions[func].ifunction_call.returnsref}&{/if}{$functions[func].function_name} + </span> + {if count($functions[func].ifunction_call.params)} + ({section name=params loop=$functions[func].ifunction_call.params}{if $smarty.section.params.iteration != 1}, {/if}{if $functions[func].ifunction_call.params[params].hasdefault}[{/if}<span class="var-type">{$functions[func].ifunction_call.params[params].type}</span> <span class="var-name">{$functions[func].ifunction_call.params[params].name}</span>{if $functions[func].ifunction_call.params[params].hasdefault} = <span class="var-default">{$functions[func].ifunction_call.params[params].default|escape:"html"}</span>]{/if}{/section}) + {else} + () + {/if} + </div> + + {if $functions[func].params} + <ul class="parameters"> + {section name=params loop=$functions[func].params} + <li> + <span class="var-type">{$functions[func].params[params].datatype}</span> + <span class="var-name">{$functions[func].params[params].var}</span>{if $functions[func].params[params].data}<span class="var-description">: {$functions[func].params[params].data}</span>{/if} + </li> + {/section} + </ul> + {/if} + + {if $functions[func].function_conflicts.conflict_type} + <hr class="separator" /> + <div><span class="warning">Conflicts with functions:</span><br /> + {section name=me loop=$functions[func].function_conflicts.conflicts} + {$functions[func].function_conflicts.conflicts[me]}<br /> + {/section} + </div> + {/if} + +</div> +{/section} diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/phphtmllib/templates/global.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/phphtmllib/templates/global.tpl new file mode 100755 index 00000000..eab7e0b0 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/phphtmllib/templates/global.tpl @@ -0,0 +1,26 @@ +{section name=glob loop=$globals} +<a name="{$globals[glob].global_link}" id="{$globals[glob].global_link}"><!-- --></a> +<div class="{cycle values="evenrow,oddrow"}"> + + <div> + <span class="var-title"> + <span class="var-type">{$globals[glob].global_type}</span> + <span class="var-name">{$globals[glob].global_name}</span> + {if $vars[vars].var_default} = <span class="var-default">{$globals[glob].global_value|replace:"\n":"<br />"}</span>{/if} + (line <span class="line-number">{if $globals[glob].slink}{$globals[glob].slink}{else}{$globals[glob].line_number}{/if}</span>) + </span> + </div> + + {include file="docblock.tpl" sdesc=$globals[glob].sdesc desc=$globals[glob].desc tags=$globals[glob].tags} + + {if $globals[glob].global_conflicts.conflict_type} + <hr class="separator" /> + <div><span class="warning">Conflicts with global variables:</span><br /> + {section name=me loop=$globals[glob].global_conflicts.conflicts} + {$globals[glob].global_conflicts.conflicts[me]}<br /> + {/section} + </div> + {/if} + +</div> +{/section}
\ No newline at end of file diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/phphtmllib/templates/header.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/phphtmllib/templates/header.tpl new file mode 100755 index 00000000..0d626190 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/phphtmllib/templates/header.tpl @@ -0,0 +1,95 @@ +<?xml version="1.0" encoding="iso-8859-1"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> + <html xmlns="http://www.w3.org/1999/xhtml"> + <head> + <!-- template designed by Marco Von Ballmoos --> + <title>{$title}</title> + <link rel="stylesheet" href="{$subdir}media/stylesheet.css" /> + {if $top2 || $top3} + <script src="{$subdir}media/lib/classTree.js"></script> + {/if} + {if $top2} + <meta http-equiv='Content-Type' content='text/html; charset=iso-8859-1'/> + {/if} + {if $top3 || $top2} + <script language="javascript" type="text/javascript"> + var imgPlus = new Image(); + var imgMinus = new Image(); + imgPlus.src = "{$subdir}media/images/plus.png"; + imgMinus.src = "{$subdir}media/images/minus.png"; + + function showNode(Node){ldelim} + switch(navigator.family){ldelim} + case 'nn4': + // Nav 4.x code fork... + var oTable = document.layers["span" + Node]; + var oImg = document.layers["img" + Node]; + break; + case 'ie4': + // IE 4/5 code fork... + var oTable = document.all["span" + Node]; + var oImg = document.all["img" + Node]; + break; + case 'gecko': + // Standards Compliant code fork... + var oTable = document.getElementById("span" + Node); + var oImg = document.getElementById("img" + Node); + break; + {rdelim} + oImg.src = imgMinus.src; + oTable.style.display = "block"; + {rdelim} + + function hideNode(Node){ldelim} + switch(navigator.family){ldelim} + case 'nn4': + // Nav 4.x code fork... + var oTable = document.layers["span" + Node]; + var oImg = document.layers["img" + Node]; + break; + case 'ie4': + // IE 4/5 code fork... + var oTable = document.all["span" + Node]; + var oImg = document.all["img" + Node]; + break; + case 'gecko': + // Standards Compliant code fork... + var oTable = document.getElementById("span" + Node); + var oImg = document.getElementById("img" + Node); + break; + {rdelim} + oImg.src = imgPlus.src; + oTable.style.display = "none"; + {rdelim} + + function nodeIsVisible(Node){ldelim} + switch(navigator.family){ldelim} + case 'nn4': + // Nav 4.x code fork... + var oTable = document.layers["span" + Node]; + break; + case 'ie4': + // IE 4/5 code fork... + var oTable = document.all["span" + Node]; + break; + case 'gecko': + // Standards Compliant code fork... + var oTable = document.getElementById("span" + Node); + break; + {rdelim} + return (oTable && oTable.style.display == "block"); + {rdelim} + + function toggleNodeVisibility(Node){ldelim} + if (nodeIsVisible(Node)){ldelim} + hideNode(Node); + {rdelim}else{ldelim} + showNode(Node); + {rdelim} + {rdelim} + </script> + {/if} + </head> + <body> + {if $top3}<div class="page-body">{/if} + diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/phphtmllib/templates/include.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/phphtmllib/templates/include.tpl new file mode 100755 index 00000000..c2419e5f --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/phphtmllib/templates/include.tpl @@ -0,0 +1,16 @@ +{section name=includes loop=$includes} +<a name="{$includes[includes].include_file}"><!-- --></a> +<div class="{cycle values="evenrow,oddrow"}"> + + <div> + <span class="include-title"> + <span class="include-type">{$includes[includes].include_name}</span> + (<span class="include-name">{$includes[includes].include_value}</span>) + (line <span class="line-number">{if $includes[includes].slink}{$includes[includes].slink}{else}{$includes[includes].line_number}{/if}</span>) + </span> + </div> + + {include file="docblock.tpl" sdesc=$includes[includes].sdesc desc=$includes[includes].desc tags=$includes[includes].tags} + +</div> +{/section}
\ No newline at end of file diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/phphtmllib/templates/index.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/phphtmllib/templates/index.tpl new file mode 100755 index 00000000..7cd61094 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/phphtmllib/templates/index.tpl @@ -0,0 +1,24 @@ +<?xml version="1.0" encoding="iso-8859-1"?> +<!DOCTYPE html + PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//FR" + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd"> + <html xmlns="http://www.w3.org/1999/xhtml"> +<head> + <!-- Generated by phpDocumentor on {$date} --> + <title>{$title}</title> + <meta http-equiv='Content-Type' content='text/html; charset=iso-8859-1'/> +</head> + +<FRAMESET rows='120,*'> + <FRAME src='packages.html' name='left_top' frameborder="1" bordercolor="#999999"> + <FRAMESET cols='25%,*'> + <FRAME src='{$start}' name='left_bottom' frameborder="1" bordercolor="#999999"> + <FRAME src='{$blank}.html' name='right' frameborder="1" bordercolor="#999999"> + </FRAMESET> + <NOFRAMES> + <H2>Frame Alert</H2> + <P>This document is designed to be viewed using the frames feature. + If you see this message, you are using a non-frame-capable web client.</P> + </NOFRAMES> +</FRAMESET> +</HTML> diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/phphtmllib/templates/left_frame.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/phphtmllib/templates/left_frame.tpl new file mode 100755 index 00000000..a30f167d --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/phphtmllib/templates/left_frame.tpl @@ -0,0 +1,216 @@ +{include file="header.tpl" top2=true} +<h3 class="package-title">{$info.0.package}</h3> +<div class="tree"> +<script language="Javascript"> +if (document.getElementById) {ldelim} +{section name=p loop=$info} + {if $info[p].subpackage == ""} + var tree = new WebFXTree('<span class="package">{$info.0.package}</span>'); + tree.setBehavior('classic'); + + {if $hastodos} + var todos = new WebFXTreeItem('To-do List', '{$todolink}'); + tree.add(todos); + {/if} + + var class_trees = new WebFXTreeItem('Class trees', '{$classtreepage}.html'); + tree.add(class_trees); + + var elements = new WebFXTreeItem('Index of elements', '{$elementindex}.html'); + tree.add(elements); + + var parent_node; + + {if $info[p].tutorials} + var tree_tutorial = new WebFXTreeItem('Tutorial(s)/Manual(s)', ''); + tree.add(tree_tutorial); + + {if $info[p].tutorials.pkg} + var tree_inner_tutorial = new WebFXTreeItem('Package-level', ''); + tree_tutorial.add(tree_inner_tutorial); + + parent_node = tree_inner_tutorial; + {section name=ext loop=$info[p].tutorials.pkg} + {$info[p].tutorials.pkg[ext]} + {/section} + {/if} + + {if $info[p].tutorials.cls} + var tree_inner_tutorial = new WebFXTreeItem('Class-level', ''); + tree_tutorial.add(tree_inner_tutorial); + + parent_node = tree_inner_tutorial; + {section name=ext loop=$info[p].tutorials.cls} + {$info[p].tutorials.cls[ext]} + {/section} + {/if} + + {if $info[p].tutorials.proc} + var tree_inner_tutorial = new WebFXTreeItem('Function-level', ''); + tree_tutorial.add(tree_inner_tutorial); + + parent_node = tree_inner_tutorial; + {section name=ext loop=$info[p].tutorials.proc} + {$info[p].tutorials.proc[ext]} + {/section} + {/if} + {/if} + + {if $info[p].hasinterfaces} + {if $info[p].classes} + var tree_classe = new WebFXTreeItem('Interface(s)', '{$packagedoc}'); + + {section name=class loop=$info[p].classes} + {if $info[p].classes[class].is_interface} + var classe = new WebFXTreeItem('{$info[p].classes[class].title|escape:"quotes"}', '{$info[p].classes[class].link|escape:"quotes"}'); + tree_classe.add(classe); + {/if} + {/section} + + tree.add(tree_classe); + {/if} + {/if} + {if $info[p].hasclasses} + {if $info[p].classes} + var tree_classe = new WebFXTreeItem('Class(es)', '{$packagedoc}'); + + {section name=class loop=$info[p].classes} + {if $info[p].classes[class].is_class} + var classe = new WebFXTreeItem('{$info[p].classes[class].title|escape:"quotes"}', '{$info[p].classes[class].link|escape:"quotes"}'); + tree_classe.add(classe); + {/if} + {/section} + + tree.add(tree_classe); + {/if} + {/if} + + {if $info[p].functions} + var tree_function = new WebFXTreeItem('Function(s)', '{$packagedoc|escape:"quotes"}'); + + {section name=nonclass loop=$info[p].functions} + var fic = new WebFXTreeItem('{$info[p].functions[nonclass].title|escape:"quotes"}', '{$info[p].functions[nonclass].link|escape:"quotes"}'); + tree_function.add(fic); + {/section} + + tree.add(tree_function); + {/if} + + {if $info[p].files} + var tree_file = new WebFXTreeItem('File(s)', '{$packagedoc|escape:"quotes"}'); + + {section name=nonclass loop=$info[p].files} + var file = new WebFXTreeItem('{$info[p].files[nonclass].title|escape:"quotes"}', '{$info[p].files[nonclass].link|escape:"quotes"}'); + tree_file.add(file); + {/section} + + tree.add(tree_file); + {/if} + + {else} + {if $info[p].subpackagetutorial} + var subpackagetree = new WebFXTreeItem('<span class="sub-package">{$info[p].subpackagetutorialtitle|strip_tags}</span>', '{$info[p].subpackagetutorialnoa}'); + {else} + var subpackagetree = new WebFXTreeItem('<span class="sub-package">{$info[p].subpackage}</span>', '{$packagedoc|escape:"quotes"}'); + {/if} + + {if $info[p].tutorials} + var tree_tutorial = new WebFXTreeItem('Tutorial(s)/Manual(s)', ''); + tree.add(tree_tutorial); + + {if $info[p].tutorials.pkg} + var tree_inner_tutorial = new WebFXTreeItem('Package-level', ''); + tree_tutorial.add(tree_inner_tutorial); + + parent_node = tree_inner_tutorial; + {section name=ext loop=$info[p].tutorials.pkg} + {$info[p].tutorials.pkg[ext]} + {/section} + {/if} + + {if $info[p].tutorials.cls} + var tree_inner_tutorial = new WebFXTreeItem('Class-level', ''); + tree_tutorial.add(tree_inner_tutorial); + + parent_node = tree_inner_tutorial; + {section name=ext loop=$info[p].tutorials.cls} + {$info[p].tutorials.cls[ext]} + {/section} + {/if} + + {if $info[p].tutorials.proc} + var tree_inner_tutorial = new WebFXTreeItem('Function-level', ''); + tree_tutorial.add(tree_inner_tutorial); + + parent_node = tree_inner_tutorial; + {section name=ext loop=$info[p].tutorials.proc} + {$info[p].tutorials.proc[ext]} + {/section} + {/if} + {/if} + + {if $info[p].hasinterfaces} + {if $info[p].classes} + var subpackagetree_classe = new WebFXTreeItem('Interface(s)', '{$packagedoc}'); + + {section name=class loop=$info[p].classes} + {if $info[p].classes[class].is_interface} + var classe = new WebFXTreeItem('{$info[p].classes[class].title|escape:"quotes"}', '{$info[p].classes[class].link|escape:"quotes"}'); + subpackagetree_classe.add(classe); + {/if} + {/section} + + subpackagetree.add(subpackagetree_classe); + {/if} + {/if} + {if $info[p].hasclasses} + {if $info[p].classes} + var subpackagetree_classe = new WebFXTreeItem('Class(es)', '{$packagedoc|escape:"quotes"}'); + + {section name=class loop=$info[p].classes} + {if $info[p].classes[class].is_class} + var classe = new WebFXTreeItem('{$info[p].classes[class].title|escape:"quotes"}', '{$info[p].classes[class].link|escape:"quotes"}'); + subpackagetree_classe.add(classe); + {/if} + {/section} + + subpackagetree.add(subpackagetree_classe); + {/if} + {/if} + + {if $info[p].functions} + var subpackagetree_function = new WebFXTreeItem('Function(s)', '{$packagedoc|escape:"quotes"}'); + + {section name=nonclass loop=$info[p].functions} + var fic = new WebFXTreeItem('{$info[p].functions[nonclass].title|escape:"quotes"}', '{$info[p].functions[nonclass].link|escape:"quotes"}'); + subpackagetree_function.add(fic); + {/section} + + subpackagetree.add(subpackagetree_function); + {/if} + + {if $info[p].files} + var subpackagetree_file = new WebFXTreeItem('File(s)', '{$packagedoc|escape:"quotes"}'); + + {section name=nonclass loop=$info[p].files} + var file = new WebFXTreeItem('{$info[p].files[nonclass].title|escape:"quotes"}', '{$info[p].files[nonclass].link|escape:"quotes"}'); + subpackagetree_file.add(file); + {/section} + + subpackagetree.add(subpackagetree_file); + {/if} + + tree.add(subpackagetree); + {/if} +{/section} + +document.write(tree); +{rdelim} +</script> +</div> +<p class="notes"> + Generated by + <a href="{$phpdocwebsite}" target="_blank">phpDocumentor <span class="field">{$phpdocversion}</span></a> +</p> +</body> +</html> diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/phphtmllib/templates/media/banner.css b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/phphtmllib/templates/media/banner.css new file mode 100755 index 00000000..ba1a7ba5 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/phphtmllib/templates/media/banner.css @@ -0,0 +1,32 @@ +body +{ + background-color: #DDDDDD; + margin: 0px; + padding: 0px; +} + +/* Banner (top bar) classes */ + +.banner { } + +.banner-menu +{ + clear: both; + padding: .5em; + border-top: 2px solid #999999; +} + +.banner-title +{ + text-align: right; + font-size: 20pt; + font-weight: bold; + margin: .2em; +} + +.package-selector +{ + background-color: #CCCCCC; + border: 1px solid black; + color: blue; +} diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/phphtmllib/templates/media/images/I.png b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/phphtmllib/templates/media/images/I.png Binary files differnew file mode 100755 index 00000000..e8512fb9 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/phphtmllib/templates/media/images/I.png diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/phphtmllib/templates/media/images/L.png b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/phphtmllib/templates/media/images/L.png Binary files differnew file mode 100755 index 00000000..eb334eda --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/phphtmllib/templates/media/images/L.png diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/phphtmllib/templates/media/images/Lminus.png b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/phphtmllib/templates/media/images/Lminus.png Binary files differnew file mode 100755 index 00000000..f7c43c0a --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/phphtmllib/templates/media/images/Lminus.png diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/phphtmllib/templates/media/images/Lplus.png b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/phphtmllib/templates/media/images/Lplus.png Binary files differnew file mode 100755 index 00000000..848ec2fc --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/phphtmllib/templates/media/images/Lplus.png diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/phphtmllib/templates/media/images/T.png b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/phphtmllib/templates/media/images/T.png Binary files differnew file mode 100755 index 00000000..30173254 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/phphtmllib/templates/media/images/T.png diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/phphtmllib/templates/media/images/Tminus.png b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/phphtmllib/templates/media/images/Tminus.png Binary files differnew file mode 100755 index 00000000..2260e424 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/phphtmllib/templates/media/images/Tminus.png diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/phphtmllib/templates/media/images/Tplus.png b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/phphtmllib/templates/media/images/Tplus.png Binary files differnew file mode 100755 index 00000000..2c8d8f4f --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/phphtmllib/templates/media/images/Tplus.png diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/phphtmllib/templates/media/images/blank.png b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/phphtmllib/templates/media/images/blank.png Binary files differnew file mode 100755 index 00000000..cee9cd37 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/phphtmllib/templates/media/images/blank.png diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/phphtmllib/templates/media/images/empty.png b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/phphtmllib/templates/media/images/empty.png Binary files differnew file mode 100755 index 00000000..d5683865 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/phphtmllib/templates/media/images/empty.png diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/phphtmllib/templates/media/images/minus.gif b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/phphtmllib/templates/media/images/minus.gif Binary files differnew file mode 100644 index 00000000..f502662b --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/phphtmllib/templates/media/images/minus.gif diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/phphtmllib/templates/media/images/plus.gif b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/phphtmllib/templates/media/images/plus.gif Binary files differnew file mode 100644 index 00000000..eeca02ce --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/phphtmllib/templates/media/images/plus.gif diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/phphtmllib/templates/media/lib/classTree.js b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/phphtmllib/templates/media/lib/classTree.js new file mode 100755 index 00000000..ebb3fb4a --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/phphtmllib/templates/media/lib/classTree.js @@ -0,0 +1,454 @@ +/*----------------------------------------\ +| Cross Browser Tree Widget 1.1 | +|-----------------------------------------| +| Created by Emil A. Eklund (eae@eae.net) | +| For WebFX (http://webfx.eae.net/) | +|-----------------------------------------| +| This script is provided as is without | +| any warranty whatsoever. It may be used | +| free of charge for non commerical sites | +| For commerical use contact the author | +| of this script for further details. | +|-----------------------------------------| +| Created 2000-12-11 | Updated 2001-09-06 | +\----------------------------------------*/ + +var webFXTreeConfig = { + rootIcon : 'media/images/empty.png', + openRootIcon : 'media/images/empty.png', + folderIcon : 'media/images/empty.png', + openFolderIcon : 'media/images/empty.png', + fileIcon : 'media/images/empty.png', + iIcon : 'media/images/I.png', + lIcon : 'media/images/L.png', + lMinusIcon : 'media/images/Lminus.png', + lPlusIcon : 'media/images/Lplus.png', + tIcon : 'media/images/T.png', + tMinusIcon : 'media/images/Tminus.png', + tPlusIcon : 'media/images/Tplus.png', + blankIcon : 'media/images/blank.png', + defaultText : 'Tree Item', + defaultAction : 'javascript:void(0);', + defaultTarget : 'right', + defaultBehavior : 'classic' +}; + +var webFXTreeHandler = { + idCounter : 0, + idPrefix : "webfx-tree-object-", + all : {}, + behavior : null, + selected : null, + getId : function() { return this.idPrefix + this.idCounter++; }, + toggle : function (oItem) { this.all[oItem.id.replace('-plus','')].toggle(); }, + select : function (oItem) { this.all[oItem.id.replace('-icon','')].select(); }, + focus : function (oItem) { this.all[oItem.id.replace('-anchor','')].focus(); }, + blur : function (oItem) { this.all[oItem.id.replace('-anchor','')].blur(); }, + keydown : function (oItem) { return this.all[oItem.id].keydown(window.event.keyCode); }, + cookies : new WebFXCookie() +}; + +/* + * WebFXCookie class + */ + +function WebFXCookie() { + if (document.cookie.length) { this.cookies = ' ' + document.cookie; } +} + +WebFXCookie.prototype.setCookie = function (key, value) { + document.cookie = key + "=" + escape(value); +} + +WebFXCookie.prototype.getCookie = function (key) { + if (this.cookies) { + var start = this.cookies.indexOf(' ' + key + '='); + if (start == -1) { return null; } + var end = this.cookies.indexOf(";", start); + if (end == -1) { end = this.cookies.length; } + end -= start; + var cookie = this.cookies.substr(start,end); + return unescape(cookie.substr(cookie.indexOf('=') + 1, cookie.length - cookie.indexOf('=') + 1)); + } + else { return null; } +} + +/* + * WebFXTreeAbstractNode class + */ + +function WebFXTreeAbstractNode(sText, sAction, sTarget) { + this.childNodes = []; + this.id = webFXTreeHandler.getId(); + this.text = sText || webFXTreeConfig.defaultText; + this.action = sAction || webFXTreeConfig.defaultAction; + this.targetWindow = sTarget || webFXTreeConfig.defaultTarget; + this._last = false; + webFXTreeHandler.all[this.id] = this; +} + +WebFXTreeAbstractNode.prototype.add = function (node) { + node.parentNode = this; + this.childNodes[this.childNodes.length] = node; + var root = this; + if (this.childNodes.length >=2) { + this.childNodes[this.childNodes.length -2]._last = false; + } + while (root.parentNode) { root = root.parentNode; } + if (root.rendered) { + if (this.childNodes.length >= 2) { + document.getElementById(this.childNodes[this.childNodes.length -2].id + '-plus').src = ((this.childNodes[this.childNodes.length -2].folder)?webFXTreeConfig.tMinusIcon:webFXTreeConfig.tIcon); + if (this.childNodes[this.childNodes.length -2].folder) { + this.childNodes[this.childNodes.length -2].plusIcon = webFXTreeConfig.tPlusIcon; + this.childNodes[this.childNodes.length -2].minusIcon = webFXTreeConfig.tMinusIcon; + } + this.childNodes[this.childNodes.length -2]._last = false; + } + this._last = true; + var foo = this; + while (foo.parentNode) { + for (var i = 0; i < foo.parentNode.childNodes.length; i++) { + if (foo.id == foo.parentNode.childNodes[i].id) { break; } + } + if (++i == foo.parentNode.childNodes.length) { foo.parentNode._last = true; } + else { foo.parentNode._last = false; } + foo = foo.parentNode; + } + document.getElementById(this.id + '-cont').insertAdjacentHTML("beforeEnd", node.toString()); + if ((!this.folder) && (!this.openIcon)) { + this.icon = webFXTreeConfig.folderIcon; + this.openIcon = webFXTreeConfig.openFolderIcon; + } + this.folder = true; + this.indent(); + this.expand(); + } + return node; +} + +WebFXTreeAbstractNode.prototype.toggle = function() { + if (this.folder) { + if (this.open) { this.collapse(); } + else { this.expand(); } + } +} + +WebFXTreeAbstractNode.prototype.select = function() { + document.getElementById(this.id + '-anchor').focus(); +} + +WebFXTreeAbstractNode.prototype.focus = function() { + webFXTreeHandler.selected = this; + if ((this.openIcon) && (webFXTreeHandler.behavior != 'classic')) { document.getElementById(this.id + '-icon').src = this.openIcon; } + document.getElementById(this.id + '-anchor').style.backgroundColor = 'highlight'; + document.getElementById(this.id + '-anchor').style.color = 'highlighttext'; + document.getElementById(this.id + '-anchor').focus(); +} + +WebFXTreeAbstractNode.prototype.blur = function() { + if ((this.openIcon) && (webFXTreeHandler.behavior != 'classic')) { document.getElementById(this.id + '-icon').src = this.icon; } + document.getElementById(this.id + '-anchor').style.backgroundColor = 'transparent'; + document.getElementById(this.id + '-anchor').style.color = 'menutext'; +} + +WebFXTreeAbstractNode.prototype.doExpand = function() { + if (webFXTreeHandler.behavior == 'classic') { document.getElementById(this.id + '-icon').src = this.openIcon; } + if (this.childNodes.length) { document.getElementById(this.id + '-cont').style.display = 'block'; } + this.open = true; + webFXTreeHandler.cookies.setCookie(this.id.substr(18,this.id.length - 18), '1'); +} + +WebFXTreeAbstractNode.prototype.doCollapse = function() { + if (webFXTreeHandler.behavior == 'classic') { document.getElementById(this.id + '-icon').src = this.icon; } + if (this.childNodes.length) { document.getElementById(this.id + '-cont').style.display = 'none'; } + this.open = false; + webFXTreeHandler.cookies.setCookie(this.id.substr(18,this.id.length - 18), '0'); +} + +WebFXTreeAbstractNode.prototype.expandAll = function() { + this.expandChildren(); + if ((this.folder) && (!this.open)) { this.expand(); } +} + +WebFXTreeAbstractNode.prototype.expandChildren = function() { + for (var i = 0; i < this.childNodes.length; i++) { + this.childNodes[i].expandAll(); +} } + +WebFXTreeAbstractNode.prototype.collapseAll = function() { + if ((this.folder) && (this.open)) { this.collapse(); } + this.collapseChildren(); +} + +WebFXTreeAbstractNode.prototype.collapseChildren = function() { + for (var i = 0; i < this.childNodes.length; i++) { + this.childNodes[i].collapseAll(); +} } + +WebFXTreeAbstractNode.prototype.indent = function(lvl, del, last, level) { + /* + * Since we only want to modify items one level below ourself, + * and since the rightmost indentation position is occupied by + * the plus icon we set this to -2 + */ + if (lvl == null) { lvl = -2; } + var state = 0; + for (var i = this.childNodes.length - 1; i >= 0 ; i--) { + state = this.childNodes[i].indent(lvl + 1, del, last, level); + if (state) { return; } + } + if (del) { + if (level >= this._level) { + if (this.folder) { + document.getElementById(this.id + '-plus').src = (this.open)?webFXTreeConfig.lMinusIcon:webFXTreeConfig.lPlusIcon; + this.plusIcon = webFXTreeConfig.lPlusIcon; + this.minusIcon = webFXTreeConfig.lMinusIcon; + } + else { document.getElementById(this.id + '-plus').src = webFXTreeConfig.lIcon; } + return 1; + } + } + var foo = document.getElementById(this.id + '-indent-' + lvl); + if (foo) { + if ((del) && (last)) { foo._last = true; } + if (foo._last) { foo.src = webFXTreeConfig.blankIcon; } + else { foo.src = webFXTreeConfig.iIcon; } + } + return 0; +} + +/* + * WebFXTree class + */ + +function WebFXTree(sText, sAction, sBehavior, sIcon, sOpenIcon) { + this.base = WebFXTreeAbstractNode; + this.base(sText, sAction); + this.icon = sIcon || webFXTreeConfig.rootIcon; + this.openIcon = sOpenIcon || webFXTreeConfig.openRootIcon; + /* Defaults to open */ + this.open = (webFXTreeHandler.cookies.getCookie(this.id.substr(18,this.id.length - 18)) == '0')?false:true; + this.folder = true; + this.rendered = false; + if (!webFXTreeHandler.behavior) { webFXTreeHandler.behavior = sBehavior || webFXTreeConfig.defaultBehavior; } + this.targetWindow = 'right'; +} + +WebFXTree.prototype = new WebFXTreeAbstractNode; + +WebFXTree.prototype.setBehavior = function (sBehavior) { + webFXTreeHandler.behavior = sBehavior; +}; + +WebFXTree.prototype.getBehavior = function (sBehavior) { + return webFXTreeHandler.behavior; +}; + +WebFXTree.prototype.getSelected = function() { + if (webFXTreeHandler.selected) { return webFXTreeHandler.selected; } + else { return null; } +} + +WebFXTree.prototype.remove = function() { } + +WebFXTree.prototype.expand = function() { + this.doExpand(); +} + +WebFXTree.prototype.collapse = function() { + this.focus(); + this.doCollapse(); +} + +WebFXTree.prototype.getFirst = function() { + return null; +} + +WebFXTree.prototype.getLast = function() { + return null; +} + +WebFXTree.prototype.getNextSibling = function() { + return null; +} + +WebFXTree.prototype.getPreviousSibling = function() { + return null; +} + +WebFXTree.prototype.keydown = function(key) { + if (key == 39) { this.expand(); return false; } + if (key == 37) { this.collapse(); return false; } + if ((key == 40) && (this.open)) { this.childNodes[0].select(); return false; } + return true; +} + +WebFXTree.prototype.toString = function() { + var str = "<div id=\"" + this.id + "\" ondblclick=\"webFXTreeHandler.toggle(this);\" class=\"webfx-tree-item\" onkeydown=\"return webFXTreeHandler.keydown(this)\">"; + str += "<img id=\"" + this.id + "-icon\" class=\"webfx-tree-icon\" src=\"" + ((webFXTreeHandler.behavior == 'classic' && this.open)?this.openIcon:this.icon) + "\" onclick=\"webFXTreeHandler.select(this);\"><a href=\"" + this.action + "\" id=\"" + this.id + "-anchor\" target=\"" + this.targetWindow + "\" onfocus=\"webFXTreeHandler.focus(this);\" onblur=\"webFXTreeHandler.blur(this);\">" + this.text + "</a></div>"; + str += "<div id=\"" + this.id + "-cont\" class=\"webfx-tree-container\" style=\"display: " + ((this.open)?'block':'none') + ";\">"; + for (var i = 0; i < this.childNodes.length; i++) { + str += this.childNodes[i].toString(i, this.childNodes.length); + } + str += "</div>"; + this.rendered = true; + return str; +}; + +/* + * WebFXTreeItem class + */ + +function WebFXTreeItem(sText, sAction, eParent, sIcon, sOpenIcon) { + this.base = WebFXTreeAbstractNode; + this.base(sText, sAction); + /* Defaults to close */ + this.open = (webFXTreeHandler.cookies.getCookie(this.id.substr(18,this.id.length - 18)) == '1')?true:false; + if (eParent) { eParent.add(this); } + if (sIcon) { this.icon = sIcon; } + if (sOpenIcon) { this.openIcon = sOpenIcon; } +} + +WebFXTreeItem.prototype = new WebFXTreeAbstractNode; + +WebFXTreeItem.prototype.remove = function() { + var parentNode = this.parentNode; + var prevSibling = this.getPreviousSibling(true); + var nextSibling = this.getNextSibling(true); + var folder = this.parentNode.folder; + var last = ((nextSibling) && (nextSibling.parentNode) && (nextSibling.parentNode.id == parentNode.id))?false:true; + this.getPreviousSibling().focus(); + this._remove(); + if (parentNode.childNodes.length == 0) { + parentNode.folder = false; + parentNode.open = false; + } + if (last) { + if (parentNode.id == prevSibling.id) { + document.getElementById(parentNode.id + '-icon').src = webFXTreeConfig.fileIcon; + } + else { } + } + if ((!prevSibling.parentNode) || (prevSibling.parentNode != parentNode)) { + parentNode.indent(null, true, last, this._level); + } + if (document.getElementById(prevSibling.id + '-plus')) { + if (nextSibling) { + if ((parentNode == prevSibling) && (parentNode.getNextSibling)) { document.getElementById(prevSibling.id + '-plus').src = webFXTreeConfig.tIcon; } + else if (nextSibling.parentNode != prevSibling) { document.getElementById(prevSibling.id + '-plus').src = webFXTreeConfig.lIcon; } + } + else { document.getElementById(prevSibling.id + '-plus').src = webFXTreeConfig.lIcon; } + } +} + +WebFXTreeItem.prototype._remove = function() { + for (var i = this.childNodes.length - 1; i >= 0; i--) { + this.childNodes[i]._remove(); + } + for (var i = 0; i < this.parentNode.childNodes.length; i++) { + if (this.id == this.parentNode.childNodes[i].id) { + for (var j = i; j < this.parentNode.childNodes.length; j++) { + this.parentNode.childNodes[i] = this.parentNode.childNodes[i+1] + } + this.parentNode.childNodes.length = this.parentNode.childNodes.length - 1; + if (i + 1 == this.parentNode.childNodes.length) { this.parentNode._last = true; } + } + } + webFXTreeHandler.all[this.id] = null; + if (document.getElementById(this.id)) { + document.getElementById(this.id).innerHTML = ""; + document.getElementById(this.id).removeNode(); + } +} + +WebFXTreeItem.prototype.expand = function() { + this.doExpand(); + document.getElementById(this.id + '-plus').src = this.minusIcon; +} + +WebFXTreeItem.prototype.collapse = function() { + this.focus(); + this.doCollapse(); + document.getElementById(this.id + '-plus').src = this.plusIcon; +} + +WebFXTreeItem.prototype.getFirst = function() { + return this.childNodes[0]; +} + +WebFXTreeItem.prototype.getLast = function() { + if (this.childNodes[this.childNodes.length - 1].open) { return this.childNodes[this.childNodes.length - 1].getLast(); } + else { return this.childNodes[this.childNodes.length - 1]; } +} + +WebFXTreeItem.prototype.getNextSibling = function() { + for (var i = 0; i < this.parentNode.childNodes.length; i++) { + if (this == this.parentNode.childNodes[i]) { break; } + } + if (++i == this.parentNode.childNodes.length) { return this.parentNode.getNextSibling(); } + else { return this.parentNode.childNodes[i]; } +} + +WebFXTreeItem.prototype.getPreviousSibling = function(b) { + for (var i = 0; i < this.parentNode.childNodes.length; i++) { + if (this == this.parentNode.childNodes[i]) { break; } + } + if (i == 0) { return this.parentNode; } + else { + if ((this.parentNode.childNodes[--i].open) || (b && this.parentNode.childNodes[i].folder)) { return this.parentNode.childNodes[i].getLast(); } + else { return this.parentNode.childNodes[i]; } +} } + +WebFXTreeItem.prototype.keydown = function(key) { + if ((key == 39) && (this.folder)) { + if (!this.open) { this.expand(); return false; } + else { this.getFirst().select(); return false; } + } + else if (key == 37) { + if (this.open) { this.collapse(); return false; } + else { this.parentNode.select(); return false; } + } + else if (key == 40) { + if (this.open) { this.getFirst().select(); return false; } + else { + var sib = this.getNextSibling(); + if (sib) { sib.select(); return false; } + } } + else if (key == 38) { this.getPreviousSibling().select(); return false; } + return true; +} + +WebFXTreeItem.prototype.toString = function (nItem, nItemCount) { + var foo = this.parentNode; + var indent = ''; + if (nItem + 1 == nItemCount) { this.parentNode._last = true; } + var i = 0; + while (foo.parentNode) { + foo = foo.parentNode; + indent = "<img id=\"" + this.id + "-indent-" + i + "\" src=\"" + ((foo._last)?webFXTreeConfig.blankIcon:webFXTreeConfig.iIcon) + "\">" + indent; + i++; + } + this._level = i; + if (this.childNodes.length) { this.folder = 1; } + else { this.open = false; } + if ((this.folder) || (webFXTreeHandler.behavior != 'classic')) { + if (!this.icon) { this.icon = webFXTreeConfig.folderIcon; } + if (!this.openIcon) { this.openIcon = webFXTreeConfig.openFolderIcon; } + } + else if (!this.icon) { this.icon = webFXTreeConfig.fileIcon; } + var label = this.text; + label = label.replace('<', '<'); + label = label.replace('>', '>'); + var str = "<div id=\"" + this.id + "\" ondblclick=\"webFXTreeHandler.toggle(this);\" class=\"webfx-tree-item\" onkeydown=\"return webFXTreeHandler.keydown(this)\">"; + str += indent; + str += "<img id=\"" + this.id + "-plus\" src=\"" + ((this.folder)?((this.open)?((this.parentNode._last)?webFXTreeConfig.lMinusIcon:webFXTreeConfig.tMinusIcon):((this.parentNode._last)?webFXTreeConfig.lPlusIcon:webFXTreeConfig.tPlusIcon)):((this.parentNode._last)?webFXTreeConfig.lIcon:webFXTreeConfig.tIcon)) + "\" onclick=\"webFXTreeHandler.toggle(this);\">" + str += "<img id=\"" + this.id + "-icon\" src=\"" + ((webFXTreeHandler.behavior == 'classic' && this.open)?this.openIcon:this.icon) + "\" onclick=\"webFXTreeHandler.select(this);\"><a href=\"" + this.action + "\" id=\"" + this.id + "-anchor\" target=\"" + this.targetWindow + "\" onfocus=\"webFXTreeHandler.focus(this);\" onblur=\"webFXTreeHandler.blur(this);\">" + label + "</a></div>"; + str += "<div id=\"" + this.id + "-cont\" class=\"webfx-tree-container\" style=\"display: " + ((this.open)?'block':'none') + ";\">"; + for (var i = 0; i < this.childNodes.length; i++) { + str += this.childNodes[i].toString(i,this.childNodes.length); + } + str += "</div>"; + this.plusIcon = ((this.parentNode._last)?webFXTreeConfig.lPlusIcon:webFXTreeConfig.tPlusIcon); + this.minusIcon = ((this.parentNode._last)?webFXTreeConfig.lMinusIcon:webFXTreeConfig.tMinusIcon); + return str; +}
\ No newline at end of file diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/phphtmllib/templates/media/stylesheet.css b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/phphtmllib/templates/media/stylesheet.css new file mode 100755 index 00000000..3f546dc5 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/phphtmllib/templates/media/stylesheet.css @@ -0,0 +1,184 @@ +a { color: #0000FF; text-decoration: none; } +a:hover { color: #FF0000; text-decoration: underline; } +a:active { color: #FF0000; text-decoration: underline; } + +body { background-color: #EEEEEE; font-family: Verdana, Arial, sans-serif } +body, table { font-size: 10pt } +a img { border: 0px; } +dd { margin-left: 0px; padding-left: 1em; } + +/* Page layout/boxes */ + +.info-box {} +.info-box-title { margin: 1em 0em 0em 0em; padding: .25em; font-weight: normal; font-size: 14pt; border: 2px solid #999999; background-color: #DDDDDD } +.info-box-body { border: 1px solid #999999; padding: .5em; background-color: #F8F8F8; } +.nav-bar { font-size: 8pt; white-space: nowrap; text-align: right; padding: .2em; margin: 0em 0em 1em 0em; } + +.oddrow { background-color: #DDDDDD; border: 1px solid #999999; padding: .5em; margin-bottom: 1em} +.evenrow { background-color: #DDDDDD; border: 1px solid #999999; padding: .5em; margin-bottom: 1em} + +.page-body { max-width: 800px; margin: auto; } +.tree { } + +/* Index formatting classes */ + +.index-item-body { margin-top: .5em; margin-bottom: .5em} +.index-item-description { margin-top: .25em } +.index-item-details { font-weight: normal; font-style: italic; font-size: 8pt } +.index-letter-section { background-color: #EEEEEE; border: 1px dotted #999999; padding: .5em; margin-bottom: 1em} +.index-letter-title { font-size: 12pt; font-weight: bold } +.index-letter-menu { text-align: center; margin: 1em } +.index-letter { font-size: 12pt } + +/* Docbook classes */ + +.description {} +.short-description { font-weight: bold; color: #666666; } +.tags { padding-left: 0em; margin-left: 3em; color: #666666; list-style-type: square; } +.parameters { padding-left: 0em; margin-left: 3em; font-style: italic; list-style-type: square; } +.redefinitions { font-size: 8pt; padding-left: 0em; margin-left: 2em; } +.package { } +.package-title { font-weight: bold; font-size: 14pt; border-bottom: 1px solid black } +.package-details { font-size: 85%; } +.sub-package { font-weight: bold; font-size: 120% } +.tutorial { border-width: thin; border-color: #0066ff } +.tutorial-nav-box { width: 100%; border: 2px solid #999999; background-color: #DDDDDD } +.nav-button-disabled { color: #999999; } +.nav-button:active, +.nav-button:focus, +.nav-button:hover { background-color: #AAAAAA; outline: 1px solid #666666; text-decoration: none } +.folder-title { font-style: italic } + +/* Generic formatting */ + +.field { font-weight: bold; } +.detail { font-size: 8pt; } +.notes { font-style: italic; font-size: 8pt; } +.separator { background-color: #999999; height: 2px; } +.warning { color: #FF6600; } +.disabled { font-style: italic; color: #999999; } + +/* Code elements */ + +.line-number { } + +.class-table { width: 100%; } +.class-table-header { border-bottom: 1px dotted #666666; text-align: left} +.class-name { color: #000000; font-weight: bold; } + +.method-summary { padding-left: 1em; font-size: 8pt } +.method-header { } +.method-definition { margin-bottom: .3em } +.method-title { font-weight: bold; } +.method-name { font-weight: bold; } +.method-signature { font-size: 85%; color: #0066BB; margin: .5em 0em } +.method-result { font-style: italic; } + +.var-summary { padding-left: 1em; font-size: 8pt; } +.var-header { } +.var-title { margin-bottom: .3em } +.var-type { color: red; font-weight: bold } +.var-name { font-weight: bold; } +.var-default {} +.var-description { font-weight: normal; color: #000000; } + +.include-title { } +.include-type { font-style: italic; } +.include-name { font-weight: bold; } + +.const-title { } +.const-name { font-weight: bold; } + +/* Syntax highlighting */ + +.src-code { border: 1px solid #336699; padding: 1em; background-color: #EEEEEE; + font-family: 'Courier New', Courier, monospace; font-weight: normal; } +.src-line { font-family: 'Courier New', Courier, monospace; font-weight: normal; } + +.src-comm { color: #666666; } +.src-id { } +.src-inc { color: #0000FF; } +.src-key { color: #0000FF; } +.src-num { color: #CC0000; } +.src-str { color: #66cccc; } +.src-sym { font-weight: bold; } +.src-var { } + +.src-php { font-weight: bold; } + +.src-doc { color: #009999 } +.src-doc-close-template { color: #0000FF } +.src-doc-coretag { color: #0099FF; font-weight: bold } +.src-doc-inlinetag { color: #0099FF } +.src-doc-internal { color: #6699cc } +.src-doc-tag { color: #0080CC } +.src-doc-template { color: #0000FF } +.src-doc-type { font-style: italic } +.src-doc-var { font-style: italic } + +.tute-tag { color: #009999 } +.tute-attribute-name { color: #0000FF } +.tute-attribute-value { color: #0099FF } +.tute-entity { font-weight: bold; } +.tute-comment { font-style: italic } +.tute-inline-tag { color: #636311; font-weight: bold } + +/* tutorial */ + +.authors { } +.author { font-style: italic; font-weight: bold } +.author-blurb { margin: .5em 0em .5em 2em; font-size: 85%; font-weight: normal; font-style: normal } +.example { background-color: #DDDDDD; border: 1px solid #999999; padding: .5em; } +.listing { background-color: #DDDDDD; border: 1px solid #999999; padding: .5em; white-space: nowrap; } +.release-info { font-size: 85%; font-style: italic; margin: 1em 0em } +.ref-title-box { } +.ref-title { } +.ref-purpose { font-style: italic; color: #666666 } +.ref-synopsis { } +.title { font-weight: bold; border-bottom: 1px solid #888888; color: #888888; } +.cmd-synopsis { margin: 1em 0em } +.cmd-title { font-weight: bold } +.toc { margin-left: 2em; padding-left: 0em } + +/*------------------------------------------------------------------------------ + webfx-tree +------------------------------------------------------------------------------*/ + +.webfx-tree-container { + margin: 0px; + padding: 0px; + white-space: nowrap; + font: icon; +} + +.webfx-tree-item { + padding: 0px; + margin: 0px; + color: black; + white-space: nowrap; + font: icon; +} + +.webfx-tree-item a { + margin-left: 3px; + padding: 1px 2px 1px 2px; + color: black; + text-decoration: none; +} + +.webfx-tree-item a:hover, .webfx-tree-item a:active { + color: white; + background: red; + text-decoration: none +} + +.webfx-tree-item img { + vertical-align: middle; + border: 0px; +} + +.webfx-tree-icon { + width: 16px; + height: 16px; +} + diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/phphtmllib/templates/method.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/phphtmllib/templates/method.tpl new file mode 100755 index 00000000..06d57a12 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/phphtmllib/templates/method.tpl @@ -0,0 +1,149 @@ +<A NAME='method_detail'></A> +{section name=methods loop=$methods} +{if $methods[methods].static} +<a name="method{$methods[methods].function_name}" id="{$methods[methods].function_name}"><!-- --></a> +<div class="{cycle values="evenrow,oddrow"}"> + + <div class="method-header"> + <span class="method-title">static {$methods[methods].function_name}</span> (line <span class="line-number">{if $methods[methods].slink}{$methods[methods].slink}{else}{$methods[methods].line_number}{/if}</span>) + </div> + + {include file="docblock.tpl" sdesc=$methods[methods].sdesc desc=$methods[methods].desc tags=$methods[methods].tags params=$methods[methods].params function=false} + + <div class="method-signature"> + static <span class="method-result">{$methods[methods].function_return}</span> + <span class="method-name"> + {if $methods[methods].ifunction_call.returnsref}&{/if}{$methods[methods].function_name} + </span> + {if count($methods[methods].ifunction_call.params)} + ({section name=params loop=$methods[methods].ifunction_call.params}{if $smarty.section.params.iteration != 1}, {/if}{if $methods[methods].ifunction_call.params[params].hasdefault}[{/if}<span class="var-type">{$methods[methods].ifunction_call.params[params].type}</span> <span class="var-name">{$methods[methods].ifunction_call.params[params].name}</span>{if $methods[methods].ifunction_call.params[params].hasdefault} = <span class="var-default">{$methods[methods].ifunction_call.params[params].default}</span>]{/if}{/section}) + {else} + () + {/if} + </div> + + {if $methods[methods].params} + <ul class="parameters"> + {section name=params loop=$methods[methods].params} + <li> + <span class="var-type">{$methods[methods].params[params].datatype}</span> + <span class="var-name">{$methods[methods].params[params].var}</span>{if $methods[methods].params[params].data}<span class="var-description">: {$methods[methods].params[params].data}</span>{/if} + </li> + {/section} + </ul> + {/if} + + {if $methods[methods].method_overrides} + <hr class="separator" /> + <div class="notes">Redefinition of:</div> + <dl> + <dt>{$methods[methods].method_overrides.link}</dt> + {if $methods[methods].method_overrides.sdesc} + <dd>{$methods[methods].method_overrides.sdesc}</dd> + {/if} + </dl> + {/if} + {if $methods[methods].method_implements} + <hr class="separator" /> + <div class="notes">Implementation of:</div> + {section name=imp loop=$methods[methods].method_implements} + <dl> + <dt>{$methods[methods].method_implements[imp].link}</dt> + {if $methods[methods].method_implements[imp].sdesc} + <dd>{$methods[methods].method_implements[imp].sdesc}</dd> + {/if} + </dl> + {/section} + {/if} + + {if $methods[methods].descmethod} + <hr class="separator" /> + <div class="notes">Redefined in descendants as:</div> + <ul class="redefinitions"> + {section name=dm loop=$methods[methods].descmethod} + <li> + {$methods[methods].descmethod[dm].link} + {if $methods[methods].descmethod[dm].sdesc} + : {$methods[methods].descmethod[dm].sdesc} + {/if} + </li> + {/section} + </ul> + {/if} +</div> +{/if} +{/section} +{section name=methods loop=$methods} +{if !$methods[methods].static} +<a name="method{$methods[methods].function_name}" id="{$methods[methods].function_name}"><!-- --></a> +<div class="{cycle values="evenrow,oddrow"}"> + + <div class="method-header"> + <span class="method-title">{if $methods[methods].ifunction_call.constructor}Constructor {elseif $methods[methods].ifunction_call.destructor}Destructor {/if}{$methods[methods].function_name}</span> (line <span class="line-number">{if $methods[methods].slink}{$methods[methods].slink}{else}{$methods[methods].line_number}{/if}</span>) + </div> + + {include file="docblock.tpl" sdesc=$methods[methods].sdesc desc=$methods[methods].desc tags=$methods[methods].tags params=$methods[methods].params function=false} + + <div class="method-signature"> + <span class="method-result">{$methods[methods].function_return}</span> + <span class="method-name"> + {if $methods[methods].ifunction_call.returnsref}&{/if}{$methods[methods].function_name} + </span> + {if count($methods[methods].ifunction_call.params)} + ({section name=params loop=$methods[methods].ifunction_call.params}{if $smarty.section.params.iteration != 1}, {/if}{if $methods[methods].ifunction_call.params[params].hasdefault}[{/if}<span class="var-type">{$methods[methods].ifunction_call.params[params].type}</span> <span class="var-name">{$methods[methods].ifunction_call.params[params].name}</span>{if $methods[methods].ifunction_call.params[params].hasdefault} = <span class="var-default">{$methods[methods].ifunction_call.params[params].default}</span>]{/if}{/section}) + {else} + () + {/if} + </div> + + {if $methods[methods].params} + <ul class="parameters"> + {section name=params loop=$methods[methods].params} + <li> + <span class="var-type">{$methods[methods].params[params].datatype}</span> + <span class="var-name">{$methods[methods].params[params].var}</span>{if $methods[methods].params[params].data}<span class="var-description">: {$methods[methods].params[params].data}</span>{/if} + </li> + {/section} + </ul> + {/if} + + {if $methods[methods].method_overrides} + <hr class="separator" /> + <div class="notes">Redefinition of:</div> + <dl> + <dt>{$methods[methods].method_overrides.link}</dt> + {if $methods[methods].method_overrides.sdesc} + <dd>{$methods[methods].method_overrides.sdesc}</dd> + {/if} + </dl> + {/if} + {if $methods[methods].method_implements} + <hr class="separator" /> + <div class="notes">Implementation of:</div> + {section name=imp loop=$methods[methods].method_implements} + <dl> + <dt>{$methods[methods].method_implements[imp].link}</dt> + {if $methods[methods].method_implements[imp].sdesc} + <dd>{$methods[methods].method_implements[imp].sdesc}</dd> + {/if} + </dl> + {/section} + {/if} + + {if $methods[methods].descmethod} + <hr class="separator" /> + <div class="notes">Redefined in descendants as:</div> + <ul class="redefinitions"> + {section name=dm loop=$methods[methods].descmethod} + <li> + {$methods[methods].descmethod[dm].link} + {if $methods[methods].descmethod[dm].sdesc} + : {$methods[methods].descmethod[dm].sdesc} + {/if} + </li> + {/section} + </ul> + {/if} +</div> +{/if} +{/section} diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/phphtmllib/templates/page.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/phphtmllib/templates/page.tpl new file mode 100755 index 00000000..b5980236 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/phphtmllib/templates/page.tpl @@ -0,0 +1,211 @@ +{include file="header.tpl" top3=true} + +<h2 class="file-name">{$source_location}</h2> + +<a name="sec-description"></a> +<div class="info-box"> + <div class="info-box-title">Description</div> + <div class="nav-bar"> + {if $classes || $includes || $defines || $globals || $functions} + <span class="disabled">Description</span> | + {/if} + {if $classes} + <a href="#sec-classes">Classes</a> + {if $includes || $defines || $globals || $functions}|{/if} + {/if} + {if $includes} + <a href="#sec-includes">Includes</a> + {if $defines || $globals || $functions}|{/if} + {/if} + {if $defines} + <a href="#sec-constants">Constants</a> + {if $globals || $functions}|{/if} + {/if} + {if $globals} + <a href="#sec-variables">Variables</a> + {if $functions}|{/if} + {/if} + {if $functions} + <a href="#sec-functions">Functions</a> + {/if} + </div> + <div class="info-box-body"> + {include file="docblock.tpl" desc=$desc sdesc=$sdesc tags=$tags} + + {if $tutorial} + <hr class="separator" /> + <div class="notes">Tutorial: <span class="tutorial">{$tutorial}</div> + {/if} + </div> +</div> + +{if $classes} + <a name="sec-classes"></a> + <div class="info-box"> + <div class="info-box-title">Classes</div> + <div class="nav-bar"> + <a href="#sec-description">Description</a> | + <span class="disabled">Classes</span> + {if $includes || $defines || $globals || $functions}|{/if} + {if $includes} + <a href="#sec-includes">Includes</a> + {if $defines || $globals || $functions}|{/if} + {/if} + {if $defines} + <a href="#sec-constants">Constants</a> + {if $globals || $functions}|{/if} + {/if} + {if $globals} + <a href="#sec-variables">Variables</a> + {if $functions}|{/if} + {/if} + {if $functions} + <a href="#sec-functions">Functions</a> + {/if} + </div> + <div class="info-box-body"> + <table cellpadding="2" cellspacing="0" class="class-table"> + <tr> + <th class="class-table-header">Class</th> + <th class="class-table-header">Description</th> + </tr> + {section name=classes loop=$classes} + <tr> + <td style="padding-right: 2em; vertical-align: top"> + {$classes[classes].link} + </td> + <td> + {if $classes[classes].sdesc} + {$classes[classes].sdesc} + {else} + {$classes[classes].desc} + {/if} + </td> + </tr> + {/section} + </table> + </div> + </div> +{/if} + +{if $includes} + <a name="sec-includes"></a> + <div class="info-box"> + <div class="info-box-title">Includes</div> + <div class="nav-bar"> + <a href="#sec-description">Description</a> | + {if $classes} + <a href="#sec-classes">Classes</a> + {if $includes || $defines || $globals || $functions}|{/if} + {/if} + <span class="disabled">Includes</span> + {if $defines || $globals || $functions}|{/if} + {if $defines} + <a href="#sec-constants">Constants</a> + {if $globals || $functions}|{/if} + {/if} + {if $globals} + <a href="#sec-variables">Variables</a> + {if $functions}|{/if} + {/if} + {if $functions} + <a href="#sec-functions">Functions</a> + {/if} + </div> + <div class="info-box-body"> + {include file="include.tpl"} + </div> + </div> +{/if} + +{if $defines} + <a name="sec-constants"></a> + <div class="info-box"> + <div class="info-box-title">Constants</div> + <div class="nav-bar"> + <a href="#sec-description">Description</a> | + {if $classes} + <a href="#sec-classes">Classes</a> + {if $includes || $defines || $globals || $functions}|{/if} + {/if} + {if $includes} + <a href="#sec-includes">Includes</a> + {if $defines || $globals || $functions}|{/if} + {/if} + <span class="disabled">Constants</span> + {if $globals || $functions}|{/if} + {if $globals} + <a href="#sec-variables">Variables</a> + {if $functions}|{/if} + {/if} + {if $functions} + <a href="#sec-functions">Functions</a> + {/if} + </div> + <div class="info-box-body"> + {include file="define.tpl"} + </div> + </div> +{/if} + +{if $globals} + <a name="sec-variables"></a> + <div class="info-box"> + <div class="info-box-title">Variables</div> + <div class="nav-bar"> + <a href="#sec-description">Description</a> | + {if $classes} + <a href="#sec-classes">Classes</a> + {if $includes || $defines || $globals || $functions}|{/if} + {/if} + {if $includes} + <a href="#sec-includes">Includes</a> + {if $defines || $globals || $functions}|{/if} + {/if} + {if $defines} + <a href="#sec-constants">Constants</a> + {if $globals || $functions}|{/if} + {/if} + <span class="disabled">Variables</span> + {if $functions}|{/if} + {if $functions} + <a href="#sec-functions">Functions</a> + {/if} + </div> + <div class="info-box-body"> + {include file="global.tpl"} + </div> + </div> +{/if} + +{if $functions} + <a name="sec-functions"></a> + <div class="info-box"> + <div class="info-box-title">Functions</div> + <div class="nav-bar"> + <a href="#sec-description">Description</a> | + {if $classes} + <a href="#sec-classes">Classes</a> + {if $includes || $defines || $globals || $functions}|{/if} + {/if} + {if $includes} + <a href="#sec-includes">Includes</a> + {if $defines || $globals || $functions}|{/if} + {/if} + {if $defines} + <a href="#sec-constants">Constants</a> + {if $globals || $functions}|{/if} + {/if} + {if $globals} + <a href="#sec-variables">Variables</a> + {if $functions}|{/if} + {/if} + <span class="disabled">Functions</span> + </div> + <div class="info-box-body"> + {include file="function.tpl"} + </div> + </div> +{/if} + +{include file="footer.tpl" top3=true} diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/phphtmllib/templates/pkgelementindex.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/phphtmllib/templates/pkgelementindex.tpl new file mode 100755 index 00000000..dc283ad0 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/phphtmllib/templates/pkgelementindex.tpl @@ -0,0 +1,17 @@ +{include file="header.tpl"} +<a name="top"></a> +<h2>[{$package}] element index</h2> +{if count($packageindex) > 1} + <h3>Package indexes</h3> + <ul> + {section name=p loop=$packageindex} + {if $packageindex[p].title != $package} + <li><a href="elementindex_{$packageindex[p].title}.html">{$packageindex[p].title}</a></li> + {/if} + {/section} + </ul> +{/if} +<a href="elementindex.html">All elements</a> +<br /> +{include file="basicindex.tpl" indexname=elementindex_$package} +{include file="footer.tpl"} diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/phphtmllib/templates/ric.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/phphtmllib/templates/ric.tpl new file mode 100755 index 00000000..ad792475 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/phphtmllib/templates/ric.tpl @@ -0,0 +1,6 @@ +{include file="header.tpl"} +<div align="center"><h1>{$name}</h1></div> +<pre> +{$contents|htmlentities} +</pre> +{include file="footer.tpl"}
\ No newline at end of file diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/phphtmllib/templates/todolist.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/phphtmllib/templates/todolist.tpl new file mode 100755 index 00000000..f929ccdb --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/phphtmllib/templates/todolist.tpl @@ -0,0 +1,14 @@ +{include file="header.tpl" title="Todo List"} +<div align="center"><h1>Todo List</h1></div> +{foreach from=$todos key=todopackage item=todo} +<h2>{$todopackage}</h2> +{section name=todo loop=$todo} +<h3>{$todo[todo].link}</h3> +<ul> +{section name=t loop=$todo[todo].todos} + <li>{$todo[todo].todos[t]}</li> +{/section} +</ul> +{/section} +{/foreach} +{include file="footer.tpl"}
\ No newline at end of file diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/phphtmllib/templates/top_frame.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/phphtmllib/templates/top_frame.tpl new file mode 100755 index 00000000..36d1e5a1 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/phphtmllib/templates/top_frame.tpl @@ -0,0 +1,45 @@ +<?xml version="1.0" encoding="iso-8859-1"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> + <html xmlns="http://www.w3.org/1999/xhtml"> + <head> + <!-- template designed by Marco Von Ballmoos --> + <title>{$title}</title> + <link rel="stylesheet" href="{$subdir}media/stylesheet.css" /> + <link rel="stylesheet" href="{$subdir}media/banner.css" /> + <meta http-equiv='Content-Type' content='text/html; charset=iso-8859-1'/> + </head> + <body> + <div class="banner"> + <div class="banner-title">{$package}</div> + <div class="banner-menu"> + <form> + <table cellpadding="0" cellspacing="0" style="width: 100%"> + <tr> + <td> + {if count($ric) >= 1} + {assign var="last_ric_name" value=""} + {section name=ric loop=$ric} + {if $last_ric_name != ""} | {/if} + <a href="{$ric[ric].file}" target="right">{$ric[ric].name}</a> + {assign var="last_ric_name" value=$ric[ric].name} + {/section} + {/if} + </td> + <td style="width: 2em"> </td> + <td style="text-align: right"> + {if count($packages) > 1} + <span class="field">Packages</span> + <select class="package-selector" onchange="window.parent.left_bottom.location=this[selectedIndex].value"> + {section name=p loop=$packages} + <option value="{$packages[p].link}">{$packages[p].title}</option> + {/section} + </select> + {/if} + </td> + </tr> + </table> + </form> + </div> + </div> + </body> + </html> diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/phphtmllib/templates/tutorial.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/phphtmllib/templates/tutorial.tpl new file mode 100755 index 00000000..3b9109d1 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/phphtmllib/templates/tutorial.tpl @@ -0,0 +1,13 @@ +{include file="header.tpl" title=$title top3=true} + +{if $nav} + {include file="tutorial_nav.tpl" prev=$prev next=$next up=$up prevtitle=$prevtitle nexttitle=$nexttitle uptitle=$uptitle} +{/if} + +{$contents} + +{if $nav} + {include file="tutorial_nav.tpl" prev=$prev next=$next up=$up prevtitle=$prevtitle nexttitle=$nexttitle uptitle=$uptitle} +{/if} + +{include file="footer.tpl" top3=true}
\ No newline at end of file diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/phphtmllib/templates/tutorial_nav.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/phphtmllib/templates/tutorial_nav.tpl new file mode 100755 index 00000000..89952301 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/phphtmllib/templates/tutorial_nav.tpl @@ -0,0 +1,41 @@ +<table class="tutorial-nav-box"> + <tr> + <td style="width: 30%"> + {if $prev} + <a href="{$prev}" class="nav-button">Previous</a> + {else} + <span class="nav-button-disabled">Previous</span> + {/if} + </td> + <td style="text-align: center"> + {if $up} + <a href="{$up}" class="nav-button">Up</a> + {/if} + </td> + <td style="text-align: right; width: 30%"> + {if $next} + <a href="{$next}" class="nav-button">Next</a> + {else} + <span class="nav-button-disabled">Next</span> + {/if} + </td> + </tr> + <tr> + <td style="width: 30%"> + {if $prevtitle} + <span class="detail">{$prevtitle}</span> + {/if} + </td> + <td style="text-align: center"> + {if $uptitle} + <span class="detail">{$uptitle}</span> + {/if} + </td> + <td style="text-align: right; width: 30%"> + {if $nexttitle} + <span class="detail">{$nexttitle}</span> + {/if} + </td> + </tr> +</table> +
\ No newline at end of file diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/phphtmllib/templates/tutorial_toc.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/phphtmllib/templates/tutorial_toc.tpl new file mode 100755 index 00000000..3482249b --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/phphtmllib/templates/tutorial_toc.tpl @@ -0,0 +1,40 @@ +{if count($toc)} +<h1 class="title">Table of Contents</h1> +<ul class="toc"> + {assign var="lastcontext" value='refsect1'} + {section name=toc loop=$toc} + + {if $toc[toc].tagname != $lastcontext} + {if $lastcontext == 'refsect1'} + <ul class="toc"> + <li>{$toc[toc].link}</li> + {else} + {if $lastcontext == 'refsect2'} + {if $toc[toc].tagname == 'refsect1'} + </ul> + <li>{$toc[toc].link}</li> + {/if} + {if $toc[toc].tagname == 'refsect3'} + <ul class="toc"> + <li>{$toc[toc].link}</li> + {/if} + {else} + </ul> + </ul> + <li>{$toc[toc].link}</li> + {/if} + {/if} + {assign var="lastcontext" value=$toc[toc].tagname} + {else} + <li>{$toc[toc].link}</li> + {/if} + {/section} + {if $lastcontext == 'refsect2'} + </ul> + {/if} + {if $lastcontext == 'refsect3'} + </ul> + </ul> + {/if} +</ul> +{/if} diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/phphtmllib/templates/tutorial_tree.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/phphtmllib/templates/tutorial_tree.tpl new file mode 100755 index 00000000..40d9a4ff --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/phphtmllib/templates/tutorial_tree.tpl @@ -0,0 +1,8 @@ + var a{$name|replace:"-":"_"}node = new WebFXTreeItem('{$main.title|strip_tags|escape:"quotes"}','{$main.link}', parent_node); + +{if $haskids} + var a{$name|replace:"-":"_"}_old_parent_node = parent_node; + parent_node = a{$name|replace:"-":"_"}node; + {$kids} + parent_node = a{$name|replace:"-":"_"}_old_parent_node; +{/if} diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/phphtmllib/templates/var.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/phphtmllib/templates/var.tpl new file mode 100755 index 00000000..fccf6892 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/DOM/phphtmllib/templates/var.tpl @@ -0,0 +1,92 @@ +{section name=vars loop=$vars} +{if $vars[vars].static} +<a name="var{$vars[vars].var_name}" id="{$vars[vars].var_name}"><!-- --></A> +<div class="{cycle values="evenrow,oddrow"}"> + + <div class="var-header"> + <span class="var-title"> + static <span class="var-type">{$vars[vars].var_type}</span> + <span class="var-name">{$vars[vars].var_name}</span> + {if $vars[vars].var_default} = <span class="var-default">{$vars[vars].var_default|replace:"\n":"<br />"}</span>{/if} + (line <span class="line-number">{if $vars[vars].slink}{$vars[vars].slink}{else}{$vars[vars].line_number}{/if}</span>) + </span> + </div> + + {include file="docblock.tpl" sdesc=$vars[vars].sdesc desc=$vars[vars].desc tags=$vars[vars].tags} + + {if $vars[vars].var_overrides} + <hr class="separator" /> + <div class="notes">Redefinition of:</div> + <dl> + <dt>{$vars[vars].var_overrides.link}</dt> + {if $vars[vars].var_overrides.sdesc} + <dd>{$vars[vars].var_overrides.sdesc}</dd> + {/if} + </dl> + {/if} + + {if $vars[vars].descvar} + <hr class="separator" /> + <div class="notes">Redefined in descendants as:</div> + <ul class="redefinitions"> + {section name=vm loop=$vars[vars].descvar} + <li> + {$vars[vars].descvar[vm].link} + {if $vars[vars].descvar[vm].sdesc} + : {$vars[vars].descvar[vm].sdesc} + {/if} + </li> + {/section} + </ul> + {/if} + +</div> +{/if} +{/section} + +{section name=vars loop=$vars} +{if !$vars[vars].static} +<a name="var{$vars[vars].var_name}" id="{$vars[vars].var_name}"><!-- --></A> +<div class="{cycle values="evenrow,oddrow"}"> + + <div class="var-header"> + <span class="var-title"> + <span class="var-type">{$vars[vars].var_type}</span> + <span class="var-name">{$vars[vars].var_name}</span> + {if $vars[vars].var_default} = <span class="var-default">{$vars[vars].var_default|replace:"\n":"<br />"}</span>{/if} + (line <span class="line-number">{if $vars[vars].slink}{$vars[vars].slink}{else}{$vars[vars].line_number}{/if}</span>) + </span> + </div> + + {include file="docblock.tpl" sdesc=$vars[vars].sdesc desc=$vars[vars].desc tags=$vars[vars].tags} + + {if $vars[vars].var_overrides} + <hr class="separator" /> + <div class="notes">Redefinition of:</div> + <dl> + <dt>{$vars[vars].var_overrides.link}</dt> + {if $vars[vars].var_overrides.sdesc} + <dd>{$vars[vars].var_overrides.sdesc}</dd> + {/if} + </dl> + {/if} + + {if $vars[vars].descvar} + <hr class="separator" /> + <div class="notes">Redefined in descendants as:</div> + <ul class="redefinitions"> + {section name=vm loop=$vars[vars].descvar} + <li> + {$vars[vars].descvar[vm].link} + {if $vars[vars].descvar[vm].sdesc} + : {$vars[vars].descvar[vm].sdesc} + {/if} + </li> + {/section} + </ul> + {/if} + +</div> +{/if} +{/section} + diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/default/options.ini b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/default/options.ini new file mode 100755 index 00000000..084809be --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/default/options.ini @@ -0,0 +1,577 @@ +preservedocbooktags = false + +;; used to highlight the {@source} inline tag, @filesource tag, and @example tag +[highlightSourceTokens] +;; format: +;; T_CONSTANTNAME = open +;; /T_CONSTANTNAME = close + +T_INCLUDE = <span class="src-inc"> +/T_INCLUDE = </span> +T_INCLUDE_ONCE = <span class="src-inc"> +/T_INCLUDE_ONCE = </span> +T_REQUIRE_ONCE = <span class="src-inc"> +/T_REQUIRE_ONCE = </span> +T_REQUIRE_ONCE = <span class="src-inc"> +/T_REQUIRE_ONCE = </span> + +T_CONSTANT_ENCAPSED_STRING = <span class="src-str"> +/T_CONSTANT_ENCAPSED_STRING = </span> +T_STRING_VARNAME = <span class="src-str"> +/T_STRING_VARNAME = </span> + +T_STRING = <span class="src-id"> +/T_STRING = </span> + +T_DNUMBER = <span class="src-num"> +/T_DNUMBER = </span> +T_LNUMBER = <span class="src-num"> +/T_LNUMBER = </span> + +T_VARIABLE = <span class="src-var"> +/T_VARIABLE = </span> + +T_COMMENT = <span class="src-comm"> +/T_COMMENT = </span> +T_ML_COMMENT = <span class="src-comm"> +/T_ML_COMMENT = </span> + +T_OBJECT_OPERATOR = <span class="src-sym"> +/T_OBJECT_OPERATOR = </span> + +T_ABSTRACT = <span class="src-key"> +/T_ABSTRACT = </span> +T_CLONE = <span class="src-key"> +/T_CLONE = </span> +T_HALT_COMPILER = <span class="src-key"> +/T_HALT_COMPILER = </span> +T_ARRAY = <span class="src-key"> +/T_ARRAY = </span> +T_AS = <span class="src-key"> +/T_AS = </span> +T_BREAK = <span class="src-key"> +/T_BREAK = </span> +T_CLASS = <span class="src-key"> +/T_CLASS = </span> +T_CASE = <span class="src-key"> +/T_CASE = </span> +T_CONST = <span class="src-key"> +/T_CONST = </span> +T_CONTINUE = <span class="src-key"> +/T_CONTINUE = </span> +T_DECLARE = <span class="src-key"> +/T_DECLARE = </span> +T_DEFAULT = <span class="src-key"> +/T_DEFAULT = </span> +T_ELSE = <span class="src-key"> +/T_ELSE = </span> +T_ELSEIF = <span class="src-key"> +/T_ELSEIF = </span> +T_EMPTY = <span class="src-key"> +/T_EMPTY = </span> +T_ENDDECLARE = <span class="src-key"> +/T_ENDDECLARE = </span> +T_ENDFOR = <span class="src-key"> +/T_ENDFOR = </span> +T_ENDSWITCH = <span class="src-key"> +/T_ENDSWITCH = </span> +T_ENDFOREACH = <span class="src-key"> +/T_ENDFOREACH = </span> +T_ENDIF = <span class="src-key"> +/T_ENDIF = </span> +T_ENDWHILE = <span class="src-key"> +/T_ENDWHILE = </span> +T_EXIT = <span class="src-key"> +/T_EXIT = </span> +T_EXTENDS = <span class="src-key"> +/T_EXTENDS = </span> +T_FINAL = <span class="src-key"> +/T_FINAL = </span> +T_FOR = <span class="src-key"> +/T_FOR = </span> +T_FOREACH = <span class="src-key"> +/T_FOREACH = </span> +T_FUNCTION = <span class="src-key"> +/T_FUNCTION = </span> +T_GLOBAL = <span class="src-key"> +/T_GLOBAL = </span> +T_IF = <span class="src-key"> +/T_IF = </span> +T_IMPLEMENTS = <span class="src-key"> +/T_IMPLEMENTS = </span> +T_INTERFACE = <span class="src-key"> +/T_INTERFACE = </span> +T_LOGICAL_AND = <span class="src-key"> +/T_LOGICAL_AND = </span> +T_LOGICAL_OR = <span class="src-key"> +/T_LOGICAL_OR = </span> +T_LOGICAL_XOR = <span class="src-key"> +/T_LOGICAL_XOR = </span> +T_NEW = <span class="src-key"> +/T_NEW = </span> +T_PRIVATE = <span class="src-key"> +/T_PRIVATE = </span> +T_PROTECTED = <span class="src-key"> +/T_PROTECTED = </span> +T_PUBLIC = <span class="src-key"> +/T_PUBLIC = </span> +T_RETURN = <span class="src-key"> +/T_RETURN = </span> +T_STATIC = <span class="src-key"> +/T_STATIC = </span> +T_SWITCH = <span class="src-key"> +/T_SWITCH = </span> +T_VAR = <span class="src-key"> +/T_VAR = </span> +T_WHILE = <span class="src-key"> +/T_WHILE = </span> + +T_DOUBLE_COLON = <span class="src-sym"> +/T_DOUBLE_COLON = </span> + +T_OPEN_TAG = <span class="src-php"> +/T_OPEN_TAG = </span> +T_OPEN_TAG_WITH_ECHO = <span class="src-php"> +/T_OPEN_TAG_WITH_ECHO = </span> +T_CLOSE_TAG = <span class="src-php"> +/T_CLOSE_TAG = </span> + + +[highlightSource] +;; this is for highlighting things that aren't tokens like "&" +;; format: +;; word = open +;; /word = close +@ = <span class="src-sym"> +/@ = </span> +& = <span class="src-sym"> +/& = </span> +[ = <span class="src-sym"> +/[ = </span> +] = <span class="src-sym"> +/] = </span> +! = <span class="src-sym"> +/! = </span> +";" = <span class="src-sym"> +/; = </span> +( = <span class="src-sym"> +/( = </span> +) = <span class="src-sym"> +/) = </span> +, = <span class="src-sym"> +/, = </span> +{ = <span class="src-sym"> +/{ = </span> +} = <span class="src-sym"> +/} = </span> +""" = <span class="src-str"> +/" = </span> + +[highlightDocBlockSourceTokens] +;; this is for docblock tokens, using by phpDocumentor_HighlightParser +;; tagphptype is for "string" in @param string description, for example +docblock = <span class="src-doc"> +/docblock = </span> +tagphptype = <span class="src-doc-type"> +/tagphptype = </span> +tagvarname = <span class="src-doc-var"> +/tagvarname = </span> +coretag = <span class="src-doc-coretag"> +/coretag = </span> +tag = <span class="src-doc-tag"> +/tag = </span> +inlinetag = <span class="src-doc-inlinetag"> +/inlinetag = </span> +internal = <span class="src-doc-internal"> +/internal = </span> +closetemplate = <span class="src-doc-close-template"> +/closetemplate = </span> +docblocktemplate = <span class="src-doc-template"> +/docblocktemplate = </span> + +[highlightTutorialSourceTokens] +;; this is for XML DocBook-based tutorials, highlighted by phpDocumentor_TutorialHighlightParser +;; <tag> +opentag = <span class="tute-tag"> +/opentag = </span> +;; </tag> +closetag = <span class="tute-tag"> +/closetag = </span> +;; <tag attribute="value"> +attribute = <span class="tute-attribute-name"> +/attribute = </span> +;; <tag attribute="value"> +attributevalue = <span class="tute-attribute-value"> +/attributevalue = </span> +;; &entity; +entity = <span class="tute-entity"> +/entity = </span> +;; <!-- comment --> +comment = <span class="tute-comment"> +/comment = </span> +;; {@inline tag} +itag = <span class="tute-inline-tag"> +/itag = </span> + +;; used for translation of html in DocBlocks +[desctranslate] +ul = <ul> +/ul = </ul> +ol = <ol> +/ol = </ol> +li = <li> +/li = </li> +code = +/code = +var = <var> +/var = </var> +samp = <samp> +/samp = </samp> +kbd = <kbd> +/kbd = </kbd> +pre = <pre> +/pre = </pre> +p = <p> +/p = </p> +b = <strong> +/b = </strong> +i = <em> +/i = </em> +br = <br /> + +[ppage] +;; this is the DocBook package page translation section. All DocBook tags +;; that have a corresponding html tag must be listed here. Entities should +;; also be listed here +;; +;; examples: +;; 1) +;; tagname = newtagname +;; +;; This is the simplest case, where all attributes will be added into the +;; starting tag and the ending tag will be html/xml style </tranlatedtagname> +;; <tagname></tagname> becomes <newtagname></newtagname> and +;; <tagname attr="value"></tagname> becomes +;; <newtagname attr="value"></newtagname> +;; +;; 2) +;; tagname = newtagname +;; tagname->attr = newattrname +;; +;; in this case, everything will be like the first case, except tags like: +;; <tagname attr="value"></tagname> will become +;; <newtagname newattrname="value"></newtagname> +;; +;; 3) +;; tagname = newtagname +;; tagname->attr = newattrname +;; tagname->attr+value = newvalue +;; +;; in this case, the value is also translated to another. This can be useful +;; for instances such as focus="middle" changing to align="center" or something +;; of that nature. +;; <tagname attr="value"></tagname> will become +;; <newtagname newattrname="newvalue"></newtagname> +;; +;; 4) +;; tagname = newtagname +;; tagname->attr1 = newattrname +;; tagname->attr2 = newattrname +;; tagname->attr1+value|attr2+value = newvalue +;; +;; in this case, two attributes combine to make one new attribute, and the combined +;; value is translated into a new value +;; <tagname attr1="value1" attr2="value2"></tagname> will become +;; <newtagname newattrname="newvalue"></newtagname> +;; +;; 5) +;; tagname = newtagname +;; tagname!attr = dummy +;; +;; here, the attribute will be ignored. dummy is not used and may be any value +;; <tagname attr="value"></tagname> will become +;; <newtagname></newtagname> +;; +;; 6) +;; tagname = newtagname +;; tagname! = dummy +;; +;; here, all attributes will be ignored. dummy is not used and may be any value +;; <tagname attr1="value" attr2="foo"></tagname> will become +;; <newtagname></newtagname> +;; +;; 7) +;; tagname = newtagname +;; tagname/ = 1 +;; +;; here, the tag will be translated as a single tag with no closing tag, and all +;; attributes +;; <tagname attr="val">{text text}</tagname> will become +;; <newtagname attr="val" /> +;; +;; 8) +;; tagname = <starttaginfo /> +;; /tagname = closetagtext +;; +;; in this case, the text <starttaginfo> will be inserted exactly as entered for +;; <tagname> and closetagtext for </tagname> +;; <tagname attr="val"></tagname> will become +;; <starttaginfo />closetagtext +;; +;; 9) +;; $attr$my_attribute = newattrname +;; +;; tagname = newtagname +;; +;; in this case, all occurences of my_attribute in any tag will be changed to +;; newattrname. This is useful for changing things like role="php" to +;; class="php," for example. Note that the text "$attr$" MUST be on the line +;; start for phpDocumentor to recognize it. +;; +;; 10) +;; &entity; = translation text +;; " = " +;; " = """ +;; < = < +;; +;; Use this to control translation of entities to their appropriate values + + = +" = " +” = ” +“ = “ +& = & +< = < +> = > +© = © + + +$attr$role = class + +abbrev = abbr + +blockquote = blockquote + +arg = span +arg->choice = class + +author = <span class="author"> +/author = </span> +author! = 0 + +authorblurb = <div class="author-blurb"> +/authorblurb = </div> + +authorgroup = <div class="authors"><h2 class="title">Authors</h2> +/authorgroup = </div> +authorgroup! = 0 + +caution = <span class="warning"> +/caution = </span> +caution! = 0 + +cmdsynopsis = <div class="cmd-synopsis"> +/cmdsynopsis = </div> + +command = <span class="cmd-title"> +/command = </span> + +copyright = <div class="notes"> +/copyright = </div> + +emphasis = em + +example = <div class="src-code"> +/example = </div> +example! = 0 + +function = +/function = () + +formalpara = p + +graphic = img +graphic->fileref = src +graphic/ = + +important = strong + +informalequation = blockquote + +informalexample = div + +inlineequation = em + +itemizedlist = ul + +listitem = li + +literal = code + +literallayout = span + +option = " " +/option = + +orderedlist = ol + +para = p + +programlisting = <div class="src-code"> +/programlisting = </div> +programlisting! = 0 + +refentry = div + +refnamediv = <div class="ref-title-box"> +/refnamediv = </div> +refnamediv! = 0 + +refname = <h1 class="ref-title"> +/refname = </h1> + +refpurpose = <h2 class="ref-purpose"> +/refpurpose = </h2> + +refsynopsisdiv = <div class="ref-synopsis"> +/refsynopsisdiv = </div> +refsynopsisdiv! = 0 + +refsect1 = span + +refsect2 = span + +refsect3 = +/refsect3 = <br /> + +releaseinfo = <div class="release-info">( +/releaseinfo = )</div> + +simpara = +/simpara = <br /> +simpara! = 0 + +subscript = sub + +superscript = super + +table = table + +table->colsep = rules +table->rowsep = rules +table->colsep+1|rowsep+1 =all +table->colsep+1|rowsep+0 =cols +table->colsep+0|rowsep+1 =rows + +table->frame =frame +table->frame+all =border +table->frame+none =void +table->frame+sides =vsides +table->frame+top =above +table->frame+topbot =hsides + +thead = thead + +tfoot = tfoot + +tbody = tbody + +colspec = col + +tgroup = colgroup +tgroup/ = 1 +tgroup->cols = span + +row = tr + +entry = td +entry->morerows = colspan +entry->morerows+1 =2 +entry->morerows+2 =3 +entry->morerows+3 =4 +entry->morerows+4 =5 +entry->morerows+5 =6 +entry->morerows+6 =7 +entry->morerows+7 =8 +entry->morerows+8 =9 +entry->morerows+9 =10 +entry->morerows+10 =11 +;; add more if you need more colspans + +warning = <span class="warning"> +/warning = </span> +warning! = 0 + +;; now begins the attributes that should be tags in cdata +[$attr$id] +open = a +;close = /a +cdata! = true +quotevalues = true +separator = "=" +;separateall = true +$id = name + +;; now begins the sections that deal with <title> +[refsynopsisdiv_title] +;tag_attr = true +;attr_name = title +cdata_start = true +;cdata_end = true +open = <h1 class="title"> +close = </h1> + +[refsect1_title] +;tag_attr = true +;attr_name = title +cdata_start = true +;cdata_end = true +open = <h2 class="title"> +close = </h2> + +[refsect2_title] +;tag_attr = true +;attr_name = title +cdata_start = true +;cdata_end = true +open = <h3 class="title"> +close = </h3> + +[refsect3_title] +;tag_attr = true +;attr_name = title +cdata_start = true +;cdata_end = true +open = <h4 class="title"> +close = </h4> + +[para_title] +;tag_attr = true +;attr_name = title +cdata_start = true +;cdata_end = true +open = <div class="title"> +close = </div> + +[formalpara_title] +;tag_attr = true +;attr_name = title +cdata_start = true +;cdata_end = true +open = <div class="title"> +close = </div> + +[example_title] +;tag_attr = true +;attr_name = title +;cdata_start = true +cdata_end = true +open = </td></tr><tr><td><strong> +close = </strong> + +[table_title] +;tag_attr = true +;attr_name = true +cdata_start = true +open = <caption> +close = </caption> diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/default/templates/basicindex.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/default/templates/basicindex.tpl new file mode 100755 index 00000000..951ee264 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/default/templates/basicindex.tpl @@ -0,0 +1,47 @@ +<div class="index-letter-menu"> +{section name=letter loop=$letters} + <a class="index-letter" href="{$indexname}.html#{$letters[letter].letter}">{$letters[letter].letter}</a> +{/section} +</div> + +{section name=index loop=$index} + <a name="{$index[index].letter}"></a> + <div class="index-letter-section"> + <div style="float: left" class="index-letter-title">{$index[index].letter}</div> + <div style="float: right"><a href="#top">top</a></div> + <div style="clear: both"></div> + </div> + <dl> + {section name=contents loop=$index[index].index} + <dt class="field"> + {if ($index[index].index[contents].title == "Variable")} + <span class="var-title">{$index[index].index[contents].name}</span> + {elseif ($index[index].index[contents].title == "Global")} + <span class="var-title">{$index[index].index[contents].name}</span> + {elseif ($index[index].index[contents].title == "Method")} + <span class="method-title">{$index[index].index[contents].name}</span> + {elseif ($index[index].index[contents].title == "Function")} + <span class="method-title">{$index[index].index[contents].name}</span> + {elseif ($index[index].index[contents].title == "Constant")} + <span class="const-title">{$index[index].index[contents].name}</span> + {elseif ($index[index].index[contents].title == "Page") || ($index[index].index[contents].title == "Include")} + <span class="include-title">{$index[index].index[contents].name}</span> + {else} + {$index[index].index[contents].name} + {/if} + </dt> + <dd class="index-item-body"> + <div class="index-item-details">{$index[index].index[contents].link} in {$index[index].index[contents].file_name}</div> + {if $index[index].index[contents].description} + <div class="index-item-description">{$index[index].index[contents].description}</div> + {/if} + </dd> + {/section} + </dl> +{/section} + +<div class="index-letter-menu"> +{section name=letter loop=$letters} + <a class="index-letter" href="{$indexname}.html#{$letters[letter].letter}">{$letters[letter].letter}</a> +{/section} +</div> diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/default/templates/blank.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/default/templates/blank.tpl new file mode 100755 index 00000000..6a05f27e --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/default/templates/blank.tpl @@ -0,0 +1,13 @@ +<html> +<head> + <title>{$maintitle}</title> + <link rel="stylesheet" href="{$subdir}media/stylesheet.css" /> + <meta http-equiv='Content-Type' content='text/html; charset=iso-8859-1'/> +</head> +<body> +<div align="center"><h1>{$maintitle}</h1></div> +<b>Welcome to {$package}!</b><br /> +<br /> +This documentation was generated by <a href="{$phpdocwebsite}">phpDocumentor v{$phpdocversion}</a><br /> +</body> +</html>
\ No newline at end of file diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/default/templates/class.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/default/templates/class.tpl new file mode 100755 index 00000000..bb5378f6 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/default/templates/class.tpl @@ -0,0 +1,430 @@ +{include file="header.tpl" top3=true} + +<h2 class="class-name">{if $is_interface}Interface{else}Class{/if} {$class_name}</h2> + +<a name="sec-description"></a> +<div class="info-box"> + <div class="info-box-title">Description</div> + <div class="nav-bar"> + {if $children || $vars || $ivars || $methods || $imethods || $consts || $iconsts } + <span class="disabled">Description</span> | + {/if} + {if $children} + <a href="#sec-descendents">Descendents</a> + {if $vars || $ivars || $methods || $imethods || $consts || $iconsts}|{/if} + {/if} + {if $vars || $ivars} + {if $vars} + <a href="#sec-var-summary">Vars</a> (<a href="#sec-vars">details</a>) + {else} + <a href="#sec-vars">Vars</a> + {/if} + {if $methods || $imethods}|{/if} + {/if} + {if $methods || $imethods} + {if $methods} + <a href="#sec-method-summary">Methods</a> (<a href="#sec-methods">details</a>) + {else} + <a href="#sec-methods">Methods</a> + {/if} + {/if} + {if $consts || $iconsts} + {if $consts} + <a href="#sec-const-summary">Constants</a> (<a href="#sec-consts">details</a>) + {else} + <a href="#sec-consts">Constants</a> + {/if} + {/if} + </div> + <div class="info-box-body"> + {if $implements} + <p class="implements"> + Implements interfaces: + <ul> + {foreach item="int" from=$implements}<li>{$int}</li>{/foreach} + </ul> + </p> + {/if} + {include file="docblock.tpl" type="class" sdesc=$sdesc desc=$desc} + <p class="notes"> + Located in <a class="field" href="{$page_link}">{$source_location}</a> (line <span class="field">{if $class_slink}{$class_slink}{else}{$line_number}{/if}</span>) + </p> + + {if $tutorial} + <hr class="separator" /> + <div class="notes">Tutorial: <span class="tutorial">{$tutorial}</span></div> + {/if} + + <pre>{section name=tree loop=$class_tree.classes}{$class_tree.classes[tree]}{$class_tree.distance[tree]}{/section}</pre> + + {if $conflicts.conflict_type} + <hr class="separator" /> + <div><span class="warning">Conflicts with classes:</span><br /> + {section name=me loop=$conflicts.conflicts} + {$conflicts.conflicts[me]}<br /> + {/section} + </div> + {/if} + </div> +</div> + +{if $children} + <a name="sec-descendents"></a> + <div class="info-box"> + <div class="info-box-title">Direct descendents</div> + <div class="nav-bar"> + <a href="#sec-description">Description</a> | + <span class="disabled">Descendents</span> + {if $vars || $ivars || $methods || $imethods}|{/if} + {if $vars || $ivars} + {if $vars} + <a href="#sec-var-summary">Vars</a> (<a href="#sec-vars">details</a>) + {else} + <a href="#sec-vars">Vars</a> + {/if} + {if $methods || $imethods}|{/if} + {/if} + {if $methods || $imethods} + {if $methods} + <a href="#sec-method-summary">Methods</a> (<a href="#sec-methods">details</a>) + {else} + <a href="#sec-methods">Methods</a> + {/if} + {/if} + {if $consts || $iconsts} + {if $consts} + <a href="#sec-const-summary">Constants</a> (<a href="#sec-consts">details</a>) + {else} + <a href="#sec-consts">Constants</a> + {/if} + {/if} + </div> + <div class="info-box-body"> + <table cellpadding="2" cellspacing="0" class="class-table"> + <tr> + <th class="class-table-header">Class</th> + <th class="class-table-header">Description</th> + </tr> + {section name=kids loop=$children} + <tr> + <td style="padding-right: 2em">{$children[kids].link}</td> + <td> + {if $children[kids].sdesc} + {$children[kids].sdesc} + {else} + {$children[kids].desc} + {/if} + </td> + </tr> + {/section} + </table> + </div> + </div> +{/if} + +{if $consts} + <a name="sec-const-summary"></a> + <div class="info-box"> + <div class="info-box-title">Class Constant Summary</span></div> + <div class="nav-bar"> + <a href="#sec-description">Description</a> | + {if $children} + <a href="#sec-descendents">Descendants</a> | + {/if} + <span class="disabled">Constants</span> (<a href="#sec-consts">details</a>) + {if $vars || $ivars} + {if $vars} + <a href="#sec-var-summary">Vars</a> (<a href="#sec-vars">details</a>) + {else} + <a href="#sec-vars">Vars</a> + {/if} + | + {/if} + {if $methods || $imethods} + | + {if $methods} + <a href="#sec-method-summary">Methods</a> (<a href="#sec-methods">details</a>) + {else} + <a href="#sec-methods">Methods</a> + {/if} + {/if} + </div> + <div class="info-box-body"> + <div class="const-summary"> + {section name=consts loop=$consts} + <div class="const-title"> + <img src="{$subdir}media/images/Constant.png" alt=" " /> + <a href="#{$consts[consts].const_name}" title="details" class="const-name">{$consts[consts].const_name}</a> = <span class="var-type">{$consts[consts].const_value}</span> + + </div> + {/section} + </div> + </div> + </div> +{/if} + +{if $vars} + <a name="sec-var-summary"></a> + <div class="info-box"> + <div class="info-box-title">Variable Summary</span></div> + <div class="nav-bar"> + <a href="#sec-description">Description</a> | + {if $children} + <a href="#sec-descendents">Descendents</a> | + {/if} + <span class="disabled">Vars</span> (<a href="#sec-vars">details</a>) + {if $methods || $imethods} + | + {if $methods} + <a href="#sec-method-summary">Methods</a> (<a href="#sec-methods">details</a>) + {else} + <a href="#sec-methods">Methods</a> + {/if} + {/if} + {if $consts || $iconsts} + {if $consts} + <a href="#sec-const-summary">Constants</a> (<a href="#sec-consts">details</a>) + {else} + <a href="#sec-consts">Constants</a> + {/if} + {/if} + </div> + <div class="info-box-body"> + <div class="var-summary"> + {section name=vars loop=$vars} + {if $vars[vars].static} + <div class="var-title"> + static <span class="var-type">{$vars[vars].var_type}</span> + <a href="#{$vars[vars].var_name}" title="details" class="var-name">{$vars[vars].var_name}</a> + </div> + {/if} + {/section} + {section name=vars loop=$vars} + {if !$vars[vars].static} + <div class="var-title"> + <span class="var-type">{$vars[vars].var_type}</span> + <a href="#{$vars[vars].var_name}" title="details" class="var-name">{$vars[vars].var_name}</a> + </div> + {/if} + {/section} + </div> + </div> + </div> +{/if} + +{if $methods} + <a name="sec-method-summary"></a> + <div class="info-box"> + <div class="info-box-title">Method Summary</span></div> + <div class="nav-bar"> + <a href="#sec-description">Description</a> | + {if $children} + <a href="#sec-descendents">Descendents</a> | + {/if} + {if $consts || $iconsts} + {if $consts} + <a href="#sec-const-summary">Constants</a> (<a href="#sec-consts">details</a>) + {else} + <a href="#sec-consts">Constants</a> + {/if} + {/if} + {if $vars || $ivars} + {if $vars} + <a href="#sec-var-summary">Vars</a> (<a href="#sec-vars">details</a>) + {else} + <a href="#sec-vars">Vars</a> + {/if} + | + {/if} + <span class="disabled">Methods</span> (<a href="#sec-methods">details</a>) + </div> + <div class="info-box-body"> + <div class="method-summary"> + {section name=methods loop=$methods} + {if $methods[methods].static} + <div class="method-definition"> + static {if $methods[methods].function_return} + <span class="method-result">{$methods[methods].function_return}</span> + {/if} + <a href="#{$methods[methods].function_name}" title="details" class="method-name">{if $methods[methods].ifunction_call.returnsref}&{/if}{$methods[methods].function_name}</a> + {if count($methods[methods].ifunction_call.params)} + ({section name=params loop=$methods[methods].ifunction_call.params}{if $smarty.section.params.iteration != 1}, {/if}{if $methods[methods].ifunction_call.params[params].hasdefault}[{/if}<span class="var-type">{$methods[methods].ifunction_call.params[params].type}</span> <span class="var-name">{$methods[methods].ifunction_call.params[params].name}</span>{if $methods[methods].ifunction_call.params[params].hasdefault} = <span class="var-default">{$methods[methods].ifunction_call.params[params].default}</span>]{/if}{/section}) + {else} + () + {/if} + </div> + {/if} + {/section} + + {section name=methods loop=$methods} + {if !$methods[methods].static} + <div class="method-definition"> + {if $methods[methods].function_return} + <span class="method-result">{$methods[methods].function_return}</span> + {/if} + <a href="#{$methods[methods].function_name}" title="details" class="method-name">{if $methods[methods].ifunction_call.returnsref}&{/if}{$methods[methods].function_name}</a> + {if count($methods[methods].ifunction_call.params)} + ({section name=params loop=$methods[methods].ifunction_call.params}{if $smarty.section.params.iteration != 1}, {/if}{if $methods[methods].ifunction_call.params[params].hasdefault}[{/if}<span class="var-type">{$methods[methods].ifunction_call.params[params].type}</span> <span class="var-name">{$methods[methods].ifunction_call.params[params].name}</span>{if $methods[methods].ifunction_call.params[params].hasdefault} = <span class="var-default">{$methods[methods].ifunction_call.params[params].default}</span>]{/if}{/section}) + {else} + () + {/if} + </div> + {/if} + {/section} +</div> + </div> + </div> +{/if} + +{if $vars || $ivars} + <a name="sec-vars"></a> + <div class="info-box"> + <div class="info-box-title">Variables</div> + <div class="nav-bar"> + <a href="#sec-description">Description</a> | + {if $children} + <a href="#sec-descendents">Descendents</a> | + {/if} + {if $methods} + <a href="#sec-var-summary">Vars</a> (<span class="disabled">details</span>) + {else} + <span class="disabled">Vars</span> + {/if} + + {if $consts || $iconsts} + {if $consts} + <a href="#sec-const-summary">Constants</a> (<a href="#sec-consts">details</a>) + {else} + <a href="#sec-consts">Constants</a> + {/if} + {/if} + {if $methods || $imethods} + | + {if $methods} + <a href="#sec-method-summary">Methods</a> (<a href="#sec-methods">details</a>) + {else} + <a href="#sec-methods">Methods</a> + {/if} + {/if} + </div> + <div class="info-box-body"> + {include file="var.tpl"} + {if $ivars} + <h4>Inherited Variables</h4> + <A NAME='inherited_vars'><!-- --></A> + {section name=ivars loop=$ivars} + <p>Inherited from <span class="classname">{$ivars[ivars].parent_class}</span></p> + <blockquote> + {section name=ivars2 loop=$ivars[ivars].ivars} + <span class="var-title"> + <span class="var-name">{$ivars[ivars].ivars[ivars2].link}</span>{if $ivars[ivars].ivars[ivars2].ivar_sdesc}: {$ivars[ivars].ivars[ivars2].ivar_sdesc}{/if}<br> + </span> + {/section} + </blockquote> + {/section} + {/if} + </div> + </div> +{/if} + +{if $methods || $imethods} + <a name="sec-methods"></a> + <div class="info-box"> + <div class="info-box-title">Methods</div> + <div class="nav-bar"> + <a href="#sec-description">Description</a> | + {if $children} + <a href="#sec-descendents">Descendents</a> | + {/if} + {if $vars || $ivars} + {if $vars} + <a href="#sec-var-summary">Vars</a> (<a href="#sec-vars">details</a>) + {else} + <a href="#sec-vars">Vars</a> + {/if} + {/if} + {if $consts || $iconsts} + {if $consts} + <a href="#sec-const-summary">Constants</a> (<a href="#sec-consts">details</a>) + {else} + <a href="#sec-consts">Constants</a> + {/if} + {/if} + {if $methods} + <a href="#sec-method-summary">Methods</a> (<span class="disabled">details</span>) + {else} + <span class="disabled">Methods</span> + {/if} + </div> + <div class="info-box-body"> + {include file="method.tpl"} + {if $imethods} + <h4>Inherited Methods</h4> + <a name='inherited_methods'><!-- --></a> + {section name=imethods loop=$imethods} + <!-- =========== Summary =========== --> + <p>Inherited From <span class="classname">{$imethods[imethods].parent_class}</span></p> + <blockquote> + {section name=im2 loop=$imethods[imethods].imethods} + <span class="method-name">{$imethods[imethods].imethods[im2].link}</span>{if $imethods[imethods].imethods[im2].ifunction_sdesc}: {$imethods[imethods].imethods[im2].ifunction_sdesc}{/if}<br> + {/section} + </blockquote> + {/section} + {/if} + </div> + </div> +{/if} + +{if $consts || $iconsts} + <a name="sec-consts"></a> + <div class="info-box"> + <div class="info-box-title">Class Constants</div> + <div class="nav-bar"> + <a href="#sec-description">Description</a> | + {if $children} + <a href="#sec-descendents">Descendants</a> | + {/if} + {if $methods} + <a href="#sec-var-summary">Constants</a> (<span class="disabled">details</span>) + {else} + <span class="disabled">Constants</span> + {/if} + + {if $vars || $ivars} + {if $vars} + <a href="#sec-var-summary">Vars</a> (<a href="#sec-vars">details</a>) + {else} + <a href="#sec-vars">Vars</a> + {/if} + {/if} + {if $methods || $imethods} + | + {if $methods} + <a href="#sec-method-summary">Methods</a> (<a href="#sec-methods">details</a>) + {else} + <a href="#sec-methods">Methods</a> + {/if} + {/if} + </div> + <div class="info-box-body"> + {include file="const.tpl"} + {if $iconsts} + <h4>Inherited Constants</h4> + <A NAME='inherited_vars'><!-- --></A> + {section name=iconsts loop=$iconsts} + <p>Inherited from <span class="classname">{$iconsts[iconsts].parent_class}</span></p> + <blockquote> + {section name=iconsts2 loop=$iconsts[iconsts].iconsts} + <img src="{$subdir}media/images/{if $iconsts[iconsts].iconsts[iconsts2].access == 'private'}PrivateVariable{else}Variable{/if}.png" /> + <span class="const-title"> + <span class="const-name">{$iconsts[iconsts].iconsts[iconsts2].link}</span>{if $iconsts[iconsts].iconsts[iconsts2].iconst_sdesc}: {$iconsts[iconsts].iconsts[iconsts2].iconst_sdesc}{/if}<br> + </span> + {/section} + </blockquote> + {/section} + {/if} + </div> + </div> +{/if} + +{include file="footer.tpl" top3=true} diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/default/templates/classtrees.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/default/templates/classtrees.tpl new file mode 100755 index 00000000..952e6d50 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/default/templates/classtrees.tpl @@ -0,0 +1,19 @@ +{include file="header.tpl" top1=true} + +<!-- Start of Class Data --> +<H2> + {$smarty.capture.title} +</H2> +{if $interfaces} +{section name=classtrees loop=$interfaces} +<h2>Root interface {$interfaces[classtrees].class}</h2> +{$interfaces[classtrees].class_tree} +{/section} +{/if} +{if $classtrees} +{section name=classtrees loop=$classtrees} +<h2>Root class {$classtrees[classtrees].class}</h2> +{$classtrees[classtrees].class_tree} +{/section} +{/if} +{include file="footer.tpl"}
\ No newline at end of file diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/default/templates/const.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/default/templates/const.tpl new file mode 100644 index 00000000..c26ff92d --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/default/templates/const.tpl @@ -0,0 +1,18 @@ +{section name=consts loop=$consts} +<a name="const{$consts[consts].const_name}" id="{$consts[consts].const_name}"><!-- --></A> +<div class="{cycle values="evenrow,oddrow"}"> + + <div class="const-header"> + <img src="{$subdir}media/images/{if $consts[consts].access == 'private'}PrivateVariable{else}Variable{/if}.png" /> + <span class="const-title"> + <span class="const-name">{$consts[consts].const_name}</span> + = <span class="const-default">{$consts[consts].const_value|replace:"\n":"<br />"}</span> + (line <span class="line-number">{if $consts[consts].slink}{$consts[consts].slink}{else}{$consts[consts].line_number}{/if}</span>) + </span> + </div> + + {include file="docblock.tpl" sdesc=$consts[consts].sdesc desc=$consts[consts].desc tags=$consts[consts].tags} + +</div> +{/section} + diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/default/templates/define.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/default/templates/define.tpl new file mode 100755 index 00000000..0da5d864 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/default/templates/define.tpl @@ -0,0 +1,24 @@ +{section name=def loop=$defines} +<a name="{$defines[def].define_link}"><!-- --></a> +<div class="{cycle values="evenrow,oddrow"}"> + + <div> + <span class="const-title"> + <span class="const-name">{$defines[def].define_name}</span> = {$defines[def].define_value|replace:"\n":"<br />"} + (line <span class="line-number">{if $defines[def].slink}{$defines[def].slink}{else}{$defines[def].line_number}{/if}</span>) + </span> + </div> + + {include file="docblock.tpl" sdesc=$defines[def].sdesc desc=$defines[def].desc tags=$defines[def].tags} + + {if $globals[glob].global_conflicts.conflict_type} + <hr class="separator" /> + <div><span class="warning">Conflicts with constants:</span><br /> + {section name=me loop=$defines[def].define_conflicts.conflicts} + {$defines[def].define_conflicts.conflicts[me]}<br /> + {/section} + </div> + {/if} + +</div> +{/section}
\ No newline at end of file diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/default/templates/docblock.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/default/templates/docblock.tpl new file mode 100755 index 00000000..783d5271 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/default/templates/docblock.tpl @@ -0,0 +1,14 @@ +<!-- ========== Info from phpDoc block ========= --> +{if $sdesc} +<p class="short-description">{$sdesc}</p> +{/if} +{if $desc} +<p class="description">{$desc}</p> +{/if} +{if $tags} + <ul class="tags"> + {section name=tags loop=$tags} + <li><span class="field">{$tags[tags].keyword}:</span> {$tags[tags].data}</li> + {/section} + </ul> +{/if} diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/default/templates/elementindex.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/default/templates/elementindex.tpl new file mode 100755 index 00000000..d5964f99 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/default/templates/elementindex.tpl @@ -0,0 +1,12 @@ +{include file="header.tpl" noleftindex=true} +<a name="top"></a> +<h2>Full index</h2> +<h3>Package indexes</h3> +<ul> +{section name=p loop=$packageindex} + <li><a href="elementindex_{$packageindex[p].title}.html">{$packageindex[p].title}</a></li> +{/section} +</ul> +<br /> +{include file="basicindex.tpl" indexname="elementindex"} +{include file="footer.tpl"} diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/default/templates/errors.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/default/templates/errors.tpl new file mode 100755 index 00000000..0f526584 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/default/templates/errors.tpl @@ -0,0 +1,21 @@ +{include file="header.tpl" noleftindex=true} +{section name=files loop=$files} +<a href="#{$files[files].file}">{$files[files].file}</a><br> +{/section} +{foreach key=file item=issues from=$all} +<a name="{$file}"></a> +<h1>{$file}</h1> +{if count($issues.warnings)} +<h2>Warnings:</h2><br> +{section name=warnings loop=$issues.warnings} +<b>{$issues.warnings[warnings].name}</b> - {$issues.warnings[warnings].listing}<br> +{/section} +{/if} +{if count($issues.errors)} +<h2>Errors:</h2><br> +{section name=errors loop=$issues.errors} +<b>{$issues.errors[errors].name}</b> - {$issues.errors[errors].listing}<br> +{/section} +{/if} +{/foreach} +{include file="footer.tpl"} diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/default/templates/examplesource.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/default/templates/examplesource.tpl new file mode 100755 index 00000000..8abf74ce --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/default/templates/examplesource.tpl @@ -0,0 +1,6 @@ +{include file="header.tpl" title=$title} +<h1>{$title}</h1> +<div class="listing"> +{$source} +</div> +{include file="footer.tpl"}
\ No newline at end of file diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/default/templates/filesource.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/default/templates/filesource.tpl new file mode 100755 index 00000000..239f7b41 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/default/templates/filesource.tpl @@ -0,0 +1,8 @@ +{capture name="tutle"}File Source for {$name}{/capture} +{include file="header.tpl" title=$smarty.capture.tutle} +<h1>Source for file {$name}</h1> +<p>Documentation is available at {$docs}</p> +<div class="src-code"> +{$source} +</div> +{include file="footer.tpl"}
\ No newline at end of file diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/default/templates/footer.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/default/templates/footer.tpl new file mode 100755 index 00000000..8d0f79db --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/default/templates/footer.tpl @@ -0,0 +1,8 @@ +{if !$index} + <p class="notes" id="credit"> + Documentation generated on {$date} by <a href="{$phpdocwebsite}" target="_blank">phpDocumentor {$phpdocversion}</a> + </p> +{/if} + {if $top3}</div>{/if} +</body> +</html> diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/default/templates/function.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/default/templates/function.tpl new file mode 100755 index 00000000..b6880059 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/default/templates/function.tpl @@ -0,0 +1,44 @@ +{section name=func loop=$functions} +<a name="{$functions[func].function_dest}" id="{$functions[func].function_dest}"><!-- --></a> +<div class="{cycle values="evenrow,oddrow"}"> + + <div> + <span class="method-title">{$functions[func].function_name}</span> (line <span class="line-number">{if $functions[func].slink}{$functions[func].slink}{else}{$functions[func].line_number}{/if}</span>) + </div> + + {include file="docblock.tpl" sdesc=$functions[func].sdesc desc=$functions[func].desc tags=$functions[func].tags params=$functions[func].params function=false} + + <div class="method-signature"> + <span class="method-result">{$functions[func].function_return}</span> + <span class="method-name"> + {if $functions[func].ifunction_call.returnsref}&{/if}{$functions[func].function_name} + </span> + {if count($functions[func].ifunction_call.params)} + ({section name=params loop=$functions[func].ifunction_call.params}{if $smarty.section.params.iteration != 1}, {/if}{if $functions[func].ifunction_call.params[params].hasdefault}[{/if}<span class="var-type">{$functions[func].ifunction_call.params[params].type}</span> <span class="var-name">{$functions[func].ifunction_call.params[params].name}</span>{if $functions[func].ifunction_call.params[params].hasdefault} = <span class="var-default">{$functions[func].ifunction_call.params[params].default|escape:"html"}</span>]{/if}{/section}) + {else} + () + {/if} + </div> + + {if $functions[func].params} + <ul class="parameters"> + {section name=params loop=$functions[func].params} + <li> + <span class="var-type">{$functions[func].params[params].datatype}</span> + <span class="var-name">{$functions[func].params[params].var}</span>{if $functions[func].params[params].data}<span class="var-description">: {$functions[func].params[params].data}</span>{/if} + </li> + {/section} + </ul> + {/if} + + {if $functions[func].function_conflicts.conflict_type} + <hr class="separator" /> + <div><span class="warning">Conflicts with functions:</span><br /> + {section name=me loop=$functions[func].function_conflicts.conflicts} + {$functions[func].function_conflicts.conflicts[me]}<br /> + {/section} + </div> + {/if} + +</div> +{/section} diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/default/templates/global.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/default/templates/global.tpl new file mode 100755 index 00000000..eab7e0b0 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/default/templates/global.tpl @@ -0,0 +1,26 @@ +{section name=glob loop=$globals} +<a name="{$globals[glob].global_link}" id="{$globals[glob].global_link}"><!-- --></a> +<div class="{cycle values="evenrow,oddrow"}"> + + <div> + <span class="var-title"> + <span class="var-type">{$globals[glob].global_type}</span> + <span class="var-name">{$globals[glob].global_name}</span> + {if $vars[vars].var_default} = <span class="var-default">{$globals[glob].global_value|replace:"\n":"<br />"}</span>{/if} + (line <span class="line-number">{if $globals[glob].slink}{$globals[glob].slink}{else}{$globals[glob].line_number}{/if}</span>) + </span> + </div> + + {include file="docblock.tpl" sdesc=$globals[glob].sdesc desc=$globals[glob].desc tags=$globals[glob].tags} + + {if $globals[glob].global_conflicts.conflict_type} + <hr class="separator" /> + <div><span class="warning">Conflicts with global variables:</span><br /> + {section name=me loop=$globals[glob].global_conflicts.conflicts} + {$globals[glob].global_conflicts.conflicts[me]}<br /> + {/section} + </div> + {/if} + +</div> +{/section}
\ No newline at end of file diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/default/templates/header.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/default/templates/header.tpl new file mode 100755 index 00000000..c22ba37d --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/default/templates/header.tpl @@ -0,0 +1,12 @@ +<?xml version="1.0" encoding="iso-8859-1"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> + <html xmlns="http://www.w3.org/1999/xhtml"> + <head> + <!-- template designed by Marco Von Ballmoos --> + <title>{$title}</title> + <link rel="stylesheet" href="{$subdir}media/stylesheet.css" /> + <meta http-equiv='Content-Type' content='text/html; charset=iso-8859-1'/> + </head> + <body> + {if $top3}<div class="page-body">{/if} + diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/default/templates/include.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/default/templates/include.tpl new file mode 100755 index 00000000..c2419e5f --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/default/templates/include.tpl @@ -0,0 +1,16 @@ +{section name=includes loop=$includes} +<a name="{$includes[includes].include_file}"><!-- --></a> +<div class="{cycle values="evenrow,oddrow"}"> + + <div> + <span class="include-title"> + <span class="include-type">{$includes[includes].include_name}</span> + (<span class="include-name">{$includes[includes].include_value}</span>) + (line <span class="line-number">{if $includes[includes].slink}{$includes[includes].slink}{else}{$includes[includes].line_number}{/if}</span>) + </span> + </div> + + {include file="docblock.tpl" sdesc=$includes[includes].sdesc desc=$includes[includes].desc tags=$includes[includes].tags} + +</div> +{/section}
\ No newline at end of file diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/default/templates/index.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/default/templates/index.tpl new file mode 100755 index 00000000..7cd61094 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/default/templates/index.tpl @@ -0,0 +1,24 @@ +<?xml version="1.0" encoding="iso-8859-1"?> +<!DOCTYPE html + PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//FR" + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd"> + <html xmlns="http://www.w3.org/1999/xhtml"> +<head> + <!-- Generated by phpDocumentor on {$date} --> + <title>{$title}</title> + <meta http-equiv='Content-Type' content='text/html; charset=iso-8859-1'/> +</head> + +<FRAMESET rows='120,*'> + <FRAME src='packages.html' name='left_top' frameborder="1" bordercolor="#999999"> + <FRAMESET cols='25%,*'> + <FRAME src='{$start}' name='left_bottom' frameborder="1" bordercolor="#999999"> + <FRAME src='{$blank}.html' name='right' frameborder="1" bordercolor="#999999"> + </FRAMESET> + <NOFRAMES> + <H2>Frame Alert</H2> + <P>This document is designed to be viewed using the frames feature. + If you see this message, you are using a non-frame-capable web client.</P> + </NOFRAMES> +</FRAMESET> +</HTML> diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/default/templates/left_frame.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/default/templates/left_frame.tpl new file mode 100755 index 00000000..eb3f670d --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/default/templates/left_frame.tpl @@ -0,0 +1,159 @@ +{include file="header.tpl" top2=true} +<div class="package-title">{$package}</div> +<div class="package-details"> + + <dl class="tree"> + + <dt class="folder-title">Description</dt> + <dd> + <a href='{$classtreepage}.html' target='right'>Class trees</a><br /> + <a href='{$elementindex}.html' target='right'>Index of elements</a><br /> + {if $hastodos} + <a href="{$todolink}" target="right">Todo List</a><br /> + {/if} + </dd> + + {section name=p loop=$info} + + {if $info[p].subpackage == ""} + + {if $info[p].tutorials} + <dt class="folder-title">Tutorials/Manuals</dt> + <dd> + {if $info[p].tutorials.pkg} + <dl class="tree"> + <dt class="folder-title">Package-level</dt> + <dd> + {section name=ext loop=$info[p].tutorials.pkg} + {$info[p].tutorials.pkg[ext]} + {/section} + </dd> + </dl> + {/if} + + {if $info[p].tutorials.cls} + <dl class="tree"> + <dt class="folder-title">Class-level</dt> + <dd> + {section name=ext loop=$info[p].tutorials.cls} + {$info[p].tutorials.cls[ext]} + {/section} + </dd> + </dl> + {/if} + + {if $info[p].tutorials.proc} + <dl class="tree"> + <dt class="folder-title">Function-level</dt> + <dd> + {section name=ext loop=$info[p].tutorials.proc} + {$info[p].tutorials.proc[ext]} + {/section} + </dd> + </dl> + {/if} + </dd> + {/if} + {if $info[p].hasinterfaces} + <dt class="folder-title">Interfaces</dt> + {section name=class loop=$info[p].classes} + {if $info[p].classes[class].is_interface} + <dd><a href='{$info[p].classes[class].link}' target='right'>{$info[p].classes[class].title}</a></dd> + {/if} + {/section} + {/if} + {if $info[p].hasclasses} + <dt class="folder-title">Classes</dt> + {section name=class loop=$info[p].classes} + {if $info[p].classes[class].is_class} + <dd><a href='{$info[p].classes[class].link}' target='right'>{$info[p].classes[class].title}</a></dd> + {/if} + {/section} + {/if} + {if $info[p].functions} + <dt class="folder-title">Functions</dt> + {section name=f loop=$info[p].functions} + <dd><a href='{$info[p].functions[f].link}' target='right'>{$info[p].functions[f].title}</a></dd> + {/section} + {/if} + {if $info[p].files} + <dt class="folder-title">Files</dt> + {section name=nonclass loop=$info[p].files} + <dd><a href='{$info[p].files[nonclass].link}' target='right'>{$info[p].files[nonclass].title}</a></dd> + {/section} + {/if} + + {else} + {if $info[p].tutorials} + <dt class="folder-title">Tutorials/Manuals</dt> + <dd> + {if $info[p].tutorials.pkg} + <dl class="tree"> + <dt class="folder-title">Package-level</dt> + <dd> + {section name=ext loop=$info[p].tutorials.pkg} + {$info[p].tutorials.pkg[ext]} + {/section} + </dd> + </dl> + {/if} + + {if $info[p].tutorials.cls} + <dl class="tree"> + <dt class="folder-title">Class-level</dt> + <dd> + {section name=ext loop=$info[p].tutorials.cls} + {$info[p].tutorials.cls[ext]} + {/section} + </dd> + </dl> + {/if} + + {if $info[p].tutorials.proc} + <dl class="tree"> + <dt class="folder-title">Function-level</dt> + <dd> + {section name=ext loop=$info[p].tutorials.proc} + {$info[p].tutorials.proc[ext]} + {/section} + </dd> + </dl> + {/if} + </dd> + {/if} + + <dt class="sub-package">{$info[p].subpackage}</dt> + <dd> + <dl class="tree"> + {if $info[p].subpackagetutorial} + <div><a href="{$info.0.subpackagetutorialnoa}" target="right">{$info.0.subpackagetutorialtitle}</a></div> + {/if} + {if $info[p].classes} + <dt class="folder-title">Classes</dt> + {section name=class loop=$info[p].classes} + <dd><a href='{$info[p].classes[class].link}' target='right'>{$info[p].classes[class].title}</a></dd> + {/section} + {/if} + {if $info[p].functions} + <dt class="folder-title">Functions</dt> + {section name=f loop=$info[p].functions} + <dd><a href='{$info[p].functions[f].link}' target='right'>{$info[p].functions[f].title}</a></dd> + {/section} + {/if} + {if $info[p].files} + <dt class="folder-title">Files</dt> + {section name=nonclass loop=$info[p].files} + <dd><a href='{$info[p].files[nonclass].link}' target='right'>{$info[p].files[nonclass].title}</a></dd> + {/section} + {/if} + </dl> + </dd> + + {/if} + + {/section} + </dl> +</div> +<p class="notes"><a href="{$phpdocwebsite}" target="_blank">phpDocumentor v <span class="field">{$phpdocversion}</span></a></p> +</BODY> +</HTML> diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/default/templates/media/banner.css b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/default/templates/media/banner.css new file mode 100755 index 00000000..f2149ebb --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/default/templates/media/banner.css @@ -0,0 +1,32 @@ +body +{ + background-color: #CCCCFF; + margin: 0px; + padding: 0px; +} + +/* Banner (top bar) classes */ + +.banner { } + +.banner-menu +{ + clear: both; + padding: .5em; + border-top: 2px solid #6666AA; +} + +.banner-title +{ + text-align: right; + font-size: 20pt; + font-weight: bold; + margin: .2em; +} + +.package-selector +{ + background-color: #AAAADD; + border: 1px solid black; + color: yellow; +} diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/default/templates/media/stylesheet.css b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/default/templates/media/stylesheet.css new file mode 100755 index 00000000..1fc91c19 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/default/templates/media/stylesheet.css @@ -0,0 +1,144 @@ +a { color: #336699; text-decoration: none; } +a:hover { color: #6699CC; text-decoration: underline; } +a:active { color: #6699CC; text-decoration: underline; } + +body { background : #FFFFFF; } +body, table { font-family: Georgia, Times New Roman, Times, serif; font-size: 10pt } +p, li { line-height: 140% } +a img { border: 0px; } +dd { margin-left: 0px; padding-left: 1em; } + +/* Page layout/boxes */ + +.info-box {} +.info-box-title { margin: 1em 0em 0em 0em; padding: .25em; font-weight: normal; font-size: 14pt; border: 2px solid #999999; background-color: #CCCCFF } +.info-box-body { border: 1px solid #999999; padding: .5em; } +.nav-bar { font-size: 8pt; white-space: nowrap; text-align: right; padding: .2em; margin: 0em 0em 1em 0em; } + +.oddrow { background-color: #F8F8F8; border: 1px solid #AAAAAA; padding: .5em; margin-bottom: 1em} +.evenrow { border: 1px solid #AAAAAA; padding: .5em; margin-bottom: 1em} + +.page-body { max-width: 800px; margin: auto; } +.tree dl { margin: 0px } + +/* Index formatting classes */ + +.index-item-body { margin-top: .5em; margin-bottom: .5em} +.index-item-description { margin-top: .25em } +.index-item-details { font-weight: normal; font-style: italic; font-size: 8pt } +.index-letter-section { background-color: #EEEEEE; border: 1px dotted #999999; padding: .5em; margin-bottom: 1em} +.index-letter-title { font-size: 12pt; font-weight: bold } +.index-letter-menu { text-align: center; margin: 1em } +.index-letter { font-size: 12pt } + +/* Docbook classes */ + +.description {} +.short-description { font-weight: bold; color: #666666; } +.tags { padding-left: 0em; margin-left: 3em; color: #666666; list-style-type: square; } +.parameters { padding-left: 0em; margin-left: 3em; font-style: italic; list-style-type: square; } +.redefinitions { font-size: 8pt; padding-left: 0em; margin-left: 2em; } +.package { } +.package-title { font-weight: bold; font-size: 14pt; border-bottom: 1px solid black } +.package-details { font-size: 85%; } +.sub-package { font-weight: bold; font-size: 120% } +.tutorial { border-width: thin; border-color: #0066ff } +.tutorial-nav-box { width: 100%; border: 1px solid #999999; background-color: #F8F8F8; } +.nav-button-disabled { color: #999999; } +.nav-button:active, +.nav-button:focus, +.nav-button:hover { background-color: #DDDDDD; outline: 1px solid #999999; text-decoration: none } +.folder-title { font-style: italic } + +/* Generic formatting */ + +.field { font-weight: bold; } +.detail { font-size: 8pt; } +.notes { font-style: italic; font-size: 8pt; } +.separator { background-color: #999999; height: 2px; } +.warning { color: #FF6600; } +.disabled { font-style: italic; color: #999999; } + +/* Code elements */ + +.line-number { } + +.class-table { width: 100%; } +.class-table-header { border-bottom: 1px dotted #666666; text-align: left} +.class-name { color: #000000; font-weight: bold; } + +.method-summary { padding-left: 1em; font-size: 8pt } +.method-header { } +.method-definition { margin-bottom: .3em } +.method-title { font-weight: bold; } +.method-name { font-weight: bold; } +.method-signature { font-size: 85%; color: #666666; margin: .5em 0em } +.method-result { font-style: italic; } + +.var-summary { padding-left: 1em; font-size: 8pt; } +.var-header { } +.var-title { margin-bottom: .3em } +.var-type { font-style: italic; } +.var-name { font-weight: bold; } +.var-default {} +.var-description { font-weight: normal; color: #000000; } + +.include-title { } +.include-type { font-style: italic; } +.include-name { font-weight: bold; } + +.const-title { } +.const-name { font-weight: bold; } + +/* Syntax highlighting */ + +.src-code { border: 1px solid #336699; padding: 1em; background-color: #EEEEEE; } +.src-line { font-family: 'Courier New', Courier, monospace; font-weight: normal; } + +.src-comm { color: green; } +.src-id { } +.src-inc { color: #0000FF; } +.src-key { color: #0000FF; } +.src-num { color: #CC0000; } +.src-str { color: #66cccc; } +.src-sym { font-weight: bold; } +.src-var { } + +.src-php { font-weight: bold; } + +.src-doc { color: #009999 } +.src-doc-close-template { color: #0000FF } +.src-doc-coretag { color: #0099FF; font-weight: bold } +.src-doc-inlinetag { color: #0099FF } +.src-doc-internal { color: #6699cc } +.src-doc-tag { color: #0080CC } +.src-doc-template { color: #0000FF } +.src-doc-type { font-style: italic } +.src-doc-var { font-style: italic } + +.tute-tag { color: #009999 } +.tute-attribute-name { color: #0000FF } +.tute-attribute-value { color: #0099FF } +.tute-entity { font-weight: bold; } +.tute-comment { font-style: italic } +.tute-inline-tag { color: #636311; font-weight: bold } + +/* tutorial */ + +.authors { } +.author { font-style: italic; font-weight: bold } +.author-blurb { margin: .5em 0em .5em 2em; font-size: 85%; font-weight: normal; font-style: normal } +.example { border: 1px dashed #999999; background-color: #EEEEEE; padding: .5em; } +*[class="example"] { line-height : 0.5em } +.listing { border: 1px dashed #999999; background-color: #EEEEEE; padding: .5em; white-space: nowrap; } +*[class="listing"] { line-height : 0.5em } +.release-info { font-size: 85%; font-style: italic; margin: 1em 0em } +.ref-title-box { } +.ref-title { } +.ref-purpose { font-style: italic; color: #666666 } +.ref-synopsis { } +.title { font-weight: bold; margin: 1em 0em 0em 0em; padding: .25em; border: 2px solid #999999; background-color: #CCCCFF } +.cmd-synopsis { margin: 1em 0em } +.cmd-title { font-weight: bold } +.toc { margin-left: 2em; padding-left: 0em } + diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/default/templates/method.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/default/templates/method.tpl new file mode 100755 index 00000000..3ef9ee53 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/default/templates/method.tpl @@ -0,0 +1,151 @@ +<A NAME='method_detail'></A> +{section name=methods loop=$methods} +{if $methods[methods].static} +<a name="method{$methods[methods].function_name}" id="{$methods[methods].function_name}"><!-- --></a> +<div class="{cycle values="evenrow,oddrow"}"> + + <div class="method-header"> + <span class="method-title">static method {$methods[methods].function_name}</span> (line <span class="line-number">{if $methods[methods].slink}{$methods[methods].slink}{else}{$methods[methods].line_number}{/if}</span>) + </div> + + {include file="docblock.tpl" sdesc=$methods[methods].sdesc desc=$methods[methods].desc tags=$methods[methods].tags params=$methods[methods].params function=false} + + <div class="method-signature"> + static + <span class="method-result">{$methods[methods].function_return}</span> + <span class="method-name"> + {if $methods[methods].ifunction_call.returnsref}&{/if}{$methods[methods].function_name} + </span> + {if count($methods[methods].ifunction_call.params)} + ({section name=params loop=$methods[methods].ifunction_call.params}{if $smarty.section.params.iteration != 1}, {/if}{if $methods[methods].ifunction_call.params[params].hasdefault}[{/if}<span class="var-type">{$methods[methods].ifunction_call.params[params].type}</span> <span class="var-name">{$methods[methods].ifunction_call.params[params].name}</span>{if $methods[methods].ifunction_call.params[params].hasdefault} = <span class="var-default">{$methods[methods].ifunction_call.params[params].default}</span>]{/if}{/section}) + {else} + () + {/if} + </div> + + {if $methods[methods].params} + <ul class="parameters"> + {section name=params loop=$methods[methods].params} + <li> + <span class="var-type">{$methods[methods].params[params].datatype}</span> + <span class="var-name">{$methods[methods].params[params].var}</span>{if $methods[methods].params[params].data}<span class="var-description">: {$methods[methods].params[params].data}</span>{/if} + </li> + {/section} + </ul> + {/if} + + {if $methods[methods].method_overrides} + <hr class="separator" /> + <div class="notes">Redefinition of:</div> + <dl> + <dt>{$methods[methods].method_overrides.link}</dt> + {if $methods[methods].method_overrides.sdesc} + <dd>{$methods[methods].method_overrides.sdesc}</dd> + {/if} + </dl> + {/if} + {if $methods[methods].method_implements} + <hr class="separator" /> + <div class="notes">Implementation of:</div> + {section name=imp loop=$methods[methods].method_implements} + <dl> + <dt>{$methods[methods].method_implements[imp].link}</dt> + {if $methods[methods].method_implements[imp].sdesc} + <dd>{$methods[methods].method_implements[imp].sdesc}</dd> + {/if} + </dl> + {/section} + {/if} + + {if $methods[methods].descmethod} + <hr class="separator" /> + <div class="notes">Redefined in descendants as:</div> + <ul class="redefinitions"> + {section name=dm loop=$methods[methods].descmethod} + <li> + {$methods[methods].descmethod[dm].link} + {if $methods[methods].descmethod[dm].sdesc} + : {$methods[methods].descmethod[dm].sdesc} + {/if} + </li> + {/section} + </ul> + {/if} +</div> +{/if} +{/section} + +{section name=methods loop=$methods} +{if !$methods[methods].static} +<a name="method{$methods[methods].function_name}" id="{$methods[methods].function_name}"><!-- --></a> +<div class="{cycle values="evenrow,oddrow"}"> + + <div class="method-header"> + <span class="method-title">{if $methods[methods].ifunction_call.constructor}Constructor {elseif $methods[methods].ifunction_call.destructor}Destructor {/if}{$methods[methods].function_name}</span> (line <span class="line-number">{if $methods[methods].slink}{$methods[methods].slink}{else}{$methods[methods].line_number}{/if}</span>) + </div> + + {include file="docblock.tpl" sdesc=$methods[methods].sdesc desc=$methods[methods].desc tags=$methods[methods].tags params=$methods[methods].params function=false} + + <div class="method-signature"> + <span class="method-result">{$methods[methods].function_return}</span> + <span class="method-name"> + {if $methods[methods].ifunction_call.returnsref}&{/if}{$methods[methods].function_name} + </span> + {if count($methods[methods].ifunction_call.params)} + ({section name=params loop=$methods[methods].ifunction_call.params}{if $smarty.section.params.iteration != 1}, {/if}{if $methods[methods].ifunction_call.params[params].hasdefault}[{/if}<span class="var-type">{$methods[methods].ifunction_call.params[params].type}</span> <span class="var-name">{$methods[methods].ifunction_call.params[params].name}</span>{if $methods[methods].ifunction_call.params[params].hasdefault} = <span class="var-default">{$methods[methods].ifunction_call.params[params].default}</span>]{/if}{/section}) + {else} + () + {/if} + </div> + + {if $methods[methods].params} + <ul class="parameters"> + {section name=params loop=$methods[methods].params} + <li> + <span class="var-type">{$methods[methods].params[params].datatype}</span> + <span class="var-name">{$methods[methods].params[params].var}</span>{if $methods[methods].params[params].data}<span class="var-description">: {$methods[methods].params[params].data}</span>{/if} + </li> + {/section} + </ul> + {/if} + + {if $methods[methods].method_overrides} + <hr class="separator" /> + <div class="notes">Redefinition of:</div> + <dl> + <dt>{$methods[methods].method_overrides.link}</dt> + {if $methods[methods].method_overrides.sdesc} + <dd>{$methods[methods].method_overrides.sdesc}</dd> + {/if} + </dl> + {/if} + {if $methods[methods].method_implements} + <hr class="separator" /> + <div class="notes">Implementation of:</div> + {section name=imp loop=$methods[methods].method_implements} + <dl> + <dt>{$methods[methods].method_implements[imp].link}</dt> + {if $methods[methods].method_implements[imp].sdesc} + <dd>{$methods[methods].method_implements[imp].sdesc}</dd> + {/if} + </dl> + {/section} + {/if} + + {if $methods[methods].descmethod} + <hr class="separator" /> + <div class="notes">Redefined in descendants as:</div> + <ul class="redefinitions"> + {section name=dm loop=$methods[methods].descmethod} + <li> + {$methods[methods].descmethod[dm].link} + {if $methods[methods].descmethod[dm].sdesc} + : {$methods[methods].descmethod[dm].sdesc} + {/if} + </li> + {/section} + </ul> + {/if} +</div> +{/if} +{/section} diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/default/templates/page.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/default/templates/page.tpl new file mode 100755 index 00000000..b5980236 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/default/templates/page.tpl @@ -0,0 +1,211 @@ +{include file="header.tpl" top3=true} + +<h2 class="file-name">{$source_location}</h2> + +<a name="sec-description"></a> +<div class="info-box"> + <div class="info-box-title">Description</div> + <div class="nav-bar"> + {if $classes || $includes || $defines || $globals || $functions} + <span class="disabled">Description</span> | + {/if} + {if $classes} + <a href="#sec-classes">Classes</a> + {if $includes || $defines || $globals || $functions}|{/if} + {/if} + {if $includes} + <a href="#sec-includes">Includes</a> + {if $defines || $globals || $functions}|{/if} + {/if} + {if $defines} + <a href="#sec-constants">Constants</a> + {if $globals || $functions}|{/if} + {/if} + {if $globals} + <a href="#sec-variables">Variables</a> + {if $functions}|{/if} + {/if} + {if $functions} + <a href="#sec-functions">Functions</a> + {/if} + </div> + <div class="info-box-body"> + {include file="docblock.tpl" desc=$desc sdesc=$sdesc tags=$tags} + + {if $tutorial} + <hr class="separator" /> + <div class="notes">Tutorial: <span class="tutorial">{$tutorial}</div> + {/if} + </div> +</div> + +{if $classes} + <a name="sec-classes"></a> + <div class="info-box"> + <div class="info-box-title">Classes</div> + <div class="nav-bar"> + <a href="#sec-description">Description</a> | + <span class="disabled">Classes</span> + {if $includes || $defines || $globals || $functions}|{/if} + {if $includes} + <a href="#sec-includes">Includes</a> + {if $defines || $globals || $functions}|{/if} + {/if} + {if $defines} + <a href="#sec-constants">Constants</a> + {if $globals || $functions}|{/if} + {/if} + {if $globals} + <a href="#sec-variables">Variables</a> + {if $functions}|{/if} + {/if} + {if $functions} + <a href="#sec-functions">Functions</a> + {/if} + </div> + <div class="info-box-body"> + <table cellpadding="2" cellspacing="0" class="class-table"> + <tr> + <th class="class-table-header">Class</th> + <th class="class-table-header">Description</th> + </tr> + {section name=classes loop=$classes} + <tr> + <td style="padding-right: 2em; vertical-align: top"> + {$classes[classes].link} + </td> + <td> + {if $classes[classes].sdesc} + {$classes[classes].sdesc} + {else} + {$classes[classes].desc} + {/if} + </td> + </tr> + {/section} + </table> + </div> + </div> +{/if} + +{if $includes} + <a name="sec-includes"></a> + <div class="info-box"> + <div class="info-box-title">Includes</div> + <div class="nav-bar"> + <a href="#sec-description">Description</a> | + {if $classes} + <a href="#sec-classes">Classes</a> + {if $includes || $defines || $globals || $functions}|{/if} + {/if} + <span class="disabled">Includes</span> + {if $defines || $globals || $functions}|{/if} + {if $defines} + <a href="#sec-constants">Constants</a> + {if $globals || $functions}|{/if} + {/if} + {if $globals} + <a href="#sec-variables">Variables</a> + {if $functions}|{/if} + {/if} + {if $functions} + <a href="#sec-functions">Functions</a> + {/if} + </div> + <div class="info-box-body"> + {include file="include.tpl"} + </div> + </div> +{/if} + +{if $defines} + <a name="sec-constants"></a> + <div class="info-box"> + <div class="info-box-title">Constants</div> + <div class="nav-bar"> + <a href="#sec-description">Description</a> | + {if $classes} + <a href="#sec-classes">Classes</a> + {if $includes || $defines || $globals || $functions}|{/if} + {/if} + {if $includes} + <a href="#sec-includes">Includes</a> + {if $defines || $globals || $functions}|{/if} + {/if} + <span class="disabled">Constants</span> + {if $globals || $functions}|{/if} + {if $globals} + <a href="#sec-variables">Variables</a> + {if $functions}|{/if} + {/if} + {if $functions} + <a href="#sec-functions">Functions</a> + {/if} + </div> + <div class="info-box-body"> + {include file="define.tpl"} + </div> + </div> +{/if} + +{if $globals} + <a name="sec-variables"></a> + <div class="info-box"> + <div class="info-box-title">Variables</div> + <div class="nav-bar"> + <a href="#sec-description">Description</a> | + {if $classes} + <a href="#sec-classes">Classes</a> + {if $includes || $defines || $globals || $functions}|{/if} + {/if} + {if $includes} + <a href="#sec-includes">Includes</a> + {if $defines || $globals || $functions}|{/if} + {/if} + {if $defines} + <a href="#sec-constants">Constants</a> + {if $globals || $functions}|{/if} + {/if} + <span class="disabled">Variables</span> + {if $functions}|{/if} + {if $functions} + <a href="#sec-functions">Functions</a> + {/if} + </div> + <div class="info-box-body"> + {include file="global.tpl"} + </div> + </div> +{/if} + +{if $functions} + <a name="sec-functions"></a> + <div class="info-box"> + <div class="info-box-title">Functions</div> + <div class="nav-bar"> + <a href="#sec-description">Description</a> | + {if $classes} + <a href="#sec-classes">Classes</a> + {if $includes || $defines || $globals || $functions}|{/if} + {/if} + {if $includes} + <a href="#sec-includes">Includes</a> + {if $defines || $globals || $functions}|{/if} + {/if} + {if $defines} + <a href="#sec-constants">Constants</a> + {if $globals || $functions}|{/if} + {/if} + {if $globals} + <a href="#sec-variables">Variables</a> + {if $functions}|{/if} + {/if} + <span class="disabled">Functions</span> + </div> + <div class="info-box-body"> + {include file="function.tpl"} + </div> + </div> +{/if} + +{include file="footer.tpl" top3=true} diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/default/templates/pkgelementindex.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/default/templates/pkgelementindex.tpl new file mode 100755 index 00000000..dc283ad0 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/default/templates/pkgelementindex.tpl @@ -0,0 +1,17 @@ +{include file="header.tpl"} +<a name="top"></a> +<h2>[{$package}] element index</h2> +{if count($packageindex) > 1} + <h3>Package indexes</h3> + <ul> + {section name=p loop=$packageindex} + {if $packageindex[p].title != $package} + <li><a href="elementindex_{$packageindex[p].title}.html">{$packageindex[p].title}</a></li> + {/if} + {/section} + </ul> +{/if} +<a href="elementindex.html">All elements</a> +<br /> +{include file="basicindex.tpl" indexname=elementindex_$package} +{include file="footer.tpl"} diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/default/templates/ric.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/default/templates/ric.tpl new file mode 100755 index 00000000..eff734c1 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/default/templates/ric.tpl @@ -0,0 +1,6 @@ +{include file="header.tpl"} +<h1 align="center">{$name}</h1> +<pre> +{$contents|htmlentities} +</pre> +{include file="footer.tpl"}
\ No newline at end of file diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/default/templates/todolist.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/default/templates/todolist.tpl new file mode 100755 index 00000000..f929ccdb --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/default/templates/todolist.tpl @@ -0,0 +1,14 @@ +{include file="header.tpl" title="Todo List"} +<div align="center"><h1>Todo List</h1></div> +{foreach from=$todos key=todopackage item=todo} +<h2>{$todopackage}</h2> +{section name=todo loop=$todo} +<h3>{$todo[todo].link}</h3> +<ul> +{section name=t loop=$todo[todo].todos} + <li>{$todo[todo].todos[t]}</li> +{/section} +</ul> +{/section} +{/foreach} +{include file="footer.tpl"}
\ No newline at end of file diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/default/templates/top_frame.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/default/templates/top_frame.tpl new file mode 100755 index 00000000..fbe7eda3 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/default/templates/top_frame.tpl @@ -0,0 +1,43 @@ +<?xml version="1.0" encoding="iso-8859-1"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> + <html xmlns="http://www.w3.org/1999/xhtml"> + <head> + <!-- template designed by Marco Von Ballmoos --> + <title>{$title}</title> + <link rel="stylesheet" href="{$subdir}media/stylesheet.css" /> + <link rel="stylesheet" href="{$subdir}media/banner.css" /> + <meta http-equiv='Content-Type' content='text/html; charset=iso-8859-1'/> + </head> + <body> + <div class="banner"> + <div class="banner-title">{$package}</div> + <div class="banner-menu"> + <table cellpadding="0" cellspacing="0" style="width: 100%"> + <tr> + <td> + {if count($ric) >= 1} + {assign var="last_ric_name" value=""} + {section name=ric loop=$ric} + {if $last_ric_name != ""} | {/if} + <a href="{$ric[ric].file}" target="right">{$ric[ric].name}</a> + {assign var="last_ric_name" value=$ric[ric].name} + {/section} + {/if} + </td> + <td style="width: 2em"> </td> + <td style="text-align: right"> + {if count($packages) > 1} + {assign var="last_package_name" value=""} + {section name=p loop=$packages} + {if $last_package_name != ""} | {/if} + <a href="{$packages[p].link}" target="left_bottom">{$packages[p].title}</a> + {assign var="last_package_name" value=$packages[p].title} + {/section} + {/if} + </td> + </tr> + </table> + </div> + </div> + </body> + </html>
\ No newline at end of file diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/default/templates/tutorial.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/default/templates/tutorial.tpl new file mode 100755 index 00000000..3b9109d1 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/default/templates/tutorial.tpl @@ -0,0 +1,13 @@ +{include file="header.tpl" title=$title top3=true} + +{if $nav} + {include file="tutorial_nav.tpl" prev=$prev next=$next up=$up prevtitle=$prevtitle nexttitle=$nexttitle uptitle=$uptitle} +{/if} + +{$contents} + +{if $nav} + {include file="tutorial_nav.tpl" prev=$prev next=$next up=$up prevtitle=$prevtitle nexttitle=$nexttitle uptitle=$uptitle} +{/if} + +{include file="footer.tpl" top3=true}
\ No newline at end of file diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/default/templates/tutorial_nav.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/default/templates/tutorial_nav.tpl new file mode 100755 index 00000000..89952301 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/default/templates/tutorial_nav.tpl @@ -0,0 +1,41 @@ +<table class="tutorial-nav-box"> + <tr> + <td style="width: 30%"> + {if $prev} + <a href="{$prev}" class="nav-button">Previous</a> + {else} + <span class="nav-button-disabled">Previous</span> + {/if} + </td> + <td style="text-align: center"> + {if $up} + <a href="{$up}" class="nav-button">Up</a> + {/if} + </td> + <td style="text-align: right; width: 30%"> + {if $next} + <a href="{$next}" class="nav-button">Next</a> + {else} + <span class="nav-button-disabled">Next</span> + {/if} + </td> + </tr> + <tr> + <td style="width: 30%"> + {if $prevtitle} + <span class="detail">{$prevtitle}</span> + {/if} + </td> + <td style="text-align: center"> + {if $uptitle} + <span class="detail">{$uptitle}</span> + {/if} + </td> + <td style="text-align: right; width: 30%"> + {if $nexttitle} + <span class="detail">{$nexttitle}</span> + {/if} + </td> + </tr> +</table> +
\ No newline at end of file diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/default/templates/tutorial_toc.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/default/templates/tutorial_toc.tpl new file mode 100755 index 00000000..3482249b --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/default/templates/tutorial_toc.tpl @@ -0,0 +1,40 @@ +{if count($toc)} +<h1 class="title">Table of Contents</h1> +<ul class="toc"> + {assign var="lastcontext" value='refsect1'} + {section name=toc loop=$toc} + + {if $toc[toc].tagname != $lastcontext} + {if $lastcontext == 'refsect1'} + <ul class="toc"> + <li>{$toc[toc].link}</li> + {else} + {if $lastcontext == 'refsect2'} + {if $toc[toc].tagname == 'refsect1'} + </ul> + <li>{$toc[toc].link}</li> + {/if} + {if $toc[toc].tagname == 'refsect3'} + <ul class="toc"> + <li>{$toc[toc].link}</li> + {/if} + {else} + </ul> + </ul> + <li>{$toc[toc].link}</li> + {/if} + {/if} + {assign var="lastcontext" value=$toc[toc].tagname} + {else} + <li>{$toc[toc].link}</li> + {/if} + {/section} + {if $lastcontext == 'refsect2'} + </ul> + {/if} + {if $lastcontext == 'refsect3'} + </ul> + </ul> + {/if} +</ul> +{/if} diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/default/templates/tutorial_tree.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/default/templates/tutorial_tree.tpl new file mode 100755 index 00000000..617b5654 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/default/templates/tutorial_tree.tpl @@ -0,0 +1,6 @@ +<div><a href="{$main.link}" target="right">{$main.title|strip_tags}</a></div> +{if $haskids} +<div style="margin-left: 1em"> + {$kids} +</div> +{/if} diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/default/templates/var.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/default/templates/var.tpl new file mode 100755 index 00000000..607d7681 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/default/templates/var.tpl @@ -0,0 +1,91 @@ +{section name=vars loop=$vars} +{if $vars[vars].static} +<a name="var{$vars[vars].var_name}" id="{$vars[vars].var_name}"><!-- --></A> +<div class="{cycle values="evenrow,oddrow"}"> + + <div class="var-header"> + <span class="var-title"> + static <span class="var-type">{$vars[vars].var_type}</span> + <span class="var-name">{$vars[vars].var_name}</span> + {if $vars[vars].var_default} = <span class="var-default">{$vars[vars].var_default|replace:"\n":"<br />"}</span>{/if} + (line <span class="line-number">{if $vars[vars].slink}{$vars[vars].slink}{else}{$vars[vars].line_number}{/if}</span>) + </span> + </div> + + {include file="docblock.tpl" sdesc=$vars[vars].sdesc desc=$vars[vars].desc tags=$vars[vars].tags} + + {if $vars[vars].var_overrides} + <hr class="separator" /> + <div class="notes">Redefinition of:</div> + <dl> + <dt>{$vars[vars].var_overrides.link}</dt> + {if $vars[vars].var_overrides.sdesc} + <dd>{$vars[vars].var_overrides.sdesc}</dd> + {/if} + </dl> + {/if} + + {if $vars[vars].descvar} + <hr class="separator" /> + <div class="notes">Redefined in descendants as:</div> + <ul class="redefinitions"> + {section name=vm loop=$vars[vars].descvar} + <li> + {$vars[vars].descvar[vm].link} + {if $vars[vars].descvar[vm].sdesc} + : {$vars[vars].descvar[vm].sdesc} + {/if} + </li> + {/section} + </ul> + {/if} + +</div> +{/if} +{/section} +{section name=vars loop=$vars} +{if !$vars[vars].static} +<a name="var{$vars[vars].var_name}" id="{$vars[vars].var_name}"><!-- --></A> +<div class="{cycle values="evenrow,oddrow"}"> + + <div class="var-header"> + <span class="var-title"> + <span class="var-type">{$vars[vars].var_type}</span> + <span class="var-name">{$vars[vars].var_name}</span> + {if $vars[vars].var_default} = <span class="var-default">{$vars[vars].var_default|replace:"\n":"<br />"}</span>{/if} + (line <span class="line-number">{if $vars[vars].slink}{$vars[vars].slink}{else}{$vars[vars].line_number}{/if}</span>) + </span> + </div> + + {include file="docblock.tpl" sdesc=$vars[vars].sdesc desc=$vars[vars].desc tags=$vars[vars].tags} + + {if $vars[vars].var_overrides} + <hr class="separator" /> + <div class="notes">Redefinition of:</div> + <dl> + <dt>{$vars[vars].var_overrides.link}</dt> + {if $vars[vars].var_overrides.sdesc} + <dd>{$vars[vars].var_overrides.sdesc}</dd> + {/if} + </dl> + {/if} + + {if $vars[vars].descvar} + <hr class="separator" /> + <div class="notes">Redefined in descendants as:</div> + <ul class="redefinitions"> + {section name=vm loop=$vars[vars].descvar} + <li> + {$vars[vars].descvar[vm].link} + {if $vars[vars].descvar[vm].sdesc} + : {$vars[vars].descvar[vm].sdesc} + {/if} + </li> + {/section} + </ul> + {/if} + +</div> +{/if} +{/section} + diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/earthli/options.ini b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/earthli/options.ini new file mode 100755 index 00000000..64638d09 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/earthli/options.ini @@ -0,0 +1,576 @@ +preservedocbooktags = false + +;; used to highlight the {@source} inline tag, @filesource tag, and @example tag +[highlightSourceTokens] +;; format: +;; T_CONSTANTNAME = open +;; /T_CONSTANTNAME = close + +T_INCLUDE = <span class="src-inc"> +/T_INCLUDE = </span> +T_INCLUDE_ONCE = <span class="src-inc"> +/T_INCLUDE_ONCE = </span> +T_REQUIRE_ONCE = <span class="src-inc"> +/T_REQUIRE_ONCE = </span> +T_REQUIRE_ONCE = <span class="src-inc"> +/T_REQUIRE_ONCE = </span> + +T_CONSTANT_ENCAPSED_STRING = <span class="src-str"> +/T_CONSTANT_ENCAPSED_STRING = </span> +T_STRING_VARNAME = <span class="src-str"> +/T_STRING_VARNAME = </span> + +T_STRING = <span class="src-id"> +/T_STRING = </span> + +T_DNUMBER = <span class="src-num"> +/T_DNUMBER = </span> +T_LNUMBER = <span class="src-num"> +/T_LNUMBER = </span> + +T_VARIABLE = <span class="src-var"> +/T_VARIABLE = </span> + +T_COMMENT = <span class="src-comm"> +/T_COMMENT = </span> +T_ML_COMMENT = <span class="src-comm"> +/T_ML_COMMENT = </span> + +T_OBJECT_OPERATOR = <span class="src-sym"> +/T_OBJECT_OPERATOR = </span> + +T_ABSTRACT = <span class="src-key"> +/T_ABSTRACT = </span> +T_CLONE = <span class="src-key"> +/T_CLONE = </span> +T_HALT_COMPILER = <span class="src-key"> +/T_HALT_COMPILER = </span> +T_ARRAY = <span class="src-key"> +/T_ARRAY = </span> +T_AS = <span class="src-key"> +/T_AS = </span> +T_BREAK = <span class="src-key"> +/T_BREAK = </span> +T_CLASS = <span class="src-key"> +/T_CLASS = </span> +T_CASE = <span class="src-key"> +/T_CASE = </span> +T_CONST = <span class="src-key"> +/T_CONST = </span> +T_CONTINUE = <span class="src-key"> +/T_CONTINUE = </span> +T_DECLARE = <span class="src-key"> +/T_DECLARE = </span> +T_DEFAULT = <span class="src-key"> +/T_DEFAULT = </span> +T_ELSE = <span class="src-key"> +/T_ELSE = </span> +T_ELSEIF = <span class="src-key"> +/T_ELSEIF = </span> +T_EMPTY = <span class="src-key"> +/T_EMPTY = </span> +T_ENDDECLARE = <span class="src-key"> +/T_ENDDECLARE = </span> +T_ENDFOR = <span class="src-key"> +/T_ENDFOR = </span> +T_ENDSWITCH = <span class="src-key"> +/T_ENDSWITCH = </span> +T_ENDFOREACH = <span class="src-key"> +/T_ENDFOREACH = </span> +T_ENDIF = <span class="src-key"> +/T_ENDIF = </span> +T_ENDWHILE = <span class="src-key"> +/T_ENDWHILE = </span> +T_EXIT = <span class="src-key"> +/T_EXIT = </span> +T_EXTENDS = <span class="src-key"> +/T_EXTENDS = </span> +T_FINAL = <span class="src-key"> +/T_FINAL = </span> +T_FOR = <span class="src-key"> +/T_FOR = </span> +T_FOREACH = <span class="src-key"> +/T_FOREACH = </span> +T_FUNCTION = <span class="src-key"> +/T_FUNCTION = </span> +T_GLOBAL = <span class="src-key"> +/T_GLOBAL = </span> +T_IF = <span class="src-key"> +/T_IF = </span> +T_IMPLEMENTS = <span class="src-key"> +/T_IMPLEMENTS = </span> +T_INTERFACE = <span class="src-key"> +/T_INTERFACE = </span> +T_LOGICAL_AND = <span class="src-key"> +/T_LOGICAL_AND = </span> +T_LOGICAL_OR = <span class="src-key"> +/T_LOGICAL_OR = </span> +T_LOGICAL_XOR = <span class="src-key"> +/T_LOGICAL_XOR = </span> +T_NEW = <span class="src-key"> +/T_NEW = </span> +T_PRIVATE = <span class="src-key"> +/T_PRIVATE = </span> +T_PROTECTED = <span class="src-key"> +/T_PROTECTED = </span> +T_PUBLIC = <span class="src-key"> +/T_PUBLIC = </span> +T_RETURN = <span class="src-key"> +/T_RETURN = </span> +T_STATIC = <span class="src-key"> +/T_STATIC = </span> +T_SWITCH = <span class="src-key"> +/T_SWITCH = </span> +T_VAR = <span class="src-key"> +/T_VAR = </span> +T_WHILE = <span class="src-key"> +/T_WHILE = </span> + +T_DOUBLE_COLON = <span class="src-sym"> +/T_DOUBLE_COLON = </span> + +T_OPEN_TAG = <span class="src-php"> +/T_OPEN_TAG = </span> +T_OPEN_TAG_WITH_ECHO = <span class="src-php"> +/T_OPEN_TAG_WITH_ECHO = </span> +T_CLOSE_TAG = <span class="src-php"> +/T_CLOSE_TAG = </span> + + +[highlightSource] +;; this is for highlighting things that aren't tokens like "&" +;; format: +;; word = open +;; /word = close +@ = <span class="src-sym"> +/@ = </span> +& = <span class="src-sym"> +/& = </span> +[ = <span class="src-sym"> +/[ = </span> +] = <span class="src-sym"> +/] = </span> +! = <span class="src-sym"> +/! = </span> +";" = <span class="src-sym"> +/; = </span> +( = <span class="src-sym"> +/( = </span> +) = <span class="src-sym"> +/) = </span> +, = <span class="src-sym"> +/, = </span> +{ = <span class="src-sym"> +/{ = </span> +} = <span class="src-sym"> +/} = </span> +""" = <span class="src-str"> +/" = </span> + +[highlightDocBlockSourceTokens] +;; this is for docblock tokens, using by phpDocumentor_HighlightParser +;; tagphptype is for "string" in @param string description, for example +docblock = <span class="src-doc"> +/docblock = </span> +tagphptype = <span class="src-doc-type"> +/tagphptype = </span> +tagvarname = <span class="src-doc-var"> +/tagvarname = </span> +coretag = <span class="src-doc-coretag"> +/coretag = </span> +tag = <span class="src-doc-tag"> +/tag = </span> +inlinetag = <span class="src-doc-inlinetag"> +/inlinetag = </span> +internal = <span class="src-doc-internal"> +/internal = </span> +closetemplate = <span class="src-doc-close-template"> +/closetemplate = </span> +docblocktemplate = <span class="src-doc-template"> +/docblocktemplate = </span> + +[highlightTutorialSourceTokens] +;; this is for XML DocBook-based tutorials, highlighted by phpDocumentor_TutorialHighlightParser +;; <tag> +opentag = <span class="tute-tag"> +/opentag = </span> +;; </tag> +closetag = <span class="tute-tag"> +/closetag = </span> +;; <tag attribute="value"> +attribute = <span class="tute-attribute-name"> +/attribute = </span> +;; <tag attribute="value"> +attributevalue = <span class="tute-attribute-value"> +/attributevalue = </span> +;; &entity; +entity = <span class="tute-entity"> +/entity = </span> +;; <!-- comment --> +comment = <span class="tute-comment"> +/comment = </span> +;; {@inline tag} +itag = <span class="tute-inline-tag"> +/itag = </span> + +;; used for translation of html in DocBlocks +[desctranslate] +ul = <ul> +/ul = </ul> +ol = <ol> +/ol = </ol> +li = <li> +/li = </li> +code = +/code = +var = <var> +/var = </var> +samp = <samp> +/samp = </samp> +kbd = <kbd> +/kbd = </kbd> +pre = <pre> +/pre = </pre> +p = <p> +/p = </p> +b = <strong> +/b = </strong> +i = <em> +/i = </em> +br = <br /> + +[ppage] +;; this is the DocBook package page translation section. All DocBook tags +;; that have a corresponding html tag must be listed here. Entities should +;; also be listed here +;; +;; examples: +;; 1) +;; tagname = newtagname +;; +;; This is the simplest case, where all attributes will be added into the +;; starting tag and the ending tag will be html/xml style </tranlatedtagname> +;; <tagname></tagname> becomes <newtagname></newtagname> and +;; <tagname attr="value"></tagname> becomes +;; <newtagname attr="value"></newtagname> +;; +;; 2) +;; tagname = newtagname +;; tagname->attr = newattrname +;; +;; in this case, everything will be like the first case, except tags like: +;; <tagname attr="value"></tagname> will become +;; <newtagname newattrname="value"></newtagname> +;; +;; 3) +;; tagname = newtagname +;; tagname->attr = newattrname +;; tagname->attr+value = newvalue +;; +;; in this case, the value is also translated to another. This can be useful +;; for instances such as focus="middle" changing to align="center" or something +;; of that nature. +;; <tagname attr="value"></tagname> will become +;; <newtagname newattrname="newvalue"></newtagname> +;; +;; 4) +;; tagname = newtagname +;; tagname->attr1 = newattrname +;; tagname->attr2 = newattrname +;; tagname->attr1+value|attr2+value = newvalue +;; +;; in this case, two attributes combine to make one new attribute, and the combined +;; value is translated into a new value +;; <tagname attr1="value1" attr2="value2"></tagname> will become +;; <newtagname newattrname="newvalue"></newtagname> +;; +;; 5) +;; tagname = newtagname +;; tagname!attr = dummy +;; +;; here, the attribute will be ignored. dummy is not used and may be any value +;; <tagname attr="value"></tagname> will become +;; <newtagname></newtagname> +;; +;; 6) +;; tagname = newtagname +;; tagname! = dummy +;; +;; here, all attributes will be ignored. dummy is not used and may be any value +;; <tagname attr1="value" attr2="foo"></tagname> will become +;; <newtagname></newtagname> +;; +;; 7) +;; tagname = newtagname +;; tagname/ = 1 +;; +;; here, the tag will be translated as a single tag with no closing tag, and all +;; attributes +;; <tagname attr="val">{text text}</tagname> will become +;; <newtagname attr="val" /> +;; +;; 8) +;; tagname = <starttaginfo /> +;; /tagname = closetagtext +;; +;; in this case, the text <starttaginfo> will be inserted exactly as entered for +;; <tagname> and closetagtext for </tagname> +;; <tagname attr="val"></tagname> will become +;; <starttaginfo />closetagtext +;; +;; 9) +;; $attr$my_attribute = newattrname +;; +;; tagname = newtagname +;; +;; in this case, all occurences of my_attribute in any tag will be changed to +;; newattrname. This is useful for changing things like role="php" to +;; class="php," for example. Note that the text "$attr$" MUST be on the line +;; start for phpDocumentor to recognize it. +;; +;; 10) +;; &entity; = translation text +;; " = " +;; " = """ +;; < = < +;; +;; Use this to control translation of entities to their appropriate values + + = +" = " +” = ” +“ = “ +& = & +< = < +> = > +© = © + +$attr$role = class + +abbrev = abbr + +blockquote = blockquote + +arg = span +arg->choice = class + +author = <span class="author"> +/author = </span> +author! = 0 + +authorblurb = <div class="author-blurb"> +/authorblurb = </div> + +authorgroup = <div class="authors"><h2 class="title">Authors</h2> +/authorgroup = </div> +authorgroup! = 0 + +caution = <span class="warning"> +/caution = </span> +caution! = 0 + +cmdsynopsis = <div class="cmd-synopsis"> +/cmdsynopsis = </div> + +command = <span class="cmd-title"> +/command = </span> + +copyright = <div class="notes"> +/copyright = </div> + +emphasis = em + +example = <div class="src-code"> +/example = </div> +example! = 0 + +formalpara = p + +graphic = img +graphic->fileref = src +graphic/ = + +function = +/function = () + +important = strong + +informalequation = blockquote + +informalexample = div + +inlineequation = em + +itemizedlist = ul + +listitem = li + +literal = code + +literallayout = span + +option = " " +/option = + +orderedlist = ol + +para = p + +programlisting = <div class="src-code"> +/programlisting = </div> +programlisting! = 0 + +refentry = div + +refnamediv = <div class="ref-title-box"> +/refnamediv = </div> +refnamediv! = 0 + +refname = <h1 class="ref-title"> +/refname = </h1> + +refpurpose = <h2 class="ref-purpose"> +/refpurpose = </h2> + +refsynopsisdiv = <div class="ref-synopsis"> +/refsynopsisdiv = </div> +refsynopsisdiv! = 0 + +refsect1 = span + +refsect2 = span + +refsect3 = +/refsect3 = <br /> + +releaseinfo = <div class="release-info">( +/releaseinfo = )</div> + +simpara = +/simpara = <br /> +simpara! = 0 + +subscript = sub + +superscript = super + +table = table + +table->colsep = rules +table->rowsep = rules +table->colsep+1|rowsep+1 =all +table->colsep+1|rowsep+0 =cols +table->colsep+0|rowsep+1 =rows + +table->frame =frame +table->frame+all =border +table->frame+none =void +table->frame+sides =vsides +table->frame+top =above +table->frame+topbot =hsides + +thead = thead + +tfoot = tfoot + +tbody = tbody + +colspec = col + +tgroup = colgroup +tgroup/ = 1 +tgroup->cols = span + +row = tr + +entry = td +entry->morerows = colspan +entry->morerows+1 =2 +entry->morerows+2 =3 +entry->morerows+3 =4 +entry->morerows+4 =5 +entry->morerows+5 =6 +entry->morerows+6 =7 +entry->morerows+7 =8 +entry->morerows+8 =9 +entry->morerows+9 =10 +entry->morerows+10 =11 +;; add more if you need more colspans + +warning = <span class="warning"> +/warning = </span> +warning! = 0 + +;; now begins the attributes that should be tags in cdata +[$attr$id] +open = a +;close = /a +cdata! = true +quotevalues = true +separator = "=" +;separateall = true +$id = name + +;; now begins the sections that deal with <title> +[refsynopsisdiv_title] +;tag_attr = true +;attr_name = title +cdata_start = true +;cdata_end = true +open = <h1 class="title"> +close = </h1> + +[refsect1_title] +;tag_attr = true +;attr_name = title +cdata_start = true +;cdata_end = true +open = <h2 class="title"> +close = </h2> + +[refsect2_title] +;tag_attr = true +;attr_name = title +cdata_start = true +;cdata_end = true +open = <h3 class="title"> +close = </h3> + +[refsect3_title] +;tag_attr = true +;attr_name = title +cdata_start = true +;cdata_end = true +open = <h4 class="title"> +close = </h4> + +[para_title] +;tag_attr = true +;attr_name = title +cdata_start = true +;cdata_end = true +open = <div class="title"> +close = </div> + +[formalpara_title] +;tag_attr = true +;attr_name = title +cdata_start = true +;cdata_end = true +open = <div class="title"> +close = </div> + +[example_title] +;tag_attr = true +;attr_name = title +;cdata_start = true +cdata_end = true +open = </td></tr><tr><td><strong> +close = </strong> + +[table_title] +;tag_attr = true +;attr_name = true +cdata_start = true +open = <caption> +close = </caption> diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/earthli/templates/basicindex.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/earthli/templates/basicindex.tpl new file mode 100755 index 00000000..f90100b4 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/earthli/templates/basicindex.tpl @@ -0,0 +1,57 @@ +<div class="index-letter-menu"> +{section name=letter loop=$letters} + <a class="index-letter" href="{$indexname}.html#{$letters[letter].letter}">{$letters[letter].letter}</a> +{/section} +</div> + +{section name=index loop=$index} + <a name="{$index[index].letter}"></a> + <div class="index-letter-section"> + <div style="float: left" class="index-letter-title">{$index[index].letter}</div> + <div style="float: right"><a href="#top">top</a></div> + <div style="clear: both"></div> + </div> + <dl> + {section name=contents loop=$index[index].index} + <dt class="field"> + {if ($index[index].index[contents].title == "Variable")} + <img src="{$subdir}media/images/{if $index[index].index[contents].access == 'private'}Private{/if}{$index[index].index[contents].title}.png" alt="{$index[index].index[contents].title}" title="{$index[index].index[contents].title}" /> + <span class="var-title">{$index[index].index[contents].name}</span> + {elseif ($index[index].index[contents].title == "Global")} + <img src="{$subdir}media/images/{$index[index].index[contents].title}.png" alt="{$index[index].index[contents].title}" title="{$index[index].index[contents].title}" /> + <span class="var-title">{$index[index].index[contents].name}</span> + {elseif ($index[index].index[contents].title == "Method")} + <img src="{$subdir}media/images/{if $index[index].index[contents].constructor}Constructor{elseif $index[index].index[contents].destructor}Destructor{else}{if $index[index].index[contents].abstract}Abstract{/if}{if $index[index].index[contents].access == 'private'}Private{/if}{$index[index].index[contents].title}{/if}.png" alt="{$index[index].index[contents].title}" title="{$index[index].index[contents].title}" /> + <span class="method-title">{$index[index].index[contents].name}</span> + {elseif ($index[index].index[contents].title == "Function")} + <img src="{$subdir}media/images/{$index[index].index[contents].title}.png" alt="{$index[index].index[contents].title}" title="{$index[index].index[contents].title}" /> + <span class="method-title">{$index[index].index[contents].name}</span> + {elseif ($index[index].index[contents].title == "Constant")} + <img src="{$subdir}media/images/{$index[index].index[contents].title}.png" alt="{$index[index].index[contents].title}" title="{$index[index].index[contents].title}" /> + <span class="const-title">{$index[index].index[contents].name}</span> + {elseif ($index[index].index[contents].title == "Page") || ($index[index].index[contents].title == "Include")} + <img src="{$subdir}media/images/{$index[index].index[contents].title}.png" alt="{$index[index].index[contents].title}" title="{$index[index].index[contents].title}" /> + <span class="include-title">{$index[index].index[contents].name}</span> + {elseif ($index[index].index[contents].title == "Class")} + <img src="{$subdir}media/images/{if $index[index].index[contents].abstract}Abstract{/if}{if $index[index].index[contents].access == 'private'}Private{/if}{$index[index].index[contents].title}.png" alt="{$index[index].index[contents].title}" title="{$index[index].index[contents].title}" /> + {$index[index].index[contents].name} + {else} + <img src="{$subdir}media/images/{$index[index].index[contents].title}.png" alt="{$index[index].index[contents].title}" title="{$index[index].index[contents].title}" /> + {$index[index].index[contents].name} + {/if} + </dt> + <dd class="index-item-body"> + <div class="index-item-details">{$index[index].index[contents].link} in {$index[index].index[contents].file_name}</div> + {if $index[index].index[contents].description} + <div class="index-item-description">{$index[index].index[contents].description}</div> + {/if} + </dd> + {/section} + </dl> +{/section} + +<div class="index-letter-menu"> +{section name=letter loop=$letters} + <a class="index-letter" href="{$indexname}.html#{$letters[letter].letter}">{$letters[letter].letter}</a> +{/section} +</div> diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/earthli/templates/blank.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/earthli/templates/blank.tpl new file mode 100755 index 00000000..6a05f27e --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/earthli/templates/blank.tpl @@ -0,0 +1,13 @@ +<html> +<head> + <title>{$maintitle}</title> + <link rel="stylesheet" href="{$subdir}media/stylesheet.css" /> + <meta http-equiv='Content-Type' content='text/html; charset=iso-8859-1'/> +</head> +<body> +<div align="center"><h1>{$maintitle}</h1></div> +<b>Welcome to {$package}!</b><br /> +<br /> +This documentation was generated by <a href="{$phpdocwebsite}">phpDocumentor v{$phpdocversion}</a><br /> +</body> +</html>
\ No newline at end of file diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/earthli/templates/class.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/earthli/templates/class.tpl new file mode 100755 index 00000000..7a46002e --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/earthli/templates/class.tpl @@ -0,0 +1,437 @@ +{include file="header.tpl" top3=true} + +<h2 class="class-name"><img src="{$subdir}media/images/{if $abstract}{if $access == 'private'}AbstractPrivate{else}Abstract{/if}{else}{if $access == 'private'}Private{/if}{/if}{if $is_interface}Interface{else}Class{/if}_logo.png" + alt="{if $abstract}{if $access == 'private'}AbstractPrivate{else}Abstract{/if}{else}{if $access == 'private'}Private{/if}{/if} Class" + title="{if $abstract}{if $access == 'private'}AbstractPrivate{else}Abstract{/if}{else}{if $access == 'private'}Private{/if}{/if} Class" + style="vertical-align: middle">{if $is_interface}Interface{/if} {$class_name}</h2> + +<a name="sec-description"></a> +<div class="info-box"> + <div class="info-box-title">Description</div> + <div class="nav-bar"> + {if $children || $vars || $ivars || $methods || $imethods || $consts || $iconsts} + <span class="disabled">Description</span> | + {/if} + {if $children} + <a href="#sec-descendents">Descendents</a> + {if $vars || $ivars || $methods || $imethods || $consts || $iconsts}|{/if} + {/if} + {if $vars || $ivars} + {if $vars} + <a href="#sec-var-summary">Vars</a> (<a href="#sec-vars">details</a>) + {else} + <a href="#sec-vars">Vars</a> + {/if} + {if $methods || $imethods}|{/if} + {/if} + {if $methods || $imethods} + {if $methods} + <a href="#sec-method-summary">Methods</a> (<a href="#sec-methods">details</a>) + {else} + <a href="#sec-methods">Methods</a> + {/if} + {/if} + {if $consts || $iconsts} + {if $consts} + <a href="#sec-const-summary">Constants</a> (<a href="#sec-consts">details</a>) + {else} + <a href="#sec-consts">Constants</a> + {/if} + {/if} + </div> + <div class="info-box-body"> + {if $implements} + <p class="implements"> + Implements interfaces: + <ul> + {foreach item="int" from=$implements}<li>{$int}</li>{/foreach} + </ul> + </p> + {/if} + {include file="docblock.tpl" type="class" sdesc=$sdesc desc=$desc} + <p class="notes"> + Located in <a class="field" href="{$page_link}">{$source_location}</a> (line <span class="field">{if $class_slink}{$class_slink}{else}{$line_number}{/if}</span>) + </p> + + {if $tutorial} + <hr class="separator" /> + <div class="notes">Tutorial: <span class="tutorial">{$tutorial}</span></div> + {/if} + + <pre>{section name=tree loop=$class_tree.classes}{$class_tree.classes[tree]}{$class_tree.distance[tree]}{/section}</pre> + + {if $conflicts.conflict_type} + <hr class="separator" /> + <div><span class="warning">Conflicts with classes:</span><br /> + {section name=me loop=$conflicts.conflicts} + {$conflicts.conflicts[me]}<br /> + {/section} + </div> + {/if} + </div> +</div> + +{if $children} + <a name="sec-descendents"></a> + <div class="info-box"> + <div class="info-box-title">Direct descendents</div> + <div class="nav-bar"> + <a href="#sec-description">Description</a> | + <span class="disabled">Descendents</span> + {if $vars || $ivars || $methods || $imethods || $consts || $iconsts}|{/if} + {if $vars || $ivars} + {if $vars} + <a href="#sec-var-summary">Vars</a> (<a href="#sec-vars">details</a>) + {else} + <a href="#sec-vars">Vars</a> + {/if} + {if $methods || $imethods}|{/if} + {/if} + {if $methods || $imethods} + {if $methods} + <a href="#sec-method-summary">Methods</a> (<a href="#sec-methods">details</a>) + {else} + <a href="#sec-methods">Methods</a> + {/if} + {/if} + {if $consts || $iconsts} + {if $consts} + <a href="#sec-const-summary">Constants</a> (<a href="#sec-consts">details</a>) + {else} + <a href="#sec-consts">Constants</a> + {/if} + {/if} + </div> + <div class="info-box-body"> + <table cellpadding="2" cellspacing="0" class="class-table"> + <tr> + <th class="class-table-header">Class</th> + <th class="class-table-header">Description</th> + </tr> + {section name=kids loop=$children} + <tr> + <td style="padding-right: 2em; white-space: nowrap"> + <img src="{$subdir}media/images/{if $children[kids].abstract}Abstract{/if}{if $children[kids].access == 'private'}Private{/if}Class.png" + alt="{if $children[kids].abstract}Abstract{/if}{if $children[kids].access == 'private'}Private{/if} class" + title="{if $children[kids].abstract}Abstract{/if}{if $children[kids].access == 'private'}Private{/if} class" + style="vertical-align: center"/> + {$children[kids].link} + </td> + <td> + {if $children[kids].sdesc} + {$children[kids].sdesc} + {else} + {$children[kids].desc} + {/if} + </td> + </tr> + {/section} + </table> + </div> + </div> +{/if} + +{if $consts} + <a name="sec-const-summary"></a> + <div class="info-box"> + <div class="info-box-title">Class Constant Summary</span></div> + <div class="nav-bar"> + <a href="#sec-description">Description</a> | + {if $children} + <a href="#sec-descendents">Descendants</a> | + {/if} + <span class="disabled">Constants</span> (<a href="#sec-consts">details</a>) + {if $vars || $ivars} + {if $vars} + <a href="#sec-var-summary">Vars</a> (<a href="#sec-vars">details</a>) + {else} + <a href="#sec-vars">Vars</a> + {/if} + | + {/if} + {if $methods || $imethods} + | + {if $methods} + <a href="#sec-method-summary">Methods</a> (<a href="#sec-methods">details</a>) + {else} + <a href="#sec-methods">Methods</a> + {/if} + {/if} + </div> + <div class="info-box-body"> + <div class="const-summary"> + {section name=consts loop=$consts} + <div class="const-title"> + <img src="{$subdir}media/images/Constant.png" alt=" " /> + <a href="#{$consts[consts].const_name}" title="details" class="const-name">{$consts[consts].const_name}</a> = <span class="var-type">{$consts[consts].const_value}</span> + + </div> + {/section} + </div> + </div> + </div> +{/if} + +{if $vars} + <a name="sec-var-summary"></a> + <div class="info-box"> + <div class="info-box-title">Variable Summary</span></div> + <div class="nav-bar"> + <a href="#sec-description">Description</a> | + {if $children} + <a href="#sec-descendents">Descendants</a> | + {/if} + <span class="disabled">Vars</span> (<a href="#sec-vars">details</a>) + {if $methods || $imethods} + | + {if $methods} + <a href="#sec-method-summary">Methods</a> (<a href="#sec-methods">details</a>) + {else} + <a href="#sec-methods">Methods</a> + {/if} + {/if} + {if $consts || $iconsts} + {if $consts} + <a href="#sec-const-summary">Constants</a> (<a href="#sec-consts">details</a>) + {else} + <a href="#sec-consts">Constants</a> + {/if} + {/if} + </div> + <div class="info-box-body"> + <div class="var-summary"> + {section name=vars loop=$vars} + {if $vars[vars].static} + <div class="var-title"> + <img src="{$subdir}media/images/StaticVariable.png" alt=" " /> + static <span class="var-type">{$vars[vars].var_type}</span> + <a href="#{$vars[vars].var_name}" title="details" class="var-name">{$vars[vars].var_name}</a> + </div> + {/if} + {/section} + {section name=vars loop=$vars} + {if !$vars[vars].static} + <div class="var-title"> + <img src="{$subdir}media/images/{if $vars[vars].access == 'private'}PrivateVariable{else}Variable{/if}.png" alt=" " /> + <span class="var-type">{$vars[vars].var_type}</span> + <a href="#{$vars[vars].var_name}" title="details" class="var-name">{$vars[vars].var_name}</a> + </div> + {/if} + {/section} + </div> + </div> + </div> +{/if} + +{if $methods} + <a name="sec-method-summary"></a> + <div class="info-box"> + <div class="info-box-title">Method Summary</span></div> + <div class="nav-bar"> + <a href="#sec-description">Description</a> | + {if $children} + <a href="#sec-descendents">Descendants</a> | + {/if} + {if $consts || $iconsts} + {if $consts} + <a href="#sec-const-summary">Constants</a> (<a href="#sec-consts">details</a>) + {else} + <a href="#sec-consts">Constants</a> + {/if} + {/if} + {if $vars || $ivars} + {if $vars} + <a href="#sec-var-summary">Vars</a> (<a href="#sec-vars">details</a>) + {else} + <a href="#sec-vars">Vars</a> + {/if} + | + {/if} + <span class="disabled">Methods</span> (<a href="#sec-methods">details</a>) + </div> + <div class="info-box-body"> + <div class="method-summary"> + {section name=methods loop=$methods} + {if $methods[methods].static} + <div class="method-definition"> + <img src="{$subdir}media/images/StaticMethod.png" alt=" "/> + {if $methods[methods].function_return} + static <span class="method-result">{$methods[methods].function_return}</span> + {/if} + <a href="#{$methods[methods].function_name}" title="details" class="method-name">{if $methods[methods].ifunction_call.returnsref}&{/if}{$methods[methods].function_name}</a> + {if count($methods[methods].ifunction_call.params)} + ({section name=params loop=$methods[methods].ifunction_call.params}{if $smarty.section.params.iteration != 1}, {/if}{if $methods[methods].ifunction_call.params[params].hasdefault}[{/if}<span class="var-type">{$methods[methods].ifunction_call.params[params].type}</span> <span class="var-name">{$methods[methods].ifunction_call.params[params].name}</span>{if $methods[methods].ifunction_call.params[params].hasdefault} = <span class="var-default">{$methods[methods].ifunction_call.params[params].default}</span>]{/if}{/section}) + {else} + () + {/if} + </div> + {/if} + {/section} + {section name=methods loop=$methods} + {if !$methods[methods].static} + <div class="method-definition"> + <img src="{$subdir}media/images/{if $methods[methods].ifunction_call.constructor}Constructor{elseif $methods[methods].ifunction_call.destructor}Destructor{elseif $methods[methods].access == 'private'}{if $methods[methods].abstract}Abstract{/if}PrivateMethod{else}{if $methods[methods].abstract}Abstract{/if}Method{/if}.png" alt=" "/> + {if $methods[methods].function_return} + <span class="method-result">{$methods[methods].function_return}</span> + {/if} + <a href="#{$methods[methods].function_name}" title="details" class="method-name">{if $methods[methods].ifunction_call.returnsref}&{/if}{$methods[methods].function_name}</a> + {if count($methods[methods].ifunction_call.params)} + ({section name=params loop=$methods[methods].ifunction_call.params}{if $smarty.section.params.iteration != 1}, {/if}{if $methods[methods].ifunction_call.params[params].hasdefault}[{/if}<span class="var-type">{$methods[methods].ifunction_call.params[params].type}</span> <span class="var-name">{$methods[methods].ifunction_call.params[params].name}</span>{if $methods[methods].ifunction_call.params[params].hasdefault} = <span class="var-default">{$methods[methods].ifunction_call.params[params].default}</span>]{/if}{/section}) + {else} + () + {/if} + </div> + {/if} + {/section} + </div> + </div> + </div> +{/if} + +{if $vars || $ivars} + <a name="sec-vars"></a> + <div class="info-box"> + <div class="info-box-title">Variables</div> + <div class="nav-bar"> + <a href="#sec-description">Description</a> | + {if $children} + <a href="#sec-descendents">Descendents</a> | + {/if} + {if $methods} + <a href="#sec-var-summary">Vars</a> (<span class="disabled">details</span>) + {else} + <span class="disabled">Vars</span> + {/if} + + {if $consts || $iconsts} + {if $consts} + <a href="#sec-const-summary">Constants</a> (<a href="#sec-consts">details</a>) + {else} + <a href="#sec-consts">Constants</a> + {/if} + {/if} + {if $methods || $imethods} + | + {if $methods} + <a href="#sec-method-summary">Methods</a> (<a href="#sec-methods">details</a>) + {else} + <a href="#sec-methods">Methods</a> + {/if} + {/if} + </div> + <div class="info-box-body"> + {include file="var.tpl"} + {if $ivars} + <h4>Inherited Variables</h4> + <A NAME='inherited_vars'><!-- --></A> + {section name=ivars loop=$ivars} + <p>Inherited from <span class="classname">{$ivars[ivars].parent_class}</span></p> + <blockquote> + {section name=ivars2 loop=$ivars[ivars].ivars} + <img src="{$subdir}media/images/{if $ivars[ivars].ivars[ivars2].access == 'private'}PrivateVariable{else}Variable{/if}.png" /> + <span class="var-title"> + <span class="var-name">{$ivars[ivars].ivars[ivars2].link}</span>{if $ivars[ivars].ivars[ivars2].ivar_sdesc}: {$ivars[ivars].ivars[ivars2].ivar_sdesc}{/if}<br> + </span> + {/section} + </blockquote> + {/section} + {/if} + </div> + </div> +{/if} + +{if $methods || $imethods} + <a name="sec-methods"></a> + <div class="info-box"> + <div class="info-box-title">Methods</div> + <div class="nav-bar"> + <a href="#sec-description">Description</a> | + {if $children} + <a href="#sec-descendents">Descendents</a> | + {/if} + {if $vars || $ivars} + {if $vars} + <a href="#sec-var-summary">Vars</a> (<a href="#sec-vars">details</a>) + {else} + <a href="#sec-vars">Vars</a> + {/if} + {/if} + {if $methods} + <a href="#sec-method-summary">Methods</a> (<span class="disabled">details</span>) + {else} + <span class="disabled">Methods</span> + {/if} + </div> + <div class="info-box-body"> + {include file="method.tpl"} + {if $imethods} + <h4>Inherited Methods</h4> + <a name='inherited_methods'><!-- --></a> + {section name=imethods loop=$imethods} + <!-- =========== Summary =========== --> + <p>Inherited From <span class="classname">{$imethods[imethods].parent_class}</span></p> + <blockquote> + {section name=im2 loop=$imethods[imethods].imethods} + <img src="{$subdir}media/images/{if $imethods[imethods].imethods[im2].constructor}Constructor{elseif $imethods[imethods].imethods[im2].destructor}Destructor{elseif $imethods[imethods].imethods[im2].access == 'private'}{if $imethods[imethods].imethods[im2].abstract}Abstract{/if}PrivateMethod{else}{if $imethods[imethods].imethods[im2].abstract}Abstract{/if}Method{/if}.png" alt=" "/> + <span class="method-name">{$imethods[imethods].imethods[im2].link}</span>{if $imethods[imethods].imethods[im2].ifunction_sdesc}: {$imethods[imethods].imethods[im2].ifunction_sdesc}{/if}<br> + {/section} + </blockquote> + {/section} + {/if} + </div> + </div> +{/if} + +{if $consts || $iconsts} + <a name="sec-consts"></a> + <div class="info-box"> + <div class="info-box-title">Class Constants</div> + <div class="nav-bar"> + <a href="#sec-description">Description</a> | + {if $children} + <a href="#sec-descendents">Descendants</a> | + {/if} + {if $methods} + <a href="#sec-var-summary">Constants</a> (<span class="disabled">details</span>) + {else} + <span class="disabled">Constants</span> + {/if} + + {if $vars || $ivars} + {if $vars} + <a href="#sec-var-summary">Vars</a> (<a href="#sec-vars">details</a>) + {else} + <a href="#sec-vars">Vars</a> + {/if} + {/if} + {if $methods || $imethods} + | + {if $methods} + <a href="#sec-method-summary">Methods</a> (<a href="#sec-methods">details</a>) + {else} + <a href="#sec-methods">Methods</a> + {/if} + {/if} + </div> + <div class="info-box-body"> + {include file="const.tpl"} + {if $iconsts} + <h4>Inherited Constants</h4> + <A NAME='inherited_consts'><!-- --></A> + {section name=iconsts loop=$iconsts} + <p>Inherited from <span class="classname">{$iconsts[iconsts].parent_class}</span></p> + <blockquote> + {section name=iconsts2 loop=$iconsts[iconsts].iconsts} + <img src="{$subdir}media/images/{if $iconsts[iconsts].iconsts[iconsts2].access == 'private'}PrivateVariable{else}Variable{/if}.png" /> + <span class="const-title"> + <span class="const-name">{$iconsts[iconsts].iconsts[iconsts2].link}</span>{if $iconsts[iconsts].iconsts[iconsts2].iconst_sdesc}: {$iconsts[iconsts].iconsts[iconsts2].iconst_sdesc}{/if}<br> + </span> + {/section} + </blockquote> + {/section} + {/if} + </div> + </div> +{/if} + +{include file="footer.tpl" top3=true} diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/earthli/templates/classtrees.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/earthli/templates/classtrees.tpl new file mode 100755 index 00000000..952e6d50 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/earthli/templates/classtrees.tpl @@ -0,0 +1,19 @@ +{include file="header.tpl" top1=true} + +<!-- Start of Class Data --> +<H2> + {$smarty.capture.title} +</H2> +{if $interfaces} +{section name=classtrees loop=$interfaces} +<h2>Root interface {$interfaces[classtrees].class}</h2> +{$interfaces[classtrees].class_tree} +{/section} +{/if} +{if $classtrees} +{section name=classtrees loop=$classtrees} +<h2>Root class {$classtrees[classtrees].class}</h2> +{$classtrees[classtrees].class_tree} +{/section} +{/if} +{include file="footer.tpl"}
\ No newline at end of file diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/earthli/templates/const.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/earthli/templates/const.tpl new file mode 100644 index 00000000..c26ff92d --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/earthli/templates/const.tpl @@ -0,0 +1,18 @@ +{section name=consts loop=$consts} +<a name="const{$consts[consts].const_name}" id="{$consts[consts].const_name}"><!-- --></A> +<div class="{cycle values="evenrow,oddrow"}"> + + <div class="const-header"> + <img src="{$subdir}media/images/{if $consts[consts].access == 'private'}PrivateVariable{else}Variable{/if}.png" /> + <span class="const-title"> + <span class="const-name">{$consts[consts].const_name}</span> + = <span class="const-default">{$consts[consts].const_value|replace:"\n":"<br />"}</span> + (line <span class="line-number">{if $consts[consts].slink}{$consts[consts].slink}{else}{$consts[consts].line_number}{/if}</span>) + </span> + </div> + + {include file="docblock.tpl" sdesc=$consts[consts].sdesc desc=$consts[consts].desc tags=$consts[consts].tags} + +</div> +{/section} + diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/earthli/templates/define.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/earthli/templates/define.tpl new file mode 100755 index 00000000..94078960 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/earthli/templates/define.tpl @@ -0,0 +1,25 @@ +{section name=def loop=$defines} +<a name="{$defines[def].define_link}"><!-- --></a> +<div class="{cycle values="evenrow,oddrow"}"> + + <div> + <img src="{$subdir}media/images/Constant.png" /> + <span class="const-title"> + <span class="const-name">{$defines[def].define_name}</span> = {$defines[def].define_value|replace:"\n":"<br />"} + (line <span class="line-number">{if $defines[def].slink}{$defines[def].slink}{else}{$defines[def].line_number}{/if}</span>) + </span> + </div> + + {include file="docblock.tpl" sdesc=$defines[def].sdesc desc=$defines[def].desc tags=$defines[def].tags} + + {if $globals[glob].global_conflicts.conflict_type} + <hr class="separator" /> + <div><span class="warning">Conflicts with constants:</span><br /> + {section name=me loop=$defines[def].define_conflicts.conflicts} + {$defines[def].define_conflicts.conflicts[me]}<br /> + {/section} + </div> + {/if} + +</div> +{/section}
\ No newline at end of file diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/earthli/templates/docblock.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/earthli/templates/docblock.tpl new file mode 100755 index 00000000..783d5271 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/earthli/templates/docblock.tpl @@ -0,0 +1,14 @@ +<!-- ========== Info from phpDoc block ========= --> +{if $sdesc} +<p class="short-description">{$sdesc}</p> +{/if} +{if $desc} +<p class="description">{$desc}</p> +{/if} +{if $tags} + <ul class="tags"> + {section name=tags loop=$tags} + <li><span class="field">{$tags[tags].keyword}:</span> {$tags[tags].data}</li> + {/section} + </ul> +{/if} diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/earthli/templates/elementindex.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/earthli/templates/elementindex.tpl new file mode 100755 index 00000000..d5964f99 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/earthli/templates/elementindex.tpl @@ -0,0 +1,12 @@ +{include file="header.tpl" noleftindex=true} +<a name="top"></a> +<h2>Full index</h2> +<h3>Package indexes</h3> +<ul> +{section name=p loop=$packageindex} + <li><a href="elementindex_{$packageindex[p].title}.html">{$packageindex[p].title}</a></li> +{/section} +</ul> +<br /> +{include file="basicindex.tpl" indexname="elementindex"} +{include file="footer.tpl"} diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/earthli/templates/errors.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/earthli/templates/errors.tpl new file mode 100755 index 00000000..0f526584 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/earthli/templates/errors.tpl @@ -0,0 +1,21 @@ +{include file="header.tpl" noleftindex=true} +{section name=files loop=$files} +<a href="#{$files[files].file}">{$files[files].file}</a><br> +{/section} +{foreach key=file item=issues from=$all} +<a name="{$file}"></a> +<h1>{$file}</h1> +{if count($issues.warnings)} +<h2>Warnings:</h2><br> +{section name=warnings loop=$issues.warnings} +<b>{$issues.warnings[warnings].name}</b> - {$issues.warnings[warnings].listing}<br> +{/section} +{/if} +{if count($issues.errors)} +<h2>Errors:</h2><br> +{section name=errors loop=$issues.errors} +<b>{$issues.errors[errors].name}</b> - {$issues.errors[errors].listing}<br> +{/section} +{/if} +{/foreach} +{include file="footer.tpl"} diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/earthli/templates/examplesource.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/earthli/templates/examplesource.tpl new file mode 100755 index 00000000..8abf74ce --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/earthli/templates/examplesource.tpl @@ -0,0 +1,6 @@ +{include file="header.tpl" title=$title} +<h1>{$title}</h1> +<div class="listing"> +{$source} +</div> +{include file="footer.tpl"}
\ No newline at end of file diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/earthli/templates/filesource.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/earthli/templates/filesource.tpl new file mode 100755 index 00000000..239f7b41 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/earthli/templates/filesource.tpl @@ -0,0 +1,8 @@ +{capture name="tutle"}File Source for {$name}{/capture} +{include file="header.tpl" title=$smarty.capture.tutle} +<h1>Source for file {$name}</h1> +<p>Documentation is available at {$docs}</p> +<div class="src-code"> +{$source} +</div> +{include file="footer.tpl"}
\ No newline at end of file diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/earthli/templates/footer.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/earthli/templates/footer.tpl new file mode 100755 index 00000000..8d0f79db --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/earthli/templates/footer.tpl @@ -0,0 +1,8 @@ +{if !$index} + <p class="notes" id="credit"> + Documentation generated on {$date} by <a href="{$phpdocwebsite}" target="_blank">phpDocumentor {$phpdocversion}</a> + </p> +{/if} + {if $top3}</div>{/if} +</body> +</html> diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/earthli/templates/function.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/earthli/templates/function.tpl new file mode 100755 index 00000000..e62a98ae --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/earthli/templates/function.tpl @@ -0,0 +1,44 @@ +{section name=func loop=$functions} +<a name="{$functions[func].function_dest}" id="{$functions[func].function_dest}"><!-- --></a> +<div class="{cycle values="evenrow,oddrow"}"> + + <div> + <img src="{$subdir}media/images/Function.png" /> + <span class="method-title">{$functions[func].function_name}</span> (line <span class="line-number">{if $functions[func].slink}{$functions[func].slink}{else}{$functions[func].line_number}{/if}</span>) + </div> + + {include file="docblock.tpl" sdesc=$functions[func].sdesc desc=$functions[func].desc tags=$functions[func].tags params=$functions[func].params function=false} + <div class="method-signature"> + <span class="method-result">{$functions[func].function_return}</span> + <span class="method-name"> + {if $functions[func].ifunction_call.returnsref}&{/if}{$functions[func].function_name} + </span> + {if count($functions[func].ifunction_call.params)} + ({section name=params loop=$functions[func].ifunction_call.params}{if $smarty.section.params.iteration != 1}, {/if}{if $functions[func].ifunction_call.params[params].hasdefault}[{/if}<span class="var-type">{$functions[func].ifunction_call.params[params].type}</span> <span class="var-name">{$functions[func].ifunction_call.params[params].name}</span>{if $functions[func].ifunction_call.params[params].hasdefault} = <span class="var-default">{$functions[func].ifunction_call.params[params].default|escape:"html"}</span>]{/if}{/section}) + {else} + () + {/if} + </div> + + {if $functions[func].params} + <ul class="parameters"> + {section name=params loop=$functions[func].params} + <li> + <span class="var-type">{$functions[func].params[params].datatype}</span> + <span class="var-name">{$functions[func].params[params].var}</span>{if $functions[func].params[params].data}<span class="var-description">: {$functions[func].params[params].data}</span>{/if} + </li> + {/section} + </ul> + {/if} + + {if $functions[func].function_conflicts.conflict_type} + <hr class="separator" /> + <div><span class="warning">Conflicts with functions:</span><br /> + {section name=me loop=$functions[func].function_conflicts.conflicts} + {$functions[func].function_conflicts.conflicts[me]}<br /> + {/section} + </div> + {/if} + +</div> +{/section} diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/earthli/templates/global.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/earthli/templates/global.tpl new file mode 100755 index 00000000..d37bda37 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/earthli/templates/global.tpl @@ -0,0 +1,27 @@ +{section name=glob loop=$globals} +<a name="{$globals[glob].global_link}" id="{$globals[glob].global_link}"><!-- --></a> +<div class="{cycle values="evenrow,oddrow"}"> + + <div> + <img src="{$subdir}media/images/Global.png" /> + <span class="var-title"> + <span class="var-type">{$globals[glob].global_type}</span> + <span class="var-name">{$globals[glob].global_name}</span> + {if $vars[vars].var_default} = <span class="var-default">{$globals[glob].global_value|replace:"\n":"<br />"}</span>{/if} + (line <span class="line-number">{if $globals[glob].slink}{$globals[glob].slink}{else}{$globals[glob].line_number}{/if}</span>) + </span> + </div> + + {include file="docblock.tpl" sdesc=$globals[glob].sdesc desc=$globals[glob].desc tags=$globals[glob].tags} + + {if $globals[glob].global_conflicts.conflict_type} + <hr class="separator" /> + <div><span class="warning">Conflicts with global variables:</span><br /> + {section name=me loop=$globals[glob].global_conflicts.conflicts} + {$globals[glob].global_conflicts.conflicts[me]}<br /> + {/section} + </div> + {/if} + +</div> +{/section}
\ No newline at end of file diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/earthli/templates/header.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/earthli/templates/header.tpl new file mode 100755 index 00000000..c22ba37d --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/earthli/templates/header.tpl @@ -0,0 +1,12 @@ +<?xml version="1.0" encoding="iso-8859-1"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> + <html xmlns="http://www.w3.org/1999/xhtml"> + <head> + <!-- template designed by Marco Von Ballmoos --> + <title>{$title}</title> + <link rel="stylesheet" href="{$subdir}media/stylesheet.css" /> + <meta http-equiv='Content-Type' content='text/html; charset=iso-8859-1'/> + </head> + <body> + {if $top3}<div class="page-body">{/if} + diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/earthli/templates/include.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/earthli/templates/include.tpl new file mode 100755 index 00000000..f264afd3 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/earthli/templates/include.tpl @@ -0,0 +1,17 @@ +{section name=includes loop=$includes} +<a name="{$includes[includes].include_file}"><!-- --></a> +<div class="{cycle values="evenrow,oddrow"}"> + + <div> + <img src="{$subdir}media/images/Page.png" alt=" " /> + <span class="include-title"> + <span class="include-type">{$includes[includes].include_name}</span> + (<span class="include-name">{$includes[includes].include_value}</span>) + (line <span class="line-number">{if $includes[includes].slink}{$includes[includes].slink}{else}{$includes[includes].line_number}{/if}</span>) + </span> + </div> + + {include file="docblock.tpl" sdesc=$includes[includes].sdesc desc=$includes[includes].desc tags=$includes[includes].tags} + +</div> +{/section}
\ No newline at end of file diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/earthli/templates/index.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/earthli/templates/index.tpl new file mode 100755 index 00000000..7cd61094 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/earthli/templates/index.tpl @@ -0,0 +1,24 @@ +<?xml version="1.0" encoding="iso-8859-1"?> +<!DOCTYPE html + PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//FR" + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd"> + <html xmlns="http://www.w3.org/1999/xhtml"> +<head> + <!-- Generated by phpDocumentor on {$date} --> + <title>{$title}</title> + <meta http-equiv='Content-Type' content='text/html; charset=iso-8859-1'/> +</head> + +<FRAMESET rows='120,*'> + <FRAME src='packages.html' name='left_top' frameborder="1" bordercolor="#999999"> + <FRAMESET cols='25%,*'> + <FRAME src='{$start}' name='left_bottom' frameborder="1" bordercolor="#999999"> + <FRAME src='{$blank}.html' name='right' frameborder="1" bordercolor="#999999"> + </FRAMESET> + <NOFRAMES> + <H2>Frame Alert</H2> + <P>This document is designed to be viewed using the frames feature. + If you see this message, you are using a non-frame-capable web client.</P> + </NOFRAMES> +</FRAMESET> +</HTML> diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/earthli/templates/left_frame.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/earthli/templates/left_frame.tpl new file mode 100755 index 00000000..fe79e521 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/earthli/templates/left_frame.tpl @@ -0,0 +1,159 @@ +{include file="header.tpl" top2=true} +<div class="package-title">{$package}</div> +<div class="package-details"> + + <dl class="tree"> + + <dt class="folder-title">Description</dt> + <dd> + <a href='{$classtreepage}.html' target='right'>Class trees</a><br /> + <a href='{$elementindex}.html' target='right'>Index of elements</a><br /> + {if $hastodos} + <a href="{$todolink}" target="right">Todo List</a><br /> + {/if} + </dd> + + {section name=p loop=$info} + + {if $info[p].subpackage == ""} + + {if $info[p].tutorials} + <dt class="folder-title"><img class="tree-icon" src="{$subdir}media/images/tutorial_folder.png" alt=" ">Tutorials/Manuals</dt> + <dd> + {if $info[p].tutorials.pkg} + <dl class="tree"> + <dt class="folder-title"><img class="tree-icon" src="{$subdir}media/images/package_folder.png" alt=" ">Package-level</dt> + <dd> + {section name=ext loop=$info[p].tutorials.pkg} + {$info[p].tutorials.pkg[ext]} + {/section} + </dd> + </dl> + {/if} + + {if $info[p].tutorials.cls} + <dl class="tree"> + <dt class="folder-title"><img class="tree-icon" src="{$subdir}media/images/class_folder.png" alt=" ">Class-level</dt> + <dd> + {section name=ext loop=$info[p].tutorials.cls} + {$info[p].tutorials.cls[ext]} + {/section} + </dd> + </dl> + {/if} + + {if $info[p].tutorials.proc} + <dl class="tree"> + <dt class="folder-title"><img class="tree-icon" src="{$subdir}media/images/function_folder.png" alt=" ">Function-level</dt> + <dd> + {section name=ext loop=$info[p].tutorials.proc} + {$info[p].tutorials.proc[ext]} + {/section} + </dd> + </dl> + {/if} + </dd> + {/if} + {if $info[p].hasinterfaces} + <dt class="folder-title"><img class="tree-icon" src="{$subdir}media/images/class_folder.png" alt=" ">Interfaces</dt> + {section name=class loop=$info[p].classes} + {if $info[p].classes[class].is_interface} + <dd><img class="tree-icon" src="{$subdir}media/images/Interface.png" alt="Interface"><a href='{$info[p].classes[class].link}' target='right'>{$info[p].classes[class].title}</a></dd> + {/if} + {/section} + {/if} + {if $info[p].hasclasses} + <dt class="folder-title"><img class="tree-icon" src="{$subdir}media/images/class_folder.png" alt=" ">Classes</dt> + {section name=class loop=$info[p].classes} + {if $info[p].classes[class].is_class} + <dd><img class="tree-icon" src="{$subdir}media/images/{if $info[p].classes[class].abstract}Abstract{/if}{if $info[p].classes[class].access == 'private'}Private{/if}Class.png" alt="Class"><a href='{$info[p].classes[class].link}' target='right'>{$info[p].classes[class].title}</a></dd> + {/if} + {/section} + {/if} + {if $info[p].functions} + <dt class="folder-title"><img class="tree-icon" src="{$subdir}media/images/function_folder.png" alt=" ">Functions</dt> + {section name=f loop=$info[p].functions} + <dd><img class="tree-icon" src="{$subdir}media/images/Function.png" alt="Function"><a href='{$info[p].functions[f].link}' target='right'>{$info[p].functions[f].title}</a></dd> + {/section} + {/if} + {if $info[p].files} + <dt class="folder-title"><img class="tree-icon" src="{$subdir}media/images/folder.png" alt=" ">Files</dt> + {section name=nonclass loop=$info[p].files} + <dd><img class="tree-icon" src="{$subdir}media/images/Page.png" alt="File"><a href='{$info[p].files[nonclass].link}' target='right'>{$info[p].files[nonclass].title}</a></dd> + {/section} + {/if} + + {else} + {if $info[p].tutorials} + <dt class="folder-title"><img class="tree-icon" src="{$subdir}media/images/tutorial_folder.png" alt=" ">Tutorials/Manuals</dt> + <dd> + {if $info[p].tutorials.pkg} + <dl class="tree"> + <dt class="folder-title"><img class="tree-icon" src="{$subdir}media/images/package_folder.png" alt=" ">Package-level</dt> + <dd> + {section name=ext loop=$info[p].tutorials.pkg} + {$info[p].tutorials.pkg[ext]} + {/section} + </dd> + </dl> + {/if} + + {if $info[p].tutorials.cls} + <dl class="tree"> + <dt class="folder-title"><img class="tree-icon" src="{$subdir}media/images/class_folder.png" alt=" ">Class-level</dt> + <dd> + {section name=ext loop=$info[p].tutorials.cls} + {$info[p].tutorials.cls[ext]} + {/section} + </dd> + </dl> + {/if} + + {if $info[p].tutorials.proc} + <dl class="tree"> + <dt class="folder-title"><img class="tree-icon" src="{$subdir}media/images/function_folder.png" alt=" ">Function-level</dt> + <dd> + {section name=ext loop=$info[p].tutorials.proc} + {$info[p].tutorials.proc[ext]} + {/section} + </dd> + </dl> + {/if} + </dd> + {/if} + + <dt class="sub-package"><img class="tree-icon" src="{$subdir}media/images/package.png" alt="Sub-package">{$info[p].subpackage}</dt> + <dd> + <dl class="tree"> + {if $info[p].subpackagetutorial} + <div><img class="tree-icon" src="{$subdir}media/images/tutorial.png" alt="Tutorial"><a href="{$info.0.subpackagetutorialnoa}" target="right">{$info.0.subpackagetutorialtitle}</a></div> + {/if} + {if $info[p].classes} + <dt class="folder-title"><img class="tree-icon" src="{$subdir}media/images/class_folder.png" alt=" ">Classes</dt> + {section name=class loop=$info[p].classes} + <dd><img class="tree-icon" src="{$subdir}media/images/{if $info[p].classes[class].abstract}Abstract{/if}{if $info[p].classes[class].access == 'private'}Private{/if}Class.png" alt="Class"><a href='{$info[p].classes[class].link}' target='right'>{$info[p].classes[class].title}</a></dd> + {/section} + {/if} + {if $info[p].functions} + <dt class="folder-title"><img class="tree-icon" src="{$subdir}media/images/function_folder.png" alt=" ">Functions</dt> + {section name=f loop=$info[p].functions} + <dd><img class="tree-icon" src="{$subdir}media/images/Function.png" alt="Function"><a href='{$info[p].functions[f].link}' target='right'>{$info[p].functions[f].title}</a></dd> + {/section} + {/if} + {if $info[p].files} + <dt class="folder-title"><img class="tree-icon" src="{$subdir}media/images/folder.png" alt=" ">Files</dt> + {section name=nonclass loop=$info[p].files} + <dd><img class="tree-icon" src="{$subdir}media/images/Page.png" alt="File"><a href='{$info[p].files[nonclass].link}' target='right'>{$info[p].files[nonclass].title}</a></dd> + {/section} + {/if} + </dl> + </dd> + + {/if} + + {/section} + </dl> +</div> +<p class="notes"><a href="{$phpdocwebsite}" target="_blank">phpDocumentor v <span class="field">{$phpdocversion}</span></a></p> +</BODY> +</HTML> diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/earthli/templates/media/banner.css b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/earthli/templates/media/banner.css new file mode 100755 index 00000000..032b037f --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/earthli/templates/media/banner.css @@ -0,0 +1,33 @@ +body +{ + background-color: #EEEEEE; + margin: 0px; + padding: 0px; +} + +/* Banner (top bar) classes */ + +.banner { } + +.banner-menu +{ + text-align: right; + clear: both; + padding: .5em; + border-top: 2px solid #AAAAAA; +} + +.banner-title +{ + text-align: right; + font-size: 20pt; + font-weight: bold; + margin: .2em; +} + +.package-selector +{ + background-color: #DDDDDD; + border: 1px solid #AAAAAA; + color: #000090; +} diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/earthli/templates/media/images/AbstractClass.png b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/earthli/templates/media/images/AbstractClass.png Binary files differnew file mode 100644 index 00000000..afa9d1d9 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/earthli/templates/media/images/AbstractClass.png diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/earthli/templates/media/images/AbstractClass_logo.png b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/earthli/templates/media/images/AbstractClass_logo.png Binary files differnew file mode 100644 index 00000000..8f65c390 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/earthli/templates/media/images/AbstractClass_logo.png diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/earthli/templates/media/images/AbstractMethod.png b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/earthli/templates/media/images/AbstractMethod.png Binary files differnew file mode 100644 index 00000000..605ccbe5 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/earthli/templates/media/images/AbstractMethod.png diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/earthli/templates/media/images/AbstractPrivateClass.png b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/earthli/templates/media/images/AbstractPrivateClass.png Binary files differnew file mode 100644 index 00000000..53d76c63 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/earthli/templates/media/images/AbstractPrivateClass.png diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/earthli/templates/media/images/AbstractPrivateClass_logo.png b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/earthli/templates/media/images/AbstractPrivateClass_logo.png Binary files differnew file mode 100644 index 00000000..4e68f570 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/earthli/templates/media/images/AbstractPrivateClass_logo.png diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/earthli/templates/media/images/AbstractPrivateMethod.png b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/earthli/templates/media/images/AbstractPrivateMethod.png Binary files differnew file mode 100644 index 00000000..41cc9f02 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/earthli/templates/media/images/AbstractPrivateMethod.png diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/earthli/templates/media/images/Class.png b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/earthli/templates/media/images/Class.png Binary files differnew file mode 100755 index 00000000..cf548d27 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/earthli/templates/media/images/Class.png diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/earthli/templates/media/images/Class_logo.png b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/earthli/templates/media/images/Class_logo.png Binary files differnew file mode 100644 index 00000000..6f223c47 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/earthli/templates/media/images/Class_logo.png diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/earthli/templates/media/images/Constant.png b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/earthli/templates/media/images/Constant.png Binary files differnew file mode 100755 index 00000000..a9c6f28b --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/earthli/templates/media/images/Constant.png diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/earthli/templates/media/images/Constructor.png b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/earthli/templates/media/images/Constructor.png Binary files differnew file mode 100755 index 00000000..3f16222b --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/earthli/templates/media/images/Constructor.png diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/earthli/templates/media/images/Destructor.png b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/earthli/templates/media/images/Destructor.png Binary files differnew file mode 100755 index 00000000..f28528f0 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/earthli/templates/media/images/Destructor.png diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/earthli/templates/media/images/Function.png b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/earthli/templates/media/images/Function.png Binary files differnew file mode 100755 index 00000000..902fe258 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/earthli/templates/media/images/Function.png diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/earthli/templates/media/images/Global.png b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/earthli/templates/media/images/Global.png Binary files differnew file mode 100755 index 00000000..7281bd2a --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/earthli/templates/media/images/Global.png diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/earthli/templates/media/images/I.png b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/earthli/templates/media/images/I.png Binary files differnew file mode 100755 index 00000000..e8512fb9 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/earthli/templates/media/images/I.png diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/earthli/templates/media/images/Index.png b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/earthli/templates/media/images/Index.png Binary files differnew file mode 100755 index 00000000..6558ec39 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/earthli/templates/media/images/Index.png diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/earthli/templates/media/images/Interface.png b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/earthli/templates/media/images/Interface.png Binary files differnew file mode 100644 index 00000000..e6cd51ed --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/earthli/templates/media/images/Interface.png diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/earthli/templates/media/images/Interface_logo.png b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/earthli/templates/media/images/Interface_logo.png Binary files differnew file mode 100644 index 00000000..6f223c47 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/earthli/templates/media/images/Interface_logo.png diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/earthli/templates/media/images/L.png b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/earthli/templates/media/images/L.png Binary files differnew file mode 100755 index 00000000..eb334eda --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/earthli/templates/media/images/L.png diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/earthli/templates/media/images/Lminus.png b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/earthli/templates/media/images/Lminus.png Binary files differnew file mode 100755 index 00000000..f7c43c0a --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/earthli/templates/media/images/Lminus.png diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/earthli/templates/media/images/Lplus.png b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/earthli/templates/media/images/Lplus.png Binary files differnew file mode 100755 index 00000000..848ec2fc --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/earthli/templates/media/images/Lplus.png diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/earthli/templates/media/images/Method.png b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/earthli/templates/media/images/Method.png Binary files differnew file mode 100755 index 00000000..9b215784 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/earthli/templates/media/images/Method.png diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/earthli/templates/media/images/Page.png b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/earthli/templates/media/images/Page.png Binary files differnew file mode 100755 index 00000000..ffe7986e --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/earthli/templates/media/images/Page.png diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/earthli/templates/media/images/Page_logo.png b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/earthli/templates/media/images/Page_logo.png Binary files differnew file mode 100644 index 00000000..44ce0b3c --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/earthli/templates/media/images/Page_logo.png diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/earthli/templates/media/images/PrivateClass.png b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/earthli/templates/media/images/PrivateClass.png Binary files differnew file mode 100755 index 00000000..470e6d56 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/earthli/templates/media/images/PrivateClass.png diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/earthli/templates/media/images/PrivateClass_logo.png b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/earthli/templates/media/images/PrivateClass_logo.png Binary files differnew file mode 100644 index 00000000..590e0064 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/earthli/templates/media/images/PrivateClass_logo.png diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/earthli/templates/media/images/PrivateMethod.png b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/earthli/templates/media/images/PrivateMethod.png Binary files differnew file mode 100755 index 00000000..d01f2b31 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/earthli/templates/media/images/PrivateMethod.png diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/earthli/templates/media/images/PrivateVariable.png b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/earthli/templates/media/images/PrivateVariable.png Binary files differnew file mode 100755 index 00000000..d76b21d4 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/earthli/templates/media/images/PrivateVariable.png diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/earthli/templates/media/images/StaticMethod.png b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/earthli/templates/media/images/StaticMethod.png Binary files differnew file mode 100755 index 00000000..9b215784 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/earthli/templates/media/images/StaticMethod.png diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/earthli/templates/media/images/StaticVariable.png b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/earthli/templates/media/images/StaticVariable.png Binary files differnew file mode 100755 index 00000000..8e820193 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/earthli/templates/media/images/StaticVariable.png diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/earthli/templates/media/images/T.png b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/earthli/templates/media/images/T.png Binary files differnew file mode 100755 index 00000000..30173254 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/earthli/templates/media/images/T.png diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/earthli/templates/media/images/Tminus.png b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/earthli/templates/media/images/Tminus.png Binary files differnew file mode 100755 index 00000000..2260e424 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/earthli/templates/media/images/Tminus.png diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/earthli/templates/media/images/Tplus.png b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/earthli/templates/media/images/Tplus.png Binary files differnew file mode 100755 index 00000000..2c8d8f4f --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/earthli/templates/media/images/Tplus.png diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/earthli/templates/media/images/Variable.png b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/earthli/templates/media/images/Variable.png Binary files differnew file mode 100755 index 00000000..8e820193 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/earthli/templates/media/images/Variable.png diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/earthli/templates/media/images/blank.png b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/earthli/templates/media/images/blank.png Binary files differnew file mode 100755 index 00000000..cee9cd37 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/earthli/templates/media/images/blank.png diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/earthli/templates/media/images/class_folder.png b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/earthli/templates/media/images/class_folder.png Binary files differnew file mode 100755 index 00000000..84e9587a --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/earthli/templates/media/images/class_folder.png diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/earthli/templates/media/images/empty.png b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/earthli/templates/media/images/empty.png Binary files differnew file mode 100644 index 00000000..d5683865 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/earthli/templates/media/images/empty.png diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/earthli/templates/media/images/file.png b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/earthli/templates/media/images/file.png Binary files differnew file mode 100755 index 00000000..0bb2427f --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/earthli/templates/media/images/file.png diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/earthli/templates/media/images/folder.png b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/earthli/templates/media/images/folder.png Binary files differnew file mode 100755 index 00000000..a2d79f8d --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/earthli/templates/media/images/folder.png diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/earthli/templates/media/images/function_folder.png b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/earthli/templates/media/images/function_folder.png Binary files differnew file mode 100755 index 00000000..8b3d6e3b --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/earthli/templates/media/images/function_folder.png diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/earthli/templates/media/images/next_button.png b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/earthli/templates/media/images/next_button.png Binary files differnew file mode 100755 index 00000000..cdbc615d --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/earthli/templates/media/images/next_button.png diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/earthli/templates/media/images/next_button_disabled.png b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/earthli/templates/media/images/next_button_disabled.png Binary files differnew file mode 100755 index 00000000..4a11780f --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/earthli/templates/media/images/next_button_disabled.png diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/earthli/templates/media/images/package.png b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/earthli/templates/media/images/package.png Binary files differnew file mode 100755 index 00000000..b04cf566 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/earthli/templates/media/images/package.png diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/earthli/templates/media/images/package_folder.png b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/earthli/templates/media/images/package_folder.png Binary files differnew file mode 100755 index 00000000..6162bafd --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/earthli/templates/media/images/package_folder.png diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/earthli/templates/media/images/previous_button.png b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/earthli/templates/media/images/previous_button.png Binary files differnew file mode 100755 index 00000000..327fdbc2 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/earthli/templates/media/images/previous_button.png diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/earthli/templates/media/images/previous_button_disabled.png b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/earthli/templates/media/images/previous_button_disabled.png Binary files differnew file mode 100755 index 00000000..c02ff64b --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/earthli/templates/media/images/previous_button_disabled.png diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/earthli/templates/media/images/private_class_logo.png b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/earthli/templates/media/images/private_class_logo.png Binary files differnew file mode 100644 index 00000000..590e0064 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/earthli/templates/media/images/private_class_logo.png diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/earthli/templates/media/images/tutorial.png b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/earthli/templates/media/images/tutorial.png Binary files differnew file mode 100755 index 00000000..bc197375 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/earthli/templates/media/images/tutorial.png diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/earthli/templates/media/images/tutorial_folder.png b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/earthli/templates/media/images/tutorial_folder.png Binary files differnew file mode 100755 index 00000000..2a468b2a --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/earthli/templates/media/images/tutorial_folder.png diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/earthli/templates/media/images/up_button.png b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/earthli/templates/media/images/up_button.png Binary files differnew file mode 100755 index 00000000..ff36c593 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/earthli/templates/media/images/up_button.png diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/earthli/templates/media/stylesheet.css b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/earthli/templates/media/stylesheet.css new file mode 100755 index 00000000..96729b65 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/earthli/templates/media/stylesheet.css @@ -0,0 +1,146 @@ +a { color: #000090; text-decoration: none; } +a:hover, a:active, a:focus { color: highlighttext; background-color: highlight; text-decoration: none; } + +body { background: #FFFFFF; } +body, table { font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 10pt; } + +a img { border: 0px; } + +/* Page layout/boxes */ + +.info-box { } +.info-box-title { margin: 1em 0em 0em 0em; font-weight: normal; font-size: 14pt; color: #999999; border-bottom: 2px solid #999999; } +.info-box-body { border: 1px solid #999999; padding: .5em; } +.nav-bar { font-size: 8pt; white-space: nowrap; text-align: right; padding: .2em; margin: 0em 0em 1em 0em; } + +.oddrow { background-color: #F8F8F8; border: 1px solid #AAAAAA; padding: .5em; margin-bottom: 1em} +.evenrow { border: 1px solid #AAAAAA; padding: .5em; margin-bottom: 1em} + +.page-body { max-width: 800px; margin: auto; } +.tree { white-space: nowrap; font: icon } +.tree dd { margin-left: 19px } +.tree dl { margin: 0px } +.tree-icon { vertical-align: middle; border: 0px; margin-right: 3px } + +/* Index formatting classes */ + +.index-item-body { margin-top: .5em; margin-bottom: .5em} +.index-item-description { margin-top: .25em } +.index-item-details { font-weight: normal; font-style: italic; font-size: 8pt } +.index-letter-section { background-color: #EEEEEE; border: 1px dotted #999999; padding: .5em; margin-bottom: 1em} +.index-letter-title { font-size: 12pt; font-weight: bold } +.index-letter-menu { text-align: center; margin: 1em } +.index-letter { font-size: 12pt } + +/* Docbook classes */ + +.description {} +.short-description { font-weight: bold; color: #666666; } +.tags { padding-left: 0em; margin-left: 3em; color: #666666; list-style-type: square; } +.parameters { padding-left: 0em; margin-left: 3em; color: #014fbe; list-style-type: square; } +.redefinitions { font-size: 8pt; padding-left: 0em; margin-left: 2em; } +.package { font-weight: bold; } +.package-title { font-weight: bold; font-size: 14pt; border-bottom: 1px solid black } +.package-details { font-size: 85%; } +.sub-package { font-weight: bold; } +.tutorial { border-width: thin; border-color: #0066ff; } +.tutorial-nav-box { width: 100%; border: 1px solid #999999; background-color: #F8F8F8; } +.folder-title { font-style: italic; font-family: Verdana, Arial, Helvetica, sans-serif } + +/* Generic formatting */ + +.field { font-weight: bold; } +.detail { font-size: 8pt; } +.notes { font-style: italic; font-size: 8pt; } +.separator { background-color: #999999; height: 2px; } +.warning { color: #FF6600; } +.disabled { font-style: italic; color: #999999; } + +/* Code elements */ + +.line-number { } + +.class-table { width: 100%; } +.class-table-header { border-bottom: 1px dotted #666666; text-align: left} +.class-name { color: #0000AA; font-weight: bold; } + +.method-summary { color: #009000; padding-left: 1em; font-size: 8pt; } +.method-header { } +.method-definition { margin-bottom: .2em } +.method-title { color: #009000; font-weight: bold; } +.method-name { font-weight: bold; } +.method-signature { font-size: 85%; color: #666666; margin: .5em 0em } +.method-result { font-style: italic; } + +.var-summary { padding-left: 1em; font-size: 8pt; } +.var-header { } +.var-title { color: #014fbe; margin-bottom: .3em } +.var-type { font-style: italic; } +.var-name { font-weight: bold; } +.var-default {} +.var-description { font-weight: normal; color: #000000; } + +.include-title { color: #014fbe;} +.include-type { font-style: italic; } +.include-name { font-weight: bold; } + +.const-title { color: #FF6600; } +.const-name { font-weight: bold; } + +/* Syntax highlighting */ + +.src-code { font-family: 'Courier New', Courier, monospace; font-weight: normal; } +.src-line { font-family: 'Courier New', Courier, monospace; font-weight: normal; } + +.src-code a:link { padding: 1px; text-decoration: underline; color: #0000DD; } +.src-code a:visited { text-decoration: underline; color: #0000DD; } +.src-code a:active { background-color: #FFFF66; color: #008000; } +.src-code a:hover { background-color: #FFFF66; text-decoration: overline underline; color: #008000; } + +.src-comm { color: #666666; } +.src-id { color: #FF6600; font-style: italic; } +.src-inc { color: #0000AA; font-weight: bold; } +.src-key { color: #0000AA; font-weight: bold; } +.src-num { color: #CC0000; } +.src-str { color: #CC0000; } +.src-sym { } +.src-var { } + +.src-php { font-weight: bold; } + +.src-doc { color: #666666; } +.src-doc-close-template { color: #666666 } +.src-doc-coretag { color: #008000; } +.src-doc-inlinetag {} +.src-doc-internal {} +.src-doc-tag { color: #0080CC; } +.src-doc-template { color: #666666 } +.src-doc-type { font-style: italic; color: #444444 } +.src-doc-var { color: #444444 } + +.tute-tag { color: #009999 } +.tute-attribute-name { color: #0000FF } +.tute-attribute-value { color: #0099FF } +.tute-entity { font-weight: bold; } +.tute-comment { font-style: italic } +.tute-inline-tag { color: #636311; font-weight: bold } + +/* tutorial */ + +.authors { } +.author { font-style: italic; font-weight: bold } +.author-blurb { margin: .5em 0em .5em 2em; font-size: 85%; font-weight: normal; font-style: normal } +.example { border: 1px dashed #999999; background-color: #EEEEEE; padding: .5em; } +*[class="example"] { line-height : 1.0em; } +.listing { border: 1px dashed #999999; background-color: #EEEEEE; padding: .5em; white-space: nowrap; } +*[class="listing"] { line-height : 1.0em; } +.release-info { font-size: 85%; font-style: italic; margin: 1em 0em } +.ref-title-box { } +.ref-title { } +.ref-purpose { font-style: italic; color: #666666 } +.ref-synopsis { } +.title { font-weight: bold; border-bottom: 1px solid #999999; color: #999999; } +.cmd-synopsis { margin: 1em 0em } +.cmd-title { font-weight: bold } +.toc { margin-left: 2em; padding-left: 0em } + diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/earthli/templates/method.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/earthli/templates/method.tpl new file mode 100755 index 00000000..413cc5ea --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/earthli/templates/method.tpl @@ -0,0 +1,151 @@ +<A NAME='method_detail'></A> +{section name=methods loop=$methods} +{if $methods[methods].static} +<a name="method{$methods[methods].function_name}" id="{$methods[methods].function_name}"><!-- --></a> +<div class="{cycle values="evenrow,oddrow"}"> + + <div class="method-header"> + <img src="{$subdir}media/images/StaticMethod.png" /> + <span class="method-title">static {$methods[methods].function_name}</span> (line <span class="line-number">{if $methods[methods].slink}{$methods[methods].slink}{else}{$methods[methods].line_number}{/if}</span>) + </div> + + {include file="docblock.tpl" sdesc=$methods[methods].sdesc desc=$methods[methods].desc tags=$methods[methods].tags params=$methods[methods].params function=false} + + <div class="method-signature"> + <span class="method-result">{$methods[methods].function_return}</span> + <span class="method-name"> + {if $methods[methods].ifunction_call.returnsref}&{/if}{$methods[methods].function_name} + </span> + {if count($methods[methods].ifunction_call.params)} + ({section name=params loop=$methods[methods].ifunction_call.params}{if $smarty.section.params.iteration != 1}, {/if}{if $methods[methods].ifunction_call.params[params].hasdefault}[{/if}<span class="var-type">{$methods[methods].ifunction_call.params[params].type}</span> <span class="var-name">{$methods[methods].ifunction_call.params[params].name}</span>{if $methods[methods].ifunction_call.params[params].hasdefault} = <span class="var-default">{$methods[methods].ifunction_call.params[params].default}</span>]{/if}{/section}) + {else} + () + {/if} + </div> + + {if $methods[methods].params} + <ul class="parameters"> + {section name=params loop=$methods[methods].params} + <li> + <span class="var-type">{$methods[methods].params[params].datatype}</span> + <span class="var-name">{$methods[methods].params[params].var}</span>{if $methods[methods].params[params].data}<span class="var-description">: {$methods[methods].params[params].data}</span>{/if} + </li> + {/section} + </ul> + {/if} + + {if $methods[methods].method_overrides} + <hr class="separator" /> + <div class="notes">Redefinition of:</div> + <dl> + <dt>{$methods[methods].method_overrides.link}</dt> + {if $methods[methods].method_overrides.sdesc} + <dd>{$methods[methods].method_overrides.sdesc}</dd> + {/if} + </dl> + {/if} + {if $methods[methods].method_implements} + <hr class="separator" /> + <div class="notes">Implementation of:</div> + {section name=imp loop=$methods[methods].method_implements} + <dl> + <dt>{$methods[methods].method_implements[imp].link}</dt> + {if $methods[methods].method_implements[imp].sdesc} + <dd>{$methods[methods].method_implements[imp].sdesc}</dd> + {/if} + </dl> + {/section} + {/if} + + {if $methods[methods].descmethod} + <hr class="separator" /> + <div class="notes">Redefined in descendants as:</div> + <ul class="redefinitions"> + {section name=dm loop=$methods[methods].descmethod} + <li> + {$methods[methods].descmethod[dm].link} + {if $methods[methods].descmethod[dm].sdesc} + : {$methods[methods].descmethod[dm].sdesc} + {/if} + </li> + {/section} + </ul> + {/if} +</div> +{/if} +{/section} +{section name=methods loop=$methods} +{if !$methods[methods].static} +<a name="method{$methods[methods].function_name}" id="{$methods[methods].function_name}"><!-- --></a> +<div class="{cycle values="evenrow,oddrow"}"> + + <div class="method-header"> + <img src="{$subdir}media/images/{if $methods[methods].ifunction_call.constructor}Constructor{elseif $methods[methods].ifunction_call.destructor}Destructor{else}{if $methods[methods].abstract}Abstract{/if}{if $methods[methods].access == 'private'}Private{/if}Method{/if}.png" /> + <span class="method-title">{if $methods[methods].ifunction_call.constructor}Constructor {elseif $methods[methods].ifunction_call.destructor}Destructor {/if}{$methods[methods].function_name}</span> (line <span class="line-number">{if $methods[methods].slink}{$methods[methods].slink}{else}{$methods[methods].line_number}{/if}</span>) + </div> + + {include file="docblock.tpl" sdesc=$methods[methods].sdesc desc=$methods[methods].desc tags=$methods[methods].tags params=$methods[methods].params function=false} + + <div class="method-signature"> + <span class="method-result">{$methods[methods].function_return}</span> + <span class="method-name"> + {if $methods[methods].ifunction_call.returnsref}&{/if}{$methods[methods].function_name} + </span> + {if count($methods[methods].ifunction_call.params)} + ({section name=params loop=$methods[methods].ifunction_call.params}{if $smarty.section.params.iteration != 1}, {/if}{if $methods[methods].ifunction_call.params[params].hasdefault}[{/if}<span class="var-type">{$methods[methods].ifunction_call.params[params].type}</span> <span class="var-name">{$methods[methods].ifunction_call.params[params].name}</span>{if $methods[methods].ifunction_call.params[params].hasdefault} = <span class="var-default">{$methods[methods].ifunction_call.params[params].default}</span>]{/if}{/section}) + {else} + () + {/if} + </div> + + {if $methods[methods].params} + <ul class="parameters"> + {section name=params loop=$methods[methods].params} + <li> + <span class="var-type">{$methods[methods].params[params].datatype}</span> + <span class="var-name">{$methods[methods].params[params].var}</span>{if $methods[methods].params[params].data}<span class="var-description">: {$methods[methods].params[params].data}</span>{/if} + </li> + {/section} + </ul> + {/if} + + {if $methods[methods].method_overrides} + <hr class="separator" /> + <div class="notes">Redefinition of:</div> + <dl> + <dt>{$methods[methods].method_overrides.link}</dt> + {if $methods[methods].method_overrides.sdesc} + <dd>{$methods[methods].method_overrides.sdesc}</dd> + {/if} + </dl> + {/if} + {if $methods[methods].method_implements} + <hr class="separator" /> + <div class="notes">Implementation of:</div> + {section name=imp loop=$methods[methods].method_implements} + <dl> + <dt>{$methods[methods].method_implements[imp].link}</dt> + {if $methods[methods].method_implements[imp].sdesc} + <dd>{$methods[methods].method_implements[imp].sdesc}</dd> + {/if} + </dl> + {/section} + {/if} + + {if $methods[methods].descmethod} + <hr class="separator" /> + <div class="notes">Redefined in descendants as:</div> + <ul class="redefinitions"> + {section name=dm loop=$methods[methods].descmethod} + <li> + {$methods[methods].descmethod[dm].link} + {if $methods[methods].descmethod[dm].sdesc} + : {$methods[methods].descmethod[dm].sdesc} + {/if} + </li> + {/section} + </ul> + {/if} +</div> +{/if} +{/section} diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/earthli/templates/page.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/earthli/templates/page.tpl new file mode 100755 index 00000000..2cffc22d --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/earthli/templates/page.tpl @@ -0,0 +1,214 @@ +{include file="header.tpl" top3=true} + +<h2 class="file-name"><img src="{$subdir}media/images/Page_logo.png" alt="File" style="vertical-align: middle">{$source_location}</h2> + +<a name="sec-description"></a> +<div class="info-box"> + <div class="info-box-title">Description</div> + <div class="nav-bar"> + {if $classes || $includes || $defines || $globals || $functions} + <span class="disabled">Description</span> | + {/if} + {if $classes} + <a href="#sec-classes">Classes</a> + {if $includes || $defines || $globals || $functions}|{/if} + {/if} + {if $includes} + <a href="#sec-includes">Includes</a> + {if $defines || $globals || $functions}|{/if} + {/if} + {if $defines} + <a href="#sec-constants">Constants</a> + {if $globals || $functions}|{/if} + {/if} + {if $globals} + <a href="#sec-variables">Variables</a> + {if $functions}|{/if} + {/if} + {if $functions} + <a href="#sec-functions">Functions</a> + {/if} + </div> + <div class="info-box-body"> + {include file="docblock.tpl" desc=$desc sdesc=$sdesc tags=$tags} + + {if $tutorial} + <hr class="separator" /> + <div class="notes">Tutorial: <span class="tutorial">{$tutorial}</div> + {/if} + </div> +</div> + +{if $classes} + <a name="sec-classes"></a> + <div class="info-box"> + <div class="info-box-title">Classes</div> + <div class="nav-bar"> + <a href="#sec-description">Description</a> | + <span class="disabled">Classes</span> + {if $includes || $defines || $globals || $functions}|{/if} + {if $includes} + <a href="#sec-includes">Includes</a> + {if $defines || $globals || $functions}|{/if} + {/if} + {if $defines} + <a href="#sec-constants">Constants</a> + {if $globals || $functions}|{/if} + {/if} + {if $globals} + <a href="#sec-variables">Variables</a> + {if $functions}|{/if} + {/if} + {if $functions} + <a href="#sec-functions">Functions</a> + {/if} + </div> + <div class="info-box-body"> + <table cellpadding="2" cellspacing="0" class="class-table"> + <tr> + <th class="class-table-header">Class</th> + <th class="class-table-header">Description</th> + </tr> + {section name=classes loop=$classes} + <tr> + <td style="padding-right: 2em; vertical-align: top; white-space: nowrap"> + <img src="{$subdir}media/images/{if $classes[classes].abstract}Abstract{/if}{if $classes[classes].access == 'private'}Private{/if}Class.png" + alt="{if $classes[classes].abstract}Abstract{/if}{if $classes[classes].access == 'private'}Private{/if} class" + title="{if $classes[classes].abstract}Abstract{/if}{if $classes[classes].access == 'private'}Private{/if} class"/> + {$classes[classes].link} + </td> + <td> + {if $classes[classes].sdesc} + {$classes[classes].sdesc} + {else} + {$classes[classes].desc} + {/if} + </td> + </tr> + {/section} + </table> + </div> + </div> +{/if} + +{if $includes} + <a name="sec-includes"></a> + <div class="info-box"> + <div class="info-box-title">Includes</div> + <div class="nav-bar"> + <a href="#sec-description">Description</a> | + {if $classes} + <a href="#sec-classes">Classes</a> + {if $includes || $defines || $globals || $functions}|{/if} + {/if} + <span class="disabled">Includes</span> + {if $defines || $globals || $functions}|{/if} + {if $defines} + <a href="#sec-constants">Constants</a> + {if $globals || $functions}|{/if} + {/if} + {if $globals} + <a href="#sec-variables">Variables</a> + {if $functions}|{/if} + {/if} + {if $functions} + <a href="#sec-functions">Functions</a> + {/if} + </div> + <div class="info-box-body"> + {include file="include.tpl"} + </div> + </div> +{/if} + +{if $defines} + <a name="sec-constants"></a> + <div class="info-box"> + <div class="info-box-title">Constants</div> + <div class="nav-bar"> + <a href="#sec-description">Description</a> | + {if $classes} + <a href="#sec-classes">Classes</a> + {if $includes || $defines || $globals || $functions}|{/if} + {/if} + {if $includes} + <a href="#sec-includes">Includes</a> + {if $defines || $globals || $functions}|{/if} + {/if} + <span class="disabled">Constants</span> + {if $globals || $functions}|{/if} + {if $globals} + <a href="#sec-variables">Variables</a> + {if $functions}|{/if} + {/if} + {if $functions} + <a href="#sec-functions">Functions</a> + {/if} + </div> + <div class="info-box-body"> + {include file="define.tpl"} + </div> + </div> +{/if} + +{if $globals} + <a name="sec-variables"></a> + <div class="info-box"> + <div class="info-box-title">Variables</div> + <div class="nav-bar"> + <a href="#sec-description">Description</a> | + {if $classes} + <a href="#sec-classes">Classes</a> + {if $includes || $defines || $globals || $functions}|{/if} + {/if} + {if $includes} + <a href="#sec-includes">Includes</a> + {if $defines || $globals || $functions}|{/if} + {/if} + {if $defines} + <a href="#sec-constants">Constants</a> + {if $globals || $functions}|{/if} + {/if} + <span class="disabled">Variables</span> + {if $functions}|{/if} + {if $functions} + <a href="#sec-functions">Functions</a> + {/if} + </div> + <div class="info-box-body"> + {include file="global.tpl"} + </div> + </div> +{/if} + +{if $functions} + <a name="sec-functions"></a> + <div class="info-box"> + <div class="info-box-title">Functions</div> + <div class="nav-bar"> + <a href="#sec-description">Description</a> | + {if $classes} + <a href="#sec-classes">Classes</a> + {if $includes || $defines || $globals || $functions}|{/if} + {/if} + {if $includes} + <a href="#sec-includes">Includes</a> + {if $defines || $globals || $functions}|{/if} + {/if} + {if $defines} + <a href="#sec-constants">Constants</a> + {if $globals || $functions}|{/if} + {/if} + {if $globals} + <a href="#sec-variables">Variables</a> + {if $functions}|{/if} + {/if} + <span class="disabled">Functions</span> + </div> + <div class="info-box-body"> + {include file="function.tpl"} + </div> + </div> +{/if} + +{include file="footer.tpl" top3=true} diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/earthli/templates/pkgelementindex.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/earthli/templates/pkgelementindex.tpl new file mode 100755 index 00000000..dc283ad0 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/earthli/templates/pkgelementindex.tpl @@ -0,0 +1,17 @@ +{include file="header.tpl"} +<a name="top"></a> +<h2>[{$package}] element index</h2> +{if count($packageindex) > 1} + <h3>Package indexes</h3> + <ul> + {section name=p loop=$packageindex} + {if $packageindex[p].title != $package} + <li><a href="elementindex_{$packageindex[p].title}.html">{$packageindex[p].title}</a></li> + {/if} + {/section} + </ul> +{/if} +<a href="elementindex.html">All elements</a> +<br /> +{include file="basicindex.tpl" indexname=elementindex_$package} +{include file="footer.tpl"} diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/earthli/templates/ric.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/earthli/templates/ric.tpl new file mode 100755 index 00000000..ad792475 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/earthli/templates/ric.tpl @@ -0,0 +1,6 @@ +{include file="header.tpl"} +<div align="center"><h1>{$name}</h1></div> +<pre> +{$contents|htmlentities} +</pre> +{include file="footer.tpl"}
\ No newline at end of file diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/earthli/templates/todolist.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/earthli/templates/todolist.tpl new file mode 100755 index 00000000..f929ccdb --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/earthli/templates/todolist.tpl @@ -0,0 +1,14 @@ +{include file="header.tpl" title="Todo List"} +<div align="center"><h1>Todo List</h1></div> +{foreach from=$todos key=todopackage item=todo} +<h2>{$todopackage}</h2> +{section name=todo loop=$todo} +<h3>{$todo[todo].link}</h3> +<ul> +{section name=t loop=$todo[todo].todos} + <li>{$todo[todo].todos[t]}</li> +{/section} +</ul> +{/section} +{/foreach} +{include file="footer.tpl"}
\ No newline at end of file diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/earthli/templates/top_frame.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/earthli/templates/top_frame.tpl new file mode 100755 index 00000000..69beb10c --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/earthli/templates/top_frame.tpl @@ -0,0 +1,45 @@ +<?xml version="1.0" encoding="iso-8859-1"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> + <html xmlns="http://www.w3.org/1999/xhtml"> + <head> + <!-- template designed by Marco Von Ballmoos --> + <title>{$title}</title> + <link rel="stylesheet" href="{$subdir}media/stylesheet.css" /> + <link rel="stylesheet" href="{$subdir}media/banner.css" /> + <meta http-equiv='Content-Type' content='text/html; charset=iso-8859-1'/> + </head> + <body> + <div class="banner"> + <div class="banner-title">{$package}</div> + <div class="banner-menu"> + <form> + <table cellpadding="0" cellspacing="0" style="width: 100%"> + <tr> + <td> + {if count($ric) >= 1} + {assign var="last_ric_name" value=""} + {section name=ric loop=$ric} + {if $last_ric_name != ""} | {/if} + <a href="{$ric[ric].file}" target="right">{$ric[ric].name}</a> + {assign var="last_ric_name" value=$ric[ric].name} + {/section} + {/if} + </td> + <td style="width: 2em"> </td> + <td style="text-align: right"> + {if count($packages) > 1} + <span class="field">Packages</span> + <select class="package-selector" onchange="window.parent.left_bottom.location=this[selectedIndex].value"> + {section name=p loop=$packages} + <option value="{$packages[p].link}">{$packages[p].title}</option> + {/section} + </select> + {/if} + </td> + </tr> + </table> + </form> + </div> + </div> + </body> + </html>
\ No newline at end of file diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/earthli/templates/tutorial.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/earthli/templates/tutorial.tpl new file mode 100755 index 00000000..3b9109d1 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/earthli/templates/tutorial.tpl @@ -0,0 +1,13 @@ +{include file="header.tpl" title=$title top3=true} + +{if $nav} + {include file="tutorial_nav.tpl" prev=$prev next=$next up=$up prevtitle=$prevtitle nexttitle=$nexttitle uptitle=$uptitle} +{/if} + +{$contents} + +{if $nav} + {include file="tutorial_nav.tpl" prev=$prev next=$next up=$up prevtitle=$prevtitle nexttitle=$nexttitle uptitle=$uptitle} +{/if} + +{include file="footer.tpl" top3=true}
\ No newline at end of file diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/earthli/templates/tutorial_nav.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/earthli/templates/tutorial_nav.tpl new file mode 100755 index 00000000..3cd7893d --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/earthli/templates/tutorial_nav.tpl @@ -0,0 +1,41 @@ +<table class="tutorial-nav-box"> + <tr> + <td style="width: 30%"> + {if $prev} + <a href="{$prev}"><img src="{$subdir}media/images/previous_button.png" alt="Previous"></a> + {else} + <span class="disabled"><img src="{$subdir}media/images/previous_button_disabled.png" alt="Previous"></span> + {/if} + </td> + <td style="text-align: center"> + {if $up} + <a href="{$up}"><img src="{$subdir}media/images/up_button.png" alt="Up"></a> + {/if} + </td> + <td style="text-align: right; width: 30%"> + {if $next} + <a href="{$next}"><img src="{$subdir}media/images/next_button.png" alt="Next"></a> + {else} + <span class="disabled"><img src="{$subdir}media/images/next_button_disabled.png" alt="Next"></span> + {/if} + </td> + </tr> + <tr> + <td style="width: 30%"> + {if $prevtitle} + <span class="detail">{$prevtitle}</span> + {/if} + </td> + <td style="text-align: center"> + {if $uptitle} + <span class="detail">{$uptitle}</span> + {/if} + </td> + <td style="text-align: right; width: 30%"> + {if $nexttitle} + <span class="detail">{$nexttitle}</span> + {/if} + </td> + </tr> +</table> +
\ No newline at end of file diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/earthli/templates/tutorial_toc.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/earthli/templates/tutorial_toc.tpl new file mode 100755 index 00000000..3482249b --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/earthli/templates/tutorial_toc.tpl @@ -0,0 +1,40 @@ +{if count($toc)} +<h1 class="title">Table of Contents</h1> +<ul class="toc"> + {assign var="lastcontext" value='refsect1'} + {section name=toc loop=$toc} + + {if $toc[toc].tagname != $lastcontext} + {if $lastcontext == 'refsect1'} + <ul class="toc"> + <li>{$toc[toc].link}</li> + {else} + {if $lastcontext == 'refsect2'} + {if $toc[toc].tagname == 'refsect1'} + </ul> + <li>{$toc[toc].link}</li> + {/if} + {if $toc[toc].tagname == 'refsect3'} + <ul class="toc"> + <li>{$toc[toc].link}</li> + {/if} + {else} + </ul> + </ul> + <li>{$toc[toc].link}</li> + {/if} + {/if} + {assign var="lastcontext" value=$toc[toc].tagname} + {else} + <li>{$toc[toc].link}</li> + {/if} + {/section} + {if $lastcontext == 'refsect2'} + </ul> + {/if} + {if $lastcontext == 'refsect3'} + </ul> + </ul> + {/if} +</ul> +{/if} diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/earthli/templates/tutorial_tree.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/earthli/templates/tutorial_tree.tpl new file mode 100755 index 00000000..18c8b05a --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/earthli/templates/tutorial_tree.tpl @@ -0,0 +1,6 @@ +<div><img class="tree-icon" src="{$subdir}media/images/tutorial.png" alt="Tutorial"><a href="{$main.link}" target="right">{$main.title|strip_tags}</a></div> +{if $haskids} +<div style="margin-left: 19px"> + {$kids} +</div> +{/if} diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/earthli/templates/var.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/earthli/templates/var.tpl new file mode 100755 index 00000000..1da110cc --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/earthli/templates/var.tpl @@ -0,0 +1,94 @@ +{section name=vars loop=$vars} +{if $vars[vars].static} +<a name="var{$vars[vars].var_name}" id="{$vars[vars].var_name}"><!-- --></A> +<div class="{cycle values="evenrow,oddrow"}"> + + <div class="var-header"> + <img src="{$subdir}media/images/{if $vars[vars].access == 'private'}PrivateVariable{else}Variable{/if}.png" /> + <span class="var-title"> + static <span class="var-type">{$vars[vars].var_type}</span> + <span class="var-name">{$vars[vars].var_name}</span> + {if $vars[vars].var_default} = <span class="var-default">{$vars[vars].var_default|replace:"\n":"<br />"}</span>{/if} + (line <span class="line-number">{if $vars[vars].slink}{$vars[vars].slink}{else}{$vars[vars].line_number}{/if}</span>) + </span> + </div> + + {include file="docblock.tpl" sdesc=$vars[vars].sdesc desc=$vars[vars].desc tags=$vars[vars].tags} + + {if $vars[vars].var_overrides} + <hr class="separator" /> + <div class="notes">Redefinition of:</div> + <dl> + <dt>{$vars[vars].var_overrides.link}</dt> + {if $vars[vars].var_overrides.sdesc} + <dd>{$vars[vars].var_overrides.sdesc}</dd> + {/if} + </dl> + {/if} + + {if $vars[vars].descvar} + <hr class="separator" /> + <div class="notes">Redefined in descendants as:</div> + <ul class="redefinitions"> + {section name=vm loop=$vars[vars].descvar} + <li> + {$vars[vars].descvar[vm].link} + {if $vars[vars].descvar[vm].sdesc} + : {$vars[vars].descvar[vm].sdesc} + {/if} + </li> + {/section} + </ul> + {/if} + +</div> +{/if} +{/section} + +{section name=vars loop=$vars} +{if !$vars[vars].static} +<a name="var{$vars[vars].var_name}" id="{$vars[vars].var_name}"><!-- --></A> +<div class="{cycle values="evenrow,oddrow"}"> + + <div class="var-header"> + <img src="{$subdir}media/images/{if $vars[vars].access == 'private'}PrivateVariable{else}Variable{/if}.png" /> + <span class="var-title"> + <span class="var-type">{$vars[vars].var_type}</span> + <span class="var-name">{$vars[vars].var_name}</span> + {if $vars[vars].var_default} = <span class="var-default">{$vars[vars].var_default|replace:"\n":"<br />"}</span>{/if} + (line <span class="line-number">{if $vars[vars].slink}{$vars[vars].slink}{else}{$vars[vars].line_number}{/if}</span>) + </span> + </div> + + {include file="docblock.tpl" sdesc=$vars[vars].sdesc desc=$vars[vars].desc tags=$vars[vars].tags} + + {if $vars[vars].var_overrides} + <hr class="separator" /> + <div class="notes">Redefinition of:</div> + <dl> + <dt>{$vars[vars].var_overrides.link}</dt> + {if $vars[vars].var_overrides.sdesc} + <dd>{$vars[vars].var_overrides.sdesc}</dd> + {/if} + </dl> + {/if} + + {if $vars[vars].descvar} + <hr class="separator" /> + <div class="notes">Redefined in descendants as:</div> + <ul class="redefinitions"> + {section name=vm loop=$vars[vars].descvar} + <li> + {$vars[vars].descvar[vm].link} + {if $vars[vars].descvar[vm].sdesc} + : {$vars[vars].descvar[vm].sdesc} + {/if} + </li> + {/section} + </ul> + {/if} + +</div> +{/if} +{/section} + diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/l0l33t/options.ini b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/l0l33t/options.ini new file mode 100755 index 00000000..fc1211f8 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/l0l33t/options.ini @@ -0,0 +1,576 @@ +preservedocbooktags = false + +;; used to highlight the {@source} inline tag, @filesource tag, and @example tag +[highlightSourceTokens] +;; format: +;; T_CONSTANTNAME = open +;; /T_CONSTANTNAME = close + +T_INCLUDE = <span class="src-inc"> +/T_INCLUDE = </span> +T_INCLUDE_ONCE = <span class="src-inc"> +/T_INCLUDE_ONCE = </span> +T_REQUIRE_ONCE = <span class="src-inc"> +/T_REQUIRE_ONCE = </span> +T_REQUIRE_ONCE = <span class="src-inc"> +/T_REQUIRE_ONCE = </span> + +T_CONSTANT_ENCAPSED_STRING = <span class="src-str"> +/T_CONSTANT_ENCAPSED_STRING = </span> +T_STRING_VARNAME = <span class="src-str"> +/T_STRING_VARNAME = </span> + +T_STRING = <span class="src-id"> +/T_STRING = </span> + +T_DNUMBER = <span class="src-num"> +/T_DNUMBER = </span> +T_LNUMBER = <span class="src-num"> +/T_LNUMBER = </span> + +T_VARIABLE = <span class="src-var"> +/T_VARIABLE = </span> + +T_COMMENT = <span class="src-comm"> +/T_COMMENT = </span> +T_ML_COMMENT = <span class="src-comm"> +/T_ML_COMMENT = </span> + +T_OBJECT_OPERATOR = <span class="src-sym"> +/T_OBJECT_OPERATOR = </span> + +T_ABSTRACT = <span class="src-key"> +/T_ABSTRACT = </span> +T_CLONE = <span class="src-key"> +/T_CLONE = </span> +T_HALT_COMPILER = <span class="src-key"> +/T_HALT_COMPILER = </span> +T_ARRAY = <span class="src-key"> +/T_ARRAY = </span> +T_AS = <span class="src-key"> +/T_AS = </span> +T_BREAK = <span class="src-key"> +/T_BREAK = </span> +T_CLASS = <span class="src-key"> +/T_CLASS = </span> +T_CASE = <span class="src-key"> +/T_CASE = </span> +T_CONST = <span class="src-key"> +/T_CONST = </span> +T_CONTINUE = <span class="src-key"> +/T_CONTINUE = </span> +T_DECLARE = <span class="src-key"> +/T_DECLARE = </span> +T_DEFAULT = <span class="src-key"> +/T_DEFAULT = </span> +T_ELSE = <span class="src-key"> +/T_ELSE = </span> +T_ELSEIF = <span class="src-key"> +/T_ELSEIF = </span> +T_EMPTY = <span class="src-key"> +/T_EMPTY = </span> +T_ENDDECLARE = <span class="src-key"> +/T_ENDDECLARE = </span> +T_ENDFOR = <span class="src-key"> +/T_ENDFOR = </span> +T_ENDSWITCH = <span class="src-key"> +/T_ENDSWITCH = </span> +T_ENDFOREACH = <span class="src-key"> +/T_ENDFOREACH = </span> +T_ENDIF = <span class="src-key"> +/T_ENDIF = </span> +T_ENDWHILE = <span class="src-key"> +/T_ENDWHILE = </span> +T_EXIT = <span class="src-key"> +/T_EXIT = </span> +T_EXTENDS = <span class="src-key"> +/T_EXTENDS = </span> +T_FINAL = <span class="src-key"> +/T_FINAL = </span> +T_FOR = <span class="src-key"> +/T_FOR = </span> +T_FOREACH = <span class="src-key"> +/T_FOREACH = </span> +T_FUNCTION = <span class="src-key"> +/T_FUNCTION = </span> +T_GLOBAL = <span class="src-key"> +/T_GLOBAL = </span> +T_IF = <span class="src-key"> +/T_IF = </span> +T_IMPLEMENTS = <span class="src-key"> +/T_IMPLEMENTS = </span> +T_INTERFACE = <span class="src-key"> +/T_INTERFACE = </span> +T_LOGICAL_AND = <span class="src-key"> +/T_LOGICAL_AND = </span> +T_LOGICAL_OR = <span class="src-key"> +/T_LOGICAL_OR = </span> +T_LOGICAL_XOR = <span class="src-key"> +/T_LOGICAL_XOR = </span> +T_NEW = <span class="src-key"> +/T_NEW = </span> +T_PRIVATE = <span class="src-key"> +/T_PRIVATE = </span> +T_PROTECTED = <span class="src-key"> +/T_PROTECTED = </span> +T_PUBLIC = <span class="src-key"> +/T_PUBLIC = </span> +T_RETURN = <span class="src-key"> +/T_RETURN = </span> +T_STATIC = <span class="src-key"> +/T_STATIC = </span> +T_SWITCH = <span class="src-key"> +/T_SWITCH = </span> +T_VAR = <span class="src-key"> +/T_VAR = </span> +T_WHILE = <span class="src-key"> +/T_WHILE = </span> + +T_DOUBLE_COLON = <span class="src-sym"> +/T_DOUBLE_COLON = </span> + +T_OPEN_TAG = <span class="src-php"> +/T_OPEN_TAG = </span> +T_OPEN_TAG_WITH_ECHO = <span class="src-php"> +/T_OPEN_TAG_WITH_ECHO = </span> +T_CLOSE_TAG = <span class="src-php"> +/T_CLOSE_TAG = </span> + + +[highlightSource] +;; this is for highlighting things that aren't tokens like "&" +;; format: +;; word = open +;; /word = close +@ = <span class="src-sym"> +/@ = </span> +& = <span class="src-sym"> +/& = </span> +[ = <span class="src-sym"> +/[ = </span> +] = <span class="src-sym"> +/] = </span> +! = <span class="src-sym"> +/! = </span> +";" = <span class="src-sym"> +/; = </span> +( = <span class="src-sym"> +/( = </span> +) = <span class="src-sym"> +/) = </span> +, = <span class="src-sym"> +/, = </span> +{ = <span class="src-sym"> +/{ = </span> +} = <span class="src-sym"> +/} = </span> +""" = <span class="src-str"> +/" = </span> + +[highlightDocBlockSourceTokens] +;; this is for docblock tokens, using by phpDocumentor_HighlightParser +;; tagphptype is for "string" in @param string description, for example +docblock = <span class="src-doc"> +/docblock = </span> +tagphptype = <span class="src-doc-type"> +/tagphptype = </span> +tagvarname = <span class="src-doc-var"> +/tagvarname = </span> +coretag = <span class="src-doc-coretag"> +/coretag = </span> +tag = <span class="src-doc-tag"> +/tag = </span> +inlinetag = <span class="src-doc-inlinetag"> +/inlinetag = </span> +internal = <span class="src-doc-internal"> +/internal = </span> +closetemplate = <span class="src-doc-close-template"> +/closetemplate = </span> +docblocktemplate = <span class="src-doc-template"> +/docblocktemplate = </span> + +[highlightTutorialSourceTokens] +;; this is for XML DocBook-based tutorials, highlighted by phpDocumentor_TutorialHighlightParser +;; <tag> +opentag = <span class="tute-tag"> +/opentag = </span> +;; </tag> +closetag = <span class="tute-tag"> +/closetag = </span> +;; <tag attribute="value"> +attribute = <span class="tute-attribute-name"> +/attribute = </span> +;; <tag attribute="value"> +attributevalue = <span class="tute-attribute-value"> +/attributevalue = </span> +;; &entity; +entity = <span class="tute-entity"> +/entity = </span> +;; <!-- comment --> +comment = <span class="tute-comment"> +/comment = </span> +;; {@inline tag} +itag = <span class="tute-inline-tag"> +/itag = </span> + +;; used for translation of html in DocBlocks +[desctranslate] +ul = <ul> +/ul = </ul> +ol = <ol> +/ol = </ol> +li = <li> +/li = </li> +code = +/code = +var = <var> +/var = </var> +samp = <samp> +/samp = </samp> +kbd = <kbd> +/kbd = </kbd> +pre = <pre> +/pre = </pre> +p = <p> +/p = </p> +b = <strong> +/b = </strong> +i = <em> +/i = </em> +br = <br /> + +[ppage] +;; this is the DocBook package page translation section. All DocBook tags +;; that have a corresponding html tag must be listed here. Entities should +;; also be listed here +;; +;; examples: +;; 1) +;; tagname = newtagname +;; +;; This is the simplest case, where all attributes will be added into the +;; starting tag and the ending tag will be html/xml style </tranlatedtagname> +;; <tagname></tagname> becomes <newtagname></newtagname> and +;; <tagname attr="value"></tagname> becomes +;; <newtagname attr="value"></newtagname> +;; +;; 2) +;; tagname = newtagname +;; tagname->attr = newattrname +;; +;; in this case, everything will be like the first case, except tags like: +;; <tagname attr="value"></tagname> will become +;; <newtagname newattrname="value"></newtagname> +;; +;; 3) +;; tagname = newtagname +;; tagname->attr = newattrname +;; tagname->attr+value = newvalue +;; +;; in this case, the value is also translated to another. This can be useful +;; for instances such as focus="middle" changing to align="center" or something +;; of that nature. +;; <tagname attr="value"></tagname> will become +;; <newtagname newattrname="newvalue"></newtagname> +;; +;; 4) +;; tagname = newtagname +;; tagname->attr1 = newattrname +;; tagname->attr2 = newattrname +;; tagname->attr1+value|attr2+value = newvalue +;; +;; in this case, two attributes combine to make one new attribute, and the combined +;; value is translated into a new value +;; <tagname attr1="value1" attr2="value2"></tagname> will become +;; <newtagname newattrname="newvalue"></newtagname> +;; +;; 5) +;; tagname = newtagname +;; tagname!attr = dummy +;; +;; here, the attribute will be ignored. dummy is not used and may be any value +;; <tagname attr="value"></tagname> will become +;; <newtagname></newtagname> +;; +;; 6) +;; tagname = newtagname +;; tagname! = dummy +;; +;; here, all attributes will be ignored. dummy is not used and may be any value +;; <tagname attr1="value" attr2="foo"></tagname> will become +;; <newtagname></newtagname> +;; +;; 7) +;; tagname = newtagname +;; tagname/ = 1 +;; +;; here, the tag will be translated as a single tag with no closing tag, and all +;; attributes +;; <tagname attr="val">{text text}</tagname> will become +;; <newtagname attr="val" /> +;; +;; 8) +;; tagname = <starttaginfo /> +;; /tagname = closetagtext +;; +;; in this case, the text <starttaginfo> will be inserted exactly as entered for +;; <tagname> and closetagtext for </tagname> +;; <tagname attr="val"></tagname> will become +;; <starttaginfo />closetagtext +;; +;; 9) +;; $attr$my_attribute = newattrname +;; +;; tagname = newtagname +;; +;; in this case, all occurences of my_attribute in any tag will be changed to +;; newattrname. This is useful for changing things like role="php" to +;; class="php," for example. Note that the text "$attr$" MUST be on the line +;; start for phpDocumentor to recognize it. +;; +;; 10) +;; &entity; = translation text +;; " = " +;; " = """ +;; < = < +;; +;; Use this to control translation of entities to their appropriate values + + = +" = " +” = ” +“ = “ +& = & +< = < +> = > +© = © + +$attr$role = class + +abbrev = abbr + +blockquote = blockquote + +arg = span +arg->choice = class + +author = <span class="author"> +/author = </span> +author! = 0 + +authorblurb = <div class="author-blurb"> +/authorblurb = </div> + +authorgroup = <div class="authors"><h2 class="title">Authors</h2> +/authorgroup = </div> +authorgroup! = 0 + +caution = <span class="warning"> +/caution = </span> +caution! = 0 + +cmdsynopsis = <div class="cmd-synopsis"> +/cmdsynopsis = </div> + +command = <span class="cmd-title"> +/command = </span> + +copyright = <div class="notes"> +/copyright = </div> + +emphasis = em + +example = <div class="src-code"> +/example = </div> +example! = 0 + +function = +/function = () + +formalpara = p + +graphic = img +graphic->fileref = src +graphic/ = + +important = strong + +informalequation = blockquote + +informalexample = div + +inlineequation = em + +itemizedlist = ul + +listitem = li + +literal = code + +literallayout = span + +option = " " +/option = + +orderedlist = ol + +para = p + +programlisting = <div class="src-code"> +/programlisting = </div> +programlisting! = 0 + +refentry = div + +refnamediv = <div class="ref-title-box"> +/refnamediv = </div> +refnamediv! = 0 + +refname = <h1 class="ref-title"> +/refname = </h1> + +refpurpose = <h2 class="ref-purpose"> +/refpurpose = </h2> + +refsynopsisdiv = <div class="ref-synopsis"> +/refsynopsisdiv = </div> +refsynopsisdiv! = 0 + +refsect1 = span + +refsect2 = span + +refsect3 = +/refsect3 = <br /> + +releaseinfo = <div class="release-info">( +/releaseinfo = )</div> + +simpara = +/simpara = <br /> +simpara! = 0 + +subscript = sub + +superscript = super + +table = table + +table->colsep = rules +table->rowsep = rules +table->colsep+1|rowsep+1 =all +table->colsep+1|rowsep+0 =cols +table->colsep+0|rowsep+1 =rows + +table->frame =frame +table->frame+all =border +table->frame+none =void +table->frame+sides =vsides +table->frame+top =above +table->frame+topbot =hsides + +thead = thead + +tfoot = tfoot + +tbody = tbody + +colspec = col + +tgroup = colgroup +tgroup/ = 1 +tgroup->cols = span + +row = tr + +entry = td +entry->morerows = colspan +entry->morerows+1 =2 +entry->morerows+2 =3 +entry->morerows+3 =4 +entry->morerows+4 =5 +entry->morerows+5 =6 +entry->morerows+6 =7 +entry->morerows+7 =8 +entry->morerows+8 =9 +entry->morerows+9 =10 +entry->morerows+10 =11 +;; add more if you need more colspans + +warning = <span class="warning"> +/warning = </span> +warning! = 0 + +;; now begins the attributes that should be tags in cdata +[$attr$id] +open = a +;close = /a +cdata! = true +quotevalues = true +separator = "=" +;separateall = true +$id = name + +;; now begins the sections that deal with <title> +[refsynopsisdiv_title] +;tag_attr = true +;attr_name = title +cdata_start = true +;cdata_end = true +open = <h1 class="title"> +close = </h1> + +[refsect1_title] +;tag_attr = true +;attr_name = title +cdata_start = true +;cdata_end = true +open = <h2 class="title"> +close = </h2> + +[refsect2_title] +;tag_attr = true +;attr_name = title +cdata_start = true +;cdata_end = true +open = <h3 class="title"> +close = </h3> + +[refsect3_title] +;tag_attr = true +;attr_name = title +cdata_start = true +;cdata_end = true +open = <h4 class="title"> +close = </h4> + +[para_title] +;tag_attr = true +;attr_name = title +cdata_start = true +;cdata_end = true +open = <div class="title"> +close = </div> + +[formalpara_title] +;tag_attr = true +;attr_name = title +cdata_start = true +;cdata_end = true +open = <div class="title"> +close = </div> + +[example_title] +;tag_attr = true +;attr_name = title +;cdata_start = true +cdata_end = true +open = </td></tr><tr><td><strong> +close = </strong> + +[table_title] +;tag_attr = true +;attr_name = true +cdata_start = true +open = <caption> +close = </caption> diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/l0l33t/templates/basicindex.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/l0l33t/templates/basicindex.tpl new file mode 100755 index 00000000..951ee264 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/l0l33t/templates/basicindex.tpl @@ -0,0 +1,47 @@ +<div class="index-letter-menu"> +{section name=letter loop=$letters} + <a class="index-letter" href="{$indexname}.html#{$letters[letter].letter}">{$letters[letter].letter}</a> +{/section} +</div> + +{section name=index loop=$index} + <a name="{$index[index].letter}"></a> + <div class="index-letter-section"> + <div style="float: left" class="index-letter-title">{$index[index].letter}</div> + <div style="float: right"><a href="#top">top</a></div> + <div style="clear: both"></div> + </div> + <dl> + {section name=contents loop=$index[index].index} + <dt class="field"> + {if ($index[index].index[contents].title == "Variable")} + <span class="var-title">{$index[index].index[contents].name}</span> + {elseif ($index[index].index[contents].title == "Global")} + <span class="var-title">{$index[index].index[contents].name}</span> + {elseif ($index[index].index[contents].title == "Method")} + <span class="method-title">{$index[index].index[contents].name}</span> + {elseif ($index[index].index[contents].title == "Function")} + <span class="method-title">{$index[index].index[contents].name}</span> + {elseif ($index[index].index[contents].title == "Constant")} + <span class="const-title">{$index[index].index[contents].name}</span> + {elseif ($index[index].index[contents].title == "Page") || ($index[index].index[contents].title == "Include")} + <span class="include-title">{$index[index].index[contents].name}</span> + {else} + {$index[index].index[contents].name} + {/if} + </dt> + <dd class="index-item-body"> + <div class="index-item-details">{$index[index].index[contents].link} in {$index[index].index[contents].file_name}</div> + {if $index[index].index[contents].description} + <div class="index-item-description">{$index[index].index[contents].description}</div> + {/if} + </dd> + {/section} + </dl> +{/section} + +<div class="index-letter-menu"> +{section name=letter loop=$letters} + <a class="index-letter" href="{$indexname}.html#{$letters[letter].letter}">{$letters[letter].letter}</a> +{/section} +</div> diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/l0l33t/templates/blank.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/l0l33t/templates/blank.tpl new file mode 100755 index 00000000..6a05f27e --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/l0l33t/templates/blank.tpl @@ -0,0 +1,13 @@ +<html> +<head> + <title>{$maintitle}</title> + <link rel="stylesheet" href="{$subdir}media/stylesheet.css" /> + <meta http-equiv='Content-Type' content='text/html; charset=iso-8859-1'/> +</head> +<body> +<div align="center"><h1>{$maintitle}</h1></div> +<b>Welcome to {$package}!</b><br /> +<br /> +This documentation was generated by <a href="{$phpdocwebsite}">phpDocumentor v{$phpdocversion}</a><br /> +</body> +</html>
\ No newline at end of file diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/l0l33t/templates/class.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/l0l33t/templates/class.tpl new file mode 100755 index 00000000..9ab7c455 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/l0l33t/templates/class.tpl @@ -0,0 +1,429 @@ +{include file="header.tpl" top3=true} + +<h2 class="class-name">{if $is_interface}Interface{else}Class{/if} {$class_name}</h2> + +<a name="sec-description"></a> +<div class="info-box"> + <div class="info-box-title">Description</div> + <div class="nav-bar"> + {if $children || $vars || $ivars || $methods || $imethods || $consts || $iconsts } + <span class="disabled">Description</span> | + {/if} + {if $children} + <a href="#sec-descendents">Descendents</a> + {if $vars || $ivars || $methods || $imethods || $consts || $iconsts}|{/if} + {/if} + {if $vars || $ivars} + {if $vars} + <a href="#sec-var-summary">Vars</a> (<a href="#sec-vars">details</a>) + {else} + <a href="#sec-vars">Vars</a> + {/if} + {if $methods || $imethods}|{/if} + {/if} + {if $methods || $imethods} + {if $methods} + <a href="#sec-method-summary">Methods</a> (<a href="#sec-methods">details</a>) + {else} + <a href="#sec-methods">Methods</a> + {/if} + {/if} + {if $consts || $iconsts} + {if $consts} + <a href="#sec-const-summary">Constants</a> (<a href="#sec-consts">details</a>) + {else} + <a href="#sec-consts">Constants</a> + {/if} + {/if} + </div> + <div class="info-box-body"> + {if $implements} + <p class="implements"> + Implements interfaces: + <ul> + {foreach item="int" from=$implements}<li>{$int}</li>{/foreach} + </ul> + </p> + {/if} + {include file="docblock.tpl" type="class" sdesc=$sdesc desc=$desc} + <p class="notes"> + Located in <a class="field" href="{$page_link}">{$source_location}</a> (line <span class="field">{if $class_slink}{$class_slink}{else}{$line_number}{/if}</span>) + </p> + + {if $tutorial} + <hr class="separator" /> + <div class="notes">Tutorial: <span class="tutorial">{$tutorial}</span></div> + {/if} + + <pre>{section name=tree loop=$class_tree.classes}{$class_tree.classes[tree]}{$class_tree.distance[tree]}{/section}</pre> + + {if $conflicts.conflict_type} + <hr class="separator" /> + <div><span class="warning">Conflicts with classes:</span><br /> + {section name=me loop=$conflicts.conflicts} + {$conflicts.conflicts[me]}<br /> + {/section} + </div> + {/if} + </div> +</div> + +{if $children} + <a name="sec-descendents"></a> + <div class="info-box"> + <div class="info-box-title">Direct descendents</div> + <div class="nav-bar"> + <a href="#sec-description">Description</a> | + <span class="disabled">Descendents</span> + {if $vars || $ivars || $methods || $imethods}|{/if} + {if $vars || $ivars} + {if $vars} + <a href="#sec-var-summary">Vars</a> (<a href="#sec-vars">details</a>) + {else} + <a href="#sec-vars">Vars</a> + {/if} + {if $methods || $imethods}|{/if} + {/if} + {if $methods || $imethods} + {if $methods} + <a href="#sec-method-summary">Methods</a> (<a href="#sec-methods">details</a>) + {else} + <a href="#sec-methods">Methods</a> + {/if} + {/if} + {if $consts || $iconsts} + {if $consts} + <a href="#sec-const-summary">Constants</a> (<a href="#sec-consts">details</a>) + {else} + <a href="#sec-consts">Constants</a> + {/if} + {/if} + </div> + <div class="info-box-body"> + <table cellpadding="2" cellspacing="0" class="class-table"> + <tr> + <th class="class-table-header">Class</th> + <th class="class-table-header">Description</th> + </tr> + {section name=kids loop=$children} + <tr> + <td style="padding-right: 2em">{$children[kids].link}</td> + <td> + {if $children[kids].sdesc} + {$children[kids].sdesc} + {else} + {$children[kids].desc} + {/if} + </td> + </tr> + {/section} + </table> + </div> + </div> +{/if} + +{if $consts} + <a name="sec-const-summary"></a> + <div class="info-box"> + <div class="info-box-title">Class Constant Summary</span></div> + <div class="nav-bar"> + <a href="#sec-description">Description</a> | + {if $children} + <a href="#sec-descendents">Descendants</a> | + {/if} + <span class="disabled">Constants</span> (<a href="#sec-consts">details</a>) + {if $vars || $ivars} + {if $vars} + <a href="#sec-var-summary">Vars</a> (<a href="#sec-vars">details</a>) + {else} + <a href="#sec-vars">Vars</a> + {/if} + | + {/if} + {if $methods || $imethods} + | + {if $methods} + <a href="#sec-method-summary">Methods</a> (<a href="#sec-methods">details</a>) + {else} + <a href="#sec-methods">Methods</a> + {/if} + {/if} + </div> + <div class="info-box-body"> + <div class="const-summary"> + {section name=consts loop=$consts} + <div class="const-title"> + <img src="{$subdir}media/images/Constant.png" alt=" " /> + <a href="#{$consts[consts].const_name}" title="details" class="const-name">{$consts[consts].const_name}</a> = <span class="var-type">{$consts[consts].const_value}</span> + + </div> + {/section} + </div> + </div> + </div> +{/if} + +{if $vars} + <a name="sec-var-summary"></a> + <div class="info-box"> + <div class="info-box-title">Variable Summary</span></div> + <div class="nav-bar"> + <a href="#sec-description">Description</a> | + {if $children} + <a href="#sec-descendents">Descendents</a> | + {/if} + <span class="disabled">Vars</span> (<a href="#sec-vars">details</a>) + {if $methods || $imethods} + | + {if $methods} + <a href="#sec-method-summary">Methods</a> (<a href="#sec-methods">details</a>) + {else} + <a href="#sec-methods">Methods</a> + {/if} + {/if} + {if $consts || $iconsts} + {if $consts} + <a href="#sec-const-summary">Constants</a> (<a href="#sec-consts">details</a>) + {else} + <a href="#sec-consts">Constants</a> + {/if} + {/if} + </div> + <div class="info-box-body"> + <div class="var-summary"> + {section name=vars loop=$vars} + {if $vars[vars].static} + <div class="var-title"> + static <span class="var-type">{$vars[vars].var_type}</span> + <a href="#{$vars[vars].var_name}" title="details" class="var-name">{$vars[vars].var_name}</a> + </div> + {/if} + {/section} + {section name=vars loop=$vars} + {if !$vars[vars].static} + <div class="var-title"> + <span class="var-type">{$vars[vars].var_type}</span> + <a href="#{$vars[vars].var_name}" title="details" class="var-name">{$vars[vars].var_name}</a> + </div> + {/if} + {/section} + </div> + </div> + </div> +{/if} + +{if $methods} + <a name="sec-method-summary"></a> + <div class="info-box"> + <div class="info-box-title">Method Summary</span></div> + <div class="nav-bar"> + <a href="#sec-description">Description</a> | + {if $children} + <a href="#sec-descendents">Descendents</a> | + {/if} + {if $consts || $iconsts} + {if $consts} + <a href="#sec-const-summary">Constants</a> (<a href="#sec-consts">details</a>) + {else} + <a href="#sec-consts">Constants</a> + {/if} + {/if} + {if $vars || $ivars} + {if $vars} + <a href="#sec-var-summary">Vars</a> (<a href="#sec-vars">details</a>) + {else} + <a href="#sec-vars">Vars</a> + {/if} + | + {/if} + <span class="disabled">Methods</span> (<a href="#sec-methods">details</a>) + </div> + <div class="info-box-body"> + <div class="method-summary"> + {section name=methods loop=$methods} + {if $methods[methods].static} + <div class="method-definition"> + static {if $methods[methods].function_return} + <span class="method-result">{$methods[methods].function_return}</span> + {/if} + <a href="#{$methods[methods].function_name}" title="details" class="method-name">{if $methods[methods].ifunction_call.returnsref}&{/if}{$methods[methods].function_name}</a> + {if count($methods[methods].ifunction_call.params)} + ({section name=params loop=$methods[methods].ifunction_call.params}{if $smarty.section.params.iteration != 1}, {/if}{if $methods[methods].ifunction_call.params[params].hasdefault}[{/if}<span class="var-type">{$methods[methods].ifunction_call.params[params].type}</span> <span class="var-name">{$methods[methods].ifunction_call.params[params].name}</span>{if $methods[methods].ifunction_call.params[params].hasdefault} = <span class="var-default">{$methods[methods].ifunction_call.params[params].default}</span>]{/if}{/section}) + {else} + () + {/if} + </div> + {/if} + {/section} + {section name=methods loop=$methods} + {if !$methods[methods].static} + <div class="method-definition"> + {if $methods[methods].function_return} + <span class="method-result">{$methods[methods].function_return}</span> + {/if} + <a href="#{$methods[methods].function_name}" title="details" class="method-name">{if $methods[methods].ifunction_call.returnsref}&{/if}{$methods[methods].function_name}</a> + {if count($methods[methods].ifunction_call.params)} + ({section name=params loop=$methods[methods].ifunction_call.params}{if $smarty.section.params.iteration != 1}, {/if}{if $methods[methods].ifunction_call.params[params].hasdefault}[{/if}<span class="var-type">{$methods[methods].ifunction_call.params[params].type}</span> <span class="var-name">{$methods[methods].ifunction_call.params[params].name}</span>{if $methods[methods].ifunction_call.params[params].hasdefault} = <span class="var-default">{$methods[methods].ifunction_call.params[params].default}</span>]{/if}{/section}) + {else} + () + {/if} + </div> + {/if} + {/section} + </div> + </div> + </div> +{/if} + +{if $vars || $ivars} + <a name="sec-vars"></a> + <div class="info-box"> + <div class="info-box-title">Variables</div> + <div class="nav-bar"> + <a href="#sec-description">Description</a> | + {if $children} + <a href="#sec-descendents">Descendents</a> | + {/if} + {if $methods} + <a href="#sec-var-summary">Vars</a> (<span class="disabled">details</span>) + {else} + <span class="disabled">Vars</span> + {/if} + + {if $consts || $iconsts} + {if $consts} + <a href="#sec-const-summary">Constants</a> (<a href="#sec-consts">details</a>) + {else} + <a href="#sec-consts">Constants</a> + {/if} + {/if} + {if $methods || $imethods} + | + {if $methods} + <a href="#sec-method-summary">Methods</a> (<a href="#sec-methods">details</a>) + {else} + <a href="#sec-methods">Methods</a> + {/if} + {/if} + </div> + <div class="info-box-body"> + {include file="var.tpl"} + {if $ivars} + <h4>Inherited Variables</h4> + <A NAME='inherited_vars'><!-- --></A> + {section name=ivars loop=$ivars} + <p>Inherited from <span class="classname">{$ivars[ivars].parent_class}</span></p> + <blockquote> + {section name=ivars2 loop=$ivars[ivars].ivars} + <span class="var-title"> + <span class="var-name">{$ivars[ivars].ivars[ivars2].link}</span>{if $ivars[ivars].ivars[ivars2].ivar_sdesc}: {$ivars[ivars].ivars[ivars2].ivar_sdesc}{/if}<br> + </span> + {/section} + </blockquote> + {/section} + {/if} + </div> + </div> +{/if} + +{if $methods || $imethods} + <a name="sec-methods"></a> + <div class="info-box"> + <div class="info-box-title">Methods</div> + <div class="nav-bar"> + <a href="#sec-description">Description</a> | + {if $children} + <a href="#sec-descendents">Descendents</a> | + {/if} + {if $vars || $ivars} + {if $vars} + <a href="#sec-var-summary">Vars</a> (<a href="#sec-vars">details</a>) + {else} + <a href="#sec-vars">Vars</a> + {/if} + {/if} + {if $consts || $iconsts} + {if $consts} + <a href="#sec-const-summary">Constants</a> (<a href="#sec-consts">details</a>) + {else} + <a href="#sec-consts">Constants</a> + {/if} + {/if} + {if $methods} + <a href="#sec-method-summary">Methods</a> (<span class="disabled">details</span>) + {else} + <span class="disabled">Methods</span> + {/if} + </div> + <div class="info-box-body"> + {include file="method.tpl"} + {if $imethods} + <h4>Inherited Methods</h4> + <a name='inherited_methods'><!-- --></a> + {section name=imethods loop=$imethods} + <!-- =========== Summary =========== --> + <p>Inherited From <span class="classname">{$imethods[imethods].parent_class}</span></p> + <blockquote> + {section name=im2 loop=$imethods[imethods].imethods} + <span class="method-name">{$imethods[imethods].imethods[im2].link}</span>{if $imethods[imethods].imethods[im2].ifunction_sdesc}: {$imethods[imethods].imethods[im2].ifunction_sdesc}{/if}<br> + {/section} + </blockquote> + {/section} + {/if} + </div> + </div> +{/if} + +{if $consts || $iconsts} + <a name="sec-consts"></a> + <div class="info-box"> + <div class="info-box-title">Class Constants</div> + <div class="nav-bar"> + <a href="#sec-description">Description</a> | + {if $children} + <a href="#sec-descendents">Descendants</a> | + {/if} + {if $methods} + <a href="#sec-var-summary">Constants</a> (<span class="disabled">details</span>) + {else} + <span class="disabled">Constants</span> + {/if} + + {if $vars || $ivars} + {if $vars} + <a href="#sec-var-summary">Vars</a> (<a href="#sec-vars">details</a>) + {else} + <a href="#sec-vars">Vars</a> + {/if} + {/if} + {if $methods || $imethods} + | + {if $methods} + <a href="#sec-method-summary">Methods</a> (<a href="#sec-methods">details</a>) + {else} + <a href="#sec-methods">Methods</a> + {/if} + {/if} + </div> + <div class="info-box-body"> + {include file="const.tpl"} + {if $iconsts} + <h4>Inherited Constants</h4> + <A NAME='inherited_vars'><!-- --></A> + {section name=iconsts loop=$iconsts} + <p>Inherited from <span class="classname">{$iconsts[iconsts].parent_class}</span></p> + <blockquote> + {section name=iconsts2 loop=$iconsts[iconsts].iconsts} + <img src="{$subdir}media/images/{if $iconsts[iconsts].iconsts[iconsts2].access == 'private'}PrivateVariable{else}Variable{/if}.png" /> + <span class="const-title"> + <span class="const-name">{$iconsts[iconsts].iconsts[iconsts2].link}</span>{if $iconsts[iconsts].iconsts[iconsts2].iconst_sdesc}: {$iconsts[iconsts].iconsts[iconsts2].iconst_sdesc}{/if}<br> + </span> + {/section} + </blockquote> + {/section} + {/if} + </div> + </div> +{/if} + +{include file="footer.tpl" top3=true} diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/l0l33t/templates/classtrees.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/l0l33t/templates/classtrees.tpl new file mode 100755 index 00000000..952e6d50 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/l0l33t/templates/classtrees.tpl @@ -0,0 +1,19 @@ +{include file="header.tpl" top1=true} + +<!-- Start of Class Data --> +<H2> + {$smarty.capture.title} +</H2> +{if $interfaces} +{section name=classtrees loop=$interfaces} +<h2>Root interface {$interfaces[classtrees].class}</h2> +{$interfaces[classtrees].class_tree} +{/section} +{/if} +{if $classtrees} +{section name=classtrees loop=$classtrees} +<h2>Root class {$classtrees[classtrees].class}</h2> +{$classtrees[classtrees].class_tree} +{/section} +{/if} +{include file="footer.tpl"}
\ No newline at end of file diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/l0l33t/templates/const.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/l0l33t/templates/const.tpl new file mode 100644 index 00000000..c26ff92d --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/l0l33t/templates/const.tpl @@ -0,0 +1,18 @@ +{section name=consts loop=$consts} +<a name="const{$consts[consts].const_name}" id="{$consts[consts].const_name}"><!-- --></A> +<div class="{cycle values="evenrow,oddrow"}"> + + <div class="const-header"> + <img src="{$subdir}media/images/{if $consts[consts].access == 'private'}PrivateVariable{else}Variable{/if}.png" /> + <span class="const-title"> + <span class="const-name">{$consts[consts].const_name}</span> + = <span class="const-default">{$consts[consts].const_value|replace:"\n":"<br />"}</span> + (line <span class="line-number">{if $consts[consts].slink}{$consts[consts].slink}{else}{$consts[consts].line_number}{/if}</span>) + </span> + </div> + + {include file="docblock.tpl" sdesc=$consts[consts].sdesc desc=$consts[consts].desc tags=$consts[consts].tags} + +</div> +{/section} + diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/l0l33t/templates/define.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/l0l33t/templates/define.tpl new file mode 100755 index 00000000..0da5d864 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/l0l33t/templates/define.tpl @@ -0,0 +1,24 @@ +{section name=def loop=$defines} +<a name="{$defines[def].define_link}"><!-- --></a> +<div class="{cycle values="evenrow,oddrow"}"> + + <div> + <span class="const-title"> + <span class="const-name">{$defines[def].define_name}</span> = {$defines[def].define_value|replace:"\n":"<br />"} + (line <span class="line-number">{if $defines[def].slink}{$defines[def].slink}{else}{$defines[def].line_number}{/if}</span>) + </span> + </div> + + {include file="docblock.tpl" sdesc=$defines[def].sdesc desc=$defines[def].desc tags=$defines[def].tags} + + {if $globals[glob].global_conflicts.conflict_type} + <hr class="separator" /> + <div><span class="warning">Conflicts with constants:</span><br /> + {section name=me loop=$defines[def].define_conflicts.conflicts} + {$defines[def].define_conflicts.conflicts[me]}<br /> + {/section} + </div> + {/if} + +</div> +{/section}
\ No newline at end of file diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/l0l33t/templates/docblock.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/l0l33t/templates/docblock.tpl new file mode 100755 index 00000000..783d5271 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/l0l33t/templates/docblock.tpl @@ -0,0 +1,14 @@ +<!-- ========== Info from phpDoc block ========= --> +{if $sdesc} +<p class="short-description">{$sdesc}</p> +{/if} +{if $desc} +<p class="description">{$desc}</p> +{/if} +{if $tags} + <ul class="tags"> + {section name=tags loop=$tags} + <li><span class="field">{$tags[tags].keyword}:</span> {$tags[tags].data}</li> + {/section} + </ul> +{/if} diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/l0l33t/templates/elementindex.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/l0l33t/templates/elementindex.tpl new file mode 100755 index 00000000..d5964f99 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/l0l33t/templates/elementindex.tpl @@ -0,0 +1,12 @@ +{include file="header.tpl" noleftindex=true} +<a name="top"></a> +<h2>Full index</h2> +<h3>Package indexes</h3> +<ul> +{section name=p loop=$packageindex} + <li><a href="elementindex_{$packageindex[p].title}.html">{$packageindex[p].title}</a></li> +{/section} +</ul> +<br /> +{include file="basicindex.tpl" indexname="elementindex"} +{include file="footer.tpl"} diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/l0l33t/templates/errors.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/l0l33t/templates/errors.tpl new file mode 100755 index 00000000..0f526584 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/l0l33t/templates/errors.tpl @@ -0,0 +1,21 @@ +{include file="header.tpl" noleftindex=true} +{section name=files loop=$files} +<a href="#{$files[files].file}">{$files[files].file}</a><br> +{/section} +{foreach key=file item=issues from=$all} +<a name="{$file}"></a> +<h1>{$file}</h1> +{if count($issues.warnings)} +<h2>Warnings:</h2><br> +{section name=warnings loop=$issues.warnings} +<b>{$issues.warnings[warnings].name}</b> - {$issues.warnings[warnings].listing}<br> +{/section} +{/if} +{if count($issues.errors)} +<h2>Errors:</h2><br> +{section name=errors loop=$issues.errors} +<b>{$issues.errors[errors].name}</b> - {$issues.errors[errors].listing}<br> +{/section} +{/if} +{/foreach} +{include file="footer.tpl"} diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/l0l33t/templates/examplesource.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/l0l33t/templates/examplesource.tpl new file mode 100755 index 00000000..8abf74ce --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/l0l33t/templates/examplesource.tpl @@ -0,0 +1,6 @@ +{include file="header.tpl" title=$title} +<h1>{$title}</h1> +<div class="listing"> +{$source} +</div> +{include file="footer.tpl"}
\ No newline at end of file diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/l0l33t/templates/filesource.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/l0l33t/templates/filesource.tpl new file mode 100755 index 00000000..239f7b41 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/l0l33t/templates/filesource.tpl @@ -0,0 +1,8 @@ +{capture name="tutle"}File Source for {$name}{/capture} +{include file="header.tpl" title=$smarty.capture.tutle} +<h1>Source for file {$name}</h1> +<p>Documentation is available at {$docs}</p> +<div class="src-code"> +{$source} +</div> +{include file="footer.tpl"}
\ No newline at end of file diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/l0l33t/templates/footer.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/l0l33t/templates/footer.tpl new file mode 100755 index 00000000..8d0f79db --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/l0l33t/templates/footer.tpl @@ -0,0 +1,8 @@ +{if !$index} + <p class="notes" id="credit"> + Documentation generated on {$date} by <a href="{$phpdocwebsite}" target="_blank">phpDocumentor {$phpdocversion}</a> + </p> +{/if} + {if $top3}</div>{/if} +</body> +</html> diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/l0l33t/templates/function.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/l0l33t/templates/function.tpl new file mode 100755 index 00000000..b6880059 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/l0l33t/templates/function.tpl @@ -0,0 +1,44 @@ +{section name=func loop=$functions} +<a name="{$functions[func].function_dest}" id="{$functions[func].function_dest}"><!-- --></a> +<div class="{cycle values="evenrow,oddrow"}"> + + <div> + <span class="method-title">{$functions[func].function_name}</span> (line <span class="line-number">{if $functions[func].slink}{$functions[func].slink}{else}{$functions[func].line_number}{/if}</span>) + </div> + + {include file="docblock.tpl" sdesc=$functions[func].sdesc desc=$functions[func].desc tags=$functions[func].tags params=$functions[func].params function=false} + + <div class="method-signature"> + <span class="method-result">{$functions[func].function_return}</span> + <span class="method-name"> + {if $functions[func].ifunction_call.returnsref}&{/if}{$functions[func].function_name} + </span> + {if count($functions[func].ifunction_call.params)} + ({section name=params loop=$functions[func].ifunction_call.params}{if $smarty.section.params.iteration != 1}, {/if}{if $functions[func].ifunction_call.params[params].hasdefault}[{/if}<span class="var-type">{$functions[func].ifunction_call.params[params].type}</span> <span class="var-name">{$functions[func].ifunction_call.params[params].name}</span>{if $functions[func].ifunction_call.params[params].hasdefault} = <span class="var-default">{$functions[func].ifunction_call.params[params].default|escape:"html"}</span>]{/if}{/section}) + {else} + () + {/if} + </div> + + {if $functions[func].params} + <ul class="parameters"> + {section name=params loop=$functions[func].params} + <li> + <span class="var-type">{$functions[func].params[params].datatype}</span> + <span class="var-name">{$functions[func].params[params].var}</span>{if $functions[func].params[params].data}<span class="var-description">: {$functions[func].params[params].data}</span>{/if} + </li> + {/section} + </ul> + {/if} + + {if $functions[func].function_conflicts.conflict_type} + <hr class="separator" /> + <div><span class="warning">Conflicts with functions:</span><br /> + {section name=me loop=$functions[func].function_conflicts.conflicts} + {$functions[func].function_conflicts.conflicts[me]}<br /> + {/section} + </div> + {/if} + +</div> +{/section} diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/l0l33t/templates/global.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/l0l33t/templates/global.tpl new file mode 100755 index 00000000..eab7e0b0 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/l0l33t/templates/global.tpl @@ -0,0 +1,26 @@ +{section name=glob loop=$globals} +<a name="{$globals[glob].global_link}" id="{$globals[glob].global_link}"><!-- --></a> +<div class="{cycle values="evenrow,oddrow"}"> + + <div> + <span class="var-title"> + <span class="var-type">{$globals[glob].global_type}</span> + <span class="var-name">{$globals[glob].global_name}</span> + {if $vars[vars].var_default} = <span class="var-default">{$globals[glob].global_value|replace:"\n":"<br />"}</span>{/if} + (line <span class="line-number">{if $globals[glob].slink}{$globals[glob].slink}{else}{$globals[glob].line_number}{/if}</span>) + </span> + </div> + + {include file="docblock.tpl" sdesc=$globals[glob].sdesc desc=$globals[glob].desc tags=$globals[glob].tags} + + {if $globals[glob].global_conflicts.conflict_type} + <hr class="separator" /> + <div><span class="warning">Conflicts with global variables:</span><br /> + {section name=me loop=$globals[glob].global_conflicts.conflicts} + {$globals[glob].global_conflicts.conflicts[me]}<br /> + {/section} + </div> + {/if} + +</div> +{/section}
\ No newline at end of file diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/l0l33t/templates/header.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/l0l33t/templates/header.tpl new file mode 100755 index 00000000..09fc9856 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/l0l33t/templates/header.tpl @@ -0,0 +1,18 @@ +<?xml version="1.0" encoding="iso-8859-1"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> + <html xmlns="http://www.w3.org/1999/xhtml"> + <head> + <!-- template designed by Marco Von Ballmoos --> + <title>{$title}</title> + <link rel="stylesheet" href="{$subdir}media/stylesheet.css" /> + {if $top2} + <link rel="stylesheet" href="{$subdir}media/banner.css" /> + <style> + body {ldelim} padding: 1em; {rdelim} + </style> + {/if} + <meta http-equiv='Content-Type' content='text/html; charset=iso-8859-1'/> + </head> + <body> + {if $top3}<div class="page-body">{/if} + diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/l0l33t/templates/include.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/l0l33t/templates/include.tpl new file mode 100755 index 00000000..c2419e5f --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/l0l33t/templates/include.tpl @@ -0,0 +1,16 @@ +{section name=includes loop=$includes} +<a name="{$includes[includes].include_file}"><!-- --></a> +<div class="{cycle values="evenrow,oddrow"}"> + + <div> + <span class="include-title"> + <span class="include-type">{$includes[includes].include_name}</span> + (<span class="include-name">{$includes[includes].include_value}</span>) + (line <span class="line-number">{if $includes[includes].slink}{$includes[includes].slink}{else}{$includes[includes].line_number}{/if}</span>) + </span> + </div> + + {include file="docblock.tpl" sdesc=$includes[includes].sdesc desc=$includes[includes].desc tags=$includes[includes].tags} + +</div> +{/section}
\ No newline at end of file diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/l0l33t/templates/index.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/l0l33t/templates/index.tpl new file mode 100755 index 00000000..7cd61094 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/l0l33t/templates/index.tpl @@ -0,0 +1,24 @@ +<?xml version="1.0" encoding="iso-8859-1"?> +<!DOCTYPE html + PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//FR" + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd"> + <html xmlns="http://www.w3.org/1999/xhtml"> +<head> + <!-- Generated by phpDocumentor on {$date} --> + <title>{$title}</title> + <meta http-equiv='Content-Type' content='text/html; charset=iso-8859-1'/> +</head> + +<FRAMESET rows='120,*'> + <FRAME src='packages.html' name='left_top' frameborder="1" bordercolor="#999999"> + <FRAMESET cols='25%,*'> + <FRAME src='{$start}' name='left_bottom' frameborder="1" bordercolor="#999999"> + <FRAME src='{$blank}.html' name='right' frameborder="1" bordercolor="#999999"> + </FRAMESET> + <NOFRAMES> + <H2>Frame Alert</H2> + <P>This document is designed to be viewed using the frames feature. + If you see this message, you are using a non-frame-capable web client.</P> + </NOFRAMES> +</FRAMESET> +</HTML> diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/l0l33t/templates/left_frame.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/l0l33t/templates/left_frame.tpl new file mode 100755 index 00000000..eb3f670d --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/l0l33t/templates/left_frame.tpl @@ -0,0 +1,159 @@ +{include file="header.tpl" top2=true} +<div class="package-title">{$package}</div> +<div class="package-details"> + + <dl class="tree"> + + <dt class="folder-title">Description</dt> + <dd> + <a href='{$classtreepage}.html' target='right'>Class trees</a><br /> + <a href='{$elementindex}.html' target='right'>Index of elements</a><br /> + {if $hastodos} + <a href="{$todolink}" target="right">Todo List</a><br /> + {/if} + </dd> + + {section name=p loop=$info} + + {if $info[p].subpackage == ""} + + {if $info[p].tutorials} + <dt class="folder-title">Tutorials/Manuals</dt> + <dd> + {if $info[p].tutorials.pkg} + <dl class="tree"> + <dt class="folder-title">Package-level</dt> + <dd> + {section name=ext loop=$info[p].tutorials.pkg} + {$info[p].tutorials.pkg[ext]} + {/section} + </dd> + </dl> + {/if} + + {if $info[p].tutorials.cls} + <dl class="tree"> + <dt class="folder-title">Class-level</dt> + <dd> + {section name=ext loop=$info[p].tutorials.cls} + {$info[p].tutorials.cls[ext]} + {/section} + </dd> + </dl> + {/if} + + {if $info[p].tutorials.proc} + <dl class="tree"> + <dt class="folder-title">Function-level</dt> + <dd> + {section name=ext loop=$info[p].tutorials.proc} + {$info[p].tutorials.proc[ext]} + {/section} + </dd> + </dl> + {/if} + </dd> + {/if} + {if $info[p].hasinterfaces} + <dt class="folder-title">Interfaces</dt> + {section name=class loop=$info[p].classes} + {if $info[p].classes[class].is_interface} + <dd><a href='{$info[p].classes[class].link}' target='right'>{$info[p].classes[class].title}</a></dd> + {/if} + {/section} + {/if} + {if $info[p].hasclasses} + <dt class="folder-title">Classes</dt> + {section name=class loop=$info[p].classes} + {if $info[p].classes[class].is_class} + <dd><a href='{$info[p].classes[class].link}' target='right'>{$info[p].classes[class].title}</a></dd> + {/if} + {/section} + {/if} + {if $info[p].functions} + <dt class="folder-title">Functions</dt> + {section name=f loop=$info[p].functions} + <dd><a href='{$info[p].functions[f].link}' target='right'>{$info[p].functions[f].title}</a></dd> + {/section} + {/if} + {if $info[p].files} + <dt class="folder-title">Files</dt> + {section name=nonclass loop=$info[p].files} + <dd><a href='{$info[p].files[nonclass].link}' target='right'>{$info[p].files[nonclass].title}</a></dd> + {/section} + {/if} + + {else} + {if $info[p].tutorials} + <dt class="folder-title">Tutorials/Manuals</dt> + <dd> + {if $info[p].tutorials.pkg} + <dl class="tree"> + <dt class="folder-title">Package-level</dt> + <dd> + {section name=ext loop=$info[p].tutorials.pkg} + {$info[p].tutorials.pkg[ext]} + {/section} + </dd> + </dl> + {/if} + + {if $info[p].tutorials.cls} + <dl class="tree"> + <dt class="folder-title">Class-level</dt> + <dd> + {section name=ext loop=$info[p].tutorials.cls} + {$info[p].tutorials.cls[ext]} + {/section} + </dd> + </dl> + {/if} + + {if $info[p].tutorials.proc} + <dl class="tree"> + <dt class="folder-title">Function-level</dt> + <dd> + {section name=ext loop=$info[p].tutorials.proc} + {$info[p].tutorials.proc[ext]} + {/section} + </dd> + </dl> + {/if} + </dd> + {/if} + + <dt class="sub-package">{$info[p].subpackage}</dt> + <dd> + <dl class="tree"> + {if $info[p].subpackagetutorial} + <div><a href="{$info.0.subpackagetutorialnoa}" target="right">{$info.0.subpackagetutorialtitle}</a></div> + {/if} + {if $info[p].classes} + <dt class="folder-title">Classes</dt> + {section name=class loop=$info[p].classes} + <dd><a href='{$info[p].classes[class].link}' target='right'>{$info[p].classes[class].title}</a></dd> + {/section} + {/if} + {if $info[p].functions} + <dt class="folder-title">Functions</dt> + {section name=f loop=$info[p].functions} + <dd><a href='{$info[p].functions[f].link}' target='right'>{$info[p].functions[f].title}</a></dd> + {/section} + {/if} + {if $info[p].files} + <dt class="folder-title">Files</dt> + {section name=nonclass loop=$info[p].files} + <dd><a href='{$info[p].files[nonclass].link}' target='right'>{$info[p].files[nonclass].title}</a></dd> + {/section} + {/if} + </dl> + </dd> + + {/if} + + {/section} + </dl> +</div> +<p class="notes"><a href="{$phpdocwebsite}" target="_blank">phpDocumentor v <span class="field">{$phpdocversion}</span></a></p> +</BODY> +</HTML> diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/l0l33t/templates/media/banner.css b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/l0l33t/templates/media/banner.css new file mode 100755 index 00000000..4f7db5da --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/l0l33t/templates/media/banner.css @@ -0,0 +1,32 @@ +body +{ + background: #EEEEEE url(bg_left.png) repeat; + margin: 0px; + padding: 0px; +} + +/* Banner (top bar) classes */ + +.banner { } + +.banner-menu +{ + clear: both; + padding: .5em; + border-top: 2px solid #999999; +} + +.banner-title +{ + text-align: right; + font-size: 20pt; + font-weight: bold; + margin: .2em; +} + +.package-selector +{ + background-color: #EEEEEE; + border: 1px solid black; + color: #0000C0; +} diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/l0l33t/templates/media/bg_left.png b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/l0l33t/templates/media/bg_left.png Binary files differnew file mode 100755 index 00000000..1c331f09 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/l0l33t/templates/media/bg_left.png diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/l0l33t/templates/media/stylesheet.css b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/l0l33t/templates/media/stylesheet.css new file mode 100755 index 00000000..26a31801 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/l0l33t/templates/media/stylesheet.css @@ -0,0 +1,154 @@ +a +{ + color: #336699; + text-decoration: underline; +} + +a:hover, a:active, a:focus +{ + text-decoration: underline; + color: #6699CC +} + +body { background: #FFFFFF; font-family: "Courier New", Courier, fixed; font-size: 10pt } +table { font-size: 10pt } +p, li { line-height: 140% } +a img { border: 0px; } +dd { margin-left: 0px; padding-left: 1em; } + +/* Page layout/boxes */ + +.info-box {} +.info-box-title { margin: 1em 0em 0em 0em; padding: .25em; font-weight: normal; font-size: 14pt; border: 1px solid #336699; background-color: #EEEEEE } +.info-box-body { border: 1px solid #999999; padding: .5em; } +.nav-bar { font-size: 8pt; white-space: nowrap; text-align: right; padding: .2em; margin: 0em 0em 1em 0em; } + +.oddrow { background-color: #F4F4F4; border: 1px solid #AAAAAA; padding: .5em; margin-bottom: 1em} +.evenrow { border: 1px solid #AAAAAA; padding: .5em; margin-bottom: 1em} + +.page-body { max-width: 800px; margin: auto; } +.menu-body { background: #EEEEEE url(bg_left.css) repeat } +.tree dl { margin: 0px } +.tree a { text-decoration: none } +.tree a:hover, .tree a:active, .tree a:focus { text-decoration: underline } + +/* Index formatting classes */ + +.index-item-body { margin-top: .5em; margin-bottom: .5em} +.index-item-description { margin-top: .25em } +.index-item-details { font-weight: normal; font-style: italic; font-size: 8pt } +.index-letter-section { background-color: #EEEEEE; border: 1px dotted #999999; padding: .5em; margin-bottom: 1em} +.index-letter-title { font-size: 12pt; font-weight: bold } +.index-letter-menu { text-align: center; margin: 1em } +.index-letter { font-size: 12pt } + +/* Docbook classes */ + +.description {} +.short-description { font-weight: bold; color: #666666; } +.tags { padding-left: 0em; margin-left: 3em; color: #666666; list-style-type: square; } +.parameters { padding-left: 0em; margin-left: 3em; font-style: italic; list-style-type: square; } +.redefinitions { font-size: 8pt; padding-left: 0em; margin-left: 2em; } +.package { } +.package-title { font-weight: bold; font-size: 14pt; border-bottom: 1px solid black } +.package-details { font-size: 85%; } +.sub-package { font-weight: bold; font-size: 120% } +.tutorial { border-width: thin; border-color: #0066ff } +.tutorial-nav-box { width: 100%; border: 1px solid #AAAAAA; background: #EEEEEE url(bg_left.png) repeat; } +.nav-button-disabled { color: #AAAAAA; } +.nav-button:active, +.nav-button:focus, +.nav-button:hover { background-color: #CCCCCC; outline: 1px solid #999999; text-decoration: none } +.folder-title { font-style: italic } + +/* Generic formatting */ + +.field { font-weight: bold; } +.detail { font-size: 8pt; } +.notes { font-style: italic; font-size: 8pt; } +.separator { background-color: #999999; height: 2px; } +.warning { color: #CC0000; } +.disabled { font-style: italic; color: #999999; } + +/* Code elements */ + +.line-number { } + +.class-table { width: 100%; } +.class-table-header { border-bottom: 1px dotted #666666; text-align: left; background-color: DDDDFF } +.class-name { color: #000000; font-weight: bold; } + +.method-summary { padding-left: 1em; font-size: 8pt } +.method-header { } +.method-definition { margin-bottom: .3em } +.method-title { font-weight: bold } +.method-name { font-weight: bold; } +.method-signature { font-size: 85%; color: #666666; margin: .5em 0em } +.method-result { font-style: italic; } + +.var-summary { padding-left: 1em; font-size: 8pt; } +.var-header { } +.var-title { margin-bottom: .3em } +.var-type { font-style: italic; border: 1px dashed #336699 } +.var-name { font-weight: bold; } +.var-default { border: 1px dashed #336699 } +.var-description { font-weight: normal; color: #000000; } + +.include-title { } +.include-type { font-style: italic; } +.include-name { font-weight: bold; } + +.const-title { } +.const-name { font-weight: bold; } + +/* Syntax highlighting */ + +.src-code { border: 1px solid #336699; padding: 1em; + font-family: 'Courier New', Courier, monospace; font-weight: normal; } +.src-line { font-family: 'Courier New', Courier, monospace; font-weight: normal; } + +.src-comm { color: green; } +.src-id { } +.src-inc { color: #0000FF; } +.src-key { color: #0000FF; } +.src-num { color: #CC0000; } +.src-str { color: #66cccc; } +.src-sym { font-weight: bold; } +.src-var { } + +.src-php { font-weight: bold; } + +.src-doc { color: #009999 } +.src-doc-close-template { color: #0000FF } +.src-doc-coretag { color: #0099FF; font-weight: bold } +.src-doc-inlinetag { color: #0099FF } +.src-doc-internal { color: #6699cc } +.src-doc-tag { color: #0080CC } +.src-doc-template { color: #0000FF } +.src-doc-type { font-style: italic } +.src-doc-var { font-style: italic } + +.tute-tag { color: #009999 } +.tute-attribute-name { color: #0000FF } +.tute-attribute-value { color: #0099FF } +.tute-entity { font-weight: bold; } +.tute-comment { font-style: italic } +.tute-inline-tag { color: #636311; font-weight: bold } + +/* tutorial */ + +.authors { } +.author { font-style: italic; font-weight: bold } +.author-blurb { margin: .5em 0em .5em 2em; font-size: 85%; font-weight: normal; font-style: normal } +.example { border: 1px solid #336699; background-color: #F4F4F4; padding: .5em; } +.listing { border: 1px solid #336699; background-color: #F4F4F4; padding: .5em; white-space: nowrap; } +.release-info { font-size: 85%; font-style: italic; margin: 1em 0em } +.ref-title-box { } +.ref-title { } +.ref-purpose { font-style: italic; color: #666666 } +.ref-synopsis { } +.title { font-weight: bold; border-bottom: 1px solid #336699; padding: 2px } +.cmd-synopsis { margin: 1em 0em } +.cmd-title { font-weight: bold } +.toc { margin-left: 2em; padding-left: 0em } + diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/l0l33t/templates/method.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/l0l33t/templates/method.tpl new file mode 100755 index 00000000..06d57a12 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/l0l33t/templates/method.tpl @@ -0,0 +1,149 @@ +<A NAME='method_detail'></A> +{section name=methods loop=$methods} +{if $methods[methods].static} +<a name="method{$methods[methods].function_name}" id="{$methods[methods].function_name}"><!-- --></a> +<div class="{cycle values="evenrow,oddrow"}"> + + <div class="method-header"> + <span class="method-title">static {$methods[methods].function_name}</span> (line <span class="line-number">{if $methods[methods].slink}{$methods[methods].slink}{else}{$methods[methods].line_number}{/if}</span>) + </div> + + {include file="docblock.tpl" sdesc=$methods[methods].sdesc desc=$methods[methods].desc tags=$methods[methods].tags params=$methods[methods].params function=false} + + <div class="method-signature"> + static <span class="method-result">{$methods[methods].function_return}</span> + <span class="method-name"> + {if $methods[methods].ifunction_call.returnsref}&{/if}{$methods[methods].function_name} + </span> + {if count($methods[methods].ifunction_call.params)} + ({section name=params loop=$methods[methods].ifunction_call.params}{if $smarty.section.params.iteration != 1}, {/if}{if $methods[methods].ifunction_call.params[params].hasdefault}[{/if}<span class="var-type">{$methods[methods].ifunction_call.params[params].type}</span> <span class="var-name">{$methods[methods].ifunction_call.params[params].name}</span>{if $methods[methods].ifunction_call.params[params].hasdefault} = <span class="var-default">{$methods[methods].ifunction_call.params[params].default}</span>]{/if}{/section}) + {else} + () + {/if} + </div> + + {if $methods[methods].params} + <ul class="parameters"> + {section name=params loop=$methods[methods].params} + <li> + <span class="var-type">{$methods[methods].params[params].datatype}</span> + <span class="var-name">{$methods[methods].params[params].var}</span>{if $methods[methods].params[params].data}<span class="var-description">: {$methods[methods].params[params].data}</span>{/if} + </li> + {/section} + </ul> + {/if} + + {if $methods[methods].method_overrides} + <hr class="separator" /> + <div class="notes">Redefinition of:</div> + <dl> + <dt>{$methods[methods].method_overrides.link}</dt> + {if $methods[methods].method_overrides.sdesc} + <dd>{$methods[methods].method_overrides.sdesc}</dd> + {/if} + </dl> + {/if} + {if $methods[methods].method_implements} + <hr class="separator" /> + <div class="notes">Implementation of:</div> + {section name=imp loop=$methods[methods].method_implements} + <dl> + <dt>{$methods[methods].method_implements[imp].link}</dt> + {if $methods[methods].method_implements[imp].sdesc} + <dd>{$methods[methods].method_implements[imp].sdesc}</dd> + {/if} + </dl> + {/section} + {/if} + + {if $methods[methods].descmethod} + <hr class="separator" /> + <div class="notes">Redefined in descendants as:</div> + <ul class="redefinitions"> + {section name=dm loop=$methods[methods].descmethod} + <li> + {$methods[methods].descmethod[dm].link} + {if $methods[methods].descmethod[dm].sdesc} + : {$methods[methods].descmethod[dm].sdesc} + {/if} + </li> + {/section} + </ul> + {/if} +</div> +{/if} +{/section} +{section name=methods loop=$methods} +{if !$methods[methods].static} +<a name="method{$methods[methods].function_name}" id="{$methods[methods].function_name}"><!-- --></a> +<div class="{cycle values="evenrow,oddrow"}"> + + <div class="method-header"> + <span class="method-title">{if $methods[methods].ifunction_call.constructor}Constructor {elseif $methods[methods].ifunction_call.destructor}Destructor {/if}{$methods[methods].function_name}</span> (line <span class="line-number">{if $methods[methods].slink}{$methods[methods].slink}{else}{$methods[methods].line_number}{/if}</span>) + </div> + + {include file="docblock.tpl" sdesc=$methods[methods].sdesc desc=$methods[methods].desc tags=$methods[methods].tags params=$methods[methods].params function=false} + + <div class="method-signature"> + <span class="method-result">{$methods[methods].function_return}</span> + <span class="method-name"> + {if $methods[methods].ifunction_call.returnsref}&{/if}{$methods[methods].function_name} + </span> + {if count($methods[methods].ifunction_call.params)} + ({section name=params loop=$methods[methods].ifunction_call.params}{if $smarty.section.params.iteration != 1}, {/if}{if $methods[methods].ifunction_call.params[params].hasdefault}[{/if}<span class="var-type">{$methods[methods].ifunction_call.params[params].type}</span> <span class="var-name">{$methods[methods].ifunction_call.params[params].name}</span>{if $methods[methods].ifunction_call.params[params].hasdefault} = <span class="var-default">{$methods[methods].ifunction_call.params[params].default}</span>]{/if}{/section}) + {else} + () + {/if} + </div> + + {if $methods[methods].params} + <ul class="parameters"> + {section name=params loop=$methods[methods].params} + <li> + <span class="var-type">{$methods[methods].params[params].datatype}</span> + <span class="var-name">{$methods[methods].params[params].var}</span>{if $methods[methods].params[params].data}<span class="var-description">: {$methods[methods].params[params].data}</span>{/if} + </li> + {/section} + </ul> + {/if} + + {if $methods[methods].method_overrides} + <hr class="separator" /> + <div class="notes">Redefinition of:</div> + <dl> + <dt>{$methods[methods].method_overrides.link}</dt> + {if $methods[methods].method_overrides.sdesc} + <dd>{$methods[methods].method_overrides.sdesc}</dd> + {/if} + </dl> + {/if} + {if $methods[methods].method_implements} + <hr class="separator" /> + <div class="notes">Implementation of:</div> + {section name=imp loop=$methods[methods].method_implements} + <dl> + <dt>{$methods[methods].method_implements[imp].link}</dt> + {if $methods[methods].method_implements[imp].sdesc} + <dd>{$methods[methods].method_implements[imp].sdesc}</dd> + {/if} + </dl> + {/section} + {/if} + + {if $methods[methods].descmethod} + <hr class="separator" /> + <div class="notes">Redefined in descendants as:</div> + <ul class="redefinitions"> + {section name=dm loop=$methods[methods].descmethod} + <li> + {$methods[methods].descmethod[dm].link} + {if $methods[methods].descmethod[dm].sdesc} + : {$methods[methods].descmethod[dm].sdesc} + {/if} + </li> + {/section} + </ul> + {/if} +</div> +{/if} +{/section} diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/l0l33t/templates/page.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/l0l33t/templates/page.tpl new file mode 100755 index 00000000..b5980236 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/l0l33t/templates/page.tpl @@ -0,0 +1,211 @@ +{include file="header.tpl" top3=true} + +<h2 class="file-name">{$source_location}</h2> + +<a name="sec-description"></a> +<div class="info-box"> + <div class="info-box-title">Description</div> + <div class="nav-bar"> + {if $classes || $includes || $defines || $globals || $functions} + <span class="disabled">Description</span> | + {/if} + {if $classes} + <a href="#sec-classes">Classes</a> + {if $includes || $defines || $globals || $functions}|{/if} + {/if} + {if $includes} + <a href="#sec-includes">Includes</a> + {if $defines || $globals || $functions}|{/if} + {/if} + {if $defines} + <a href="#sec-constants">Constants</a> + {if $globals || $functions}|{/if} + {/if} + {if $globals} + <a href="#sec-variables">Variables</a> + {if $functions}|{/if} + {/if} + {if $functions} + <a href="#sec-functions">Functions</a> + {/if} + </div> + <div class="info-box-body"> + {include file="docblock.tpl" desc=$desc sdesc=$sdesc tags=$tags} + + {if $tutorial} + <hr class="separator" /> + <div class="notes">Tutorial: <span class="tutorial">{$tutorial}</div> + {/if} + </div> +</div> + +{if $classes} + <a name="sec-classes"></a> + <div class="info-box"> + <div class="info-box-title">Classes</div> + <div class="nav-bar"> + <a href="#sec-description">Description</a> | + <span class="disabled">Classes</span> + {if $includes || $defines || $globals || $functions}|{/if} + {if $includes} + <a href="#sec-includes">Includes</a> + {if $defines || $globals || $functions}|{/if} + {/if} + {if $defines} + <a href="#sec-constants">Constants</a> + {if $globals || $functions}|{/if} + {/if} + {if $globals} + <a href="#sec-variables">Variables</a> + {if $functions}|{/if} + {/if} + {if $functions} + <a href="#sec-functions">Functions</a> + {/if} + </div> + <div class="info-box-body"> + <table cellpadding="2" cellspacing="0" class="class-table"> + <tr> + <th class="class-table-header">Class</th> + <th class="class-table-header">Description</th> + </tr> + {section name=classes loop=$classes} + <tr> + <td style="padding-right: 2em; vertical-align: top"> + {$classes[classes].link} + </td> + <td> + {if $classes[classes].sdesc} + {$classes[classes].sdesc} + {else} + {$classes[classes].desc} + {/if} + </td> + </tr> + {/section} + </table> + </div> + </div> +{/if} + +{if $includes} + <a name="sec-includes"></a> + <div class="info-box"> + <div class="info-box-title">Includes</div> + <div class="nav-bar"> + <a href="#sec-description">Description</a> | + {if $classes} + <a href="#sec-classes">Classes</a> + {if $includes || $defines || $globals || $functions}|{/if} + {/if} + <span class="disabled">Includes</span> + {if $defines || $globals || $functions}|{/if} + {if $defines} + <a href="#sec-constants">Constants</a> + {if $globals || $functions}|{/if} + {/if} + {if $globals} + <a href="#sec-variables">Variables</a> + {if $functions}|{/if} + {/if} + {if $functions} + <a href="#sec-functions">Functions</a> + {/if} + </div> + <div class="info-box-body"> + {include file="include.tpl"} + </div> + </div> +{/if} + +{if $defines} + <a name="sec-constants"></a> + <div class="info-box"> + <div class="info-box-title">Constants</div> + <div class="nav-bar"> + <a href="#sec-description">Description</a> | + {if $classes} + <a href="#sec-classes">Classes</a> + {if $includes || $defines || $globals || $functions}|{/if} + {/if} + {if $includes} + <a href="#sec-includes">Includes</a> + {if $defines || $globals || $functions}|{/if} + {/if} + <span class="disabled">Constants</span> + {if $globals || $functions}|{/if} + {if $globals} + <a href="#sec-variables">Variables</a> + {if $functions}|{/if} + {/if} + {if $functions} + <a href="#sec-functions">Functions</a> + {/if} + </div> + <div class="info-box-body"> + {include file="define.tpl"} + </div> + </div> +{/if} + +{if $globals} + <a name="sec-variables"></a> + <div class="info-box"> + <div class="info-box-title">Variables</div> + <div class="nav-bar"> + <a href="#sec-description">Description</a> | + {if $classes} + <a href="#sec-classes">Classes</a> + {if $includes || $defines || $globals || $functions}|{/if} + {/if} + {if $includes} + <a href="#sec-includes">Includes</a> + {if $defines || $globals || $functions}|{/if} + {/if} + {if $defines} + <a href="#sec-constants">Constants</a> + {if $globals || $functions}|{/if} + {/if} + <span class="disabled">Variables</span> + {if $functions}|{/if} + {if $functions} + <a href="#sec-functions">Functions</a> + {/if} + </div> + <div class="info-box-body"> + {include file="global.tpl"} + </div> + </div> +{/if} + +{if $functions} + <a name="sec-functions"></a> + <div class="info-box"> + <div class="info-box-title">Functions</div> + <div class="nav-bar"> + <a href="#sec-description">Description</a> | + {if $classes} + <a href="#sec-classes">Classes</a> + {if $includes || $defines || $globals || $functions}|{/if} + {/if} + {if $includes} + <a href="#sec-includes">Includes</a> + {if $defines || $globals || $functions}|{/if} + {/if} + {if $defines} + <a href="#sec-constants">Constants</a> + {if $globals || $functions}|{/if} + {/if} + {if $globals} + <a href="#sec-variables">Variables</a> + {if $functions}|{/if} + {/if} + <span class="disabled">Functions</span> + </div> + <div class="info-box-body"> + {include file="function.tpl"} + </div> + </div> +{/if} + +{include file="footer.tpl" top3=true} diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/l0l33t/templates/pkgelementindex.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/l0l33t/templates/pkgelementindex.tpl new file mode 100755 index 00000000..dc283ad0 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/l0l33t/templates/pkgelementindex.tpl @@ -0,0 +1,17 @@ +{include file="header.tpl"} +<a name="top"></a> +<h2>[{$package}] element index</h2> +{if count($packageindex) > 1} + <h3>Package indexes</h3> + <ul> + {section name=p loop=$packageindex} + {if $packageindex[p].title != $package} + <li><a href="elementindex_{$packageindex[p].title}.html">{$packageindex[p].title}</a></li> + {/if} + {/section} + </ul> +{/if} +<a href="elementindex.html">All elements</a> +<br /> +{include file="basicindex.tpl" indexname=elementindex_$package} +{include file="footer.tpl"} diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/l0l33t/templates/ric.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/l0l33t/templates/ric.tpl new file mode 100755 index 00000000..eff734c1 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/l0l33t/templates/ric.tpl @@ -0,0 +1,6 @@ +{include file="header.tpl"} +<h1 align="center">{$name}</h1> +<pre> +{$contents|htmlentities} +</pre> +{include file="footer.tpl"}
\ No newline at end of file diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/l0l33t/templates/todolist.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/l0l33t/templates/todolist.tpl new file mode 100755 index 00000000..f929ccdb --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/l0l33t/templates/todolist.tpl @@ -0,0 +1,14 @@ +{include file="header.tpl" title="Todo List"} +<div align="center"><h1>Todo List</h1></div> +{foreach from=$todos key=todopackage item=todo} +<h2>{$todopackage}</h2> +{section name=todo loop=$todo} +<h3>{$todo[todo].link}</h3> +<ul> +{section name=t loop=$todo[todo].todos} + <li>{$todo[todo].todos[t]}</li> +{/section} +</ul> +{/section} +{/foreach} +{include file="footer.tpl"}
\ No newline at end of file diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/l0l33t/templates/top_frame.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/l0l33t/templates/top_frame.tpl new file mode 100755 index 00000000..36d1e5a1 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/l0l33t/templates/top_frame.tpl @@ -0,0 +1,45 @@ +<?xml version="1.0" encoding="iso-8859-1"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> + <html xmlns="http://www.w3.org/1999/xhtml"> + <head> + <!-- template designed by Marco Von Ballmoos --> + <title>{$title}</title> + <link rel="stylesheet" href="{$subdir}media/stylesheet.css" /> + <link rel="stylesheet" href="{$subdir}media/banner.css" /> + <meta http-equiv='Content-Type' content='text/html; charset=iso-8859-1'/> + </head> + <body> + <div class="banner"> + <div class="banner-title">{$package}</div> + <div class="banner-menu"> + <form> + <table cellpadding="0" cellspacing="0" style="width: 100%"> + <tr> + <td> + {if count($ric) >= 1} + {assign var="last_ric_name" value=""} + {section name=ric loop=$ric} + {if $last_ric_name != ""} | {/if} + <a href="{$ric[ric].file}" target="right">{$ric[ric].name}</a> + {assign var="last_ric_name" value=$ric[ric].name} + {/section} + {/if} + </td> + <td style="width: 2em"> </td> + <td style="text-align: right"> + {if count($packages) > 1} + <span class="field">Packages</span> + <select class="package-selector" onchange="window.parent.left_bottom.location=this[selectedIndex].value"> + {section name=p loop=$packages} + <option value="{$packages[p].link}">{$packages[p].title}</option> + {/section} + </select> + {/if} + </td> + </tr> + </table> + </form> + </div> + </div> + </body> + </html> diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/l0l33t/templates/tutorial.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/l0l33t/templates/tutorial.tpl new file mode 100755 index 00000000..3b9109d1 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/l0l33t/templates/tutorial.tpl @@ -0,0 +1,13 @@ +{include file="header.tpl" title=$title top3=true} + +{if $nav} + {include file="tutorial_nav.tpl" prev=$prev next=$next up=$up prevtitle=$prevtitle nexttitle=$nexttitle uptitle=$uptitle} +{/if} + +{$contents} + +{if $nav} + {include file="tutorial_nav.tpl" prev=$prev next=$next up=$up prevtitle=$prevtitle nexttitle=$nexttitle uptitle=$uptitle} +{/if} + +{include file="footer.tpl" top3=true}
\ No newline at end of file diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/l0l33t/templates/tutorial_nav.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/l0l33t/templates/tutorial_nav.tpl new file mode 100755 index 00000000..89952301 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/l0l33t/templates/tutorial_nav.tpl @@ -0,0 +1,41 @@ +<table class="tutorial-nav-box"> + <tr> + <td style="width: 30%"> + {if $prev} + <a href="{$prev}" class="nav-button">Previous</a> + {else} + <span class="nav-button-disabled">Previous</span> + {/if} + </td> + <td style="text-align: center"> + {if $up} + <a href="{$up}" class="nav-button">Up</a> + {/if} + </td> + <td style="text-align: right; width: 30%"> + {if $next} + <a href="{$next}" class="nav-button">Next</a> + {else} + <span class="nav-button-disabled">Next</span> + {/if} + </td> + </tr> + <tr> + <td style="width: 30%"> + {if $prevtitle} + <span class="detail">{$prevtitle}</span> + {/if} + </td> + <td style="text-align: center"> + {if $uptitle} + <span class="detail">{$uptitle}</span> + {/if} + </td> + <td style="text-align: right; width: 30%"> + {if $nexttitle} + <span class="detail">{$nexttitle}</span> + {/if} + </td> + </tr> +</table> +
\ No newline at end of file diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/l0l33t/templates/tutorial_toc.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/l0l33t/templates/tutorial_toc.tpl new file mode 100755 index 00000000..3482249b --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/l0l33t/templates/tutorial_toc.tpl @@ -0,0 +1,40 @@ +{if count($toc)} +<h1 class="title">Table of Contents</h1> +<ul class="toc"> + {assign var="lastcontext" value='refsect1'} + {section name=toc loop=$toc} + + {if $toc[toc].tagname != $lastcontext} + {if $lastcontext == 'refsect1'} + <ul class="toc"> + <li>{$toc[toc].link}</li> + {else} + {if $lastcontext == 'refsect2'} + {if $toc[toc].tagname == 'refsect1'} + </ul> + <li>{$toc[toc].link}</li> + {/if} + {if $toc[toc].tagname == 'refsect3'} + <ul class="toc"> + <li>{$toc[toc].link}</li> + {/if} + {else} + </ul> + </ul> + <li>{$toc[toc].link}</li> + {/if} + {/if} + {assign var="lastcontext" value=$toc[toc].tagname} + {else} + <li>{$toc[toc].link}</li> + {/if} + {/section} + {if $lastcontext == 'refsect2'} + </ul> + {/if} + {if $lastcontext == 'refsect3'} + </ul> + </ul> + {/if} +</ul> +{/if} diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/l0l33t/templates/tutorial_tree.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/l0l33t/templates/tutorial_tree.tpl new file mode 100755 index 00000000..617b5654 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/l0l33t/templates/tutorial_tree.tpl @@ -0,0 +1,6 @@ +<div><a href="{$main.link}" target="right">{$main.title|strip_tags}</a></div> +{if $haskids} +<div style="margin-left: 1em"> + {$kids} +</div> +{/if} diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/l0l33t/templates/var.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/l0l33t/templates/var.tpl new file mode 100755 index 00000000..fccf6892 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/l0l33t/templates/var.tpl @@ -0,0 +1,92 @@ +{section name=vars loop=$vars} +{if $vars[vars].static} +<a name="var{$vars[vars].var_name}" id="{$vars[vars].var_name}"><!-- --></A> +<div class="{cycle values="evenrow,oddrow"}"> + + <div class="var-header"> + <span class="var-title"> + static <span class="var-type">{$vars[vars].var_type}</span> + <span class="var-name">{$vars[vars].var_name}</span> + {if $vars[vars].var_default} = <span class="var-default">{$vars[vars].var_default|replace:"\n":"<br />"}</span>{/if} + (line <span class="line-number">{if $vars[vars].slink}{$vars[vars].slink}{else}{$vars[vars].line_number}{/if}</span>) + </span> + </div> + + {include file="docblock.tpl" sdesc=$vars[vars].sdesc desc=$vars[vars].desc tags=$vars[vars].tags} + + {if $vars[vars].var_overrides} + <hr class="separator" /> + <div class="notes">Redefinition of:</div> + <dl> + <dt>{$vars[vars].var_overrides.link}</dt> + {if $vars[vars].var_overrides.sdesc} + <dd>{$vars[vars].var_overrides.sdesc}</dd> + {/if} + </dl> + {/if} + + {if $vars[vars].descvar} + <hr class="separator" /> + <div class="notes">Redefined in descendants as:</div> + <ul class="redefinitions"> + {section name=vm loop=$vars[vars].descvar} + <li> + {$vars[vars].descvar[vm].link} + {if $vars[vars].descvar[vm].sdesc} + : {$vars[vars].descvar[vm].sdesc} + {/if} + </li> + {/section} + </ul> + {/if} + +</div> +{/if} +{/section} + +{section name=vars loop=$vars} +{if !$vars[vars].static} +<a name="var{$vars[vars].var_name}" id="{$vars[vars].var_name}"><!-- --></A> +<div class="{cycle values="evenrow,oddrow"}"> + + <div class="var-header"> + <span class="var-title"> + <span class="var-type">{$vars[vars].var_type}</span> + <span class="var-name">{$vars[vars].var_name}</span> + {if $vars[vars].var_default} = <span class="var-default">{$vars[vars].var_default|replace:"\n":"<br />"}</span>{/if} + (line <span class="line-number">{if $vars[vars].slink}{$vars[vars].slink}{else}{$vars[vars].line_number}{/if}</span>) + </span> + </div> + + {include file="docblock.tpl" sdesc=$vars[vars].sdesc desc=$vars[vars].desc tags=$vars[vars].tags} + + {if $vars[vars].var_overrides} + <hr class="separator" /> + <div class="notes">Redefinition of:</div> + <dl> + <dt>{$vars[vars].var_overrides.link}</dt> + {if $vars[vars].var_overrides.sdesc} + <dd>{$vars[vars].var_overrides.sdesc}</dd> + {/if} + </dl> + {/if} + + {if $vars[vars].descvar} + <hr class="separator" /> + <div class="notes">Redefined in descendants as:</div> + <ul class="redefinitions"> + {section name=vm loop=$vars[vars].descvar} + <li> + {$vars[vars].descvar[vm].link} + {if $vars[vars].descvar[vm].sdesc} + : {$vars[vars].descvar[vm].sdesc} + {/if} + </li> + {/section} + </ul> + {/if} + +</div> +{/if} +{/section} + diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phpdoc.de/options.ini b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phpdoc.de/options.ini new file mode 100755 index 00000000..084809be --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phpdoc.de/options.ini @@ -0,0 +1,577 @@ +preservedocbooktags = false + +;; used to highlight the {@source} inline tag, @filesource tag, and @example tag +[highlightSourceTokens] +;; format: +;; T_CONSTANTNAME = open +;; /T_CONSTANTNAME = close + +T_INCLUDE = <span class="src-inc"> +/T_INCLUDE = </span> +T_INCLUDE_ONCE = <span class="src-inc"> +/T_INCLUDE_ONCE = </span> +T_REQUIRE_ONCE = <span class="src-inc"> +/T_REQUIRE_ONCE = </span> +T_REQUIRE_ONCE = <span class="src-inc"> +/T_REQUIRE_ONCE = </span> + +T_CONSTANT_ENCAPSED_STRING = <span class="src-str"> +/T_CONSTANT_ENCAPSED_STRING = </span> +T_STRING_VARNAME = <span class="src-str"> +/T_STRING_VARNAME = </span> + +T_STRING = <span class="src-id"> +/T_STRING = </span> + +T_DNUMBER = <span class="src-num"> +/T_DNUMBER = </span> +T_LNUMBER = <span class="src-num"> +/T_LNUMBER = </span> + +T_VARIABLE = <span class="src-var"> +/T_VARIABLE = </span> + +T_COMMENT = <span class="src-comm"> +/T_COMMENT = </span> +T_ML_COMMENT = <span class="src-comm"> +/T_ML_COMMENT = </span> + +T_OBJECT_OPERATOR = <span class="src-sym"> +/T_OBJECT_OPERATOR = </span> + +T_ABSTRACT = <span class="src-key"> +/T_ABSTRACT = </span> +T_CLONE = <span class="src-key"> +/T_CLONE = </span> +T_HALT_COMPILER = <span class="src-key"> +/T_HALT_COMPILER = </span> +T_ARRAY = <span class="src-key"> +/T_ARRAY = </span> +T_AS = <span class="src-key"> +/T_AS = </span> +T_BREAK = <span class="src-key"> +/T_BREAK = </span> +T_CLASS = <span class="src-key"> +/T_CLASS = </span> +T_CASE = <span class="src-key"> +/T_CASE = </span> +T_CONST = <span class="src-key"> +/T_CONST = </span> +T_CONTINUE = <span class="src-key"> +/T_CONTINUE = </span> +T_DECLARE = <span class="src-key"> +/T_DECLARE = </span> +T_DEFAULT = <span class="src-key"> +/T_DEFAULT = </span> +T_ELSE = <span class="src-key"> +/T_ELSE = </span> +T_ELSEIF = <span class="src-key"> +/T_ELSEIF = </span> +T_EMPTY = <span class="src-key"> +/T_EMPTY = </span> +T_ENDDECLARE = <span class="src-key"> +/T_ENDDECLARE = </span> +T_ENDFOR = <span class="src-key"> +/T_ENDFOR = </span> +T_ENDSWITCH = <span class="src-key"> +/T_ENDSWITCH = </span> +T_ENDFOREACH = <span class="src-key"> +/T_ENDFOREACH = </span> +T_ENDIF = <span class="src-key"> +/T_ENDIF = </span> +T_ENDWHILE = <span class="src-key"> +/T_ENDWHILE = </span> +T_EXIT = <span class="src-key"> +/T_EXIT = </span> +T_EXTENDS = <span class="src-key"> +/T_EXTENDS = </span> +T_FINAL = <span class="src-key"> +/T_FINAL = </span> +T_FOR = <span class="src-key"> +/T_FOR = </span> +T_FOREACH = <span class="src-key"> +/T_FOREACH = </span> +T_FUNCTION = <span class="src-key"> +/T_FUNCTION = </span> +T_GLOBAL = <span class="src-key"> +/T_GLOBAL = </span> +T_IF = <span class="src-key"> +/T_IF = </span> +T_IMPLEMENTS = <span class="src-key"> +/T_IMPLEMENTS = </span> +T_INTERFACE = <span class="src-key"> +/T_INTERFACE = </span> +T_LOGICAL_AND = <span class="src-key"> +/T_LOGICAL_AND = </span> +T_LOGICAL_OR = <span class="src-key"> +/T_LOGICAL_OR = </span> +T_LOGICAL_XOR = <span class="src-key"> +/T_LOGICAL_XOR = </span> +T_NEW = <span class="src-key"> +/T_NEW = </span> +T_PRIVATE = <span class="src-key"> +/T_PRIVATE = </span> +T_PROTECTED = <span class="src-key"> +/T_PROTECTED = </span> +T_PUBLIC = <span class="src-key"> +/T_PUBLIC = </span> +T_RETURN = <span class="src-key"> +/T_RETURN = </span> +T_STATIC = <span class="src-key"> +/T_STATIC = </span> +T_SWITCH = <span class="src-key"> +/T_SWITCH = </span> +T_VAR = <span class="src-key"> +/T_VAR = </span> +T_WHILE = <span class="src-key"> +/T_WHILE = </span> + +T_DOUBLE_COLON = <span class="src-sym"> +/T_DOUBLE_COLON = </span> + +T_OPEN_TAG = <span class="src-php"> +/T_OPEN_TAG = </span> +T_OPEN_TAG_WITH_ECHO = <span class="src-php"> +/T_OPEN_TAG_WITH_ECHO = </span> +T_CLOSE_TAG = <span class="src-php"> +/T_CLOSE_TAG = </span> + + +[highlightSource] +;; this is for highlighting things that aren't tokens like "&" +;; format: +;; word = open +;; /word = close +@ = <span class="src-sym"> +/@ = </span> +& = <span class="src-sym"> +/& = </span> +[ = <span class="src-sym"> +/[ = </span> +] = <span class="src-sym"> +/] = </span> +! = <span class="src-sym"> +/! = </span> +";" = <span class="src-sym"> +/; = </span> +( = <span class="src-sym"> +/( = </span> +) = <span class="src-sym"> +/) = </span> +, = <span class="src-sym"> +/, = </span> +{ = <span class="src-sym"> +/{ = </span> +} = <span class="src-sym"> +/} = </span> +""" = <span class="src-str"> +/" = </span> + +[highlightDocBlockSourceTokens] +;; this is for docblock tokens, using by phpDocumentor_HighlightParser +;; tagphptype is for "string" in @param string description, for example +docblock = <span class="src-doc"> +/docblock = </span> +tagphptype = <span class="src-doc-type"> +/tagphptype = </span> +tagvarname = <span class="src-doc-var"> +/tagvarname = </span> +coretag = <span class="src-doc-coretag"> +/coretag = </span> +tag = <span class="src-doc-tag"> +/tag = </span> +inlinetag = <span class="src-doc-inlinetag"> +/inlinetag = </span> +internal = <span class="src-doc-internal"> +/internal = </span> +closetemplate = <span class="src-doc-close-template"> +/closetemplate = </span> +docblocktemplate = <span class="src-doc-template"> +/docblocktemplate = </span> + +[highlightTutorialSourceTokens] +;; this is for XML DocBook-based tutorials, highlighted by phpDocumentor_TutorialHighlightParser +;; <tag> +opentag = <span class="tute-tag"> +/opentag = </span> +;; </tag> +closetag = <span class="tute-tag"> +/closetag = </span> +;; <tag attribute="value"> +attribute = <span class="tute-attribute-name"> +/attribute = </span> +;; <tag attribute="value"> +attributevalue = <span class="tute-attribute-value"> +/attributevalue = </span> +;; &entity; +entity = <span class="tute-entity"> +/entity = </span> +;; <!-- comment --> +comment = <span class="tute-comment"> +/comment = </span> +;; {@inline tag} +itag = <span class="tute-inline-tag"> +/itag = </span> + +;; used for translation of html in DocBlocks +[desctranslate] +ul = <ul> +/ul = </ul> +ol = <ol> +/ol = </ol> +li = <li> +/li = </li> +code = +/code = +var = <var> +/var = </var> +samp = <samp> +/samp = </samp> +kbd = <kbd> +/kbd = </kbd> +pre = <pre> +/pre = </pre> +p = <p> +/p = </p> +b = <strong> +/b = </strong> +i = <em> +/i = </em> +br = <br /> + +[ppage] +;; this is the DocBook package page translation section. All DocBook tags +;; that have a corresponding html tag must be listed here. Entities should +;; also be listed here +;; +;; examples: +;; 1) +;; tagname = newtagname +;; +;; This is the simplest case, where all attributes will be added into the +;; starting tag and the ending tag will be html/xml style </tranlatedtagname> +;; <tagname></tagname> becomes <newtagname></newtagname> and +;; <tagname attr="value"></tagname> becomes +;; <newtagname attr="value"></newtagname> +;; +;; 2) +;; tagname = newtagname +;; tagname->attr = newattrname +;; +;; in this case, everything will be like the first case, except tags like: +;; <tagname attr="value"></tagname> will become +;; <newtagname newattrname="value"></newtagname> +;; +;; 3) +;; tagname = newtagname +;; tagname->attr = newattrname +;; tagname->attr+value = newvalue +;; +;; in this case, the value is also translated to another. This can be useful +;; for instances such as focus="middle" changing to align="center" or something +;; of that nature. +;; <tagname attr="value"></tagname> will become +;; <newtagname newattrname="newvalue"></newtagname> +;; +;; 4) +;; tagname = newtagname +;; tagname->attr1 = newattrname +;; tagname->attr2 = newattrname +;; tagname->attr1+value|attr2+value = newvalue +;; +;; in this case, two attributes combine to make one new attribute, and the combined +;; value is translated into a new value +;; <tagname attr1="value1" attr2="value2"></tagname> will become +;; <newtagname newattrname="newvalue"></newtagname> +;; +;; 5) +;; tagname = newtagname +;; tagname!attr = dummy +;; +;; here, the attribute will be ignored. dummy is not used and may be any value +;; <tagname attr="value"></tagname> will become +;; <newtagname></newtagname> +;; +;; 6) +;; tagname = newtagname +;; tagname! = dummy +;; +;; here, all attributes will be ignored. dummy is not used and may be any value +;; <tagname attr1="value" attr2="foo"></tagname> will become +;; <newtagname></newtagname> +;; +;; 7) +;; tagname = newtagname +;; tagname/ = 1 +;; +;; here, the tag will be translated as a single tag with no closing tag, and all +;; attributes +;; <tagname attr="val">{text text}</tagname> will become +;; <newtagname attr="val" /> +;; +;; 8) +;; tagname = <starttaginfo /> +;; /tagname = closetagtext +;; +;; in this case, the text <starttaginfo> will be inserted exactly as entered for +;; <tagname> and closetagtext for </tagname> +;; <tagname attr="val"></tagname> will become +;; <starttaginfo />closetagtext +;; +;; 9) +;; $attr$my_attribute = newattrname +;; +;; tagname = newtagname +;; +;; in this case, all occurences of my_attribute in any tag will be changed to +;; newattrname. This is useful for changing things like role="php" to +;; class="php," for example. Note that the text "$attr$" MUST be on the line +;; start for phpDocumentor to recognize it. +;; +;; 10) +;; &entity; = translation text +;; " = " +;; " = """ +;; < = < +;; +;; Use this to control translation of entities to their appropriate values + + = +" = " +” = ” +“ = “ +& = & +< = < +> = > +© = © + + +$attr$role = class + +abbrev = abbr + +blockquote = blockquote + +arg = span +arg->choice = class + +author = <span class="author"> +/author = </span> +author! = 0 + +authorblurb = <div class="author-blurb"> +/authorblurb = </div> + +authorgroup = <div class="authors"><h2 class="title">Authors</h2> +/authorgroup = </div> +authorgroup! = 0 + +caution = <span class="warning"> +/caution = </span> +caution! = 0 + +cmdsynopsis = <div class="cmd-synopsis"> +/cmdsynopsis = </div> + +command = <span class="cmd-title"> +/command = </span> + +copyright = <div class="notes"> +/copyright = </div> + +emphasis = em + +example = <div class="src-code"> +/example = </div> +example! = 0 + +function = +/function = () + +formalpara = p + +graphic = img +graphic->fileref = src +graphic/ = + +important = strong + +informalequation = blockquote + +informalexample = div + +inlineequation = em + +itemizedlist = ul + +listitem = li + +literal = code + +literallayout = span + +option = " " +/option = + +orderedlist = ol + +para = p + +programlisting = <div class="src-code"> +/programlisting = </div> +programlisting! = 0 + +refentry = div + +refnamediv = <div class="ref-title-box"> +/refnamediv = </div> +refnamediv! = 0 + +refname = <h1 class="ref-title"> +/refname = </h1> + +refpurpose = <h2 class="ref-purpose"> +/refpurpose = </h2> + +refsynopsisdiv = <div class="ref-synopsis"> +/refsynopsisdiv = </div> +refsynopsisdiv! = 0 + +refsect1 = span + +refsect2 = span + +refsect3 = +/refsect3 = <br /> + +releaseinfo = <div class="release-info">( +/releaseinfo = )</div> + +simpara = +/simpara = <br /> +simpara! = 0 + +subscript = sub + +superscript = super + +table = table + +table->colsep = rules +table->rowsep = rules +table->colsep+1|rowsep+1 =all +table->colsep+1|rowsep+0 =cols +table->colsep+0|rowsep+1 =rows + +table->frame =frame +table->frame+all =border +table->frame+none =void +table->frame+sides =vsides +table->frame+top =above +table->frame+topbot =hsides + +thead = thead + +tfoot = tfoot + +tbody = tbody + +colspec = col + +tgroup = colgroup +tgroup/ = 1 +tgroup->cols = span + +row = tr + +entry = td +entry->morerows = colspan +entry->morerows+1 =2 +entry->morerows+2 =3 +entry->morerows+3 =4 +entry->morerows+4 =5 +entry->morerows+5 =6 +entry->morerows+6 =7 +entry->morerows+7 =8 +entry->morerows+8 =9 +entry->morerows+9 =10 +entry->morerows+10 =11 +;; add more if you need more colspans + +warning = <span class="warning"> +/warning = </span> +warning! = 0 + +;; now begins the attributes that should be tags in cdata +[$attr$id] +open = a +;close = /a +cdata! = true +quotevalues = true +separator = "=" +;separateall = true +$id = name + +;; now begins the sections that deal with <title> +[refsynopsisdiv_title] +;tag_attr = true +;attr_name = title +cdata_start = true +;cdata_end = true +open = <h1 class="title"> +close = </h1> + +[refsect1_title] +;tag_attr = true +;attr_name = title +cdata_start = true +;cdata_end = true +open = <h2 class="title"> +close = </h2> + +[refsect2_title] +;tag_attr = true +;attr_name = title +cdata_start = true +;cdata_end = true +open = <h3 class="title"> +close = </h3> + +[refsect3_title] +;tag_attr = true +;attr_name = title +cdata_start = true +;cdata_end = true +open = <h4 class="title"> +close = </h4> + +[para_title] +;tag_attr = true +;attr_name = title +cdata_start = true +;cdata_end = true +open = <div class="title"> +close = </div> + +[formalpara_title] +;tag_attr = true +;attr_name = title +cdata_start = true +;cdata_end = true +open = <div class="title"> +close = </div> + +[example_title] +;tag_attr = true +;attr_name = title +;cdata_start = true +cdata_end = true +open = </td></tr><tr><td><strong> +close = </strong> + +[table_title] +;tag_attr = true +;attr_name = true +cdata_start = true +open = <caption> +close = </caption> diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phpdoc.de/templates/basicindex.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phpdoc.de/templates/basicindex.tpl new file mode 100755 index 00000000..951ee264 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phpdoc.de/templates/basicindex.tpl @@ -0,0 +1,47 @@ +<div class="index-letter-menu"> +{section name=letter loop=$letters} + <a class="index-letter" href="{$indexname}.html#{$letters[letter].letter}">{$letters[letter].letter}</a> +{/section} +</div> + +{section name=index loop=$index} + <a name="{$index[index].letter}"></a> + <div class="index-letter-section"> + <div style="float: left" class="index-letter-title">{$index[index].letter}</div> + <div style="float: right"><a href="#top">top</a></div> + <div style="clear: both"></div> + </div> + <dl> + {section name=contents loop=$index[index].index} + <dt class="field"> + {if ($index[index].index[contents].title == "Variable")} + <span class="var-title">{$index[index].index[contents].name}</span> + {elseif ($index[index].index[contents].title == "Global")} + <span class="var-title">{$index[index].index[contents].name}</span> + {elseif ($index[index].index[contents].title == "Method")} + <span class="method-title">{$index[index].index[contents].name}</span> + {elseif ($index[index].index[contents].title == "Function")} + <span class="method-title">{$index[index].index[contents].name}</span> + {elseif ($index[index].index[contents].title == "Constant")} + <span class="const-title">{$index[index].index[contents].name}</span> + {elseif ($index[index].index[contents].title == "Page") || ($index[index].index[contents].title == "Include")} + <span class="include-title">{$index[index].index[contents].name}</span> + {else} + {$index[index].index[contents].name} + {/if} + </dt> + <dd class="index-item-body"> + <div class="index-item-details">{$index[index].index[contents].link} in {$index[index].index[contents].file_name}</div> + {if $index[index].index[contents].description} + <div class="index-item-description">{$index[index].index[contents].description}</div> + {/if} + </dd> + {/section} + </dl> +{/section} + +<div class="index-letter-menu"> +{section name=letter loop=$letters} + <a class="index-letter" href="{$indexname}.html#{$letters[letter].letter}">{$letters[letter].letter}</a> +{/section} +</div> diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phpdoc.de/templates/blank.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phpdoc.de/templates/blank.tpl new file mode 100755 index 00000000..6a05f27e --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phpdoc.de/templates/blank.tpl @@ -0,0 +1,13 @@ +<html> +<head> + <title>{$maintitle}</title> + <link rel="stylesheet" href="{$subdir}media/stylesheet.css" /> + <meta http-equiv='Content-Type' content='text/html; charset=iso-8859-1'/> +</head> +<body> +<div align="center"><h1>{$maintitle}</h1></div> +<b>Welcome to {$package}!</b><br /> +<br /> +This documentation was generated by <a href="{$phpdocwebsite}">phpDocumentor v{$phpdocversion}</a><br /> +</body> +</html>
\ No newline at end of file diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phpdoc.de/templates/class.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phpdoc.de/templates/class.tpl new file mode 100755 index 00000000..9ab7c455 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phpdoc.de/templates/class.tpl @@ -0,0 +1,429 @@ +{include file="header.tpl" top3=true} + +<h2 class="class-name">{if $is_interface}Interface{else}Class{/if} {$class_name}</h2> + +<a name="sec-description"></a> +<div class="info-box"> + <div class="info-box-title">Description</div> + <div class="nav-bar"> + {if $children || $vars || $ivars || $methods || $imethods || $consts || $iconsts } + <span class="disabled">Description</span> | + {/if} + {if $children} + <a href="#sec-descendents">Descendents</a> + {if $vars || $ivars || $methods || $imethods || $consts || $iconsts}|{/if} + {/if} + {if $vars || $ivars} + {if $vars} + <a href="#sec-var-summary">Vars</a> (<a href="#sec-vars">details</a>) + {else} + <a href="#sec-vars">Vars</a> + {/if} + {if $methods || $imethods}|{/if} + {/if} + {if $methods || $imethods} + {if $methods} + <a href="#sec-method-summary">Methods</a> (<a href="#sec-methods">details</a>) + {else} + <a href="#sec-methods">Methods</a> + {/if} + {/if} + {if $consts || $iconsts} + {if $consts} + <a href="#sec-const-summary">Constants</a> (<a href="#sec-consts">details</a>) + {else} + <a href="#sec-consts">Constants</a> + {/if} + {/if} + </div> + <div class="info-box-body"> + {if $implements} + <p class="implements"> + Implements interfaces: + <ul> + {foreach item="int" from=$implements}<li>{$int}</li>{/foreach} + </ul> + </p> + {/if} + {include file="docblock.tpl" type="class" sdesc=$sdesc desc=$desc} + <p class="notes"> + Located in <a class="field" href="{$page_link}">{$source_location}</a> (line <span class="field">{if $class_slink}{$class_slink}{else}{$line_number}{/if}</span>) + </p> + + {if $tutorial} + <hr class="separator" /> + <div class="notes">Tutorial: <span class="tutorial">{$tutorial}</span></div> + {/if} + + <pre>{section name=tree loop=$class_tree.classes}{$class_tree.classes[tree]}{$class_tree.distance[tree]}{/section}</pre> + + {if $conflicts.conflict_type} + <hr class="separator" /> + <div><span class="warning">Conflicts with classes:</span><br /> + {section name=me loop=$conflicts.conflicts} + {$conflicts.conflicts[me]}<br /> + {/section} + </div> + {/if} + </div> +</div> + +{if $children} + <a name="sec-descendents"></a> + <div class="info-box"> + <div class="info-box-title">Direct descendents</div> + <div class="nav-bar"> + <a href="#sec-description">Description</a> | + <span class="disabled">Descendents</span> + {if $vars || $ivars || $methods || $imethods}|{/if} + {if $vars || $ivars} + {if $vars} + <a href="#sec-var-summary">Vars</a> (<a href="#sec-vars">details</a>) + {else} + <a href="#sec-vars">Vars</a> + {/if} + {if $methods || $imethods}|{/if} + {/if} + {if $methods || $imethods} + {if $methods} + <a href="#sec-method-summary">Methods</a> (<a href="#sec-methods">details</a>) + {else} + <a href="#sec-methods">Methods</a> + {/if} + {/if} + {if $consts || $iconsts} + {if $consts} + <a href="#sec-const-summary">Constants</a> (<a href="#sec-consts">details</a>) + {else} + <a href="#sec-consts">Constants</a> + {/if} + {/if} + </div> + <div class="info-box-body"> + <table cellpadding="2" cellspacing="0" class="class-table"> + <tr> + <th class="class-table-header">Class</th> + <th class="class-table-header">Description</th> + </tr> + {section name=kids loop=$children} + <tr> + <td style="padding-right: 2em">{$children[kids].link}</td> + <td> + {if $children[kids].sdesc} + {$children[kids].sdesc} + {else} + {$children[kids].desc} + {/if} + </td> + </tr> + {/section} + </table> + </div> + </div> +{/if} + +{if $consts} + <a name="sec-const-summary"></a> + <div class="info-box"> + <div class="info-box-title">Class Constant Summary</span></div> + <div class="nav-bar"> + <a href="#sec-description">Description</a> | + {if $children} + <a href="#sec-descendents">Descendants</a> | + {/if} + <span class="disabled">Constants</span> (<a href="#sec-consts">details</a>) + {if $vars || $ivars} + {if $vars} + <a href="#sec-var-summary">Vars</a> (<a href="#sec-vars">details</a>) + {else} + <a href="#sec-vars">Vars</a> + {/if} + | + {/if} + {if $methods || $imethods} + | + {if $methods} + <a href="#sec-method-summary">Methods</a> (<a href="#sec-methods">details</a>) + {else} + <a href="#sec-methods">Methods</a> + {/if} + {/if} + </div> + <div class="info-box-body"> + <div class="const-summary"> + {section name=consts loop=$consts} + <div class="const-title"> + <img src="{$subdir}media/images/Constant.png" alt=" " /> + <a href="#{$consts[consts].const_name}" title="details" class="const-name">{$consts[consts].const_name}</a> = <span class="var-type">{$consts[consts].const_value}</span> + + </div> + {/section} + </div> + </div> + </div> +{/if} + +{if $vars} + <a name="sec-var-summary"></a> + <div class="info-box"> + <div class="info-box-title">Variable Summary</span></div> + <div class="nav-bar"> + <a href="#sec-description">Description</a> | + {if $children} + <a href="#sec-descendents">Descendents</a> | + {/if} + <span class="disabled">Vars</span> (<a href="#sec-vars">details</a>) + {if $methods || $imethods} + | + {if $methods} + <a href="#sec-method-summary">Methods</a> (<a href="#sec-methods">details</a>) + {else} + <a href="#sec-methods">Methods</a> + {/if} + {/if} + {if $consts || $iconsts} + {if $consts} + <a href="#sec-const-summary">Constants</a> (<a href="#sec-consts">details</a>) + {else} + <a href="#sec-consts">Constants</a> + {/if} + {/if} + </div> + <div class="info-box-body"> + <div class="var-summary"> + {section name=vars loop=$vars} + {if $vars[vars].static} + <div class="var-title"> + static <span class="var-type">{$vars[vars].var_type}</span> + <a href="#{$vars[vars].var_name}" title="details" class="var-name">{$vars[vars].var_name}</a> + </div> + {/if} + {/section} + {section name=vars loop=$vars} + {if !$vars[vars].static} + <div class="var-title"> + <span class="var-type">{$vars[vars].var_type}</span> + <a href="#{$vars[vars].var_name}" title="details" class="var-name">{$vars[vars].var_name}</a> + </div> + {/if} + {/section} + </div> + </div> + </div> +{/if} + +{if $methods} + <a name="sec-method-summary"></a> + <div class="info-box"> + <div class="info-box-title">Method Summary</span></div> + <div class="nav-bar"> + <a href="#sec-description">Description</a> | + {if $children} + <a href="#sec-descendents">Descendents</a> | + {/if} + {if $consts || $iconsts} + {if $consts} + <a href="#sec-const-summary">Constants</a> (<a href="#sec-consts">details</a>) + {else} + <a href="#sec-consts">Constants</a> + {/if} + {/if} + {if $vars || $ivars} + {if $vars} + <a href="#sec-var-summary">Vars</a> (<a href="#sec-vars">details</a>) + {else} + <a href="#sec-vars">Vars</a> + {/if} + | + {/if} + <span class="disabled">Methods</span> (<a href="#sec-methods">details</a>) + </div> + <div class="info-box-body"> + <div class="method-summary"> + {section name=methods loop=$methods} + {if $methods[methods].static} + <div class="method-definition"> + static {if $methods[methods].function_return} + <span class="method-result">{$methods[methods].function_return}</span> + {/if} + <a href="#{$methods[methods].function_name}" title="details" class="method-name">{if $methods[methods].ifunction_call.returnsref}&{/if}{$methods[methods].function_name}</a> + {if count($methods[methods].ifunction_call.params)} + ({section name=params loop=$methods[methods].ifunction_call.params}{if $smarty.section.params.iteration != 1}, {/if}{if $methods[methods].ifunction_call.params[params].hasdefault}[{/if}<span class="var-type">{$methods[methods].ifunction_call.params[params].type}</span> <span class="var-name">{$methods[methods].ifunction_call.params[params].name}</span>{if $methods[methods].ifunction_call.params[params].hasdefault} = <span class="var-default">{$methods[methods].ifunction_call.params[params].default}</span>]{/if}{/section}) + {else} + () + {/if} + </div> + {/if} + {/section} + {section name=methods loop=$methods} + {if !$methods[methods].static} + <div class="method-definition"> + {if $methods[methods].function_return} + <span class="method-result">{$methods[methods].function_return}</span> + {/if} + <a href="#{$methods[methods].function_name}" title="details" class="method-name">{if $methods[methods].ifunction_call.returnsref}&{/if}{$methods[methods].function_name}</a> + {if count($methods[methods].ifunction_call.params)} + ({section name=params loop=$methods[methods].ifunction_call.params}{if $smarty.section.params.iteration != 1}, {/if}{if $methods[methods].ifunction_call.params[params].hasdefault}[{/if}<span class="var-type">{$methods[methods].ifunction_call.params[params].type}</span> <span class="var-name">{$methods[methods].ifunction_call.params[params].name}</span>{if $methods[methods].ifunction_call.params[params].hasdefault} = <span class="var-default">{$methods[methods].ifunction_call.params[params].default}</span>]{/if}{/section}) + {else} + () + {/if} + </div> + {/if} + {/section} + </div> + </div> + </div> +{/if} + +{if $vars || $ivars} + <a name="sec-vars"></a> + <div class="info-box"> + <div class="info-box-title">Variables</div> + <div class="nav-bar"> + <a href="#sec-description">Description</a> | + {if $children} + <a href="#sec-descendents">Descendents</a> | + {/if} + {if $methods} + <a href="#sec-var-summary">Vars</a> (<span class="disabled">details</span>) + {else} + <span class="disabled">Vars</span> + {/if} + + {if $consts || $iconsts} + {if $consts} + <a href="#sec-const-summary">Constants</a> (<a href="#sec-consts">details</a>) + {else} + <a href="#sec-consts">Constants</a> + {/if} + {/if} + {if $methods || $imethods} + | + {if $methods} + <a href="#sec-method-summary">Methods</a> (<a href="#sec-methods">details</a>) + {else} + <a href="#sec-methods">Methods</a> + {/if} + {/if} + </div> + <div class="info-box-body"> + {include file="var.tpl"} + {if $ivars} + <h4>Inherited Variables</h4> + <A NAME='inherited_vars'><!-- --></A> + {section name=ivars loop=$ivars} + <p>Inherited from <span class="classname">{$ivars[ivars].parent_class}</span></p> + <blockquote> + {section name=ivars2 loop=$ivars[ivars].ivars} + <span class="var-title"> + <span class="var-name">{$ivars[ivars].ivars[ivars2].link}</span>{if $ivars[ivars].ivars[ivars2].ivar_sdesc}: {$ivars[ivars].ivars[ivars2].ivar_sdesc}{/if}<br> + </span> + {/section} + </blockquote> + {/section} + {/if} + </div> + </div> +{/if} + +{if $methods || $imethods} + <a name="sec-methods"></a> + <div class="info-box"> + <div class="info-box-title">Methods</div> + <div class="nav-bar"> + <a href="#sec-description">Description</a> | + {if $children} + <a href="#sec-descendents">Descendents</a> | + {/if} + {if $vars || $ivars} + {if $vars} + <a href="#sec-var-summary">Vars</a> (<a href="#sec-vars">details</a>) + {else} + <a href="#sec-vars">Vars</a> + {/if} + {/if} + {if $consts || $iconsts} + {if $consts} + <a href="#sec-const-summary">Constants</a> (<a href="#sec-consts">details</a>) + {else} + <a href="#sec-consts">Constants</a> + {/if} + {/if} + {if $methods} + <a href="#sec-method-summary">Methods</a> (<span class="disabled">details</span>) + {else} + <span class="disabled">Methods</span> + {/if} + </div> + <div class="info-box-body"> + {include file="method.tpl"} + {if $imethods} + <h4>Inherited Methods</h4> + <a name='inherited_methods'><!-- --></a> + {section name=imethods loop=$imethods} + <!-- =========== Summary =========== --> + <p>Inherited From <span class="classname">{$imethods[imethods].parent_class}</span></p> + <blockquote> + {section name=im2 loop=$imethods[imethods].imethods} + <span class="method-name">{$imethods[imethods].imethods[im2].link}</span>{if $imethods[imethods].imethods[im2].ifunction_sdesc}: {$imethods[imethods].imethods[im2].ifunction_sdesc}{/if}<br> + {/section} + </blockquote> + {/section} + {/if} + </div> + </div> +{/if} + +{if $consts || $iconsts} + <a name="sec-consts"></a> + <div class="info-box"> + <div class="info-box-title">Class Constants</div> + <div class="nav-bar"> + <a href="#sec-description">Description</a> | + {if $children} + <a href="#sec-descendents">Descendants</a> | + {/if} + {if $methods} + <a href="#sec-var-summary">Constants</a> (<span class="disabled">details</span>) + {else} + <span class="disabled">Constants</span> + {/if} + + {if $vars || $ivars} + {if $vars} + <a href="#sec-var-summary">Vars</a> (<a href="#sec-vars">details</a>) + {else} + <a href="#sec-vars">Vars</a> + {/if} + {/if} + {if $methods || $imethods} + | + {if $methods} + <a href="#sec-method-summary">Methods</a> (<a href="#sec-methods">details</a>) + {else} + <a href="#sec-methods">Methods</a> + {/if} + {/if} + </div> + <div class="info-box-body"> + {include file="const.tpl"} + {if $iconsts} + <h4>Inherited Constants</h4> + <A NAME='inherited_vars'><!-- --></A> + {section name=iconsts loop=$iconsts} + <p>Inherited from <span class="classname">{$iconsts[iconsts].parent_class}</span></p> + <blockquote> + {section name=iconsts2 loop=$iconsts[iconsts].iconsts} + <img src="{$subdir}media/images/{if $iconsts[iconsts].iconsts[iconsts2].access == 'private'}PrivateVariable{else}Variable{/if}.png" /> + <span class="const-title"> + <span class="const-name">{$iconsts[iconsts].iconsts[iconsts2].link}</span>{if $iconsts[iconsts].iconsts[iconsts2].iconst_sdesc}: {$iconsts[iconsts].iconsts[iconsts2].iconst_sdesc}{/if}<br> + </span> + {/section} + </blockquote> + {/section} + {/if} + </div> + </div> +{/if} + +{include file="footer.tpl" top3=true} diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phpdoc.de/templates/classtrees.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phpdoc.de/templates/classtrees.tpl new file mode 100755 index 00000000..952e6d50 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phpdoc.de/templates/classtrees.tpl @@ -0,0 +1,19 @@ +{include file="header.tpl" top1=true} + +<!-- Start of Class Data --> +<H2> + {$smarty.capture.title} +</H2> +{if $interfaces} +{section name=classtrees loop=$interfaces} +<h2>Root interface {$interfaces[classtrees].class}</h2> +{$interfaces[classtrees].class_tree} +{/section} +{/if} +{if $classtrees} +{section name=classtrees loop=$classtrees} +<h2>Root class {$classtrees[classtrees].class}</h2> +{$classtrees[classtrees].class_tree} +{/section} +{/if} +{include file="footer.tpl"}
\ No newline at end of file diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phpdoc.de/templates/const.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phpdoc.de/templates/const.tpl new file mode 100644 index 00000000..c26ff92d --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phpdoc.de/templates/const.tpl @@ -0,0 +1,18 @@ +{section name=consts loop=$consts} +<a name="const{$consts[consts].const_name}" id="{$consts[consts].const_name}"><!-- --></A> +<div class="{cycle values="evenrow,oddrow"}"> + + <div class="const-header"> + <img src="{$subdir}media/images/{if $consts[consts].access == 'private'}PrivateVariable{else}Variable{/if}.png" /> + <span class="const-title"> + <span class="const-name">{$consts[consts].const_name}</span> + = <span class="const-default">{$consts[consts].const_value|replace:"\n":"<br />"}</span> + (line <span class="line-number">{if $consts[consts].slink}{$consts[consts].slink}{else}{$consts[consts].line_number}{/if}</span>) + </span> + </div> + + {include file="docblock.tpl" sdesc=$consts[consts].sdesc desc=$consts[consts].desc tags=$consts[consts].tags} + +</div> +{/section} + diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phpdoc.de/templates/define.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phpdoc.de/templates/define.tpl new file mode 100755 index 00000000..0da5d864 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phpdoc.de/templates/define.tpl @@ -0,0 +1,24 @@ +{section name=def loop=$defines} +<a name="{$defines[def].define_link}"><!-- --></a> +<div class="{cycle values="evenrow,oddrow"}"> + + <div> + <span class="const-title"> + <span class="const-name">{$defines[def].define_name}</span> = {$defines[def].define_value|replace:"\n":"<br />"} + (line <span class="line-number">{if $defines[def].slink}{$defines[def].slink}{else}{$defines[def].line_number}{/if}</span>) + </span> + </div> + + {include file="docblock.tpl" sdesc=$defines[def].sdesc desc=$defines[def].desc tags=$defines[def].tags} + + {if $globals[glob].global_conflicts.conflict_type} + <hr class="separator" /> + <div><span class="warning">Conflicts with constants:</span><br /> + {section name=me loop=$defines[def].define_conflicts.conflicts} + {$defines[def].define_conflicts.conflicts[me]}<br /> + {/section} + </div> + {/if} + +</div> +{/section}
\ No newline at end of file diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phpdoc.de/templates/docblock.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phpdoc.de/templates/docblock.tpl new file mode 100755 index 00000000..783d5271 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phpdoc.de/templates/docblock.tpl @@ -0,0 +1,14 @@ +<!-- ========== Info from phpDoc block ========= --> +{if $sdesc} +<p class="short-description">{$sdesc}</p> +{/if} +{if $desc} +<p class="description">{$desc}</p> +{/if} +{if $tags} + <ul class="tags"> + {section name=tags loop=$tags} + <li><span class="field">{$tags[tags].keyword}:</span> {$tags[tags].data}</li> + {/section} + </ul> +{/if} diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phpdoc.de/templates/elementindex.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phpdoc.de/templates/elementindex.tpl new file mode 100755 index 00000000..d5964f99 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phpdoc.de/templates/elementindex.tpl @@ -0,0 +1,12 @@ +{include file="header.tpl" noleftindex=true} +<a name="top"></a> +<h2>Full index</h2> +<h3>Package indexes</h3> +<ul> +{section name=p loop=$packageindex} + <li><a href="elementindex_{$packageindex[p].title}.html">{$packageindex[p].title}</a></li> +{/section} +</ul> +<br /> +{include file="basicindex.tpl" indexname="elementindex"} +{include file="footer.tpl"} diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phpdoc.de/templates/errors.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phpdoc.de/templates/errors.tpl new file mode 100755 index 00000000..0f526584 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phpdoc.de/templates/errors.tpl @@ -0,0 +1,21 @@ +{include file="header.tpl" noleftindex=true} +{section name=files loop=$files} +<a href="#{$files[files].file}">{$files[files].file}</a><br> +{/section} +{foreach key=file item=issues from=$all} +<a name="{$file}"></a> +<h1>{$file}</h1> +{if count($issues.warnings)} +<h2>Warnings:</h2><br> +{section name=warnings loop=$issues.warnings} +<b>{$issues.warnings[warnings].name}</b> - {$issues.warnings[warnings].listing}<br> +{/section} +{/if} +{if count($issues.errors)} +<h2>Errors:</h2><br> +{section name=errors loop=$issues.errors} +<b>{$issues.errors[errors].name}</b> - {$issues.errors[errors].listing}<br> +{/section} +{/if} +{/foreach} +{include file="footer.tpl"} diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phpdoc.de/templates/examplesource.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phpdoc.de/templates/examplesource.tpl new file mode 100755 index 00000000..8abf74ce --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phpdoc.de/templates/examplesource.tpl @@ -0,0 +1,6 @@ +{include file="header.tpl" title=$title} +<h1>{$title}</h1> +<div class="listing"> +{$source} +</div> +{include file="footer.tpl"}
\ No newline at end of file diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phpdoc.de/templates/filesource.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phpdoc.de/templates/filesource.tpl new file mode 100755 index 00000000..239f7b41 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phpdoc.de/templates/filesource.tpl @@ -0,0 +1,8 @@ +{capture name="tutle"}File Source for {$name}{/capture} +{include file="header.tpl" title=$smarty.capture.tutle} +<h1>Source for file {$name}</h1> +<p>Documentation is available at {$docs}</p> +<div class="src-code"> +{$source} +</div> +{include file="footer.tpl"}
\ No newline at end of file diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phpdoc.de/templates/footer.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phpdoc.de/templates/footer.tpl new file mode 100755 index 00000000..8d0f79db --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phpdoc.de/templates/footer.tpl @@ -0,0 +1,8 @@ +{if !$index} + <p class="notes" id="credit"> + Documentation generated on {$date} by <a href="{$phpdocwebsite}" target="_blank">phpDocumentor {$phpdocversion}</a> + </p> +{/if} + {if $top3}</div>{/if} +</body> +</html> diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phpdoc.de/templates/function.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phpdoc.de/templates/function.tpl new file mode 100755 index 00000000..b6880059 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phpdoc.de/templates/function.tpl @@ -0,0 +1,44 @@ +{section name=func loop=$functions} +<a name="{$functions[func].function_dest}" id="{$functions[func].function_dest}"><!-- --></a> +<div class="{cycle values="evenrow,oddrow"}"> + + <div> + <span class="method-title">{$functions[func].function_name}</span> (line <span class="line-number">{if $functions[func].slink}{$functions[func].slink}{else}{$functions[func].line_number}{/if}</span>) + </div> + + {include file="docblock.tpl" sdesc=$functions[func].sdesc desc=$functions[func].desc tags=$functions[func].tags params=$functions[func].params function=false} + + <div class="method-signature"> + <span class="method-result">{$functions[func].function_return}</span> + <span class="method-name"> + {if $functions[func].ifunction_call.returnsref}&{/if}{$functions[func].function_name} + </span> + {if count($functions[func].ifunction_call.params)} + ({section name=params loop=$functions[func].ifunction_call.params}{if $smarty.section.params.iteration != 1}, {/if}{if $functions[func].ifunction_call.params[params].hasdefault}[{/if}<span class="var-type">{$functions[func].ifunction_call.params[params].type}</span> <span class="var-name">{$functions[func].ifunction_call.params[params].name}</span>{if $functions[func].ifunction_call.params[params].hasdefault} = <span class="var-default">{$functions[func].ifunction_call.params[params].default|escape:"html"}</span>]{/if}{/section}) + {else} + () + {/if} + </div> + + {if $functions[func].params} + <ul class="parameters"> + {section name=params loop=$functions[func].params} + <li> + <span class="var-type">{$functions[func].params[params].datatype}</span> + <span class="var-name">{$functions[func].params[params].var}</span>{if $functions[func].params[params].data}<span class="var-description">: {$functions[func].params[params].data}</span>{/if} + </li> + {/section} + </ul> + {/if} + + {if $functions[func].function_conflicts.conflict_type} + <hr class="separator" /> + <div><span class="warning">Conflicts with functions:</span><br /> + {section name=me loop=$functions[func].function_conflicts.conflicts} + {$functions[func].function_conflicts.conflicts[me]}<br /> + {/section} + </div> + {/if} + +</div> +{/section} diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phpdoc.de/templates/global.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phpdoc.de/templates/global.tpl new file mode 100755 index 00000000..eab7e0b0 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phpdoc.de/templates/global.tpl @@ -0,0 +1,26 @@ +{section name=glob loop=$globals} +<a name="{$globals[glob].global_link}" id="{$globals[glob].global_link}"><!-- --></a> +<div class="{cycle values="evenrow,oddrow"}"> + + <div> + <span class="var-title"> + <span class="var-type">{$globals[glob].global_type}</span> + <span class="var-name">{$globals[glob].global_name}</span> + {if $vars[vars].var_default} = <span class="var-default">{$globals[glob].global_value|replace:"\n":"<br />"}</span>{/if} + (line <span class="line-number">{if $globals[glob].slink}{$globals[glob].slink}{else}{$globals[glob].line_number}{/if}</span>) + </span> + </div> + + {include file="docblock.tpl" sdesc=$globals[glob].sdesc desc=$globals[glob].desc tags=$globals[glob].tags} + + {if $globals[glob].global_conflicts.conflict_type} + <hr class="separator" /> + <div><span class="warning">Conflicts with global variables:</span><br /> + {section name=me loop=$globals[glob].global_conflicts.conflicts} + {$globals[glob].global_conflicts.conflicts[me]}<br /> + {/section} + </div> + {/if} + +</div> +{/section}
\ No newline at end of file diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phpdoc.de/templates/header.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phpdoc.de/templates/header.tpl new file mode 100755 index 00000000..c22ba37d --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phpdoc.de/templates/header.tpl @@ -0,0 +1,12 @@ +<?xml version="1.0" encoding="iso-8859-1"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> + <html xmlns="http://www.w3.org/1999/xhtml"> + <head> + <!-- template designed by Marco Von Ballmoos --> + <title>{$title}</title> + <link rel="stylesheet" href="{$subdir}media/stylesheet.css" /> + <meta http-equiv='Content-Type' content='text/html; charset=iso-8859-1'/> + </head> + <body> + {if $top3}<div class="page-body">{/if} + diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phpdoc.de/templates/include.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phpdoc.de/templates/include.tpl new file mode 100755 index 00000000..c2419e5f --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phpdoc.de/templates/include.tpl @@ -0,0 +1,16 @@ +{section name=includes loop=$includes} +<a name="{$includes[includes].include_file}"><!-- --></a> +<div class="{cycle values="evenrow,oddrow"}"> + + <div> + <span class="include-title"> + <span class="include-type">{$includes[includes].include_name}</span> + (<span class="include-name">{$includes[includes].include_value}</span>) + (line <span class="line-number">{if $includes[includes].slink}{$includes[includes].slink}{else}{$includes[includes].line_number}{/if}</span>) + </span> + </div> + + {include file="docblock.tpl" sdesc=$includes[includes].sdesc desc=$includes[includes].desc tags=$includes[includes].tags} + +</div> +{/section}
\ No newline at end of file diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phpdoc.de/templates/index.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phpdoc.de/templates/index.tpl new file mode 100755 index 00000000..7cd61094 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phpdoc.de/templates/index.tpl @@ -0,0 +1,24 @@ +<?xml version="1.0" encoding="iso-8859-1"?> +<!DOCTYPE html + PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//FR" + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd"> + <html xmlns="http://www.w3.org/1999/xhtml"> +<head> + <!-- Generated by phpDocumentor on {$date} --> + <title>{$title}</title> + <meta http-equiv='Content-Type' content='text/html; charset=iso-8859-1'/> +</head> + +<FRAMESET rows='120,*'> + <FRAME src='packages.html' name='left_top' frameborder="1" bordercolor="#999999"> + <FRAMESET cols='25%,*'> + <FRAME src='{$start}' name='left_bottom' frameborder="1" bordercolor="#999999"> + <FRAME src='{$blank}.html' name='right' frameborder="1" bordercolor="#999999"> + </FRAMESET> + <NOFRAMES> + <H2>Frame Alert</H2> + <P>This document is designed to be viewed using the frames feature. + If you see this message, you are using a non-frame-capable web client.</P> + </NOFRAMES> +</FRAMESET> +</HTML> diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phpdoc.de/templates/left_frame.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phpdoc.de/templates/left_frame.tpl new file mode 100755 index 00000000..eb3f670d --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phpdoc.de/templates/left_frame.tpl @@ -0,0 +1,159 @@ +{include file="header.tpl" top2=true} +<div class="package-title">{$package}</div> +<div class="package-details"> + + <dl class="tree"> + + <dt class="folder-title">Description</dt> + <dd> + <a href='{$classtreepage}.html' target='right'>Class trees</a><br /> + <a href='{$elementindex}.html' target='right'>Index of elements</a><br /> + {if $hastodos} + <a href="{$todolink}" target="right">Todo List</a><br /> + {/if} + </dd> + + {section name=p loop=$info} + + {if $info[p].subpackage == ""} + + {if $info[p].tutorials} + <dt class="folder-title">Tutorials/Manuals</dt> + <dd> + {if $info[p].tutorials.pkg} + <dl class="tree"> + <dt class="folder-title">Package-level</dt> + <dd> + {section name=ext loop=$info[p].tutorials.pkg} + {$info[p].tutorials.pkg[ext]} + {/section} + </dd> + </dl> + {/if} + + {if $info[p].tutorials.cls} + <dl class="tree"> + <dt class="folder-title">Class-level</dt> + <dd> + {section name=ext loop=$info[p].tutorials.cls} + {$info[p].tutorials.cls[ext]} + {/section} + </dd> + </dl> + {/if} + + {if $info[p].tutorials.proc} + <dl class="tree"> + <dt class="folder-title">Function-level</dt> + <dd> + {section name=ext loop=$info[p].tutorials.proc} + {$info[p].tutorials.proc[ext]} + {/section} + </dd> + </dl> + {/if} + </dd> + {/if} + {if $info[p].hasinterfaces} + <dt class="folder-title">Interfaces</dt> + {section name=class loop=$info[p].classes} + {if $info[p].classes[class].is_interface} + <dd><a href='{$info[p].classes[class].link}' target='right'>{$info[p].classes[class].title}</a></dd> + {/if} + {/section} + {/if} + {if $info[p].hasclasses} + <dt class="folder-title">Classes</dt> + {section name=class loop=$info[p].classes} + {if $info[p].classes[class].is_class} + <dd><a href='{$info[p].classes[class].link}' target='right'>{$info[p].classes[class].title}</a></dd> + {/if} + {/section} + {/if} + {if $info[p].functions} + <dt class="folder-title">Functions</dt> + {section name=f loop=$info[p].functions} + <dd><a href='{$info[p].functions[f].link}' target='right'>{$info[p].functions[f].title}</a></dd> + {/section} + {/if} + {if $info[p].files} + <dt class="folder-title">Files</dt> + {section name=nonclass loop=$info[p].files} + <dd><a href='{$info[p].files[nonclass].link}' target='right'>{$info[p].files[nonclass].title}</a></dd> + {/section} + {/if} + + {else} + {if $info[p].tutorials} + <dt class="folder-title">Tutorials/Manuals</dt> + <dd> + {if $info[p].tutorials.pkg} + <dl class="tree"> + <dt class="folder-title">Package-level</dt> + <dd> + {section name=ext loop=$info[p].tutorials.pkg} + {$info[p].tutorials.pkg[ext]} + {/section} + </dd> + </dl> + {/if} + + {if $info[p].tutorials.cls} + <dl class="tree"> + <dt class="folder-title">Class-level</dt> + <dd> + {section name=ext loop=$info[p].tutorials.cls} + {$info[p].tutorials.cls[ext]} + {/section} + </dd> + </dl> + {/if} + + {if $info[p].tutorials.proc} + <dl class="tree"> + <dt class="folder-title">Function-level</dt> + <dd> + {section name=ext loop=$info[p].tutorials.proc} + {$info[p].tutorials.proc[ext]} + {/section} + </dd> + </dl> + {/if} + </dd> + {/if} + + <dt class="sub-package">{$info[p].subpackage}</dt> + <dd> + <dl class="tree"> + {if $info[p].subpackagetutorial} + <div><a href="{$info.0.subpackagetutorialnoa}" target="right">{$info.0.subpackagetutorialtitle}</a></div> + {/if} + {if $info[p].classes} + <dt class="folder-title">Classes</dt> + {section name=class loop=$info[p].classes} + <dd><a href='{$info[p].classes[class].link}' target='right'>{$info[p].classes[class].title}</a></dd> + {/section} + {/if} + {if $info[p].functions} + <dt class="folder-title">Functions</dt> + {section name=f loop=$info[p].functions} + <dd><a href='{$info[p].functions[f].link}' target='right'>{$info[p].functions[f].title}</a></dd> + {/section} + {/if} + {if $info[p].files} + <dt class="folder-title">Files</dt> + {section name=nonclass loop=$info[p].files} + <dd><a href='{$info[p].files[nonclass].link}' target='right'>{$info[p].files[nonclass].title}</a></dd> + {/section} + {/if} + </dl> + </dd> + + {/if} + + {/section} + </dl> +</div> +<p class="notes"><a href="{$phpdocwebsite}" target="_blank">phpDocumentor v <span class="field">{$phpdocversion}</span></a></p> +</BODY> +</HTML> diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phpdoc.de/templates/media/banner.css b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phpdoc.de/templates/media/banner.css new file mode 100755 index 00000000..065e76bc --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phpdoc.de/templates/media/banner.css @@ -0,0 +1,32 @@ +body +{ + background-color: #FFFFFF; + margin: 0px; + padding: 0px; +} + +/* Banner (top bar) classes */ + +.banner { } + +.banner-menu +{ + clear: both; + padding: .5em; + border-top: 2px solid #999999; +} + +.banner-title +{ + text-align: right; + font-size: 20pt; + font-weight: bold; + margin: .2em; +} + +.package-selector +{ + background-color: #EEEEEE; + border: 1px solid black; + color: #0000C0; +} diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phpdoc.de/templates/media/stylesheet.css b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phpdoc.de/templates/media/stylesheet.css new file mode 100755 index 00000000..43834a16 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phpdoc.de/templates/media/stylesheet.css @@ -0,0 +1,141 @@ +a { color: #0000C0; text-decoration: underline; } +a:hover { text-decoration: underline; background-color: #FFFFFF } +a:active { text-decoration: underline; background-color: #FFFFFF } + +body, table { background-color: #EEEEEE; font-family: Verdana, Arial, sans-serif; font-size: 10pt } +p, li { line-height: 140% } +a img { border: 0px; } +dd { margin-left: 0px; padding-left: 1em; } + +/* Page layout/boxes */ + +.info-box {} +.info-box-title { margin: 1em 0em 0em 0em; padding: .25em; font-weight: normal; font-size: 14pt; border: 2px solid #999999; background-color: #FFFFFF } +.info-box-body { border: 1px solid #999999; padding: .5em; } +.nav-bar { font-size: 8pt; white-space: nowrap; text-align: right; padding: .2em; margin: 0em 0em 1em 0em; } + +.oddrow { background-color: #F8F8F8; border: 1px solid #AAAAAA; padding: .5em; margin-bottom: 1em} +.evenrow { border: 1px solid #AAAAAA; padding: .5em; margin-bottom: 1em} + +.page-body { max-width: 800px; margin: auto; } +.tree dl { margin: 0px } + +/* Index formatting classes */ + +.index-item-body { margin-top: .5em; margin-bottom: .5em} +.index-item-description { margin-top: .25em } +.index-item-details { font-weight: normal; font-style: italic; font-size: 8pt } +.index-letter-section { background-color: #EEEEEE; border: 1px dotted #999999; padding: .5em; margin-bottom: 1em} +.index-letter-title { font-size: 12pt; font-weight: bold } +.index-letter-menu { text-align: center; margin: 1em } +.index-letter { font-size: 12pt } + +/* Docbook classes */ + +.description {} +.short-description { font-weight: bold; color: #666666; } +.tags { padding-left: 0em; margin-left: 3em; color: #666666; list-style-type: square; } +.parameters { padding-left: 0em; margin-left: 3em; font-style: italic; list-style-type: square; } +.redefinitions { font-size: 8pt; padding-left: 0em; margin-left: 2em; } +.package { } +.package-title { font-weight: bold; font-size: 14pt; border-bottom: 1px solid black } +.package-details { font-size: 85%; } +.sub-package { font-weight: bold; font-size: 120% } +.tutorial { border-width: thin; border-color: #0066ff } +.tutorial-nav-box { width: 100%; border: 1px solid #AAAAAA; background-color: #DDDDFF; } +.nav-button-disabled { color: #AAAAAA; } +.nav-button:active, +.nav-button:focus, +.nav-button:hover { background-color: #CCCCCC; outline: 1px solid #999999; text-decoration: none } +.folder-title { font-style: italic } + +/* Generic formatting */ + +.field { font-weight: bold; } +.detail { font-size: 8pt; } +.notes { font-style: italic; font-size: 8pt; } +.separator { background-color: #999999; height: 2px; } +.warning { color: #FF6600; } +.disabled { font-style: italic; color: #999999; } + +/* Code elements */ + +.line-number { } + +.class-table { width: 100%; } +.class-table-header { border-bottom: 1px dotted #666666; text-align: left; background-color: DDDDFF } +.class-name { color: #000000; font-weight: bold; } + +.method-summary { padding-left: 1em; font-size: 8pt } +.method-header { background-color: #DDDDFF; padding: 1px; } +.method-definition { margin-bottom: .3em } +.method-title { font-weight: bold } +.method-name { font-weight: bold; } +.method-signature { font-size: 85%; color: #666666; margin: .5em 0em } +.method-result { font-style: italic; } + +.var-summary { padding-left: 1em; font-size: 8pt; } +.var-header { background-color: #DDDDFF; padding: 1px; } +.var-title { margin-bottom: .3em } +.var-type { font-style: italic; } +.var-name { font-weight: bold; } +.var-default {} +.var-description { font-weight: normal; color: #000000; } + +.include-title { } +.include-type { font-style: italic; } +.include-name { font-weight: bold; } + +.const-title { } +.const-name { font-weight: bold; } + +/* Syntax highlighting */ + +.src-code { border: 1px solid #999999; padding: 1em; + font-family: 'Courier New', Courier, monospace; font-weight: normal; } +.src-line { font-family: 'Courier New', Courier, monospace; font-weight: normal; } +.src-comm { color: green; } +.src-id { } +.src-inc { color: #0000FF; } +.src-key { color: #0000FF; } +.src-num { color: #CC0000; } +.src-str { color: #66cccc; } +.src-sym { font-weight: bold; } +.src-var { } + +.src-php { font-weight: bold; } + +.src-doc { color: #009999 } +.src-doc-close-template { color: #0000FF } +.src-doc-coretag { color: #0099FF; font-weight: bold } +.src-doc-inlinetag { color: #0099FF } +.src-doc-internal { color: #6699cc } +.src-doc-tag { color: #0080CC } +.src-doc-template { color: #0000FF } +.src-doc-type { font-style: italic } +.src-doc-var { font-style: italic } + +.tute-tag { color: #009999 } +.tute-attribute-name { color: #0000FF } +.tute-attribute-value { color: #0099FF } +.tute-entity { font-weight: bold; } +.tute-comment { font-style: italic } +.tute-inline-tag { color: #636311; font-weight: bold } + +/* tutorial */ + +.authors { } +.author { font-style: italic; font-weight: bold } +.author-blurb { margin: .5em 0em .5em 2em; font-size: 85%; font-weight: normal; font-style: normal } +.example { border: 1px dashed #999999; background-color: #EEEEEE; padding: .5em; } +.listing { border: 1px dashed #999999; background-color: #EEEEEE; padding: .5em; white-space: nowrap; } +.release-info { font-size: 85%; font-style: italic; margin: 1em 0em } +.ref-title-box { } +.ref-title { } +.ref-purpose { font-style: italic; color: #666666 } +.ref-synopsis { } +.title { font-weight: bold; border: 2px solid #999999; background-color: #FFFFFF; padding: 2px } +.cmd-synopsis { margin: 1em 0em } +.cmd-title { font-weight: bold } +.toc { margin-left: 2em; padding-left: 0em } + diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phpdoc.de/templates/method.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phpdoc.de/templates/method.tpl new file mode 100755 index 00000000..06d57a12 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phpdoc.de/templates/method.tpl @@ -0,0 +1,149 @@ +<A NAME='method_detail'></A> +{section name=methods loop=$methods} +{if $methods[methods].static} +<a name="method{$methods[methods].function_name}" id="{$methods[methods].function_name}"><!-- --></a> +<div class="{cycle values="evenrow,oddrow"}"> + + <div class="method-header"> + <span class="method-title">static {$methods[methods].function_name}</span> (line <span class="line-number">{if $methods[methods].slink}{$methods[methods].slink}{else}{$methods[methods].line_number}{/if}</span>) + </div> + + {include file="docblock.tpl" sdesc=$methods[methods].sdesc desc=$methods[methods].desc tags=$methods[methods].tags params=$methods[methods].params function=false} + + <div class="method-signature"> + static <span class="method-result">{$methods[methods].function_return}</span> + <span class="method-name"> + {if $methods[methods].ifunction_call.returnsref}&{/if}{$methods[methods].function_name} + </span> + {if count($methods[methods].ifunction_call.params)} + ({section name=params loop=$methods[methods].ifunction_call.params}{if $smarty.section.params.iteration != 1}, {/if}{if $methods[methods].ifunction_call.params[params].hasdefault}[{/if}<span class="var-type">{$methods[methods].ifunction_call.params[params].type}</span> <span class="var-name">{$methods[methods].ifunction_call.params[params].name}</span>{if $methods[methods].ifunction_call.params[params].hasdefault} = <span class="var-default">{$methods[methods].ifunction_call.params[params].default}</span>]{/if}{/section}) + {else} + () + {/if} + </div> + + {if $methods[methods].params} + <ul class="parameters"> + {section name=params loop=$methods[methods].params} + <li> + <span class="var-type">{$methods[methods].params[params].datatype}</span> + <span class="var-name">{$methods[methods].params[params].var}</span>{if $methods[methods].params[params].data}<span class="var-description">: {$methods[methods].params[params].data}</span>{/if} + </li> + {/section} + </ul> + {/if} + + {if $methods[methods].method_overrides} + <hr class="separator" /> + <div class="notes">Redefinition of:</div> + <dl> + <dt>{$methods[methods].method_overrides.link}</dt> + {if $methods[methods].method_overrides.sdesc} + <dd>{$methods[methods].method_overrides.sdesc}</dd> + {/if} + </dl> + {/if} + {if $methods[methods].method_implements} + <hr class="separator" /> + <div class="notes">Implementation of:</div> + {section name=imp loop=$methods[methods].method_implements} + <dl> + <dt>{$methods[methods].method_implements[imp].link}</dt> + {if $methods[methods].method_implements[imp].sdesc} + <dd>{$methods[methods].method_implements[imp].sdesc}</dd> + {/if} + </dl> + {/section} + {/if} + + {if $methods[methods].descmethod} + <hr class="separator" /> + <div class="notes">Redefined in descendants as:</div> + <ul class="redefinitions"> + {section name=dm loop=$methods[methods].descmethod} + <li> + {$methods[methods].descmethod[dm].link} + {if $methods[methods].descmethod[dm].sdesc} + : {$methods[methods].descmethod[dm].sdesc} + {/if} + </li> + {/section} + </ul> + {/if} +</div> +{/if} +{/section} +{section name=methods loop=$methods} +{if !$methods[methods].static} +<a name="method{$methods[methods].function_name}" id="{$methods[methods].function_name}"><!-- --></a> +<div class="{cycle values="evenrow,oddrow"}"> + + <div class="method-header"> + <span class="method-title">{if $methods[methods].ifunction_call.constructor}Constructor {elseif $methods[methods].ifunction_call.destructor}Destructor {/if}{$methods[methods].function_name}</span> (line <span class="line-number">{if $methods[methods].slink}{$methods[methods].slink}{else}{$methods[methods].line_number}{/if}</span>) + </div> + + {include file="docblock.tpl" sdesc=$methods[methods].sdesc desc=$methods[methods].desc tags=$methods[methods].tags params=$methods[methods].params function=false} + + <div class="method-signature"> + <span class="method-result">{$methods[methods].function_return}</span> + <span class="method-name"> + {if $methods[methods].ifunction_call.returnsref}&{/if}{$methods[methods].function_name} + </span> + {if count($methods[methods].ifunction_call.params)} + ({section name=params loop=$methods[methods].ifunction_call.params}{if $smarty.section.params.iteration != 1}, {/if}{if $methods[methods].ifunction_call.params[params].hasdefault}[{/if}<span class="var-type">{$methods[methods].ifunction_call.params[params].type}</span> <span class="var-name">{$methods[methods].ifunction_call.params[params].name}</span>{if $methods[methods].ifunction_call.params[params].hasdefault} = <span class="var-default">{$methods[methods].ifunction_call.params[params].default}</span>]{/if}{/section}) + {else} + () + {/if} + </div> + + {if $methods[methods].params} + <ul class="parameters"> + {section name=params loop=$methods[methods].params} + <li> + <span class="var-type">{$methods[methods].params[params].datatype}</span> + <span class="var-name">{$methods[methods].params[params].var}</span>{if $methods[methods].params[params].data}<span class="var-description">: {$methods[methods].params[params].data}</span>{/if} + </li> + {/section} + </ul> + {/if} + + {if $methods[methods].method_overrides} + <hr class="separator" /> + <div class="notes">Redefinition of:</div> + <dl> + <dt>{$methods[methods].method_overrides.link}</dt> + {if $methods[methods].method_overrides.sdesc} + <dd>{$methods[methods].method_overrides.sdesc}</dd> + {/if} + </dl> + {/if} + {if $methods[methods].method_implements} + <hr class="separator" /> + <div class="notes">Implementation of:</div> + {section name=imp loop=$methods[methods].method_implements} + <dl> + <dt>{$methods[methods].method_implements[imp].link}</dt> + {if $methods[methods].method_implements[imp].sdesc} + <dd>{$methods[methods].method_implements[imp].sdesc}</dd> + {/if} + </dl> + {/section} + {/if} + + {if $methods[methods].descmethod} + <hr class="separator" /> + <div class="notes">Redefined in descendants as:</div> + <ul class="redefinitions"> + {section name=dm loop=$methods[methods].descmethod} + <li> + {$methods[methods].descmethod[dm].link} + {if $methods[methods].descmethod[dm].sdesc} + : {$methods[methods].descmethod[dm].sdesc} + {/if} + </li> + {/section} + </ul> + {/if} +</div> +{/if} +{/section} diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phpdoc.de/templates/page.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phpdoc.de/templates/page.tpl new file mode 100755 index 00000000..b5980236 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phpdoc.de/templates/page.tpl @@ -0,0 +1,211 @@ +{include file="header.tpl" top3=true} + +<h2 class="file-name">{$source_location}</h2> + +<a name="sec-description"></a> +<div class="info-box"> + <div class="info-box-title">Description</div> + <div class="nav-bar"> + {if $classes || $includes || $defines || $globals || $functions} + <span class="disabled">Description</span> | + {/if} + {if $classes} + <a href="#sec-classes">Classes</a> + {if $includes || $defines || $globals || $functions}|{/if} + {/if} + {if $includes} + <a href="#sec-includes">Includes</a> + {if $defines || $globals || $functions}|{/if} + {/if} + {if $defines} + <a href="#sec-constants">Constants</a> + {if $globals || $functions}|{/if} + {/if} + {if $globals} + <a href="#sec-variables">Variables</a> + {if $functions}|{/if} + {/if} + {if $functions} + <a href="#sec-functions">Functions</a> + {/if} + </div> + <div class="info-box-body"> + {include file="docblock.tpl" desc=$desc sdesc=$sdesc tags=$tags} + + {if $tutorial} + <hr class="separator" /> + <div class="notes">Tutorial: <span class="tutorial">{$tutorial}</div> + {/if} + </div> +</div> + +{if $classes} + <a name="sec-classes"></a> + <div class="info-box"> + <div class="info-box-title">Classes</div> + <div class="nav-bar"> + <a href="#sec-description">Description</a> | + <span class="disabled">Classes</span> + {if $includes || $defines || $globals || $functions}|{/if} + {if $includes} + <a href="#sec-includes">Includes</a> + {if $defines || $globals || $functions}|{/if} + {/if} + {if $defines} + <a href="#sec-constants">Constants</a> + {if $globals || $functions}|{/if} + {/if} + {if $globals} + <a href="#sec-variables">Variables</a> + {if $functions}|{/if} + {/if} + {if $functions} + <a href="#sec-functions">Functions</a> + {/if} + </div> + <div class="info-box-body"> + <table cellpadding="2" cellspacing="0" class="class-table"> + <tr> + <th class="class-table-header">Class</th> + <th class="class-table-header">Description</th> + </tr> + {section name=classes loop=$classes} + <tr> + <td style="padding-right: 2em; vertical-align: top"> + {$classes[classes].link} + </td> + <td> + {if $classes[classes].sdesc} + {$classes[classes].sdesc} + {else} + {$classes[classes].desc} + {/if} + </td> + </tr> + {/section} + </table> + </div> + </div> +{/if} + +{if $includes} + <a name="sec-includes"></a> + <div class="info-box"> + <div class="info-box-title">Includes</div> + <div class="nav-bar"> + <a href="#sec-description">Description</a> | + {if $classes} + <a href="#sec-classes">Classes</a> + {if $includes || $defines || $globals || $functions}|{/if} + {/if} + <span class="disabled">Includes</span> + {if $defines || $globals || $functions}|{/if} + {if $defines} + <a href="#sec-constants">Constants</a> + {if $globals || $functions}|{/if} + {/if} + {if $globals} + <a href="#sec-variables">Variables</a> + {if $functions}|{/if} + {/if} + {if $functions} + <a href="#sec-functions">Functions</a> + {/if} + </div> + <div class="info-box-body"> + {include file="include.tpl"} + </div> + </div> +{/if} + +{if $defines} + <a name="sec-constants"></a> + <div class="info-box"> + <div class="info-box-title">Constants</div> + <div class="nav-bar"> + <a href="#sec-description">Description</a> | + {if $classes} + <a href="#sec-classes">Classes</a> + {if $includes || $defines || $globals || $functions}|{/if} + {/if} + {if $includes} + <a href="#sec-includes">Includes</a> + {if $defines || $globals || $functions}|{/if} + {/if} + <span class="disabled">Constants</span> + {if $globals || $functions}|{/if} + {if $globals} + <a href="#sec-variables">Variables</a> + {if $functions}|{/if} + {/if} + {if $functions} + <a href="#sec-functions">Functions</a> + {/if} + </div> + <div class="info-box-body"> + {include file="define.tpl"} + </div> + </div> +{/if} + +{if $globals} + <a name="sec-variables"></a> + <div class="info-box"> + <div class="info-box-title">Variables</div> + <div class="nav-bar"> + <a href="#sec-description">Description</a> | + {if $classes} + <a href="#sec-classes">Classes</a> + {if $includes || $defines || $globals || $functions}|{/if} + {/if} + {if $includes} + <a href="#sec-includes">Includes</a> + {if $defines || $globals || $functions}|{/if} + {/if} + {if $defines} + <a href="#sec-constants">Constants</a> + {if $globals || $functions}|{/if} + {/if} + <span class="disabled">Variables</span> + {if $functions}|{/if} + {if $functions} + <a href="#sec-functions">Functions</a> + {/if} + </div> + <div class="info-box-body"> + {include file="global.tpl"} + </div> + </div> +{/if} + +{if $functions} + <a name="sec-functions"></a> + <div class="info-box"> + <div class="info-box-title">Functions</div> + <div class="nav-bar"> + <a href="#sec-description">Description</a> | + {if $classes} + <a href="#sec-classes">Classes</a> + {if $includes || $defines || $globals || $functions}|{/if} + {/if} + {if $includes} + <a href="#sec-includes">Includes</a> + {if $defines || $globals || $functions}|{/if} + {/if} + {if $defines} + <a href="#sec-constants">Constants</a> + {if $globals || $functions}|{/if} + {/if} + {if $globals} + <a href="#sec-variables">Variables</a> + {if $functions}|{/if} + {/if} + <span class="disabled">Functions</span> + </div> + <div class="info-box-body"> + {include file="function.tpl"} + </div> + </div> +{/if} + +{include file="footer.tpl" top3=true} diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phpdoc.de/templates/pkgelementindex.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phpdoc.de/templates/pkgelementindex.tpl new file mode 100755 index 00000000..dc283ad0 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phpdoc.de/templates/pkgelementindex.tpl @@ -0,0 +1,17 @@ +{include file="header.tpl"} +<a name="top"></a> +<h2>[{$package}] element index</h2> +{if count($packageindex) > 1} + <h3>Package indexes</h3> + <ul> + {section name=p loop=$packageindex} + {if $packageindex[p].title != $package} + <li><a href="elementindex_{$packageindex[p].title}.html">{$packageindex[p].title}</a></li> + {/if} + {/section} + </ul> +{/if} +<a href="elementindex.html">All elements</a> +<br /> +{include file="basicindex.tpl" indexname=elementindex_$package} +{include file="footer.tpl"} diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phpdoc.de/templates/ric.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phpdoc.de/templates/ric.tpl new file mode 100755 index 00000000..eff734c1 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phpdoc.de/templates/ric.tpl @@ -0,0 +1,6 @@ +{include file="header.tpl"} +<h1 align="center">{$name}</h1> +<pre> +{$contents|htmlentities} +</pre> +{include file="footer.tpl"}
\ No newline at end of file diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phpdoc.de/templates/todolist.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phpdoc.de/templates/todolist.tpl new file mode 100755 index 00000000..f929ccdb --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phpdoc.de/templates/todolist.tpl @@ -0,0 +1,14 @@ +{include file="header.tpl" title="Todo List"} +<div align="center"><h1>Todo List</h1></div> +{foreach from=$todos key=todopackage item=todo} +<h2>{$todopackage}</h2> +{section name=todo loop=$todo} +<h3>{$todo[todo].link}</h3> +<ul> +{section name=t loop=$todo[todo].todos} + <li>{$todo[todo].todos[t]}</li> +{/section} +</ul> +{/section} +{/foreach} +{include file="footer.tpl"}
\ No newline at end of file diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phpdoc.de/templates/top_frame.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phpdoc.de/templates/top_frame.tpl new file mode 100755 index 00000000..36d1e5a1 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phpdoc.de/templates/top_frame.tpl @@ -0,0 +1,45 @@ +<?xml version="1.0" encoding="iso-8859-1"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> + <html xmlns="http://www.w3.org/1999/xhtml"> + <head> + <!-- template designed by Marco Von Ballmoos --> + <title>{$title}</title> + <link rel="stylesheet" href="{$subdir}media/stylesheet.css" /> + <link rel="stylesheet" href="{$subdir}media/banner.css" /> + <meta http-equiv='Content-Type' content='text/html; charset=iso-8859-1'/> + </head> + <body> + <div class="banner"> + <div class="banner-title">{$package}</div> + <div class="banner-menu"> + <form> + <table cellpadding="0" cellspacing="0" style="width: 100%"> + <tr> + <td> + {if count($ric) >= 1} + {assign var="last_ric_name" value=""} + {section name=ric loop=$ric} + {if $last_ric_name != ""} | {/if} + <a href="{$ric[ric].file}" target="right">{$ric[ric].name}</a> + {assign var="last_ric_name" value=$ric[ric].name} + {/section} + {/if} + </td> + <td style="width: 2em"> </td> + <td style="text-align: right"> + {if count($packages) > 1} + <span class="field">Packages</span> + <select class="package-selector" onchange="window.parent.left_bottom.location=this[selectedIndex].value"> + {section name=p loop=$packages} + <option value="{$packages[p].link}">{$packages[p].title}</option> + {/section} + </select> + {/if} + </td> + </tr> + </table> + </form> + </div> + </div> + </body> + </html> diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phpdoc.de/templates/tutorial.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phpdoc.de/templates/tutorial.tpl new file mode 100755 index 00000000..3b9109d1 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phpdoc.de/templates/tutorial.tpl @@ -0,0 +1,13 @@ +{include file="header.tpl" title=$title top3=true} + +{if $nav} + {include file="tutorial_nav.tpl" prev=$prev next=$next up=$up prevtitle=$prevtitle nexttitle=$nexttitle uptitle=$uptitle} +{/if} + +{$contents} + +{if $nav} + {include file="tutorial_nav.tpl" prev=$prev next=$next up=$up prevtitle=$prevtitle nexttitle=$nexttitle uptitle=$uptitle} +{/if} + +{include file="footer.tpl" top3=true}
\ No newline at end of file diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phpdoc.de/templates/tutorial_nav.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phpdoc.de/templates/tutorial_nav.tpl new file mode 100755 index 00000000..89952301 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phpdoc.de/templates/tutorial_nav.tpl @@ -0,0 +1,41 @@ +<table class="tutorial-nav-box"> + <tr> + <td style="width: 30%"> + {if $prev} + <a href="{$prev}" class="nav-button">Previous</a> + {else} + <span class="nav-button-disabled">Previous</span> + {/if} + </td> + <td style="text-align: center"> + {if $up} + <a href="{$up}" class="nav-button">Up</a> + {/if} + </td> + <td style="text-align: right; width: 30%"> + {if $next} + <a href="{$next}" class="nav-button">Next</a> + {else} + <span class="nav-button-disabled">Next</span> + {/if} + </td> + </tr> + <tr> + <td style="width: 30%"> + {if $prevtitle} + <span class="detail">{$prevtitle}</span> + {/if} + </td> + <td style="text-align: center"> + {if $uptitle} + <span class="detail">{$uptitle}</span> + {/if} + </td> + <td style="text-align: right; width: 30%"> + {if $nexttitle} + <span class="detail">{$nexttitle}</span> + {/if} + </td> + </tr> +</table> +
\ No newline at end of file diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phpdoc.de/templates/tutorial_toc.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phpdoc.de/templates/tutorial_toc.tpl new file mode 100755 index 00000000..3482249b --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phpdoc.de/templates/tutorial_toc.tpl @@ -0,0 +1,40 @@ +{if count($toc)} +<h1 class="title">Table of Contents</h1> +<ul class="toc"> + {assign var="lastcontext" value='refsect1'} + {section name=toc loop=$toc} + + {if $toc[toc].tagname != $lastcontext} + {if $lastcontext == 'refsect1'} + <ul class="toc"> + <li>{$toc[toc].link}</li> + {else} + {if $lastcontext == 'refsect2'} + {if $toc[toc].tagname == 'refsect1'} + </ul> + <li>{$toc[toc].link}</li> + {/if} + {if $toc[toc].tagname == 'refsect3'} + <ul class="toc"> + <li>{$toc[toc].link}</li> + {/if} + {else} + </ul> + </ul> + <li>{$toc[toc].link}</li> + {/if} + {/if} + {assign var="lastcontext" value=$toc[toc].tagname} + {else} + <li>{$toc[toc].link}</li> + {/if} + {/section} + {if $lastcontext == 'refsect2'} + </ul> + {/if} + {if $lastcontext == 'refsect3'} + </ul> + </ul> + {/if} +</ul> +{/if} diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phpdoc.de/templates/tutorial_tree.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phpdoc.de/templates/tutorial_tree.tpl new file mode 100755 index 00000000..617b5654 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phpdoc.de/templates/tutorial_tree.tpl @@ -0,0 +1,6 @@ +<div><a href="{$main.link}" target="right">{$main.title|strip_tags}</a></div> +{if $haskids} +<div style="margin-left: 1em"> + {$kids} +</div> +{/if} diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phpdoc.de/templates/var.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phpdoc.de/templates/var.tpl new file mode 100755 index 00000000..fccf6892 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phpdoc.de/templates/var.tpl @@ -0,0 +1,92 @@ +{section name=vars loop=$vars} +{if $vars[vars].static} +<a name="var{$vars[vars].var_name}" id="{$vars[vars].var_name}"><!-- --></A> +<div class="{cycle values="evenrow,oddrow"}"> + + <div class="var-header"> + <span class="var-title"> + static <span class="var-type">{$vars[vars].var_type}</span> + <span class="var-name">{$vars[vars].var_name}</span> + {if $vars[vars].var_default} = <span class="var-default">{$vars[vars].var_default|replace:"\n":"<br />"}</span>{/if} + (line <span class="line-number">{if $vars[vars].slink}{$vars[vars].slink}{else}{$vars[vars].line_number}{/if}</span>) + </span> + </div> + + {include file="docblock.tpl" sdesc=$vars[vars].sdesc desc=$vars[vars].desc tags=$vars[vars].tags} + + {if $vars[vars].var_overrides} + <hr class="separator" /> + <div class="notes">Redefinition of:</div> + <dl> + <dt>{$vars[vars].var_overrides.link}</dt> + {if $vars[vars].var_overrides.sdesc} + <dd>{$vars[vars].var_overrides.sdesc}</dd> + {/if} + </dl> + {/if} + + {if $vars[vars].descvar} + <hr class="separator" /> + <div class="notes">Redefined in descendants as:</div> + <ul class="redefinitions"> + {section name=vm loop=$vars[vars].descvar} + <li> + {$vars[vars].descvar[vm].link} + {if $vars[vars].descvar[vm].sdesc} + : {$vars[vars].descvar[vm].sdesc} + {/if} + </li> + {/section} + </ul> + {/if} + +</div> +{/if} +{/section} + +{section name=vars loop=$vars} +{if !$vars[vars].static} +<a name="var{$vars[vars].var_name}" id="{$vars[vars].var_name}"><!-- --></A> +<div class="{cycle values="evenrow,oddrow"}"> + + <div class="var-header"> + <span class="var-title"> + <span class="var-type">{$vars[vars].var_type}</span> + <span class="var-name">{$vars[vars].var_name}</span> + {if $vars[vars].var_default} = <span class="var-default">{$vars[vars].var_default|replace:"\n":"<br />"}</span>{/if} + (line <span class="line-number">{if $vars[vars].slink}{$vars[vars].slink}{else}{$vars[vars].line_number}{/if}</span>) + </span> + </div> + + {include file="docblock.tpl" sdesc=$vars[vars].sdesc desc=$vars[vars].desc tags=$vars[vars].tags} + + {if $vars[vars].var_overrides} + <hr class="separator" /> + <div class="notes">Redefinition of:</div> + <dl> + <dt>{$vars[vars].var_overrides.link}</dt> + {if $vars[vars].var_overrides.sdesc} + <dd>{$vars[vars].var_overrides.sdesc}</dd> + {/if} + </dl> + {/if} + + {if $vars[vars].descvar} + <hr class="separator" /> + <div class="notes">Redefined in descendants as:</div> + <ul class="redefinitions"> + {section name=vm loop=$vars[vars].descvar} + <li> + {$vars[vars].descvar[vm].link} + {if $vars[vars].descvar[vm].sdesc} + : {$vars[vars].descvar[vm].sdesc} + {/if} + </li> + {/section} + </ul> + {/if} + +</div> +{/if} +{/section} + diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phpedit/options.ini b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phpedit/options.ini new file mode 100755 index 00000000..c785503d --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phpedit/options.ini @@ -0,0 +1,507 @@ +preservedocbooktags = false + +;; used to highlight the {@source} inline tag, @filesource tag, and @example tag +[highlightSourceTokens] +;; format: +;; T_CONSTANTNAME = open +;; /T_CONSTANTNAME = close +T_ABSTRACT = <font color="blue"> +/T_ABSTRACT = </font> +T_CLONE = <font color="blue"> +/T_CLONE = </font> +T_HALT_COMPILER = <font color="red"> +/T_HALT_COMPILER = </font> +T_PUBLIC = <font color="blue"> +/T_PUBLIC = </font> +T_PRIVATE = <font color="blue"> +/T_PRIVATE = </font> +T_PROTECTED = <font color="blue"> +/T_PROTECTED = </font> +T_FINAL = <font color="blue"> +/T_FINAL = </font> +T_IMPLEMENTS = <font color="blue"> +/T_IMPLEMENTS = </font> +T_CLASS = <font color="blue"> +/T_CLASS = </font> +T_INTERFACE = <font color="blue"> +/T_INTERFACE = </font> +T_INCLUDE = <font color="blue"> +/T_INCLUDE = </font> +T_INCLUDE_ONCE = <font color="blue"> +/T_INCLUDE_ONCE = </font> +T_REQUIRE_ONCE = <font color="blue"> +/T_REQUIRE_ONCE = </font> +T_FUNCTION = <font color="blue"> +/T_FUNCTION = </font> +T_VARIABLE = <strong> +/T_VARIABLE = </strong> +T_CONSTANT_ENCAPSED_STRING = <font color="#66cccc"> +/T_CONSTANT_ENCAPSED_STRING = </font> +T_COMMENT = <font color="green"> +/T_COMMENT = </font> +T_OBJECT_OPERATOR = <strong> +/T_OBJECT_OPERATOR = </strong> +T_RETURN = <font color="blue"> +/T_RETURN = </font> +T_STATIC = <font color="blue"> +/T_STATIC = </font> +T_SWITCH = <font color="blue"> +/T_SWITCH = </font> +T_IF = <font color="blue"> +/T_IF = </font> +T_FOREACH = <font color="blue"> +/T_FOREACH = </font> +T_FOR = <font color="blue"> +/T_FOR = </font> +T_VAR = <font color="blue"> +/T_VAR = </font> +T_EXTENDS = <font color="blue"> +/T_EXTENDS = </font> +T_RETURN = <font color="blue"> +/T_RETURN = </font> +T_GLOBAL = <font color="blue"> +/T_GLOBAL = </font> +T_DOUBLE_COLON = <strong> +/T_DOUBLE_COLON = </strong> +T_OBJECT_OPERATOR = <strong> +/T_OBJECT_OPERATOR = </strong> +T_OPEN_TAG = <strong> +/T_OPEN_TAG = </strong> +T_CLOSE_TAG = <strong> +/T_CLOSE_TAG = </strong> + +[highlightSource] +;; this is for highlighting things that aren't tokens like "&" +;; format: +;; word = open +;; /word = close +@ = <strong> +/@ = </strong> +& = <strong> +/& = </strong> +[ = <strong> +/[ = </strong> +] = <strong> +/] = </strong> +! = <strong> +/! = </strong> +";" = <strong> +/; = </strong> +( = <strong> +/( = </strong> +) = <strong> +/) = </strong> +, = <strong> +/, = </strong> +{ = <strong> +/{ = </strong> +} = <strong> +/} = </strong> +""" = <font color="#66cccc"> +/" = </font> + +[highlightDocBlockSourceTokens] +;; this is for docblock tokens, using by phpDocumentor_HighlightParser +;; tagphptype is for "string" in @param string description, for example +docblock = <font color="#009999"> +/docblock = </font> +tagphptype = <em> +/tagphptype = </em> +tagvarname = <strong> +/tagvarname = </strong> +coretag = <strong><font color = "#0099FF"> +/coretag = </font></strong> +tag = <strong><font color="#009999"> +/tag = </font></strong> +inlinetag = <em><font color="#0099FF"> +/inlinetag = </font></em> +internal = <em><font color = "#6699cc"> +/internal = </font></em> +closetemplate = <strong><font color="blue"> +/closetemplate = </font></strong> +docblocktemplate = <font color="blue"> +/docblocktemplate = </font color="blue"> + +[highlightTutorialSourceTokens] +;; this is for XML DocBook-based tutorials, highlighted by phpDocumentor_TutorialHighlightParser +;; <tag> +opentag = <span class="tute-tag"> +/opentag = </span> +;; </tag> +closetag = <span class="tute-tag"> +/closetag = </span> +;; <tag attribute="value"> +attribute = <span class="tute-attribute-name"> +/attribute = </span> +;; <tag attribute="value"> +attributevalue = <span class="tute-attribute-value"> +/attributevalue = </span> +;; &entity; +entity = <span class="tute-entity"> +/entity = </span> +;; <!-- comment --> +comment = <span class="tute-comment"> +/comment = </span> +;; {@inline tag} +itag = <span class="tute-inline-tag"> +/itag = </span> + +;; used for translation of html in DocBlocks +[desctranslate] +ul = <ul> +/ul = </ul> +ol = <ol> +/ol = </ol> +li = <li> +/li = </li> +code = +/code = +var = <var> +/var = </var> +samp = <samp> +/samp = </samp> +kbd = <kbd> +/kbd = </kbd> +pre = <pre> +/pre = </pre> +p = <p> +/p = </p> +b = <strong> +/b = </strong> +i = <em> +/i = </em> +br = <br /> + +[ppage] +;; this is the DocBook package page translation section. All DocBook tags +;; that have a corresponding html tag must be listed here +;; +;; examples: +;; 1) +;; tagname = newtagname +;; +;; This is the simplest case, where all attributes will be added into the +;; starting tag and the ending tag will be html/xml style </tranlatedtagname> +;; <tagname></tagname> becomes <newtagname></newtagname> and +;; <tagname attr="value"></tagname> becomes +;; <newtagname attr="value"></newtagname> +;; +;; 2) +;; tagname = newtagname +;; tagname->attr = newattrname +;; +;; in this case, everything will be like the first case, except tags like: +;; <tagname attr="value"></tagname> will become +;; <newtagname newattrname="value"></newtagname> +;; +;; 3) +;; tagname = newtagname +;; tagname->attr = newattrname +;; tagname->attr+value = newvalue +;; +;; in this case, the value is also translated to another. This can be useful +;; for instances such as focus="middle" changing to align="center" or something +;; of that nature. +;; <tagname attr="value"></tagname> will become +;; <newtagname newattrname="newvalue"></newtagname> +;; +;; 4) +;; tagname = newtagname +;; tagname->attr1 = newattrname +;; tagname->attr2 = newattrname +;; tagname->attr1+value|attr2+value = newvalue +;; +;; in this case, two attributes combine to make one new attribute, and the combined +;; value is translated into a new value +;; <tagname attr1="value1" attr2="value2"></tagname> will become +;; <newtagname newattrname="newvalue"></newtagname> +;; +;; 5) +;; tagname = newtagname +;; tagname!attr = dummy +;; +;; here, the attribute will be ignored. dummy is not used and may be any value +;; <tagname attr="value"></tagname> will become +;; <newtagname></newtagname> +;; +;; 6) +;; tagname = newtagname +;; tagname! = dummy +;; +;; here, all attributes will be ignored. dummy is not used and may be any value +;; <tagname attr1="value" attr2="foo"></tagname> will become +;; <newtagname></newtagname> +;; +;; 7) +;; tagname = newtagname +;; tagname/ = 1 +;; +;; here, the tag will be translated as a single tag with no closing tag, and all +;; attributes +;; <tagname attr="val">{text text}</tagname> will become +;; <newtagname attr="val" /> +;; +;; 8) +;; tagname = <starttaginfo /> +;; /tagname = closetagtext +;; +;; in this case, the text <starttaginfo> will be inserted exactly as entered for +;; <tagname> and closetagtext for </tagname> +;; <tagname attr="val"></tagname> will become +;; <starttaginfo />closetagtext +;; +;; 9) +;; $attr$my_attribute = newattrname +;; +;; tagname = newtagname +;; +;; in this case, all occurences of my_attribute in any tag will be changed to +;; newattrname. This is useful for changing things like role="php" to +;; class="php," for example. Note that the text "$attr$" MUST be on the line +;; start for phpDocumentor to recognize it. +;; +;; 10) +;; &entity; = translation text +;; " = " +;; " = """ +;; < = < +;; +;; Use this to control translation of entities to their appropriate values + + = +" = " +” = ” +“ = “ +& = & +< = < +> = > +© = © + +$attr$role = class + +abbrev = abbr + +blockquote = blockquote + +arg = span +arg->choice = class + +author = <font size="-1"><strong>by <em> +/author = </em></strong></font> +author! = 0 + +authorblurb = blockquote + +authorgroup = <strong>Authors:</strong><br /> +/authorgroup = +authorgroup! = 0 + +caution = <table border="1"><th align="center">Caution</th><tr><td> +/caution = </td></tr></table> +caution! = 0 + +command = <b class="cmd"> +/command = </b> + +cmdsynopsis = <div id="cmdsynopsis"> +/cmdsynopsis = </div> + +copyright = <em> +/copyright = </em><br /> + +emphasis = strong + +example = <table class="src-code" width="100%" border="1"><tr><td> +/example = </td></tr></table> +example! = 0 + +function = +/function = () + +formalpara = p + +graphic = img +graphic->fileref = src +graphic/ = + +important = u + +informalequation = blockquote + +informalexample = pre + +inlineequation = em + +itemizedlist = ul + +listitem = li + +literal = code + +literallayout = pre + +option = " " +/option = + +orderedlist = ol + +para = p + +programlisting = <table border="0" bgcolor="#E0E0E0" cellpadding="5"><tr><td><div class="src-code"> +/programlisting = </div></td></tr></table> +programlisting! = 0 + +refentry = div + +refnamediv = <div class="refname"> +/refnamediv = </div> +refnamediv! = 0 + +refname = h1 + +refpurpose = <h2 class="refpurpose"><em> +/refpurpose = </em></h2> + +refsynopsisdiv = <div class="refsynopsis"> +/refsynopsisdiv = </div> +refsynopsisdiv! = 0 + +refsect1 = span + +refsect2 = +/refsect2 = <hr /> + +refsect3 = +/refsect3 = <br /> + +releaseinfo = ( +/releaseinfo = )<br /> + +simpara = +/simpara = <br /> +simpara! = 0 + +subscript = sub + +superscript = super + +table = table + +table->colsep = rules +table->rowsep = rules +table->colsep+1|rowsep+1 = all +table->colsep+1|rowsep+0 = cols +table->colsep+0|rowsep+1 = rows + +table->frame = frame +table->frame+all = border +table->frame+none = void +table->frame+sides = vsides +table->frame+top = above +table->frame+topbot = hsides + +thead = thead + +tfoot = tfoot + +tbody = tbody + +colspec = col + +tgroup = colgroup +tgroup/ = 1 +tgroup->cols = span + +row = tr + +entry = td +entry->morerows = colspan +entry->morerows+1 = 2 +entry->morerows+2 = 3 +entry->morerows+3 = 4 +entry->morerows+4 = 5 +entry->morerows+5 = 6 +entry->morerows+6 = 7 +entry->morerows+7 = 8 +entry->morerows+8 = 9 +entry->morerows+9 = 10 +entry->morerows+10 = 11 +;; add more if you need more colspans + +warning = <table border="1"><tr><td> +/warning = </td></tr></table> +warning! = 0 + +;; now begins the attributes that should be tags in cdata +[$attr$id] +open = a +;close = /a +cdata! = true +quotevalues = true +separator = "=" +;separateall = true +$id = name + +;; now begins the sections that deal with <title> +[refsynopsisdiv_title] +;tag_attr = true +;attr_name = title +cdata_start = true +;cdata_end = true +open = <h1 class="title" align="center"> +close = </h1> + +[refsect1_title] +;tag_attr = true +;attr_name = title +cdata_start = true +;cdata_end = true +open = <h2 class="title" align="center"> +close = </h1> + +[refsect2_title] +;tag_attr = true +;attr_name = title +cdata_start = true +;cdata_end = true +open = <h2 class="title" align="center"> +close = </h2> + +[refsect3_title] +;tag_attr = true +;attr_name = title +cdata_start = true +;cdata_end = true +open = <h3 class="title" align="center"> +close = </h3> + +[para_title] +;tag_attr = true +;attr_name = title +cdata_start = true +;cdata_end = true +open = <strong class="title" align="center"> +close = </strong> + +[formalpara_title] +;tag_attr = true +;attr_name = title +cdata_start = true +;cdata_end = true +open = <strong class="title" align="center"> +close = </strong> + +[example_title] +;tag_attr = true +;attr_name = title +;cdata_start = true +cdata_end = true +open = </td></tr><tr><td><strong> +close = </strong> + +[table_title] +;tag_attr = true +;attr_name = true +cdata_start = true +open = <caption> +close = </caption> diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phpedit/templates/basicindex.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phpedit/templates/basicindex.tpl new file mode 100755 index 00000000..f6f906cc --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phpedit/templates/basicindex.tpl @@ -0,0 +1,24 @@ +{section name=letter loop=$letters} + <a href="{$indexname}.html#{$letters[letter].letter}">{$letters[letter].letter}</a> +{/section} + +<br /><br /> +<table border="0" width="100%"> +{section name=index loop=$index} +<thead> + <tr> + <td><strong>{$index[index].letter}</strong></td> + <td align='right'><a name="{$index[index].letter}"> </a> + <a href="#top">top</a><br /></td> + </tr> +</thead> +<tbody> + {section name=contents loop=$index[index].index} + <tr> + <td> <strong>{$index[index].index[contents].name}</strong></td> + <td width="100%" align="left" valign="top">{$index[index].index[contents].listing}</td> + </tr> + {/section} +</tbody> +{/section} +</table> diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phpedit/templates/blank.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phpedit/templates/blank.tpl new file mode 100755 index 00000000..6a05f27e --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phpedit/templates/blank.tpl @@ -0,0 +1,13 @@ +<html> +<head> + <title>{$maintitle}</title> + <link rel="stylesheet" href="{$subdir}media/stylesheet.css" /> + <meta http-equiv='Content-Type' content='text/html; charset=iso-8859-1'/> +</head> +<body> +<div align="center"><h1>{$maintitle}</h1></div> +<b>Welcome to {$package}!</b><br /> +<br /> +This documentation was generated by <a href="{$phpdocwebsite}">phpDocumentor v{$phpdocversion}</a><br /> +</body> +</html>
\ No newline at end of file diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phpedit/templates/class.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phpedit/templates/class.tpl new file mode 100755 index 00000000..b9dda927 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phpedit/templates/class.tpl @@ -0,0 +1,95 @@ +{include file="header.tpl" top3=true} +<!-- Start of Class Data --> +<h2> + {if $is_interface}Interface{else}Class{/if} {$class_name} +</h2> (line <span class="linenumber">{if $class_slink}{$class_slink}{else}{$line_number}{/if}</span>) +<div class="tab-pane" id="tabPane1"> +<script type="text/javascript"> +tp1 = new WebFXTabPane( document.getElementById( "tabPane1" )); +</script> + +<div class="tab-page" id="Description"> +<h2 class="tab">Description</h2> +<pre> +{section name=tree loop=$class_tree.classes}{$class_tree.classes[tree]}{$class_tree.distance[tree]}{/section} +</pre> +{if $tutorial} +<div class="maintutorial">Class Tutorial: {$tutorial}</div> +{/if} +{if $conflicts.conflict_type} + <div align="left"><span class="font10bold" style="color:#FF0000">Warning:</span> Conflicts with classes:<br /> + {section name=me loop=$conflicts.conflicts} + {$conflicts.conflicts[me]}<br /> + {/section} + </div> +{/if} +<p> + <b><i>Located in File: <a href="{$page_link}">{$source_location}</a></i></b><br> +</p> +{include file="docblock.tpl" type="class" sdesc=$sdesc desc=$desc} +<br /><hr /> +{if $children} +<span class="type">Classes extended from {$class_name}:</span> + {section name=kids loop=$children} + <dl> + <dt>{$children[kids].link}</dt> + <dd>{$children[kids].sdesc}</dd> + </dl> + {/section}</p> +{/if} +</div> +<script type="text/javascript">tp1.addTabPage( document.getElementById( "Description" ) );</script> +<div class="tab-page" id="tabPage1"> +{include file="var.tpl"} +</div> +<div class="tab-page" id="constantsTabpage"> +{include file="const.tpl"} +</div> +<div class="tab-page" id="tabPage2"> +{include file="method.tpl"} +</div> +<div class="tab-page" id="iVars"> +<h2 class="tab">Inherited Variables</h2> +<script type="text/javascript">tp1.addTabPage( document.getElementById( "iVars" ) );</script> +<!-- =========== VAR INHERITED SUMMARY =========== --> +<A NAME='var_inherited_summary'><!-- --></A> +<h3>Inherited Class Variable Summary</h3> + + {section name=ivars loop=$ivars} + <!-- =========== Summary =========== --> + <h4>Inherited From Class {$ivars[ivars].parent_class}</h4> + {section name=ivars2 loop=$ivars[ivars].ivars} + <h4> +<img src="{$subdir}media/images/PublicProperty.gif" border="0" /><strong class="property"> {$ivars[ivars].ivars[ivars2].link}</strong> - {$ivars[ivars].ivars[ivars2].sdesc} + </h4> + {/section} + {/section} +</div> +<div class="tab-page" id="iMethods"> +<h2 class="tab">Inherited Methods</h2> +<script type="text/javascript">tp1.addTabPage( document.getElementById( "iMethods" ) );</script> +<!-- =========== INHERITED METHOD SUMMARY =========== --> +<A NAME='functions_inherited'><!-- --></A> +<h3>Inherited Method Summary</h3> + + {section name=imethods loop=$imethods} + <!-- =========== Summary =========== --> + <h4>Inherited From Class {$imethods[imethods].parent_class}</h4> + {section name=im2 loop=$imethods[imethods].imethods} + <h4> +<img src="{$subdir}media/images/{if $imethods[imethods].imethods[im2].constructor}Constructor{elseif $imethods[imethods].imethods[im2].destructor}Destructor{else}PublicMethod{/if}.gif" border="0" /><strong class="method"> {$imethods[imethods].imethods[im2].link}</strong> - {$imethods[imethods].imethods[im2].sdesc} + </h4> + + {/section} + <br /> + {/section} +</div> +</div> +<script type="text/javascript"> +//<![CDATA[ + +setupAllTabs(); + +//]]> +</script> +{include file="footer.tpl"} diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phpedit/templates/classtrees.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phpedit/templates/classtrees.tpl new file mode 100755 index 00000000..952e6d50 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phpedit/templates/classtrees.tpl @@ -0,0 +1,19 @@ +{include file="header.tpl" top1=true} + +<!-- Start of Class Data --> +<H2> + {$smarty.capture.title} +</H2> +{if $interfaces} +{section name=classtrees loop=$interfaces} +<h2>Root interface {$interfaces[classtrees].class}</h2> +{$interfaces[classtrees].class_tree} +{/section} +{/if} +{if $classtrees} +{section name=classtrees loop=$classtrees} +<h2>Root class {$classtrees[classtrees].class}</h2> +{$classtrees[classtrees].class_tree} +{/section} +{/if} +{include file="footer.tpl"}
\ No newline at end of file diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phpedit/templates/const.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phpedit/templates/const.tpl new file mode 100644 index 00000000..d9f36e58 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phpedit/templates/const.tpl @@ -0,0 +1,21 @@ + +<h2 class="tab">Class Constants</h2> +<!-- ============ VARIABLE DETAIL =========== --> +<strong>Summary:</strong><br /> +{section name=consts loop=$consts} +<div class="const-title"> + <a href="#{$consts[consts].const_dest}" title="details" class="property"><strong>{$consts[consts].const_name}</strong></a> +</div> +{/section} +<hr /> +{section name=consts loop=$consts} +<a name="{$consts[consts].const_dest}" id="{$consts[consts].const_dest}"><!-- --></A> +<div style="background='{cycle values="#ffffff,#eeeeee"}'"> +<h4> +<img src="{$subdir}media/images/Constant.gif" border="0" /> <strong class="property">{$consts[consts].const_name} = {$consts[consts].const_value|replace:"\n":"<br />"}</strong> (line <span class="linenumber">{if $consts[consts].slink}{$consts[consts].slink}{else}{$consts[consts].line_number}{/if}</span>) + </h4> +{include file="docblock.tpl" sdesc=$consts[consts].sdesc desc=$consts[consts].desc tags=$consts[consts].tags} +</div> +{/section} +<script type="text/javascript">tp1.addTabPage( document.getElementById( "constantsTabpage" ) );</script> + diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phpedit/templates/define.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phpedit/templates/define.tpl new file mode 100755 index 00000000..68339e53 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phpedit/templates/define.tpl @@ -0,0 +1,24 @@ +<!-- ============ CONSTANT DETAIL =========== --> + +<A NAME='constant_detail'></A> +<h2 class="tab">Constants</h2> + +<script type="text/javascript">tp1.addTabPage( document.getElementById( "tabPage3" ) );</script> + +{section name=def loop=$defines} +<a name="{$defines[def].define_link}"><!-- --></a> +<div style="background='{cycle values="#ffffff,#eeeeee"}'"> +<h4> + <img src="{$subdir}media/images/Constant.gif" border="0" /> <strong class="property">{$defines[def].define_name}</strong> (line <span class="linenumber">{if $defines[def].slink}{$defines[def].slink}{else}{$defines[def].line_number}{/if}</span>) + </h4> +<h4>{$defines[def].define_name} : {$defines[def].define_value|replace:"\n":"<br />"}</h4> +{if $defines[def].define_conflicts.conflict_type} + <p><span class="warning">Warning:</span> Conflicts with constants:<br /> + {section name=me loop=$defines[def].define_conflicts.conflicts} + {$defines[def].define_conflicts.conflicts[me]}<br /> + {/section} + </p> +{/if} +{include file="docblock.tpl" sdesc=$defines[def].sdesc desc=$defines[def].desc tags=$defines[def].tags} +</div> +{/section}
\ No newline at end of file diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phpedit/templates/docblock.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phpedit/templates/docblock.tpl new file mode 100755 index 00000000..7b1e17d7 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phpedit/templates/docblock.tpl @@ -0,0 +1,30 @@ +<!-- ========== Info from phpDoc block ========= --> +{if $sdesc} +<h5>{$sdesc}</h5> +{/if} +{if $desc} +<div class="desc">{$desc}</div> +{/if} +{if $function} + {if $params} + <h4>Parameters</h4> + <ul> + {section name=params loop=$params} + <li><strong>{$params[params].datatype} {$params[params].var}</strong>: {$params[params].data}</li> + {/section} + </ul> + {/if} + + <h4>Info</h4> + <ul> + {section name=tags loop=$tags} + <li><strong>{$tags[tags].keyword}</strong> - {$tags[tags].data}</li> + {/section} + </ul> +{else} +<ul> + {section name=tags loop=$tags} + <li><strong>{$tags[tags].keyword}:</strong> - {$tags[tags].data}</li> + {/section} +</ul> +{/if} diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phpedit/templates/elementindex.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phpedit/templates/elementindex.tpl new file mode 100755 index 00000000..fcb310a8 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phpedit/templates/elementindex.tpl @@ -0,0 +1,13 @@ +{include file="header.tpl" noleftindex=true} +<a name="top"></a> +<h1>Index of All Elements</h1> +<a name="top"> </a> +<strong>Indexes by package:</strong><br /> +<ul> +{section name=p loop=$packageindex} +<li><a href="elementindex_{$packageindex[p].title}.html">{$packageindex[p].title}</a></li> +{/section} +</ul> +<br /> +{include file="basicindex.tpl" indexname="elementindex"} +{include file="footer.tpl"} diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phpedit/templates/errors.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phpedit/templates/errors.tpl new file mode 100755 index 00000000..0f526584 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phpedit/templates/errors.tpl @@ -0,0 +1,21 @@ +{include file="header.tpl" noleftindex=true} +{section name=files loop=$files} +<a href="#{$files[files].file}">{$files[files].file}</a><br> +{/section} +{foreach key=file item=issues from=$all} +<a name="{$file}"></a> +<h1>{$file}</h1> +{if count($issues.warnings)} +<h2>Warnings:</h2><br> +{section name=warnings loop=$issues.warnings} +<b>{$issues.warnings[warnings].name}</b> - {$issues.warnings[warnings].listing}<br> +{/section} +{/if} +{if count($issues.errors)} +<h2>Errors:</h2><br> +{section name=errors loop=$issues.errors} +<b>{$issues.errors[errors].name}</b> - {$issues.errors[errors].listing}<br> +{/section} +{/if} +{/foreach} +{include file="footer.tpl"} diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phpedit/templates/examplesource.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phpedit/templates/examplesource.tpl new file mode 100755 index 00000000..5aef23d7 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phpedit/templates/examplesource.tpl @@ -0,0 +1,6 @@ +{include file="header.tpl" title=$title} +<h1 align="center">{$title}</h1> +<div class="src-code"> +{$source} +</div> +{include file="footer.tpl"}
\ No newline at end of file diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phpedit/templates/filesource.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phpedit/templates/filesource.tpl new file mode 100755 index 00000000..3d93199e --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phpedit/templates/filesource.tpl @@ -0,0 +1,8 @@ +{capture name="tutle"}File Source for {$name}{/capture} +{include file="header.tpl" title=$smarty.capture.tutle} +<h1 align="center">Source for file {$name}</h1> +<p>Documentation is available at {$docs}</p> +<div class="src-code"> +{$source} +</div> +{include file="footer.tpl"}
\ No newline at end of file diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phpedit/templates/footer.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phpedit/templates/footer.tpl new file mode 100755 index 00000000..9088c4fc --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phpedit/templates/footer.tpl @@ -0,0 +1,8 @@ +{if !$index} + <div id="credit"> + <hr /> + Documentation generated on {$date} by <a href="{$phpdocwebsite}" target="_blank">phpDocumentor {$phpdocversion}</a> + </div> +{/if} +</body> +</html> diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phpedit/templates/function.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phpedit/templates/function.tpl new file mode 100755 index 00000000..6348dd0e --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phpedit/templates/function.tpl @@ -0,0 +1,29 @@ +<!-- ============ FUNCTION DETAIL =========== --> + +<h2 class="tab">Functions</h2> + +<script type="text/javascript">tp1.addTabPage( document.getElementById( "tabPage4" ) );</script> + +{section name=func loop=$functions} +<a name="{$functions[func].function_dest}" id="{$functions[func].function_dest}"><!-- --></a> +<div style="background='{cycle values="#ffffff,#eeeeee"}'"> +<h4> + <img src="{$subdir}media/images/PublicMethod.gif" border="0" /> <strong class="method">{$functions[func].function_name}</strong> (line <span class="linenumber">{if $functions[func].slink}{$functions[func].slink}{else}{$functions[func].line_number}{/if}</span>) + </h4> +<h4><i>{$functions[func].function_return}</i> <strong>{if $functions[func].ifunction_call.returnsref}&{/if}{$functions[func].function_name}( +{if count($functions[func].ifunction_call.params)} +{section name=params loop=$functions[func].ifunction_call.params} +{if $smarty.section.params.iteration != 1}, {/if}{if $functions[func].ifunction_call.params[params].hasdefault}[{/if}{$functions[func].ifunction_call.params[params].type} {$functions[func].ifunction_call.params[params].name}{if $functions[func].ifunction_call.params[params].hasdefault} = {$functions[func].ifunction_call.params[params].default|escape:"html"}]{/if} +{/section} +{/if})</strong></h4> +{if $functions[func].function_conflicts.conflict_type} +<div align="left"><span class="warning">Warning:</span> Conflicts with functions:<br /> +{section name=me loop=$functions[func].function_conflicts.conflicts} +{$functions[func].function_conflicts.conflicts[me]}<br /> +{/section} +</div> +{/if} + +{include file="docblock.tpl" sdesc=$functions[func].sdesc desc=$functions[func].desc tags=$functions[func].tags params=$functions[func].params function=true} +</div> +{/section} diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phpedit/templates/global.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phpedit/templates/global.tpl new file mode 100755 index 00000000..42303bf1 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phpedit/templates/global.tpl @@ -0,0 +1,24 @@ +<!-- ============ GLOBAL DETAIL =========== --> + +<h2 class="tab">Global Variables</h2> + +<script type="text/javascript">tp1.addTabPage( document.getElementById( "tabPage2" ) );</script> + +{section name=glob loop=$globals} +<a name="{$globals[glob].global_link}" id="{$globals[glob].global_link}"><!-- --></a> +<div style="background='{cycle values="#ffffff,#eeeeee"}'"> +<h4> + <img src="{$subdir}media/images/Constants.gif" border="0" /> <strong class="Property">{$globals[glob].global_name}</strong> (line <span class="linenumber">{if $globals[glob].slink}{$globals[glob].slink}{else}{$globals[glob].line_number}{/if}</span>) + </h4> +<h4><i>{$globals[glob].global_type}</i> {$globals[glob].global_name} : {$globals[glob].global_value|replace:"\n":"<br />"}</h4> +{if $globals[glob].global_conflicts.conflict_type} + <p><span class="warning">Warning:</span> Conflicts with global variables:<br /> + {section name=me loop=$globals[glob].global_conflicts.conflicts} + {$globals[glob].global_conflicts.conflicts[me]}<br /> + {/section} + </p> +{/if} + +{include file="docblock.tpl" sdesc=$globals[glob].sdesc desc=$globals[glob].desc tags=$globals[glob].tags} +</div> +{/section}
\ No newline at end of file diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phpedit/templates/header.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phpedit/templates/header.tpl new file mode 100755 index 00000000..378f67e3 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phpedit/templates/header.tpl @@ -0,0 +1,97 @@ +<?xml version="1.0" encoding="iso-8859-1"?> +<!DOCTYPE html + PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> + <html xmlns="http://www.w3.org/1999/xhtml"> +<head> + <title>{$title}</title> + <link rel="stylesheet" href="{$subdir}media/stylesheet.css" /> +{if $top2 || $top3} + <script src="{$subdir}media/lib/classTree.js"></script> +<link id="webfx-tab-style-sheet" type="text/css" rel="stylesheet" href="{$subdir}media/lib/tab.webfx.css" /> +<script type="text/javascript" src="{$subdir}media/lib/tabpane.js"></script> +{/if} +{if $top2} + <meta http-equiv='Content-Type' content='text/html; charset=iso-8859-1'/> +{/if} +{if $top3 || $top2} + <script language="javascript" type="text/javascript" src="{$subdir}media/lib/ua.js"></script> +<script language="javascript" type="text/javascript"> + var imgPlus = new Image(); + var imgMinus = new Image(); + imgPlus.src = "{$subdir}media/images/plus.gif"; + imgMinus.src = "{$subdir}media/images/minus.gif"; + + function showNode(Node){ldelim} + switch(navigator.family){ldelim} + case 'nn4': + // Nav 4.x code fork... + var oTable = document.layers["span" + Node]; + var oImg = document.layers["img" + Node]; + break; + case 'ie4': + // IE 4/5 code fork... + var oTable = document.all["span" + Node]; + var oImg = document.all["img" + Node]; + break; + case 'gecko': + // Standards Compliant code fork... + var oTable = document.getElementById("span" + Node); + var oImg = document.getElementById("img" + Node); + break; + {rdelim} + oImg.src = imgMinus.src; + oTable.style.display = "block"; + {rdelim} + + function hideNode(Node){ldelim} + switch(navigator.family){ldelim} + case 'nn4': + // Nav 4.x code fork... + var oTable = document.layers["span" + Node]; + var oImg = document.layers["img" + Node]; + break; + case 'ie4': + // IE 4/5 code fork... + var oTable = document.all["span" + Node]; + var oImg = document.all["img" + Node]; + break; + case 'gecko': + // Standards Compliant code fork... + var oTable = document.getElementById("span" + Node); + var oImg = document.getElementById("img" + Node); + break; + {rdelim} + oImg.src = imgPlus.src; + oTable.style.display = "none"; + {rdelim} + + function nodeIsVisible(Node){ldelim} + switch(navigator.family){ldelim} + case 'nn4': + // Nav 4.x code fork... + var oTable = document.layers["span" + Node]; + break; + case 'ie4': + // IE 4/5 code fork... + var oTable = document.all["span" + Node]; + break; + case 'gecko': + // Standards Compliant code fork... + var oTable = document.getElementById("span" + Node); + break; + {rdelim} + return (oTable && oTable.style.display == "block"); + {rdelim} + + function toggleNodeVisibility(Node){ldelim} + if (nodeIsVisible(Node)){ldelim} + hideNode(Node); + {rdelim}else{ldelim} + showNode(Node); + {rdelim} + {rdelim} +</script> +{/if} +<!-- template designed by Julien Damon based on PHPEdit's generated templates, and tweaked by Greg Beaver --> +<body bgcolor="#ffffff" {if $top2} topmargin="3" leftmargin="3" rightmargin="2" bottommargin="3"{/if}> diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phpedit/templates/include.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phpedit/templates/include.tpl new file mode 100755 index 00000000..56e66a9d --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phpedit/templates/include.tpl @@ -0,0 +1,16 @@ +<!-- ============ Includes DETAIL =========== --> + +<h2 class="tab">Include/Require Statements</h2> +<script type="text/javascript">tp1.addTabPage( document.getElementById( "tabPage1" ) );</script> + + +{section name=includes loop=$includes} +<a name="{$includes[includes].include_file}"><!-- --></a> +<div style="background='{cycle values="#ffffff,#eeeeee"}'"> +<h4> + <img src="{$subdir}media/images/file.png" border="0" /> <strong class="Property">{$includes[includes].include_value}</strong> (line <span class="linenumber">{if $includes[includes].slink}{$includes[includes].slink}{else}{$includes[includes].line_number}{/if}</span>) + </h4> +<h4>{$includes[includes].include_name} : {$includes[includes].include_value}</h4> +{include file="docblock.tpl" sdesc=$includes[includes].sdesc desc=$includes[includes].desc tags=$includes[includes].tags} +</div> +{/section}
\ No newline at end of file diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phpedit/templates/index.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phpedit/templates/index.tpl new file mode 100755 index 00000000..a0ade4f5 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phpedit/templates/index.tpl @@ -0,0 +1,24 @@ +<?xml version="1.0" encoding="iso-8859-1"?> +<!DOCTYPE html + PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//FR" + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd"> + <html xmlns="http://www.w3.org/1999/xhtml"> +<head> + <!-- Generated by phpDocumentor on {$date} --> + <title>{$title}</title> + <meta http-equiv='Content-Type' content='text/html; charset=iso-8859-1'/> +</head> + +<FRAMESET cols='220,*'> + <FRAMESET rows='220,*'> + <FRAME src='packages.html' name='left_top'> + <FRAME src='{$start}' name='left_bottom'> + </FRAMESET> + <FRAME src='{$blank}.html' name='right'> + <NOFRAMES> + <H2>Frame Alert</H2> + <P>This document is designed to be viewed using the frames feature. + If you see this message, you are using a non-frame-capable web client.</P> + </NOFRAMES> +</FRAMESET> +</HTML> diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phpedit/templates/left_frame.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phpedit/templates/left_frame.tpl new file mode 100755 index 00000000..dd5f2607 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phpedit/templates/left_frame.tpl @@ -0,0 +1,166 @@ +{include file="header.tpl" top2=true} +{if $hastodos} +<div id="todolist"> +<p><a href="{$todolink}" target="right">Todo List</a></p> +</div> +{/if} +<h3>Navigation: {$info.0.package}</h3> +<script language="Javascript"> +if (document.getElementById) {ldelim} +{section name=p loop=$info} +{if $info[p].subpackage == ""} +{if $info[p].packagetutorial} + var tree = new WebFXTree('Help : {$info[p].packagetutorialtitle|strip_tags}', '{$info[p].packagetutorialnoa}'); +{else} + var tree = new WebFXTree('Help : {$info[p].package}', '{$info[p].packagedoc}.html'); +{/if} + tree.setBehavior('classic'); + tree.openIcon = 'media/images/Disk.gif'; + tree.icon = 'media/images/Disk.gif'; + + var elements = new WebFXTreeItem('Index of elements', '{$elementindex}.html'); + elements.openIcon = 'media/images/file.png'; + elements.icon = 'media/images/file.png'; + tree.add(elements); + + var tree_function = new WebFXTreeItem('Function(s)', '{$packagedoc}'); + tree_function.openIcon = 'media/images/Functions.gif'; + tree_function.icon = 'media/images/Functions.gif'; + {section name=nonclass loop=$info[p].functions} + var fic = new WebFXTreeItem('{$info[p].functions[nonclass].title}', '{$info[p].functions[nonclass].link}'); + fic.openIcon = 'media/images/PublicMethod.gif'; + fic.icon = 'media/images/PublicMethod.gif'; + tree_function.add(fic); + {/section} + tree.add(tree_function); + + var tree_interface = new WebFXTreeItem('Interface(s)', '{$classtreepage}.html'); + tree_interface.openIcon = 'media/images/classFolder.gif'; + tree_interface.icon = 'media/images/classFolder.gif'; + {section name=class loop=$info[p].classes} + {if $info[p].classes[class].is_interface} + var classe = new WebFXTreeItem('{$info[p].classes[class].title}', '{$info[p].classes[class].link}'); + classe.openIcon = 'media/images/Class.gif'; + classe.icon = 'media/images/Class.gif'; + tree_interface.add(classe); + {/if} + {/section} + tree.add(tree_interface); + + var tree_classe = new WebFXTreeItem('Class(es)', '{$classtreepage}.html'); + tree_classe.openIcon = 'media/images/classFolder.gif'; + tree_classe.icon = 'media/images/classFolder.gif'; + {section name=class loop=$info[p].classes} + {if $info[p].classes[class].is_class} + var classe = new WebFXTreeItem('{$info[p].classes[class].title}', '{$info[p].classes[class].link}'); + classe.openIcon = 'media/images/Class.gif'; + classe.icon = 'media/images/Class.gif'; + tree_classe.add(classe); + {/if} + {/section} + tree.add(tree_classe); + + var tree_file = new WebFXTreeItem('File(s)', '{$packagedoc}'); + tree_file.openIcon = 'media/images/FolderOpened.gif'; + tree_file.icon = 'media/images/foldericon.png'; + {section name=nonclass loop=$info[p].files} + var file = new WebFXTreeItem('{$info[p].files[nonclass].title}', '{$info[p].files[nonclass].link}'); + file.openIcon = 'media/images/file.png'; + file.icon = 'media/images/file.png'; + tree_file.add(file); + {/section} + tree.add(tree_file); +{else} +{if $info[p].subpackagetutorial} + var subpackagetree = new WebFXTreeItem('Subpackage : {$info[p].subpackagetutorialtitle|strip_tags}', '{$info[p].subpackagetutorialnoa}'); +{else} + var subpackagetree = new WebFXTreeItem('Subpackage : {$info[p].subpackage}', '{$packagedoc}'); +{/if} + subpackagetree.openIcon = 'media/images/Disk.gif'; + subpackagetree.icon = 'media/images/Disk.gif'; + + var subpackagetree_function = new WebFXTreeItem('Function(s)', '{$packagedoc}'); + subpackagetree_function.openIcon = 'media/images/Functions.gif'; + subpackagetree_function.icon = 'media/images/Functions.gif'; + {section name=nonclass loop=$info[p].functions} + var fic = new WebFXTreeItem('{$info[p].functions[nonclass].title}', '{$info[p].functions[nonclass].link}'); + fic.openIcon = 'media/images/PublicMethod.gif'; + fic.icon = 'media/images/PublicMethod.gif'; + subpackagetree_function.add(fic); + {/section} + subpackagetree.add(subpackagetree_function); + + var subpackagetree_classe = new WebFXTreeItem('Class(es)', '{$classtreepage}.html'); + subpackagetree_classe.openIcon = 'media/images/classFolder.gif'; + subpackagetree_classe.icon = 'media/images/classFolder.gif'; + {section name=class loop=$info[p].classes} + var classe = new WebFXTreeItem('{$info[p].classes[class].title}', '{$info[p].classes[class].link}'); + classe.openIcon = 'media/images/Class.gif'; + classe.icon = 'media/images/Class.gif'; + subpackagetree_classe.add(classe); + {/section} + subpackagetree.add(subpackagetree_classe); + + var subpackagetree_file = new WebFXTreeItem('File(s)', '{$packagedoc}'); + subpackagetree_file.openIcon = 'media/images/FolderOpened.gif'; + subpackagetree_file.icon = 'media/images/foldericon.png'; + {section name=nonclass loop=$info[p].files} + var file = new WebFXTreeItem('{$info[p].files[nonclass].title}', '{$info[p].files[nonclass].link}'); + file.openIcon = 'media/images/file.png'; + file.icon = 'media/images/file.png'; + subpackagetree_file.add(file); + {/section} + subpackagetree.add(subpackagetree_file); + + tree.add(subpackagetree); +{/if} +{/section} + document.write(tree); +{rdelim} +</script> +<br /> +{if $hastutorials} +<div class="tutorialist"> +{section name=p loop=$info} +{if count($info[p].tutorials)} +<h3>Tutorials/Manuals:{if $info[p].subpackage} {$info[p].subpackage}{/if}</h3> +{if $info[p].tutorials.pkg} +<strong>Package-level:</strong> +<script language="Javascript"> +if (document.getElementById) {ldelim} +{section name=ext loop=$info[p].tutorials.pkg} +{$info[p].tutorials.pkg[ext]} +{/section} +{rdelim} +</script> +{/if} +{if $info[p].tutorials.cls} +<strong>Class-level:</strong> +<script language="Javascript"> +if (document.getElementById) {ldelim} +{section name=ext loop=$info[p].tutorials.cls} +{$info[p].tutorials.cls[ext]} +{/section} +{rdelim} +</script> +{/if} +{if $info[p].tutorials.proc} +<strong>Procedural-level:</strong> +<script language="Javascript"> +if (document.getElementById) {ldelim} +{section name=ext loop=$info[p].tutorials.proc} +{$info[p].tutorials.proc[ext]} +{/section} +{rdelim} +{/if} +</script> +{/if} +{/section} +{/if} +</div> +<br /> +<span CLASS="small"><a href="{$phpdocwebsite}" target="_blank">phpDocumentor v <b>{$phpdocversion}</b></a><br /> +<br /> +<i>HTML layout inspired by </i><a href="http://www.phpedit.com" target="right">PHPEdit</a></span> +</body> +</html> diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phpedit/templates/media/images/Class.gif b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phpedit/templates/media/images/Class.gif Binary files differnew file mode 100755 index 00000000..ada36bbb --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phpedit/templates/media/images/Class.gif diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phpedit/templates/media/images/Constant.gif b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phpedit/templates/media/images/Constant.gif Binary files differnew file mode 100755 index 00000000..d9ca9cfa --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phpedit/templates/media/images/Constant.gif diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phpedit/templates/media/images/Constants.gif b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phpedit/templates/media/images/Constants.gif Binary files differnew file mode 100755 index 00000000..eba8d08f --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phpedit/templates/media/images/Constants.gif diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phpedit/templates/media/images/Constructor.gif b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phpedit/templates/media/images/Constructor.gif Binary files differnew file mode 100755 index 00000000..f153cfb4 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phpedit/templates/media/images/Constructor.gif diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phpedit/templates/media/images/Destructor.gif b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phpedit/templates/media/images/Destructor.gif Binary files differnew file mode 100755 index 00000000..bf3d62b3 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phpedit/templates/media/images/Destructor.gif diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phpedit/templates/media/images/Disk.gif b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phpedit/templates/media/images/Disk.gif Binary files differnew file mode 100755 index 00000000..7ab08fd0 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phpedit/templates/media/images/Disk.gif diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phpedit/templates/media/images/FolderClosed.gif b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phpedit/templates/media/images/FolderClosed.gif Binary files differnew file mode 100755 index 00000000..68c6563c --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phpedit/templates/media/images/FolderClosed.gif diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phpedit/templates/media/images/FolderOpened.gif b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phpedit/templates/media/images/FolderOpened.gif Binary files differnew file mode 100755 index 00000000..8b012d55 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phpedit/templates/media/images/FolderOpened.gif diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phpedit/templates/media/images/Functions.gif b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phpedit/templates/media/images/Functions.gif Binary files differnew file mode 100755 index 00000000..bc2def80 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phpedit/templates/media/images/Functions.gif diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phpedit/templates/media/images/GhostClass.gif b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phpedit/templates/media/images/GhostClass.gif Binary files differnew file mode 100755 index 00000000..44124540 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phpedit/templates/media/images/GhostClass.gif diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phpedit/templates/media/images/I.png b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phpedit/templates/media/images/I.png Binary files differnew file mode 100755 index 00000000..e8512fb9 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phpedit/templates/media/images/I.png diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phpedit/templates/media/images/L.png b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phpedit/templates/media/images/L.png Binary files differnew file mode 100755 index 00000000..eb334eda --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phpedit/templates/media/images/L.png diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phpedit/templates/media/images/Lminus.png b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phpedit/templates/media/images/Lminus.png Binary files differnew file mode 100755 index 00000000..f7c43c0a --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phpedit/templates/media/images/Lminus.png diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phpedit/templates/media/images/Lplus.png b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phpedit/templates/media/images/Lplus.png Binary files differnew file mode 100755 index 00000000..848ec2fc --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phpedit/templates/media/images/Lplus.png diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phpedit/templates/media/images/PrivateDataMember.gif b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phpedit/templates/media/images/PrivateDataMember.gif Binary files differnew file mode 100755 index 00000000..346380de --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phpedit/templates/media/images/PrivateDataMember.gif diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phpedit/templates/media/images/PrivateMethod.gif b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phpedit/templates/media/images/PrivateMethod.gif Binary files differnew file mode 100755 index 00000000..dcd2b203 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phpedit/templates/media/images/PrivateMethod.gif diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phpedit/templates/media/images/PrivateProperty.gif b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phpedit/templates/media/images/PrivateProperty.gif Binary files differnew file mode 100755 index 00000000..a21fffa0 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phpedit/templates/media/images/PrivateProperty.gif diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phpedit/templates/media/images/ProtectedDataMember.gif b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phpedit/templates/media/images/ProtectedDataMember.gif Binary files differnew file mode 100755 index 00000000..882fa7db --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phpedit/templates/media/images/ProtectedDataMember.gif diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phpedit/templates/media/images/ProtectedMethod.gif b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phpedit/templates/media/images/ProtectedMethod.gif Binary files differnew file mode 100755 index 00000000..b25197b2 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phpedit/templates/media/images/ProtectedMethod.gif diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phpedit/templates/media/images/ProtectedProperty.gif b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phpedit/templates/media/images/ProtectedProperty.gif Binary files differnew file mode 100755 index 00000000..94892fe4 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phpedit/templates/media/images/ProtectedProperty.gif diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phpedit/templates/media/images/PublicDataMember.gif b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phpedit/templates/media/images/PublicDataMember.gif Binary files differnew file mode 100755 index 00000000..5a799e0c --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phpedit/templates/media/images/PublicDataMember.gif diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phpedit/templates/media/images/PublicMethod.gif b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phpedit/templates/media/images/PublicMethod.gif Binary files differnew file mode 100755 index 00000000..571fd9ce --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phpedit/templates/media/images/PublicMethod.gif diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phpedit/templates/media/images/PublicProperty.gif b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phpedit/templates/media/images/PublicProperty.gif Binary files differnew file mode 100755 index 00000000..634ff5cb --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phpedit/templates/media/images/PublicProperty.gif diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phpedit/templates/media/images/T.png b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phpedit/templates/media/images/T.png Binary files differnew file mode 100755 index 00000000..30173254 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phpedit/templates/media/images/T.png diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phpedit/templates/media/images/Tminus.png b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phpedit/templates/media/images/Tminus.png Binary files differnew file mode 100755 index 00000000..2260e424 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phpedit/templates/media/images/Tminus.png diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phpedit/templates/media/images/Tplus.png b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phpedit/templates/media/images/Tplus.png Binary files differnew file mode 100755 index 00000000..2c8d8f4f --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phpedit/templates/media/images/Tplus.png diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phpedit/templates/media/images/Types.gif b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phpedit/templates/media/images/Types.gif Binary files differnew file mode 100755 index 00000000..7c13fd59 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phpedit/templates/media/images/Types.gif diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phpedit/templates/media/images/Variable.gif b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phpedit/templates/media/images/Variable.gif Binary files differnew file mode 100755 index 00000000..63b3f553 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phpedit/templates/media/images/Variable.gif diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phpedit/templates/media/images/Vars.gif b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phpedit/templates/media/images/Vars.gif Binary files differnew file mode 100755 index 00000000..3963c3c1 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phpedit/templates/media/images/Vars.gif diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phpedit/templates/media/images/blank.png b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phpedit/templates/media/images/blank.png Binary files differnew file mode 100755 index 00000000..cee9cd37 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phpedit/templates/media/images/blank.png diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phpedit/templates/media/images/classFolder.gif b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phpedit/templates/media/images/classFolder.gif Binary files differnew file mode 100755 index 00000000..5492345f --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phpedit/templates/media/images/classFolder.gif diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phpedit/templates/media/images/error.gif b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phpedit/templates/media/images/error.gif Binary files differnew file mode 100755 index 00000000..e323ff06 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phpedit/templates/media/images/error.gif diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phpedit/templates/media/images/file.png b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phpedit/templates/media/images/file.png Binary files differnew file mode 100755 index 00000000..0bb2427f --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phpedit/templates/media/images/file.png diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phpedit/templates/media/images/foldericon.png b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phpedit/templates/media/images/foldericon.png Binary files differnew file mode 100755 index 00000000..2684748b --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phpedit/templates/media/images/foldericon.png diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phpedit/templates/media/images/minus.gif b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phpedit/templates/media/images/minus.gif Binary files differnew file mode 100755 index 00000000..9e998f1b --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phpedit/templates/media/images/minus.gif diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phpedit/templates/media/images/msgError.gif b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phpedit/templates/media/images/msgError.gif Binary files differnew file mode 100755 index 00000000..93c6d36a --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phpedit/templates/media/images/msgError.gif diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phpedit/templates/media/images/msgFatalError.gif b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phpedit/templates/media/images/msgFatalError.gif Binary files differnew file mode 100755 index 00000000..6257bbe5 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phpedit/templates/media/images/msgFatalError.gif diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phpedit/templates/media/images/msgHint.gif b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phpedit/templates/media/images/msgHint.gif Binary files differnew file mode 100755 index 00000000..0b23fbfe --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phpedit/templates/media/images/msgHint.gif diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phpedit/templates/media/images/msgInformation.gif b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phpedit/templates/media/images/msgInformation.gif Binary files differnew file mode 100755 index 00000000..1cc5c9ba --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phpedit/templates/media/images/msgInformation.gif diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phpedit/templates/media/images/msgWarning.gif b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phpedit/templates/media/images/msgWarning.gif Binary files differnew file mode 100755 index 00000000..e0757783 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phpedit/templates/media/images/msgWarning.gif diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phpedit/templates/media/images/openfoldericon.png b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phpedit/templates/media/images/openfoldericon.png Binary files differnew file mode 100755 index 00000000..15fcd567 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phpedit/templates/media/images/openfoldericon.png diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phpedit/templates/media/images/plus.gif b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phpedit/templates/media/images/plus.gif Binary files differnew file mode 100755 index 00000000..cade83c7 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phpedit/templates/media/images/plus.gif diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phpedit/templates/media/images/spacer.gif b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phpedit/templates/media/images/spacer.gif Binary files differnew file mode 100755 index 00000000..1fa6d01f --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phpedit/templates/media/images/spacer.gif diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phpedit/templates/media/lib/classTree.js b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phpedit/templates/media/lib/classTree.js new file mode 100755 index 00000000..7f57c474 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phpedit/templates/media/lib/classTree.js @@ -0,0 +1,454 @@ +/*----------------------------------------\ +| Cross Browser Tree Widget 1.1 | +|-----------------------------------------| +| Created by Emil A. Eklund (eae@eae.net) | +| For WebFX (http://webfx.eae.net/) | +|-----------------------------------------| +| This script is provided as is without | +| any warranty whatsoever. It may be used | +| free of charge for non commerical sites | +| For commerical use contact the author | +| of this script for further details. | +|-----------------------------------------| +| Created 2000-12-11 | Updated 2001-09-06 | +\----------------------------------------*/ + +var webFXTreeConfig = { + rootIcon : 'media/images/Class.gif', + openRootIcon : 'media/images/Class.gif', + folderIcon : 'media/images/Class.gif', + openFolderIcon : 'media/images/Class.gif', + fileIcon : 'media/images/Class.gif', + iIcon : 'media/images/I.png', + lIcon : 'media/images/L.png', + lMinusIcon : 'media/images/Lminus.png', + lPlusIcon : 'media/images/Lplus.png', + tIcon : 'media/images/T.png', + tMinusIcon : 'media/images/Tminus.png', + tPlusIcon : 'media/images/Tplus.png', + blankIcon : 'media/images/blank.png', + defaultText : 'Tree Item', + defaultAction : 'javascript:void(0);', + defaultTarget : 'right', + defaultBehavior : 'classic' +}; + +var webFXTreeHandler = { + idCounter : 0, + idPrefix : "webfx-tree-object-", + all : {}, + behavior : null, + selected : null, + getId : function() { return this.idPrefix + this.idCounter++; }, + toggle : function (oItem) { this.all[oItem.id.replace('-plus','')].toggle(); }, + select : function (oItem) { this.all[oItem.id.replace('-icon','')].select(); }, + focus : function (oItem) { this.all[oItem.id.replace('-anchor','')].focus(); }, + blur : function (oItem) { this.all[oItem.id.replace('-anchor','')].blur(); }, + keydown : function (oItem) { return this.all[oItem.id].keydown(window.event.keyCode); }, + cookies : new WebFXCookie() +}; + +/* + * WebFXCookie class + */ + +function WebFXCookie() { + if (document.cookie.length) { this.cookies = ' ' + document.cookie; } +} + +WebFXCookie.prototype.setCookie = function (key, value) { + document.cookie = key + "=" + escape(value); +} + +WebFXCookie.prototype.getCookie = function (key) { + if (this.cookies) { + var start = this.cookies.indexOf(' ' + key + '='); + if (start == -1) { return null; } + var end = this.cookies.indexOf(";", start); + if (end == -1) { end = this.cookies.length; } + end -= start; + var cookie = this.cookies.substr(start,end); + return unescape(cookie.substr(cookie.indexOf('=') + 1, cookie.length - cookie.indexOf('=') + 1)); + } + else { return null; } +} + +/* + * WebFXTreeAbstractNode class + */ + +function WebFXTreeAbstractNode(sText, sAction, sTarget) { + this.childNodes = []; + this.id = webFXTreeHandler.getId(); + this.text = sText || webFXTreeConfig.defaultText; + this.action = sAction || webFXTreeConfig.defaultAction; + this.targetWindow = sTarget || webFXTreeConfig.defaultTarget; + this._last = false; + webFXTreeHandler.all[this.id] = this; +} + +WebFXTreeAbstractNode.prototype.add = function (node) { + node.parentNode = this; + this.childNodes[this.childNodes.length] = node; + var root = this; + if (this.childNodes.length >=2) { + this.childNodes[this.childNodes.length -2]._last = false; + } + while (root.parentNode) { root = root.parentNode; } + if (root.rendered) { + if (this.childNodes.length >= 2) { + document.getElementById(this.childNodes[this.childNodes.length -2].id + '-plus').src = ((this.childNodes[this.childNodes.length -2].folder)?webFXTreeConfig.tMinusIcon:webFXTreeConfig.tIcon); + if (this.childNodes[this.childNodes.length -2].folder) { + this.childNodes[this.childNodes.length -2].plusIcon = webFXTreeConfig.tPlusIcon; + this.childNodes[this.childNodes.length -2].minusIcon = webFXTreeConfig.tMinusIcon; + } + this.childNodes[this.childNodes.length -2]._last = false; + } + this._last = true; + var foo = this; + while (foo.parentNode) { + for (var i = 0; i < foo.parentNode.childNodes.length; i++) { + if (foo.id == foo.parentNode.childNodes[i].id) { break; } + } + if (++i == foo.parentNode.childNodes.length) { foo.parentNode._last = true; } + else { foo.parentNode._last = false; } + foo = foo.parentNode; + } + document.getElementById(this.id + '-cont').insertAdjacentHTML("beforeEnd", node.toString()); + if ((!this.folder) && (!this.openIcon)) { + this.icon = webFXTreeConfig.folderIcon; + this.openIcon = webFXTreeConfig.openFolderIcon; + } + this.folder = true; + this.indent(); + this.expand(); + } + return node; +} + +WebFXTreeAbstractNode.prototype.toggle = function() { + if (this.folder) { + if (this.open) { this.collapse(); } + else { this.expand(); } + } +} + +WebFXTreeAbstractNode.prototype.select = function() { + document.getElementById(this.id + '-anchor').focus(); +} + +WebFXTreeAbstractNode.prototype.focus = function() { + webFXTreeHandler.selected = this; + if ((this.openIcon) && (webFXTreeHandler.behavior != 'classic')) { document.getElementById(this.id + '-icon').src = this.openIcon; } + document.getElementById(this.id + '-anchor').style.backgroundColor = 'highlight'; + document.getElementById(this.id + '-anchor').style.color = 'highlighttext'; + document.getElementById(this.id + '-anchor').focus(); +} + +WebFXTreeAbstractNode.prototype.blur = function() { + if ((this.openIcon) && (webFXTreeHandler.behavior != 'classic')) { document.getElementById(this.id + '-icon').src = this.icon; } + document.getElementById(this.id + '-anchor').style.backgroundColor = 'transparent'; + document.getElementById(this.id + '-anchor').style.color = 'menutext'; +} + +WebFXTreeAbstractNode.prototype.doExpand = function() { + if (webFXTreeHandler.behavior == 'classic') { document.getElementById(this.id + '-icon').src = this.openIcon; } + if (this.childNodes.length) { document.getElementById(this.id + '-cont').style.display = 'block'; } + this.open = true; + webFXTreeHandler.cookies.setCookie(this.id.substr(18,this.id.length - 18), '1'); +} + +WebFXTreeAbstractNode.prototype.doCollapse = function() { + if (webFXTreeHandler.behavior == 'classic') { document.getElementById(this.id + '-icon').src = this.icon; } + if (this.childNodes.length) { document.getElementById(this.id + '-cont').style.display = 'none'; } + this.open = false; + webFXTreeHandler.cookies.setCookie(this.id.substr(18,this.id.length - 18), '0'); +} + +WebFXTreeAbstractNode.prototype.expandAll = function() { + this.expandChildren(); + if ((this.folder) && (!this.open)) { this.expand(); } +} + +WebFXTreeAbstractNode.prototype.expandChildren = function() { + for (var i = 0; i < this.childNodes.length; i++) { + this.childNodes[i].expandAll(); +} } + +WebFXTreeAbstractNode.prototype.collapseAll = function() { + if ((this.folder) && (this.open)) { this.collapse(); } + this.collapseChildren(); +} + +WebFXTreeAbstractNode.prototype.collapseChildren = function() { + for (var i = 0; i < this.childNodes.length; i++) { + this.childNodes[i].collapseAll(); +} } + +WebFXTreeAbstractNode.prototype.indent = function(lvl, del, last, level) { + /* + * Since we only want to modify items one level below ourself, + * and since the rightmost indentation position is occupied by + * the plus icon we set this to -2 + */ + if (lvl == null) { lvl = -2; } + var state = 0; + for (var i = this.childNodes.length - 1; i >= 0 ; i--) { + state = this.childNodes[i].indent(lvl + 1, del, last, level); + if (state) { return; } + } + if (del) { + if (level >= this._level) { + if (this.folder) { + document.getElementById(this.id + '-plus').src = (this.open)?webFXTreeConfig.lMinusIcon:webFXTreeConfig.lPlusIcon; + this.plusIcon = webFXTreeConfig.lPlusIcon; + this.minusIcon = webFXTreeConfig.lMinusIcon; + } + else { document.getElementById(this.id + '-plus').src = webFXTreeConfig.lIcon; } + return 1; + } + } + var foo = document.getElementById(this.id + '-indent-' + lvl); + if (foo) { + if ((del) && (last)) { foo._last = true; } + if (foo._last) { foo.src = webFXTreeConfig.blankIcon; } + else { foo.src = webFXTreeConfig.iIcon; } + } + return 0; +} + +/* + * WebFXTree class + */ + +function WebFXTree(sText, sAction, sBehavior, sIcon, sOpenIcon) { + this.base = WebFXTreeAbstractNode; + this.base(sText, sAction); + this.icon = sIcon || webFXTreeConfig.rootIcon; + this.openIcon = sOpenIcon || webFXTreeConfig.openRootIcon; + /* Defaults to open */ + this.open = (webFXTreeHandler.cookies.getCookie(this.id.substr(18,this.id.length - 18)) == '0')?false:true; + this.folder = true; + this.rendered = false; + if (!webFXTreeHandler.behavior) { webFXTreeHandler.behavior = sBehavior || webFXTreeConfig.defaultBehavior; } + this.targetWindow = 'right'; +} + +WebFXTree.prototype = new WebFXTreeAbstractNode; + +WebFXTree.prototype.setBehavior = function (sBehavior) { + webFXTreeHandler.behavior = sBehavior; +}; + +WebFXTree.prototype.getBehavior = function (sBehavior) { + return webFXTreeHandler.behavior; +}; + +WebFXTree.prototype.getSelected = function() { + if (webFXTreeHandler.selected) { return webFXTreeHandler.selected; } + else { return null; } +} + +WebFXTree.prototype.remove = function() { } + +WebFXTree.prototype.expand = function() { + this.doExpand(); +} + +WebFXTree.prototype.collapse = function() { + this.focus(); + this.doCollapse(); +} + +WebFXTree.prototype.getFirst = function() { + return null; +} + +WebFXTree.prototype.getLast = function() { + return null; +} + +WebFXTree.prototype.getNextSibling = function() { + return null; +} + +WebFXTree.prototype.getPreviousSibling = function() { + return null; +} + +WebFXTree.prototype.keydown = function(key) { + if (key == 39) { this.expand(); return false; } + if (key == 37) { this.collapse(); return false; } + if ((key == 40) && (this.open)) { this.childNodes[0].select(); return false; } + return true; +} + +WebFXTree.prototype.toString = function() { + var str = "<div id=\"" + this.id + "\" ondblclick=\"webFXTreeHandler.toggle(this);\" class=\"webfx-tree-item\" onkeydown=\"return webFXTreeHandler.keydown(this)\">"; + str += "<img id=\"" + this.id + "-icon\" class=\"webfx-tree-icon\" src=\"" + ((webFXTreeHandler.behavior == 'classic' && this.open)?this.openIcon:this.icon) + "\" onclick=\"webFXTreeHandler.select(this);\"><a href=\"" + this.action + "\" id=\"" + this.id + "-anchor\" target=\"" + this.targetWindow + "\" onfocus=\"webFXTreeHandler.focus(this);\" onblur=\"webFXTreeHandler.blur(this);\">" + this.text + "</a></div>"; + str += "<div id=\"" + this.id + "-cont\" class=\"webfx-tree-container\" style=\"display: " + ((this.open)?'block':'none') + ";\">"; + for (var i = 0; i < this.childNodes.length; i++) { + str += this.childNodes[i].toString(i, this.childNodes.length); + } + str += "</div>"; + this.rendered = true; + return str; +}; + +/* + * WebFXTreeItem class + */ + +function WebFXTreeItem(sText, sAction, eParent, sIcon, sOpenIcon) { + this.base = WebFXTreeAbstractNode; + this.base(sText, sAction); + /* Defaults to close */ + this.open = (webFXTreeHandler.cookies.getCookie(this.id.substr(18,this.id.length - 18)) == '1')?true:false; + if (eParent) { eParent.add(this); } + if (sIcon) { this.icon = sIcon; } + if (sOpenIcon) { this.openIcon = sOpenIcon; } +} + +WebFXTreeItem.prototype = new WebFXTreeAbstractNode; + +WebFXTreeItem.prototype.remove = function() { + var parentNode = this.parentNode; + var prevSibling = this.getPreviousSibling(true); + var nextSibling = this.getNextSibling(true); + var folder = this.parentNode.folder; + var last = ((nextSibling) && (nextSibling.parentNode) && (nextSibling.parentNode.id == parentNode.id))?false:true; + this.getPreviousSibling().focus(); + this._remove(); + if (parentNode.childNodes.length == 0) { + parentNode.folder = false; + parentNode.open = false; + } + if (last) { + if (parentNode.id == prevSibling.id) { + document.getElementById(parentNode.id + '-icon').src = webFXTreeConfig.fileIcon; + } + else { } + } + if ((!prevSibling.parentNode) || (prevSibling.parentNode != parentNode)) { + parentNode.indent(null, true, last, this._level); + } + if (document.getElementById(prevSibling.id + '-plus')) { + if (nextSibling) { + if ((parentNode == prevSibling) && (parentNode.getNextSibling)) { document.getElementById(prevSibling.id + '-plus').src = webFXTreeConfig.tIcon; } + else if (nextSibling.parentNode != prevSibling) { document.getElementById(prevSibling.id + '-plus').src = webFXTreeConfig.lIcon; } + } + else { document.getElementById(prevSibling.id + '-plus').src = webFXTreeConfig.lIcon; } + } +} + +WebFXTreeItem.prototype._remove = function() { + for (var i = this.childNodes.length - 1; i >= 0; i--) { + this.childNodes[i]._remove(); + } + for (var i = 0; i < this.parentNode.childNodes.length; i++) { + if (this.id == this.parentNode.childNodes[i].id) { + for (var j = i; j < this.parentNode.childNodes.length; j++) { + this.parentNode.childNodes[i] = this.parentNode.childNodes[i+1] + } + this.parentNode.childNodes.length = this.parentNode.childNodes.length - 1; + if (i + 1 == this.parentNode.childNodes.length) { this.parentNode._last = true; } + } + } + webFXTreeHandler.all[this.id] = null; + if (document.getElementById(this.id)) { + document.getElementById(this.id).innerHTML = ""; + document.getElementById(this.id).removeNode(); + } +} + +WebFXTreeItem.prototype.expand = function() { + this.doExpand(); + document.getElementById(this.id + '-plus').src = this.minusIcon; +} + +WebFXTreeItem.prototype.collapse = function() { + this.focus(); + this.doCollapse(); + document.getElementById(this.id + '-plus').src = this.plusIcon; +} + +WebFXTreeItem.prototype.getFirst = function() { + return this.childNodes[0]; +} + +WebFXTreeItem.prototype.getLast = function() { + if (this.childNodes[this.childNodes.length - 1].open) { return this.childNodes[this.childNodes.length - 1].getLast(); } + else { return this.childNodes[this.childNodes.length - 1]; } +} + +WebFXTreeItem.prototype.getNextSibling = function() { + for (var i = 0; i < this.parentNode.childNodes.length; i++) { + if (this == this.parentNode.childNodes[i]) { break; } + } + if (++i == this.parentNode.childNodes.length) { return this.parentNode.getNextSibling(); } + else { return this.parentNode.childNodes[i]; } +} + +WebFXTreeItem.prototype.getPreviousSibling = function(b) { + for (var i = 0; i < this.parentNode.childNodes.length; i++) { + if (this == this.parentNode.childNodes[i]) { break; } + } + if (i == 0) { return this.parentNode; } + else { + if ((this.parentNode.childNodes[--i].open) || (b && this.parentNode.childNodes[i].folder)) { return this.parentNode.childNodes[i].getLast(); } + else { return this.parentNode.childNodes[i]; } +} } + +WebFXTreeItem.prototype.keydown = function(key) { + if ((key == 39) && (this.folder)) { + if (!this.open) { this.expand(); return false; } + else { this.getFirst().select(); return false; } + } + else if (key == 37) { + if (this.open) { this.collapse(); return false; } + else { this.parentNode.select(); return false; } + } + else if (key == 40) { + if (this.open) { this.getFirst().select(); return false; } + else { + var sib = this.getNextSibling(); + if (sib) { sib.select(); return false; } + } } + else if (key == 38) { this.getPreviousSibling().select(); return false; } + return true; +} + +WebFXTreeItem.prototype.toString = function (nItem, nItemCount) { + var foo = this.parentNode; + var indent = ''; + if (nItem + 1 == nItemCount) { this.parentNode._last = true; } + var i = 0; + while (foo.parentNode) { + foo = foo.parentNode; + indent = "<img id=\"" + this.id + "-indent-" + i + "\" src=\"" + ((foo._last)?webFXTreeConfig.blankIcon:webFXTreeConfig.iIcon) + "\">" + indent; + i++; + } + this._level = i; + if (this.childNodes.length) { this.folder = 1; } + else { this.open = false; } + if ((this.folder) || (webFXTreeHandler.behavior != 'classic')) { + if (!this.icon) { this.icon = webFXTreeConfig.folderIcon; } + if (!this.openIcon) { this.openIcon = webFXTreeConfig.openFolderIcon; } + } + else if (!this.icon) { this.icon = webFXTreeConfig.fileIcon; } + var label = this.text; + label = label.replace('<', '<'); + label = label.replace('>', '>'); + var str = "<div id=\"" + this.id + "\" ondblclick=\"webFXTreeHandler.toggle(this);\" class=\"webfx-tree-item\" onkeydown=\"return webFXTreeHandler.keydown(this)\">"; + str += indent; + str += "<img id=\"" + this.id + "-plus\" src=\"" + ((this.folder)?((this.open)?((this.parentNode._last)?webFXTreeConfig.lMinusIcon:webFXTreeConfig.tMinusIcon):((this.parentNode._last)?webFXTreeConfig.lPlusIcon:webFXTreeConfig.tPlusIcon)):((this.parentNode._last)?webFXTreeConfig.lIcon:webFXTreeConfig.tIcon)) + "\" onclick=\"webFXTreeHandler.toggle(this);\">" + str += "<img id=\"" + this.id + "-icon\" src=\"" + ((webFXTreeHandler.behavior == 'classic' && this.open)?this.openIcon:this.icon) + "\" onclick=\"webFXTreeHandler.select(this);\"><a href=\"" + this.action + "\" id=\"" + this.id + "-anchor\" target=\"" + this.targetWindow + "\" onfocus=\"webFXTreeHandler.focus(this);\" onblur=\"webFXTreeHandler.blur(this);\">" + label + "</a></div>"; + str += "<div id=\"" + this.id + "-cont\" class=\"webfx-tree-container\" style=\"display: " + ((this.open)?'block':'none') + ";\">"; + for (var i = 0; i < this.childNodes.length; i++) { + str += this.childNodes[i].toString(i,this.childNodes.length); + } + str += "</div>"; + this.plusIcon = ((this.parentNode._last)?webFXTreeConfig.lPlusIcon:webFXTreeConfig.tPlusIcon); + this.minusIcon = ((this.parentNode._last)?webFXTreeConfig.lMinusIcon:webFXTreeConfig.tMinusIcon); + return str; +}
\ No newline at end of file diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phpedit/templates/media/lib/tab.webfx.css b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phpedit/templates/media/lib/tab.webfx.css new file mode 100755 index 00000000..6552ea01 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phpedit/templates/media/lib/tab.webfx.css @@ -0,0 +1,86 @@ +/* + +bright: rgb(234,242,255); +normal: rgb(120,172,255); +dark: rgb(0,66,174); + +*/ + + + + +.dynamic-tab-pane-control.tab-pane { + position: relative; + width: 100%; +} + +.dynamic-tab-pane-control .tab-row .tab { + font-family: Verdana, Helvetica, Arial; + font-size: 12px; + cursor: Default; + display: inline; + margin: 1px -5px 1px 5px; + float: left; + padding: 3px 6px 3px 6px; + background: rgb(234,242,255); + border: 1px solid; + border-color: rgb(120,172,255); + border-left: 0; + border-bottom: 0; + border-top: 0; + + cursor: hand; + cursor: pointer; + + z-index: 1; + position: relative; + top: 0; +} + +.dynamic-tab-pane-control .tab-row .tab.selected { + border: 1px solid rgb(120,172,255); + border-bottom: 0; + z-index: 3; + padding: 2px 6px 5px 6px; + margin: 1px -6px -2px 0px; + top: -2px; + background: white; +} + +.dynamic-tab-pane-control .tab-row .tab a { + font-family: Verdana, Helvetica, Arial; + font-size: 13px; + color: rgb(0,66,174); + text-decoration: none; + cursor: hand; + cursor: pointer; +} + +.dynamic-tab-pane-control .tab-row .hover a { + color: rgb(0,66,174); +} + +.dynamic-tab-pane-control .tab-row .tab.selected a { + font-weight: bold; +} + +.dynamic-tab-pane-control .tab-page { + clear: both; + border: 1px solid rgb(120,172,255); + background: White; + z-index: 2; + position: relative; + top: -2px; + color: Black; + font-family: Verdana, Helvetica, Arial; + font-size: 13px; + padding: 10px; +} + +.dynamic-tab-pane-control .tab-row { + z-index: 1; + white-space: nowrap; + background: rgb(234,242,255); + height: 1.85em; + width: 100%; +} diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phpedit/templates/media/lib/tabpane.js b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phpedit/templates/media/lib/tabpane.js new file mode 100755 index 00000000..f1418bee --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phpedit/templates/media/lib/tabpane.js @@ -0,0 +1,308 @@ +/* + * Tab Pane + * + * This script was created by Erik Arvidsson (erik(at)eae.net) + * for WebFX (http://webfx.eae.net) + * Copyright 2002 + * + * For usage see license at http://webfx.eae.net/license.html + * + * Version: 1.0 + * Created: 2002-01-?? First working version + * Updated: 2002-02-17 Cleaned up for 1.0 public version + * + * Dependencies: *.css - a css file to define the layout + * + */ + + +// This function is used to define if the browser supports the needed +// features +function hasSupport() { + + if (typeof hasSupport.support != "undefined") + return hasSupport.support; + + var ie55 = /msie 5\.[56789]/i.test( navigator.userAgent ); + + hasSupport.support = ( typeof document.implementation != "undefined" && + document.implementation.hasFeature( "html", "1.0" ) || ie55 ) + + // IE55 has a serious DOM1 bug... Patch it! + if ( ie55 ) { + document._getElementsByTagName = document.getElementsByTagName; + document.getElementsByTagName = function ( sTagName ) { + if ( sTagName == "*" ) + return document.all; + else + return document._getElementsByTagName( sTagName ); + }; + } + + return hasSupport.support; +} + +/////////////////////////////////////////////////////////////////////////////////// +// The constructor for tab panes +// +// el : HTMLElement The html element used to represent the tab pane +// bUseCookie : Boolean Optional. Default is true. Used to determine whether to us +// persistance using cookies or not +// +function WebFXTabPane( el, bUseCookie ) { + if ( !hasSupport() || el == null ) return; + + this.element = el; + this.element.tabPane = this; + this.pages = []; + this.selectedIndex = null; + this.useCookie = bUseCookie != null ? bUseCookie : false; + + // add class name tag to class name + this.element.className = this.classNameTag + " " + this.element.className; + + // add tab row + this.tabRow = document.createElement( "div" ); + this.tabRow.className = "tab-row"; + el.insertBefore( this.tabRow, el.firstChild ); + + var tabIndex = 0; + if ( this.useCookie ) { + tabIndex = Number( WebFXTabPane.getCookie( "webfxtab_" + this.element.id ) ); + if ( isNaN( tabIndex ) ) + tabIndex = 0; + } + + this.selectedIndex = tabIndex; + + // loop through child nodes and add them + var cs = el.childNodes; + var n; + for (var i = 0; i < cs.length; i++) { + if (cs[i].nodeType == 1 && cs[i].className == "tab-page") { + this.addTabPage( cs[i] ); + } + } +} + +WebFXTabPane.prototype = { + + classNameTag: "dynamic-tab-pane-control", + + setSelectedIndex: function ( n ) { + if (this.selectedIndex != n) { + if (this.selectedIndex != null && this.pages[ this.selectedIndex ] != null ) + this.pages[ this.selectedIndex ].hide(); + this.selectedIndex = n; + this.pages[ this.selectedIndex ].show(); + + if ( this.useCookie ) + WebFXTabPane.setCookie( "webfxtab_" + this.element.id, n ); // session cookie + } + }, + + getSelectedIndex: function () { + return this.selectedIndex; + }, + + addTabPage: function ( oElement ) { + if ( !hasSupport() ) return; + + if ( oElement.tabPage == this ) // already added + return oElement.tabPage; + + var n = this.pages.length; + var tp = this.pages[n] = new WebFXTabPage( oElement, this, n ); + tp.tabPane = this; + + // move the tab out of the box + this.tabRow.appendChild( tp.tab ); + + if ( n == this.selectedIndex ) + tp.show(); + else + tp.hide(); + + return tp; + } +}; + +// Cookie handling +WebFXTabPane.setCookie = function ( sName, sValue, nDays ) { + var expires = ""; + if ( nDays ) { + var d = new Date(); + d.setTime( d.getTime() + nDays * 24 * 60 * 60 * 1000 ); + expires = "; expires=" + d.toGMTString(); + } + + document.cookie = sName + "=" + sValue + expires + "; path=/"; +}; + +WebFXTabPane.getCookie = function (sName) { + var re = new RegExp( "(\;|^)[^;]*(" + sName + ")\=([^;]*)(;|$)" ); + var res = re.exec( document.cookie ); + return res != null ? res[3] : null; +}; + +WebFXTabPane.removeCookie = function ( name ) { + setCookie( name, "", -1 ); +}; + + + + + + + + +/////////////////////////////////////////////////////////////////////////////////// +// The constructor for tab pages. This one should not be used. +// Use WebFXTabPage.addTabPage instead +// +// el : HTMLElement The html element used to represent the tab pane +// tabPane : WebFXTabPane The parent tab pane +// nindex : Number The index of the page in the parent pane page array +// +function WebFXTabPage( el, tabPane, nIndex ) { + if ( !hasSupport() || el == null ) return; + + this.element = el; + this.element.tabPage = this; + this.index = nIndex; + + var cs = el.childNodes; + for (var i = 0; i < cs.length; i++) { + if (cs[i].nodeType == 1 && cs[i].className == "tab") { + this.tab = cs[i]; + break; + } + } + + // insert a tag around content to support keyboard navigation + var a = document.createElement( "A" ); + a.href = "javascript:void 0;"; + while ( this.tab.hasChildNodes() ) + a.appendChild( this.tab.firstChild ); + this.tab.appendChild( a ); + + + anchor = ''; + if ( document.URL.indexOf( '#' ) != -1 ) { + anchor = document.URL.substr( document.URL.indexOf( '#' ) + 1); + } + j = 0; + if ( anchor.length > 0 ) { + finalList = new Array(); + listOfAnchors = el.getElementsByTagName('A'); + for (i=0; i<listOfAnchors.length; i++) { + if (listOfAnchors[i].name.length) { + finalList[j++] = listOfAnchors[i].name; + } + } + for(i=0; i<finalList.length; i++) { + if ( anchor == finalList[i] ) { + if (tabPane.selectedIndex != nIndex) tabPane.pages[ tabPane.selectedIndex ].hide(); + tabPane.selectedIndex = nIndex ; + } + } + } + + // hook up events, using DOM0 + var oThis = this; + this.tab.onclick = function () { oThis.select(); }; + this.tab.onmouseover = function () { WebFXTabPage.tabOver( oThis ); }; + this.tab.onmouseout = function () { WebFXTabPage.tabOut( oThis ); }; +} + +WebFXTabPage.prototype = { + show: function () { + var el = this.tab; + var s = el.className + " selected"; + s = s.replace(/ +/g, " "); + el.className = s; + + this.element.style.display = "block"; + }, + + hide: function () { + var el = this.tab; + var s = el.className; + s = s.replace(/ selected/g, ""); + el.className = s; + + this.element.style.display = "none"; + }, + + select: function () { + this.tabPane.setSelectedIndex( this.index ); + } +}; + +WebFXTabPage.tabOver = function ( tabpage ) { + var el = tabpage.tab; + var s = el.className + " hover"; + s = s.replace(/ +/g, " "); + el.className = s; +}; + +WebFXTabPage.tabOut = function ( tabpage ) { + var el = tabpage.tab; + var s = el.className; + s = s.replace(/ hover/g, ""); + el.className = s; +}; + + +// This function initializes all uninitialized tab panes and tab pages +function setupAllTabs() { + if ( !hasSupport() ) return; + + var all = document.getElementsByTagName( "*" ); + var l = all.length; + var tabPaneRe = /tab\-pane/; + var tabPageRe = /tab\-page/; + var cn, el; + var parentTabPane; + + for ( var i = 0; i < l; i++ ) { + el = all[i] + cn = el.className; + + // no className + if ( cn == "" ) continue; + + // uninitiated tab pane + if ( tabPaneRe.test( cn ) && !el.tabPane ) + new WebFXTabPane( el ); + + // unitiated tab page wit a valid tab pane parent + else if ( tabPageRe.test( cn ) && !el.tabPage && + tabPaneRe.test( el.parentNode.className ) ) { + el.parentNode.tabPane.addTabPage( el ); + } + } +} + + +// initialization hook up + +// DOM2 +if ( typeof window.addEventListener != "undefined" ) + window.addEventListener( "load", setupAllTabs, false ); + +// IE +else if ( typeof window.attachEvent != "undefined" ) + window.attachEvent( "onload", setupAllTabs ); + +else { + if ( window.onload != null ) { + var oldOnload = window.onload; + window.onload = function ( e ) { + oldOnload( e ); + setupAllTabs(); + }; + } + else + window.onload = setupAllTabs; +}
\ No newline at end of file diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phpedit/templates/media/lib/ua.js b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phpedit/templates/media/lib/ua.js new file mode 100755 index 00000000..c06fa313 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phpedit/templates/media/lib/ua.js @@ -0,0 +1,111 @@ +/* +ua.js revision 0.200 2001-12-03 + +Contributor(s): Bob Clary, Netscape Communications, Copyright 2001 + +Netscape grants you a royalty free license to use, modify and +distribute this software provided that this copyright notice +appears on all copies. This software is provided "AS IS," +without a warranty of any kind. +*/ + +function xbDetectBrowser() +{ + var oldOnError = window.onerror; + var element = null; + + window.onerror = null; + + // work around bug in xpcdom Mozilla 0.9.1 + window.saveNavigator = window.navigator; + + navigator.OS = ''; + navigator.version = parseFloat(navigator.appVersion); + navigator.org = ''; + navigator.family = ''; + + var platform; + if (typeof(window.navigator.platform) != 'undefined') + { + platform = window.navigator.platform.toLowerCase(); + if (platform.indexOf('win') != -1) + navigator.OS = 'win'; + else if (platform.indexOf('mac') != -1) + navigator.OS = 'mac'; + else if (platform.indexOf('unix') != -1 || platform.indexOf('linux') != -1 || platform.indexOf('sun') != -1) + navigator.OS = 'nix'; + } + + var i = 0; + var ua = window.navigator.userAgent.toLowerCase(); + if (ua.indexOf('opera') != -1) + { + i = ua.indexOf('opera'); + navigator.family = 'opera'; + navigator.org = 'opera'; + navigator.version = parseFloat('0' + ua.substr(i+6), 10); + } + else if ((i = ua.indexOf('msie')) != -1) + { + navigator.org = 'microsoft'; + navigator.version = parseFloat('0' + ua.substr(i+5), 10); + + if (navigator.version < 4) + navigator.family = 'ie3'; + else + navigator.family = 'ie4' + } + else if (ua.indexOf('gecko') != -1) + { + navigator.family = 'gecko'; + var rvStart = navigator.userAgent.indexOf('rv:') + 3; + var rvEnd = navigator.userAgent.indexOf(')', rvStart); + var rv = navigator.userAgent.substring(rvStart, rvEnd); + var decIndex = rv.indexOf('.'); + if (decIndex != -1) + { + rv = rv.replace(/\./g, '') + rv = rv.substring(0, decIndex-1) + '.' + rv.substr(decIndex) + } + navigator.version = parseFloat(rv); + + if (ua.indexOf('netscape') != -1) + navigator.org = 'netscape'; + else if (ua.indexOf('compuserve') != -1) + navigator.org = 'compuserve'; + else + navigator.org = 'mozilla'; + } + else if ((ua.indexOf('mozilla') !=-1) && (ua.indexOf('spoofer')==-1) && (ua.indexOf('compatible') == -1) && (ua.indexOf('opera')==-1)&& (ua.indexOf('webtv')==-1) && (ua.indexOf('hotjava')==-1)) + { + var is_major = parseFloat(navigator.appVersion); + + if (is_major < 4) + navigator.version = is_major; + else + { + i = ua.lastIndexOf('/') + navigator.version = parseFloat('0' + ua.substr(i+1), 10); + } + navigator.org = 'netscape'; + navigator.family = 'nn' + parseInt(navigator.appVersion); + } + else if ((i = ua.indexOf('aol')) != -1 ) + { + // aol + navigator.family = 'aol'; + navigator.org = 'aol'; + navigator.version = parseFloat('0' + ua.substr(i+4), 10); + } + else if ((i = ua.indexOf('hotjava')) != -1 ) + { + // hotjava + navigator.family = 'hotjava'; + navigator.org = 'sun'; + navigator.version = parseFloat(navigator.appVersion); + } + + window.onerror = oldOnError; +} + +xbDetectBrowser(); diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phpedit/templates/media/stylesheet.css b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phpedit/templates/media/stylesheet.css new file mode 100755 index 00000000..7b1662d2 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phpedit/templates/media/stylesheet.css @@ -0,0 +1,230 @@ + +body { background: #FFFFFF; } +body, table { + font-family: Verdana, Arial, Helvetica, sans-serif; + text-align: left; + font-size: 11px; +} + +table.none td.btCell { background-color: #fff; vertical-align: top; } +table.none tr.highlight td.btCell { background-color: #f5f5f5; vertical-align: top; } +table.none th.btHead { background-color: #e5e5e5; vertical-align: top; } +table.btHeader, th.btHeader { + background-color: #014f9d; + color: #fff; + text-align: left; + vertical-align: top; +} +table.btHeaderProminent, th.btHeaderProminent { + background-color: #9d0119; + color: #fff; + text-align: left; + vertical-align: top; +} +div.showHideIndent { margin-left: 14px; } +td.left, th.left, th.syntaxLanguage { vertical-align: top; text-align: left; border-right: 1px solid #ceced8; border-bottom: solid 1px #ceced8; } +th.noborder { border: none; } +th.border { border: 1px solid #ceced8; } +td.border { border-bottom: 1px solid #ceced8; } +th.syntaxLanguage { font-size: 11px; line-height: 13px; vertical-align: top; } +.faq, .property { color: #000090; } +.method { color: #009000; } +.event { color: #900000; } + +table.default th.syntaxLanguage { font-size: 0.7em; vertical-align: baseline; } +.small { font-size: 85%; line-height: 120%; } + +a { + color: #000090; + +} + +div.maintutorial { + border-width: thin; + border-color: #0066ff; +} + +.source, .src-code { + border-width: thin; + border-style: dashed; + border-color: #8899dd; + margin: 1em; + padding: 0.5em; + font-family: 'Courier New', Courier, monospace; font-weight: normal; +} +.src-line { font-family: 'Courier New', Courier, monospace; font-weight: normal; } + +.var-type { + font-style : italic; +} + +.var-title { + margin-left : 20px; +} + +.method-summary { + margin-left : 20px; +} + +/*------------------------------------------------------------------------------ + Show/Hide blocks +------------------------------------------------------------------------------*/ + +.shown { display: inline; } +.hidden { display: none; } +img.showHideImg, .showHideControl { cursor: hand; } +img.showHideImg { margin-right: 3px; } + +.showHideActionText +{ + font-size: 0.7em; +} + +.showHideActionTextContent +{ + font-weight: bold; +} + +.showHideActionTextContentHover +{ + text-decoration: underline; + font-weight: bold; + background-color: #ceced8; +} +ol { + margin: 0.2em 0em 0.2em 24px; + padding: 0em; +} +ul li { + margin: 0.2em 0em 0.2em 0em; padding: 0em; + list-style-position: outside; + list-style-type: square; +} +span.li { + color: #000000; +} +ul { + color: #014fbe; + margin: 3px 0em 3px 16px; +} +p { + margin: 6px 0em 6px 0em; +} +h1 { margin: 1em 0em 1.2em 0em; font-size: 160%; line-height: 130%;} +h2 { font-size: 125%; line-height: 120%;} +h1, h2, h3, h4 { + padding: 0em; + margin: 1.5em 0em .25em 0em; + text-align: left; + font-weight: normal; +} +h3 { margin-top: 0.5em; font-size: 110%; } +h4 { margin: 0.25em 0em .25em 0em;; font-size: 100%; } + +.Headline { + color: #000000; + font-family: Verdana,Arial,Helvetica,sans-serif; + font-size: 9pt; + font-weight: bold; + font-style: normal; +/* margin-left : -1.5em;*/ + text-align : left; + margin-top : 1.0em; + margin-bottom : 0.5em; +} + +.HelpContent { + margin-left : 1.5em; +} + +table.HelpTable { + border: 0px; + padding: 0px; + margin: 0px; +} + +tr.HelpTable { +} + +th.HelpTable { + border: 1px dotted; + background-color: #F0F0F0; + margin: 1px; + padding: 5px; +} + +td.HelpTable { + border: 1px dotted; + background-color: #F9F9F9; + margin: 1px; + padding: 5px; +} + +pre.depreciated { + font-family: Verdana,Arial,Helvetica,sans-serif; + font-size: 9pt; + border: 1px dotted #909090; + background-color: #F0F0F0; + margin-left: 10px; + margin-right: 10px; + margin-top: 10px; + margin-bottom: 10px; + padding: 5px; +} + +/*------------------------------------------------------------------------------ + webfx-tree +------------------------------------------------------------------------------*/ +.webfx-tree-container { + margin: 0px; + padding: 0px; + font: icon; + white-space: nowrap; +} + +.webfx-tree-item { + padding: 0px; + margin: 0px; + font: icon; + color: black; + white-space: nowrap; +} + +.webfx-tree-item a, .webfx-tree-item a:active, .webfx-tree-item a:hover { + margin-left: 3px; + padding: 1px 2px 1px 2px; +} + +.webfx-tree-item a { + color: black; + text-decoration: none; +} + +.webfx-tree-item a:hover { + color: blue; + text-decoration: underline; +} + +.webfx-tree-item a:active { + background: highlight; + color: highlighttext; + text-decoration: none; +} + +.webfx-tree-item img { + vertical-align: middle; + border: 0px; +} + +.webfx-tree-icon { + width: 16px; + height: 16px; +} + + +.tute-tag { color: #009999 } +.tute-attribute-name { color: #0000FF } +.tute-attribute-value { color: #0099FF } +.tute-entity { font-weight: bold; } +.tute-comment { font-style: italic } +.tute-inline-tag { color: #636311; font-weight: bold } diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phpedit/templates/method.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phpedit/templates/method.tpl new file mode 100755 index 00000000..4c96f2f2 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phpedit/templates/method.tpl @@ -0,0 +1,126 @@ +<h2 class="tab">Method Detail</h2> +<!-- ============ METHOD DETAIL =========== --> +<strong>Summary:</strong><br /> +<div class="method-summary"> +{section name=methods loop=$methods} +{if $methods[methods].static} + <div class="method-definition"> + static {if $methods[methods].function_return} + <span class="method-result">{$methods[methods].function_return}</span> + {/if} + <a href="#{$methods[methods].method_dest}" title="details" class="method-name">{if $methods[methods].ifunction_call.returnsref}&{/if}{$methods[methods].function_name}</a> + {if count($methods[methods].ifunction_call.params)} + ({section name=params loop=$methods[methods].ifunction_call.params}{if $smarty.section.params.iteration != 1}, {/if}{if $methods[methods].ifunction_call.params[params].hasdefault}[{/if}<span class="var-type">{$methods[methods].ifunction_call.params[params].type}</span> <span class="var-name">{$methods[methods].ifunction_call.params[params].name}</span>{if $methods[methods].ifunction_call.params[params].hasdefault} = <span class="var-default">{$methods[methods].ifunction_call.params[params].default}</span>]{/if}{/section}) + {else} + () + {/if} + </div> +{/if} +{/section} +{section name=methods loop=$methods} +{if !$methods[methods].static} + <div class="method-definition"> + {if $methods[methods].function_return} + <span class="method-result">{$methods[methods].function_return}</span> + {/if} + <a href="#{$methods[methods].method_dest}" title="details" class="method-name">{if $methods[methods].ifunction_call.returnsref}&{/if}{$methods[methods].function_name}</a> + {if count($methods[methods].ifunction_call.params)} + ({section name=params loop=$methods[methods].ifunction_call.params}{if $smarty.section.params.iteration != 1}, {/if}{if $methods[methods].ifunction_call.params[params].hasdefault}[{/if}<span class="var-type">{$methods[methods].ifunction_call.params[params].type}</span> <span class="var-name">{$methods[methods].ifunction_call.params[params].name}</span>{if $methods[methods].ifunction_call.params[params].hasdefault} = <span class="var-default">{$methods[methods].ifunction_call.params[params].default}</span>]{/if}{/section}) + {else} + () + {/if} + </div> +{/if} +{/section} +</div> +<hr /> +<A NAME='method_detail'></A> + + +{section name=methods loop=$methods} +{if $methods[methods].static} +<a name="{$methods[methods].method_dest}" id="{$methods[methods].method_dest}"><!-- --></a> +<div style="background='{cycle values="#ffffff,#eeeeee"}'"><h4> +<img src="{$subdir}media/images/PublicMethod.gif" border="0" /> <strong class="method">Static Method {$methods[methods].function_name}</strong> (line <span class="linenumber">{if $methods[methods].slink}{$methods[methods].slink}{else}{$methods[methods].line_number}{/if}</span>) + </h4> +<h4><i>{$methods[methods].function_return}</i> <strong>{if $methods[methods].ifunction_call.returnsref}&{/if}{$methods[methods].function_name}( +{if count($methods[methods].ifunction_call.params)} +{section name=params loop=$methods[methods].ifunction_call.params} +{if $smarty.section.params.iteration != 1}, {/if} +{if $methods[methods].ifunction_call.params[params].hasdefault}[{/if}{$methods[methods].ifunction_call.params[params].type} +{$methods[methods].ifunction_call.params[params].name}{if $methods[methods].ifunction_call.params[params].hasdefault} = {$methods[methods].ifunction_call.params[params].default}]{/if} +{/section} +{/if})</strong></h4> +{if $methods[methods].descmethod} + <p>Overridden in child classes as:<br /> + {section name=dm loop=$methods[methods].descmethod} + <dl> + <dt>{$methods[methods].descmethod[dm].link}</dt> + <dd>{$methods[methods].descmethod[dm].sdesc}</dd> + </dl> + {/section}</p> +{/if} + +{if $methods[methods].method_overrides} +<p><strong>Overrides :</strong> {$methods[methods].method_overrides.link} {$methods[methods].method_overrides.sdesc|default:"parent method not documented"}</p> +{/if} + {if $methods[methods].method_implements} + <hr class="separator" /> + <div class="notes">Implementation of:</div> + {section name=imp loop=$methods[methods].method_implements} + <dl> + <dt>{$methods[methods].method_implements[imp].link}</dt> + {if $methods[methods].method_implements[imp].sdesc} + <dd>{$methods[methods].method_implements[imp].sdesc}</dd> + {/if} + </dl> + {/section} + {/if} +{include file="docblock.tpl" sdesc=$methods[methods].sdesc desc=$methods[methods].desc tags=$methods[methods].tags params=$methods[methods].params function=true} +</div> +{/if} +{/section} +{section name=methods loop=$methods} +{if !$methods[methods].static} +<a name="{$methods[methods].method_dest}" id="{$methods[methods].method_dest}"><!-- --></a> +<div style="background='{cycle values="#ffffff,#eeeeee"}'"><h4> +<img src="{$subdir}media/images/{if $methods[methods].ifunction_call.constructor}Constructor{elseif $methods[methods].ifunction_call.destructor}Destructor{else}PublicMethod{/if}.gif" border="0" /> <strong class="method">{if $methods[methods].ifunction_call.constructor}Constructor {elseif $methods[methods].ifunction_call.destructor}Destructor {else}Method {/if}{$methods[methods].function_name}</strong> (line <span class="linenumber">{if $methods[methods].slink}{$methods[methods].slink}{else}{$methods[methods].line_number}{/if}</span>) + </h4> +<h4><i>{$methods[methods].function_return}</i> <strong>{if $methods[methods].ifunction_call.returnsref}&{/if}{$methods[methods].function_name}( +{if count($methods[methods].ifunction_call.params)} +{section name=params loop=$methods[methods].ifunction_call.params} +{if $smarty.section.params.iteration != 1}, {/if} +{if $methods[methods].ifunction_call.params[params].hasdefault}[{/if}{$methods[methods].ifunction_call.params[params].type} +{$methods[methods].ifunction_call.params[params].name}{if $methods[methods].ifunction_call.params[params].hasdefault} = {$methods[methods].ifunction_call.params[params].default}]{/if} +{/section} +{/if})</strong></h4> +{if $methods[methods].descmethod} + <p>Overridden in child classes as:<br /> + {section name=dm loop=$methods[methods].descmethod} + <dl> + <dt>{$methods[methods].descmethod[dm].link}</dt> + <dd>{$methods[methods].descmethod[dm].sdesc}</dd> + </dl> + {/section}</p> +{/if} + +{if $methods[methods].method_overrides} +<p><strong>Overrides :</strong> {$methods[methods].method_overrides.link} {$methods[methods].method_overrides.sdesc|default:"parent method not documented"}</p> +{/if} + {if $methods[methods].method_implements} + <hr class="separator" /> + <div class="notes">Implementation of:</div> + {section name=imp loop=$methods[methods].method_implements} + <dl> + <dt>{$methods[methods].method_implements[imp].link}</dt> + {if $methods[methods].method_implements[imp].sdesc} + <dd>{$methods[methods].method_implements[imp].sdesc}</dd> + {/if} + </dl> + {/section} + {/if} +{include file="docblock.tpl" sdesc=$methods[methods].sdesc desc=$methods[methods].desc tags=$methods[methods].tags params=$methods[methods].params function=true} +</div> +{/if} +{/section} +<script type="text/javascript">tp1.addTabPage( document.getElementById( "tabPage2" ) );</script> diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phpedit/templates/page.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phpedit/templates/page.tpl new file mode 100755 index 00000000..5a9da0e4 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phpedit/templates/page.tpl @@ -0,0 +1,53 @@ +{include file="header.tpl" top3=true} +<h2>File: {$source_location}</h2> +<div class="tab-pane" id="tabPane1"> +<script type="text/javascript"> +tp1 = new WebFXTabPane( document.getElementById( "tabPane1" ) ); +</script> + +<div class="tab-page" id="Description"> +<h2 class="tab">Description</h2> +{if $tutorial} +<div class="maintutorial">Main Tutorial: {$tutorial}</div> +{/if} +{include file="docblock.tpl" desc=$desc sdesc=$sdesc tags=$tags} +<!-- =========== Used Classes =========== --> +<A NAME='classes_summary'><!-- --></A> +<h3>Classes defined in this file</h3> + +<TABLE CELLPADDING='3' CELLSPACING='0' WIDTH='100%' CLASS="border"> + <THEAD> + <TR><TD STYLE="width:20%"><h4>CLASS NAME</h4></TD><TD STYLE="width: 80%"><h4>DESCRIPTION</h4></TD></TR> + </THEAD> + <TBODY> + {section name=classes loop=$classes} + <TR BGCOLOR='white' CLASS='TableRowColor'> + <TD>{$classes[classes].link}</TD> + <TD>{$classes[classes].sdesc}</TD> + </TR> + {/section} + </TBODY> +</TABLE> +</div> +<script type="text/javascript">tp1.addTabPage( document.getElementById( "Description" ) );</script> +<div class="tab-page" id="tabPage1"> +{include file="include.tpl"} +</div> +<div class="tab-page" id="tabPage2"> +{include file="global.tpl"} +</div> +<div class="tab-page" id="tabPage3"> +{include file="define.tpl"} +</div> +<div class="tab-page" id="tabPage4"> +{include file="function.tpl"} +</div> +</div> +<script type="text/javascript"> +//<![CDATA[ + +setupAllTabs(); + +//]]> +</script> +{include file="footer.tpl"}
\ No newline at end of file diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phpedit/templates/pkgelementindex.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phpedit/templates/pkgelementindex.tpl new file mode 100755 index 00000000..c29ea982 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phpedit/templates/pkgelementindex.tpl @@ -0,0 +1,17 @@ +{include file="header.tpl"} +<a name="top"></a> +<h2>Element Index, Package {$package}</h2> +{if count($packageindex) > 1} +<strong>Indexes by package:</strong><br> +{/if} +<ul> +{section name=p loop=$packageindex} +{if $packageindex[p].title != $package} +<li><a href="elementindex_{$packageindex[p].title}.html">{$packageindex[p].title}</a></li> +{/if} +{/section} +</ul> +<a href="elementindex.html"><strong>Index of all elements</strong></a> +<br /> +{include file="basicindex.tpl" indexname=elementindex_$package} +{include file="footer.tpl"} diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phpedit/templates/ric.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phpedit/templates/ric.tpl new file mode 100755 index 00000000..ad792475 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phpedit/templates/ric.tpl @@ -0,0 +1,6 @@ +{include file="header.tpl"} +<div align="center"><h1>{$name}</h1></div> +<pre> +{$contents|htmlentities} +</pre> +{include file="footer.tpl"}
\ No newline at end of file diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phpedit/templates/todolist.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phpedit/templates/todolist.tpl new file mode 100755 index 00000000..f929ccdb --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phpedit/templates/todolist.tpl @@ -0,0 +1,14 @@ +{include file="header.tpl" title="Todo List"} +<div align="center"><h1>Todo List</h1></div> +{foreach from=$todos key=todopackage item=todo} +<h2>{$todopackage}</h2> +{section name=todo loop=$todo} +<h3>{$todo[todo].link}</h3> +<ul> +{section name=t loop=$todo[todo].todos} + <li>{$todo[todo].todos[t]}</li> +{/section} +</ul> +{/section} +{/foreach} +{include file="footer.tpl"}
\ No newline at end of file diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phpedit/templates/top_frame.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phpedit/templates/top_frame.tpl new file mode 100755 index 00000000..806283f4 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phpedit/templates/top_frame.tpl @@ -0,0 +1,16 @@ +{include file="header.tpl" top1=true} +{if count($ric) >= 1} +<ul> +{section name=ric loop=$ric} + <li><a href="{$ric[ric].file}" target="right">{$ric[ric].name}</a></li> +{/section} +</ul> +{/if} +<h1>Packages</h1> +<ul> +{section name=p loop=$packages} + <li><a class="package" href='{$packages[p].link}' target='left_bottom'>{$packages[p].title}</a></li> +{/section} +</ul> +</body> +</html>
\ No newline at end of file diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phpedit/templates/tutorial.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phpedit/templates/tutorial.tpl new file mode 100755 index 00000000..a943522c --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phpedit/templates/tutorial.tpl @@ -0,0 +1,32 @@ +{include file="header.tpl" title=$title} +{if $nav} +<table width="100%" border="0" cellpadding="0" cellspacing="0"> +<tr> +<td width="10%" align="left" valign="bottom">{if $prev}<a href= +"{$prev}">{/if}Prev{if $prev}</a>{/if}</td> +<td width="80%" align="center" valign="bottom"></td> +<td width="10%" align="right" valign="bottom">{if $next}<a href= +"{$next}">{/if}Next{if $next}</a>{/if}</td> +</tr> +</table> +{/if} +{$contents} +{if $nav} +<table width="100%" border="0" cellpadding="0" cellspacing="0"> +<tr> +<td width="33%" align="left" valign="top">{if $prev}<a href="{$prev}">{/if} +Prev{if $prev}</a>{/if}</td> +<td width="34%" align="center" valign="top">{if $up}<a href= +"{$up}">Up</a>{else} {/if}</td> +<td width="33%" align="right" valign="top">{if $next}<a href= +"{$next}">{/if}Next{if $next}</a>{/if}</td> +</tr> + +<tr> +<td width="33%" align="left" valign="top">{if $prevtitle}{$prevtitle}{/if}</td> +<td width="34%" align="center" valign="top">{if $uptitle}{$uptitle}{/if}</td> +<td width="33%" align="right" valign="top">{if $nexttitle}{$nexttitle}{/if}</td> +</tr> +</table> +{/if} +{include file="footer.tpl"}
\ No newline at end of file diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phpedit/templates/tutorial_toc.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phpedit/templates/tutorial_toc.tpl new file mode 100755 index 00000000..3d22d403 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phpedit/templates/tutorial_toc.tpl @@ -0,0 +1,29 @@ +{if count($toc)} +<h1 align="center">Table of Contents</h1> +<ul> +{section name=toc loop=$toc} +{if $toc[toc].tagname == 'refsect1'} +{assign var="context" value="refsect1"} +{$toc[toc].link}<br /> +{/if} +{if $toc[toc].tagname == 'refsect2'} +{assign var="context" value="refsect2"} + {$toc[toc].link}<br /> +{/if} +{if $toc[toc].tagname == 'refsect3'} +{assign var="context" value="refsect3"} + {$toc[toc].link}<br /> +{/if} +{if $toc[toc].tagname == 'table'} +{if $context == 'refsect2'} {/if} +{if $context == 'refsect3'} {/if} +Table: {$toc[toc].link} +{/if} +{if $toc[toc].tagname == 'example'} +{if $context == 'refsect2'} {/if} +{if $context == 'refsect3'} {/if} +Table: {$toc[toc].link} +{/if} +{/section} +</ul> +{/if}
\ No newline at end of file diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phpedit/templates/tutorial_tree.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phpedit/templates/tutorial_tree.tpl new file mode 100755 index 00000000..23459a96 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phpedit/templates/tutorial_tree.tpl @@ -0,0 +1,13 @@ + var {$name}tree = new WebFXTree{if $subtree}Item{/if}('{$main.title|strip_tags}','{$main.link}'); +{if !$subtree} {$name}tree.setBehavior('classic'); +{/if} {$name}tree.openIcon = 'media/images/msgInformation.gif'; + {$name}tree.icon = 'media/images/{if $subtree}msgInformation.gif{else}FolderClosed.gif{/if}'; +{if $kids} +{$kids} + +{/if}{if $subtree} {$parent}tree.add({$name}tree); +{else} + document.write({$name}tree); +{/if} + + diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phpedit/templates/var.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phpedit/templates/var.tpl new file mode 100755 index 00000000..7b293351 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phpedit/templates/var.tpl @@ -0,0 +1,49 @@ + +<h2 class="tab">Class Variables</h2> +<!-- ============ VARIABLE DETAIL =========== --> +<strong>Summary:</strong><br /> +{section name=vars loop=$vars} +{if $vars[vars].static} +<div class="var-title"> + static <span class="var-type">{$vars[vars].var_type}</span> + <a href="#{$vars[vars].var_dest}" title="details" class="property"><strong>{$vars[vars].var_name}</strong></a> +</div> +{/if} +{/section} +{section name=vars loop=$vars} +{if !$vars[vars].static} +<div class="var-title"> + <span class="var-type">{$vars[vars].var_type}</span> + <a href="#{$vars[vars].var_dest}" title="details" class="property"><strong>{$vars[vars].var_name}</strong></a> +</div> +{/if} +{/section} +<hr /> +{section name=vars loop=$vars} +{if $vars[vars].static} +<a name="{$vars[vars].var_dest}" id="{$vars[vars].var_dest}"><!-- --></A> +<div style="background='{cycle values="#ffffff,#eeeeee"}'"> +<h4> +<img src="{$subdir}media/images/PublicProperty.gif" border="0" /> <strong class="property">static {$vars[vars].var_name}{if $vars[vars].var_default} = {$vars[vars].var_default|replace:"\n":"<br />"}{/if}</strong> (line <span class="linenumber">{if $vars[vars].slink}{$vars[vars].slink}{else}{$vars[vars].line_number}{/if}</span>) + </h4> +<h4>Data type : {$vars[vars].var_type}</h4> +{if $vars[vars].var_overrides}<p><strong>Overrides:</strong> {$vars[vars].var_overrides}<br></p>{/if} +{include file="docblock.tpl" sdesc=$vars[vars].sdesc desc=$vars[vars].desc tags=$vars[vars].tags} +</div> +{/if} +{/section} +{section name=vars loop=$vars} +{if !$vars[vars].static} +<a name="{$vars[vars].var_dest}" id="{$vars[vars].var_dest}"><!-- --></A> +<div style="background='{cycle values="#ffffff,#eeeeee"}'"> +<h4> +<img src="{$subdir}media/images/PublicProperty.gif" border="0" /> <strong class="property">{$vars[vars].var_name}{if $vars[vars].var_default} = {$vars[vars].var_default|replace:"\n":"<br />"}{/if}</strong> (line <span class="linenumber">{if $vars[vars].slink}{$vars[vars].slink}{else}{$vars[vars].line_number}{/if}</span>) + </h4> +<h4>Data type : {$vars[vars].var_type}</h4> +{if $vars[vars].var_overrides}<p><strong>Overrides:</strong> {$vars[vars].var_overrides}<br></p>{/if} +{include file="docblock.tpl" sdesc=$vars[vars].sdesc desc=$vars[vars].desc tags=$vars[vars].tags} +</div> +{/if} +{/section} +<script type="text/javascript">tp1.addTabPage( document.getElementById( "tabPage1" ) );</script> + diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phphtmllib/options.ini b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phphtmllib/options.ini new file mode 100755 index 00000000..084809be --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phphtmllib/options.ini @@ -0,0 +1,577 @@ +preservedocbooktags = false + +;; used to highlight the {@source} inline tag, @filesource tag, and @example tag +[highlightSourceTokens] +;; format: +;; T_CONSTANTNAME = open +;; /T_CONSTANTNAME = close + +T_INCLUDE = <span class="src-inc"> +/T_INCLUDE = </span> +T_INCLUDE_ONCE = <span class="src-inc"> +/T_INCLUDE_ONCE = </span> +T_REQUIRE_ONCE = <span class="src-inc"> +/T_REQUIRE_ONCE = </span> +T_REQUIRE_ONCE = <span class="src-inc"> +/T_REQUIRE_ONCE = </span> + +T_CONSTANT_ENCAPSED_STRING = <span class="src-str"> +/T_CONSTANT_ENCAPSED_STRING = </span> +T_STRING_VARNAME = <span class="src-str"> +/T_STRING_VARNAME = </span> + +T_STRING = <span class="src-id"> +/T_STRING = </span> + +T_DNUMBER = <span class="src-num"> +/T_DNUMBER = </span> +T_LNUMBER = <span class="src-num"> +/T_LNUMBER = </span> + +T_VARIABLE = <span class="src-var"> +/T_VARIABLE = </span> + +T_COMMENT = <span class="src-comm"> +/T_COMMENT = </span> +T_ML_COMMENT = <span class="src-comm"> +/T_ML_COMMENT = </span> + +T_OBJECT_OPERATOR = <span class="src-sym"> +/T_OBJECT_OPERATOR = </span> + +T_ABSTRACT = <span class="src-key"> +/T_ABSTRACT = </span> +T_CLONE = <span class="src-key"> +/T_CLONE = </span> +T_HALT_COMPILER = <span class="src-key"> +/T_HALT_COMPILER = </span> +T_ARRAY = <span class="src-key"> +/T_ARRAY = </span> +T_AS = <span class="src-key"> +/T_AS = </span> +T_BREAK = <span class="src-key"> +/T_BREAK = </span> +T_CLASS = <span class="src-key"> +/T_CLASS = </span> +T_CASE = <span class="src-key"> +/T_CASE = </span> +T_CONST = <span class="src-key"> +/T_CONST = </span> +T_CONTINUE = <span class="src-key"> +/T_CONTINUE = </span> +T_DECLARE = <span class="src-key"> +/T_DECLARE = </span> +T_DEFAULT = <span class="src-key"> +/T_DEFAULT = </span> +T_ELSE = <span class="src-key"> +/T_ELSE = </span> +T_ELSEIF = <span class="src-key"> +/T_ELSEIF = </span> +T_EMPTY = <span class="src-key"> +/T_EMPTY = </span> +T_ENDDECLARE = <span class="src-key"> +/T_ENDDECLARE = </span> +T_ENDFOR = <span class="src-key"> +/T_ENDFOR = </span> +T_ENDSWITCH = <span class="src-key"> +/T_ENDSWITCH = </span> +T_ENDFOREACH = <span class="src-key"> +/T_ENDFOREACH = </span> +T_ENDIF = <span class="src-key"> +/T_ENDIF = </span> +T_ENDWHILE = <span class="src-key"> +/T_ENDWHILE = </span> +T_EXIT = <span class="src-key"> +/T_EXIT = </span> +T_EXTENDS = <span class="src-key"> +/T_EXTENDS = </span> +T_FINAL = <span class="src-key"> +/T_FINAL = </span> +T_FOR = <span class="src-key"> +/T_FOR = </span> +T_FOREACH = <span class="src-key"> +/T_FOREACH = </span> +T_FUNCTION = <span class="src-key"> +/T_FUNCTION = </span> +T_GLOBAL = <span class="src-key"> +/T_GLOBAL = </span> +T_IF = <span class="src-key"> +/T_IF = </span> +T_IMPLEMENTS = <span class="src-key"> +/T_IMPLEMENTS = </span> +T_INTERFACE = <span class="src-key"> +/T_INTERFACE = </span> +T_LOGICAL_AND = <span class="src-key"> +/T_LOGICAL_AND = </span> +T_LOGICAL_OR = <span class="src-key"> +/T_LOGICAL_OR = </span> +T_LOGICAL_XOR = <span class="src-key"> +/T_LOGICAL_XOR = </span> +T_NEW = <span class="src-key"> +/T_NEW = </span> +T_PRIVATE = <span class="src-key"> +/T_PRIVATE = </span> +T_PROTECTED = <span class="src-key"> +/T_PROTECTED = </span> +T_PUBLIC = <span class="src-key"> +/T_PUBLIC = </span> +T_RETURN = <span class="src-key"> +/T_RETURN = </span> +T_STATIC = <span class="src-key"> +/T_STATIC = </span> +T_SWITCH = <span class="src-key"> +/T_SWITCH = </span> +T_VAR = <span class="src-key"> +/T_VAR = </span> +T_WHILE = <span class="src-key"> +/T_WHILE = </span> + +T_DOUBLE_COLON = <span class="src-sym"> +/T_DOUBLE_COLON = </span> + +T_OPEN_TAG = <span class="src-php"> +/T_OPEN_TAG = </span> +T_OPEN_TAG_WITH_ECHO = <span class="src-php"> +/T_OPEN_TAG_WITH_ECHO = </span> +T_CLOSE_TAG = <span class="src-php"> +/T_CLOSE_TAG = </span> + + +[highlightSource] +;; this is for highlighting things that aren't tokens like "&" +;; format: +;; word = open +;; /word = close +@ = <span class="src-sym"> +/@ = </span> +& = <span class="src-sym"> +/& = </span> +[ = <span class="src-sym"> +/[ = </span> +] = <span class="src-sym"> +/] = </span> +! = <span class="src-sym"> +/! = </span> +";" = <span class="src-sym"> +/; = </span> +( = <span class="src-sym"> +/( = </span> +) = <span class="src-sym"> +/) = </span> +, = <span class="src-sym"> +/, = </span> +{ = <span class="src-sym"> +/{ = </span> +} = <span class="src-sym"> +/} = </span> +""" = <span class="src-str"> +/" = </span> + +[highlightDocBlockSourceTokens] +;; this is for docblock tokens, using by phpDocumentor_HighlightParser +;; tagphptype is for "string" in @param string description, for example +docblock = <span class="src-doc"> +/docblock = </span> +tagphptype = <span class="src-doc-type"> +/tagphptype = </span> +tagvarname = <span class="src-doc-var"> +/tagvarname = </span> +coretag = <span class="src-doc-coretag"> +/coretag = </span> +tag = <span class="src-doc-tag"> +/tag = </span> +inlinetag = <span class="src-doc-inlinetag"> +/inlinetag = </span> +internal = <span class="src-doc-internal"> +/internal = </span> +closetemplate = <span class="src-doc-close-template"> +/closetemplate = </span> +docblocktemplate = <span class="src-doc-template"> +/docblocktemplate = </span> + +[highlightTutorialSourceTokens] +;; this is for XML DocBook-based tutorials, highlighted by phpDocumentor_TutorialHighlightParser +;; <tag> +opentag = <span class="tute-tag"> +/opentag = </span> +;; </tag> +closetag = <span class="tute-tag"> +/closetag = </span> +;; <tag attribute="value"> +attribute = <span class="tute-attribute-name"> +/attribute = </span> +;; <tag attribute="value"> +attributevalue = <span class="tute-attribute-value"> +/attributevalue = </span> +;; &entity; +entity = <span class="tute-entity"> +/entity = </span> +;; <!-- comment --> +comment = <span class="tute-comment"> +/comment = </span> +;; {@inline tag} +itag = <span class="tute-inline-tag"> +/itag = </span> + +;; used for translation of html in DocBlocks +[desctranslate] +ul = <ul> +/ul = </ul> +ol = <ol> +/ol = </ol> +li = <li> +/li = </li> +code = +/code = +var = <var> +/var = </var> +samp = <samp> +/samp = </samp> +kbd = <kbd> +/kbd = </kbd> +pre = <pre> +/pre = </pre> +p = <p> +/p = </p> +b = <strong> +/b = </strong> +i = <em> +/i = </em> +br = <br /> + +[ppage] +;; this is the DocBook package page translation section. All DocBook tags +;; that have a corresponding html tag must be listed here. Entities should +;; also be listed here +;; +;; examples: +;; 1) +;; tagname = newtagname +;; +;; This is the simplest case, where all attributes will be added into the +;; starting tag and the ending tag will be html/xml style </tranlatedtagname> +;; <tagname></tagname> becomes <newtagname></newtagname> and +;; <tagname attr="value"></tagname> becomes +;; <newtagname attr="value"></newtagname> +;; +;; 2) +;; tagname = newtagname +;; tagname->attr = newattrname +;; +;; in this case, everything will be like the first case, except tags like: +;; <tagname attr="value"></tagname> will become +;; <newtagname newattrname="value"></newtagname> +;; +;; 3) +;; tagname = newtagname +;; tagname->attr = newattrname +;; tagname->attr+value = newvalue +;; +;; in this case, the value is also translated to another. This can be useful +;; for instances such as focus="middle" changing to align="center" or something +;; of that nature. +;; <tagname attr="value"></tagname> will become +;; <newtagname newattrname="newvalue"></newtagname> +;; +;; 4) +;; tagname = newtagname +;; tagname->attr1 = newattrname +;; tagname->attr2 = newattrname +;; tagname->attr1+value|attr2+value = newvalue +;; +;; in this case, two attributes combine to make one new attribute, and the combined +;; value is translated into a new value +;; <tagname attr1="value1" attr2="value2"></tagname> will become +;; <newtagname newattrname="newvalue"></newtagname> +;; +;; 5) +;; tagname = newtagname +;; tagname!attr = dummy +;; +;; here, the attribute will be ignored. dummy is not used and may be any value +;; <tagname attr="value"></tagname> will become +;; <newtagname></newtagname> +;; +;; 6) +;; tagname = newtagname +;; tagname! = dummy +;; +;; here, all attributes will be ignored. dummy is not used and may be any value +;; <tagname attr1="value" attr2="foo"></tagname> will become +;; <newtagname></newtagname> +;; +;; 7) +;; tagname = newtagname +;; tagname/ = 1 +;; +;; here, the tag will be translated as a single tag with no closing tag, and all +;; attributes +;; <tagname attr="val">{text text}</tagname> will become +;; <newtagname attr="val" /> +;; +;; 8) +;; tagname = <starttaginfo /> +;; /tagname = closetagtext +;; +;; in this case, the text <starttaginfo> will be inserted exactly as entered for +;; <tagname> and closetagtext for </tagname> +;; <tagname attr="val"></tagname> will become +;; <starttaginfo />closetagtext +;; +;; 9) +;; $attr$my_attribute = newattrname +;; +;; tagname = newtagname +;; +;; in this case, all occurences of my_attribute in any tag will be changed to +;; newattrname. This is useful for changing things like role="php" to +;; class="php," for example. Note that the text "$attr$" MUST be on the line +;; start for phpDocumentor to recognize it. +;; +;; 10) +;; &entity; = translation text +;; " = " +;; " = """ +;; < = < +;; +;; Use this to control translation of entities to their appropriate values + + = +" = " +” = ” +“ = “ +& = & +< = < +> = > +© = © + + +$attr$role = class + +abbrev = abbr + +blockquote = blockquote + +arg = span +arg->choice = class + +author = <span class="author"> +/author = </span> +author! = 0 + +authorblurb = <div class="author-blurb"> +/authorblurb = </div> + +authorgroup = <div class="authors"><h2 class="title">Authors</h2> +/authorgroup = </div> +authorgroup! = 0 + +caution = <span class="warning"> +/caution = </span> +caution! = 0 + +cmdsynopsis = <div class="cmd-synopsis"> +/cmdsynopsis = </div> + +command = <span class="cmd-title"> +/command = </span> + +copyright = <div class="notes"> +/copyright = </div> + +emphasis = em + +example = <div class="src-code"> +/example = </div> +example! = 0 + +function = +/function = () + +formalpara = p + +graphic = img +graphic->fileref = src +graphic/ = + +important = strong + +informalequation = blockquote + +informalexample = div + +inlineequation = em + +itemizedlist = ul + +listitem = li + +literal = code + +literallayout = span + +option = " " +/option = + +orderedlist = ol + +para = p + +programlisting = <div class="src-code"> +/programlisting = </div> +programlisting! = 0 + +refentry = div + +refnamediv = <div class="ref-title-box"> +/refnamediv = </div> +refnamediv! = 0 + +refname = <h1 class="ref-title"> +/refname = </h1> + +refpurpose = <h2 class="ref-purpose"> +/refpurpose = </h2> + +refsynopsisdiv = <div class="ref-synopsis"> +/refsynopsisdiv = </div> +refsynopsisdiv! = 0 + +refsect1 = span + +refsect2 = span + +refsect3 = +/refsect3 = <br /> + +releaseinfo = <div class="release-info">( +/releaseinfo = )</div> + +simpara = +/simpara = <br /> +simpara! = 0 + +subscript = sub + +superscript = super + +table = table + +table->colsep = rules +table->rowsep = rules +table->colsep+1|rowsep+1 =all +table->colsep+1|rowsep+0 =cols +table->colsep+0|rowsep+1 =rows + +table->frame =frame +table->frame+all =border +table->frame+none =void +table->frame+sides =vsides +table->frame+top =above +table->frame+topbot =hsides + +thead = thead + +tfoot = tfoot + +tbody = tbody + +colspec = col + +tgroup = colgroup +tgroup/ = 1 +tgroup->cols = span + +row = tr + +entry = td +entry->morerows = colspan +entry->morerows+1 =2 +entry->morerows+2 =3 +entry->morerows+3 =4 +entry->morerows+4 =5 +entry->morerows+5 =6 +entry->morerows+6 =7 +entry->morerows+7 =8 +entry->morerows+8 =9 +entry->morerows+9 =10 +entry->morerows+10 =11 +;; add more if you need more colspans + +warning = <span class="warning"> +/warning = </span> +warning! = 0 + +;; now begins the attributes that should be tags in cdata +[$attr$id] +open = a +;close = /a +cdata! = true +quotevalues = true +separator = "=" +;separateall = true +$id = name + +;; now begins the sections that deal with <title> +[refsynopsisdiv_title] +;tag_attr = true +;attr_name = title +cdata_start = true +;cdata_end = true +open = <h1 class="title"> +close = </h1> + +[refsect1_title] +;tag_attr = true +;attr_name = title +cdata_start = true +;cdata_end = true +open = <h2 class="title"> +close = </h2> + +[refsect2_title] +;tag_attr = true +;attr_name = title +cdata_start = true +;cdata_end = true +open = <h3 class="title"> +close = </h3> + +[refsect3_title] +;tag_attr = true +;attr_name = title +cdata_start = true +;cdata_end = true +open = <h4 class="title"> +close = </h4> + +[para_title] +;tag_attr = true +;attr_name = title +cdata_start = true +;cdata_end = true +open = <div class="title"> +close = </div> + +[formalpara_title] +;tag_attr = true +;attr_name = title +cdata_start = true +;cdata_end = true +open = <div class="title"> +close = </div> + +[example_title] +;tag_attr = true +;attr_name = title +;cdata_start = true +cdata_end = true +open = </td></tr><tr><td><strong> +close = </strong> + +[table_title] +;tag_attr = true +;attr_name = true +cdata_start = true +open = <caption> +close = </caption> diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phphtmllib/templates/basicindex.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phphtmllib/templates/basicindex.tpl new file mode 100755 index 00000000..951ee264 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phphtmllib/templates/basicindex.tpl @@ -0,0 +1,47 @@ +<div class="index-letter-menu"> +{section name=letter loop=$letters} + <a class="index-letter" href="{$indexname}.html#{$letters[letter].letter}">{$letters[letter].letter}</a> +{/section} +</div> + +{section name=index loop=$index} + <a name="{$index[index].letter}"></a> + <div class="index-letter-section"> + <div style="float: left" class="index-letter-title">{$index[index].letter}</div> + <div style="float: right"><a href="#top">top</a></div> + <div style="clear: both"></div> + </div> + <dl> + {section name=contents loop=$index[index].index} + <dt class="field"> + {if ($index[index].index[contents].title == "Variable")} + <span class="var-title">{$index[index].index[contents].name}</span> + {elseif ($index[index].index[contents].title == "Global")} + <span class="var-title">{$index[index].index[contents].name}</span> + {elseif ($index[index].index[contents].title == "Method")} + <span class="method-title">{$index[index].index[contents].name}</span> + {elseif ($index[index].index[contents].title == "Function")} + <span class="method-title">{$index[index].index[contents].name}</span> + {elseif ($index[index].index[contents].title == "Constant")} + <span class="const-title">{$index[index].index[contents].name}</span> + {elseif ($index[index].index[contents].title == "Page") || ($index[index].index[contents].title == "Include")} + <span class="include-title">{$index[index].index[contents].name}</span> + {else} + {$index[index].index[contents].name} + {/if} + </dt> + <dd class="index-item-body"> + <div class="index-item-details">{$index[index].index[contents].link} in {$index[index].index[contents].file_name}</div> + {if $index[index].index[contents].description} + <div class="index-item-description">{$index[index].index[contents].description}</div> + {/if} + </dd> + {/section} + </dl> +{/section} + +<div class="index-letter-menu"> +{section name=letter loop=$letters} + <a class="index-letter" href="{$indexname}.html#{$letters[letter].letter}">{$letters[letter].letter}</a> +{/section} +</div> diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phphtmllib/templates/blank.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phphtmllib/templates/blank.tpl new file mode 100755 index 00000000..6a05f27e --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phphtmllib/templates/blank.tpl @@ -0,0 +1,13 @@ +<html> +<head> + <title>{$maintitle}</title> + <link rel="stylesheet" href="{$subdir}media/stylesheet.css" /> + <meta http-equiv='Content-Type' content='text/html; charset=iso-8859-1'/> +</head> +<body> +<div align="center"><h1>{$maintitle}</h1></div> +<b>Welcome to {$package}!</b><br /> +<br /> +This documentation was generated by <a href="{$phpdocwebsite}">phpDocumentor v{$phpdocversion}</a><br /> +</body> +</html>
\ No newline at end of file diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phphtmllib/templates/class.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phphtmllib/templates/class.tpl new file mode 100755 index 00000000..9ab7c455 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phphtmllib/templates/class.tpl @@ -0,0 +1,429 @@ +{include file="header.tpl" top3=true} + +<h2 class="class-name">{if $is_interface}Interface{else}Class{/if} {$class_name}</h2> + +<a name="sec-description"></a> +<div class="info-box"> + <div class="info-box-title">Description</div> + <div class="nav-bar"> + {if $children || $vars || $ivars || $methods || $imethods || $consts || $iconsts } + <span class="disabled">Description</span> | + {/if} + {if $children} + <a href="#sec-descendents">Descendents</a> + {if $vars || $ivars || $methods || $imethods || $consts || $iconsts}|{/if} + {/if} + {if $vars || $ivars} + {if $vars} + <a href="#sec-var-summary">Vars</a> (<a href="#sec-vars">details</a>) + {else} + <a href="#sec-vars">Vars</a> + {/if} + {if $methods || $imethods}|{/if} + {/if} + {if $methods || $imethods} + {if $methods} + <a href="#sec-method-summary">Methods</a> (<a href="#sec-methods">details</a>) + {else} + <a href="#sec-methods">Methods</a> + {/if} + {/if} + {if $consts || $iconsts} + {if $consts} + <a href="#sec-const-summary">Constants</a> (<a href="#sec-consts">details</a>) + {else} + <a href="#sec-consts">Constants</a> + {/if} + {/if} + </div> + <div class="info-box-body"> + {if $implements} + <p class="implements"> + Implements interfaces: + <ul> + {foreach item="int" from=$implements}<li>{$int}</li>{/foreach} + </ul> + </p> + {/if} + {include file="docblock.tpl" type="class" sdesc=$sdesc desc=$desc} + <p class="notes"> + Located in <a class="field" href="{$page_link}">{$source_location}</a> (line <span class="field">{if $class_slink}{$class_slink}{else}{$line_number}{/if}</span>) + </p> + + {if $tutorial} + <hr class="separator" /> + <div class="notes">Tutorial: <span class="tutorial">{$tutorial}</span></div> + {/if} + + <pre>{section name=tree loop=$class_tree.classes}{$class_tree.classes[tree]}{$class_tree.distance[tree]}{/section}</pre> + + {if $conflicts.conflict_type} + <hr class="separator" /> + <div><span class="warning">Conflicts with classes:</span><br /> + {section name=me loop=$conflicts.conflicts} + {$conflicts.conflicts[me]}<br /> + {/section} + </div> + {/if} + </div> +</div> + +{if $children} + <a name="sec-descendents"></a> + <div class="info-box"> + <div class="info-box-title">Direct descendents</div> + <div class="nav-bar"> + <a href="#sec-description">Description</a> | + <span class="disabled">Descendents</span> + {if $vars || $ivars || $methods || $imethods}|{/if} + {if $vars || $ivars} + {if $vars} + <a href="#sec-var-summary">Vars</a> (<a href="#sec-vars">details</a>) + {else} + <a href="#sec-vars">Vars</a> + {/if} + {if $methods || $imethods}|{/if} + {/if} + {if $methods || $imethods} + {if $methods} + <a href="#sec-method-summary">Methods</a> (<a href="#sec-methods">details</a>) + {else} + <a href="#sec-methods">Methods</a> + {/if} + {/if} + {if $consts || $iconsts} + {if $consts} + <a href="#sec-const-summary">Constants</a> (<a href="#sec-consts">details</a>) + {else} + <a href="#sec-consts">Constants</a> + {/if} + {/if} + </div> + <div class="info-box-body"> + <table cellpadding="2" cellspacing="0" class="class-table"> + <tr> + <th class="class-table-header">Class</th> + <th class="class-table-header">Description</th> + </tr> + {section name=kids loop=$children} + <tr> + <td style="padding-right: 2em">{$children[kids].link}</td> + <td> + {if $children[kids].sdesc} + {$children[kids].sdesc} + {else} + {$children[kids].desc} + {/if} + </td> + </tr> + {/section} + </table> + </div> + </div> +{/if} + +{if $consts} + <a name="sec-const-summary"></a> + <div class="info-box"> + <div class="info-box-title">Class Constant Summary</span></div> + <div class="nav-bar"> + <a href="#sec-description">Description</a> | + {if $children} + <a href="#sec-descendents">Descendants</a> | + {/if} + <span class="disabled">Constants</span> (<a href="#sec-consts">details</a>) + {if $vars || $ivars} + {if $vars} + <a href="#sec-var-summary">Vars</a> (<a href="#sec-vars">details</a>) + {else} + <a href="#sec-vars">Vars</a> + {/if} + | + {/if} + {if $methods || $imethods} + | + {if $methods} + <a href="#sec-method-summary">Methods</a> (<a href="#sec-methods">details</a>) + {else} + <a href="#sec-methods">Methods</a> + {/if} + {/if} + </div> + <div class="info-box-body"> + <div class="const-summary"> + {section name=consts loop=$consts} + <div class="const-title"> + <img src="{$subdir}media/images/Constant.png" alt=" " /> + <a href="#{$consts[consts].const_name}" title="details" class="const-name">{$consts[consts].const_name}</a> = <span class="var-type">{$consts[consts].const_value}</span> + + </div> + {/section} + </div> + </div> + </div> +{/if} + +{if $vars} + <a name="sec-var-summary"></a> + <div class="info-box"> + <div class="info-box-title">Variable Summary</span></div> + <div class="nav-bar"> + <a href="#sec-description">Description</a> | + {if $children} + <a href="#sec-descendents">Descendents</a> | + {/if} + <span class="disabled">Vars</span> (<a href="#sec-vars">details</a>) + {if $methods || $imethods} + | + {if $methods} + <a href="#sec-method-summary">Methods</a> (<a href="#sec-methods">details</a>) + {else} + <a href="#sec-methods">Methods</a> + {/if} + {/if} + {if $consts || $iconsts} + {if $consts} + <a href="#sec-const-summary">Constants</a> (<a href="#sec-consts">details</a>) + {else} + <a href="#sec-consts">Constants</a> + {/if} + {/if} + </div> + <div class="info-box-body"> + <div class="var-summary"> + {section name=vars loop=$vars} + {if $vars[vars].static} + <div class="var-title"> + static <span class="var-type">{$vars[vars].var_type}</span> + <a href="#{$vars[vars].var_name}" title="details" class="var-name">{$vars[vars].var_name}</a> + </div> + {/if} + {/section} + {section name=vars loop=$vars} + {if !$vars[vars].static} + <div class="var-title"> + <span class="var-type">{$vars[vars].var_type}</span> + <a href="#{$vars[vars].var_name}" title="details" class="var-name">{$vars[vars].var_name}</a> + </div> + {/if} + {/section} + </div> + </div> + </div> +{/if} + +{if $methods} + <a name="sec-method-summary"></a> + <div class="info-box"> + <div class="info-box-title">Method Summary</span></div> + <div class="nav-bar"> + <a href="#sec-description">Description</a> | + {if $children} + <a href="#sec-descendents">Descendents</a> | + {/if} + {if $consts || $iconsts} + {if $consts} + <a href="#sec-const-summary">Constants</a> (<a href="#sec-consts">details</a>) + {else} + <a href="#sec-consts">Constants</a> + {/if} + {/if} + {if $vars || $ivars} + {if $vars} + <a href="#sec-var-summary">Vars</a> (<a href="#sec-vars">details</a>) + {else} + <a href="#sec-vars">Vars</a> + {/if} + | + {/if} + <span class="disabled">Methods</span> (<a href="#sec-methods">details</a>) + </div> + <div class="info-box-body"> + <div class="method-summary"> + {section name=methods loop=$methods} + {if $methods[methods].static} + <div class="method-definition"> + static {if $methods[methods].function_return} + <span class="method-result">{$methods[methods].function_return}</span> + {/if} + <a href="#{$methods[methods].function_name}" title="details" class="method-name">{if $methods[methods].ifunction_call.returnsref}&{/if}{$methods[methods].function_name}</a> + {if count($methods[methods].ifunction_call.params)} + ({section name=params loop=$methods[methods].ifunction_call.params}{if $smarty.section.params.iteration != 1}, {/if}{if $methods[methods].ifunction_call.params[params].hasdefault}[{/if}<span class="var-type">{$methods[methods].ifunction_call.params[params].type}</span> <span class="var-name">{$methods[methods].ifunction_call.params[params].name}</span>{if $methods[methods].ifunction_call.params[params].hasdefault} = <span class="var-default">{$methods[methods].ifunction_call.params[params].default}</span>]{/if}{/section}) + {else} + () + {/if} + </div> + {/if} + {/section} + {section name=methods loop=$methods} + {if !$methods[methods].static} + <div class="method-definition"> + {if $methods[methods].function_return} + <span class="method-result">{$methods[methods].function_return}</span> + {/if} + <a href="#{$methods[methods].function_name}" title="details" class="method-name">{if $methods[methods].ifunction_call.returnsref}&{/if}{$methods[methods].function_name}</a> + {if count($methods[methods].ifunction_call.params)} + ({section name=params loop=$methods[methods].ifunction_call.params}{if $smarty.section.params.iteration != 1}, {/if}{if $methods[methods].ifunction_call.params[params].hasdefault}[{/if}<span class="var-type">{$methods[methods].ifunction_call.params[params].type}</span> <span class="var-name">{$methods[methods].ifunction_call.params[params].name}</span>{if $methods[methods].ifunction_call.params[params].hasdefault} = <span class="var-default">{$methods[methods].ifunction_call.params[params].default}</span>]{/if}{/section}) + {else} + () + {/if} + </div> + {/if} + {/section} + </div> + </div> + </div> +{/if} + +{if $vars || $ivars} + <a name="sec-vars"></a> + <div class="info-box"> + <div class="info-box-title">Variables</div> + <div class="nav-bar"> + <a href="#sec-description">Description</a> | + {if $children} + <a href="#sec-descendents">Descendents</a> | + {/if} + {if $methods} + <a href="#sec-var-summary">Vars</a> (<span class="disabled">details</span>) + {else} + <span class="disabled">Vars</span> + {/if} + + {if $consts || $iconsts} + {if $consts} + <a href="#sec-const-summary">Constants</a> (<a href="#sec-consts">details</a>) + {else} + <a href="#sec-consts">Constants</a> + {/if} + {/if} + {if $methods || $imethods} + | + {if $methods} + <a href="#sec-method-summary">Methods</a> (<a href="#sec-methods">details</a>) + {else} + <a href="#sec-methods">Methods</a> + {/if} + {/if} + </div> + <div class="info-box-body"> + {include file="var.tpl"} + {if $ivars} + <h4>Inherited Variables</h4> + <A NAME='inherited_vars'><!-- --></A> + {section name=ivars loop=$ivars} + <p>Inherited from <span class="classname">{$ivars[ivars].parent_class}</span></p> + <blockquote> + {section name=ivars2 loop=$ivars[ivars].ivars} + <span class="var-title"> + <span class="var-name">{$ivars[ivars].ivars[ivars2].link}</span>{if $ivars[ivars].ivars[ivars2].ivar_sdesc}: {$ivars[ivars].ivars[ivars2].ivar_sdesc}{/if}<br> + </span> + {/section} + </blockquote> + {/section} + {/if} + </div> + </div> +{/if} + +{if $methods || $imethods} + <a name="sec-methods"></a> + <div class="info-box"> + <div class="info-box-title">Methods</div> + <div class="nav-bar"> + <a href="#sec-description">Description</a> | + {if $children} + <a href="#sec-descendents">Descendents</a> | + {/if} + {if $vars || $ivars} + {if $vars} + <a href="#sec-var-summary">Vars</a> (<a href="#sec-vars">details</a>) + {else} + <a href="#sec-vars">Vars</a> + {/if} + {/if} + {if $consts || $iconsts} + {if $consts} + <a href="#sec-const-summary">Constants</a> (<a href="#sec-consts">details</a>) + {else} + <a href="#sec-consts">Constants</a> + {/if} + {/if} + {if $methods} + <a href="#sec-method-summary">Methods</a> (<span class="disabled">details</span>) + {else} + <span class="disabled">Methods</span> + {/if} + </div> + <div class="info-box-body"> + {include file="method.tpl"} + {if $imethods} + <h4>Inherited Methods</h4> + <a name='inherited_methods'><!-- --></a> + {section name=imethods loop=$imethods} + <!-- =========== Summary =========== --> + <p>Inherited From <span class="classname">{$imethods[imethods].parent_class}</span></p> + <blockquote> + {section name=im2 loop=$imethods[imethods].imethods} + <span class="method-name">{$imethods[imethods].imethods[im2].link}</span>{if $imethods[imethods].imethods[im2].ifunction_sdesc}: {$imethods[imethods].imethods[im2].ifunction_sdesc}{/if}<br> + {/section} + </blockquote> + {/section} + {/if} + </div> + </div> +{/if} + +{if $consts || $iconsts} + <a name="sec-consts"></a> + <div class="info-box"> + <div class="info-box-title">Class Constants</div> + <div class="nav-bar"> + <a href="#sec-description">Description</a> | + {if $children} + <a href="#sec-descendents">Descendants</a> | + {/if} + {if $methods} + <a href="#sec-var-summary">Constants</a> (<span class="disabled">details</span>) + {else} + <span class="disabled">Constants</span> + {/if} + + {if $vars || $ivars} + {if $vars} + <a href="#sec-var-summary">Vars</a> (<a href="#sec-vars">details</a>) + {else} + <a href="#sec-vars">Vars</a> + {/if} + {/if} + {if $methods || $imethods} + | + {if $methods} + <a href="#sec-method-summary">Methods</a> (<a href="#sec-methods">details</a>) + {else} + <a href="#sec-methods">Methods</a> + {/if} + {/if} + </div> + <div class="info-box-body"> + {include file="const.tpl"} + {if $iconsts} + <h4>Inherited Constants</h4> + <A NAME='inherited_vars'><!-- --></A> + {section name=iconsts loop=$iconsts} + <p>Inherited from <span class="classname">{$iconsts[iconsts].parent_class}</span></p> + <blockquote> + {section name=iconsts2 loop=$iconsts[iconsts].iconsts} + <img src="{$subdir}media/images/{if $iconsts[iconsts].iconsts[iconsts2].access == 'private'}PrivateVariable{else}Variable{/if}.png" /> + <span class="const-title"> + <span class="const-name">{$iconsts[iconsts].iconsts[iconsts2].link}</span>{if $iconsts[iconsts].iconsts[iconsts2].iconst_sdesc}: {$iconsts[iconsts].iconsts[iconsts2].iconst_sdesc}{/if}<br> + </span> + {/section} + </blockquote> + {/section} + {/if} + </div> + </div> +{/if} + +{include file="footer.tpl" top3=true} diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phphtmllib/templates/classtrees.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phphtmllib/templates/classtrees.tpl new file mode 100755 index 00000000..952e6d50 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phphtmllib/templates/classtrees.tpl @@ -0,0 +1,19 @@ +{include file="header.tpl" top1=true} + +<!-- Start of Class Data --> +<H2> + {$smarty.capture.title} +</H2> +{if $interfaces} +{section name=classtrees loop=$interfaces} +<h2>Root interface {$interfaces[classtrees].class}</h2> +{$interfaces[classtrees].class_tree} +{/section} +{/if} +{if $classtrees} +{section name=classtrees loop=$classtrees} +<h2>Root class {$classtrees[classtrees].class}</h2> +{$classtrees[classtrees].class_tree} +{/section} +{/if} +{include file="footer.tpl"}
\ No newline at end of file diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phphtmllib/templates/const.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phphtmllib/templates/const.tpl new file mode 100644 index 00000000..c26ff92d --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phphtmllib/templates/const.tpl @@ -0,0 +1,18 @@ +{section name=consts loop=$consts} +<a name="const{$consts[consts].const_name}" id="{$consts[consts].const_name}"><!-- --></A> +<div class="{cycle values="evenrow,oddrow"}"> + + <div class="const-header"> + <img src="{$subdir}media/images/{if $consts[consts].access == 'private'}PrivateVariable{else}Variable{/if}.png" /> + <span class="const-title"> + <span class="const-name">{$consts[consts].const_name}</span> + = <span class="const-default">{$consts[consts].const_value|replace:"\n":"<br />"}</span> + (line <span class="line-number">{if $consts[consts].slink}{$consts[consts].slink}{else}{$consts[consts].line_number}{/if}</span>) + </span> + </div> + + {include file="docblock.tpl" sdesc=$consts[consts].sdesc desc=$consts[consts].desc tags=$consts[consts].tags} + +</div> +{/section} + diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phphtmllib/templates/define.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phphtmllib/templates/define.tpl new file mode 100755 index 00000000..0da5d864 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phphtmllib/templates/define.tpl @@ -0,0 +1,24 @@ +{section name=def loop=$defines} +<a name="{$defines[def].define_link}"><!-- --></a> +<div class="{cycle values="evenrow,oddrow"}"> + + <div> + <span class="const-title"> + <span class="const-name">{$defines[def].define_name}</span> = {$defines[def].define_value|replace:"\n":"<br />"} + (line <span class="line-number">{if $defines[def].slink}{$defines[def].slink}{else}{$defines[def].line_number}{/if}</span>) + </span> + </div> + + {include file="docblock.tpl" sdesc=$defines[def].sdesc desc=$defines[def].desc tags=$defines[def].tags} + + {if $globals[glob].global_conflicts.conflict_type} + <hr class="separator" /> + <div><span class="warning">Conflicts with constants:</span><br /> + {section name=me loop=$defines[def].define_conflicts.conflicts} + {$defines[def].define_conflicts.conflicts[me]}<br /> + {/section} + </div> + {/if} + +</div> +{/section}
\ No newline at end of file diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phphtmllib/templates/docblock.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phphtmllib/templates/docblock.tpl new file mode 100755 index 00000000..783d5271 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phphtmllib/templates/docblock.tpl @@ -0,0 +1,14 @@ +<!-- ========== Info from phpDoc block ========= --> +{if $sdesc} +<p class="short-description">{$sdesc}</p> +{/if} +{if $desc} +<p class="description">{$desc}</p> +{/if} +{if $tags} + <ul class="tags"> + {section name=tags loop=$tags} + <li><span class="field">{$tags[tags].keyword}:</span> {$tags[tags].data}</li> + {/section} + </ul> +{/if} diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phphtmllib/templates/elementindex.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phphtmllib/templates/elementindex.tpl new file mode 100755 index 00000000..d5964f99 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phphtmllib/templates/elementindex.tpl @@ -0,0 +1,12 @@ +{include file="header.tpl" noleftindex=true} +<a name="top"></a> +<h2>Full index</h2> +<h3>Package indexes</h3> +<ul> +{section name=p loop=$packageindex} + <li><a href="elementindex_{$packageindex[p].title}.html">{$packageindex[p].title}</a></li> +{/section} +</ul> +<br /> +{include file="basicindex.tpl" indexname="elementindex"} +{include file="footer.tpl"} diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phphtmllib/templates/errors.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phphtmllib/templates/errors.tpl new file mode 100755 index 00000000..0f526584 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phphtmllib/templates/errors.tpl @@ -0,0 +1,21 @@ +{include file="header.tpl" noleftindex=true} +{section name=files loop=$files} +<a href="#{$files[files].file}">{$files[files].file}</a><br> +{/section} +{foreach key=file item=issues from=$all} +<a name="{$file}"></a> +<h1>{$file}</h1> +{if count($issues.warnings)} +<h2>Warnings:</h2><br> +{section name=warnings loop=$issues.warnings} +<b>{$issues.warnings[warnings].name}</b> - {$issues.warnings[warnings].listing}<br> +{/section} +{/if} +{if count($issues.errors)} +<h2>Errors:</h2><br> +{section name=errors loop=$issues.errors} +<b>{$issues.errors[errors].name}</b> - {$issues.errors[errors].listing}<br> +{/section} +{/if} +{/foreach} +{include file="footer.tpl"} diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phphtmllib/templates/examplesource.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phphtmllib/templates/examplesource.tpl new file mode 100755 index 00000000..8abf74ce --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phphtmllib/templates/examplesource.tpl @@ -0,0 +1,6 @@ +{include file="header.tpl" title=$title} +<h1>{$title}</h1> +<div class="listing"> +{$source} +</div> +{include file="footer.tpl"}
\ No newline at end of file diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phphtmllib/templates/filesource.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phphtmllib/templates/filesource.tpl new file mode 100755 index 00000000..239f7b41 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phphtmllib/templates/filesource.tpl @@ -0,0 +1,8 @@ +{capture name="tutle"}File Source for {$name}{/capture} +{include file="header.tpl" title=$smarty.capture.tutle} +<h1>Source for file {$name}</h1> +<p>Documentation is available at {$docs}</p> +<div class="src-code"> +{$source} +</div> +{include file="footer.tpl"}
\ No newline at end of file diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phphtmllib/templates/footer.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phphtmllib/templates/footer.tpl new file mode 100755 index 00000000..8d0f79db --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phphtmllib/templates/footer.tpl @@ -0,0 +1,8 @@ +{if !$index} + <p class="notes" id="credit"> + Documentation generated on {$date} by <a href="{$phpdocwebsite}" target="_blank">phpDocumentor {$phpdocversion}</a> + </p> +{/if} + {if $top3}</div>{/if} +</body> +</html> diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phphtmllib/templates/function.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phphtmllib/templates/function.tpl new file mode 100755 index 00000000..b6880059 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phphtmllib/templates/function.tpl @@ -0,0 +1,44 @@ +{section name=func loop=$functions} +<a name="{$functions[func].function_dest}" id="{$functions[func].function_dest}"><!-- --></a> +<div class="{cycle values="evenrow,oddrow"}"> + + <div> + <span class="method-title">{$functions[func].function_name}</span> (line <span class="line-number">{if $functions[func].slink}{$functions[func].slink}{else}{$functions[func].line_number}{/if}</span>) + </div> + + {include file="docblock.tpl" sdesc=$functions[func].sdesc desc=$functions[func].desc tags=$functions[func].tags params=$functions[func].params function=false} + + <div class="method-signature"> + <span class="method-result">{$functions[func].function_return}</span> + <span class="method-name"> + {if $functions[func].ifunction_call.returnsref}&{/if}{$functions[func].function_name} + </span> + {if count($functions[func].ifunction_call.params)} + ({section name=params loop=$functions[func].ifunction_call.params}{if $smarty.section.params.iteration != 1}, {/if}{if $functions[func].ifunction_call.params[params].hasdefault}[{/if}<span class="var-type">{$functions[func].ifunction_call.params[params].type}</span> <span class="var-name">{$functions[func].ifunction_call.params[params].name}</span>{if $functions[func].ifunction_call.params[params].hasdefault} = <span class="var-default">{$functions[func].ifunction_call.params[params].default|escape:"html"}</span>]{/if}{/section}) + {else} + () + {/if} + </div> + + {if $functions[func].params} + <ul class="parameters"> + {section name=params loop=$functions[func].params} + <li> + <span class="var-type">{$functions[func].params[params].datatype}</span> + <span class="var-name">{$functions[func].params[params].var}</span>{if $functions[func].params[params].data}<span class="var-description">: {$functions[func].params[params].data}</span>{/if} + </li> + {/section} + </ul> + {/if} + + {if $functions[func].function_conflicts.conflict_type} + <hr class="separator" /> + <div><span class="warning">Conflicts with functions:</span><br /> + {section name=me loop=$functions[func].function_conflicts.conflicts} + {$functions[func].function_conflicts.conflicts[me]}<br /> + {/section} + </div> + {/if} + +</div> +{/section} diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phphtmllib/templates/global.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phphtmllib/templates/global.tpl new file mode 100755 index 00000000..eab7e0b0 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phphtmllib/templates/global.tpl @@ -0,0 +1,26 @@ +{section name=glob loop=$globals} +<a name="{$globals[glob].global_link}" id="{$globals[glob].global_link}"><!-- --></a> +<div class="{cycle values="evenrow,oddrow"}"> + + <div> + <span class="var-title"> + <span class="var-type">{$globals[glob].global_type}</span> + <span class="var-name">{$globals[glob].global_name}</span> + {if $vars[vars].var_default} = <span class="var-default">{$globals[glob].global_value|replace:"\n":"<br />"}</span>{/if} + (line <span class="line-number">{if $globals[glob].slink}{$globals[glob].slink}{else}{$globals[glob].line_number}{/if}</span>) + </span> + </div> + + {include file="docblock.tpl" sdesc=$globals[glob].sdesc desc=$globals[glob].desc tags=$globals[glob].tags} + + {if $globals[glob].global_conflicts.conflict_type} + <hr class="separator" /> + <div><span class="warning">Conflicts with global variables:</span><br /> + {section name=me loop=$globals[glob].global_conflicts.conflicts} + {$globals[glob].global_conflicts.conflicts[me]}<br /> + {/section} + </div> + {/if} + +</div> +{/section}
\ No newline at end of file diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phphtmllib/templates/header.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phphtmllib/templates/header.tpl new file mode 100755 index 00000000..c22ba37d --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phphtmllib/templates/header.tpl @@ -0,0 +1,12 @@ +<?xml version="1.0" encoding="iso-8859-1"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> + <html xmlns="http://www.w3.org/1999/xhtml"> + <head> + <!-- template designed by Marco Von Ballmoos --> + <title>{$title}</title> + <link rel="stylesheet" href="{$subdir}media/stylesheet.css" /> + <meta http-equiv='Content-Type' content='text/html; charset=iso-8859-1'/> + </head> + <body> + {if $top3}<div class="page-body">{/if} + diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phphtmllib/templates/include.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phphtmllib/templates/include.tpl new file mode 100755 index 00000000..c2419e5f --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phphtmllib/templates/include.tpl @@ -0,0 +1,16 @@ +{section name=includes loop=$includes} +<a name="{$includes[includes].include_file}"><!-- --></a> +<div class="{cycle values="evenrow,oddrow"}"> + + <div> + <span class="include-title"> + <span class="include-type">{$includes[includes].include_name}</span> + (<span class="include-name">{$includes[includes].include_value}</span>) + (line <span class="line-number">{if $includes[includes].slink}{$includes[includes].slink}{else}{$includes[includes].line_number}{/if}</span>) + </span> + </div> + + {include file="docblock.tpl" sdesc=$includes[includes].sdesc desc=$includes[includes].desc tags=$includes[includes].tags} + +</div> +{/section}
\ No newline at end of file diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phphtmllib/templates/index.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phphtmllib/templates/index.tpl new file mode 100755 index 00000000..7cd61094 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phphtmllib/templates/index.tpl @@ -0,0 +1,24 @@ +<?xml version="1.0" encoding="iso-8859-1"?> +<!DOCTYPE html + PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//FR" + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd"> + <html xmlns="http://www.w3.org/1999/xhtml"> +<head> + <!-- Generated by phpDocumentor on {$date} --> + <title>{$title}</title> + <meta http-equiv='Content-Type' content='text/html; charset=iso-8859-1'/> +</head> + +<FRAMESET rows='120,*'> + <FRAME src='packages.html' name='left_top' frameborder="1" bordercolor="#999999"> + <FRAMESET cols='25%,*'> + <FRAME src='{$start}' name='left_bottom' frameborder="1" bordercolor="#999999"> + <FRAME src='{$blank}.html' name='right' frameborder="1" bordercolor="#999999"> + </FRAMESET> + <NOFRAMES> + <H2>Frame Alert</H2> + <P>This document is designed to be viewed using the frames feature. + If you see this message, you are using a non-frame-capable web client.</P> + </NOFRAMES> +</FRAMESET> +</HTML> diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phphtmllib/templates/left_frame.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phphtmllib/templates/left_frame.tpl new file mode 100755 index 00000000..0a06fba6 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phphtmllib/templates/left_frame.tpl @@ -0,0 +1,159 @@ +{include file="header.tpl" top2=true} +<div class="package-title">{$package}</div> +<div class="package-details"> + + <dl class="tree"> + + <dt class="folder-title">Description</dt> + <dd> + <a href='{$classtreepage}.html' target='right'>Class trees</a><br /> + <a href='{$elementindex}.html' target='right'>Index of elements</a><br /> + {if $hastodos} + <a href="{$todolink}" target="right">Todo List</a><br /> + {/if} + </dd> + + {section name=p loop=$info} + + {if $info[p].subpackage == ""} + + {if $info[p].tutorials} + <dt class="folder-title">Tutorials/Manuals</dt> + <dd> + {if $info[p].tutorials.pkg} + <dl class="tree"> + <dt class="folder-title">Package-level</dt> + <dd> + {section name=ext loop=$info[p].tutorials.pkg} + {$info[p].tutorials.pkg[ext]} + {/section} + </dd> + </dl> + {/if} + + {if $info[p].tutorials.cls} + <dl class="tree"> + <dt class="folder-title">Class-level</dt> + <dd> + {section name=ext loop=$info[p].tutorials.cls} + {$info[p].tutorials.cls[ext]} + {/section} + </dd> + </dl> + {/if} + + {if $info[p].tutorials.proc} + <dl class="tree"> + <dt class="folder-title">Function-level</dt> + <dd> + {section name=ext loop=$info[p].tutorials.proc} + {$info[p].tutorials.proc[ext]} + {/section} + </dd> + </dl> + {/if} + </dd> + {/if} + {if $info[p].hasinterfaces} + <dt class="folder-title">Interfaces</dt> + {section name=class loop=$info[p].classes} + {if $info[p].classes[class].is_interface} + <dd><a href='{$info[p].classes[class].link}' target='right'>{$info[p].classes[class].title}</a></dd> + {/if} + {/section} + {/if} + {if $info[p].hasclasses} + <dt class="folder-title">Classes</dt> + {section name=class loop=$info[p].classes} + {if $info[p].classes[class].is_class} + <dd><a href='{$info[p].classes[class].link}' target='right'>{$info[p].classes[class].title}</a></dd> + {/if} + {/section} + {/if} + {if $info[p].functions} + <dt class="folder-title">Functions</dt> + {section name=f loop=$info[p].functions} + <dd><a href='{$info[p].functions[f].link}' target='right'>{$info[p].functions[f].title}</a></dd> + {/section} + {/if} + {if $info[p].files} + <dt class="folder-title">Files</dt> + {section name=nonclass loop=$info[p].files} + <dd><a href='{$info[p].files[nonclass].link}' target='right'>{$info[p].files[nonclass].title}</a></dd> + {/section} + {/if} + + {else} + {if $info[p].tutorials} + <dt class="folder-title">Tutorials/Manuals</dt> + <dd> + {if $info[p].tutorials.pkg} + <dl class="tree"> + <dt class="folder-title">Package-level</dt> + <dd> + {section name=ext loop=$info[p].tutorials.pkg} + {$info[p].tutorials.pkg[ext]} + {/section} + </dd> + </dl> + {/if} + + {if $info[p].tutorials.cls} + <dl class="tree"> + <dt class="folder-title">Class-level</dt> + <dd> + {section name=ext loop=$info[p].tutorials.cls} + {$info[p].tutorials.cls[ext]} + {/section} + </dd> + </dl> + {/if} + + {if $info[p].tutorials.proc} + <dl class="tree"> + <dt class="folder-title">Function-level</dt> + <dd> + {section name=ext loop=$info[p].tutorials.proc} + {$info[p].tutorials.proc[ext]} + {/section} + </dd> + </dl> + {/if} + </dd> + {/if} + + <dt class="sub-package">{$info[p].subpackage}</dt> + <dd> + <dl class="tree"> + {if $info[p].subpackagetutorial} + <div><a href="{$info.0.subpackagetutorialnoa}" target="right">{$info.0.subpackagetutorialtitle}</a></div> + {/if} + {if $info[p].classes} + <dt class="folder-title">Classes</dt> + {section name=class loop=$info[p].classes} + <dd><a href='{$info[p].classes[class].link}' target='right'>{$info[p].classes[class].title}</a></dd> + {/section} + {/if} + {if $info[p].functions} + <dt class="folder-title">Functions</dt> + {section name=f loop=$info[p].functions} + <dd><a href='{$info[p].functions[f].link}' target='right'>{$info[p].functions[f].title}</a></dd> + {/section} + {/if} + {if $info[p].files} + <dt class="folder-title">Files</dt> + {section name=nonclass loop=$info[p].files} + <dd><a href='{$info[p].files[nonclass].link}' target='right'>{$info[p].files[nonclass].title}</a></dd> + {/section} + {/if} + </dl> + </dd> + + {/if} + + {/section} + </dl> +</div> +<p class="notes"><a href="{$phpdocwebsite}" target="_blank">phpDocumentor v <span class="field">{$phpdocversion}</span></a></p> +</BODY> +</HTML> diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phphtmllib/templates/media/banner.css b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phphtmllib/templates/media/banner.css new file mode 100755 index 00000000..ba1a7ba5 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phphtmllib/templates/media/banner.css @@ -0,0 +1,32 @@ +body +{ + background-color: #DDDDDD; + margin: 0px; + padding: 0px; +} + +/* Banner (top bar) classes */ + +.banner { } + +.banner-menu +{ + clear: both; + padding: .5em; + border-top: 2px solid #999999; +} + +.banner-title +{ + text-align: right; + font-size: 20pt; + font-weight: bold; + margin: .2em; +} + +.package-selector +{ + background-color: #CCCCCC; + border: 1px solid black; + color: blue; +} diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phphtmllib/templates/media/stylesheet.css b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phphtmllib/templates/media/stylesheet.css new file mode 100755 index 00000000..051586b3 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phphtmllib/templates/media/stylesheet.css @@ -0,0 +1,142 @@ +a { color: #0000FF; text-decoration: none; } +a:hover { color: #FF0000; text-decoration: underline; } +a:active { color: #FF0000; text-decoration: underline; } + +body { background-color: #EEEEEE; font-family: Verdana, Arial, sans-serif } +body, table { font-size: 10pt } +a img { border: 0px; } +dd { margin-left: 0px; padding-left: 1em; } + +/* Page layout/boxes */ + +.info-box {} +.info-box-title { margin: 1em 0em 0em 0em; padding: .25em; font-weight: normal; font-size: 14pt; border: 2px solid #999999; background-color: #DDDDDD } +.info-box-body { border: 1px solid #999999; padding: .5em; background-color: #F8F8F8; } +.nav-bar { font-size: 8pt; white-space: nowrap; text-align: right; padding: .2em; margin: 0em 0em 1em 0em; } + +.oddrow { background-color: #DDDDDD; border: 1px solid #999999; padding: .5em; margin-bottom: 1em} +.evenrow { background-color: #DDDDDD; border: 1px solid #999999; padding: .5em; margin-bottom: 1em} + +.page-body { max-width: 800px; margin: auto; } +.tree dl { margin: 0px } + +/* Index formatting classes */ + +.index-item-body { margin-top: .5em; margin-bottom: .5em} +.index-item-description { margin-top: .25em } +.index-item-details { font-weight: normal; font-style: italic; font-size: 8pt } +.index-letter-section { background-color: #EEEEEE; border: 1px dotted #999999; padding: .5em; margin-bottom: 1em} +.index-letter-title { font-size: 12pt; font-weight: bold } +.index-letter-menu { text-align: center; margin: 1em } +.index-letter { font-size: 12pt } + +/* Docbook classes */ + +.description {} +.short-description { font-weight: bold; color: #666666; } +.tags { padding-left: 0em; margin-left: 3em; color: #666666; list-style-type: square; } +.parameters { padding-left: 0em; margin-left: 3em; font-style: italic; list-style-type: square; } +.redefinitions { font-size: 8pt; padding-left: 0em; margin-left: 2em; } +.package { } +.package-title { font-weight: bold; font-size: 14pt; border-bottom: 1px solid black } +.package-details { font-size: 85%; } +.sub-package { font-weight: bold; font-size: 120% } +.tutorial { border-width: thin; border-color: #0066ff } +.tutorial-nav-box { width: 100%; border: 2px solid #999999; background-color: #DDDDDD } +.nav-button-disabled { color: #999999; } +.nav-button:active, +.nav-button:focus, +.nav-button:hover { background-color: #AAAAAA; outline: 1px solid #666666; text-decoration: none } +.folder-title { font-style: italic } + +/* Generic formatting */ + +.field { font-weight: bold; } +.detail { font-size: 8pt; } +.notes { font-style: italic; font-size: 8pt; } +.separator { background-color: #999999; height: 2px; } +.warning { color: #FF6600; } +.disabled { font-style: italic; color: #999999; } + +/* Code elements */ + +.line-number { } + +.class-table { width: 100%; } +.class-table-header { border-bottom: 1px dotted #666666; text-align: left} +.class-name { color: #000000; font-weight: bold; } + +.method-summary { padding-left: 1em; font-size: 8pt } +.method-header { } +.method-definition { margin-bottom: .3em } +.method-title { font-weight: bold; } +.method-name { font-weight: bold; } +.method-signature { font-size: 85%; color: #0066BB; margin: .5em 0em } +.method-result { font-style: italic; } + +.var-summary { padding-left: 1em; font-size: 8pt; } +.var-header { } +.var-title { margin-bottom: .3em } +.var-type { color: red; font-weight: bold } +.var-name { font-weight: bold; } +.var-default {} +.var-description { font-weight: normal; color: #000000; } + +.include-title { } +.include-type { font-style: italic; } +.include-name { font-weight: bold; } + +.const-title { } +.const-name { font-weight: bold; } + +/* Syntax highlighting */ + +.src-code { border: 1px solid #336699; padding: 1em; background-color: #EEEEEE; + font-family: 'Courier New', Courier, monospace; font-weight: normal; } +.src-line { font-family: 'Courier New', Courier, monospace; font-weight: normal; } + +.src-comm { color: #666666; } +.src-id { } +.src-inc { color: #0000FF; } +.src-key { color: #0000FF; } +.src-num { color: #CC0000; } +.src-str { color: #66cccc; } +.src-sym { font-weight: bold; } +.src-var { } + +.src-php { font-weight: bold; } + +.src-doc { color: #009999 } +.src-doc-close-template { color: #0000FF } +.src-doc-coretag { color: #0099FF; font-weight: bold } +.src-doc-inlinetag { color: #0099FF } +.src-doc-internal { color: #6699cc } +.src-doc-tag { color: #0080CC } +.src-doc-template { color: #0000FF } +.src-doc-type { font-style: italic } +.src-doc-var { font-style: italic } + +.tute-tag { color: #009999 } +.tute-attribute-name { color: #0000FF } +.tute-attribute-value { color: #0099FF } +.tute-entity { font-weight: bold; } +.tute-comment { font-style: italic } +.tute-inline-tag { color: #636311; font-weight: bold } + +/* tutorial */ + +.authors { } +.author { font-style: italic; font-weight: bold } +.author-blurb { margin: .5em 0em .5em 2em; font-size: 85%; font-weight: normal; font-style: normal } +.example { background-color: #DDDDDD; border: 1px solid #999999; padding: .5em; } +.listing { background-color: #DDDDDD; border: 1px solid #999999; padding: .5em; white-space: nowrap; } +.release-info { font-size: 85%; font-style: italic; margin: 1em 0em } +.ref-title-box { } +.ref-title { } +.ref-purpose { font-style: italic; color: #666666 } +.ref-synopsis { } +.title { font-weight: bold; border-bottom: 1px solid #888888; color: #888888; } +.cmd-synopsis { margin: 1em 0em } +.cmd-title { font-weight: bold } +.toc { margin-left: 2em; padding-left: 0em } + diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phphtmllib/templates/method.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phphtmllib/templates/method.tpl new file mode 100755 index 00000000..06d57a12 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phphtmllib/templates/method.tpl @@ -0,0 +1,149 @@ +<A NAME='method_detail'></A> +{section name=methods loop=$methods} +{if $methods[methods].static} +<a name="method{$methods[methods].function_name}" id="{$methods[methods].function_name}"><!-- --></a> +<div class="{cycle values="evenrow,oddrow"}"> + + <div class="method-header"> + <span class="method-title">static {$methods[methods].function_name}</span> (line <span class="line-number">{if $methods[methods].slink}{$methods[methods].slink}{else}{$methods[methods].line_number}{/if}</span>) + </div> + + {include file="docblock.tpl" sdesc=$methods[methods].sdesc desc=$methods[methods].desc tags=$methods[methods].tags params=$methods[methods].params function=false} + + <div class="method-signature"> + static <span class="method-result">{$methods[methods].function_return}</span> + <span class="method-name"> + {if $methods[methods].ifunction_call.returnsref}&{/if}{$methods[methods].function_name} + </span> + {if count($methods[methods].ifunction_call.params)} + ({section name=params loop=$methods[methods].ifunction_call.params}{if $smarty.section.params.iteration != 1}, {/if}{if $methods[methods].ifunction_call.params[params].hasdefault}[{/if}<span class="var-type">{$methods[methods].ifunction_call.params[params].type}</span> <span class="var-name">{$methods[methods].ifunction_call.params[params].name}</span>{if $methods[methods].ifunction_call.params[params].hasdefault} = <span class="var-default">{$methods[methods].ifunction_call.params[params].default}</span>]{/if}{/section}) + {else} + () + {/if} + </div> + + {if $methods[methods].params} + <ul class="parameters"> + {section name=params loop=$methods[methods].params} + <li> + <span class="var-type">{$methods[methods].params[params].datatype}</span> + <span class="var-name">{$methods[methods].params[params].var}</span>{if $methods[methods].params[params].data}<span class="var-description">: {$methods[methods].params[params].data}</span>{/if} + </li> + {/section} + </ul> + {/if} + + {if $methods[methods].method_overrides} + <hr class="separator" /> + <div class="notes">Redefinition of:</div> + <dl> + <dt>{$methods[methods].method_overrides.link}</dt> + {if $methods[methods].method_overrides.sdesc} + <dd>{$methods[methods].method_overrides.sdesc}</dd> + {/if} + </dl> + {/if} + {if $methods[methods].method_implements} + <hr class="separator" /> + <div class="notes">Implementation of:</div> + {section name=imp loop=$methods[methods].method_implements} + <dl> + <dt>{$methods[methods].method_implements[imp].link}</dt> + {if $methods[methods].method_implements[imp].sdesc} + <dd>{$methods[methods].method_implements[imp].sdesc}</dd> + {/if} + </dl> + {/section} + {/if} + + {if $methods[methods].descmethod} + <hr class="separator" /> + <div class="notes">Redefined in descendants as:</div> + <ul class="redefinitions"> + {section name=dm loop=$methods[methods].descmethod} + <li> + {$methods[methods].descmethod[dm].link} + {if $methods[methods].descmethod[dm].sdesc} + : {$methods[methods].descmethod[dm].sdesc} + {/if} + </li> + {/section} + </ul> + {/if} +</div> +{/if} +{/section} +{section name=methods loop=$methods} +{if !$methods[methods].static} +<a name="method{$methods[methods].function_name}" id="{$methods[methods].function_name}"><!-- --></a> +<div class="{cycle values="evenrow,oddrow"}"> + + <div class="method-header"> + <span class="method-title">{if $methods[methods].ifunction_call.constructor}Constructor {elseif $methods[methods].ifunction_call.destructor}Destructor {/if}{$methods[methods].function_name}</span> (line <span class="line-number">{if $methods[methods].slink}{$methods[methods].slink}{else}{$methods[methods].line_number}{/if}</span>) + </div> + + {include file="docblock.tpl" sdesc=$methods[methods].sdesc desc=$methods[methods].desc tags=$methods[methods].tags params=$methods[methods].params function=false} + + <div class="method-signature"> + <span class="method-result">{$methods[methods].function_return}</span> + <span class="method-name"> + {if $methods[methods].ifunction_call.returnsref}&{/if}{$methods[methods].function_name} + </span> + {if count($methods[methods].ifunction_call.params)} + ({section name=params loop=$methods[methods].ifunction_call.params}{if $smarty.section.params.iteration != 1}, {/if}{if $methods[methods].ifunction_call.params[params].hasdefault}[{/if}<span class="var-type">{$methods[methods].ifunction_call.params[params].type}</span> <span class="var-name">{$methods[methods].ifunction_call.params[params].name}</span>{if $methods[methods].ifunction_call.params[params].hasdefault} = <span class="var-default">{$methods[methods].ifunction_call.params[params].default}</span>]{/if}{/section}) + {else} + () + {/if} + </div> + + {if $methods[methods].params} + <ul class="parameters"> + {section name=params loop=$methods[methods].params} + <li> + <span class="var-type">{$methods[methods].params[params].datatype}</span> + <span class="var-name">{$methods[methods].params[params].var}</span>{if $methods[methods].params[params].data}<span class="var-description">: {$methods[methods].params[params].data}</span>{/if} + </li> + {/section} + </ul> + {/if} + + {if $methods[methods].method_overrides} + <hr class="separator" /> + <div class="notes">Redefinition of:</div> + <dl> + <dt>{$methods[methods].method_overrides.link}</dt> + {if $methods[methods].method_overrides.sdesc} + <dd>{$methods[methods].method_overrides.sdesc}</dd> + {/if} + </dl> + {/if} + {if $methods[methods].method_implements} + <hr class="separator" /> + <div class="notes">Implementation of:</div> + {section name=imp loop=$methods[methods].method_implements} + <dl> + <dt>{$methods[methods].method_implements[imp].link}</dt> + {if $methods[methods].method_implements[imp].sdesc} + <dd>{$methods[methods].method_implements[imp].sdesc}</dd> + {/if} + </dl> + {/section} + {/if} + + {if $methods[methods].descmethod} + <hr class="separator" /> + <div class="notes">Redefined in descendants as:</div> + <ul class="redefinitions"> + {section name=dm loop=$methods[methods].descmethod} + <li> + {$methods[methods].descmethod[dm].link} + {if $methods[methods].descmethod[dm].sdesc} + : {$methods[methods].descmethod[dm].sdesc} + {/if} + </li> + {/section} + </ul> + {/if} +</div> +{/if} +{/section} diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phphtmllib/templates/page.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phphtmllib/templates/page.tpl new file mode 100755 index 00000000..b5980236 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phphtmllib/templates/page.tpl @@ -0,0 +1,211 @@ +{include file="header.tpl" top3=true} + +<h2 class="file-name">{$source_location}</h2> + +<a name="sec-description"></a> +<div class="info-box"> + <div class="info-box-title">Description</div> + <div class="nav-bar"> + {if $classes || $includes || $defines || $globals || $functions} + <span class="disabled">Description</span> | + {/if} + {if $classes} + <a href="#sec-classes">Classes</a> + {if $includes || $defines || $globals || $functions}|{/if} + {/if} + {if $includes} + <a href="#sec-includes">Includes</a> + {if $defines || $globals || $functions}|{/if} + {/if} + {if $defines} + <a href="#sec-constants">Constants</a> + {if $globals || $functions}|{/if} + {/if} + {if $globals} + <a href="#sec-variables">Variables</a> + {if $functions}|{/if} + {/if} + {if $functions} + <a href="#sec-functions">Functions</a> + {/if} + </div> + <div class="info-box-body"> + {include file="docblock.tpl" desc=$desc sdesc=$sdesc tags=$tags} + + {if $tutorial} + <hr class="separator" /> + <div class="notes">Tutorial: <span class="tutorial">{$tutorial}</div> + {/if} + </div> +</div> + +{if $classes} + <a name="sec-classes"></a> + <div class="info-box"> + <div class="info-box-title">Classes</div> + <div class="nav-bar"> + <a href="#sec-description">Description</a> | + <span class="disabled">Classes</span> + {if $includes || $defines || $globals || $functions}|{/if} + {if $includes} + <a href="#sec-includes">Includes</a> + {if $defines || $globals || $functions}|{/if} + {/if} + {if $defines} + <a href="#sec-constants">Constants</a> + {if $globals || $functions}|{/if} + {/if} + {if $globals} + <a href="#sec-variables">Variables</a> + {if $functions}|{/if} + {/if} + {if $functions} + <a href="#sec-functions">Functions</a> + {/if} + </div> + <div class="info-box-body"> + <table cellpadding="2" cellspacing="0" class="class-table"> + <tr> + <th class="class-table-header">Class</th> + <th class="class-table-header">Description</th> + </tr> + {section name=classes loop=$classes} + <tr> + <td style="padding-right: 2em; vertical-align: top"> + {$classes[classes].link} + </td> + <td> + {if $classes[classes].sdesc} + {$classes[classes].sdesc} + {else} + {$classes[classes].desc} + {/if} + </td> + </tr> + {/section} + </table> + </div> + </div> +{/if} + +{if $includes} + <a name="sec-includes"></a> + <div class="info-box"> + <div class="info-box-title">Includes</div> + <div class="nav-bar"> + <a href="#sec-description">Description</a> | + {if $classes} + <a href="#sec-classes">Classes</a> + {if $includes || $defines || $globals || $functions}|{/if} + {/if} + <span class="disabled">Includes</span> + {if $defines || $globals || $functions}|{/if} + {if $defines} + <a href="#sec-constants">Constants</a> + {if $globals || $functions}|{/if} + {/if} + {if $globals} + <a href="#sec-variables">Variables</a> + {if $functions}|{/if} + {/if} + {if $functions} + <a href="#sec-functions">Functions</a> + {/if} + </div> + <div class="info-box-body"> + {include file="include.tpl"} + </div> + </div> +{/if} + +{if $defines} + <a name="sec-constants"></a> + <div class="info-box"> + <div class="info-box-title">Constants</div> + <div class="nav-bar"> + <a href="#sec-description">Description</a> | + {if $classes} + <a href="#sec-classes">Classes</a> + {if $includes || $defines || $globals || $functions}|{/if} + {/if} + {if $includes} + <a href="#sec-includes">Includes</a> + {if $defines || $globals || $functions}|{/if} + {/if} + <span class="disabled">Constants</span> + {if $globals || $functions}|{/if} + {if $globals} + <a href="#sec-variables">Variables</a> + {if $functions}|{/if} + {/if} + {if $functions} + <a href="#sec-functions">Functions</a> + {/if} + </div> + <div class="info-box-body"> + {include file="define.tpl"} + </div> + </div> +{/if} + +{if $globals} + <a name="sec-variables"></a> + <div class="info-box"> + <div class="info-box-title">Variables</div> + <div class="nav-bar"> + <a href="#sec-description">Description</a> | + {if $classes} + <a href="#sec-classes">Classes</a> + {if $includes || $defines || $globals || $functions}|{/if} + {/if} + {if $includes} + <a href="#sec-includes">Includes</a> + {if $defines || $globals || $functions}|{/if} + {/if} + {if $defines} + <a href="#sec-constants">Constants</a> + {if $globals || $functions}|{/if} + {/if} + <span class="disabled">Variables</span> + {if $functions}|{/if} + {if $functions} + <a href="#sec-functions">Functions</a> + {/if} + </div> + <div class="info-box-body"> + {include file="global.tpl"} + </div> + </div> +{/if} + +{if $functions} + <a name="sec-functions"></a> + <div class="info-box"> + <div class="info-box-title">Functions</div> + <div class="nav-bar"> + <a href="#sec-description">Description</a> | + {if $classes} + <a href="#sec-classes">Classes</a> + {if $includes || $defines || $globals || $functions}|{/if} + {/if} + {if $includes} + <a href="#sec-includes">Includes</a> + {if $defines || $globals || $functions}|{/if} + {/if} + {if $defines} + <a href="#sec-constants">Constants</a> + {if $globals || $functions}|{/if} + {/if} + {if $globals} + <a href="#sec-variables">Variables</a> + {if $functions}|{/if} + {/if} + <span class="disabled">Functions</span> + </div> + <div class="info-box-body"> + {include file="function.tpl"} + </div> + </div> +{/if} + +{include file="footer.tpl" top3=true} diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phphtmllib/templates/pkgelementindex.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phphtmllib/templates/pkgelementindex.tpl new file mode 100755 index 00000000..dc283ad0 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phphtmllib/templates/pkgelementindex.tpl @@ -0,0 +1,17 @@ +{include file="header.tpl"} +<a name="top"></a> +<h2>[{$package}] element index</h2> +{if count($packageindex) > 1} + <h3>Package indexes</h3> + <ul> + {section name=p loop=$packageindex} + {if $packageindex[p].title != $package} + <li><a href="elementindex_{$packageindex[p].title}.html">{$packageindex[p].title}</a></li> + {/if} + {/section} + </ul> +{/if} +<a href="elementindex.html">All elements</a> +<br /> +{include file="basicindex.tpl" indexname=elementindex_$package} +{include file="footer.tpl"} diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phphtmllib/templates/ric.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phphtmllib/templates/ric.tpl new file mode 100755 index 00000000..eff734c1 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phphtmllib/templates/ric.tpl @@ -0,0 +1,6 @@ +{include file="header.tpl"} +<h1 align="center">{$name}</h1> +<pre> +{$contents|htmlentities} +</pre> +{include file="footer.tpl"}
\ No newline at end of file diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phphtmllib/templates/todolist.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phphtmllib/templates/todolist.tpl new file mode 100755 index 00000000..f929ccdb --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phphtmllib/templates/todolist.tpl @@ -0,0 +1,14 @@ +{include file="header.tpl" title="Todo List"} +<div align="center"><h1>Todo List</h1></div> +{foreach from=$todos key=todopackage item=todo} +<h2>{$todopackage}</h2> +{section name=todo loop=$todo} +<h3>{$todo[todo].link}</h3> +<ul> +{section name=t loop=$todo[todo].todos} + <li>{$todo[todo].todos[t]}</li> +{/section} +</ul> +{/section} +{/foreach} +{include file="footer.tpl"}
\ No newline at end of file diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phphtmllib/templates/top_frame.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phphtmllib/templates/top_frame.tpl new file mode 100755 index 00000000..36d1e5a1 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phphtmllib/templates/top_frame.tpl @@ -0,0 +1,45 @@ +<?xml version="1.0" encoding="iso-8859-1"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> + <html xmlns="http://www.w3.org/1999/xhtml"> + <head> + <!-- template designed by Marco Von Ballmoos --> + <title>{$title}</title> + <link rel="stylesheet" href="{$subdir}media/stylesheet.css" /> + <link rel="stylesheet" href="{$subdir}media/banner.css" /> + <meta http-equiv='Content-Type' content='text/html; charset=iso-8859-1'/> + </head> + <body> + <div class="banner"> + <div class="banner-title">{$package}</div> + <div class="banner-menu"> + <form> + <table cellpadding="0" cellspacing="0" style="width: 100%"> + <tr> + <td> + {if count($ric) >= 1} + {assign var="last_ric_name" value=""} + {section name=ric loop=$ric} + {if $last_ric_name != ""} | {/if} + <a href="{$ric[ric].file}" target="right">{$ric[ric].name}</a> + {assign var="last_ric_name" value=$ric[ric].name} + {/section} + {/if} + </td> + <td style="width: 2em"> </td> + <td style="text-align: right"> + {if count($packages) > 1} + <span class="field">Packages</span> + <select class="package-selector" onchange="window.parent.left_bottom.location=this[selectedIndex].value"> + {section name=p loop=$packages} + <option value="{$packages[p].link}">{$packages[p].title}</option> + {/section} + </select> + {/if} + </td> + </tr> + </table> + </form> + </div> + </div> + </body> + </html> diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phphtmllib/templates/tutorial.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phphtmllib/templates/tutorial.tpl new file mode 100755 index 00000000..3b9109d1 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phphtmllib/templates/tutorial.tpl @@ -0,0 +1,13 @@ +{include file="header.tpl" title=$title top3=true} + +{if $nav} + {include file="tutorial_nav.tpl" prev=$prev next=$next up=$up prevtitle=$prevtitle nexttitle=$nexttitle uptitle=$uptitle} +{/if} + +{$contents} + +{if $nav} + {include file="tutorial_nav.tpl" prev=$prev next=$next up=$up prevtitle=$prevtitle nexttitle=$nexttitle uptitle=$uptitle} +{/if} + +{include file="footer.tpl" top3=true}
\ No newline at end of file diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phphtmllib/templates/tutorial_nav.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phphtmllib/templates/tutorial_nav.tpl new file mode 100755 index 00000000..89952301 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phphtmllib/templates/tutorial_nav.tpl @@ -0,0 +1,41 @@ +<table class="tutorial-nav-box"> + <tr> + <td style="width: 30%"> + {if $prev} + <a href="{$prev}" class="nav-button">Previous</a> + {else} + <span class="nav-button-disabled">Previous</span> + {/if} + </td> + <td style="text-align: center"> + {if $up} + <a href="{$up}" class="nav-button">Up</a> + {/if} + </td> + <td style="text-align: right; width: 30%"> + {if $next} + <a href="{$next}" class="nav-button">Next</a> + {else} + <span class="nav-button-disabled">Next</span> + {/if} + </td> + </tr> + <tr> + <td style="width: 30%"> + {if $prevtitle} + <span class="detail">{$prevtitle}</span> + {/if} + </td> + <td style="text-align: center"> + {if $uptitle} + <span class="detail">{$uptitle}</span> + {/if} + </td> + <td style="text-align: right; width: 30%"> + {if $nexttitle} + <span class="detail">{$nexttitle}</span> + {/if} + </td> + </tr> +</table> +
\ No newline at end of file diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phphtmllib/templates/tutorial_toc.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phphtmllib/templates/tutorial_toc.tpl new file mode 100755 index 00000000..3482249b --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phphtmllib/templates/tutorial_toc.tpl @@ -0,0 +1,40 @@ +{if count($toc)} +<h1 class="title">Table of Contents</h1> +<ul class="toc"> + {assign var="lastcontext" value='refsect1'} + {section name=toc loop=$toc} + + {if $toc[toc].tagname != $lastcontext} + {if $lastcontext == 'refsect1'} + <ul class="toc"> + <li>{$toc[toc].link}</li> + {else} + {if $lastcontext == 'refsect2'} + {if $toc[toc].tagname == 'refsect1'} + </ul> + <li>{$toc[toc].link}</li> + {/if} + {if $toc[toc].tagname == 'refsect3'} + <ul class="toc"> + <li>{$toc[toc].link}</li> + {/if} + {else} + </ul> + </ul> + <li>{$toc[toc].link}</li> + {/if} + {/if} + {assign var="lastcontext" value=$toc[toc].tagname} + {else} + <li>{$toc[toc].link}</li> + {/if} + {/section} + {if $lastcontext == 'refsect2'} + </ul> + {/if} + {if $lastcontext == 'refsect3'} + </ul> + </ul> + {/if} +</ul> +{/if} diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phphtmllib/templates/tutorial_tree.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phphtmllib/templates/tutorial_tree.tpl new file mode 100755 index 00000000..617b5654 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phphtmllib/templates/tutorial_tree.tpl @@ -0,0 +1,6 @@ +<div><a href="{$main.link}" target="right">{$main.title|strip_tags}</a></div> +{if $haskids} +<div style="margin-left: 1em"> + {$kids} +</div> +{/if} diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phphtmllib/templates/var.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phphtmllib/templates/var.tpl new file mode 100755 index 00000000..fccf6892 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phphtmllib/templates/var.tpl @@ -0,0 +1,92 @@ +{section name=vars loop=$vars} +{if $vars[vars].static} +<a name="var{$vars[vars].var_name}" id="{$vars[vars].var_name}"><!-- --></A> +<div class="{cycle values="evenrow,oddrow"}"> + + <div class="var-header"> + <span class="var-title"> + static <span class="var-type">{$vars[vars].var_type}</span> + <span class="var-name">{$vars[vars].var_name}</span> + {if $vars[vars].var_default} = <span class="var-default">{$vars[vars].var_default|replace:"\n":"<br />"}</span>{/if} + (line <span class="line-number">{if $vars[vars].slink}{$vars[vars].slink}{else}{$vars[vars].line_number}{/if}</span>) + </span> + </div> + + {include file="docblock.tpl" sdesc=$vars[vars].sdesc desc=$vars[vars].desc tags=$vars[vars].tags} + + {if $vars[vars].var_overrides} + <hr class="separator" /> + <div class="notes">Redefinition of:</div> + <dl> + <dt>{$vars[vars].var_overrides.link}</dt> + {if $vars[vars].var_overrides.sdesc} + <dd>{$vars[vars].var_overrides.sdesc}</dd> + {/if} + </dl> + {/if} + + {if $vars[vars].descvar} + <hr class="separator" /> + <div class="notes">Redefined in descendants as:</div> + <ul class="redefinitions"> + {section name=vm loop=$vars[vars].descvar} + <li> + {$vars[vars].descvar[vm].link} + {if $vars[vars].descvar[vm].sdesc} + : {$vars[vars].descvar[vm].sdesc} + {/if} + </li> + {/section} + </ul> + {/if} + +</div> +{/if} +{/section} + +{section name=vars loop=$vars} +{if !$vars[vars].static} +<a name="var{$vars[vars].var_name}" id="{$vars[vars].var_name}"><!-- --></A> +<div class="{cycle values="evenrow,oddrow"}"> + + <div class="var-header"> + <span class="var-title"> + <span class="var-type">{$vars[vars].var_type}</span> + <span class="var-name">{$vars[vars].var_name}</span> + {if $vars[vars].var_default} = <span class="var-default">{$vars[vars].var_default|replace:"\n":"<br />"}</span>{/if} + (line <span class="line-number">{if $vars[vars].slink}{$vars[vars].slink}{else}{$vars[vars].line_number}{/if}</span>) + </span> + </div> + + {include file="docblock.tpl" sdesc=$vars[vars].sdesc desc=$vars[vars].desc tags=$vars[vars].tags} + + {if $vars[vars].var_overrides} + <hr class="separator" /> + <div class="notes">Redefinition of:</div> + <dl> + <dt>{$vars[vars].var_overrides.link}</dt> + {if $vars[vars].var_overrides.sdesc} + <dd>{$vars[vars].var_overrides.sdesc}</dd> + {/if} + </dl> + {/if} + + {if $vars[vars].descvar} + <hr class="separator" /> + <div class="notes">Redefined in descendants as:</div> + <ul class="redefinitions"> + {section name=vm loop=$vars[vars].descvar} + <li> + {$vars[vars].descvar[vm].link} + {if $vars[vars].descvar[vm].sdesc} + : {$vars[vars].descvar[vm].sdesc} + {/if} + </li> + {/section} + </ul> + {/if} + +</div> +{/if} +{/section} + diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/PDF/default/PDFdefaultConverter.inc b/buildscripts/PhpDocumentor/phpDocumentor/Converters/PDF/default/PDFdefaultConverter.inc new file mode 100755 index 00000000..00a1726e --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/PDF/default/PDFdefaultConverter.inc @@ -0,0 +1,981 @@ +<?php +/** + * Outputs documentation in PDF format + * + * phpDocumentor :: automatic documentation generator + * + * PHP versions 4 and 5 + * + * Copyright (c) 2002-2006 Gregory Beaver + * + * LICENSE: + * + * 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, or (at your option) any + * later version. + * + * 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 + * + * @package Converters + * @subpackage PDFdefault + * @author Greg Beaver <cellog@php.net> + * @copyright 2002-2006 Gregory Beaver + * @license http://www.opensource.org/licenses/lgpl-license.php LGPL + * @version CVS: $Id: PDFdefaultConverter.inc 236747 2007-05-31 02:02:42Z ashnazg $ + * @filesource + * @link http://www.phpdoc.org + * @link http://pear.php.net/PhpDocumentor + * @since 1.2 + */ +/** + * The Cezpdf class library + */ +include_once('phpDocumentor/Converters/PDF/default/class.phpdocpdf.php'); +/** + * PDF output converter. + * This Converter takes output from the {@link Parser} and converts it to PDF-ready output for use with {@link Cezpdf}. + * This is now beta code + * + * @package Converters + * @subpackage PDFdefault + * @author Greg Beaver <cellog@php.net> + * @since 1.1 + * @version $Id: PDFdefaultConverter.inc 236747 2007-05-31 02:02:42Z ashnazg $ + * @todo Implement links to conflicts/inheritance + */ +class PDFdefaultConverter extends Converter +{ + /** + * default PDF Converter wants elements sorted by type as well as alphabetically + * @see Converter::$sort_page_contents_by_type + * @var boolean + */ + var $sort_absolutely_everything = true; + var $leftindex = array('classes' => false, 'pages' => false, 'functions' => false, 'defines' => false, 'globals' => false); + var $pagepackage_pagenums = array(); + var $classpackage_pagenums = array(); + /** @var string always PDF */ + var $outputformat = 'PDF'; + /** @var string always default */ + var $name = 'default'; + var $curpagepackage = false; + var $curclasspackage = false; + var $smarty_dir; + /** + * @var Cezpdf + */ + var $pdf = false; + var $ric_set = array(); + /** + * Source files for appendix C are stored here + * + * Format: array(array(package => packagename, code => array(highlightedsource code 1, ...))) + * @var array + */ + var $_sourcecode; + /** + * @see Converter::Converter() + */ + function PDFdefaultConverter(&$allp, &$packp, &$classes, &$procpages, $po, $pp, $qm, $targetDir, $templateDir, $title) + { + Converter::Converter($allp, $packp, $classes, $procpages, $po, $pp, $qm, $targetDir, $templateDir, $title); + $this->pdf =& new phpdocpdf($this, $this->getConverterDir() . PATH_DELIMITER .'templates/fonts/','letter'); + $this->pdf->selectFont($this->getConverterDir() . PATH_DELIMITER .'templates/fonts/Helvetica.afm'); +// put a line top and bottom on all the pages + $this->pdf->ezSetMargins(50,70,50,50); + $template = &$this->newSmarty(); + $this->pdf->ezText($template->fetch('footer.tpl')); + $template->assign('title',$title); + if (file_exists($this->templateDir . 'templates' . PATH_DELIMITER . 'media'. PATH_DELIMITER .'logo.jpg')) + { + $template->assign('logo',$this->templateDir . 'templates' . PATH_DELIMITER . 'media'. PATH_DELIMITER .'logo.jpg'); + } + $this->pdf->ezText($template->fetch('title_page.tpl')); + unset($template); + } + + function writeSource($path, $value) + { + $templ = &$this->newSmarty(); + $pathinfo = $this->proceduralpages->getPathInfo($path, $this); + $templ->assign('source',$value); + $templ->assign('package',$pathinfo['package']); + $templ->assign('subpackage',$pathinfo['subpackage']); + $templ->assign('name',$pathinfo['name']); + $templ->assign('source_loc',$pathinfo['source_loc']); + $templ->assign('docs',$pathinfo['docs']); + $templ->assign('dest', $this->getFileSourceName($path)); + $this->setSourcePaths($path); + $this->_sourcecode[$pathinfo['package']][] = $templ->fetch('filesource.tpl'); + } + + function postProcess($text) + { + return htmlspecialchars($text); + } + + function writeExample($title, $path, $source) + { + $templ = &$this->newSmarty(); + $templ->assign('source',$source); + if (empty($title)) + { + $title = 'example'; + addWarning(PDERROR_EMPTY_EXAMPLE_TITLE, $path, $title); + } + $templ->assign('title',$title); + $templ->assign('file',$path); + $this->pdf->ezText($templ->fetch('examplesource.tpl')); + } + + function getExampleLink($path, $title) + { + return ''; + return $this->returnLink('{$subdir}__examplesource' . PATH_DELIMITER . 'exsource_'.$path.'.html',$title); + } + + function getSourceLink($path) + { +// var_dump(htmlentities('<c:ilink:'.$this->getFileSourceName($path).'>Source Code for this file</c:ilink>')); + return '<c:ilink:'.$this->getFileSourceName($path).'>Source Code for this file</c:ilink>'; + } + + function getFileSourceName($path, $anchor = '') + { + return urlencode($anchor . parent::getFileSourceName($path)); + } + + /** + * Retrieve a Converter-specific anchor to a segment of a source code file + * parsed via a {@tutorial tags.filesource.pkg} tag. + * @param string full path to source file + * @param string name of anchor + * @param string link text, if this is a link + * @param boolean returns either a link or a destination based on this + * parameter + * @return string link to an anchor, or the anchor + */ + function getSourceAnchor($sourcefile,$anchor,$text = '',$link = false) + { + if ($link) + { + return '<c:ilink:' . $this->getFileSourceName($sourcefile, $anchor). '>' . $text . '</c:ilink>'; + } else + { + return '</text><pdffunction:addDestination arg="'.$this->getFileSourceName($sourcefile, $anchor).'" arg="FitH" arg=$this->y /><text size="8">'; + } + } + + /** + * Returns a bookmark using Cezpdf 009 + * + * @param abstractLink a descendant of abstractlink should be passed, and never text + * @param string text to display in the link + */ + function returnSee(&$element, $eltext = false) + { + if (!$element) return false; + if (!$eltext) + { + $eltext = ''; + switch($element->type) + { + case 'tutorial' : + $eltext = $element->title; + break; + case 'method' : + case 'var' : + case 'const' : + $eltext .= $element->class.'::'; + case 'page' : + case 'define' : + case 'class' : + case 'function' : + case 'global' : + default : + $eltext .= $element->name; + if ($element->type == 'function' || $element->type == 'method') $eltext .= '()'; + break; + } + } + switch ($element->type) + { + case 'tutorial' : + return '<c:ilink:'.urlencode($element->type.$element->package.$element->subpackage.$element->name.$element->section).'>'.$eltext.'</c:ilink>'; + case 'page' : + return '<c:ilink:'.urlencode($element->type.$element->package.$element->path).'>'.$eltext.'</c:ilink>'; + case 'define' : + case 'global' : + case 'class' : + case 'function' : + return '<c:ilink:'.urlencode($element->type.$element->package.$element->name).'>'.$eltext.'</c:ilink>'; + case 'method' : + case 'var' : + case 'const' : + return '<c:ilink:'.urlencode($element->type.$element->package.$element->class.'::'.$element->name).'>'.$eltext.'</c:ilink>'; + } + return $element; + } + + /** + * @param string + * @param string + * @return string <c:alink:$link>$text</c:alink> + */ + function returnLink($link,$text) + { + return "<c:alink:$link>$text</c:alink>"; + } + + /** + * Convert README/INSTALL/CHANGELOG file contents to output format + * @param README|INSTALL|CHANGELOG + * @param string contents of the file + */ + function Convert_RIC($name, $contents) + { + $this->ric_set[$name] = $contents; + } + + function convertDocBlock(&$element) + { + if (!$element->docblock) return; + $template = &$this->newSmarty(); + + $nopackage = true; + if ($element->type == 'page' || $element->type == 'class') $nopackage = false; + $tagses = $element->docblock->listTags(); + $tags = array(); + $names = array('staticvar' => 'Static Variable','deprec' => 'Deprecated','abstract' => 'Abstract Element','todo' => 'TODO'); + if (!$nopackage) + { + $tags[] = array('keyword' => 'Package','data' => $element->docblock->package); + if (!empty($element->docblock->subpackage)) $tags[] = array('keyword' => 'Sub-Package','data' => $element->docblock->subpackage); + } + if ($element->docblock->var) + { + $a = $element->docblock->var->Convert($this); + if (!empty($a)) + $tags[] = array('keyword' => 'Var', 'data' => $a); + } + if ($element->docblock->funcglobals) + foreach($element->docblock->funcglobals as $global => $val) + { + if ($a = $this->getGlobalLink($global,$element->docblock->package)) + { + $global = $a; + } + $b = Converter::getLink($val[0]); + if (is_object($b) && phpDocumentor_get_class($b) == 'classlink') + { + $val[0] = $this->returnSee($b); + } + $tags[] = array('keyword' => 'Global Variable Used','data' => $val[0].' '.$global.': '.$val[1]->Convert($this)); + } + if ($element->docblock->statics) + foreach($element->docblock->statics as $static => $val) + { + $a = $val->Convert($this); + $tags[] = array('keyword' => 'Static Variable Used','data' => $val->converted_returnType.' '.$static.': '.$a); + } + if ($element->docblock->properties) + foreach($element->docblock->properties as $property => $val) + { + $a = $val->Convert($this); + $tags[] = array('keyword' => ucfirst($val->keyword),'data' => $val->converted_returnType.' '.$property.': '.$a); + } + foreach($tagses as $tag) + { + if (isset($names[$tag->keyword])) $tag->keyword = $names[$tag->keyword]; + $tags[] = array("keyword" => ucfirst($tag->keyword),"data" => $tag->Convert($this)); + } + $utags = array(); + foreach($element->docblock->unknown_tags as $keyword => $t) + { + foreach($t as $tag) + $utags[] = array('keyword' => $keyword, 'data' => $tag->Convert($this)); + } + if ($element->type == 'packagepage') return; + $sdesc = $element->docblock->getSDesc($this); + $desc = $element->docblock->getDesc($this); + $template->assign('utags',$utags); + $template->assign('tags',$tags); + $template->assign('sdesc',$sdesc); + $template->assign('desc',$desc); + if (false) // $element->type != 'page') + { + if ($element->type != 'var' && $element->type != 'method') + { + $this->pdf->addDestination(urlencode($element->type.$element->docblock->package.$element->name),'FitH',$this->pdf->y); + } else + { + $this->pdf->addDestination(urlencode($element->type.$element->docblock->package.$element->class.'::'.$element->name),'FitH',$this->pdf->y); + } + } elseif (false) + { + $this->pdf->addDestination(urlencode('page'.$element->parent->package.$element->parent->getPath()),'FitH',$this->pdf->y); + } + $this->convertParams($element); + $this->pdf->ezText($template->fetch('docblock.tpl')); + } + + function convertParams(&$element) + { + if ($element->type != 'function' && $element->type != 'method') return; + if (count($element->docblock->params)) + { + $template = &$this->newSmarty(); + $params = array(); + if (count($element->docblock->params)) + foreach($element->docblock->params as $param => $val) + { + $a = $val->Convert($this); + $params[] = array("name" => $param,"type" => $val->converted_returnType,"description" => $a); + } + $template->assign('params',$params); + $this->pdf->ezText($template->fetch('params.tpl')); + } + } + + function convertGlobal(&$element) + { + $sdesc = ''; + if ($element->docblock->sdesc) + { + $sdesc = $element->docblock->sdesc->Convert($this); + } + $template = &$this->newSmarty(); + $template->assign('linenumber',$element->getLineNumber()); + if ($this->hasSourceCode($element->getPath())) + $template->assign('slink',$this->getSourceAnchor($element->getPath(),$element->getLineNumber(),$element->getLineNumber(),true)); + else + $template->assign('slink', false); + $template->assign('dest', urlencode($element->type.$element->docblock->package.$element->name)); + $template->assign('type',$element->getDataType($this)); + $template->assign('name',$element->name); + $template->assign('value',$this->getGlobalValue($element->getValue())); + $template->assign('sdesc',$sdesc); + $this->pdf->ezText($template->fetch('global.tpl')); + $this->convertDocBlock($element); + } + + function getGlobalValue($value) + { + return parent::getGlobalValue(htmlspecialchars($value)); + } + + function convertMethod(&$element) + { + $sdesc = ''; + if ($element->docblock->sdesc) + { + $sdesc = $element->docblock->sdesc->Convert($this); + } + $params = array(); + if (count($element->docblock->params)) + foreach($element->docblock->params as $param => $val) + { + $a = $val->Convert($this); + $params[$param] = array("var" => $param,"datatype" => $val->converted_returnType,"data" => $a); + } + if ($element->docblock->return) + { + if (!$element->docblock->return->returnType) $element->docblock->return->returnType = 'void'; + } + $template = &$this->newSmarty(); + $template->assign('class',$this->class); + $template->assign('constructor',$element->isConstructor); + $template->assign('dest', urlencode($element->type.$element->docblock->package.$element->class.'::'.$element->name)); + $template->assign('linenumber',$element->getLineNumber()); + if ($this->hasSourceCode($element->getPath())) + $template->assign('slink',$this->getSourceAnchor($element->getPath(),$element->getLineNumber(),$element->getLineNumber(),true)); + else + $template->assign('slink',false); + $ret = 'void'; + if ($element->docblock->return) + { + $ret = $element->docblock->return->returnType; + } + $template->assign('return',$ret); + $template->assign('functioncall',$element->getFunctionCall()); + $template->assign('intricatefunctioncall',$element->getIntricateFunctionCall($this,$params)); + $template->assign('sdesc',$sdesc); + $this->pdf->ezText($template->fetch('method.tpl')); + $this->convertDocBlock($element); + } + + function convertVar(&$element) + { + $sdesc = ''; + if ($element->docblock->sdesc) + { + $sdesc = $element->docblock->sdesc->Convert($this); + } + $template = &$this->newSmarty(); + $template->assign('class',$this->class); + $template->assign('linenumber',$element->getLineNumber()); + if ($this->hasSourceCode($element->getPath())) + $template->assign('slink',$this->getSourceAnchor($element->getPath(),$element->getLineNumber(),$element->getLineNumber(),true)); + else + $template->assign('slink',false); + $template->assign('type',$element->docblock->var->returnType); + $template->assign('name',$element->name); + $template->assign('dest', urlencode($element->type.$element->docblock->package.$element->class.'::'.$element->name)); + $template->assign('value',$element->value); + $template->assign('sdesc',$sdesc); + $this->pdf->ezText($template->fetch('var.tpl')); + $this->convertDocBlock($element); + } + + function convertConst(&$element) + { + $sdesc = ''; + if ($element->docblock->sdesc) + { + $sdesc = $element->docblock->sdesc->Convert($this); + } + $template = &$this->newSmarty(); + $template->assign('class',$this->class); + $template->assign('linenumber',$element->getLineNumber()); + if ($this->hasSourceCode($element->getPath())) + $template->assign('slink',$this->getSourceAnchor($element->getPath(),$element->getLineNumber(),$element->getLineNumber(),true)); + else + $template->assign('slink',false); + $template->assign('name',$element->name); + $template->assign('dest', urlencode($element->type.$element->docblock->package.$element->class.'::'.$element->name)); + $template->assign('value',$element->value); + $template->assign('sdesc',$sdesc); + $this->pdf->ezText($template->fetch('const.tpl')); + $this->convertDocBlock($element); + } + + function convertClass(&$element) + { + $template = &$this->newSmarty(); + if ($this->curclasspackage != $element->docblock->package) + { + $template->assign('includeheader',true); + if (isset($this->package_pages[$element->docblock->package])) + { + $template->assign('ppage',$this->package_pages[$element->docblock->package]); + $template->assign('isclass',true); + unset($this->package_pages[$element->docblock->package]); + } + $template->assign('classeslink',rawurlencode("Package ".$element->docblock->package." Classes")); + } + $sdesc = ''; + if ($element->docblock->sdesc) + { + $sdesc = $element->docblock->sdesc->Convert($this); + } + $this->curclasspackage = $element->docblock->package; + $template->assign('dest', urlencode($element->type.$element->docblock->package.$element->name)); + $template->assign('package',$element->docblock->package); + $template->assign('linenumber',$element->getLineNumber()); + if ($this->hasSourceCode($element->getPath())) + $template->assign('slink',$this->getSourceAnchor($element->getPath(),$element->getLineNumber(),$element->getLineNumber(),true)); + else + $template->assign('slink',false); + $template->assign('name',$element->name); + $template->assign('sdesc',$sdesc); + $this->pdf->ezText($template->fetch('class.tpl')); + $this->convertDocBlock($element); + } + + function convertInclude(&$element) + { + $template = &$this->newSmarty(); + $template->assign('linenumber',$element->getLineNumber()); + if ($this->hasSourceCode($element->getPath())) + $template->assign('slink',$this->getSourceAnchor($element->getPath(),$element->getLineNumber(),$element->getLineNumber(),true)); + else + $template->assign('slink',false); + $template->assign('name',$element->name); + $template->assign('value',$this->getIncludeValue($element->getValue(), $element->getPath())); + $this->pdf->ezText($template->fetch('include.tpl')); + $this->convertDocBlock($element); + } + + function convertFunction(&$element) + { + $sdesc = ''; + if ($element->docblock->sdesc) + { + $sdesc = $element->docblock->sdesc->Convert($this); + } + $params = array(); + if (count($element->docblock->params)) + foreach($element->docblock->params as $param => $val) + { + $a = $val->Convert($this); + $params[$param] = array("var" => $param,"datatype" => $val->converted_returnType,"data" => $a); + } + if (!$element->docblock->return) + { + $element->docblock->return->returnType = 'void'; + } + $template = &$this->newSmarty(); + $template->assign('dest', urlencode($element->type.$element->docblock->package.$element->name)); + $template->assign('linenumber',$element->getLineNumber()); + if ($this->hasSourceCode($element->getPath())) + $template->assign('slink',$this->getSourceAnchor($element->getPath(),$element->getLineNumber(),$element->getLineNumber(),true)); + else + $template->assign('slink',false); + $template->assign('return',$element->docblock->return->returnType); + $template->assign('functioncall',$element->getFunctionCall()); + $template->assign('intricatefunctioncall',$element->getIntricateFunctionCall($this,$params)); + $template->assign('sdesc',$sdesc); + $this->pdf->ezText($template->fetch('function.tpl')); + $this->convertDocBlock($element); + } + + function convertDefine(&$element) + { + $sdesc = ''; + if ($element->docblock->sdesc) + { + $sdesc = $element->docblock->sdesc->Convert($this); + } + $template = &$this->newSmarty(); + $template->assign('linenumber',$element->getLineNumber()); + if ($this->hasSourceCode($element->getPath())) + $template->assign('slink',$this->getSourceAnchor($element->getPath(),$element->getLineNumber(),$element->getLineNumber(),true)); + else + $template->assign('slink',false); + $template->assign('name',$element->name); + $template->assign('dest', urlencode($element->type.$element->docblock->package.$element->name)); + $template->assign('value',$element->value); + $template->assign('sdesc',$sdesc); + $this->pdf->ezText($template->fetch('define.tpl')); + $this->convertDocBlock($element); + } + + function convertPage(&$element) + { + $template = &$this->newSmarty(); + $template->assign('includeheader',false); + $sdesc = ''; + if ($element->docblock->sdesc) + { + $sdesc = $element->docblock->sdesc->Convert($this); + } + if (count($element->elements) || ($sdesc) || count($element->docblock->tags)) + { + if ($this->curpagepackage != $element->parent->package) + { + $template->assign('includeheader',true); + if (isset($this->package_pages[$element->parent->package])) + { + $template->assign('ppage',$this->package_pages[$element->parent->package]); + unset($this->package_pages[$element->parent->package]); + } + } + $this->curpagepackage = $element->parent->package; + $template->assign('dest', urlencode('page'.$element->parent->package.$element->parent->getPath())); + $template->assign('sdesc',$sdesc); + $template->assign('package',$element->parent->package); + $template->assign('name',$element->parent->file); + $this->pdf->ezText($template->fetch('page.tpl')); + $this->convertDocBlock($element); + } + } + + + /** + * Used to translate an XML DocBook tag from a tutorial by reading the + * options.ini file for the template. + * @param string tag name + * @param string any attributes Format: array(name => value) + * @param string the tag contents, if any + * @param string the tag contents, if any, unpost-processed + * @return string + */ + function TranslateTag($name,$attr,$cdata,$unconvertedcdata) + { + if ($name == 'example' && @$attr['role'] == 'html') + { + $cdata = htmlspecialchars($cdata); + $unconvertedcdata = htmlspecialchars($unconvertedcdata); + } + if ($name == 'programlisting' && @$attr['role'] == 'php') + { + $unconvertedcdata = strtr($unconvertedcdata, array_flip(get_html_translation_table(HTML_SPECIALCHARS))); + $a = parent::TranslateTag($name, $attr, $cdata, $unconvertedcdata); +// var_dump(htmlspecialchars($cdata), htmlspecialchars($unconvertedcdata), htmlspecialchars($a)); + return $a; + } + return parent::TranslateTag($name, $attr, $cdata, $unconvertedcdata); + } + + function getPageName(&$element) + { + if (phpDocumentor_get_class($element) == 'parserpage') return $element->getName(); + return $element->parent->getName(); + } + + function getTutorialId($package,$subpackage,$tutorial,$id) + { + return 'tutorial'.$package.$subpackage.$tutorial.$id; + } + + function getCData($value) + { + return str_replace(array('<c:','<C:'),array("<c:","<C:"),$value); + } + + /** + * @deprecated html package pages just don't work with PDF, use {@tutorial tutorials.pkg} + */ + function convertPackagepage(&$element) + { + $x = $element->Convert($this); + $x = substr($x,strpos($x,'<body')); + $this->package_pages[$element->package] = trim(substr($x,strpos($x,'>') + 1,strpos($x,'</body>') - 6)); + } + + function convertTutorial(&$element) + { + $x = $element->Convert($this, true); + $template = &$this->newSmarty(); + $template->assign('package',$element->package); + $template->assign('subpackage',$element->subpackage); + $template->assign('contents',$x); + $template->assign('title',$element->getTitle($this)); + $template->assign('child',$element->parent); + if (isset($element->parent->parent)) $template->assign('hasparent',$element->parent->parent); + $template->assign('element',$element); + $this->pdf->ezText($template->fetch('tutorial.tpl')); + } + + /** + * returns a template-enabled array of class trees + * + * @param string $package package to generate a class tree for + * @see $roots, getRootTree() + */ + function generateFormattedClassTrees($package) + { + if (!isset($this->roots[$package])) return array(); + $roots = $trees = array(); + $roots = $this->roots[$package]; + for($i=0;$i<count($roots);$i++) + { + $trees[] = array('class' => $roots[$i],'class_tree' => "<ul>\n".$this->getRootTree($this->getSortedClassTreeFromClass($roots[$i],$package,''),$package)."</ul>\n"); + } + return $trees; + } + + /** + * return formatted class tree for the Class Trees page + * + * @param array $tree output from {@link getSortedClassTreeFromClass()} + * @see Classes::$definitechild, generateFormattedClassTrees() + * @return string + */ + function getRootTree($tree,$package) + { + if (!$tree) return ''; + $my_tree = ''; + $cur = '#root'; + $lastcur = array(false); + $kids = array(); + $dopar = false; + if ($tree[$cur]['parent']) + { + $dopar = true; + if (!is_object($tree[$cur]['parent'])) + { +// debug("parent ".$tree[$cur]['parent']." not found"); + $my_tree .= '<li>' . $tree[$cur]['parent'] .'<ul>'; + } + else + { +// debug("parent ".$this->returnSee($tree[$cur]['parent'], false, false)." in other package"); + $my_tree .= '<li>' . $this->returnSee($tree[$cur]['parent'], false, false); + if ($tree[$cur]['parent']->package != $package) $my_tree .= ' <b>(Different package)</b><ul>'; + } + } + do + { +// fancy_debug($cur,$lastcur,$kids); + if (count($tree[$cur]['children'])) + { +// debug("$cur has children"); + if (!isset($kids[$cur])) + { +// debug("set $cur kids"); + $kids[$cur] = 1; + $my_tree .= '<li>'.$this->returnSee($tree[$cur]['link'], false, false); + $my_tree .= '<ul>'."\n"; + } + array_push($lastcur,$cur); + list(,$cur) = each($tree[$cur]['children']); +// var_dump('listed',$cur); + if ($cur) + { + $cur = $cur['package'] . '#' . $cur['class']; +// debug("set cur to child $cur"); +// $my_tree .= '<li>'.$this->returnSee($tree[$cur]['link'], false, false); + continue; + } else + { +// debug("end of children for $cur"); + $cur = array_pop($lastcur); + $cur = array_pop($lastcur); + $my_tree .= '</ul></li>'."\n"; + if ($dopar && ($cur == '#root' || !$cur)) $my_tree .= '</ul></li>'; + } + } else + { +// debug("$cur has no children"); + $my_tree .= '<li>'.$this->returnSee($tree[$cur]['link'], false, false)."</li>"; + if ($dopar && $cur == '#root') $my_tree .= '</ul></li>'; + $cur = array_pop($lastcur); + } + } while ($cur); + return $my_tree; + } + + /** + * calls {@link Cezpdf::ezOutput()} and writes documentation.pdf to targetDir + */ + function Output($title = 'Generated Documentation') + { + phpDocumentor_out("Generating PDF file.."); + flush(); + $template = &$this->newSmarty(); + $this->pdf->ezText($template->fetch('appendix_title_page.tpl')); + $trees = array(); + foreach($this->all_packages as $package => $rest) + { + if (!isset($this->pkg_elements[$package])) continue; + $a = array(); + phpDocumentor_out('.'); + flush(); + $a['package'] = $package; + $a["trees"] = $this->generateFormattedClassTrees($package); + $trees[] = $a; + } + $template->assign('trees',$trees); + $this->pdf->ezText($template->fetch('classtree.tpl')); + phpDocumentor_out('.'); + if (count($this->ric_set)) + $this->pdf->ezText($template->fetch('ric_title_page.tpl')); + foreach($this->ric_set as $name => $contents) + { + $template->assign('contents',$contents); + $template->assign('name',$name); + $this->pdf->ezText($template->fetch('ric.tpl')); + } + if (count($this->_sourcecode)) + { + $this->pdf->ezText($template->fetch('source_title_page.tpl')); + $template->assign('source',$this->_sourcecode); + $this->pdf->ezText($template->fetch('source_loop.tpl')); + } + flush(); + if (count($this->todoList)) + { + $todolist = array(); + foreach($this->todoList as $package => $alltodos) + { + foreach($alltodos as $todos) + { + $converted = array(); + $converted['link'] = $this->returnSee($todos[0]); + if (!is_array($todos[1])) + { + $converted['todos'][] = $todos[1]->Convert($this); + } else + { + foreach($todos[1] as $todo) + { + $converted['todos'][] = $todo->Convert($this); + } + } + $todolist[$package][] = $converted; + } + } + $template->assign('todos',$todolist); + + $this->pdf->ezText($template->fetch('todolist.tpl')); + } + if (false) { + $fp = @fopen("C:/Documents and Settings/Owner/Desktop/pdfsourceorig.txt",'w'); + if ($fp) + { + $a = $this->pdf->ezOutput(true); // debug + fwrite($fp, $a, strlen($a)); + fclose($fp); + } + } + $this->pdf->setupTOC(); + $template->assign('contents',$this->pdf->reportContents); + $this->pdf->ezText($template->fetch('toc.tpl')); + $x = $this->pdf->ezOutput(false, $template); + phpDocumentor_out("done\n"); + flush(); + $this->writeFile("documentation.pdf", $x, true); + } + + function mystrnatcasecmp($a,$b) + { + return strnatcasecmp($a[0],$b[0]); + } + + + /** + * @param string name of class + * @param string package name + * @param string full path to look in (used in index generation) + * @return mixed false if not found, or an html a link to the class's documentation + * @see parent::getClassLink() + */ + function getClassLink($expr,$package, $file = false,$text = false) + { + $a = Converter::getClassLink($expr,$package,$file); + if (!$a) return false; + return $this->returnSee($a, $text); + } + + /** + * @param string name of function + * @param string package name + * @param string full path to look in (used in index generation) + * @param boolean deprecated + * @return mixed false if not found, or an html a link to the function's documentation + * @see parent::getFunctionLink() + */ + function getFunctionLink($expr,$package, $file = false,$text = false) + { + $a = Converter::getFunctionLink($expr,$package,$file); + if (!$a) return false; + return $this->returnSee($a, $text); + } + + /** + * @param string name of define + * @param string package name + * @param string full path to look in (used in index generation) + * @param boolean deprecated + * @return mixed false if not found, or an html a link to the define's documentation + * @see parent::getDefineLink() + */ + function getDefineLink($expr,$package, $file = false,$text = false) + { + $a = Converter::getDefineLink($expr,$package,$file); + if (!$a) return false; + return $this->returnSee($a, $text); + } + + /** + * @param string name of global variable + * @param string package name + * @param string full path to look in (used in index generation) + * @param boolean deprecated + * @return mixed false if not found, or an html a link to the global variable's documentation + * @see parent::getGlobalLink() + */ + function getGlobalLink($expr,$package, $file = false,$text = false) + { + $a = Converter::getGlobalLink($expr,$package,$file); + if (!$a) return false; + return $this->returnSee($a, $text); + } + + /** + * @param string name of procedural page + * @param string package name + * @param string full path to look in (used in index generation) + * @param boolean deprecated + * @return mixed false if not found, or an html a link to the procedural page's documentation + * @see parent::getPageLink() + */ + function getPageLink($expr,$package, $path = false,$text = false) + { + $a = Converter::getPageLink($expr,$package,$path); + if (!$a) return false; + return $this->returnSee($a, $text); + } + + /** + * @param string name of method + * @param string class containing method + * @param string package name + * @param string full path to look in (used in index generation) + * @param boolean deprecated + * @return mixed false if not found, or an html a link to the method's documentation + * @see parent::getMethodLink() + */ + function getMethodLink($expr,$class,$package, $file = false,$text = false) + { + $a = Converter::getMethodLink($expr,$class,$package,$file); + if (!$a) return false; + return $this->returnSee($a, $text); + } + + /** + * @param string name of var + * @param string class containing var + * @param string package name + * @param string full path to look in (used in index generation) + * @param boolean deprecated + * @param boolean return just the URL, or enclose it in an html a tag + * @return mixed false if not found, or an html a link to the var's documentation + * @see parent::getVarLink() + */ + function getVarLink($expr,$class,$package, $file = false,$text = false) + { + $a = Converter::getVarLink($expr,$class,$package,$file); + if (!$a) return false; + return $this->returnSee($a, $text); + } + + /** + * @param string name of class constant + * @param string class containing class constant + * @param string package name + * @param string full path to look in (used in index generation) + * @param boolean deprecated + * @param boolean return just the URL, or enclose it in an html a tag + * @return mixed false if not found, or an html a link to the var's documentation + * @see parent::getConstLink() + */ + function getConstLink($expr,$class,$package, $file = false,$text = false) + { + $a = Converter::getConstLink($expr,$class,$package,$file); + if (!$a) return false; + return $this->returnSee($a, $text); + } + + function setTemplateDir($dir) + { + Converter::setTemplateDir($dir); + $this->smarty_dir = $this->templateDir; + } + + /** @return 1 always the same */ + function getState() + { + return 1; + } + + /** + * @see parent::unmangle() + */ + function unmangle($notused,$source) + { +// $source = str_replace("\n","<mybr>",$source); + return $source; + } +} +?>
\ No newline at end of file diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/PDF/default/ParserPDF.inc b/buildscripts/PhpDocumentor/phpDocumentor/Converters/PDF/default/ParserPDF.inc new file mode 100755 index 00000000..1339b65a --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/PDF/default/ParserPDF.inc @@ -0,0 +1,564 @@ +<?php +/** + * This class handles the XML-based CezPDF markup language created to allow + * templates for the PDFdefaultConverter + * + * phpDocumentor :: automatic documentation generator + * + * PHP versions 4 and 5 + * + * Copyright (c) 2002-2006 Gregory Beaver + * + * LICENSE: + * + * 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, or (at your option) any + * later version. + * + * 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 + * + * @package Converters + * @subpackage PDFdefault + * @author Greg Beaver <cellog@php.net> + * @copyright 2002-2006 Gregory Beaver + * @license http://www.opensource.org/licenses/lgpl-license.php LGPL + * @version CVS: $Id: ParserPDF.inc 238276 2007-06-22 14:58:30Z ashnazg $ + * @filesource + * @link http://www.phpdoc.org + * @link http://pear.php.net/PhpDocumentor + * @since 1.2 + */ +/** when <text> is found in an ezText input */ +define('PHPDOCUMENTOR_PDF_EVENT_TEXT', 600); +/** when <text> is found in an ezText input */ +define('PHPDOCUMENTOR_PDF_STATE_TEXT', 700); +/** used for parsing stuff between <text> */ +define('PHPDOCUMENTOR_PDF_EVENT_CONTENT', 601); +/** used for parsing stuff between <text> */ +define('PHPDOCUMENTOR_PDF_STATE_CONTENT', 701); +/** when <font> is found in an ezText input */ +define('PHPDOCUMENTOR_PDF_EVENT_FONT', 602); +/** when <font> is found in an ezText input */ +define('PHPDOCUMENTOR_PDF_STATE_FONT', 702); +/** when <newpage/> is found in an ezText input */ +define('PHPDOCUMENTOR_PDF_EVENT_NEWPAGE', 603); +/** when <newpage/> is found in an ezText input */ +define('PHPDOCUMENTOR_PDF_STATE_NEWPAGE', 703); +/** when <pdffunction> is found in an ezText input */ +define('PHPDOCUMENTOR_PDF_EVENT_PDFFUNCTION', 604); +/** when <pdffunction> is found in an ezText input */ +define('PHPDOCUMENTOR_PDF_STATE_PDFFUNCTION', 704); + + +/** + * @package Converters + * @subpackage PDFdefault + * @author Greg Beaver <cellog@php.net> + * @since 1.2 + */ +class PDFParser extends Parser +{ + /** + * Mapping of event constants to events handler function names + * @var array + * @access private + */ + var $eventHandlers + = array( + PHPDOCUMENTOR_PDF_EVENT_TEXT => 'handleText', + PHPDOCUMENTOR_PDF_EVENT_FONT => 'handleFont', + PHPDOCUMENTOR_PDF_EVENT_NEWPAGE => 'handleNewPage', + PARSER_EVENT_QUOTE => 'handleQuote', + PARSER_EVENT_NOEVENTS => 'defaultHandler', + PHPDOCUMENTOR_PDF_EVENT_CONTENT => 'handleContent', + PHPDOCUMENTOR_PDF_EVENT_PDFFUNCTION => 'handlePDFfunction', + ); + + /** + * Sets up the wordparser for this class + */ + function PDFParser() + { + $this->wp = new WordParser; + $this->setupStates(); + } + /** + * Parse text for PDFParser XML tags, and add the text to the PDF file + * + * @param string text to parse for PDFParser XML tags + * @param string full path to the font directory + * @param phpdocpdf + * @param boolean determines whether output is saved in a variable or + * added directly to the output + * @staticvar integer used for recursion limiting if a handler for an event is not found + * @return bool + */ + function parse ($parse_data,$fontdir,&$pdf,$debug=false) + { + static $endrecur = 0; + $this->_debug = $debug; + + // initialize variables so E_ALL error_reporting doesn't complain + $pevent = 0; + $word = 0; + $this->p_vars['event_stack'] = new EventStack; + $this->p_flags['reset_quote_data'] = true; + $this->p_vars['options'] = false; + $this->p_vars['font_dir'] = $fontdir; + $this->p_vars['text_size'] = false; + $this->p_vars['pdf'] = &$pdf; + + $this->wp->setup($parse_data); + $this->wp->setWhitespace(true); + + do + { + $lpevent = $pevent; + $pevent = $this->p_vars['event_stack']->getEvent(); + if ($lpevent != $pevent) + { + $this->p_vars['last_pevent'] = $lpevent; + } + + if ($this->p_vars['last_pevent'] != $pevent) + { + // its a new event so the word parser needs to be reconfigured + $this->configWordParser($pevent); + } + + + $this->p_vars['last_word'] = $word; + $word = $this->wp->getWord(); + + if (PHPDOCUMENTOR_DEBUG == true) + { + echo "----------------\n"; + echo "LAST: |" . $this->p_vars['last_word'] . "|\n"; +// echo "INDEX: ".$this->p_vars['curpar']."\n"; + echo "PEVENT: " . $this->getParserEventName($pevent) . "\n"; + echo "LASTPEVENT: " . $this->getParserEventName($this->p_vars['last_pevent']) . "\n"; + echo $this->wp->getPos() . " WORD: |".$word."|\n\n"; + } + if (isset($this->eventHandlers[$pevent])) + { + $handle = $this->eventHandlers[$pevent]; + $this->$handle($word, $pevent); + } else + { + debug('WARNING: possible error, no ParserPDFParser handler for event number '.$pevent); + if ($endrecur++ == 25) + { + die("FATAL ERROR, recursion limit reached"); + } + } + } while (!($word === false)); + if (false) { + $fp = fopen("C:/Documents and Settings/Owner/Desktop/pdfsource.txt", "a"); + fwrite($fp, $this->wp->data); + fclose($fp); + } + } + + /**#@+ + * Event Handlers + * @param string token + * @param integer event constant + * @access private + */ + function defaultHandler($word, $pevent) + { + if ($this->checkEventPush($word, $pevent)) return; + } + + /** + * Handles <newpage /> + * @tutorial ParserPDF.cls#tags.newpage + */ + function handleNewPage($word, $pevent) + { + $this->p_vars['event_stack']->popEvent(); + $this->p_vars['pdf']->ezNewPage($this->_debug); + } + + /** + * Handles <text></text> + * @tutorial ParserPDF.cls#tags.text + */ + function handleText($word, $pevent) + { + $e = $this->checkEventPush($word, $pevent); + $e1 = $this->checkEventPop($word, $pevent); + if ($e == PARSER_EVENT_QUOTE) return; + if ($e1) + { + $this->p_flags['textcolor'] = false; + if (($a = $this->p_vars['savecolor']) != $this->p_vars['pdf']->getColor()) + { + $this->p_vars['pdf']->setColor($a['r'],$a['g'],$a['b']); + } + } + if ($this->p_vars['last_word'] == '<text') + { + // set up flags + $this->p_flags['paramval'] = false; + $this->p_flags['textcolor'] = false; + $this->p_vars['curparam'] = false; + $this->p_vars['savecolor'] = $this->p_vars['pdf']->getColor(); + $this->p_vars['options'] = array(); + unset($this->p_vars['quote_data']); + } + if (!$this->p_flags['paramval']) + { + if ($e || $e1) return; + if ($word == '=') + { +// debug('set paramval '.$this->p_vars['curparam']); + $this->p_flags['paramval'] = true; + return; + } + $this->p_vars['curparam'] = trim($word); + } else + { + if ($this->p_vars['last_pevent'] == PARSER_EVENT_QUOTE) + { + if ($this->p_vars['curparam'] == 'size') + { + $this->p_vars['text_size'] = (int)$this->p_vars['quote_data']; + $this->p_flags['paramval'] = false; + $this->p_vars['curparam'] = false; + if (!$e && !$e1) + { + $this->p_vars['curparam'] = trim($word); + } + unset($this->p_vars['quote_data']); + } elseif ($this->p_vars['curparam'] == 'color') + { + if ($a = $this->p_vars['pdf']->validHTMLColor($this->p_vars['quote_data'])) + { + $this->p_flags['textcolor'] = true; + $this->p_vars['pdf']->setHTMLColor($a); + } + } else + { + if ($this->p_vars['quote_data'] === (string)(int)$this->p_vars['quote_data']) $this->p_vars['quote_data'] = (int)$this->p_vars['quote_data']; +// debug('added '.$this->p_vars['curparam'].' = '.$this->p_vars['quote_data']); + $this->p_vars['options'][$this->p_vars['curparam']] = $this->p_vars['quote_data']; + $this->p_flags['paramval'] = false; + $this->p_vars['curparam'] = false; + if (!$e && !$e1) + { + $this->p_vars['curparam'] = trim($word); + } + unset($this->p_vars['quote_data']); + } + } + } + } + + /** + * handles <font></font> + * @tutorial ParserPDF.cls#tags.font + */ + function handleFont($word, $pevent) + { + $e = $this->checkEventPush($word, $pevent); + $e1 = $this->checkEventPop($word, $pevent); + if ($e == PARSER_EVENT_QUOTE) return; + if ($this->p_vars['last_word'] == '<font') + { + // set up flags + $this->p_flags['paramval'] = false; + $this->p_vars['curparam'] = false; + unset($this->p_vars['quote_data']); + } + if (!$this->p_flags['paramval']) + { + if ($e || $e1) return; + if ($word == '=') + { + //debug('set paramval '.$this->p_vars['curparam']); + $this->p_flags['paramval'] = true; + return; + } + $this->p_vars['curparam'] = trim($word); + } else + { + if ($this->p_vars['last_pevent'] == PARSER_EVENT_QUOTE) + { + if ($this->p_vars['curparam'] == 'face') + { + //debug('set face to '.$this->p_vars['font_dir'] . $this->p_vars['quote_data'] . '.afm'); + $this->p_vars['pdf']->selectFont($this->p_vars['font_dir'] . $this->p_vars['quote_data'] . '.afm'); + $this->p_flags['paramval'] = false; + $this->p_vars['curparam'] = false; + unset($this->p_vars['quote_data']); + } + } + } + } + + /** + * handles <pdffunction> + * @tutorial ParserPDF.cls#tags.pdffunction + */ + function handlePDFFunction($word, $pevent) + { + $e = $this->checkEventPush($word, $pevent); + $e1 = $this->checkEventPop($word, $pevent); + if ($e == PARSER_EVENT_QUOTE) return; + if ($this->p_vars['last_word'] == '<pdffunction:') + { + // set up flags + $this->p_flags['paramval'] = $this->p_flags['curparam'] = false; + $this->p_flags['returnval'] = false; + $this->p_vars['funcname'] = trim($word); +// debug("funcname is $word"); + $this->p_vars['options'] = array(); + unset($this->p_vars['quote_data']); + if ($e1) addErrorDie(PDERROR_PDFFUNCTION_NO_FUNC); + } + if (!$this->p_flags['paramval']) + { + if ($e1) + { // call function, no parameters + $func = $this->p_vars['funcname']; + if (!$func) addErrorDie(PDERROR_PDFFUNCTION_NO_FUNC); + if (method_exists($this->p_vars['pdf'],$func)) + { + if (count($this->p_vars['options'])) + { +// fancy_debug("calling function $func",$this->p_vars['options']); + $a = call_user_func_array(array(&$this->p_vars['pdf'],$func), $this->p_vars['options']); + } else + { +// debug("calling function $func"); + $a = $this->p_vars['pdf']->$func(); + } + if ($this->p_flags['returnval']) + { +// debug("setting returnvar ".$this->p_vars['return_varname']); + $this->tempvars[$this->p_vars['return_varname']] = $a; + } + } else + { + addWarning(PDERROR_PDF_METHOD_DOESNT_EXIST,$func); + } + return; + } + if ($e) return; + if ($word == '=') + { +// debug('set paramval '.$this->p_vars['curparam']); + $this->p_flags['paramval'] = true; + return; + } + $this->p_vars['curparam'] = trim($word); + } else + { + if ($this->p_vars['last_word'] == '=') + { // check to see if we should use a tempvar from a previous return + if (substr(trim($word),0,1) == '$') + { + if (substr(trim($word),0,7) == '$this->') + { // this is a pdf var + $a = substr(trim($word),7); + $a = $this->p_vars['pdf']->$a; + // debug("set option to $word"); + $this->p_vars['options'][] = $a; + $this->p_flags['paramval'] = false; + unset($this->p_vars['quote_data']); + } else + { // this is a tempvar + if (!isset($this->tempvars[substr(trim($word),1)])) + { + addErrorDie(PDERROR_PDF_TEMPVAR_DOESNT_EXIST,$this->p_vars['funcname'],trim($word),trim($word)); + } + $a = $this->tempvars[substr(trim($word),1)]; + // debug("set option to $word"); + $this->p_vars['options'][] = $a; + $this->p_flags['paramval'] = false; + unset($this->p_vars['quote_data']); + } + } + } else + { + if ($this->p_vars['last_pevent'] == PARSER_EVENT_QUOTE) + { + if ($this->p_vars['quote_data'] === (string)(int)$this->p_vars['quote_data']) + { + $this->p_vars['quote_data'] = (int)$this->p_vars['quote_data']; + } + if ($this->p_vars['curparam'] == 'return') + { +// debug("param is return"); + $this->p_vars['return_varname'] = $this->p_vars['quote_data']; + $this->p_flags['returnval'] = true; + } else + { +// fancy_debug("set option to arg",$this->p_vars['quote_data']); + $this->p_vars['options'][] = $this->p_vars['quote_data']; + } + $this->p_flags['paramval'] = false; + unset($this->p_vars['quote_data']); + } + } + if ($e1) + { // call function, with parameters + $func = $this->p_vars['funcname']; + if (method_exists($this->p_vars['pdf'],$func)) + { + if (count($this->p_vars['options'])) + { +// fancy_debug("calling function $func",$this->p_vars['options']); + if ($func == 'ezImage') { + // set padding to 5, width to 0, resize to none + $this->p_vars['options'][] = 5; + $this->p_vars['options'][] = 0; + $this->p_vars['options'][] = 'none'; + } + $a = call_user_func_array(array(&$this->p_vars['pdf'],$func), $this->p_vars['options']); + } else + { +// debug("calling function $func"); + $a = $this->p_vars['pdf']->$func(); + } + if ($this->p_flags['returnval']) + { +// debug("setting returnvar ".$this->p_vars['return_varname']); + $this->tempvars[$this->p_vars['return_varname']] = $a; + } + } else + { + addWarning(PDERROR_PDF_METHOD_DOESNT_EXIST,$func); + } + } + } + } + + /** + * Adds content to the <text> tag + */ + function handleContent($word, $pevent) + { + if ($e = $this->checkEventPush($word, $pevent)) + { + if ($e == PHPDOCUMENTOR_PDF_EVENT_FONT) + { // flush content + if (!isset($this->p_vars['content'])) return; + $this->p_vars['pdf']->_ezText($this->p_vars['content'],$this->p_vars['text_size'],$this->p_vars['options']); + unset($this->p_vars['content']); + } + return; + } + if ($this->checkEventPop($word, $pevent)) + { + $this->wp->backupPos($word); + if (!isset($this->p_vars['content'])) return; + $this->p_vars['pdf']->_ezText($this->p_vars['content'],$this->p_vars['text_size'],$this->p_vars['options']); + unset($this->p_vars['content']); + } else + { + if (!isset($this->p_vars['content'])) $this->p_vars['content'] = ''; + if (isset($this->p_vars['quote_data'])) + { + $this->p_vars['content'] .= $this->p_vars['quote_data']; + unset($this->p_vars['quote_data']); + } + $this->p_vars['content'] .= $word; + } + } + /**#@-*/ + /** + * setup the parser tokens, and the pushEvent/popEvent arrays + * @see $tokens, $pushEvent, $popEvent + */ + + function setupStates() + { + $this->tokens[STATE_NOEVENTS] = array("<text","<font","<newpage />","<newpage/>",'<pdffunction:','"'); + $this->tokens[PHPDOCUMENTOR_PDF_STATE_TEXT] = array(">","=",'"',"</text>"); + $this->tokens[PHPDOCUMENTOR_PDF_STATE_FONT] = array("/>","=",'"'); + $this->tokens[PHPDOCUMENTOR_PDF_STATE_CONTENT] = array("<font",'<pdffunction:',"</text>"); + $this->tokens[PHPDOCUMENTOR_PDF_STATE_PDFFUNCTION] = array('"',"/>","="," "); + $this->tokens[STATE_QUOTE] = array("\\\"","\\\\","\""); + $this->tokens[STATE_ESCAPE] = false;// this tells the word parser to just cycle + + // For each event word to event mapings + $this->pushEvent[PARSER_EVENT_QUOTE] = + array( + "\\" => PARSER_EVENT_ESCAPE + ); + $this->popEvent[PARSER_EVENT_QUOTE] = array("\""); +########################## + $this->pushEvent[PARSER_EVENT_NOEVENTS] = + array( + "<text" => PHPDOCUMENTOR_PDF_EVENT_TEXT, + "<font" => PHPDOCUMENTOR_PDF_EVENT_FONT, + "<newpage />" => PHPDOCUMENTOR_PDF_EVENT_NEWPAGE, + "<newpage/>" => PHPDOCUMENTOR_PDF_EVENT_NEWPAGE, + "<pdffunction:" => PHPDOCUMENTOR_PDF_EVENT_PDFFUNCTION, + '"' => PARSER_EVENT_QUOTE, + ); +########################## + $this->pushEvent[PHPDOCUMENTOR_PDF_EVENT_TEXT] = + array( + '"' => PARSER_EVENT_QUOTE, + '>' => PHPDOCUMENTOR_PDF_EVENT_CONTENT, + ); + + $this->popEvent[PHPDOCUMENTOR_PDF_EVENT_TEXT] = array("</text>"); +########################## + $this->pushEvent[PHPDOCUMENTOR_PDF_EVENT_FONT] = + array( + '"' => PARSER_EVENT_QUOTE, + ); + + $this->popEvent[PHPDOCUMENTOR_PDF_EVENT_FONT] = array("/>"); +########################## + $this->pushEvent[PHPDOCUMENTOR_PDF_EVENT_PDFFUNCTION] = + array( + '"' => PARSER_EVENT_QUOTE, + ); + + $this->popEvent[PHPDOCUMENTOR_PDF_EVENT_PDFFUNCTION] = array("/>"); +########################## + $this->pushEvent[PHPDOCUMENTOR_PDF_EVENT_CONTENT] = + array( + "<font" => PHPDOCUMENTOR_PDF_EVENT_FONT, + "<newpage />" => PHPDOCUMENTOR_PDF_EVENT_NEWPAGE, + "<newpage/>" => PHPDOCUMENTOR_PDF_EVENT_NEWPAGE, + "<pdffunction:" => PHPDOCUMENTOR_PDF_EVENT_PDFFUNCTION, + ); + + $this->popEvent[PHPDOCUMENTOR_PDF_EVENT_CONTENT] = array("</text>"); + } + + /** + * Return the name of the parser event + * @param integer + */ + function getParserEventName ($value) + { + $lookup = array( + PARSER_EVENT_NOEVENTS => "PARSER_EVENT_NOEVENTS", + PARSER_EVENT_QUOTE => "PARSER_EVENT_QUOTE", + PHPDOCUMENTOR_PDF_EVENT_TEXT => "PHPDOCUMENTOR_PDF_EVENT_TEXT", + PHPDOCUMENTOR_PDF_EVENT_CONTENT => "PHPDOCUMENTOR_PDF_EVENT_CONTENT", + PHPDOCUMENTOR_PDF_EVENT_FONT => "PHPDOCUMENTOR_PDF_EVENT_FONT", + PHPDOCUMENTOR_PDF_EVENT_PDFFUNCTION => "PHPDOCUMENTOR_PDF_EVENT_PDFFUNCTION", + ); + if (isset($lookup[$value])) + return $lookup[$value]; + else return $value; + } +} +?>
\ No newline at end of file diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/PDF/default/class.ezpdf.php b/buildscripts/PhpDocumentor/phpDocumentor/Converters/PDF/default/class.ezpdf.php new file mode 100755 index 00000000..f94fe330 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/PDF/default/class.ezpdf.php @@ -0,0 +1,1571 @@ +<?php +/** + * @package Cpdf + */ +/** + * Cpdf class + */ +include_once('phpDocumentor/Converters/PDF/default/class.pdf.php'); + +/** + * This class will take the basic interaction facilities of the Cpdf class + * and make more useful functions so that the user does not have to + * know all the ins and outs of pdf presentation to produce something pretty. + * + * IMPORTANT NOTE + * there is no warranty, implied or otherwise with this software. + * + * @version 009 (versioning is linked to class.pdf.php) + * released under a public domain licence. + * @author Wayne Munro, R&OS Ltd, {@link http://www.ros.co.nz/pdf} + * @package Cpdf + */ +class Cezpdf extends Cpdf { +//============================================================================== +// this class will take the basic interaction facilities of the Cpdf class +// and make more useful functions so that the user does not have to +// know all the ins and outs of pdf presentation to produce something pretty. +// +// IMPORTANT NOTE +// there is no warranty, implied or otherwise with this software. +// +// version 009 (versioning is linked to class.pdf.php) +// +// released under a public domain licence. +// +// Wayne Munro, R&OS Ltd, http://www.ros.co.nz/pdf +//============================================================================== + +var $ez=array('fontSize'=>10); // used for storing most of the page configuration parameters +var $y; // this is the current vertical positon on the page of the writing point, very important +var $ezPages=array(); // keep an array of the ids of the pages, making it easy to go back and add page numbers etc. +var $ezPageCount=0; + +// ------------------------------------------------------------------------------ + +function Cezpdf($paper='a4',$orientation='portrait'){ + // Assuming that people don't want to specify the paper size using the absolute coordinates + // allow a couple of options: + // orientation can be 'portrait' or 'landscape' + // or, to actually set the coordinates, then pass an array in as the first parameter. + // the defaults are as shown. + // + // ------------------------- + // 2002-07-24 - Nicola Asuni (info@tecnick.com): + // Added new page formats (45 standard ISO paper formats and 4 american common formats) + // paper cordinates are calculated in this way: (inches * 72) where 1 inch = 2.54 cm + // + // Now you may also pass a 2 values array containing the page width and height in centimeters + // ------------------------- + + if (!is_array($paper)){ + switch (strtoupper($paper)){ + case '4A0': {$size = array(0,0,4767.87,6740.79); break;} + case '2A0': {$size = array(0,0,3370.39,4767.87); break;} + case 'A0': {$size = array(0,0,2383.94,3370.39); break;} + case 'A1': {$size = array(0,0,1683.78,2383.94); break;} + case 'A2': {$size = array(0,0,1190.55,1683.78); break;} + case 'A3': {$size = array(0,0,841.89,1190.55); break;} + case 'A4': default: {$size = array(0,0,595.28,841.89); break;} + case 'A5': {$size = array(0,0,419.53,595.28); break;} + case 'A6': {$size = array(0,0,297.64,419.53); break;} + case 'A7': {$size = array(0,0,209.76,297.64); break;} + case 'A8': {$size = array(0,0,147.40,209.76); break;} + case 'A9': {$size = array(0,0,104.88,147.40); break;} + case 'A10': {$size = array(0,0,73.70,104.88); break;} + case 'B0': {$size = array(0,0,2834.65,4008.19); break;} + case 'B1': {$size = array(0,0,2004.09,2834.65); break;} + case 'B2': {$size = array(0,0,1417.32,2004.09); break;} + case 'B3': {$size = array(0,0,1000.63,1417.32); break;} + case 'B4': {$size = array(0,0,708.66,1000.63); break;} + case 'B5': {$size = array(0,0,498.90,708.66); break;} + case 'B6': {$size = array(0,0,354.33,498.90); break;} + case 'B7': {$size = array(0,0,249.45,354.33); break;} + case 'B8': {$size = array(0,0,175.75,249.45); break;} + case 'B9': {$size = array(0,0,124.72,175.75); break;} + case 'B10': {$size = array(0,0,87.87,124.72); break;} + case 'C0': {$size = array(0,0,2599.37,3676.54); break;} + case 'C1': {$size = array(0,0,1836.85,2599.37); break;} + case 'C2': {$size = array(0,0,1298.27,1836.85); break;} + case 'C3': {$size = array(0,0,918.43,1298.27); break;} + case 'C4': {$size = array(0,0,649.13,918.43); break;} + case 'C5': {$size = array(0,0,459.21,649.13); break;} + case 'C6': {$size = array(0,0,323.15,459.21); break;} + case 'C7': {$size = array(0,0,229.61,323.15); break;} + case 'C8': {$size = array(0,0,161.57,229.61); break;} + case 'C9': {$size = array(0,0,113.39,161.57); break;} + case 'C10': {$size = array(0,0,79.37,113.39); break;} + case 'RA0': {$size = array(0,0,2437.80,3458.27); break;} + case 'RA1': {$size = array(0,0,1729.13,2437.80); break;} + case 'RA2': {$size = array(0,0,1218.90,1729.13); break;} + case 'RA3': {$size = array(0,0,864.57,1218.90); break;} + case 'RA4': {$size = array(0,0,609.45,864.57); break;} + case 'SRA0': {$size = array(0,0,2551.18,3628.35); break;} + case 'SRA1': {$size = array(0,0,1814.17,2551.18); break;} + case 'SRA2': {$size = array(0,0,1275.59,1814.17); break;} + case 'SRA3': {$size = array(0,0,907.09,1275.59); break;} + case 'SRA4': {$size = array(0,0,637.80,907.09); break;} + case 'LETTER': {$size = array(0,0,612.00,792.00); break;} + case 'LEGAL': {$size = array(0,0,612.00,1008.00); break;} + case 'EXECUTIVE': {$size = array(0,0,521.86,756.00); break;} + case 'FOLIO': {$size = array(0,0,612.00,936.00); break;} + } + switch (strtolower($orientation)){ + case 'landscape': + $a=$size[3]; + $size[3]=$size[2]; + $size[2]=$a; + break; + } + } else { + if (count($paper)>2) { + // then an array was sent it to set the size + $size = $paper; + } + else { //size in centimeters has been passed + $size[0] = 0; + $size[1] = 0; + $size[2] = ( $paper[0] / 2.54 ) * 72; + $size[3] = ( $paper[1] / 2.54 ) * 72; + } + } + $this->Cpdf($size); + $this->ez['pageWidth']=$size[2]; + $this->ez['pageHeight']=$size[3]; + + // also set the margins to some reasonable defaults + $this->ez['topMargin']=30; + $this->ez['bottomMargin']=30; + $this->ez['leftMargin']=30; + $this->ez['rightMargin']=30; + + // set the current writing position to the top of the first page + $this->y = $this->ez['pageHeight']-$this->ez['topMargin']; + // and get the ID of the page that was created during the instancing process. + $this->ezPages[1]=$this->getFirstPageId(); + $this->ezPageCount=1; +} + +// ------------------------------------------------------------------------------ +// 2002-07-24: Nicola Asuni (info@tecnick.com) +// Set Margins in centimeters +function ezSetCmMargins($top,$bottom,$left,$right){ + $top = ( $top / 2.54 ) * 72; + $bottom = ( $bottom / 2.54 ) * 72; + $left = ( $left / 2.54 ) * 72; + $right = ( $right / 2.54 ) * 72; + $this->ezSetMargins($top,$bottom,$left,$right); +} +// ------------------------------------------------------------------------------ + + +function ezColumnsStart($options=array()){ + // start from the current y-position, make the set number of columne + if (isset($this->ez['columns']) && $this->ez['columns']==1){ + // if we are already in a column mode then just return. + return; + } + $def=array('gap'=>10,'num'=>2); + foreach($def as $k=>$v){ + if (!isset($options[$k])){ + $options[$k]=$v; + } + } + // setup the columns + $this->ez['columns']=array('on'=>1,'colNum'=>1); + + // store the current margins + $this->ez['columns']['margins']=array( + $this->ez['leftMargin'] + ,$this->ez['rightMargin'] + ,$this->ez['topMargin'] + ,$this->ez['bottomMargin'] + ); + // and store the settings for the columns + $this->ez['columns']['options']=$options; + // then reset the margins to suit the new columns + // safe enough to assume the first column here, but start from the current y-position + $this->ez['topMargin']=$this->ez['pageHeight']-$this->y; + $width=($this->ez['pageWidth']-$this->ez['leftMargin']-$this->ez['rightMargin']-($options['num']-1)*$options['gap'])/$options['num']; + $this->ez['columns']['width']=$width; + $this->ez['rightMargin']=$this->ez['pageWidth']-$this->ez['leftMargin']-$width; + +} +// ------------------------------------------------------------------------------ +function ezColumnsStop(){ + if (isset($this->ez['columns']) && $this->ez['columns']['on']==1){ + $this->ez['columns']['on']=0; + $this->ez['leftMargin']=$this->ez['columns']['margins'][0]; + $this->ez['rightMargin']=$this->ez['columns']['margins'][1]; + $this->ez['topMargin']=$this->ez['columns']['margins'][2]; + $this->ez['bottomMargin']=$this->ez['columns']['margins'][3]; + } +} +// ------------------------------------------------------------------------------ +function ezInsertMode($status=1,$pageNum=1,$pos='before'){ + // puts the document into insert mode. new pages are inserted until this is re-called with status=0 + // by default pages wil be inserted at the start of the document + switch($status){ + case '1': + if (isset($this->ezPages[$pageNum])){ + $this->ez['insertMode']=1; + $this->ez['insertOptions']=array('id'=>$this->ezPages[$pageNum],'pos'=>$pos); + } + break; + case '0': + $this->ez['insertMode']=0; + break; + } +} +// ------------------------------------------------------------------------------ + +function ezNewPage(){ + $pageRequired=1; + if (isset($this->ez['columns']) && $this->ez['columns']['on']==1){ + // check if this is just going to a new column + // increment the column number +//echo 'HERE<br>'; + $this->ez['columns']['colNum']++; +//echo $this->ez['columns']['colNum'].'<br>'; + if ($this->ez['columns']['colNum'] <= $this->ez['columns']['options']['num']){ + // then just reset to the top of the next column + $pageRequired=0; + } else { + $this->ez['columns']['colNum']=1; + $this->ez['topMargin']=$this->ez['columns']['margins'][2]; + } + + $width = $this->ez['columns']['width']; + $this->ez['leftMargin']=$this->ez['columns']['margins'][0]+($this->ez['columns']['colNum']-1)*($this->ez['columns']['options']['gap']+$width); + $this->ez['rightMargin']=$this->ez['pageWidth']-$this->ez['leftMargin']-$width; + } +//echo 'left='.$this->ez['leftMargin'].' right='.$this->ez['rightMargin'].'<br>'; + + if ($pageRequired){ + // make a new page, setting the writing point back to the top + $this->y = $this->ez['pageHeight']-$this->ez['topMargin']; + // make the new page with a call to the basic class. + $this->ezPageCount++; + if (isset($this->ez['insertMode']) && $this->ez['insertMode']==1){ + $id = $this->ezPages[$this->ezPageCount] = $this->newPage(1,$this->ez['insertOptions']['id'],$this->ez['insertOptions']['pos']); + // then manipulate the insert options so that inserted pages follow each other + $this->ez['insertOptions']['id']=$id; + $this->ez['insertOptions']['pos']='after'; + } else { + $this->ezPages[$this->ezPageCount] = $this->newPage(); + } + } else { + $this->y = $this->ez['pageHeight']-$this->ez['topMargin']; + } +} + +// ------------------------------------------------------------------------------ + +function ezSetMargins($top,$bottom,$left,$right){ + // sets the margins to new values + $this->ez['topMargin']=$top; + $this->ez['bottomMargin']=$bottom; + $this->ez['leftMargin']=$left; + $this->ez['rightMargin']=$right; + // check to see if this means that the current writing position is outside the + // writable area + if ($this->y > $this->ez['pageHeight']-$top){ + // then move y down + $this->y = $this->ez['pageHeight']-$top; + } + if ( $this->y < $bottom){ + // then make a new page + $this->ezNewPage(); + } +} + +// ------------------------------------------------------------------------------ + +function ezGetCurrentPageNumber(){ + // return the strict numbering (1,2,3,4..) number of the current page + return $this->ezPageCount; +} + +// ------------------------------------------------------------------------------ + +function ezStartPageNumbers($x,$y,$size,$pos='left',$pattern='{PAGENUM} of {TOTALPAGENUM}',$num=''){ + // put page numbers on the pages from here. + // place then on the 'pos' side of the coordinates (x,y). + // pos can be 'left' or 'right' + // use the given 'pattern' for display, where (PAGENUM} and {TOTALPAGENUM} are replaced + // as required. + // if $num is set, then make the first page this number, the number of total pages will + // be adjusted to account for this. + // Adjust this function so that each time you 'start' page numbers then you effectively start a different batch + // return the number of the batch, so that they can be stopped in a different order if required. + if (!$pos || !strlen($pos)){ + $pos='left'; + } + if (!$pattern || !strlen($pattern)){ + $pattern='{PAGENUM} of {TOTALPAGENUM}'; + } + if (!isset($this->ez['pageNumbering'])){ + $this->ez['pageNumbering']=array(); + } + $i = count($this->ez['pageNumbering']); + $this->ez['pageNumbering'][$i][$this->ezPageCount]=array('x'=>$x,'y'=>$y,'pos'=>$pos,'pattern'=>$pattern,'num'=>$num,'size'=>$size); + return $i; +} + +// ------------------------------------------------------------------------------ + +function ezWhatPageNumber($pageNum,$i=0){ + // given a particular generic page number (ie, document numbered sequentially from beginning), + // return the page number under a particular page numbering scheme ($i) + $num=0; + $start=1; + $startNum=1; + if (!isset($this->ez['pageNumbering'])) + { + $this->addMessage('WARNING: page numbering called for and wasn\'t started with ezStartPageNumbers'); + return 0; + } + foreach($this->ez['pageNumbering'][$i] as $k=>$v){ + if ($k<=$pageNum){ + if (is_array($v)){ + // start block + if (strlen($v['num'])){ + // a start was specified + $start=$v['num']; + $startNum=$k; + $num=$pageNum-$startNum+$start; + } + } else { + // stop block + $num=0; + } + } + } + return $num; +} + +// ------------------------------------------------------------------------------ + +function ezStopPageNumbers($stopTotal=0,$next=0,$i=0){ + // if stopTotal=1 then the totalling of pages for this number will stop too + // if $next=1, then do this page, but not the next, else do not do this page either + // if $i is set, then stop that particular pagenumbering sequence. + if (!isset($this->ez['pageNumbering'])){ + $this->ez['pageNumbering']=array(); + } + if ($next && isset($this->ez['pageNumbering'][$i][$this->ezPageCount]) && is_array($this->ez['pageNumbering'][$i][$this->ezPageCount])){ + // then this has only just been started, this will over-write the start, and nothing will appear + // add a special command to the start block, telling it to stop as well + if ($stopTotal){ + $this->ez['pageNumbering'][$i][$this->ezPageCount]['stoptn']=1; + } else { + $this->ez['pageNumbering'][$i][$this->ezPageCount]['stopn']=1; + } + } else { + if ($stopTotal){ + $this->ez['pageNumbering'][$i][$this->ezPageCount]='stopt'; + } else { + $this->ez['pageNumbering'][$i][$this->ezPageCount]='stop'; + } + if ($next){ + $this->ez['pageNumbering'][$i][$this->ezPageCount].='n'; + } + } +} + +// ------------------------------------------------------------------------------ + +function ezPRVTpageNumberSearch($lbl,&$tmp){ + foreach($tmp as $i=>$v){ + if (is_array($v)){ + if (isset($v[$lbl])){ + return $i; + } + } else { + if ($v==$lbl){ + return $i; + } + } + } + return 0; +} + +// ------------------------------------------------------------------------------ + +function ezPRVTaddPageNumbers(){ + // this will go through the pageNumbering array and add the page numbers are required + if (isset($this->ez['pageNumbering'])){ + $totalPages1 = $this->ezPageCount; + $tmp1=$this->ez['pageNumbering']; + $status=0; + foreach($tmp1 as $i=>$tmp){ + // do each of the page numbering systems + // firstly, find the total pages for this one + $k = $this->ezPRVTpageNumberSearch('stopt',$tmp); + if ($k && $k>0){ + $totalPages = $k-1; + } else { + $l = $this->ezPRVTpageNumberSearch('stoptn',$tmp); + if ($l && $l>0){ + $totalPages = $l; + } else { + $totalPages = $totalPages1; + } + } + foreach ($this->ezPages as $pageNum=>$id){ + if (isset($tmp[$pageNum])){ + if (is_array($tmp[$pageNum])){ + // then this must be starting page numbers + $status=1; + $info = $tmp[$pageNum]; + $info['dnum']=$info['num']-$pageNum; + // also check for the special case of the numbering stopping and starting on the same page + if (isset($info['stopn']) || isset($info['stoptn']) ){ + $status=2; + } + } else if ($tmp[$pageNum]=='stop' || $tmp[$pageNum]=='stopt'){ + // then we are stopping page numbers + $status=0; + } else if ($status==1 && ($tmp[$pageNum]=='stoptn' || $tmp[$pageNum]=='stopn')){ + // then we are stopping page numbers + $status=2; + } + } + if ($status){ + // then add the page numbering to this page + if (strlen($info['num'])){ + $num=$pageNum+$info['dnum']; + } else { + $num=$pageNum; + } + $total = $totalPages+$num-$pageNum; + $pat = str_replace('{PAGENUM}',$num,$info['pattern']); + $pat = str_replace('{TOTALPAGENUM}',$total,$pat); + $this->reopenObject($id); + switch($info['pos']){ + case 'right': + $this->addText($info['x'],$info['y'],$info['size'],$pat); + break; + default: + $w=$this->getTextWidth($info['size'],$pat); + $this->addText($info['x']-$w,$info['y'],$info['size'],$pat); + break; + } + $this->closeObject(); + } + if ($status==2){ + $status=0; + } + } + } + } +} + +// ------------------------------------------------------------------------------ + +function ezPRVTcleanUp(){ + $this->ezPRVTaddPageNumbers(); +} + +// ------------------------------------------------------------------------------ + +function ezStream($options=''){ + $this->ezPRVTcleanUp(); + $this->stream($options); +} + +// ------------------------------------------------------------------------------ + +function ezOutput($options=0){ + $this->ezPRVTcleanUp(); + return $this->output($options); +} + +// ------------------------------------------------------------------------------ + +function ezSetY($y){ + // used to change the vertical position of the writing point. + $this->y = $y; + if ( $this->y < $this->ez['bottomMargin']){ + // then make a new page + $this->ezNewPage(); + } +} + +// ------------------------------------------------------------------------------ + +function ezSetDy($dy,$mod=''){ + // used to change the vertical position of the writing point. + // changes up by a positive increment, so enter a negative number to go + // down the page + // if $mod is set to 'makeSpace' and a new page is forced, then the pointed will be moved + // down on the new page, this will allow space to be reserved for graphics etc. + $this->y += $dy; + if ( $this->y < $this->ez['bottomMargin']){ + // then make a new page + $this->ezNewPage(); + if ($mod=='makeSpace'){ + $this->y += $dy; + } + } +} + +// ------------------------------------------------------------------------------ + +function ezPrvtTableDrawLines($pos,$gap,$x0,$x1,$y0,$y1,$y2,$col,$inner,$outer,$opt=1){ + $x0=1000; + $x1=0; + $this->setStrokeColor($col[0],$col[1],$col[2]); + $cnt=0; + $n = count($pos); + foreach($pos as $x){ + $cnt++; + if ($cnt==1 || $cnt==$n){ + $this->setLineStyle($outer); + } else { + $this->setLineStyle($inner); + } + $this->line($x-$gap/2,$y0,$x-$gap/2,$y2); + if ($x>$x1){ $x1=$x; }; + if ($x<$x0){ $x0=$x; }; + } + $this->setLineStyle($outer); + $this->line($x0-$gap/2-$outer/2,$y0,$x1-$gap/2+$outer/2,$y0); + // only do the second line if it is different to the first, AND each row does not have + // a line on it. + if ($y0!=$y1 && $opt<2){ + $this->line($x0-$gap/2,$y1,$x1-$gap/2,$y1); + } + $this->line($x0-$gap/2-$outer/2,$y2,$x1-$gap/2+$outer/2,$y2); +} + +// ------------------------------------------------------------------------------ + +function ezPrvtTableColumnHeadings($cols,$pos,$maxWidth,$height,$decender,$gap,$size,&$y,$optionsAll=array()){ + // uses ezText to add the text, and returns the height taken by the largest heading + // this page will move the headings to a new page if they will not fit completely on this one + // transaction support will be used to implement this + + if (isset($optionsAll['cols'])){ + $options = $optionsAll['cols']; + } else { + $options = array(); + } + + $mx=0; + $startPage = $this->ezPageCount; + $secondGo=0; + + // $y is the position at which the top of the table should start, so the base + // of the first text, is $y-$height-$gap-$decender, but ezText starts by dropping $height + + // the return from this function is the total cell height, including gaps, and $y is adjusted + // to be the postion of the bottom line + + // begin the transaction + $this->transaction('start'); + $ok=0; +// $y-=$gap-$decender; + $y-=$gap; + while ($ok==0){ + foreach($cols as $colName=>$colHeading){ + $this->ezSetY($y); + if (isset($options[$colName]) && isset($options[$colName]['justification'])){ + $justification = $options[$colName]['justification']; + } else { + $justification = 'left'; + } + $this->ezText($colHeading,$size,array('aleft'=> $pos[$colName],'aright'=>($maxWidth[$colName]+$pos[$colName]),'justification'=>$justification)); + $dy = $y-$this->y; + if ($dy>$mx){ + $mx=$dy; + } + } + $y = $y - $mx - $gap + $decender; +// $y -= $mx-$gap+$decender; + + // now, if this has moved to a new page, then abort the transaction, move to a new page, and put it there + // do not check on the second time around, to avoid an infinite loop + if ($this->ezPageCount != $startPage && $secondGo==0){ + $this->transaction('rewind'); + $this->ezNewPage(); + $y = $this->y - $gap-$decender; + $ok=0; + $secondGo=1; +// $y = $store_y; + $mx=0; + + } else { + $this->transaction('commit'); + $ok=1; + } + } + + return $mx+$gap*2-$decender; +} + +// ------------------------------------------------------------------------------ + +function ezPrvtGetTextWidth($size,$text){ + // will calculate the maximum width, taking into account that the text may be broken + // by line breaks. + $mx=0; + $lines = explode("\n",$text); + foreach ($lines as $line){ + $w = $this->getTextWidth($size,$line); + if ($w>$mx){ + $mx=$w; + } + } + return $mx; +} + +// ------------------------------------------------------------------------------ + +function ezTable(&$data,$cols='',$title='',$options=''){ + // add a table of information to the pdf document + // $data is a two dimensional array + // $cols (optional) is an associative array, the keys are the names of the columns from $data + // to be presented (and in that order), the values are the titles to be given to the columns + // $title (optional) is the title to be put on the top of the table + // + // $options is an associative array which can contain: + // 'showLines'=> 0,1,2, default is 1 (show outside and top lines only), 2=> lines on each row + // 'showHeadings' => 0 or 1 + // 'shaded'=> 0,1,2,3 default is 1 (1->alternate lines are shaded, 0->no shading, 2-> both shaded, second uses shadeCol2) + // 'shadeCol' => (r,g,b) array, defining the colour of the shading, default is (0.8,0.8,0.8) + // 'shadeCol2' => (r,g,b) array, defining the colour of the shading of the other blocks, default is (0.7,0.7,0.7) + // 'fontSize' => 10 + // 'textCol' => (r,g,b) array, text colour + // 'titleFontSize' => 12 + // 'rowGap' => 2 , the space added at the top and bottom of each row, between the text and the lines + // 'colGap' => 5 , the space on the left and right sides of each cell + // 'lineCol' => (r,g,b) array, defining the colour of the lines, default, black. + // 'xPos' => 'left','right','center','centre',or coordinate, reference coordinate in the x-direction + // 'xOrientation' => 'left','right','center','centre', position of the table w.r.t 'xPos' + // 'width'=> <number> which will specify the width of the table, if it turns out to not be this + // wide, then it will stretch the table to fit, if it is wider then each cell will be made + // proportionalty smaller, and the content may have to wrap. + // 'maxWidth'=> <number> similar to 'width', but will only make table smaller than it wants to be + // 'options' => array(<colname>=>array('justification'=>'left','width'=>100,'link'=>linkDataName),<colname>=>....) + // allow the setting of other paramaters for the individual columns + // 'minRowSpace'=> the minimum space between the bottom of each row and the bottom margin, in which a new row will be started + // if it is less, then a new page would be started, default=-100 + // 'innerLineThickness'=>1 + // 'outerLineThickness'=>1 + // 'splitRows'=>0, 0 or 1, whether or not to allow the rows to be split across page boundaries + // 'protectRows'=>number, the number of rows to hold with the heading on page, ie, if there less than this number of + // rows on the page, then move the whole lot onto the next page, default=1 + // + // note that the user will have had to make a font selection already or this will not + // produce a valid pdf file. + + if (!is_array($data)){ + return; + } + + if (!is_array($cols)){ + // take the columns from the first row of the data set + reset($data); + list($k,$v)=each($data); + if (!is_array($v)){ + return; + } + $cols=array(); + foreach($v as $k1=>$v1){ + $cols[$k1]=$k1; + } + } + + if (!is_array($options)){ + $options=array(); + } + + $defaults = array( + 'shaded'=>1,'showLines'=>1,'shadeCol'=>array(0.8,0.8,0.8),'shadeCol2'=>array(0.7,0.7,0.7),'fontSize'=>10,'titleFontSize'=>12 + ,'titleGap'=>5,'lineCol'=>array(0,0,0),'gap'=>5,'xPos'=>'centre','xOrientation'=>'centre' + ,'showHeadings'=>1,'textCol'=>array(0,0,0),'width'=>0,'maxWidth'=>0,'cols'=>array(),'minRowSpace'=>-100,'rowGap'=>2,'colGap'=>5 + ,'innerLineThickness'=>1,'outerLineThickness'=>1,'splitRows'=>0,'protectRows'=>1 + ); + + foreach($defaults as $key=>$value){ + if (is_array($value)){ + if (!isset($options[$key]) || !is_array($options[$key])){ + $options[$key]=$value; + } + } else { + if (!isset($options[$key])){ + $options[$key]=$value; + } + } + } + $options['gap']=2*$options['colGap']; + + $middle = ($this->ez['pageWidth']-$this->ez['rightMargin'])/2+($this->ez['leftMargin'])/2; + // figure out the maximum widths of the text within each column + $maxWidth=array(); + foreach($cols as $colName=>$colHeading){ + $maxWidth[$colName]=0; + } + // find the maximum cell widths based on the data + foreach($data as $row){ + foreach($cols as $colName=>$colHeading){ + $w = $this->ezPrvtGetTextWidth($options['fontSize'],(string)$row[$colName])*1.01; + if ($w > $maxWidth[$colName]){ + $maxWidth[$colName]=$w; + } + } + } + // and the maximum widths to fit in the headings + foreach($cols as $colName=>$colTitle){ + $w = $this->ezPrvtGetTextWidth($options['fontSize'],(string)$colTitle)*1.01; + if ($w > $maxWidth[$colName]){ + $maxWidth[$colName]=$w; + } + } + + // calculate the start positions of each of the columns + $pos=array(); + $x=0; + $t=$x; + $adjustmentWidth=0; + $setWidth=0; + foreach($maxWidth as $colName => $w){ + $pos[$colName]=$t; + // if the column width has been specified then set that here, also total the + // width avaliable for adjustment + if (isset($options['cols'][$colName]) && isset($options['cols'][$colName]['width']) && $options['cols'][$colName]['width']>0){ + $t=$t+$options['cols'][$colName]['width']; + $maxWidth[$colName] = $options['cols'][$colName]['width']-$options['gap']; + $setWidth += $options['cols'][$colName]['width']; + } else { + $t=$t+$w+$options['gap']; + $adjustmentWidth += $w; + $setWidth += $options['gap']; + } + } + $pos['_end_']=$t; + + // if maxWidth is specified, and the table is too wide, and the width has not been set, + // then set the width. + if ($options['width']==0 && $options['maxWidth'] && ($t-$x)>$options['maxWidth']){ + // then need to make this one smaller + $options['width']=$options['maxWidth']; + } + + if ($options['width'] && $adjustmentWidth>0 && $setWidth<$options['width']){ + // first find the current widths of the columns involved in this mystery + $cols0 = array(); + $cols1 = array(); + $xq=0; + $presentWidth=0; + $last=''; + foreach($pos as $colName=>$p){ + if (!isset($options['cols'][$last]) || !isset($options['cols'][$last]['width']) || $options['cols'][$last]['width']<=0){ + if (strlen($last)){ + $cols0[$last]=$p-$xq -$options['gap']; + $presentWidth += ($p-$xq - $options['gap']); + } + } else { + $cols1[$last]=$p-$xq; + } + $last=$colName; + $xq=$p; + } + // $cols0 contains the widths of all the columns which are not set + $neededWidth = $options['width']-$setWidth; + // if needed width is negative then add it equally to each column, else get more tricky + if ($presentWidth<$neededWidth){ + foreach($cols0 as $colName=>$w){ + $cols0[$colName]+= ($neededWidth-$presentWidth)/count($cols0); + } + } else { + + $cnt=0; + while ($presentWidth>$neededWidth && $cnt<100){ + $cnt++; // insurance policy + // find the widest columns, and the next to widest width + $aWidest = array(); + $nWidest=0; + $widest=0; + foreach($cols0 as $colName=>$w){ + if ($w>$widest){ + $aWidest=array($colName); + $nWidest = $widest; + $widest=$w; + } else if ($w==$widest){ + $aWidest[]=$colName; + } + } + // then figure out what the width of the widest columns would have to be to take up all the slack + $newWidestWidth = $widest - ($presentWidth-$neededWidth)/count($aWidest); + if ($newWidestWidth > $nWidest){ + // then there is space to set them to this + foreach($aWidest as $colName){ + $cols0[$colName] = $newWidestWidth; + } + $presentWidth=$neededWidth; + } else { + // there is not space, reduce the size of the widest ones down to the next size down, and we + // will go round again + foreach($aWidest as $colName){ + $cols0[$colName] = $nWidest; + } + $presentWidth=$presentWidth-($widest-$nWidest)*count($aWidest); + } + } + } + // $cols0 now contains the new widths of the constrained columns. + // now need to update the $pos and $maxWidth arrays + $xq=0; + foreach($pos as $colName=>$p){ + $pos[$colName]=$xq; + if (!isset($options['cols'][$colName]) || !isset($options['cols'][$colName]['width']) || $options['cols'][$colName]['width']<=0){ + if (isset($cols0[$colName])){ + $xq += $cols0[$colName] + $options['gap']; + $maxWidth[$colName]=$cols0[$colName]; + } + } else { + if (isset($cols1[$colName])){ + $xq += $cols1[$colName]; + } + } + } + + $t=$x+$options['width']; + $pos['_end_']=$t; + } + + // now adjust the table to the correct location across the page + switch ($options['xPos']){ + case 'left': + $xref = $this->ez['leftMargin']; + break; + case 'right': + $xref = $this->ez['pageWidth'] - $this->ez['rightMargin']; + break; + case 'centre': + case 'center': + $xref = $middle; + break; + default: + $xref = $options['xPos']; + break; + } + switch ($options['xOrientation']){ + case 'left': + $dx = $xref-$t; + break; + case 'right': + $dx = $xref; + break; + case 'centre': + case 'center': + $dx = $xref-$t/2; + break; + } + + + foreach($pos as $k=>$v){ + $pos[$k]=$v+$dx; + } + $x0=$x+$dx; + $x1=$t+$dx; + + $baseLeftMargin = $this->ez['leftMargin']; + $basePos = $pos; + $baseX0 = $x0; + $baseX1 = $x1; + + // ok, just about ready to make me a table + $this->setColor($options['textCol'][0],$options['textCol'][1],$options['textCol'][2]); + $this->setStrokeColor($options['shadeCol'][0],$options['shadeCol'][1],$options['shadeCol'][2]); + + $middle = ($x1+$x0)/2; + + // start a transaction which will be used to regress the table, if there are not enough rows protected + if ($options['protectRows']>0){ + $this->transaction('start'); + $movedOnce=0; + } + $abortTable = 1; + while ($abortTable){ + $abortTable=0; + + $dm = $this->ez['leftMargin']-$baseLeftMargin; + foreach($basePos as $k=>$v){ + $pos[$k]=$v+$dm; + } + $x0=$baseX0+$dm; + $x1=$baseX1+$dm; + $middle = ($x1+$x0)/2; + + + // if the title is set, then do that + if (strlen($title)){ + $w = $this->getTextWidth($options['titleFontSize'],$title); + $this->y -= $this->getFontHeight($options['titleFontSize']); + if ($this->y < $this->ez['bottomMargin']){ + $this->ezNewPage(); + // margins may have changed on the newpage + $dm = $this->ez['leftMargin']-$baseLeftMargin; + foreach($basePos as $k=>$v){ + $pos[$k]=$v+$dm; + } + $x0=$baseX0+$dm; + $x1=$baseX1+$dm; + $middle = ($x1+$x0)/2; + $this->y -= $this->getFontHeight($options['titleFontSize']); + } + $this->addText($middle-$w/2,$this->y,$options['titleFontSize'],$title); + $this->y -= $options['titleGap']; + } + + // margins may have changed on the newpage + $dm = $this->ez['leftMargin']-$baseLeftMargin; + foreach($basePos as $k=>$v){ + $pos[$k]=$v+$dm; + } + $x0=$baseX0+$dm; + $x1=$baseX1+$dm; + + $y=$this->y; // to simplify the code a bit + + // make the table + $height = $this->getFontHeight($options['fontSize']); + $decender = $this->getFontDecender($options['fontSize']); + + + + $y0=$y+$decender; + $dy=0; + if ($options['showHeadings']){ + // this function will move the start of the table to a new page if it does not fit on this one + $headingHeight = $this->ezPrvtTableColumnHeadings($cols,$pos,$maxWidth,$height,$decender,$options['rowGap'],$options['fontSize'],$y,$options); + $y0 = $y+$headingHeight; + $y1 = $y; + + + $dm = $this->ez['leftMargin']-$baseLeftMargin; + foreach($basePos as $k=>$v){ + $pos[$k]=$v+$dm; + } + $x0=$baseX0+$dm; + $x1=$baseX1+$dm; + + } else { + $y1 = $y0; + } + $firstLine=1; + + + // open an object here so that the text can be put in over the shading + if ($options['shaded']){ + $this->saveState(); + $textObjectId = $this->openObject(); + $this->closeObject(); + $this->addObject($textObjectId); + $this->reopenObject($textObjectId); + } + + $cnt=0; + $newPage=0; + foreach($data as $row){ + $cnt++; + // the transaction support will be used to prevent rows being split + if ($options['splitRows']==0){ + $pageStart = $this->ezPageCount; + if (isset($this->ez['columns']) && $this->ez['columns']['on']==1){ + $columnStart = $this->ez['columns']['colNum']; + } + $this->transaction('start'); + $row_orig = $row; + $y_orig = $y; + $y0_orig = $y0; + $y1_orig = $y1; + } + $ok=0; + $secondTurn=0; + while(!$abortTable && $ok == 0){ + + $mx=0; + $newRow=1; + while(!$abortTable && ($newPage || $newRow)){ + + $y-=$height; + if ($newPage || $y<$this->ez['bottomMargin'] || (isset($options['minRowSpace']) && $y<($this->ez['bottomMargin']+$options['minRowSpace'])) ){ + // check that enough rows are with the heading + if ($options['protectRows']>0 && $movedOnce==0 && $cnt<=$options['protectRows']){ + // then we need to move the whole table onto the next page + $movedOnce = 1; + $abortTable = 1; + } + + $y2=$y-$mx+2*$height+$decender-$newRow*$height; + if ($options['showLines']){ + if (!$options['showHeadings']){ + $y0=$y1; + } + $this->ezPrvtTableDrawLines($pos,$options['gap'],$x0,$x1,$y0,$y1,$y2,$options['lineCol'],$options['innerLineThickness'],$options['outerLineThickness'],$options['showLines']); + } + if ($options['shaded']){ + $this->closeObject(); + $this->restoreState(); + } + $this->ezNewPage(); + // and the margins may have changed, this is due to the possibility of the columns being turned on + // as the columns are managed by manipulating the margins + + $dm = $this->ez['leftMargin']-$baseLeftMargin; + foreach($basePos as $k=>$v){ + $pos[$k]=$v+$dm; + } +// $x0=$x0+$dm; +// $x1=$x1+$dm; + $x0=$baseX0+$dm; + $x1=$baseX1+$dm; + + if ($options['shaded']){ + $this->saveState(); + $textObjectId = $this->openObject(); + $this->closeObject(); + $this->addObject($textObjectId); + $this->reopenObject($textObjectId); + } + $this->setColor($options['textCol'][0],$options['textCol'][1],$options['textCol'][2],1); + $y = $this->ez['pageHeight']-$this->ez['topMargin']; + $y0=$y+$decender; + $mx=0; + if ($options['showHeadings']){ + $this->ezPrvtTableColumnHeadings($cols,$pos,$maxWidth,$height,$decender,$options['rowGap'],$options['fontSize'],$y,$options); + $y1=$y; + } else { + $y1=$y0; + } + $firstLine=1; + $y -= $height; + } + $newRow=0; + // write the actual data + // if these cells need to be split over a page, then $newPage will be set, and the remaining + // text will be placed in $leftOvers + $newPage=0; + $leftOvers=array(); + + foreach($cols as $colName=>$colTitle){ + $this->ezSetY($y+$height); + $colNewPage=0; + if (isset($row[$colName])){ + if (isset($options['cols'][$colName]) && isset($options['cols'][$colName]['link']) && strlen($options['cols'][$colName]['link'])){ + + $lines = explode("\n",$row[$colName]); + if (isset($row[$options['cols'][$colName]['link']]) && strlen($row[$options['cols'][$colName]['link']])){ + foreach($lines as $k=>$v){ + $lines[$k]='<c:alink:'.$row[$options['cols'][$colName]['link']].'>'.$v.'</c:alink>'; + } + } + } else { + $lines = explode("\n",$row[$colName]); + } + } else { + $lines = array(); + } + $this->y -= $options['rowGap']; + foreach ($lines as $line){ + $line = $this->ezProcessText($line); + $start=1; + + while (strlen($line) || $start){ + $start=0; + if (!$colNewPage){ + $this->y=$this->y-$height; + } + if ($this->y < $this->ez['bottomMargin']){ + // $this->ezNewPage(); + $newPage=1; // whether a new page is required for any of the columns + $colNewPage=1; // whether a new page is required for this column + } + if ($colNewPage){ + if (isset($leftOvers[$colName])){ + $leftOvers[$colName].="\n".$line; + } else { + $leftOvers[$colName] = $line; + } + $line=''; + } else { + if (isset($options['cols'][$colName]) && isset($options['cols'][$colName]['justification']) ){ + $just = $options['cols'][$colName]['justification']; + } else { + $just='left'; + } + + $line=$this->addTextWrap($pos[$colName],$this->y,$maxWidth[$colName],$options['fontSize'],$line,$just); + } + } + } + + $dy=$y+$height-$this->y+$options['rowGap']; + if ($dy-$height*$newPage>$mx){ + $mx=$dy-$height*$newPage; + } + } + // set $row to $leftOvers so that they will be processed onto the new page + $row = $leftOvers; + // now add the shading underneath + if ($options['shaded'] && $cnt%2==0){ + $this->closeObject(); + $this->setColor($options['shadeCol'][0],$options['shadeCol'][1],$options['shadeCol'][2],1); + $this->filledRectangle($x0-$options['gap']/2,$y+$decender+$height-$mx,$x1-$x0,$mx); + $this->reopenObject($textObjectId); + } + + if ($options['shaded']==2 && $cnt%2==1){ + $this->closeObject(); + $this->setColor($options['shadeCol2'][0],$options['shadeCol2'][1],$options['shadeCol2'][2],1); + $this->filledRectangle($x0-$options['gap']/2,$y+$decender+$height-$mx,$x1-$x0,$mx); + $this->reopenObject($textObjectId); + } + + if ($options['showLines']>1){ + // then draw a line on the top of each block +// $this->closeObject(); + $this->saveState(); + $this->setStrokeColor($options['lineCol'][0],$options['lineCol'][1],$options['lineCol'][2],1); +// $this->line($x0-$options['gap']/2,$y+$decender+$height-$mx,$x1-$x0,$mx); + if ($firstLine){ + $this->setLineStyle($options['outerLineThickness']); + $firstLine=0; + } else { + $this->setLineStyle($options['innerLineThickness']); + } + $this->line($x0-$options['gap']/2,$y+$decender+$height,$x1-$options['gap']/2,$y+$decender+$height); + $this->restoreState(); +// $this->reopenObject($textObjectId); + } + } // end of while + $y=$y-$mx+$height; + + // checking row split over pages + if ($options['splitRows']==0){ + if ( ( ($this->ezPageCount != $pageStart) || (isset($this->ez['columns']) && $this->ez['columns']['on']==1 && $columnStart != $this->ez['columns']['colNum'] )) && $secondTurn==0){ + // then we need to go back and try that again ! + $newPage=1; + $secondTurn=1; + $this->transaction('rewind'); + $row = $row_orig; + $y = $y_orig; + $y0 = $y0_orig; + $y1 = $y1_orig; + $ok=0; + + $dm = $this->ez['leftMargin']-$baseLeftMargin; + foreach($basePos as $k=>$v){ + $pos[$k]=$v+$dm; + } + $x0=$baseX0+$dm; + $x1=$baseX1+$dm; + + } else { + $this->transaction('commit'); + $ok=1; + } + } else { + $ok=1; // don't go round the loop if splitting rows is allowed + } + + } // end of while to check for row splitting + if ($abortTable){ + if ($ok==0){ + $this->transaction('abort'); + } + // only the outer transaction should be operational + $this->transaction('rewind'); + $this->ezNewPage(); + break; + } + + } // end of foreach ($data as $row) + + } // end of while ($abortTable) + + // table has been put on the page, the rows guarded as required, commit. + $this->transaction('commit'); + + $y2=$y+$decender; + if ($options['showLines']){ + if (!$options['showHeadings']){ + $y0=$y1; + } + $this->ezPrvtTableDrawLines($pos,$options['gap'],$x0,$x1,$y0,$y1,$y2,$options['lineCol'],$options['innerLineThickness'],$options['outerLineThickness'],$options['showLines']); + } + + // close the object for drawing the text on top + if ($options['shaded']){ + $this->closeObject(); + $this->restoreState(); + } + + $this->y=$y; + return $y; +} + +// ------------------------------------------------------------------------------ +function ezProcessText($text){ + // this function will intially be used to implement underlining support, but could be used for a range of other + // purposes + $search = array('<u>','<U>','</u>','</U>'); + $replace = array('<c:uline>','<c:uline>','</c:uline>','</c:uline>'); + return str_replace($search,$replace,$text); +} + +// ------------------------------------------------------------------------------ + +function ezText($text,$size=0,$options=array(),$test=0){ + // this will add a string of text to the document, starting at the current drawing + // position. + // it will wrap to keep within the margins, including optional offsets from the left + // and the right, if $size is not specified, then it will be the last one used, or + // the default value (12 I think). + // the text will go to the start of the next line when a return code "\n" is found. + // possible options are: + // 'left'=> number, gap to leave from the left margin + // 'right'=> number, gap to leave from the right margin + // 'aleft'=> number, absolute left position (overrides 'left') + // 'aright'=> number, absolute right position (overrides 'right') + // 'justification' => 'left','right','center','centre','full' + + // only set one of the next two items (leading overrides spacing) + // 'leading' => number, defines the total height taken by the line, independent of the font height. + // 'spacing' => a real number, though usually set to one of 1, 1.5, 2 (line spacing as used in word processing) + + // if $test is set then this should just check if the text is going to flow onto a new page or not, returning true or false + + // apply the filtering which will make the underlining function. + $text = $this->ezProcessText($text); + + $newPage=false; + $store_y = $this->y; + + if (is_array($options) && isset($options['aleft'])){ + $left=$options['aleft']; + } else { + $left = $this->ez['leftMargin'] + ((is_array($options) && isset($options['left']))?$options['left']:0); + } + if (is_array($options) && isset($options['aright'])){ + $right=$options['aright']; + } else { + $right = $this->ez['pageWidth'] - $this->ez['rightMargin'] - ((is_array($options) && isset($options['right']))?$options['right']:0); + } + if ($size<=0){ + $size = $this->ez['fontSize']; + } else { + $this->ez['fontSize']=$size; + } + + if (is_array($options) && isset($options['justification'])){ + $just = $options['justification']; + } else { + $just = 'left'; + } + + // modifications to give leading and spacing based on those given by Craig Heydenburg 1/1/02 + if (is_array($options) && isset($options['leading'])) { ## use leading instead of spacing + $height = $options['leading']; + } else if (is_array($options) && isset($options['spacing'])) { + $height = $this->getFontHeight($size) * $options['spacing']; + } else { + $height = $this->getFontHeight($size); + } + + + $lines = explode("\n",$text); + foreach ($lines as $line){ + $start=1; + while (strlen($line) || $start){ + $start=0; + $this->y=$this->y-$height; + if ($this->y < $this->ez['bottomMargin']){ + if ($test){ + $newPage=true; + } else { + $this->ezNewPage(); + // and then re-calc the left and right, in case they have changed due to columns + } + } + if (is_array($options) && isset($options['aleft'])){ + $left=$options['aleft']; + } else { + $left = $this->ez['leftMargin'] + ((is_array($options) && isset($options['left']))?$options['left']:0); + } + if (is_array($options) && isset($options['aright'])){ + $right=$options['aright']; + } else { + $right = $this->ez['pageWidth'] - $this->ez['rightMargin'] - ((is_array($options) && isset($options['right']))?$options['right']:0); + } + $line=$this->addTextWrap($left,$this->y,$right-$left,$size,$line,$just,0,$test); + } + } + + if ($test){ + $this->y=$store_y; + return $newPage; + } else { + return $this->y; + } +} + +// ------------------------------------------------------------------------------ + +function ezImage($image,$pad = 5,$width = 0,$resize = 'full',$just = 'center',$border = ''){ + //beta ezimage function + if (stristr($image,'://'))//copy to temp file + { + $fp = @fopen($image,"rb"); + while(!feof($fp)) + { + $cont.= fread($fp,1024); + } + fclose($fp); + $image = tempnam ("/tmp", "php-pdf"); + $fp2 = @fopen($image,"w"); + fwrite($fp2,$cont); + fclose($fp2); + $temp = true; + } + + if (!(file_exists($image))) return false; //return immediately if image file does not exist + $imageInfo = getimagesize($image); + switch ($imageInfo[2]){ + case 2: + $type = "jpeg"; + break; + case 3: + $type = "png"; + break; + default: + return false; //return if file is not jpg or png + } + if ($width == 0) $width = $imageInfo[0]; //set width + $ratio = $imageInfo[0]/$imageInfo[1]; + + //get maximum width of image + if (isset($this->ez['columns']) && $this->ez['columns']['on'] == 1) + { + $bigwidth = $this->ez['columns']['width'] - ($pad * 2); + } + else + { + $bigwidth = $this->ez['pageWidth'] - ($pad * 2); + } + //fix width if larger than maximum or if $resize=full + if ($resize == 'full' || $resize == 'width' || $width > $bigwidth) + { + $width = $bigwidth; + + } + + $height = ($width/$ratio); //set height + + //fix size if runs off page + if ($height > ($this->y - $this->ez['bottomMargin'] - ($pad * 2))) + { + if ($resize != 'full') + { + $this->ezNewPage(); + } + else + { + $height = ($this->y - $this->ez['bottomMargin'] - ($pad * 2)); //shrink height + $width = ($height*$ratio); //fix width + } + } + + //fix x-offset if image smaller than bigwidth + if ($width < $bigwidth) + { + //center if justification=center + if ($just == 'center') + { + $offset = ($bigwidth - $width) / 2; + } + //move to right if justification=right + if ($just == 'right') + { + $offset = ($bigwidth - $width); + } + //leave at left if justification=left + if ($just == 'left') + { + $offset = 0; + } + } + + + //call appropriate function + if ($type == "jpeg"){ + $this->addJpegFromFile($image,$this->ez['leftMargin'] + $pad + $offset, $this->y + $this->getFontHeight($this->ez['fontSize']) - $pad - $height,$width); + } + + if ($type == "png"){ + $this->addPngFromFile($image,$this->ez['leftMargin'] + $pad + $offset, $this->y + $this->getFontHeight($this->ez['fontSize']) - $pad - $height,$width); + } + //draw border + if ($border != '') + { + if (!(isset($border['color']))) + { + $border['color']['red'] = .5; + $border['color']['blue'] = .5; + $border['color']['green'] = .5; + } + if (!(isset($border['width']))) $border['width'] = 1; + if (!(isset($border['cap']))) $border['cap'] = 'round'; + if (!(isset($border['join']))) $border['join'] = 'round'; + + + $this->setStrokeColor($border['color']['red'],$border['color']['green'],$border['color']['blue']); + $this->setLineStyle($border['width'],$border['cap'],$border['join']); + $this->rectangle($this->ez['leftMargin'] + $pad + $offset, $this->y + $this->getFontHeight($this->ez['fontSize']) - $pad - $height,$width,$height); + + } + // move y below image + $this->y = $this->y - $pad - $height; + //remove tempfile for remote images + if ($temp == true) unlink($image); + +} +// ------------------------------------------------------------------------------ + +// note that templating code is still considered developmental - have not really figured +// out a good way of doing this yet. +function loadTemplate($templateFile){ + // this function will load the requested template ($file includes full or relative pathname) + // the code for the template will be modified to make it name safe, and then stored in + // an array for later use + // The id of the template will be returned for the user to operate on it later + if (!file_exists($templateFile)){ + return -1; + } + + $code = implode('',file($templateFile)); + if (!strlen($code)){ + return; + } + + $code = trim($code); + if (substr($code,0,5)=='<?php'){ + $code = substr($code,5); + } + if (substr($code,-2)=='?>'){ + $code = substr($code,0,strlen($code)-2); + } + if (isset($this->ez['numTemplates'])){ + $newNum = $this->ez['numTemplates']; + $this->ez['numTemplates']++; + } else { + $newNum=0; + $this->ez['numTemplates']=1; + $this->ez['templates']=array(); + } + + $this->ez['templates'][$newNum]['code']=$code; + + return $newNum; +} + +// ------------------------------------------------------------------------------ + +function execTemplate($id,$data=array(),$options=array()){ + // execute the given template on the current document. + if (!isset($this->ez['templates'][$id])){ + return; + } + eval($this->ez['templates'][$id]['code']); +} + +// ------------------------------------------------------------------------------ +function ilink($info){ + $this->alink($info,1); +} + +function alink($info,$internal=0){ + // a callback function to support the formation of clickable links within the document + $lineFactor=0.05; // the thickness of the line as a proportion of the height. also the drop of the line. + switch($info['status']){ + case 'start': + case 'sol': + // the beginning of the link + // this should contain the URl for the link as the 'p' entry, and will also contain the value of 'nCallback' + if (!isset($this->ez['links'])){ + $this->ez['links']=array(); + } + $i = $info['nCallback']; + $this->ez['links'][$i] = array('x'=>$info['x'],'y'=>$info['y'],'angle'=>$info['angle'],'decender'=>$info['decender'],'height'=>$info['height'],'url'=>$info['p']); + $this->saveState(); + $this->setColor(0,0,1); + $this->setStrokeColor(0,0,1); + $thick = $info['height']*$lineFactor; + $this->setLineStyle($thick); + break; + case 'end': + case 'eol': + // the end of the link + // assume that it is the most recent opening which has closed + $i = $info['nCallback']; + $start = $this->ez['links'][$i]; + // add underlining + $a = deg2rad((float)$start['angle']-90.0); + $drop = $start['height']*$lineFactor*1.5; + $dropx = cos($a)*$drop; + $dropy = -sin($a)*$drop; + $this->line($start['x']-$dropx,$start['y']-$dropy,$info['x']-$dropx,$info['y']-$dropy); + if ($internal) { + $this->addInternalLink($start['url'],$start['x'],$start['y']+$start['decender'],$info['x'],$start['y']+$start['decender']+$start['height']); + } else { + $this->addLink($start['url'],$start['x'],$start['y']+$start['decender'],$info['x'],$start['y']+$start['decender']+$start['height']); + } + $this->restoreState(); + break; + } +} + +// ------------------------------------------------------------------------------ + +function uline($info){ + // a callback function to support underlining + $lineFactor=0.05; // the thickness of the line as a proportion of the height. also the drop of the line. + switch($info['status']){ + case 'start': + case 'sol': + + // the beginning of the underline zone + if (!isset($this->ez['links'])){ + $this->ez['links']=array(); + } + $i = $info['nCallback']; + $this->ez['links'][$i] = array('x'=>$info['x'],'y'=>$info['y'],'angle'=>$info['angle'],'decender'=>$info['decender'],'height'=>$info['height']); + $this->saveState(); + $thick = $info['height']*$lineFactor; + $this->setLineStyle($thick); + break; + case 'end': + case 'eol': + // the end of the link + // assume that it is the most recent opening which has closed + $i = $info['nCallback']; + $start = $this->ez['links'][$i]; + // add underlining + $a = deg2rad((float)$start['angle']-90.0); + $drop = $start['height']*$lineFactor*1.5; + $dropx = cos($a)*$drop; + $dropy = -sin($a)*$drop; + $this->line($start['x']-$dropx,$start['y']-$dropy,$info['x']-$dropx,$info['y']-$dropy); + $this->restoreState(); + break; + } +} + +// ------------------------------------------------------------------------------ + +} +?>
\ No newline at end of file diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/PDF/default/class.pdf.php b/buildscripts/PhpDocumentor/phpDocumentor/Converters/PDF/default/class.pdf.php new file mode 100755 index 00000000..8b9f3c09 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/PDF/default/class.pdf.php @@ -0,0 +1,3078 @@ +<?php +/** + * @package Cpdf + */ +/** +* Cpdf +* +* +* A PHP class to provide the basic functionality to create a pdf document without +* any requirement for additional modules. +* +* Note that they companion class CezPdf can be used to extend this class and dramatically +* simplify the creation of documents. +* +* IMPORTANT NOTE +* there is no warranty, implied or otherwise with this software. +* +* LICENCE +* This code has been placed in the Public Domain for all to enjoy. +* +* @author Wayne Munro <pdf@ros.co.nz> +* @version 009 +* @package Cpdf +* @link http://www.ros.co.nz/pdf +*/ +class Cpdf { + +/** +* the current number of pdf objects in the document +*/ +var $numObj=0; +/** +* this array contains all of the pdf objects, ready for final assembly +*/ +var $objects = array(); +/** +* the objectId (number within the objects array) of the document catalog +*/ +var $catalogId; +/** +* array carrying information about the fonts that the system currently knows about +* used to ensure that a font is not loaded twice, among other things +*/ +var $fonts=array(); +/** +* a record of the current font +*/ +var $currentFont=''; +/** +* the current base font +*/ +var $currentBaseFont=''; +/** +* the number of the current font within the font array +*/ +var $currentFontNum=0; +/** +* +*/ +var $currentNode; +/** +* object number of the current page +*/ +var $currentPage; +/** +* object number of the currently active contents block +*/ +var $currentContents; +/** +* number of fonts within the system +*/ +var $numFonts=0; +/** +* current colour for fill operations, defaults to inactive value, all three components should be between 0 and 1 inclusive when active +*/ +var $currentColour=array('r'=>-1,'g'=>-1,'b'=>-1); +/** +* current colour for stroke operations (lines etc.) +*/ +var $currentStrokeColour=array('r'=>-1,'g'=>-1,'b'=>-1); +/** +* current style that lines are drawn in +*/ +var $currentLineStyle=''; +/** +* an array which is used to save the state of the document, mainly the colours and styles +* it is used to temporarily change to another state, the change back to what it was before +*/ +var $stateStack = array(); +/** +* number of elements within the state stack +*/ +var $nStateStack = 0; +/** +* number of page objects within the document +*/ +var $numPages=0; +/** +* object Id storage stack +*/ +var $stack=array(); +/** +* number of elements within the object Id storage stack +*/ +var $nStack=0; +/** +* an array which contains information about the objects which are not firmly attached to pages +* these have been added with the addObject function +*/ +var $looseObjects=array(); +/** +* array contains infomation about how the loose objects are to be added to the document +*/ +var $addLooseObjects=array(); +/** +* the objectId of the information object for the document +* this contains authorship, title etc. +*/ +var $infoObject=0; +/** +* number of images being tracked within the document +*/ +var $numImages=0; +/** +* an array containing options about the document +* it defaults to turning on the compression of the objects +*/ +var $options=array('compression'=>1); +/** +* the objectId of the first page of the document +*/ +var $firstPageId; +/** +* used to track the last used value of the inter-word spacing, this is so that it is known +* when the spacing is changed. +*/ +var $wordSpaceAdjust=0; +/** +* the object Id of the procset object +*/ +var $procsetObjectId; +/** +* store the information about the relationship between font families +* this used so that the code knows which font is the bold version of another font, etc. +* the value of this array is initialised in the constuctor function. +*/ +var $fontFamilies = array(); +/** +* track if the current font is bolded or italicised +*/ +var $currentTextState = ''; +/** +* messages are stored here during processing, these can be selected afterwards to give some useful debug information +*/ +var $messages=''; +/** +* the ancryption array for the document encryption is stored here +*/ +var $arc4=''; +/** +* the object Id of the encryption information +*/ +var $arc4_objnum=0; +/** +* the file identifier, used to uniquely identify a pdf document +*/ +var $fileIdentifier=''; +/** +* a flag to say if a document is to be encrypted or not +*/ +var $encrypted=0; +/** +* the ancryption key for the encryption of all the document content (structure is not encrypted) +*/ +var $encryptionKey=''; +/** +* array which forms a stack to keep track of nested callback functions +*/ +var $callback = array(); +/** +* the number of callback functions in the callback array +*/ +var $nCallback = 0; +/** +* store label->id pairs for named destinations, these will be used to replace internal links +* done this way so that destinations can be defined after the location that links to them +*/ +var $destinations = array(); +/** +* store the stack for the transaction commands, each item in here is a record of the values of all the +* variables within the class, so that the user can rollback at will (from each 'start' command) +* note that this includes the objects array, so these can be large. +*/ +var $checkpoint = ''; +/** +* class constructor +* this will start a new document +* @var array array of 4 numbers, defining the bottom left and upper right corner of the page. first two are normally zero. +*/ +function Cpdf ($pageSize=array(0,0,612,792)){ + $this->newDocument($pageSize); + + // also initialize the font families that are known about already + $this->setFontFamily('init'); +// $this->fileIdentifier = md5('xxxxxxxx'.time()); + +} + +/** +* Document object methods (internal use only) +* +* There is about one object method for each type of object in the pdf document +* Each function has the same call list ($id,$action,$options). +* $id = the object ID of the object, or what it is to be if it is being created +* $action = a string specifying the action to be performed, though ALL must support: +* 'new' - create the object with the id $id +* 'out' - produce the output for the pdf object +* $options = optional, a string or array containing the various parameters for the object +* +* These, in conjunction with the output function are the ONLY way for output to be produced +* within the pdf 'file'. +*/ + +/** +*destination object, used to specify the location for the user to jump to, presently on opening +*/ +function o_destination($id,$action,$options=''){ + if ($action!='new'){ + $o =& $this->objects[$id]; + } + switch($action){ + case 'new': + $this->objects[$id]=array('t'=>'destination','info'=>array()); + $tmp = ''; + switch ($options['type']){ + case 'XYZ': + case 'FitR': + $tmp = ' '.$options['p3'].$tmp; + case 'FitH': + case 'FitV': + case 'FitBH': + case 'FitBV': + $tmp = ' '.$options['p1'].' '.$options['p2'].$tmp; + case 'Fit': + case 'FitB': + $tmp = $options['type'].$tmp; + $this->objects[$id]['info']['string']=$tmp; + $this->objects[$id]['info']['page']=$options['page']; + } + break; + case 'out': + $tmp = $o['info']; + $res="\n".$id." 0 obj\n".'['.$tmp['page'].' 0 R /'.$tmp['string']."]\nendobj\n"; + return $res; + break; + } +} + +/** +* set the viewer preferences +*/ +function o_viewerPreferences($id,$action,$options=''){ + if ($action!='new'){ + $o =& $this->objects[$id]; + } + switch ($action){ + case 'new': + $this->objects[$id]=array('t'=>'viewerPreferences','info'=>array()); + break; + case 'add': + foreach($options as $k=>$v){ + switch ($k){ + case 'HideToolbar': + case 'HideMenubar': + case 'HideWindowUI': + case 'FitWindow': + case 'CenterWindow': + case 'NonFullScreenPageMode': + case 'Direction': + $o['info'][$k]=$v; + break; + } + } + break; + case 'out': + + $res="\n".$id." 0 obj\n".'<< '; + foreach($o['info'] as $k=>$v){ + $res.="\n/".$k.' '.$v; + } + $res.="\n>>\n"; + return $res; + break; + } +} + +/** +* define the document catalog, the overall controller for the document +*/ +function o_catalog($id,$action,$options=''){ + if ($action!='new'){ + $o =& $this->objects[$id]; + } + switch ($action){ + case 'new': + $this->objects[$id]=array('t'=>'catalog','info'=>array()); + $this->catalogId=$id; + break; + case 'outlines': + case 'pages': + case 'openHere': + $o['info'][$action]=$options; + break; + case 'viewerPreferences': + if (!isset($o['info']['viewerPreferences'])){ + $this->numObj++; + $this->o_viewerPreferences($this->numObj,'new'); + $o['info']['viewerPreferences']=$this->numObj; + } + $vp = $o['info']['viewerPreferences']; + $this->o_viewerPreferences($vp,'add',$options); + break; + case 'out': + $res="\n".$id." 0 obj\n".'<< /Type /Catalog'; + foreach($o['info'] as $k=>$v){ + switch($k){ + case 'outlines': + $res.="\n".'/Outlines '.$v.' 0 R'; + break; + case 'pages': + $res.="\n".'/Pages '.$v.' 0 R'; + break; + case 'viewerPreferences': + $res.="\n".'/ViewerPreferences '.$o['info']['viewerPreferences'].' 0 R'; + break; + case 'openHere': + $res.="\n".'/OpenAction '.$o['info']['openHere'].' 0 R'; + break; + } + } + $res.=" >>\nendobj"; + return $res; + break; + } +} + +/** +* object which is a parent to the pages in the document +*/ +function o_pages($id,$action,$options=''){ + if ($action!='new'){ + $o =& $this->objects[$id]; + } + switch ($action){ + case 'new': + $this->objects[$id]=array('t'=>'pages','info'=>array()); + $this->o_catalog($this->catalogId,'pages',$id); + break; + case 'page': + if (!is_array($options)){ + // then it will just be the id of the new page + $o['info']['pages'][]=$options; + } else { + // then it should be an array having 'id','rid','pos', where rid=the page to which this one will be placed relative + // and pos is either 'before' or 'after', saying where this page will fit. + if (isset($options['id']) && isset($options['rid']) && isset($options['pos'])){ + $i = array_search($options['rid'],$o['info']['pages']); + if (isset($o['info']['pages'][$i]) && $o['info']['pages'][$i]==$options['rid']){ + // then there is a match + // make a space + switch ($options['pos']){ + case 'before': + $k = $i; + break; + case 'after': + $k=$i+1; + break; + default: + $k=-1; + break; + } + if ($k>=0){ + for ($j=count($o['info']['pages'])-1;$j>=$k;$j--){ + $o['info']['pages'][$j+1]=$o['info']['pages'][$j]; + } + $o['info']['pages'][$k]=$options['id']; + } + } + } + } + break; + case 'procset': + $o['info']['procset']=$options; + break; + case 'mediaBox': + $o['info']['mediaBox']=$options; // which should be an array of 4 numbers + break; + case 'font': + $o['info']['fonts'][]=array('objNum'=>$options['objNum'],'fontNum'=>$options['fontNum']); + break; + case 'xObject': + $o['info']['xObjects'][]=array('objNum'=>$options['objNum'],'label'=>$options['label']); + break; + case 'out': + if (count($o['info']['pages'])){ + $res="\n".$id." 0 obj\n<< /Type /Pages\n/Kids ["; + foreach($o['info']['pages'] as $k=>$v){ + $res.=$v." 0 R\n"; + } + $res.="]\n/Count ".count($this->objects[$id]['info']['pages']); + if ((isset($o['info']['fonts']) && count($o['info']['fonts'])) || isset($o['info']['procset'])){ + $res.="\n/Resources <<"; + if (isset($o['info']['procset'])){ + $res.="\n/ProcSet ".$o['info']['procset']." 0 R"; + } + if (isset($o['info']['fonts']) && count($o['info']['fonts'])){ + $res.="\n/Font << "; + foreach($o['info']['fonts'] as $finfo){ + $res.="\n/F".$finfo['fontNum']." ".$finfo['objNum']." 0 R"; + } + $res.=" >>"; + } + if (isset($o['info']['xObjects']) && count($o['info']['xObjects'])){ + $res.="\n/XObject << "; + foreach($o['info']['xObjects'] as $finfo){ + $res.="\n/".$finfo['label']." ".$finfo['objNum']." 0 R"; + } + $res.=" >>"; + } + $res.="\n>>"; + if (isset($o['info']['mediaBox'])){ + $tmp=$o['info']['mediaBox']; + $res.="\n/MediaBox [".sprintf('%.3f',$tmp[0]).' '.sprintf('%.3f',$tmp[1]).' '.sprintf('%.3f',$tmp[2]).' '.sprintf('%.3f',$tmp[3]).']'; + } + } + $res.="\n >>\nendobj"; + } else { + $res="\n".$id." 0 obj\n<< /Type /Pages\n/Count 0\n>>\nendobj"; + } + return $res; + break; + } +} + +/** +* define the outlines in the doc, empty for now +*/ +function o_outlines($id,$action,$options=''){ + if ($action!='new'){ + $o =& $this->objects[$id]; + } + switch ($action){ + case 'new': + $this->objects[$id]=array('t'=>'outlines','info'=>array('outlines'=>array())); + $this->o_catalog($this->catalogId,'outlines',$id); + break; + case 'outline': + $o['info']['outlines'][]=$options; + break; + case 'out': + if (count($o['info']['outlines'])){ + $res="\n".$id." 0 obj\n<< /Type /Outlines /Kids ["; + foreach($o['info']['outlines'] as $k=>$v){ + $res.=$v." 0 R "; + } + $res.="] /Count ".count($o['info']['outlines'])." >>\nendobj"; + } else { + $res="\n".$id." 0 obj\n<< /Type /Outlines /Count 0 >>\nendobj"; + } + return $res; + break; + } +} + +/** +* an object to hold the font description +*/ +function o_font($id,$action,$options=''){ + if ($action!='new'){ + $o =& $this->objects[$id]; + } + switch ($action){ + case 'new': + $this->objects[$id]=array('t'=>'font','info'=>array('name'=>$options['name'],'SubType'=>'Type1')); + $fontNum=$this->numFonts; + $this->objects[$id]['info']['fontNum']=$fontNum; + // deal with the encoding and the differences + if (isset($options['differences'])){ + // then we'll need an encoding dictionary + $this->numObj++; + $this->o_fontEncoding($this->numObj,'new',$options); + $this->objects[$id]['info']['encodingDictionary']=$this->numObj; + } else if (isset($options['encoding'])){ + // we can specify encoding here + switch($options['encoding']){ + case 'WinAnsiEncoding': + case 'MacRomanEncoding': + case 'MacExpertEncoding': + $this->objects[$id]['info']['encoding']=$options['encoding']; + break; + case 'none': + break; + default: + $this->objects[$id]['info']['encoding']='WinAnsiEncoding'; + break; + } + } else { + $this->objects[$id]['info']['encoding']='WinAnsiEncoding'; + } + // also tell the pages node about the new font + $this->o_pages($this->currentNode,'font',array('fontNum'=>$fontNum,'objNum'=>$id)); + break; + case 'add': + foreach ($options as $k=>$v){ + switch ($k){ + case 'BaseFont': + $o['info']['name'] = $v; + break; + case 'FirstChar': + case 'LastChar': + case 'Widths': + case 'FontDescriptor': + case 'SubType': + $this->addMessage('o_font '.$k." : ".$v); + $o['info'][$k] = $v; + break; + } + } + break; + case 'out': + $res="\n".$id." 0 obj\n<< /Type /Font\n/Subtype /".$o['info']['SubType']."\n"; + $res.="/Name /F".$o['info']['fontNum']."\n"; + $res.="/BaseFont /".$o['info']['name']."\n"; + if (isset($o['info']['encodingDictionary'])){ + // then place a reference to the dictionary + $res.="/Encoding ".$o['info']['encodingDictionary']." 0 R\n"; + } else if (isset($o['info']['encoding'])){ + // use the specified encoding + $res.="/Encoding /".$o['info']['encoding']."\n"; + } + if (isset($o['info']['FirstChar'])){ + $res.="/FirstChar ".$o['info']['FirstChar']."\n"; + } + if (isset($o['info']['LastChar'])){ + $res.="/LastChar ".$o['info']['LastChar']."\n"; + } + if (isset($o['info']['Widths'])){ + $res.="/Widths ".$o['info']['Widths']." 0 R\n"; + } + if (isset($o['info']['FontDescriptor'])){ + $res.="/FontDescriptor ".$o['info']['FontDescriptor']." 0 R\n"; + } + $res.=">>\nendobj"; + return $res; + break; + } +} + +/** +* a font descriptor, needed for including additional fonts +*/ +function o_fontDescriptor($id,$action,$options=''){ + if ($action!='new'){ + $o =& $this->objects[$id]; + } + switch ($action){ + case 'new': + $this->objects[$id]=array('t'=>'fontDescriptor','info'=>$options); + break; + case 'out': + $res="\n".$id." 0 obj\n<< /Type /FontDescriptor\n"; + foreach ($o['info'] as $label => $value){ + switch ($label){ + case 'Ascent': + case 'CapHeight': + case 'Descent': + case 'Flags': + case 'ItalicAngle': + case 'StemV': + case 'AvgWidth': + case 'Leading': + case 'MaxWidth': + case 'MissingWidth': + case 'StemH': + case 'XHeight': + case 'CharSet': + if (strlen($value)){ + $res.='/'.$label.' '.$value."\n"; + } + break; + case 'FontFile': + case 'FontFile2': + case 'FontFile3': + $res.='/'.$label.' '.$value." 0 R\n"; + break; + case 'FontBBox': + $res.='/'.$label.' ['.$value[0].' '.$value[1].' '.$value[2].' '.$value[3]."]\n"; + break; + case 'FontName': + $res.='/'.$label.' /'.$value."\n"; + break; + } + } + $res.=">>\nendobj"; + return $res; + break; + } +} + +/** +* the font encoding +*/ +function o_fontEncoding($id,$action,$options=''){ + if ($action!='new'){ + $o =& $this->objects[$id]; + } + switch ($action){ + case 'new': + // the options array should contain 'differences' and maybe 'encoding' + $this->objects[$id]=array('t'=>'fontEncoding','info'=>$options); + break; + case 'out': + $res="\n".$id." 0 obj\n<< /Type /Encoding\n"; + if (!isset($o['info']['encoding'])){ + $o['info']['encoding']='WinAnsiEncoding'; + } + if ($o['info']['encoding']!='none'){ + $res.="/BaseEncoding /".$o['info']['encoding']."\n"; + } + $res.="/Differences \n["; + $onum=-100; + foreach($o['info']['differences'] as $num=>$label){ + if ($num!=$onum+1){ + // we cannot make use of consecutive numbering + $res.= "\n".$num." /".$label; + } else { + $res.= " /".$label; + } + $onum=$num; + } + $res.="\n]\n>>\nendobj"; + return $res; + break; + } +} + +/** +* the document procset, solves some problems with printing to old PS printers +*/ +function o_procset($id,$action,$options=''){ + if ($action!='new'){ + $o =& $this->objects[$id]; + } + switch ($action){ + case 'new': + $this->objects[$id]=array('t'=>'procset','info'=>array('PDF'=>1,'Text'=>1)); + $this->o_pages($this->currentNode,'procset',$id); + $this->procsetObjectId=$id; + break; + case 'add': + // this is to add new items to the procset list, despite the fact that this is considered + // obselete, the items are required for printing to some postscript printers + switch ($options) { + case 'ImageB': + case 'ImageC': + case 'ImageI': + $o['info'][$options]=1; + break; + } + break; + case 'out': + $res="\n".$id." 0 obj\n["; + foreach ($o['info'] as $label=>$val){ + $res.='/'.$label.' '; + } + $res.="]\nendobj"; + return $res; + break; + } +} + +/** +* define the document information +*/ +function o_info($id,$action,$options=''){ + if ($action!='new'){ + $o =& $this->objects[$id]; + } + switch ($action){ + case 'new': + $this->infoObject=$id; + $date='D:'.date('Ymd'); + $this->objects[$id]=array('t'=>'info','info'=>array('Creator'=>'R and OS php pdf writer, http://www.ros.co.nz','CreationDate'=>$date)); + break; + case 'Title': + case 'Author': + case 'Subject': + case 'Keywords': + case 'Creator': + case 'Producer': + case 'CreationDate': + case 'ModDate': + case 'Trapped': + $o['info'][$action]=$options; + break; + case 'out': + if ($this->encrypted){ + $this->encryptInit($id); + } + $res="\n".$id." 0 obj\n<<\n"; + foreach ($o['info'] as $k=>$v){ + $res.='/'.$k.' ('; + if ($this->encrypted){ + $res.=$this->filterText($this->ARC4($v)); + } else { + $res.=$this->filterText($v); + } + $res.=")\n"; + } + $res.=">>\nendobj"; + return $res; + break; + } +} + +/** +* an action object, used to link to URLS initially +*/ +function o_action($id,$action,$options=''){ + if ($action!='new'){ + $o =& $this->objects[$id]; + } + switch ($action){ + case 'new': + if (is_array($options)){ + $this->objects[$id]=array('t'=>'action','info'=>$options,'type'=>$options['type']); + } else { + // then assume a URI action + $this->objects[$id]=array('t'=>'action','info'=>$options,'type'=>'URI'); + } + break; + case 'out': + if ($this->encrypted){ + $this->encryptInit($id); + } + $res="\n".$id." 0 obj\n<< /Type /Action"; + switch($o['type']){ + case 'ilink': + // there will be an 'label' setting, this is the name of the destination + $res.="\n/S /GoTo\n/D ".$this->destinations[(string)$o['info']['label']]." 0 R"; + break; + case 'URI': + $res.="\n/S /URI\n/URI ("; + if ($this->encrypted){ + $res.=$this->filterText($this->ARC4($o['info'])); + } else { + $res.=$this->filterText($o['info']); + } + $res.=")"; + break; + } + $res.="\n>>\nendobj"; + return $res; + break; + } +} + +/** +* an annotation object, this will add an annotation to the current page. +* initially will support just link annotations +*/ +function o_annotation($id,$action,$options=''){ + if ($action!='new'){ + $o =& $this->objects[$id]; + } + switch ($action){ + case 'new': + // add the annotation to the current page + $pageId = $this->currentPage; + $this->o_page($pageId,'annot',$id); + // and add the action object which is going to be required + switch($options['type']){ + case 'link': + $this->objects[$id]=array('t'=>'annotation','info'=>$options); + $this->numObj++; + $this->o_action($this->numObj,'new',$options['url']); + $this->objects[$id]['info']['actionId']=$this->numObj; + break; + case 'ilink': + // this is to a named internal link + $label = $options['label']; + $this->objects[$id]=array('t'=>'annotation','info'=>$options); + $this->numObj++; + $this->o_action($this->numObj,'new',array('type'=>'ilink','label'=>$label)); + $this->objects[$id]['info']['actionId']=$this->numObj; + break; + } + break; + case 'out': + $res="\n".$id." 0 obj\n<< /Type /Annot"; + switch($o['info']['type']){ + case 'link': + case 'ilink': + $res.= "\n/Subtype /Link"; + break; + } + $res.="\n/A ".$o['info']['actionId']." 0 R"; + $res.="\n/Border [0 0 0]"; + $res.="\n/H /I"; + $res.="\n/Rect [ "; + foreach($o['info']['rect'] as $v){ + $res.= sprintf("%.4f ",$v); + } + $res.="]"; + $res.="\n>>\nendobj"; + return $res; + break; + } +} + +/** +* a page object, it also creates a contents object to hold its contents +*/ +function o_page($id,$action,$options=''){ + if ($action!='new'){ + $o =& $this->objects[$id]; + } + switch ($action){ + case 'new': + $this->numPages++; + $this->objects[$id]=array('t'=>'page','info'=>array('parent'=>$this->currentNode,'pageNum'=>$this->numPages)); + if (is_array($options)){ + // then this must be a page insertion, array shoudl contain 'rid','pos'=[before|after] + $options['id']=$id; + $this->o_pages($this->currentNode,'page',$options); + } else { + $this->o_pages($this->currentNode,'page',$id); + } + $this->currentPage=$id; + //make a contents object to go with this page + $this->numObj++; + $this->o_contents($this->numObj,'new',$id); + $this->currentContents=$this->numObj; + $this->objects[$id]['info']['contents']=array(); + $this->objects[$id]['info']['contents'][]=$this->numObj; + $match = ($this->numPages%2 ? 'odd' : 'even'); + foreach($this->addLooseObjects as $oId=>$target){ + if ($target=='all' || $match==$target){ + $this->objects[$id]['info']['contents'][]=$oId; + } + } + break; + case 'content': + $o['info']['contents'][]=$options; + break; + case 'annot': + // add an annotation to this page + if (!isset($o['info']['annot'])){ + $o['info']['annot']=array(); + } + // $options should contain the id of the annotation dictionary + $o['info']['annot'][]=$options; + break; + case 'out': + $res="\n".$id." 0 obj\n<< /Type /Page"; + $res.="\n/Parent ".$o['info']['parent']." 0 R"; + if (isset($o['info']['annot'])){ + $res.="\n/Annots ["; + foreach($o['info']['annot'] as $aId){ + $res.=" ".$aId." 0 R"; + } + $res.=" ]"; + } + $count = count($o['info']['contents']); + if ($count==1){ + $res.="\n/Contents ".$o['info']['contents'][0]." 0 R"; + } else if ($count>1){ + $res.="\n/Contents [\n"; + foreach ($o['info']['contents'] as $cId){ + $res.=$cId." 0 R\n"; + } + $res.="]"; + } + $res.="\n>>\nendobj"; + return $res; + break; + } +} + +/** +* the contents objects hold all of the content which appears on pages +*/ +function o_contents($id,$action,$options=''){ + if ($action!='new'){ + $o =& $this->objects[$id]; + } + switch ($action){ + case 'new': + $this->objects[$id]=array('t'=>'contents','c'=>'','info'=>array()); + if (strlen($options) && intval($options)){ + // then this contents is the primary for a page + $this->objects[$id]['onPage']=$options; + } else if ($options=='raw'){ + // then this page contains some other type of system object + $this->objects[$id]['raw']=1; + } + break; + case 'add': + // add more options to the decleration + foreach ($options as $k=>$v){ + $o['info'][$k]=$v; + } + case 'out': + $tmp=$o['c']; + $res= "\n".$id." 0 obj\n"; + if (isset($this->objects[$id]['raw'])){ + $res.=$tmp; + } else { + $res.= "<<"; + if (function_exists('gzcompress') && $this->options['compression']){ + // then implement ZLIB based compression on this content stream + $res.=" /Filter /FlateDecode"; + $tmp = gzcompress($tmp); + } + if ($this->encrypted){ + $this->encryptInit($id); + $tmp = $this->ARC4($tmp); + } + foreach($o['info'] as $k=>$v){ + $res .= "\n/".$k.' '.$v; + } + $res.="\n/Length ".strlen($tmp)." >>\nstream\n".$tmp."\nendstream"; + } + $res.="\nendobj\n"; + return $res; + break; + } +} + +/** +* an image object, will be an XObject in the document, includes description and data +*/ +function o_image($id,$action,$options=''){ + if ($action!='new'){ + $o =& $this->objects[$id]; + } + switch($action){ + case 'new': + // make the new object + $this->objects[$id]=array('t'=>'image','data'=>$options['data'],'info'=>array()); + $this->objects[$id]['info']['Type']='/XObject'; + $this->objects[$id]['info']['Subtype']='/Image'; + $this->objects[$id]['info']['Width']=$options['iw']; + $this->objects[$id]['info']['Height']=$options['ih']; + if (!isset($options['type']) || $options['type']=='jpg'){ + if (!isset($options['channels'])){ + $options['channels']=3; + } + switch($options['channels']){ + case 1: + $this->objects[$id]['info']['ColorSpace']='/DeviceGray'; + break; + default: + $this->objects[$id]['info']['ColorSpace']='/DeviceRGB'; + break; + } + $this->objects[$id]['info']['Filter']='/DCTDecode'; + $this->objects[$id]['info']['BitsPerComponent']=8; + } else if ($options['type']=='png'){ + $this->objects[$id]['info']['Filter']='/FlateDecode'; + $this->objects[$id]['info']['DecodeParms']='<< /Predictor 15 /Colors '.$options['ncolor'].' /Columns '.$options['iw'].' /BitsPerComponent '.$options['bitsPerComponent'].'>>'; + if (strlen($options['pdata'])){ + $tmp = ' [ /Indexed /DeviceRGB '.(strlen($options['pdata'])/3-1).' '; + $this->numObj++; + $this->o_contents($this->numObj,'new'); + $this->objects[$this->numObj]['c']=$options['pdata']; + $tmp.=$this->numObj.' 0 R'; + $tmp .=' ]'; + $this->objects[$id]['info']['ColorSpace'] = $tmp; + if (isset($options['transparency'])){ + switch($options['transparency']['type']){ + case 'indexed': + $tmp=' [ '.$options['transparency']['data'].' '.$options['transparency']['data'].'] '; + $this->objects[$id]['info']['Mask'] = $tmp; + break; + } + } + } else { + $this->objects[$id]['info']['ColorSpace']='/'.$options['color']; + } + $this->objects[$id]['info']['BitsPerComponent']=$options['bitsPerComponent']; + } + // assign it a place in the named resource dictionary as an external object, according to + // the label passed in with it. + $this->o_pages($this->currentNode,'xObject',array('label'=>$options['label'],'objNum'=>$id)); + // also make sure that we have the right procset object for it. + $this->o_procset($this->procsetObjectId,'add','ImageC'); + break; + case 'out': + $tmp=$o['data']; + $res= "\n".$id." 0 obj\n<<"; + foreach($o['info'] as $k=>$v){ + $res.="\n/".$k.' '.$v; + } + if ($this->encrypted){ + $this->encryptInit($id); + $tmp = $this->ARC4($tmp); + } + $res.="\n/Length ".strlen($tmp)." >>\nstream\n".$tmp."\nendstream\nendobj\n"; + return $res; + break; + } +} + +/** +* encryption object. +*/ +function o_encryption($id,$action,$options=''){ + if ($action!='new'){ + $o =& $this->objects[$id]; + } + switch($action){ + case 'new': + // make the new object + $this->objects[$id]=array('t'=>'encryption','info'=>$options); + $this->arc4_objnum=$id; + // figure out the additional paramaters required + $pad = chr(0x28).chr(0xBF).chr(0x4E).chr(0x5E).chr(0x4E).chr(0x75).chr(0x8A).chr(0x41).chr(0x64).chr(0x00).chr(0x4E).chr(0x56).chr(0xFF).chr(0xFA).chr(0x01).chr(0x08).chr(0x2E).chr(0x2E).chr(0x00).chr(0xB6).chr(0xD0).chr(0x68).chr(0x3E).chr(0x80).chr(0x2F).chr(0x0C).chr(0xA9).chr(0xFE).chr(0x64).chr(0x53).chr(0x69).chr(0x7A); + $len = strlen($options['owner']); + if ($len>32){ + $owner = substr($options['owner'],0,32); + } else if ($len<32){ + $owner = $options['owner'].substr($pad,0,32-$len); + } else { + $owner = $options['owner']; + } + $len = strlen($options['user']); + if ($len>32){ + $user = substr($options['user'],0,32); + } else if ($len<32){ + $user = $options['user'].substr($pad,0,32-$len); + } else { + $user = $options['user']; + } + $tmp = $this->md5_16($owner); + $okey = substr($tmp,0,5); + $this->ARC4_init($okey); + $ovalue=$this->ARC4($user); + $this->objects[$id]['info']['O']=$ovalue; + // now make the u value, phew. + $tmp = $this->md5_16($user.$ovalue.chr($options['p']).chr(255).chr(255).chr(255).$this->fileIdentifier); + $ukey = substr($tmp,0,5); + + $this->ARC4_init($ukey); + $this->encryptionKey = $ukey; + $this->encrypted=1; + $uvalue=$this->ARC4($pad); + + $this->objects[$id]['info']['U']=$uvalue; + $this->encryptionKey=$ukey; + + // initialize the arc4 array + break; + case 'out': + $res= "\n".$id." 0 obj\n<<"; + $res.="\n/Filter /Standard"; + $res.="\n/V 1"; + $res.="\n/R 2"; + $res.="\n/O (".$this->filterText($o['info']['O']).')'; + $res.="\n/U (".$this->filterText($o['info']['U']).')'; + // and the p-value needs to be converted to account for the twos-complement approach + $o['info']['p'] = (($o['info']['p']^255)+1)*-1; + $res.="\n/P ".($o['info']['p']); + $res.="\n>>\nendobj\n"; + + return $res; + break; + } +} + +/** +* ARC4 functions +* A series of function to implement ARC4 encoding in PHP +*/ + +/** +* calculate the 16 byte version of the 128 bit md5 digest of the string +*/ +function md5_16($string){ + $tmp = md5($string); + $out=''; + for ($i=0;$i<=30;$i=$i+2){ + $out.=chr(hexdec(substr($tmp,$i,2))); + } + return $out; +} + +/** +* initialize the encryption for processing a particular object +*/ +function encryptInit($id){ + $tmp = $this->encryptionKey; + $hex = dechex($id); + if (strlen($hex)<6){ + $hex = substr('000000',0,6-strlen($hex)).$hex; + } + $tmp.= chr(hexdec(substr($hex,4,2))).chr(hexdec(substr($hex,2,2))).chr(hexdec(substr($hex,0,2))).chr(0).chr(0); + $key = $this->md5_16($tmp); + $this->ARC4_init(substr($key,0,10)); +} + +/** +* initialize the ARC4 encryption +*/ +function ARC4_init($key=''){ + $this->arc4 = ''; + // setup the control array + if (strlen($key)==0){ + return; + } + $k = ''; + while(strlen($k)<256){ + $k.=$key; + } + $k=substr($k,0,256); + for ($i=0;$i<256;$i++){ + $this->arc4 .= chr($i); + } + $j=0; + for ($i=0;$i<256;$i++){ + $t = $this->arc4[$i]; + $j = ($j + ord($t) + ord($k[$i]))%256; + $this->arc4[$i]=$this->arc4[$j]; + $this->arc4[$j]=$t; + } +} + +/** +* ARC4 encrypt a text string +*/ +function ARC4($text){ + $len=strlen($text); + $a=0; + $b=0; + $c = $this->arc4; + $out=''; + for ($i=0;$i<$len;$i++){ + $a = ($a+1)%256; + $t= $c[$a]; + $b = ($b+ord($t))%256; + $c[$a]=$c[$b]; + $c[$b]=$t; + $k = ord($c[(ord($c[$a])+ord($c[$b]))%256]); + $out.=chr(ord($text[$i]) ^ $k); + } + + return $out; +} + +/** +* functions which can be called to adjust or add to the document +*/ + +/** +* add a link in the document to an external URL +*/ +function addLink($url,$x0,$y0,$x1,$y1){ + $this->numObj++; + $info = array('type'=>'link','url'=>$url,'rect'=>array($x0,$y0,$x1,$y1)); + $this->o_annotation($this->numObj,'new',$info); +} + +/** +* add a link in the document to an internal destination (ie. within the document) +*/ +function addInternalLink($label,$x0,$y0,$x1,$y1){ + $this->numObj++; + $info = array('type'=>'ilink','label'=>$label,'rect'=>array($x0,$y0,$x1,$y1)); + $this->o_annotation($this->numObj,'new',$info); +} + +/** +* set the encryption of the document +* can be used to turn it on and/or set the passwords which it will have. +* also the functions that the user will have are set here, such as print, modify, add +*/ +function setEncryption($userPass='',$ownerPass='',$pc=array()){ + $p=bindec(11000000); + + $options = array( + 'print'=>4 + ,'modify'=>8 + ,'copy'=>16 + ,'add'=>32 + ); + foreach($pc as $k=>$v){ + if ($v && isset($options[$k])){ + $p+=$options[$k]; + } else if (isset($options[$v])){ + $p+=$options[$v]; + } + } + // implement encryption on the document + if ($this->arc4_objnum == 0){ + // then the block does not exist already, add it. + $this->numObj++; + if (strlen($ownerPass)==0){ + $ownerPass=$userPass; + } + $this->o_encryption($this->numObj,'new',array('user'=>$userPass,'owner'=>$ownerPass,'p'=>$p)); + } +} + +/** +* should be used for internal checks, not implemented as yet +*/ +function checkAllHere(){ +} + +/** +* return the pdf stream as a string returned from the function +*/ +function output($debug=0){ + + if ($debug){ + // turn compression off + $this->options['compression']=0; + } + + if ($this->arc4_objnum){ + $this->ARC4_init($this->encryptionKey); + } + + $this->checkAllHere(); + + $xref=array(); + $content="%PDF-1.3\n%âãÏÓ\n"; +// $content="%PDF-1.3\n"; + $pos=strlen($content); + foreach($this->objects as $k=>$v){ + $tmp='o_'.$v['t']; + $cont=$this->$tmp($k,'out'); + $content.=$cont; + $xref[]=$pos; + $pos+=strlen($cont); + } + $content.="\nxref\n0 ".(count($xref)+1)."\n0000000000 65535 f \n"; + foreach($xref as $p){ + $content.=substr('0000000000',0,10-strlen($p)).$p." 00000 n \n"; + } + $content.="\ntrailer\n << /Size ".(count($xref)+1)."\n /Root 1 0 R\n /Info ".$this->infoObject." 0 R\n"; + // if encryption has been applied to this document then add the marker for this dictionary + if ($this->arc4_objnum > 0){ + $content .= "/Encrypt ".$this->arc4_objnum." 0 R\n"; + } + if (strlen($this->fileIdentifier)){ + $content .= "/ID[<".$this->fileIdentifier."><".$this->fileIdentifier.">]\n"; + } + $content .= " >>\nstartxref\n".$pos."\n%%EOF\n"; + return $content; +} + +/** +* intialize a new document +* if this is called on an existing document results may be unpredictable, but the existing document would be lost at minimum +* this function is called automatically by the constructor function +* +* @access private +*/ +function newDocument($pageSize=array(0,0,612,792)){ + $this->numObj=0; + $this->objects = array(); + + $this->numObj++; + $this->o_catalog($this->numObj,'new'); + + $this->numObj++; + $this->o_outlines($this->numObj,'new'); + + $this->numObj++; + $this->o_pages($this->numObj,'new'); + + $this->o_pages($this->numObj,'mediaBox',$pageSize); + $this->currentNode = 3; + + $this->numObj++; + $this->o_procset($this->numObj,'new'); + + $this->numObj++; + $this->o_info($this->numObj,'new'); + + $this->numObj++; + $this->o_page($this->numObj,'new'); + + // need to store the first page id as there is no way to get it to the user during + // startup + $this->firstPageId = $this->currentContents; +} + +/** +* open the font file and return a php structure containing it. +* first check if this one has been done before and saved in a form more suited to php +* note that if a php serialized version does not exist it will try and make one, but will +* require write access to the directory to do it... it is MUCH faster to have these serialized +* files. +* +* @access private +*/ +function openFont($font){ + // assume that $font contains both the path and perhaps the extension to the file, split them + $pos=strrpos($font,'/'); + if ($pos===false){ + $dir = './'; + $name = $font; + } else { + $dir=substr($font,0,$pos+1); + $name=substr($font,$pos+1); + } + + if (substr($name,-4)=='.afm'){ + $name=substr($name,0,strlen($name)-4); + } + $this->addMessage('openFont: '.$font.' - '.$name); + if (file_exists($dir.'php_'.$name.'.afm')){ + $this->addMessage('openFont: php file exists '.$dir.'php_'.$name.'.afm'); + $tmp = file($dir.'php_'.$name.'.afm'); + $this->fonts[$font]=unserialize($tmp[0]); + if (!isset($this->fonts[$font]['_version_']) || $this->fonts[$font]['_version_']<1){ + // if the font file is old, then clear it out and prepare for re-creation + $this->addMessage('openFont: clear out, make way for new version.'); + unset($this->fonts[$font]); + } + } + if (!isset($this->fonts[$font]) && file_exists($dir.$name.'.afm')){ + // then rebuild the php_<font>.afm file from the <font>.afm file + $this->addMessage('openFont: build php file from '.$dir.$name.'.afm'); + $data = array(); + $file = file($dir.$name.'.afm'); + foreach ($file as $rowA){ + $row=trim($rowA); + $pos=strpos($row,' '); + if ($pos){ + // then there must be some keyword + $key = substr($row,0,$pos); + switch ($key){ + case 'FontName': + case 'FullName': + case 'FamilyName': + case 'Weight': + case 'ItalicAngle': + case 'IsFixedPitch': + case 'CharacterSet': + case 'UnderlinePosition': + case 'UnderlineThickness': + case 'Version': + case 'EncodingScheme': + case 'CapHeight': + case 'XHeight': + case 'Ascender': + case 'Descender': + case 'StdHW': + case 'StdVW': + case 'StartCharMetrics': + $data[$key]=trim(substr($row,$pos)); + break; + case 'FontBBox': + $data[$key]=explode(' ',trim(substr($row,$pos))); + break; + case 'C': + //C 39 ; WX 222 ; N quoteright ; B 53 463 157 718 ; + $bits=explode(';',trim($row)); + $dtmp=array(); + foreach($bits as $bit){ + $bits2 = explode(' ',trim($bit)); + if (strlen($bits2[0])){ + if (count($bits2)>2){ + $dtmp[$bits2[0]]=array(); + for ($i=1;$i<count($bits2);$i++){ + $dtmp[$bits2[0]][]=$bits2[$i]; + } + } else if (count($bits2)==2){ + $dtmp[$bits2[0]]=$bits2[1]; + } + } + } + if ($dtmp['C']>=0){ + $data['C'][$dtmp['C']]=$dtmp; + $data['C'][$dtmp['N']]=$dtmp; + } else { + $data['C'][$dtmp['N']]=$dtmp; + } + break; + case 'KPX': + //KPX Adieresis yacute -40 + $bits=explode(' ',trim($row)); + $data['KPX'][$bits[1]][$bits[2]]=$bits[3]; + break; + } + } + } + $data['_version_']=1; + $this->fonts[$font]=$data; + $fp = fopen($dir.'php_'.$name.'.afm','w'); + fwrite($fp,serialize($data)); + fclose($fp); + } else if (!isset($this->fonts[$font])){ + $this->addMessage('openFont: no font file found'); +// echo 'Font not Found '.$font; + } +} + +/** +* if the font is not loaded then load it and make the required object +* else just make it the current font +* the encoding array can contain 'encoding'=> 'none','WinAnsiEncoding','MacRomanEncoding' or 'MacExpertEncoding' +* note that encoding='none' will need to be used for symbolic fonts +* and 'differences' => an array of mappings between numbers 0->255 and character names. +* +*/ +function selectFont($fontName,$encoding='',$set=1){ + if (!isset($this->fonts[$fontName])){ + // load the file + $this->openFont($fontName); + if (isset($this->fonts[$fontName])){ + $this->numObj++; + $this->numFonts++; + $pos=strrpos($fontName,'/'); +// $dir=substr($fontName,0,$pos+1); + $name=substr($fontName,$pos+1); + if (substr($name,-4)=='.afm'){ + $name=substr($name,0,strlen($name)-4); + } + $options=array('name'=>$name); + if (is_array($encoding)){ + // then encoding and differences might be set + if (isset($encoding['encoding'])){ + $options['encoding']=$encoding['encoding']; + } + if (isset($encoding['differences'])){ + $options['differences']=$encoding['differences']; + } + } else if (strlen($encoding)){ + // then perhaps only the encoding has been set + $options['encoding']=$encoding; + } + $fontObj = $this->numObj; + $this->o_font($this->numObj,'new',$options); + $this->fonts[$fontName]['fontNum']=$this->numFonts; + // if this is a '.afm' font, and there is a '.pfa' file to go with it ( as there + // should be for all non-basic fonts), then load it into an object and put the + // references into the font object + $basefile = substr($fontName,0,strlen($fontName)-4); + if (file_exists($basefile.'.pfb')){ + $fbtype = 'pfb'; + } else if (file_exists($basefile.'.ttf')){ + $fbtype = 'ttf'; + } else { + $fbtype=''; + } + $fbfile = $basefile.'.'.$fbtype; + +// $pfbfile = substr($fontName,0,strlen($fontName)-4).'.pfb'; +// $ttffile = substr($fontName,0,strlen($fontName)-4).'.ttf'; + $this->addMessage('selectFont: checking for - '.$fbfile); + if (substr($fontName,-4)=='.afm' && strlen($fbtype) ){ + $adobeFontName = $this->fonts[$fontName]['FontName']; +// $fontObj = $this->numObj; + $this->addMessage('selectFont: adding font file - '.$fbfile.' - '.$adobeFontName); + // find the array of fond widths, and put that into an object. + $firstChar = -1; + $lastChar = 0; + $widths = array(); + foreach ($this->fonts[$fontName]['C'] as $num=>$d){ + if (intval($num)>0 || $num=='0'){ + if ($lastChar>0 && $num>$lastChar+1){ + for($i=$lastChar+1;$i<$num;$i++){ + $widths[] = 0; + } + } + $widths[] = $d['WX']; + if ($firstChar==-1){ + $firstChar = $num; + } + $lastChar = $num; + } + } + // also need to adjust the widths for the differences array + if (isset($options['differences'])){ + foreach($options['differences'] as $charNum=>$charName){ + if ($charNum>$lastChar){ + for($i=$lastChar+1;$i<=$charNum;$i++){ + $widths[]=0; + } + $lastChar=$charNum; + } + if (isset($this->fonts[$fontName]['C'][$charName])){ + $widths[$charNum-$firstChar]=$this->fonts[$fontName]['C'][$charName]['WX']; + } + } + } + $this->addMessage('selectFont: FirstChar='.$firstChar); + $this->addMessage('selectFont: LastChar='.$lastChar); + $this->numObj++; + $this->o_contents($this->numObj,'new','raw'); + $this->objects[$this->numObj]['c'].='['; + foreach($widths as $width){ + $this->objects[$this->numObj]['c'].=' '.$width; + } + $this->objects[$this->numObj]['c'].=' ]'; + $widthid = $this->numObj; + + // load the pfb file, and put that into an object too. + // note that pdf supports only binary format type 1 font files, though there is a + // simple utility to convert them from pfa to pfb. + $fp = fopen($fbfile,'rb'); + $tmp = get_magic_quotes_runtime(); + set_magic_quotes_runtime(0); + $data = fread($fp,filesize($fbfile)); + set_magic_quotes_runtime($tmp); + fclose($fp); + + // create the font descriptor + $this->numObj++; + $fontDescriptorId = $this->numObj; + $this->numObj++; + $pfbid = $this->numObj; + // determine flags (more than a little flakey, hopefully will not matter much) + $flags=0; + if ($this->fonts[$fontName]['ItalicAngle']!=0){ $flags+=pow(2,6); } + if ($this->fonts[$fontName]['IsFixedPitch']=='true'){ $flags+=1; } + $flags+=pow(2,5); // assume non-sybolic + + $list = array('Ascent'=>'Ascender','CapHeight'=>'CapHeight','Descent'=>'Descender','FontBBox'=>'FontBBox','ItalicAngle'=>'ItalicAngle'); + $fdopt = array( + 'Flags'=>$flags + ,'FontName'=>$adobeFontName + ,'StemV'=>100 // don't know what the value for this should be! + ); + foreach($list as $k=>$v){ + if (isset($this->fonts[$fontName][$v])){ + $fdopt[$k]=$this->fonts[$fontName][$v]; + } + } + + if ($fbtype=='pfb'){ + $fdopt['FontFile']=$pfbid; + } else if ($fbtype=='ttf'){ + $fdopt['FontFile2']=$pfbid; + } + $this->o_fontDescriptor($fontDescriptorId,'new',$fdopt); + + // embed the font program + $this->o_contents($this->numObj,'new'); + $this->objects[$pfbid]['c'].=$data; + // determine the cruicial lengths within this file + if ($fbtype=='pfb'){ + $l1 = strpos($data,'eexec')+6; + $l2 = strpos($data,'00000000')-$l1; + $l3 = strlen($data)-$l2-$l1; + $this->o_contents($this->numObj,'add',array('Length1'=>$l1,'Length2'=>$l2,'Length3'=>$l3)); + } else if ($fbtype=='ttf'){ + $l1 = strlen($data); + $this->o_contents($this->numObj,'add',array('Length1'=>$l1)); + } + + + // tell the font object about all this new stuff + $tmp = array('BaseFont'=>$adobeFontName,'Widths'=>$widthid + ,'FirstChar'=>$firstChar,'LastChar'=>$lastChar + ,'FontDescriptor'=>$fontDescriptorId); + if ($fbtype=='ttf'){ + $tmp['SubType']='TrueType'; + } + $this->addMessage('adding extra info to font.('.$fontObj.')'); + foreach($tmp as $fk=>$fv){ + $this->addMessage($fk." : ".$fv); + } + $this->o_font($fontObj,'add',$tmp); + + } else { + $this->addMessage('selectFont: pfb or ttf file not found, ok if this is one of the 14 standard fonts'); + } + + + // also set the differences here, note that this means that these will take effect only the + //first time that a font is selected, else they are ignored + if (isset($options['differences'])){ + $this->fonts[$fontName]['differences']=$options['differences']; + } + } + } + if ($set && isset($this->fonts[$fontName])){ + // so if for some reason the font was not set in the last one then it will not be selected + $this->currentBaseFont=$fontName; + // the next line means that if a new font is selected, then the current text state will be + // applied to it as well. + $this->setCurrentFont(); + } + return $this->currentFontNum; +} + +/** +* sets up the current font, based on the font families, and the current text state +* note that this system is quite flexible, a <<b>><<i>> font can be completely different to a +* <<i>><<b>> font, and even <<b>><<b>> will have to be defined within the family to have meaning +* This function is to be called whenever the currentTextState is changed, it will update +* the currentFont setting to whatever the appropriatte family one is. +* If the user calls selectFont themselves then that will reset the currentBaseFont, and the currentFont +* This function will change the currentFont to whatever it should be, but will not change the +* currentBaseFont. +* +* @access private +*/ +function setCurrentFont(){ + if (strlen($this->currentBaseFont)==0){ + // then assume an initial font + $this->selectFont('./fonts/Helvetica.afm'); + } + $cf = substr($this->currentBaseFont,strrpos($this->currentBaseFont,'/')+1); + if (strlen($this->currentTextState) + && isset($this->fontFamilies[$cf]) + && isset($this->fontFamilies[$cf][$this->currentTextState])){ + // then we are in some state or another + // and this font has a family, and the current setting exists within it + // select the font, then return it + $nf = substr($this->currentBaseFont,0,strrpos($this->currentBaseFont,'/')+1).$this->fontFamilies[$cf][$this->currentTextState]; + $this->selectFont($nf,'',0); + $this->currentFont = $nf; + $this->currentFontNum = $this->fonts[$nf]['fontNum']; + } else { + // the this font must not have the right family member for the current state + // simply assume the base font + $this->currentFont = $this->currentBaseFont; + $this->currentFontNum = $this->fonts[$this->currentFont]['fontNum']; + } +} + +/** +* function for the user to find out what the ID is of the first page that was created during +* startup - useful if they wish to add something to it later. +*/ +function getFirstPageId(){ + return $this->firstPageId; +} + +/** +* add content to the currently active object +* +* @access private +*/ +function addContent($content){ + $this->objects[$this->currentContents]['c'].=$content; +} + +/** +* sets the colour for fill operations +*/ +function setColor($r,$g,$b,$force=0){ + if ($r>=0 && ($force || $r!=$this->currentColour['r'] || $g!=$this->currentColour['g'] || $b!=$this->currentColour['b'])){ + $this->objects[$this->currentContents]['c'].="\n".sprintf('%.3f',$r).' '.sprintf('%.3f',$g).' '.sprintf('%.3f',$b).' rg'; + $this->currentColour=array('r'=>$r,'g'=>$g,'b'=>$b); + } +} + +/** +* sets the colour for stroke operations +*/ +function setStrokeColor($r,$g,$b,$force=0){ + if ($r>=0 && ($force || $r!=$this->currentStrokeColour['r'] || $g!=$this->currentStrokeColour['g'] || $b!=$this->currentStrokeColour['b'])){ + $this->objects[$this->currentContents]['c'].="\n".sprintf('%.3f',$r).' '.sprintf('%.3f',$g).' '.sprintf('%.3f',$b).' RG'; + $this->currentStrokeColour=array('r'=>$r,'g'=>$g,'b'=>$b); + } +} + +/** +* draw a line from one set of coordinates to another +*/ +function line($x1,$y1,$x2,$y2){ + $this->objects[$this->currentContents]['c'].="\n".sprintf('%.3f',$x1).' '.sprintf('%.3f',$y1).' m '.sprintf('%.3f',$x2).' '.sprintf('%.3f',$y2).' l S'; +} + +/** +* draw a bezier curve based on 4 control points +*/ +function curve($x0,$y0,$x1,$y1,$x2,$y2,$x3,$y3){ + // in the current line style, draw a bezier curve from (x0,y0) to (x3,y3) using the other two points + // as the control points for the curve. + $this->objects[$this->currentContents]['c'].="\n".sprintf('%.3f',$x0).' '.sprintf('%.3f',$y0).' m '.sprintf('%.3f',$x1).' '.sprintf('%.3f',$y1); + $this->objects[$this->currentContents]['c'].= ' '.sprintf('%.3f',$x2).' '.sprintf('%.3f',$y2).' '.sprintf('%.3f',$x3).' '.sprintf('%.3f',$y3).' c S'; +} + +/** +* draw a part of an ellipse +*/ +function partEllipse($x0,$y0,$astart,$afinish,$r1,$r2=0,$angle=0,$nSeg=8){ + $this->ellipse($x0,$y0,$r1,$r2,$angle,$nSeg,$astart,$afinish,0); +} + +/** +* draw a filled ellipse +*/ +function filledEllipse($x0,$y0,$r1,$r2=0,$angle=0,$nSeg=8,$astart=0,$afinish=360){ + return $this->ellipse($x0,$y0,$r1,$r2=0,$angle,$nSeg,$astart,$afinish,1,1); +} + +/** +* draw an ellipse +* note that the part and filled ellipse are just special cases of this function +* +* draws an ellipse in the current line style +* centered at $x0,$y0, radii $r1,$r2 +* if $r2 is not set, then a circle is drawn +* nSeg is not allowed to be less than 2, as this will simply draw a line (and will even draw a +* pretty crappy shape at 2, as we are approximating with bezier curves. +*/ +function ellipse($x0,$y0,$r1,$r2=0,$angle=0,$nSeg=8,$astart=0,$afinish=360,$close=1,$fill=0){ + if ($r1==0){ + return; + } + if ($r2==0){ + $r2=$r1; + } + if ($nSeg<2){ + $nSeg=2; + } + + $astart = deg2rad((float)$astart); + $afinish = deg2rad((float)$afinish); + $totalAngle =$afinish-$astart; + + $dt = $totalAngle/$nSeg; + $dtm = $dt/3; + + if ($angle != 0){ + $a = -1*deg2rad((float)$angle); + $tmp = "\n q "; + $tmp .= sprintf('%.3f',cos($a)).' '.sprintf('%.3f',(-1.0*sin($a))).' '.sprintf('%.3f',sin($a)).' '.sprintf('%.3f',cos($a)).' '; + $tmp .= sprintf('%.3f',$x0).' '.sprintf('%.3f',$y0).' cm'; + $this->objects[$this->currentContents]['c'].= $tmp; + $x0=0; + $y0=0; + } + + $t1 = $astart; + $a0 = $x0+$r1*cos($t1); + $b0 = $y0+$r2*sin($t1); + $c0 = -$r1*sin($t1); + $d0 = $r2*cos($t1); + + $this->objects[$this->currentContents]['c'].="\n".sprintf('%.3f',$a0).' '.sprintf('%.3f',$b0).' m '; + for ($i=1;$i<=$nSeg;$i++){ + // draw this bit of the total curve + $t1 = $i*$dt+$astart; + $a1 = $x0+$r1*cos($t1); + $b1 = $y0+$r2*sin($t1); + $c1 = -$r1*sin($t1); + $d1 = $r2*cos($t1); + $this->objects[$this->currentContents]['c'].="\n".sprintf('%.3f',($a0+$c0*$dtm)).' '.sprintf('%.3f',($b0+$d0*$dtm)); + $this->objects[$this->currentContents]['c'].= ' '.sprintf('%.3f',($a1-$c1*$dtm)).' '.sprintf('%.3f',($b1-$d1*$dtm)).' '.sprintf('%.3f',$a1).' '.sprintf('%.3f',$b1).' c'; + $a0=$a1; + $b0=$b1; + $c0=$c1; + $d0=$d1; + } + if ($fill){ + $this->objects[$this->currentContents]['c'].=' f'; + } else { + if ($close){ + $this->objects[$this->currentContents]['c'].=' s'; // small 's' signifies closing the path as well + } else { + $this->objects[$this->currentContents]['c'].=' S'; + } + } + if ($angle !=0){ + $this->objects[$this->currentContents]['c'].=' Q'; + } +} + +/** +* this sets the line drawing style. +* width, is the thickness of the line in user units +* cap is the type of cap to put on the line, values can be 'butt','round','square' +* where the diffference between 'square' and 'butt' is that 'square' projects a flat end past the +* end of the line. +* join can be 'miter', 'round', 'bevel' +* dash is an array which sets the dash pattern, is a series of length values, which are the lengths of the +* on and off dashes. +* (2) represents 2 on, 2 off, 2 on , 2 off ... +* (2,1) is 2 on, 1 off, 2 on, 1 off.. etc +* phase is a modifier on the dash pattern which is used to shift the point at which the pattern starts. +*/ +function setLineStyle($width=1,$cap='',$join='',$dash='',$phase=0){ + + // this is quite inefficient in that it sets all the parameters whenever 1 is changed, but will fix another day + $string = ''; + if ($width>0){ + $string.= $width.' w'; + } + $ca = array('butt'=>0,'round'=>1,'square'=>2); + if (isset($ca[$cap])){ + $string.= ' '.$ca[$cap].' J'; + } + $ja = array('miter'=>0,'round'=>1,'bevel'=>2); + if (isset($ja[$join])){ + $string.= ' '.$ja[$join].' j'; + } + if (is_array($dash)){ + $string.= ' ['; + foreach ($dash as $len){ + $string.=' '.$len; + } + $string.= ' ] '.$phase.' d'; + } + $this->currentLineStyle = $string; + $this->objects[$this->currentContents]['c'].="\n".$string; +} + +/** +* draw a polygon, the syntax for this is similar to the GD polygon command +*/ +function polygon($p,$np,$f=0){ + $this->objects[$this->currentContents]['c'].="\n"; + $this->objects[$this->currentContents]['c'].=sprintf('%.3f',$p[0]).' '.sprintf('%.3f',$p[1]).' m '; + for ($i=2;$i<$np*2;$i=$i+2){ + $this->objects[$this->currentContents]['c'].= sprintf('%.3f',$p[$i]).' '.sprintf('%.3f',$p[$i+1]).' l '; + } + if ($f==1){ + $this->objects[$this->currentContents]['c'].=' f'; + } else { + $this->objects[$this->currentContents]['c'].=' S'; + } +} + +/** +* a filled rectangle, note that it is the width and height of the rectangle which are the secondary paramaters, not +* the coordinates of the upper-right corner +*/ +function filledRectangle($x1,$y1,$width,$height){ + $this->objects[$this->currentContents]['c'].="\n".sprintf('%.3f',$x1).' '.sprintf('%.3f',$y1).' '.sprintf('%.3f',$width).' '.sprintf('%.3f',$height).' re f'; +} + +/** +* draw a rectangle, note that it is the width and height of the rectangle which are the secondary paramaters, not +* the coordinates of the upper-right corner +*/ +function rectangle($x1,$y1,$width,$height){ + $this->objects[$this->currentContents]['c'].="\n".sprintf('%.3f',$x1).' '.sprintf('%.3f',$y1).' '.sprintf('%.3f',$width).' '.sprintf('%.3f',$height).' re S'; +} + +/** +* add a new page to the document +* this also makes the new page the current active object +*/ +function newPage($insert=0,$id=0,$pos='after'){ + + // if there is a state saved, then go up the stack closing them + // then on the new page, re-open them with the right setings + + if ($this->nStateStack){ + for ($i=$this->nStateStack;$i>=1;$i--){ + $this->restoreState($i); + } + } + + $this->numObj++; + if ($insert){ + // the id from the ezPdf class is the od of the contents of the page, not the page object itself + // query that object to find the parent + $rid = $this->objects[$id]['onPage']; + $opt= array('rid'=>$rid,'pos'=>$pos); + $this->o_page($this->numObj,'new',$opt); + } else { + $this->o_page($this->numObj,'new'); + } + // if there is a stack saved, then put that onto the page + if ($this->nStateStack){ + for ($i=1;$i<=$this->nStateStack;$i++){ + $this->saveState($i); + } + } + // and if there has been a stroke or fill colour set, then transfer them + if ($this->currentColour['r']>=0){ + $this->setColor($this->currentColour['r'],$this->currentColour['g'],$this->currentColour['b'],1); + } + if ($this->currentStrokeColour['r']>=0){ + $this->setStrokeColor($this->currentStrokeColour['r'],$this->currentStrokeColour['g'],$this->currentStrokeColour['b'],1); + } + + // if there is a line style set, then put this in too + if (strlen($this->currentLineStyle)){ + $this->objects[$this->currentContents]['c'].="\n".$this->currentLineStyle; + } + + // the call to the o_page object set currentContents to the present page, so this can be returned as the page id + return $this->currentContents; +} + +/** +* output the pdf code, streaming it to the browser +* the relevant headers are set so that hopefully the browser will recognise it +*/ +function stream($options=''){ + // setting the options allows the adjustment of the headers + // values at the moment are: + // 'Content-Disposition'=>'filename' - sets the filename, though not too sure how well this will + // work as in my trial the browser seems to use the filename of the php file with .pdf on the end + // 'Accept-Ranges'=>1 or 0 - if this is not set to 1, then this header is not included, off by default + // this header seems to have caused some problems despite tha fact that it is supposed to solve + // them, so I am leaving it off by default. + // 'compress'=> 1 or 0 - apply content stream compression, this is on (1) by default + if (!is_array($options)){ + $options=array(); + } + if ( isset($options['compress']) && $options['compress']==0){ + $tmp = $this->output(1); + } else { + $tmp = $this->output(); + } + header("Content-type: application/pdf"); + header("Content-Length: ".strlen(ltrim($tmp))); + $fileName = (isset($options['Content-Disposition'])?$options['Content-Disposition']:'file.pdf'); + header("Content-Disposition: inline; filename=".$fileName); + if (isset($options['Accept-Ranges']) && $options['Accept-Ranges']==1){ + header("Accept-Ranges: ".strlen(ltrim($tmp))); + } + echo ltrim($tmp); +} + +/** +* return the height in units of the current font in the given size +*/ +function getFontHeight($size){ + if (!$this->numFonts){ + $this->selectFont('./fonts/Helvetica'); + } + // for the current font, and the given size, what is the height of the font in user units + $h = $this->fonts[$this->currentFont]['FontBBox'][3]-$this->fonts[$this->currentFont]['FontBBox'][1]; + return $size*$h/1000; +} + +/** +* return the font decender, this will normally return a negative number +* if you add this number to the baseline, you get the level of the bottom of the font +* it is in the pdf user units +*/ +function getFontDecender($size){ + // note that this will most likely return a negative value + if (!$this->numFonts){ + $this->selectFont('./fonts/Helvetica'); + } + $h = $this->fonts[$this->currentFont]['FontBBox'][1]; + return $size*$h/1000; +} + +/** +* filter the text, this is applied to all text just before being inserted into the pdf document +* it escapes the various things that need to be escaped, and so on +* +* @access private +*/ +function filterText($text){ + $text = str_replace('\\','\\\\',$text); + $text = str_replace('(','\(',$text); + $text = str_replace(')','\)',$text); + $text = str_replace('<','<',$text); + $text = str_replace('>','>',$text); + $text = str_replace(''','\'',$text); + $text = str_replace('"','"',$text); + $text = str_replace('&','&',$text); + + return $text; +} + +/** +* given a start position and information about how text is to be laid out, calculate where +* on the page the text will end +* +* @access private +*/ +function PRVTgetTextPosition($x,$y,$angle,$size,$wa,$text){ + // given this information return an array containing x and y for the end position as elements 0 and 1 + $w = $this->getTextWidth($size,$text); + // need to adjust for the number of spaces in this text + $words = explode(' ',$text); + $nspaces=count($words)-1; + $w += $wa*$nspaces; + $a = deg2rad((float)$angle); + return array(cos($a)*$w+$x,-sin($a)*$w+$y); +} + +/** +* wrapper function for PRVTcheckTextDirective1 +* +* @access private +*/ +function PRVTcheckTextDirective(&$text,$i,&$f){ + $x=0; + $y=0; + return $this->PRVTcheckTextDirective1($text,$i,$f,0,$x,$y); +} + +/** +* checks if the text stream contains a control directive +* if so then makes some changes and returns the number of characters involved in the directive +* this has been re-worked to include everything neccesary to fins the current writing point, so that +* the location can be sent to the callback function if required +* if the directive does not require a font change, then $f should be set to 0 +* +* @access private +*/ +function PRVTcheckTextDirective1(&$text,$i,&$f,$final,&$x,&$y,$size=0,$angle=0,$wordSpaceAdjust=0){ + $directive = 0; + $j=$i; + if ($text[$j]=='<'){ + $j++; + switch($text[$j]){ + case '/': + $j++; + if (strlen($text) <= $j){ + return $directive; + } + switch($text[$j]){ + case 'b': + case 'i': + $j++; + if ($text[$j]=='>'){ + $p = strrpos($this->currentTextState,$text[$j-1]); + if ($p !== false){ + // then there is one to remove + $this->currentTextState = substr($this->currentTextState,0,$p).substr($this->currentTextState,$p+1); + } + $directive=$j-$i+1; + } + break; + case 'c': + // this this might be a callback function + $j++; + $k = strpos($text,'>',$j); + if ($k!==false && $text[$j]==':'){ + // then this will be treated as a callback directive + $directive = $k-$i+1; + $f=0; + // split the remainder on colons to get the function name and the paramater + $tmp = substr($text,$j+1,$k-$j-1); + $b1 = strpos($tmp,':'); + if ($b1!==false){ + $func = substr($tmp,0,$b1); + $parm = substr($tmp,$b1+1); + } else { + $func=$tmp; + $parm=''; + } + if (!isset($func) || !strlen(trim($func))){ + $directive=0; + } else { + // only call the function if this is the final call + if ($final){ + // need to assess the text position, calculate the text width to this point + // can use getTextWidth to find the text width I think + $tmp = $this->PRVTgetTextPosition($x,$y,$angle,$size,$wordSpaceAdjust,substr($text,0,$i)); + $info = array('x'=>$tmp[0],'y'=>$tmp[1],'angle'=>$angle,'status'=>'end','p'=>$parm,'nCallback'=>$this->nCallback); + $x=$tmp[0]; + $y=$tmp[1]; + $ret = $this->$func($info); + if (is_array($ret)){ + // then the return from the callback function could set the position, to start with, later will do font colour, and font + foreach($ret as $rk=>$rv){ + switch($rk){ + case 'x': + case 'y': + $$rk=$rv; + break; + } + } + } + // also remove from to the stack + // for simplicity, just take from the end, fix this another day + $this->nCallback--; + if ($this->nCallback<0){ + $this->nCallBack=0; + } + } + } + } + break; + } + break; + case 'b': + case 'i': + $j++; + if ($text[$j]=='>'){ + $this->currentTextState.=$text[$j-1]; + $directive=$j-$i+1; + } + break; + case 'C': + $noClose=1; + case 'c': + // this this might be a callback function + $j++; + $k = strpos($text,'>',$j); + if ($k!==false && $text[$j]==':'){ + // then this will be treated as a callback directive + $directive = $k-$i+1; + $f=0; + // split the remainder on colons to get the function name and the paramater +// $bits = explode(':',substr($text,$j+1,$k-$j-1)); + $tmp = substr($text,$j+1,$k-$j-1); + $b1 = strpos($tmp,':'); + if ($b1!==false){ + $func = substr($tmp,0,$b1); + $parm = substr($tmp,$b1+1); + } else { + $func=$tmp; + $parm=''; + } + if (!isset($func) || !strlen(trim($func))){ + $directive=0; + } else { + // only call the function if this is the final call, ie, the one actually doing printing, not measurement + if ($final){ + // need to assess the text position, calculate the text width to this point + // can use getTextWidth to find the text width I think + // also add the text height and decender + $tmp = $this->PRVTgetTextPosition($x,$y,$angle,$size,$wordSpaceAdjust,substr($text,0,$i)); + $info = array('x'=>$tmp[0],'y'=>$tmp[1],'angle'=>$angle,'status'=>'start','p'=>$parm,'f'=>$func,'height'=>$this->getFontHeight($size),'decender'=>$this->getFontDecender($size)); + $x=$tmp[0]; + $y=$tmp[1]; + if (!isset($noClose) || !$noClose){ + // only add to the stack if this is a small 'c', therefore is a start-stop pair + $this->nCallback++; + $info['nCallback']=$this->nCallback; + $this->callback[$this->nCallback]=$info; + } + $ret = $this->$func($info); + if (is_array($ret)){ + // then the return from the callback function could set the position, to start with, later will do font colour, and font + foreach($ret as $rk=>$rv){ + switch($rk){ + case 'x': + case 'y': + $$rk=$rv; + break; + } + } + } + } + } + } + break; + } + } + return $directive; +} + +/** +* add text to the document, at a specified location, size and angle on the page +*/ +function addText($x,$y,$size,$text,$angle=0,$wordSpaceAdjust=0){ + if (!$this->numFonts){$this->selectFont('./fonts/Helvetica');} + + // if there are any open callbacks, then they should be called, to show the start of the line + if ($this->nCallback>0){ + for ($i=$this->nCallback;$i>0;$i--){ + // call each function + $info = array('x'=>$x,'y'=>$y,'angle'=>$angle,'status'=>'sol','p'=>$this->callback[$i]['p'],'nCallback'=>$this->callback[$i]['nCallback'],'height'=>$this->callback[$i]['height'],'decender'=>$this->callback[$i]['decender']); + $func = $this->callback[$i]['f']; + $this->$func($info); + } + } + if ($angle==0){ + $this->objects[$this->currentContents]['c'].="\n".'BT '.sprintf('%.3f',$x).' '.sprintf('%.3f',$y).' Td'; + } else { + $a = deg2rad((float)$angle); + $tmp = "\n".'BT '; + $tmp .= sprintf('%.3f',cos($a)).' '.sprintf('%.3f',(-1.0*sin($a))).' '.sprintf('%.3f',sin($a)).' '.sprintf('%.3f',cos($a)).' '; + $tmp .= sprintf('%.3f',$x).' '.sprintf('%.3f',$y).' Tm'; + $this->objects[$this->currentContents]['c'] .= $tmp; + } + if ($wordSpaceAdjust!=0 || $wordSpaceAdjust != $this->wordSpaceAdjust){ + $this->wordSpaceAdjust=$wordSpaceAdjust; + $this->objects[$this->currentContents]['c'].=' '.sprintf('%.3f',$wordSpaceAdjust).' Tw'; + } + $len=strlen($text); + $start=0; + for ($i=0;$i<$len;$i++){ + $f=1; + $directive = $this->PRVTcheckTextDirective($text,$i,$f); + if ($directive){ + // then we should write what we need to + if ($i>$start){ + $part = substr($text,$start,$i-$start); + $this->objects[$this->currentContents]['c'].=' /F'.$this->currentFontNum.' '.sprintf('%.1f',$size).' Tf '; + $this->objects[$this->currentContents]['c'].=' ('.$this->filterText($part).') Tj'; + } + if ($f){ + // then there was nothing drastic done here, restore the contents + $this->setCurrentFont(); + } else { + $this->objects[$this->currentContents]['c'] .= ' ET'; + $f=1; + $xp=$x; + $yp=$y; + $directive = $this->PRVTcheckTextDirective1($text,$i,$f,1,$xp,$yp,$size,$angle,$wordSpaceAdjust); + + // restart the text object + if ($angle==0){ + $this->objects[$this->currentContents]['c'].="\n".'BT '.sprintf('%.3f',$xp).' '.sprintf('%.3f',$yp).' Td'; + } else { + $a = deg2rad((float)$angle); + $tmp = "\n".'BT '; + $tmp .= sprintf('%.3f',cos($a)).' '.sprintf('%.3f',(-1.0*sin($a))).' '.sprintf('%.3f',sin($a)).' '.sprintf('%.3f',cos($a)).' '; + $tmp .= sprintf('%.3f',$xp).' '.sprintf('%.3f',$yp).' Tm'; + $this->objects[$this->currentContents]['c'] .= $tmp; + } + if ($wordSpaceAdjust!=0 || $wordSpaceAdjust != $this->wordSpaceAdjust){ + $this->wordSpaceAdjust=$wordSpaceAdjust; + $this->objects[$this->currentContents]['c'].=' '.sprintf('%.3f',$wordSpaceAdjust).' Tw'; + } + } + // and move the writing point to the next piece of text + $i=$i+$directive-1; + $start=$i+1; + } + + } + if ($start<$len){ + $part = substr($text,$start); + $this->objects[$this->currentContents]['c'].=' /F'.$this->currentFontNum.' '.sprintf('%.1f',$size).' Tf '; + $this->objects[$this->currentContents]['c'].=' ('.$this->filterText($part).') Tj'; + } + $this->objects[$this->currentContents]['c'].=' ET'; + + // if there are any open callbacks, then they should be called, to show the end of the line + if ($this->nCallback>0){ + for ($i=$this->nCallback;$i>0;$i--){ + // call each function + $tmp = $this->PRVTgetTextPosition($x,$y,$angle,$size,$wordSpaceAdjust,$text); + $info = array('x'=>$tmp[0],'y'=>$tmp[1],'angle'=>$angle,'status'=>'eol','p'=>$this->callback[$i]['p'],'nCallback'=>$this->callback[$i]['nCallback'],'height'=>$this->callback[$i]['height'],'decender'=>$this->callback[$i]['decender']); + $func = $this->callback[$i]['f']; + $this->$func($info); + } + } + +} + +/** +* calculate how wide a given text string will be on a page, at a given size. +* this can be called externally, but is alse used by the other class functions +*/ +function getTextWidth($size,$text){ + // this function should not change any of the settings, though it will need to + // track any directives which change during calculation, so copy them at the start + // and put them back at the end. + $store_currentTextState = $this->currentTextState; + + if (!$this->numFonts){ + $this->selectFont('./fonts/Helvetica'); + } + + // converts a number or a float to a string so it can get the width + $text = "$text"; + + // hmm, this is where it all starts to get tricky - use the font information to + // calculate the width of each character, add them up and convert to user units + $w=0; + $len=strlen($text); + $cf = $this->currentFont; + for ($i=0;$i<$len;$i++){ + $f=1; + $directive = $this->PRVTcheckTextDirective($text,$i,$f); + if ($directive){ + if ($f){ + $this->setCurrentFont(); + $cf = $this->currentFont; + } + $i=$i+$directive-1; + } else { + $char=ord($text[$i]); + if (isset($this->fonts[$cf]['differences'][$char])){ + // then this character is being replaced by another + $name = $this->fonts[$cf]['differences'][$char]; + if (isset($this->fonts[$cf]['C'][$name]['WX'])){ + $w+=$this->fonts[$cf]['C'][$name]['WX']; + } + } else if (isset($this->fonts[$cf]['C'][$char]['WX'])){ + $w+=$this->fonts[$cf]['C'][$char]['WX']; + } + } + } + + $this->currentTextState = $store_currentTextState; + $this->setCurrentFont(); + + return $w*$size/1000; +} + +/** +* do a part of the calculation for sorting out the justification of the text +* +* @access private +*/ +function PRVTadjustWrapText($text,$actual,$width,&$x,&$adjust,$justification){ + switch ($justification){ + case 'left': + return; + break; + case 'right': + $x+=$width-$actual; + break; + case 'center': + case 'centre': + $x+=($width-$actual)/2; + break; + case 'full': + // count the number of words + $words = explode(' ',$text); + $nspaces=count($words)-1; + if ($nspaces>0){ + $adjust = ($width-$actual)/$nspaces; + } else { + $adjust=0; + } + break; + } +} + +/** +* add text to the page, but ensure that it fits within a certain width +* if it does not fit then put in as much as possible, splitting at word boundaries +* and return the remainder. +* justification and angle can also be specified for the text +*/ +function addTextWrap($x,$y,$width,$size,$text,$justification='left',$angle=0,$test=0){ + // this will display the text, and if it goes beyond the width $width, will backtrack to the + // previous space or hyphen, and return the remainder of the text. + + // $justification can be set to 'left','right','center','centre','full' + + // need to store the initial text state, as this will change during the width calculation + // but will need to be re-set before printing, so that the chars work out right + $store_currentTextState = $this->currentTextState; + + if (!$this->numFonts){$this->selectFont('./fonts/Helvetica');} + if ($width<=0){ + // error, pretend it printed ok, otherwise risking a loop + return ''; + } + $w=0; + $break=0; + $breakWidth=0; + $len=strlen($text); + $cf = $this->currentFont; + $tw = $width/$size*1000; + for ($i=0;$i<$len;$i++){ + $f=1; + $directive = $this->PRVTcheckTextDirective($text,$i,$f); + if ($directive){ + if ($f){ + $this->setCurrentFont(); + $cf = $this->currentFont; + } + $i=$i+$directive-1; + } else { + $cOrd = ord($text[$i]); + if (isset($this->fonts[$cf]['differences'][$cOrd])){ + // then this character is being replaced by another + $cOrd2 = $this->fonts[$cf]['differences'][$cOrd]; + } else { + $cOrd2 = $cOrd; + } + + if (isset($this->fonts[$cf]['C'][$cOrd2]['WX'])){ + $w+=$this->fonts[$cf]['C'][$cOrd2]['WX']; + } + if ($w>$tw){ + // then we need to truncate this line + if ($break>0){ + // then we have somewhere that we can split :) + if ($text[$break]==' '){ + $tmp = substr($text,0,$break); + } else { + $tmp = substr($text,0,$break+1); + } + $adjust=0; + $this->PRVTadjustWrapText($tmp,$breakWidth,$width,$x,$adjust,$justification); + + // reset the text state + $this->currentTextState = $store_currentTextState; + $this->setCurrentFont(); + if (!$test){ + $this->addText($x,$y,$size,$tmp,$angle,$adjust); + } + return substr($text,$break+1); + } else { + // just split before the current character + $tmp = substr($text,0,$i); + $adjust=0; + $ctmp=ord($text[$i]); + if (isset($this->fonts[$cf]['differences'][$ctmp])){ + $ctmp=$this->fonts[$cf]['differences'][$ctmp]; + } + $tmpw=($w-$this->fonts[$cf]['C'][$ctmp]['WX'])*$size/1000; + $this->PRVTadjustWrapText($tmp,$tmpw,$width,$x,$adjust,$justification); + // reset the text state + $this->currentTextState = $store_currentTextState; + $this->setCurrentFont(); + if (!$test){ + $this->addText($x,$y,$size,$tmp,$angle,$adjust); + } + return substr($text,$i); + } + } + if ($text[$i]=='-'){ + $break=$i; + $breakWidth = $w*$size/1000; + } + if ($text[$i]==' '){ + $break=$i; + $ctmp=ord($text[$i]); + if (isset($this->fonts[$cf]['differences'][$ctmp])){ + $ctmp=$this->fonts[$cf]['differences'][$ctmp]; + } + $breakWidth = ($w-$this->fonts[$cf]['C'][$ctmp]['WX'])*$size/1000; + } + } + } + // then there was no need to break this line + if ($justification=='full'){ + $justification='left'; + } + $adjust=0; + $tmpw=$w*$size/1000; + $this->PRVTadjustWrapText($text,$tmpw,$width,$x,$adjust,$justification); + // reset the text state + $this->currentTextState = $store_currentTextState; + $this->setCurrentFont(); + if (!$test){ + $this->addText($x,$y,$size,$text,$angle,$adjust,$angle); + } + return ''; +} + +/** +* this will be called at a new page to return the state to what it was on the +* end of the previous page, before the stack was closed down +* This is to get around not being able to have open 'q' across pages +* +*/ +function saveState($pageEnd=0){ + if ($pageEnd){ + // this will be called at a new page to return the state to what it was on the + // end of the previous page, before the stack was closed down + // This is to get around not being able to have open 'q' across pages + $opt = $this->stateStack[$pageEnd]; // ok to use this as stack starts numbering at 1 + $this->setColor($opt['col']['r'],$opt['col']['g'],$opt['col']['b'],1); + $this->setStrokeColor($opt['str']['r'],$opt['str']['g'],$opt['str']['b'],1); + $this->objects[$this->currentContents]['c'].="\n".$opt['lin']; +// $this->currentLineStyle = $opt['lin']; + } else { + $this->nStateStack++; + $this->stateStack[$this->nStateStack]=array( + 'col'=>$this->currentColour + ,'str'=>$this->currentStrokeColour + ,'lin'=>$this->currentLineStyle + ); + } + $this->objects[$this->currentContents]['c'].="\nq"; +} + +/** +* restore a previously saved state +*/ +function restoreState($pageEnd=0){ + if (!$pageEnd){ + $n = $this->nStateStack; + $this->currentColour = $this->stateStack[$n]['col']; + $this->currentStrokeColour = $this->stateStack[$n]['str']; + $this->objects[$this->currentContents]['c'].="\n".$this->stateStack[$n]['lin']; + $this->currentLineStyle = $this->stateStack[$n]['lin']; + unset($this->stateStack[$n]); + $this->nStateStack--; + } + $this->objects[$this->currentContents]['c'].="\nQ"; +} + +/** +* make a loose object, the output will go into this object, until it is closed, then will revert to +* the current one. +* this object will not appear until it is included within a page. +* the function will return the object number +*/ +function openObject(){ + $this->nStack++; + $this->stack[$this->nStack]=array('c'=>$this->currentContents,'p'=>$this->currentPage); + // add a new object of the content type, to hold the data flow + $this->numObj++; + $this->o_contents($this->numObj,'new'); + $this->currentContents=$this->numObj; + $this->looseObjects[$this->numObj]=1; + + return $this->numObj; +} + +/** +* open an existing object for editing +*/ +function reopenObject($id){ + $this->nStack++; + $this->stack[$this->nStack]=array('c'=>$this->currentContents,'p'=>$this->currentPage); + $this->currentContents=$id; + // also if this object is the primary contents for a page, then set the current page to its parent + if (isset($this->objects[$id]['onPage'])){ + $this->currentPage = $this->objects[$id]['onPage']; + } +} + +/** +* close an object +*/ +function closeObject(){ + // close the object, as long as there was one open in the first place, which will be indicated by + // an objectId on the stack. + if ($this->nStack>0){ + $this->currentContents=$this->stack[$this->nStack]['c']; + $this->currentPage=$this->stack[$this->nStack]['p']; + $this->nStack--; + // easier to probably not worry about removing the old entries, they will be overwritten + // if there are new ones. + } +} + +/** +* stop an object from appearing on pages from this point on +*/ +function stopObject($id){ + // if an object has been appearing on pages up to now, then stop it, this page will + // be the last one that could contian it. + if (isset($this->addLooseObjects[$id])){ + $this->addLooseObjects[$id]=''; + } +} + +/** +* after an object has been created, it wil only show if it has been added, using this function. +*/ +function addObject($id,$options='add'){ + // add the specified object to the page + if (isset($this->looseObjects[$id]) && $this->currentContents!=$id){ + // then it is a valid object, and it is not being added to itself + switch($options){ + case 'all': + // then this object is to be added to this page (done in the next block) and + // all future new pages. + $this->addLooseObjects[$id]='all'; + case 'add': + if (isset($this->objects[$this->currentContents]['onPage'])){ + // then the destination contents is the primary for the page + // (though this object is actually added to that page) + $this->o_page($this->objects[$this->currentContents]['onPage'],'content',$id); + } + break; + case 'even': + $this->addLooseObjects[$id]='even'; + $pageObjectId=$this->objects[$this->currentContents]['onPage']; + if ($this->objects[$pageObjectId]['info']['pageNum']%2==0){ + $this->addObject($id); // hacky huh :) + } + break; + case 'odd': + $this->addLooseObjects[$id]='odd'; + $pageObjectId=$this->objects[$this->currentContents]['onPage']; + if ($this->objects[$pageObjectId]['info']['pageNum']%2==1){ + $this->addObject($id); // hacky huh :) + } + break; + case 'next': + $this->addLooseObjects[$id]='all'; + break; + case 'nexteven': + $this->addLooseObjects[$id]='even'; + break; + case 'nextodd': + $this->addLooseObjects[$id]='odd'; + break; + } + } +} + +/** +* add content to the documents info object +*/ +function addInfo($label,$value=0){ + // this will only work if the label is one of the valid ones. + // modify this so that arrays can be passed as well. + // if $label is an array then assume that it is key=>value pairs + // else assume that they are both scalar, anything else will probably error + if (is_array($label)){ + foreach ($label as $l=>$v){ + $this->o_info($this->infoObject,$l,$v); + } + } else { + $this->o_info($this->infoObject,$label,$value); + } +} + +/** +* set the viewer preferences of the document, it is up to the browser to obey these. +*/ +function setPreferences($label,$value=0){ + // this will only work if the label is one of the valid ones. + if (is_array($label)){ + foreach ($label as $l=>$v){ + $this->o_catalog($this->catalogId,'viewerPreferences',array($l=>$v)); + } + } else { + $this->o_catalog($this->catalogId,'viewerPreferences',array($label=>$value)); + } +} + +/** +* extract an integer from a position in a byte stream +* +* @access private +*/ +function PRVT_getBytes(&$data,$pos,$num){ + // return the integer represented by $num bytes from $pos within $data + $ret=0; + for ($i=0;$i<$num;$i++){ + $ret=$ret*256; + $ret+=ord($data[$pos+$i]); + } + return $ret; +} + +/** +* add a PNG image into the document, from a file +* this should work with remote files +*/ +function addPngFromFile($file,$x,$y,$w=0,$h=0){ + // read in a png file, interpret it, then add to the system + $error=0; + $tmp = get_magic_quotes_runtime(); + set_magic_quotes_runtime(0); + $fp = @fopen($file,'rb'); + if ($fp){ + $data=''; + while(!feof($fp)){ + $data .= fread($fp,1024); + } + fclose($fp); + } else { + $error = 1; + $errormsg = 'trouble opening file: '.$file; + } + set_magic_quotes_runtime($tmp); + + if (!$error){ + $header = chr(137).chr(80).chr(78).chr(71).chr(13).chr(10).chr(26).chr(10); + if (substr($data,0,8)!=$header){ + $error=1; + $errormsg = 'this file does not have a valid header'; + } + } + + if (!$error){ + // set pointer + $p = 8; + $len = strlen($data); + // cycle through the file, identifying chunks + $haveHeader=0; + $info=array(); + $idata=''; + $pdata=''; + while ($p<$len){ + $chunkLen = $this->PRVT_getBytes($data,$p,4); + $chunkType = substr($data,$p+4,4); +// echo $chunkType.' - '.$chunkLen.'<br>'; + + switch($chunkType){ + case 'IHDR': + // this is where all the file information comes from + $info['width']=$this->PRVT_getBytes($data,$p+8,4); + $info['height']=$this->PRVT_getBytes($data,$p+12,4); + $info['bitDepth']=ord($data[$p+16]); + $info['colorType']=ord($data[$p+17]); + $info['compressionMethod']=ord($data[$p+18]); + $info['filterMethod']=ord($data[$p+19]); + $info['interlaceMethod']=ord($data[$p+20]); +//print_r($info); + $haveHeader=1; + if ($info['compressionMethod']!=0){ + $error=1; + $errormsg = 'unsupported compression method'; + } + if ($info['filterMethod']!=0){ + $error=1; + $errormsg = 'unsupported filter method'; + } + break; + case 'PLTE': + $pdata.=substr($data,$p+8,$chunkLen); + break; + case 'IDAT': + $idata.=substr($data,$p+8,$chunkLen); + break; + case 'tRNS': + //this chunk can only occur once and it must occur after the PLTE chunk and before IDAT chunk + //print "tRNS found, color type = ".$info['colorType']."<BR>"; + $transparency = array(); + if ($info['colorType'] == 3) { // indexed color, rbg + /* corresponding to entries in the plte chunk + Alpha for palette index 0: 1 byte + Alpha for palette index 1: 1 byte + ...etc... + */ + // there will be one entry for each palette entry. up until the last non-opaque entry. + // set up an array, stretching over all palette entries which will be o (opaque) or 1 (transparent) + $transparency['type']='indexed'; + $numPalette = strlen($pdata)/3; + $trans=0; + for ($i=$chunkLen;$i>=0;$i--){ + if (ord($data[$p+8+$i])==0){ + $trans=$i; + } + } + $transparency['data'] = $trans; + + } elseif($info['colorType'] == 0) { // grayscale + /* corresponding to entries in the plte chunk + Gray: 2 bytes, range 0 .. (2^bitdepth)-1 + */ +// $transparency['grayscale']=$this->PRVT_getBytes($data,$p+8,2); // g = grayscale + $transparency['type']='indexed'; + $transparency['data'] = ord($data[$p+8+1]); + + } elseif($info['colorType'] == 2) { // truecolor + /* corresponding to entries in the plte chunk + Red: 2 bytes, range 0 .. (2^bitdepth)-1 + Green: 2 bytes, range 0 .. (2^bitdepth)-1 + Blue: 2 bytes, range 0 .. (2^bitdepth)-1 + */ + $transparency['r']=$this->PRVT_getBytes($data,$p+8,2); // r from truecolor + $transparency['g']=$this->PRVT_getBytes($data,$p+10,2); // g from truecolor + $transparency['b']=$this->PRVT_getBytes($data,$p+12,2); // b from truecolor + + } else { + //unsupported transparency type + } + // KS End new code + break; + default: + break; + } + + $p += $chunkLen+12; + } + + if(!$haveHeader){ + $error = 1; + $errormsg = 'information header is missing'; + } + if (isset($info['interlaceMethod']) && $info['interlaceMethod']){ + $error = 1; + $errormsg = 'There appears to be no support for interlaced images in pdf.'; + } + } + + if (!$error && $info['bitDepth'] > 8){ + $error = 1; + $errormsg = 'only bit depth of 8 or less is supported'; + } + + if (!$error){ + if ($info['colorType']!=2 && $info['colorType']!=0 && $info['colorType']!=3){ + $error = 1; + $errormsg = 'transparancey alpha channel not supported, transparency only supported for palette images.'; + } else { + switch ($info['colorType']){ + case 3: + $color = 'DeviceRGB'; + $ncolor=1; + break; + case 2: + $color = 'DeviceRGB'; + $ncolor=3; + break; + case 0: + $color = 'DeviceGray'; + $ncolor=1; + break; + } + } + } + if ($error){ + $this->addMessage('PNG error - ('.$file.') '.$errormsg); + return; + } + if ($w==0){ + $w=$h/$info['height']*$info['width']; + } + if ($h==0){ + $h=$w*$info['height']/$info['width']; + } +//print_r($info); + // so this image is ok... add it in. + $this->numImages++; + $im=$this->numImages; + $label='I'.$im; + $this->numObj++; +// $this->o_image($this->numObj,'new',array('label'=>$label,'data'=>$idata,'iw'=>$w,'ih'=>$h,'type'=>'png','ic'=>$info['width'])); + $options = array('label'=>$label,'data'=>$idata,'bitsPerComponent'=>$info['bitDepth'],'pdata'=>$pdata + ,'iw'=>$info['width'],'ih'=>$info['height'],'type'=>'png','color'=>$color,'ncolor'=>$ncolor); + if (isset($transparency)){ + $options['transparency']=$transparency; + } + $this->o_image($this->numObj,'new',$options); + + $this->objects[$this->currentContents]['c'].="\nq"; + $this->objects[$this->currentContents]['c'].="\n".sprintf('%.3f',$w)." 0 0 ".sprintf('%.3f',$h)." ".sprintf('%.3f',$x)." ".sprintf('%.3f',$y)." cm"; + $this->objects[$this->currentContents]['c'].="\n/".$label.' Do'; + $this->objects[$this->currentContents]['c'].="\nQ"; +} + +/** +* add a JPEG image into the document, from a file +*/ +function addJpegFromFile($img,$x,$y,$w=0,$h=0){ + // attempt to add a jpeg image straight from a file, using no GD commands + // note that this function is unable to operate on a remote file. + + if (!file_exists($img)){ + return; + } + + $tmp=getimagesize($img); + $imageWidth=$tmp[0]; + $imageHeight=$tmp[1]; + + if (isset($tmp['channels'])){ + $channels = $tmp['channels']; + } else { + $channels = 3; + } + + if ($w<=0 && $h<=0){ + $w=$imageWidth; + } + if ($w==0){ + $w=$h/$imageHeight*$imageWidth; + } + if ($h==0){ + $h=$w*$imageHeight/$imageWidth; + } + + $fp=fopen($img,'rb'); + + $tmp = get_magic_quotes_runtime(); + set_magic_quotes_runtime(0); + $data = fread($fp,filesize($img)); + set_magic_quotes_runtime($tmp); + + fclose($fp); + + $this->addJpegImage_common($data,$x,$y,$w,$h,$imageWidth,$imageHeight,$channels); +} + +/** +* add an image into the document, from a GD object +* this function is not all that reliable, and I would probably encourage people to use +* the file based functions +*/ +function addImage(&$img,$x,$y,$w=0,$h=0,$quality=75){ + // add a new image into the current location, as an external object + // add the image at $x,$y, and with width and height as defined by $w & $h + + // note that this will only work with full colour images and makes them jpg images for display + // later versions could present lossless image formats if there is interest. + + // there seems to be some problem here in that images that have quality set above 75 do not appear + // not too sure why this is, but in the meantime I have restricted this to 75. + if ($quality>75){ + $quality=75; + } + + // if the width or height are set to zero, then set the other one based on keeping the image + // height/width ratio the same, if they are both zero, then give up :) + $imageWidth=imagesx($img); + $imageHeight=imagesy($img); + + if ($w<=0 && $h<=0){ + return; + } + if ($w==0){ + $w=$h/$imageHeight*$imageWidth; + } + if ($h==0){ + $h=$w*$imageHeight/$imageWidth; + } + + // gotta get the data out of the img.. + + // so I write to a temp file, and then read it back.. soo ugly, my apologies. + $tmpDir='/tmp'; + $tmpName=tempnam($tmpDir,'img'); + imagejpeg($img,$tmpName,$quality); + $fp=fopen($tmpName,'rb'); + + $tmp = get_magic_quotes_runtime(); + set_magic_quotes_runtime(0); + $fp = @fopen($tmpName,'rb'); + if ($fp){ + $data=''; + while(!feof($fp)){ + $data .= fread($fp,1024); + } + fclose($fp); + } else { + $error = 1; + $errormsg = 'trouble opening file'; + } +// $data = fread($fp,filesize($tmpName)); + set_magic_quotes_runtime($tmp); +// fclose($fp); + unlink($tmpName); + $this->addJpegImage_common($data,$x,$y,$w,$h,$imageWidth,$imageHeight); +} + +/** +* common code used by the two JPEG adding functions +* +* @access private +*/ +function addJpegImage_common(&$data,$x,$y,$w=0,$h=0,$imageWidth,$imageHeight,$channels=3){ + // note that this function is not to be called externally + // it is just the common code between the GD and the file options + $this->numImages++; + $im=$this->numImages; + $label='I'.$im; + $this->numObj++; + $this->o_image($this->numObj,'new',array('label'=>$label,'data'=>$data,'iw'=>$imageWidth,'ih'=>$imageHeight,'channels'=>$channels)); + + $this->objects[$this->currentContents]['c'].="\nq"; + $this->objects[$this->currentContents]['c'].="\n".sprintf('%.3f',$w)." 0 0 ".sprintf('%.3f',$h)." ".sprintf('%.3f',$x)." ".sprintf('%.3f',$y)." cm"; + $this->objects[$this->currentContents]['c'].="\n/".$label.' Do'; + $this->objects[$this->currentContents]['c'].="\nQ"; +} + +/** +* specify where the document should open when it first starts +*/ +function openHere($style,$a=0,$b=0,$c=0){ + // this function will open the document at a specified page, in a specified style + // the values for style, and the required paramters are: + // 'XYZ' left, top, zoom + // 'Fit' + // 'FitH' top + // 'FitV' left + // 'FitR' left,bottom,right + // 'FitB' + // 'FitBH' top + // 'FitBV' left + $this->numObj++; + $this->o_destination($this->numObj,'new',array('page'=>$this->currentPage,'type'=>$style,'p1'=>$a,'p2'=>$b,'p3'=>$c)); + $id = $this->catalogId; + $this->o_catalog($id,'openHere',$this->numObj); +} + +/** +* create a labelled destination within the document +*/ +function addDestination($label,$style,$a=0,$b=0,$c=0){ + // associates the given label with the destination, it is done this way so that a destination can be specified after + // it has been linked to + // styles are the same as the 'openHere' function + $this->numObj++; + $this->o_destination($this->numObj,'new',array('page'=>$this->currentPage,'type'=>$style,'p1'=>$a,'p2'=>$b,'p3'=>$c)); + $id = $this->numObj; + // store the label->idf relationship, note that this means that labels can be used only once + $this->destinations["$label"]=$id; +} + +/** +* define font families, this is used to initialize the font families for the default fonts +* and for the user to add new ones for their fonts. The default bahavious can be overridden should +* that be desired. +*/ +function setFontFamily($family,$options=''){ + if (!is_array($options)){ + if ($family=='init'){ + // set the known family groups + // these font families will be used to enable bold and italic markers to be included + // within text streams. html forms will be used... <b></b> <i></i> + $this->fontFamilies['Helvetica.afm']=array( + 'b'=>'Helvetica-Bold.afm' + ,'i'=>'Helvetica-Oblique.afm' + ,'bi'=>'Helvetica-BoldOblique.afm' + ,'ib'=>'Helvetica-BoldOblique.afm' + ); + $this->fontFamilies['Courier.afm']=array( + 'b'=>'Courier-Bold.afm' + ,'i'=>'Courier-Oblique.afm' + ,'bi'=>'Courier-BoldOblique.afm' + ,'ib'=>'Courier-BoldOblique.afm' + ); + $this->fontFamilies['Times-Roman.afm']=array( + 'b'=>'Times-Bold.afm' + ,'i'=>'Times-Italic.afm' + ,'bi'=>'Times-BoldItalic.afm' + ,'ib'=>'Times-BoldItalic.afm' + ); + } + } else { + // the user is trying to set a font family + // note that this can also be used to set the base ones to something else + if (strlen($family)){ + $this->fontFamilies[$family] = $options; + } + } +} + +/** +* used to add messages for use in debugging +*/ +function addMessage($message){ + $this->messages.=$message."\n"; +} + +/** +* a few functions which should allow the document to be treated transactionally. +*/ +function transaction($action){ + switch ($action){ + case 'start': + // store all the data away into the checkpoint variable + $data = get_object_vars($this); + $this->checkpoint = $data; + unset($data); + break; + case 'commit': + if (is_array($this->checkpoint) && isset($this->checkpoint['checkpoint'])){ + $tmp = $this->checkpoint['checkpoint']; + $this->checkpoint = $tmp; + unset($tmp); + } else { + $this->checkpoint=''; + } + break; + case 'rewind': + // do not destroy the current checkpoint, but move us back to the state then, so that we can try again + if (is_array($this->checkpoint)){ + // can only abort if were inside a checkpoint + $tmp = $this->checkpoint; + foreach ($tmp as $k=>$v){ + if ($k != 'checkpoint'){ + $this->$k=$v; + } + } + unset($tmp); + } + break; + case 'abort': + if (is_array($this->checkpoint)){ + // can only abort if were inside a checkpoint + $tmp = $this->checkpoint; + foreach ($tmp as $k=>$v){ + $this->$k=$v; + } + unset($tmp); + } + break; + } + +} + +} // end of class + +?>
\ No newline at end of file diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/PDF/default/class.phpdocpdf.php b/buildscripts/PhpDocumentor/phpDocumentor/Converters/PDF/default/class.phpdocpdf.php new file mode 100755 index 00000000..ea3b2fdf --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/PDF/default/class.phpdocpdf.php @@ -0,0 +1,353 @@ +<?php +/** + * Cezpdf callback class customized for phpDocumentor + * + * phpDocumentor :: automatic documentation generator + * + * PHP versions 4 and 5 + * + * Copyright (c) 2000-2006 Joshua Eichorn, Gregory Beaver + * + * LICENSE: + * + * 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, or (at your option) any + * later version. + * + * 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 + * + * @package Converters + * @subpackage PDFdefault + * @author Greg Beaver <cellog@php.net> + * @copyright 2000-2006 Joshua Eichorn, Gregory Beaver + * @license http://www.opensource.org/licenses/lgpl-license.php LGPL + * @version CVS: $Id: class.phpdocpdf.php 212211 2006-04-30 22:18:14Z cellog $ + * @filesource + * @link http://www.phpdoc.org + * @link http://pear.php.net/PhpDocumentor + * @since 1.2 + */ + +/** ezPdf libraries */ +include_once 'phpDocumentor/Converters/PDF/default/class.ezpdf.php'; +include_once 'phpDocumentor/Converters/PDF/default/ParserPDF.inc'; + +// define a class extension to allow the use of a callback to get the table of +// contents, and to put the dots in the toc +/** + * @package Converters + * @subpackage PDFdefault + */ +class phpdocpdf extends Cezpdf +{ + var $reportContents = array(); + var $indexContents = array(); + var $indents = array(); + var $font_dir = false; + var $set_pageNumbering = false; + var $converter; + var $_save = ''; + var $listType = 'ordered'; + var $_colorStack = array(); + + function phpdocpdf(&$pdfconverter,$fontdir,$paper='a4',$orientation='portrait') + { + Cezpdf::Cezpdf($paper,$orientation); + $this->converter = $pdfconverter; + $this->font_dir = $fontdir; + } + + /** + * This really should be in the parent class + */ + function getColor() + { + return $this->currentColour; + } + + function setColorArray($color) + { + $this->setColor($color['r'], $color['g'], $color['b']); + } + + /** + * Extract Pdfphp-format color from html-format color + * @return array + * @access private + */ + function _extractColor($htmlcolor) + { + preg_match('/#([a-fA-F0-9][a-fA-F0-9])([a-fA-F0-9][a-fA-F0-9])([a-fA-F0-9][a-fA-F0-9])/', $htmlcolor, $color); + if (count($color) != 4) + { + return false; + } + $red = hexdec($color[1]) / hexdec('FF'); + $green = hexdec($color[2]) / hexdec('FF'); + $blue = hexdec($color[3]) / hexdec('FF'); + return array('r' => $red, 'g' => $green, 'b' => $blue); + } + + function validHTMLColor($color) + { + return $this->_extractColor($htmlcolor); + } + + function setHTMLColor($color) + { + fancy_debug('toplevel setting to', $color); + $this->setColor($color['r'], $color['g'], $color['b']); + } + + function textcolor($info) + { + if ($info['status'] == 'start') + { + array_push($this->_colorStack, $this->getColor()); + $color = $this->_extractColor($info['p']); + if ($color) + { +// fancy_debug('set color to ',$info['p'],$color, $this->_colorStack); + $this->setColorArray($color); + } else + { + array_pop($this->_colorStack); + } + } elseif ($info['status'] == 'end') + { +// debug('unsetting'); + $this->setColorArray(array_pop($this->_colorStack)); + } + } + + function rf($info) + { + $tmp = $info['p']; + $lvl = $tmp[0]; + $lbl = rawurldecode(substr($tmp,1)); + $num=$this->ezWhatPageNumber($this->ezGetCurrentPageNumber()); + $this->reportContents[] = array($lbl,$num,$lvl ); + $this->addDestination('toc'.(count($this->reportContents)-1),'FitH',$info['y']+$info['height']); + } + + function index($info) + { + $res = explode('|||',rawurldecode($info['p'])); + $name = $res[0]; + $descrip = $res[1]; + $letter = $name[0]; + if ($letter == '$') $letter = $name[1]; + $this->indexContents[strtoupper($letter)][] = array($name,$descrip,$this->ezWhatPageNumber($this->ezGetCurrentPageNumber()),count($this->reportContents) - 1); + } + + function IndexLetter($info) + { + $letter = $info['p']; + $this->transaction('start'); + $ok=0; + while (!$ok){ + $thisPageNum = $this->ezPageCount; + $this->saveState(); + $this->setColor(0.9,0.9,0.9); + $this->filledRectangle($this->ez['leftMargin'],$this->y-$this->getFontHeight(18)+$this->getFontDecender(18),$this->ez['pageWidth']-$this->ez['leftMargin']-$this->ez['rightMargin'],$this->getFontHeight(18)); + $this->restoreState(); + $this->_ezText($letter,18,array('justification'=>'left')); + if ($this->ezPageCount==$thisPageNum){ + $this->transaction('commit'); + $ok=1; + } else { + // then we have moved onto a new page, bad bad, as the background colour will be on the old one + $this->transaction('rewind'); + $this->ezNewPage(); + } + } + } + + function dots($info) + { + // draw a dotted line over to the right and put on a page number + $tmp = $info['p']; + $lvl = $tmp[0]; + $lbl = substr($tmp,1); + $xpos = 520; + + switch($lvl) + { + case '1': + $size=16; + $thick=1; + break; + case '2': + $size=14; + $thick=1; + break; + case '3': + $size=12; + $thick=1; + break; + case '4': + $size=11; + $thick=1; + break; + } + + $adjust = 0; + if ($size != 16) $adjust = 1; + $this->saveState(); + $this->setLineStyle($thick,'round','',array(0,10)); + $this->line($xpos - (5*$adjust),$info['y'],$info['x']+5,$info['y']); + $this->restoreState(); + $this->addText($xpos - (5*$adjust)+5,$info['y'],$size,$lbl); + } + + /** + * @uses PDFParser extracts all meta-tags and processes text for output + */ + function ezText($text,$size=0,$options=array(),$test=0) + { + $text = str_replace("\t"," ",$text); + // paragraph breaks + $text = str_replace("<##P##>","\n ",$text); + $text = str_replace("<<c:i",'< <c:i',$text); + $text = str_replace("ilink>>","ilink> >",$text); + $this->_save .= $text; + } + + function setupTOC() + { + $parser = new PDFParser; + $parser->parse($this->_save,$this->font_dir,$this); + $this->_save = ''; + } + + function ezOutput($debug = false, $template) + { + if ($debug) return $this->_save; + $this->setupTOC(); + if ($template) + { + uksort($this->indexContents,'strnatcasecmp'); + $xpos = 520; + $z = 0; + foreach($this->indexContents as $letter => $contents) + { + if ($z++/50 == 0) {phpDocumentor_out('.');flush();} + uksort($this->indexContents[$letter],array($this->converter,'mystrnatcasecmp')); + } + $template->assign('indexcontents',$this->indexContents); + $this->ezText($template->fetch('index.tpl')); + $this->setupTOC(); + } + return parent::ezOutput(); + } + + function _ezText($text,$size=0,$options=array(),$test=0) + { + return parent::ezText($text,$size,$options,$test); + } + + function getYPlusOffset($offset) + { + return $this->y + $offset; + } + + function addMessage($message) + { + return parent::addMessage($message); + phpDocumentor_out($message."\n"); + flush(); + } + + function ezProcessText($text){ + // this function will intially be used to implement underlining support, but could be used for a range of other + // purposes + $text = parent::ezProcessText($text); + $text = str_replace(array('<UL>','</UL>','<LI>','</LI>','<OL>','</OL>','</ol>','<blockquote>','</blockquote>'), + array('<ul>','</ul>','<li>','</li>','<ol>','</ul>','</ul>',"<C:indent:20>\n","<C:indent:-20>"),$text); +// $text = str_replace("<ul>\n","<ul>",$text); + $text = preg_replace("/\n+\s*(<ul>|<ol>)/", "\n\\1", $text); + // some problemos fixed here - hack + $text = preg_replace('/<text [^]]+>/', '', $text); + $text = str_replace("<li>\n","<li>",$text); + $text = preg_replace("/\n+\s*<li>/", "<li>", $text); + $text = str_replace("<mybr>","\n",$text); + $text = str_replace('</li></ul>','</ul>',$text); + $text = preg_replace("/^\n(\d+\s+.*)/", '\\1', $text); + $search = array('<ul>','</ul>','<ol>','<li>','</li>'); + $replace = array("<C:indent:20>\n","\n<C:indent:-20>","\n<C:indent:20:ordered>\n",'<C:bullet>',"\n"); + $text = str_replace($search,$replace,$text); + $text = preg_replace("/([^\n])<C:bullet/", "\\1\n<C:bullet", $text); + if (false) { + $fp = @fopen("C:/Documents and Settings/Owner/Desktop/pdfsourceorig.txt",'a'); + if ($fp) + { + fwrite($fp, $text); + fclose($fp); + } + } + return $text; + } + + function indent($info) + { + $stuff = explode(':', $info['p']); + $margin = $stuff[0]; + if (count($stuff) - 1) + { + $this->listType = 'ordered'; + $this->listIndex = 1; + } else + { + if ($margin > 0) + { + $this->listIndex = 1; + } + $this->listType = 'unordered'; + } + $this->ez['leftMargin'] += $margin; + } + + /** + * @author Murray Shields + */ + function bullet($Data) + { + if ($this->listType == 'ordered') + { + return $this->orderedBullet($Data); + } + $D = abs($Data["decender"]); + $X = $Data["x"] - ($D * 2) - 10; + $Y = $Data["y"] + ($D * 1.5); + $this->setLineStyle($D, "butt", "miter", array()); + $this->setColor(0,0,0); + $this->ellipse($X, $Y, 1); + } + + function orderedBullet($info) + { + $this->addText($info['x']-20, $info['y']-1, 10, $this->listIndex++ . '.'); + } + + function ezNewPage($debug=false) + { + parent::ezNewPage(); + if (!$this->set_pageNumbering) + { + $template = $this->converter->newSmarty(); + $parser = new PDFParser; + $parser->parse($template->fetch('pagenumbering.tpl'),$this->font_dir,$this); + } + $this->set_pageNumbering = true; + } +} +?> diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/PDF/default/templates/default/options.ini b/buildscripts/PhpDocumentor/phpDocumentor/Converters/PDF/default/templates/default/options.ini new file mode 100755 index 00000000..fd9c6414 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/PDF/default/templates/default/options.ini @@ -0,0 +1,431 @@ +preservedocbooktags = false + +;; used to highlight the {@source} inline tag +[highlightSourceTokens] +;; format: +;; T_CONSTANTNAME = open +;; /T_CONSTANTNAME = close +T_FUNCTION = <b><c:textcolor:#0000FF> +/T_FUNCTION = </c:textcolor></b> +T_CLONE = <b><c:textcolor:#0000FF> +/T_CLONE = </c:textcolor></b> +T_HALT_COMPILER = <b><c:textcolor:#0000FF> +/T_HALT_COMPILER = </c:textcolor></b> +T_VARIABLE = <b><i><c:textcolor:#000080> +/T_VARIABLE = </c:textcolor></i></b> +T_CONSTANT_ENCAPSED_STRING = <i> +/T_CONSTANT_ENCAPSED_STRING = </i> +T_COMMENT = <i><c:textcolor:#339999> +/T_COMMENT = </c:textcolor></i> +T_OBJECT_OPERATOR = <b> +/T_OBJECT_OPERATOR = </b> +T_RETURN = <b><c:textcolor:#0000FF> +/T_RETURN = </c:textcolor></b> +T_SWITCH = <b><c:textcolor:#0000FF> +/T_SWITCH = </c:textcolor></b> +T_STATIC = <b><c:textcolor:#0000FF> +/T_STATIC = </c:textcolor></b> +T_IF = <b><c:textcolor:#0000FF> +/T_IF = </c:textcolor></b> +T_FOREACH = <b><c:textcolor:#0000FF> +/T_FOREACH = </c:textcolor></b> +T_FOR = <b><c:textcolor:#0000FF> +/T_FOR = </c:textcolor></b> +T_WHILE = <b><c:textcolor:#0000FF> +/T_WHILE = </c:textcolor></b> +T_DO = <b><c:textcolor:#0000FF> +/T_DO = </c:textcolor></b> +T_CLASS = <b><c:textcolor:#0000FF> +/T_CLASS = </c:textcolor></b> +T_EXTENDS = <b><c:textcolor:#0000FF> +/T_EXTENDS = </c:textcolor></b> +T_VAR = <b><c:textcolor:#0000FF> +/T_VAR = </c:textcolor></b> +T_GLOBAL = <b><c:textcolor:#0000FF> +/T_GLOBAL = </c:textcolor></b> +T_ELSE = <b><c:textcolor:#0000FF> +/T_ELSE = </c:textcolor></b> +T_ELSEIF = <b><c:textcolor:#0000FF> +/T_ELSEIF = </c:textcolor></b> +T_NEW = <b><c:textcolor:#0000FF> +/T_NEW = </c:textcolor></b> +T_CONSTANT_ENCAPSED_STRING = <c:textcolor:#339999> +/T_CONSTANT_ENCAPSED_STRING = </c:textcolor> +T_STRING_VARNAME = <c:textcolor:#339999> +/T_STRING_VARNAME = </c:textcolor> +T_INCLUDE = <b><c:textcolor:#0000FF> +/T_INCLUDE = </c:textcolor></b> +T_INCLUDE_ONCE = <b><c:textcolor:#0000FF> +/T_INCLUDE_ONCE = </c:textcolor></b> +T_REQUIRE = <b><c:textcolor:#0000FF> +/T_REQUIRE = </c:textcolor></b> +T_REQUIRE_ONCE = <b><c:textcolor:#0000FF> +/T_REQUIRE_ONCE = </c:textcolor></b> +T_DNUMBER = <c:textcolor:#53AC46> +/T_DNUMBER = </c:textcolor> +T_LNUMBER = <c:textcolor:#53AC46> +/T_LNUMBER = </c:textcolor> +T_AS = <b><c:textcolor:#0000FF> +/T_AS = </c:textcolor></b> +T_BREAK = <b><c:textcolor:#0000FF> +/T_BREAK = </c:textcolor></b> +T_CASE = <b><c:textcolor:#0000FF> +/T_CASE = </c:textcolor></b> +T_CONTINUE = <b><c:textcolor:#0000FF> +/T_CONTINUE = </c:textcolor></b> +T_DECLARE = <b><c:textcolor:#0000FF> +/T_DECLARE = </c:textcolor></b> +T_DEFAULT = <b><c:textcolor:#0000FF> +/T_DEFAULT = </c:textcolor></b> +T_ENDDECLARE = <b><c:textcolor:#0000FF> +/T_ENDDECLARE = </c:textcolor></b> +T_ENDFOR = <b><c:textcolor:#0000FF> +/T_ENDFOR = </c:textcolor></b> +T_ENDFOREACH = <b><c:textcolor:#0000FF> +/T_ENDFOREACH = </c:textcolor></b> +T_ENDSWITCH = <b><c:textcolor:#0000FF> +/T_ENDSWITCH = </c:textcolor></b> +T_ENDWHILE = <b><c:textcolor:#0000FF> +/T_ENDWHILE = </c:textcolor></b> +T_EXIT = <b><c:textcolor:#0000FF> +/T_EXIT = </c:textcolor></b> +T_STRING = <c:textcolor:#FF8000> +/T_STRING = </c:textcolor> + +[highlightDocBlockSourceTokens] +;; this is for docblock tokens, using by phpDocumentor_HighlightParser +;; tagphptype is for "string" in @param string description, for example +docblock = <i><c:textcolor:#8080FF> +/docblock = </c:textcolor></i> +tagphptype = <i><c:textcolor:#A428CC> +/tagphptype = </c:textcolor></i> +tagvarname = <b><c:textcolor:#A428CC> +/tagvarname = </c:textcolor></b> +coretag = <c:textcolor:#A428CC> +/coretag = </c:textcolor> +tag = <c:textcolor:#A428CC> +/tag = </c:textcolor> +inlinetag = <i><c:textcolor:#A428CC> +/inlinetag = </c:textcolor></i> +internal = <i><c:textcolor:#808080> +/internal = </c:textcolor></i> +closetemplate = <c:textcolor:#5BACEE> +/closetemplate = </c:textcolor> +docblocktemplate = <c:textcolor:#5BACEE> +/docblocktemplate = </c:textcolor> + +[highlightSource] +;; this is for highlighting things that aren't tokens like "&" +;; format: +;; word = open +;; /word = close +& = <b> +/& = </b> +[ = <b> +/[ = </b> +] = <b> +/] = </b> +! = <b> +/! = </b> +";" = <b> +/; = </b> +( = <b> +/( = </b> +) = <b> +/) = </b> +, = <b> +/, = </b> +{ = <b> +/{ = </b> +} = <b> +/} = </b> +""" = <c:textcolor:#339999> +/" = </c:textcolor> + +[highlightTutorialSourceTokens] +;; this is for XML DocBook-based tutorials, highlighted by phpDocumentor_TutorialHighlightParser +;; <tag> +opentag = <c:textcolor:#8080FF> +/opentag = </c:textcolor> +;; </tag> +closetag = <c:textcolor:#8080FF> +/closetag = </c:textcolor> +;; <tag attribute="value"> +attribute = <c:textcolor:#A428CC> +/attribute = </c:textcolor> +;; <tag attribute="value"> +attributevalue = <c:textcolor:#5BACEE> +/attributevalue = </c:textcolor> +;; &entity; +entity = <b> +/entity = </b> +;; <!-- comment --> +comment = <i> +/comment = </i> +;; {@inline tag} +itag = <b><i> +/itag = </b></i> + +[desctranslate] +ul = <ul> +/ul = </ul> +ol = <ol> +/ol = </ol> +li = <li> +/li = </li> +code = </text><text size="8"><font face="Courier" /> +/code = </text><text size="10"><font face="Helvetica" /> +var = <i> +/var = </i> +samp = <font face="Courier" /><i> +/samp = </i><font face="Helvetica" /> +kbd = <font face="Courier" /><b> +/kbd = </b><font face="Helvetica" /> +pre = +/pre = +p = +/p = "\n\n" +b = <b> +/b = </b> +i = <i> +/i = </i> +br = "\n" + +[ppage] +;; this is the DocBook package page translation section. All DocBook tags +;; that have a corresponding html tag must be listed here +;; +;; examples: +;; 1) +;; tagname = newtagname +;; +;; This is the simplest case, where all attributes will be added into the +;; starting tag and the ending tag will be html/xml style </tranlatedtagname> +;; <tagname></tagname> becomes <newtagname></newtagname> and +;; <tagname attr="value"></tagname> becomes +;; <newtagname attr="value"></newtagname> +;; +;; 2) +;; tagname = newtagname +;; tagname->attr = newattrname +;; +;; in this case, everything will be like the first case, except tags like: +;; <tagname attr="value"></tagname> will become +;; <newtagname newattrname="value"></newtagname> +;; +;; 3) +;; tagname = newtagname +;; tagname->attr = newattrname +;; tagname->attr+value = newvalue +;; +;; in this case, the value is also translated to another. This can be useful +;; for instances such as focus="middle" changing to align="center" or something +;; of that nature. +;; <tagname attr="value"></tagname> will become +;; <newtagname newattrname="newvalue"></newtagname> +;; +;; 4) +;; tagname = newtagname +;; tagname!attr = dummy +;; +;; here, the attribute will be ignored. dummy is not used and may be any value +;; <tagname attr="value"></tagname> will become +;; <newtagname></newtagname> +;; +;; 5) +;; tagname = newtagname +;; tagname! = dummy +;; +;; here, all attributes will be ignored. dummy is not used and may be any value +;; <tagname attr1="value" attr2="foo"></tagname> will become +;; <newtagname></newtagname> +;; +;; 6) +;; $attr$my_attribute = newattrname +;; +;; tagname = newtagname +;; +;; in this case, all occurences of my_attribute in any tag will be changed to +;; newattrname. This is useful for changing things like role="php" to +;; class="php," for example. Note that the text "$attr$" MUST be on the line +;; start for phpDocumentor to recognize it. +;; +;; 7) +;; &entity; = translation text +;; " = " +;; " = """ +;; < = < +;; +;; Use this to control translation of entities to their appropriate values + + = " " +" = """ +” = """ +“ = """ +& = & +< = < +> = > +© = © + +author = <i> +author! +/author = "</i>\n" + +authorgroup = <text size="10"><b>Authors:</b> +/authorgroup = </text> +authorgroup! + +blockquote = blockquote +blockquote! + +authorblurb = blockquote +authorblurb! + +caution = "\n<b>Caution</b>\n<blockquote>" +/caution = "</blockquote>\n" +caution! + +command = b +command! + +copyright = i +copyright! + +emphasis = b +emphasis! + +example = "<b>Example:</b>\n<C:indent:20>\n" +/example = "\n<C:indent:-20>\n" +example! + +formalpara = " " +/formalpara = "\n\n" +formalpara! + +graphic = pdffunction:ezImage +graphic/ = 1 + +important = u +important! + +informalequation = blockquote +informalequation! + +inlineequation = i +inlineequation! + +itemizedlist = ul +itemizedlist! + +literal = <font face="Courier" /> +/literal = <font face="Helvetica" /> +literal! + +option = " " +/option = +option! + +listitem = li +listitem! + +orderedlist = ol +orderedlist! + +para = +/para = "\n\n" +para! + +programlisting = "\n</text><text size="8"><font face="Courier" />" +/programlisting = "</text><text size="10">\n<font face="Helvetica" />" +programlisting! + +refsect1 = "<text size="10" justification="left">" +/refsect1 = "\n</text>" +refsect1! + +refsect2 = "<text size="10" justification="left">" +/refsect2 = "\n</text>" +refsect2! + +refsect3 = "<text size="10" justification="left">" +/refsect3 = "\n</text>" +refsect3! + +refpurpose = <text size="13" justification="center"><i> +/refpurpose = "</i>\n</text>" +refpurpose! + +simpara = "<text size="10" justification="left"> " +/simpara = "</text>" +simpara! + +warning = "<b>Warning:</b>\n<blockquote>" +/warning = "</blockquote>\n" +warning! + +;; now begins the attributes that should be tags in cdata +[$attr$id] +open = <pdffunction:addDestination arg=" +close = " arg="FitH" arg=$this->y /> +cdata! = true +quotevalues = true +separator = "=" +;separateall = true +$id = id + +;; now begins the sections that deal with <title> +[refentry_title] +;tag_attr = true +;attr_name = title +cdata_start = true +;cdata_end = true +open = </text><text size="20" justification="centre"><b> +close = "\n</b></text><text size="10" justification="left">" + +[refsect1_title] +;tag_attr = true +;attr_name = title +cdata_start = true +;cdata_end = true +open = </text><text size="15" justification="centre"><b> +close = "\n</b></text><text size="10" justification="left">" + +[refsect2_title] +;tag_attr = true +;attr_name = title +cdata_start = true +;cdata_end = true +open = </text><text size="13" justification="centre"><b> +close = "\n</b></text><text size="10" justification="left">" + +[refsect3_title] +;tag_attr = true +;attr_name = title +cdata_start = true +;cdata_end = true +open = </text><text size="11" justification="centre"><i> +close = "\n</i></text><text size="10" justification="left">" + +[para_title] +;tag_attr = true +;attr_name = title +cdata_start = true +;cdata_end = true +open = </text><text size="11" justification="left"><b> +close = "\n</b></text><text size="10" justification="left">" + +[formalpara_title] +;tag_attr = true +;attr_name = title +cdata_start = true +;cdata_end = true +open = </text><text size="11" justification="centre"><b> +close = "\n</b></text><text size="10" justification="left">" + +[example_title] +;tag_attr = true +;attr_name = title +cdata_start = true +;cdata_end = true +open = </text><text size="11" justification="centre"> +close = "\n</text><text size="10" justification="left">" diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/PDF/default/templates/default/templates/appendix_title_page.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/PDF/default/templates/default/templates/appendix_title_page.tpl new file mode 100755 index 00000000..a18b32b6 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/PDF/default/templates/default/templates/appendix_title_page.tpl @@ -0,0 +1,4 @@ +<newpage /> +<text size="26" justification="centre"><C:rf:1Appendices><b>Appendices</b> +</text> +<newpage /> diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/PDF/default/templates/default/templates/class.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/PDF/default/templates/default/templates/class.tpl new file mode 100755 index 00000000..17db4f0a --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/PDF/default/templates/default/templates/class.tpl @@ -0,0 +1,12 @@ +{capture name="clink"}{if $is_interface}Interface{else}Class{/if} {$name}{/capture} +{capture name="cindex"}{$name}|||{$sdesc}{/capture} +{capture name="classeslink"}Package {$package} Classes{/capture} +{if $plink}{capture name="plink"}Package {$package}{/capture}{/if} +{if $includeheader}{include file="newpackage_header.tpl" isclass=true}{/if} +<text size="11"> + + + +</text> +<pdffunction:addDestination arg="{$dest}" arg="FitH" arg=$this->y /> +<text size="20" justification="centre">{if $is_interface}Interface{else}Class{/if} {$name} <i></text><text size="11" justification="centre">[line {if $slink}{$slink}{else}{$linenumber}{/if}]</i><C:rf:2{$smarty.capture.clink|rawurlencode}><C:index:{$smarty.capture.cindex|rawurlencode}></text> diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/PDF/default/templates/default/templates/classtree.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/PDF/default/templates/default/templates/classtree.tpl new file mode 100755 index 00000000..42063dc2 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/PDF/default/templates/default/templates/classtree.tpl @@ -0,0 +1,11 @@ +{* Class Trees template for the PDF Converter *} +<text size="26" justification="centre"><C:rf:2Appendix A - Class Trees>Appendix A - Class Trees +</text> +{section name=classtrees loop=$trees} +<text size="16" justification="centre"><C:rf:3{$trees[classtrees].package}>Package {$trees[classtrees].package} +</text> +{section name=trees loop=$trees[classtrees].trees} +<text size="12"><C:IndexLetter:{$trees[classtrees].trees[trees].class}> +{$trees[classtrees].trees[trees].class_tree}</text> +{/section} +{/section}
\ No newline at end of file diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/PDF/default/templates/default/templates/const.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/PDF/default/templates/default/templates/const.tpl new file mode 100644 index 00000000..0236dfd0 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/PDF/default/templates/default/templates/const.tpl @@ -0,0 +1,7 @@ +{capture name="vlink"}Class Constant {$name}{/capture} +{capture name="vindex"}{$class}::{$name}|||{$sdesc}{/capture} +<pdffunction:addDestination arg="{$dest}" arg="FitH" arg=$this->y /> +<text size="10" justification="left"><b>{$class}::{$name}</b> +<C:indent:25> + = {$value} <i>[line {if $slink}{$slink}{else}{$linenumber}{/if}]</i><C:rf:3{$smarty.capture.vlink|rawurlencode}><C:index:{$smarty.capture.vindex|rawurlencode}> +<C:indent:-25></text> diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/PDF/default/templates/default/templates/define.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/PDF/default/templates/default/templates/define.tpl new file mode 100755 index 00000000..8ae570cb --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/PDF/default/templates/default/templates/define.tpl @@ -0,0 +1,4 @@ +{capture name="dlink"}Define {$name}{/capture} +{capture name="dindex"}{$name}|||{$sdesc}{/capture} +<pdffunction:addDestination arg="{$dest}" arg="FitH" arg=$this->y /> +<text size="10" justification="left">{$name} = {$value} <i>[line {if $slink}{$slink}{else}{$linenumber}{/if}]</i><C:rf:3{$smarty.capture.dlink|rawurlencode}><C:index:{$smarty.capture.dindex|rawurlencode}></text> diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/PDF/default/templates/default/templates/docblock.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/PDF/default/templates/default/templates/docblock.tpl new file mode 100755 index 00000000..8cc8d004 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/PDF/default/templates/default/templates/docblock.tpl @@ -0,0 +1,10 @@ +{if $sdesc}<text size="12" justification="full" left="10"><C:indent:25><b>{$sdesc}</b> +<C:indent:-25>{$desc} +</text>{/if} +{if $tags} +<text size="10" left="15"> +<C:indent:40> +<ul>{section name=tags loop=$tags}<li><b>{$tags[tags].keyword}</b> {$tags[tags].data}</li> +{/section}</ul> +<C:indent:-40></text> +{/if} diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/PDF/default/templates/default/templates/examplesource.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/PDF/default/templates/default/templates/examplesource.tpl new file mode 100755 index 00000000..8da4c782 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/PDF/default/templates/default/templates/examplesource.tpl @@ -0,0 +1,5 @@ +<text size="15" justification="centre"><C:rf:3example: {$title}>{$title} +</text> +<font face="Courier" /> +<text size="8">{$source}</text> +<font face="Helvetica" /> diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/PDF/default/templates/default/templates/filesource.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/PDF/default/templates/default/templates/filesource.tpl new file mode 100755 index 00000000..bbe40d41 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/PDF/default/templates/default/templates/filesource.tpl @@ -0,0 +1,11 @@ +{capture name="gindex"}{$name}|||Source code{/capture} +<newpage /> +<pdffunction:addDestination arg="{$dest}" arg="FitH" arg=$this->y /> +<text size="26" justification="centre"><C:index:{$smarty.capture.gindex|rawurlencode}><C:rf:3source code: {$name}>File Source for {$name} +</text> +<text size="12"><i>Documentation for this file is available at {$docs}</i> + +</text> +<font face="Courier" /> +<text size="8">{$source}</text> +<font face="Helvetica" /> diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/PDF/default/templates/default/templates/footer.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/PDF/default/templates/default/templates/footer.tpl new file mode 100755 index 00000000..56994872 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/PDF/default/templates/default/templates/footer.tpl @@ -0,0 +1,11 @@ +<pdffunction:openObject return="all" /> +<pdffunction:saveState /> +<pdffunction:setStrokeColor arg="0" arg="0" arg="0" arg="1" /> +<pdffunction:line arg="20" arg="40" arg="578" arg="40" /> +<pdffunction:line arg="20" arg="822" arg="578" arg="822" /> +<pdffunction:addText arg="50" arg="34" arg="6" arg="Generated by phpDocumentor v{$phpdocversion} http://www.phpdoc.org - http://pear.php.net/package/PhpDocumentor - http://www.sourceforge.net/projects/phpdocu" /> +<pdffunction:restoreState /> +<pdffunction:closeObject /> +{* note that object can be told to appear on just odd or even pages by changing +'all' to 'odd' or 'even'. *} +<pdffunction:addObject arg=$all arg="all" />
\ No newline at end of file diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/PDF/default/templates/default/templates/function.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/PDF/default/templates/default/templates/function.tpl new file mode 100755 index 00000000..a5595dff --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/PDF/default/templates/default/templates/function.tpl @@ -0,0 +1,4 @@ +{capture name="flink"}Function {$intricatefunctioncall.name}{/capture} +{capture name="findex"}{$intricatefunctioncall.name}()|||{$sdesc}{/capture} +<pdffunction:addDestination arg="{$dest}" arg="FitH" arg=$this->y /> +<text size="10" justification="left"><i>{$return}</i> function {$intricatefunctioncall.name}({section name=params loop=$intricatefunctioncall.params}{if $smarty.section.params.index > 0}, {/if}{if $intricatefunctioncall.params[params].hasdefault}[{/if}{$intricatefunctioncall.params[params].name}{if $intricatefunctioncall.params[params].hasdefault} = {$intricatefunctioncall.params[params].default}]{/if}{/section}) <i>[line {if $slink}{$slink}{else}{$linenumber}{/if}]</i><C:rf:3{$smarty.capture.flink|rawurlencode}><C:index:{$smarty.capture.findex|rawurlencode}></text> diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/PDF/default/templates/default/templates/global.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/PDF/default/templates/default/templates/global.tpl new file mode 100755 index 00000000..61852043 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/PDF/default/templates/default/templates/global.tpl @@ -0,0 +1,7 @@ +{capture name="glink"}Global Variable {$name}{/capture} +{capture name="gindex"}global {$name}|||{$sdesc}{/capture} +<pdffunction:addDestination arg="{$dest}" arg="FitH" arg=$this->y /> +<text size="10" justification="left"><b>{$name}</b> +<C:indent:25> +<i>{$type}</i> = {$value} <i>[line {if $slink}{$slink}{else}{$linenumber}{/if}]</i><C:rf:3{$smarty.capture.glink|rawurlencode}><C:index:{$smarty.capture.gindex|rawurlencode}> +<C:indent:-25></text> diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/PDF/default/templates/default/templates/include.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/PDF/default/templates/default/templates/include.tpl new file mode 100755 index 00000000..399f04d8 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/PDF/default/templates/default/templates/include.tpl @@ -0,0 +1,3 @@ +<text size="10" justification="left">{$name} <b>{$value}</b> <i>[line {if $slink}{$slink}{else}{$linenumber}{/if}]</i> + +</text>
\ No newline at end of file diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/PDF/default/templates/default/templates/index.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/PDF/default/templates/default/templates/index.tpl new file mode 100755 index 00000000..03961713 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/PDF/default/templates/default/templates/index.tpl @@ -0,0 +1,14 @@ +<pdffunction:ezInsertMode arg="0" /> +<newpage /> +<text size="26" justification="centre"><C:rf:1Index>Index +</text> +{foreach item="contents" key="letter" from=$indexcontents} +<text size="26"><C:IndexLetter:{$letter}></text> +{foreach item="arr" from=$contents} +<text size="11" aright="520"><c:ilink:toc{$arr[3]}>{$arr[0]}</c:ilink><C:dots:4{$arr[2]}></text> +{if $arr[1]} +<text size="11" left="50"><i>{$arr[1]}</i></text> +{/if} +{/foreach} +{/foreach} + diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/PDF/default/templates/default/templates/media/logo.jpg b/buildscripts/PhpDocumentor/phpDocumentor/Converters/PDF/default/templates/default/templates/media/logo.jpg Binary files differnew file mode 100644 index 00000000..c9924091 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/PDF/default/templates/default/templates/media/logo.jpg diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/PDF/default/templates/default/templates/method.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/PDF/default/templates/default/templates/method.tpl new file mode 100755 index 00000000..dcc72f9f --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/PDF/default/templates/default/templates/method.tpl @@ -0,0 +1,4 @@ +{capture name="mlink"}{if $constructor}Constructor {else}Method {/if}{$intricatefunctioncall.name}{/capture} +{capture name="mindex"}{if $constructor}constructor {/if}{$class}::{$intricatefunctioncall.name}()|||{$sdesc}{/capture} +<pdffunction:addDestination arg="{$dest}" arg="FitH" arg=$this->y /> +<text size="10" justification="left">{if $constructor}Constructor {else}{/if}<i>{$return}</i> function {$class}::{$intricatefunctioncall.name}({section name=params loop=$intricatefunctioncall.params}{if $smarty.section.params.index > 0}, {/if}{if $intricatefunctioncall.params[params].hasdefault}[{/if}{$intricatefunctioncall.params[params].name}{if $intricatefunctioncall.params[params].hasdefault} = {$intricatefunctioncall.params[params].default}]{/if}{/section}) <i>[line {if $slink}{$slink}{else}{$linenumber}{/if}]</i><C:rf:3{$smarty.capture.mlink|rawurlencode}><C:index:{$smarty.capture.mindex|rawurlencode}></text> diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/PDF/default/templates/default/templates/newpackage_header.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/PDF/default/templates/default/templates/newpackage_header.tpl new file mode 100755 index 00000000..c12c3e5d --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/PDF/default/templates/default/templates/newpackage_header.tpl @@ -0,0 +1,6 @@ +<newpage /> +{if $ppage}{include file="packagepage.tpl" package=$package plink=$smarty.capture.plink ppage=$ppage}{/if} +<text size="26" justification="centre">Package {$package} {if $isclass}Classes{else}Procedural Elements{/if}<C:rf:1{$smarty.capture.classeslink|rawurlencode}> + + +</text> diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/PDF/default/templates/default/templates/packagepage.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/PDF/default/templates/default/templates/packagepage.tpl new file mode 100755 index 00000000..94accf30 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/PDF/default/templates/default/templates/packagepage.tpl @@ -0,0 +1,5 @@ +<text size="26" justification="centre">Package {$package}<C:rf:1{$plink|rawurlencode}> + + +</text> +<text size="12">{$ppage}</text>
\ No newline at end of file diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/PDF/default/templates/default/templates/page.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/PDF/default/templates/default/templates/page.tpl new file mode 100755 index 00000000..73d33c1c --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/PDF/default/templates/default/templates/page.tpl @@ -0,0 +1,7 @@ +{capture name="pagelink"}{$name}{/capture} +{capture name="pageindex"}{$name}|||{$sdesc}{/capture} +{capture name="classeslink"}Package {$package} Procedural Elements{/capture} +<newpage /> +{if $includeheader}{include file="newpackage_header.tpl" isclass=false}{/if} +<pdffunction:addDestination arg="{$dest}" arg="FitH" arg=$this->y /> +<text size="18" justification="center">{$name}<C:rf:2{$smarty.capture.pagelink|rawurlencode}><C:index:{$smarty.capture.pageindex|rawurlencode}></text>
\ No newline at end of file diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/PDF/default/templates/default/templates/pagenumbering.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/PDF/default/templates/default/templates/pagenumbering.tpl new file mode 100755 index 00000000..bb260c38 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/PDF/default/templates/default/templates/pagenumbering.tpl @@ -0,0 +1 @@ +<pdffunction:ezStartPageNumbers x="500" y="28" size="10" pos="" pattern="Page {ldelim}PAGENUM{rdelim} of {ldelim}TOTALPAGENUM{rdelim}" num="1" /> diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/PDF/default/templates/default/templates/params.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/PDF/default/templates/default/templates/params.tpl new file mode 100755 index 00000000..64be39c3 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/PDF/default/templates/default/templates/params.tpl @@ -0,0 +1,4 @@ +{if count($params)}<text size="10" left="15"><b><i>Function Parameters:</i></b> +</text><text size="11" left="20"><ul>{section name=params loop=$params} +<li><i>{$params[params].type}</i> <b>{$params[params].name}</b> {$params[params].description}</li> +{/section}</ul></text>{/if} diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/PDF/default/templates/default/templates/ric.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/PDF/default/templates/default/templates/ric.tpl new file mode 100755 index 00000000..427e0afb --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/PDF/default/templates/default/templates/ric.tpl @@ -0,0 +1,7 @@ +{capture name="tlink"}{$name}{/capture} +{capture name="tindex"}{$name}|||{/capture} +<text size="20" justification="centre"><C:rf:3{$smarty.capture.tlink|rawurlencode}><C:index:{$smarty.capture.tindex|rawurlencode}>{$name} + +</text> +<text size="10" justification="left"> +{$contents|htmlentities}</text>
\ No newline at end of file diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/PDF/default/templates/default/templates/ric_title_page.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/PDF/default/templates/default/templates/ric_title_page.tpl new file mode 100755 index 00000000..5a604b7f --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/PDF/default/templates/default/templates/ric_title_page.tpl @@ -0,0 +1,5 @@ +<newpage /> +{* Class Trees template for the PDF Converter *} +<text size="26" justification="centre"><C:rf:2Appendix B - README/CHANGELOG/INSTALL>Appendix B - README/CHANGELOG/INSTALL +</text> +<newpage /> diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/PDF/default/templates/default/templates/source_loop.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/PDF/default/templates/default/templates/source_loop.tpl new file mode 100755 index 00000000..7d85c2e3 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/PDF/default/templates/default/templates/source_loop.tpl @@ -0,0 +1,8 @@ +{* Source Code template for the PDF Converter *} +{foreach from=$source item=code id=$package} +<text size="16" justification="centre"><C:rf:3Package {$package}>Package {$package} +</text> +{section name=code loop=$code} +{$code[code]} +{/section} +{/foreach}
\ No newline at end of file diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/PDF/default/templates/default/templates/source_title_page.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/PDF/default/templates/default/templates/source_title_page.tpl new file mode 100755 index 00000000..42f868f7 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/PDF/default/templates/default/templates/source_title_page.tpl @@ -0,0 +1,5 @@ +<newpage /> +{* Class Trees template for the PDF Converter *} +<text size="26" justification="centre"><C:rf:2Appendix C - Source Code>Appendix C - Source Code +</text> +<newpage /> diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/PDF/default/templates/default/templates/title_page.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/PDF/default/templates/default/templates/title_page.tpl new file mode 100755 index 00000000..91d50cfc --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/PDF/default/templates/default/templates/title_page.tpl @@ -0,0 +1,7 @@ +<pdffunction:ezSetDy arg="-100" /> +<text size="30" justification="centre"><b>{$title}</b></text> +<pdffunction:ezSetDy arg="-150" /> +{if $logo} +<pdffunction:getYPlusOffset return="newy" offset="0" /> +<pdffunction:addJpegFromFile arg="{$logo}" x="250" y=$newy /> +{/if}
\ No newline at end of file diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/PDF/default/templates/default/templates/toc.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/PDF/default/templates/default/templates/toc.tpl new file mode 100755 index 00000000..e632ad16 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/PDF/default/templates/default/templates/toc.tpl @@ -0,0 +1,15 @@ +<pdffunction:ezStopPageNumbers arg="1" arg="1" /> +<pdffunction:ezInsertMode arg="1" arg="1" arg="after" /> +<newpage /> +<text size="26" justification="centre">Contents +</text> +{assign var="xpos" value="520"} +{foreach item=v key=k from=$contents} +{if $v[2] == '1'} +<text size="16" aright="{$xpos}"><c:ilink:toc{$k}>{$v[0]}</c:ilink><C:dots:3{$v[1]}></text> +{elseif $v[2] == '2'} +<text size="12" aright="{$xpos}" left="30"><c:ilink:toc{$k}>{$v[0]}</c:ilink><C:dots:3{$v[1]}></text> +{elseif $v[2] == '3'} +<text size="12" aright="{$xpos}" left="40"><c:ilink:toc{$k}>{$v[0]}</c:ilink><C:dots:3{$v[1]}></text> +{/if} +{/foreach} diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/PDF/default/templates/default/templates/todolist.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/PDF/default/templates/default/templates/todolist.tpl new file mode 100755 index 00000000..2652c1c6 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/PDF/default/templates/default/templates/todolist.tpl @@ -0,0 +1,17 @@ +<newpage /> +{* Todo List template for the PDF Converter *} +<text size="26" justification="centre"><C:rf:2Appendix D - Todo List>Appendix D - Todo List +</text> +{foreach from=$todos key=todopackage item=todo} +<text size="16" justification="centre">In Package {$todopackage} + +</text> +{section name=todo loop=$todo} +<text size="12">In <b>{$todo[todo].link}</b>: +</text> +<text size="11"><ul>{section name=t loop=$todo[todo].todos} + <li>{$todo[todo].todos[t]}</li>{/section} +</ul> +</text> +{/section} +{/foreach}
\ No newline at end of file diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/PDF/default/templates/default/templates/tutorial.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/PDF/default/templates/default/templates/tutorial.tpl new file mode 100755 index 00000000..c5f8a2dc --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/PDF/default/templates/default/templates/tutorial.tpl @@ -0,0 +1,7 @@ +{capture name="tlink"}{$title|strip_tags}{/capture} +{capture name="tindex"}{$title|strip_tags}|||{/capture} +{capture name="dest"}tutorial{$package}{$subpackage}{$element->name}{/capture} +<newpage /> +<pdffunction:addDestination arg="{$smarty.capture.dest|urlencode}" arg="FitH" arg=$this->y /> +<text size="26" justification="centre">{$title}<C:rf:{if $hasparent}3{elseif $child}2{else}1{/if}{$smarty.capture.tlink|rawurlencode}><C:index:{$smarty.capture.tindex|rawurlencode}> +</text>{$contents}
\ No newline at end of file diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/PDF/default/templates/default/templates/var.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/PDF/default/templates/default/templates/var.tpl new file mode 100755 index 00000000..0a9fe927 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/PDF/default/templates/default/templates/var.tpl @@ -0,0 +1,7 @@ +{capture name="vlink"}Var {$name}{/capture} +{capture name="vindex"}{$class}::{$name}|||{$sdesc}{/capture} +<pdffunction:addDestination arg="{$dest}" arg="FitH" arg=$this->y /> +<text size="10" justification="left"><b>{$class}::{$name}</b> +<C:indent:25> +<i>{$type}</i> = {$value} <i>[line {if $slink}{$slink}{else}{$linenumber}{/if}]</i><C:rf:3{$smarty.capture.vlink|rawurlencode}><C:index:{$smarty.capture.vindex|rawurlencode}> +<C:indent:-25></text> diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/PDF/default/templates/fonts/Courier-Bold.afm b/buildscripts/PhpDocumentor/phpDocumentor/Converters/PDF/default/templates/fonts/Courier-Bold.afm new file mode 100755 index 00000000..eb80542b --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/PDF/default/templates/fonts/Courier-Bold.afm @@ -0,0 +1,342 @@ +StartFontMetrics 4.1 +Comment Copyright (c) 1989, 1990, 1991, 1993, 1997 Adobe Systems Incorporated. All Rights Reserved. +Comment Creation Date: Mon Jun 23 16:28:00 1997 +Comment UniqueID 43048 +Comment VMusage 41139 52164 +FontName Courier-Bold +FullName Courier Bold +FamilyName Courier +Weight Bold +ItalicAngle 0 +IsFixedPitch true +CharacterSet ExtendedRoman +FontBBox -113 -250 749 801 +UnderlinePosition -100 +UnderlineThickness 50 +Version 003.000 +Notice Copyright (c) 1989, 1990, 1991, 1993, 1997 Adobe Systems Incorporated. All Rights Reserved. +EncodingScheme AdobeStandardEncoding +CapHeight 562 +XHeight 439 +Ascender 629 +Descender -157 +StdHW 84 +StdVW 106 +StartCharMetrics 315 +C 32 ; WX 600 ; N space ; B 0 0 0 0 ; +C 33 ; WX 600 ; N exclam ; B 202 -15 398 572 ; +C 34 ; WX 600 ; N quotedbl ; B 135 277 465 562 ; +C 35 ; WX 600 ; N numbersign ; B 56 -45 544 651 ; +C 36 ; WX 600 ; N dollar ; B 82 -126 519 666 ; +C 37 ; WX 600 ; N percent ; B 5 -15 595 616 ; +C 38 ; WX 600 ; N ampersand ; B 36 -15 546 543 ; +C 39 ; WX 600 ; N quoteright ; B 171 277 423 562 ; +C 40 ; WX 600 ; N parenleft ; B 219 -102 461 616 ; +C 41 ; WX 600 ; N parenright ; B 139 -102 381 616 ; +C 42 ; WX 600 ; N asterisk ; B 91 219 509 601 ; +C 43 ; WX 600 ; N plus ; B 71 39 529 478 ; +C 44 ; WX 600 ; N comma ; B 123 -111 393 174 ; +C 45 ; WX 600 ; N hyphen ; B 100 203 500 313 ; +C 46 ; WX 600 ; N period ; B 192 -15 408 171 ; +C 47 ; WX 600 ; N slash ; B 98 -77 502 626 ; +C 48 ; WX 600 ; N zero ; B 87 -15 513 616 ; +C 49 ; WX 600 ; N one ; B 81 0 539 616 ; +C 50 ; WX 600 ; N two ; B 61 0 499 616 ; +C 51 ; WX 600 ; N three ; B 63 -15 501 616 ; +C 52 ; WX 600 ; N four ; B 53 0 507 616 ; +C 53 ; WX 600 ; N five ; B 70 -15 521 601 ; +C 54 ; WX 600 ; N six ; B 90 -15 521 616 ; +C 55 ; WX 600 ; N seven ; B 55 0 494 601 ; +C 56 ; WX 600 ; N eight ; B 83 -15 517 616 ; +C 57 ; WX 600 ; N nine ; B 79 -15 510 616 ; +C 58 ; WX 600 ; N colon ; B 191 -15 407 425 ; +C 59 ; WX 600 ; N semicolon ; B 123 -111 408 425 ; +C 60 ; WX 600 ; N less ; B 66 15 523 501 ; +C 61 ; WX 600 ; N equal ; B 71 118 529 398 ; +C 62 ; WX 600 ; N greater ; B 77 15 534 501 ; +C 63 ; WX 600 ; N question ; B 98 -14 501 580 ; +C 64 ; WX 600 ; N at ; B 16 -15 584 616 ; +C 65 ; WX 600 ; N A ; B -9 0 609 562 ; +C 66 ; WX 600 ; N B ; B 30 0 573 562 ; +C 67 ; WX 600 ; N C ; B 22 -18 560 580 ; +C 68 ; WX 600 ; N D ; B 30 0 594 562 ; +C 69 ; WX 600 ; N E ; B 25 0 560 562 ; +C 70 ; WX 600 ; N F ; B 39 0 570 562 ; +C 71 ; WX 600 ; N G ; B 22 -18 594 580 ; +C 72 ; WX 600 ; N H ; B 20 0 580 562 ; +C 73 ; WX 600 ; N I ; B 77 0 523 562 ; +C 74 ; WX 600 ; N J ; B 37 -18 601 562 ; +C 75 ; WX 600 ; N K ; B 21 0 599 562 ; +C 76 ; WX 600 ; N L ; B 39 0 578 562 ; +C 77 ; WX 600 ; N M ; B -2 0 602 562 ; +C 78 ; WX 600 ; N N ; B 8 -12 610 562 ; +C 79 ; WX 600 ; N O ; B 22 -18 578 580 ; +C 80 ; WX 600 ; N P ; B 48 0 559 562 ; +C 81 ; WX 600 ; N Q ; B 32 -138 578 580 ; +C 82 ; WX 600 ; N R ; B 24 0 599 562 ; +C 83 ; WX 600 ; N S ; B 47 -22 553 582 ; +C 84 ; WX 600 ; N T ; B 21 0 579 562 ; +C 85 ; WX 600 ; N U ; B 4 -18 596 562 ; +C 86 ; WX 600 ; N V ; B -13 0 613 562 ; +C 87 ; WX 600 ; N W ; B -18 0 618 562 ; +C 88 ; WX 600 ; N X ; B 12 0 588 562 ; +C 89 ; WX 600 ; N Y ; B 12 0 589 562 ; +C 90 ; WX 600 ; N Z ; B 62 0 539 562 ; +C 91 ; WX 600 ; N bracketleft ; B 245 -102 475 616 ; +C 92 ; WX 600 ; N backslash ; B 99 -77 503 626 ; +C 93 ; WX 600 ; N bracketright ; B 125 -102 355 616 ; +C 94 ; WX 600 ; N asciicircum ; B 108 250 492 616 ; +C 95 ; WX 600 ; N underscore ; B 0 -125 600 -75 ; +C 96 ; WX 600 ; N quoteleft ; B 178 277 428 562 ; +C 97 ; WX 600 ; N a ; B 35 -15 570 454 ; +C 98 ; WX 600 ; N b ; B 0 -15 584 626 ; +C 99 ; WX 600 ; N c ; B 40 -15 545 459 ; +C 100 ; WX 600 ; N d ; B 20 -15 591 626 ; +C 101 ; WX 600 ; N e ; B 40 -15 563 454 ; +C 102 ; WX 600 ; N f ; B 83 0 547 626 ; L i fi ; L l fl ; +C 103 ; WX 600 ; N g ; B 30 -146 580 454 ; +C 104 ; WX 600 ; N h ; B 5 0 592 626 ; +C 105 ; WX 600 ; N i ; B 77 0 523 658 ; +C 106 ; WX 600 ; N j ; B 63 -146 440 658 ; +C 107 ; WX 600 ; N k ; B 20 0 585 626 ; +C 108 ; WX 600 ; N l ; B 77 0 523 626 ; +C 109 ; WX 600 ; N m ; B -22 0 626 454 ; +C 110 ; WX 600 ; N n ; B 18 0 592 454 ; +C 111 ; WX 600 ; N o ; B 30 -15 570 454 ; +C 112 ; WX 600 ; N p ; B -1 -142 570 454 ; +C 113 ; WX 600 ; N q ; B 20 -142 591 454 ; +C 114 ; WX 600 ; N r ; B 47 0 580 454 ; +C 115 ; WX 600 ; N s ; B 68 -17 535 459 ; +C 116 ; WX 600 ; N t ; B 47 -15 532 562 ; +C 117 ; WX 600 ; N u ; B -1 -15 569 439 ; +C 118 ; WX 600 ; N v ; B -1 0 601 439 ; +C 119 ; WX 600 ; N w ; B -18 0 618 439 ; +C 120 ; WX 600 ; N x ; B 6 0 594 439 ; +C 121 ; WX 600 ; N y ; B -4 -142 601 439 ; +C 122 ; WX 600 ; N z ; B 81 0 520 439 ; +C 123 ; WX 600 ; N braceleft ; B 160 -102 464 616 ; +C 124 ; WX 600 ; N bar ; B 255 -250 345 750 ; +C 125 ; WX 600 ; N braceright ; B 136 -102 440 616 ; +C 126 ; WX 600 ; N asciitilde ; B 71 153 530 356 ; +C 161 ; WX 600 ; N exclamdown ; B 202 -146 398 449 ; +C 162 ; WX 600 ; N cent ; B 66 -49 518 614 ; +C 163 ; WX 600 ; N sterling ; B 72 -28 558 611 ; +C 164 ; WX 600 ; N fraction ; B 25 -60 576 661 ; +C 165 ; WX 600 ; N yen ; B 10 0 590 562 ; +C 166 ; WX 600 ; N florin ; B -30 -131 572 616 ; +C 167 ; WX 600 ; N section ; B 83 -70 517 580 ; +C 168 ; WX 600 ; N currency ; B 54 49 546 517 ; +C 169 ; WX 600 ; N quotesingle ; B 227 277 373 562 ; +C 170 ; WX 600 ; N quotedblleft ; B 71 277 535 562 ; +C 171 ; WX 600 ; N guillemotleft ; B 8 70 553 446 ; +C 172 ; WX 600 ; N guilsinglleft ; B 141 70 459 446 ; +C 173 ; WX 600 ; N guilsinglright ; B 141 70 459 446 ; +C 174 ; WX 600 ; N fi ; B 12 0 593 626 ; +C 175 ; WX 600 ; N fl ; B 12 0 593 626 ; +C 177 ; WX 600 ; N endash ; B 65 203 535 313 ; +C 178 ; WX 600 ; N dagger ; B 106 -70 494 580 ; +C 179 ; WX 600 ; N daggerdbl ; B 106 -70 494 580 ; +C 180 ; WX 600 ; N periodcentered ; B 196 165 404 351 ; +C 182 ; WX 600 ; N paragraph ; B 6 -70 576 580 ; +C 183 ; WX 600 ; N bullet ; B 140 132 460 430 ; +C 184 ; WX 600 ; N quotesinglbase ; B 175 -142 427 143 ; +C 185 ; WX 600 ; N quotedblbase ; B 65 -142 529 143 ; +C 186 ; WX 600 ; N quotedblright ; B 61 277 525 562 ; +C 187 ; WX 600 ; N guillemotright ; B 47 70 592 446 ; +C 188 ; WX 600 ; N ellipsis ; B 26 -15 574 116 ; +C 189 ; WX 600 ; N perthousand ; B -113 -15 713 616 ; +C 191 ; WX 600 ; N questiondown ; B 99 -146 502 449 ; +C 193 ; WX 600 ; N grave ; B 132 508 395 661 ; +C 194 ; WX 600 ; N acute ; B 205 508 468 661 ; +C 195 ; WX 600 ; N circumflex ; B 103 483 497 657 ; +C 196 ; WX 600 ; N tilde ; B 89 493 512 636 ; +C 197 ; WX 600 ; N macron ; B 88 505 512 585 ; +C 198 ; WX 600 ; N breve ; B 83 468 517 631 ; +C 199 ; WX 600 ; N dotaccent ; B 230 498 370 638 ; +C 200 ; WX 600 ; N dieresis ; B 128 498 472 638 ; +C 202 ; WX 600 ; N ring ; B 198 481 402 678 ; +C 203 ; WX 600 ; N cedilla ; B 205 -206 387 0 ; +C 205 ; WX 600 ; N hungarumlaut ; B 68 488 588 661 ; +C 206 ; WX 600 ; N ogonek ; B 169 -199 400 0 ; +C 207 ; WX 600 ; N caron ; B 103 493 497 667 ; +C 208 ; WX 600 ; N emdash ; B -10 203 610 313 ; +C 225 ; WX 600 ; N AE ; B -29 0 602 562 ; +C 227 ; WX 600 ; N ordfeminine ; B 147 196 453 580 ; +C 232 ; WX 600 ; N Lslash ; B 39 0 578 562 ; +C 233 ; WX 600 ; N Oslash ; B 22 -22 578 584 ; +C 234 ; WX 600 ; N OE ; B -25 0 595 562 ; +C 235 ; WX 600 ; N ordmasculine ; B 147 196 453 580 ; +C 241 ; WX 600 ; N ae ; B -4 -15 601 454 ; +C 245 ; WX 600 ; N dotlessi ; B 77 0 523 439 ; +C 248 ; WX 600 ; N lslash ; B 77 0 523 626 ; +C 249 ; WX 600 ; N oslash ; B 30 -24 570 463 ; +C 250 ; WX 600 ; N oe ; B -18 -15 611 454 ; +C 251 ; WX 600 ; N germandbls ; B 22 -15 596 626 ; +C -1 ; WX 600 ; N Idieresis ; B 77 0 523 761 ; +C -1 ; WX 600 ; N eacute ; B 40 -15 563 661 ; +C -1 ; WX 600 ; N abreve ; B 35 -15 570 661 ; +C -1 ; WX 600 ; N uhungarumlaut ; B -1 -15 628 661 ; +C -1 ; WX 600 ; N ecaron ; B 40 -15 563 667 ; +C -1 ; WX 600 ; N Ydieresis ; B 12 0 589 761 ; +C -1 ; WX 600 ; N divide ; B 71 16 529 500 ; +C -1 ; WX 600 ; N Yacute ; B 12 0 589 784 ; +C -1 ; WX 600 ; N Acircumflex ; B -9 0 609 780 ; +C -1 ; WX 600 ; N aacute ; B 35 -15 570 661 ; +C -1 ; WX 600 ; N Ucircumflex ; B 4 -18 596 780 ; +C -1 ; WX 600 ; N yacute ; B -4 -142 601 661 ; +C -1 ; WX 600 ; N scommaaccent ; B 68 -250 535 459 ; +C -1 ; WX 600 ; N ecircumflex ; B 40 -15 563 657 ; +C -1 ; WX 600 ; N Uring ; B 4 -18 596 801 ; +C -1 ; WX 600 ; N Udieresis ; B 4 -18 596 761 ; +C -1 ; WX 600 ; N aogonek ; B 35 -199 586 454 ; +C -1 ; WX 600 ; N Uacute ; B 4 -18 596 784 ; +C -1 ; WX 600 ; N uogonek ; B -1 -199 585 439 ; +C -1 ; WX 600 ; N Edieresis ; B 25 0 560 761 ; +C -1 ; WX 600 ; N Dcroat ; B 30 0 594 562 ; +C -1 ; WX 600 ; N commaaccent ; B 205 -250 397 -57 ; +C -1 ; WX 600 ; N copyright ; B 0 -18 600 580 ; +C -1 ; WX 600 ; N Emacron ; B 25 0 560 708 ; +C -1 ; WX 600 ; N ccaron ; B 40 -15 545 667 ; +C -1 ; WX 600 ; N aring ; B 35 -15 570 678 ; +C -1 ; WX 600 ; N Ncommaaccent ; B 8 -250 610 562 ; +C -1 ; WX 600 ; N lacute ; B 77 0 523 801 ; +C -1 ; WX 600 ; N agrave ; B 35 -15 570 661 ; +C -1 ; WX 600 ; N Tcommaaccent ; B 21 -250 579 562 ; +C -1 ; WX 600 ; N Cacute ; B 22 -18 560 784 ; +C -1 ; WX 600 ; N atilde ; B 35 -15 570 636 ; +C -1 ; WX 600 ; N Edotaccent ; B 25 0 560 761 ; +C -1 ; WX 600 ; N scaron ; B 68 -17 535 667 ; +C -1 ; WX 600 ; N scedilla ; B 68 -206 535 459 ; +C -1 ; WX 600 ; N iacute ; B 77 0 523 661 ; +C -1 ; WX 600 ; N lozenge ; B 66 0 534 740 ; +C -1 ; WX 600 ; N Rcaron ; B 24 0 599 790 ; +C -1 ; WX 600 ; N Gcommaaccent ; B 22 -250 594 580 ; +C -1 ; WX 600 ; N ucircumflex ; B -1 -15 569 657 ; +C -1 ; WX 600 ; N acircumflex ; B 35 -15 570 657 ; +C -1 ; WX 600 ; N Amacron ; B -9 0 609 708 ; +C -1 ; WX 600 ; N rcaron ; B 47 0 580 667 ; +C -1 ; WX 600 ; N ccedilla ; B 40 -206 545 459 ; +C -1 ; WX 600 ; N Zdotaccent ; B 62 0 539 761 ; +C -1 ; WX 600 ; N Thorn ; B 48 0 557 562 ; +C -1 ; WX 600 ; N Omacron ; B 22 -18 578 708 ; +C -1 ; WX 600 ; N Racute ; B 24 0 599 784 ; +C -1 ; WX 600 ; N Sacute ; B 47 -22 553 784 ; +C -1 ; WX 600 ; N dcaron ; B 20 -15 727 626 ; +C -1 ; WX 600 ; N Umacron ; B 4 -18 596 708 ; +C -1 ; WX 600 ; N uring ; B -1 -15 569 678 ; +C -1 ; WX 600 ; N threesuperior ; B 138 222 433 616 ; +C -1 ; WX 600 ; N Ograve ; B 22 -18 578 784 ; +C -1 ; WX 600 ; N Agrave ; B -9 0 609 784 ; +C -1 ; WX 600 ; N Abreve ; B -9 0 609 784 ; +C -1 ; WX 600 ; N multiply ; B 81 39 520 478 ; +C -1 ; WX 600 ; N uacute ; B -1 -15 569 661 ; +C -1 ; WX 600 ; N Tcaron ; B 21 0 579 790 ; +C -1 ; WX 600 ; N partialdiff ; B 63 -38 537 728 ; +C -1 ; WX 600 ; N ydieresis ; B -4 -142 601 638 ; +C -1 ; WX 600 ; N Nacute ; B 8 -12 610 784 ; +C -1 ; WX 600 ; N icircumflex ; B 73 0 523 657 ; +C -1 ; WX 600 ; N Ecircumflex ; B 25 0 560 780 ; +C -1 ; WX 600 ; N adieresis ; B 35 -15 570 638 ; +C -1 ; WX 600 ; N edieresis ; B 40 -15 563 638 ; +C -1 ; WX 600 ; N cacute ; B 40 -15 545 661 ; +C -1 ; WX 600 ; N nacute ; B 18 0 592 661 ; +C -1 ; WX 600 ; N umacron ; B -1 -15 569 585 ; +C -1 ; WX 600 ; N Ncaron ; B 8 -12 610 790 ; +C -1 ; WX 600 ; N Iacute ; B 77 0 523 784 ; +C -1 ; WX 600 ; N plusminus ; B 71 24 529 515 ; +C -1 ; WX 600 ; N brokenbar ; B 255 -175 345 675 ; +C -1 ; WX 600 ; N registered ; B 0 -18 600 580 ; +C -1 ; WX 600 ; N Gbreve ; B 22 -18 594 784 ; +C -1 ; WX 600 ; N Idotaccent ; B 77 0 523 761 ; +C -1 ; WX 600 ; N summation ; B 15 -10 586 706 ; +C -1 ; WX 600 ; N Egrave ; B 25 0 560 784 ; +C -1 ; WX 600 ; N racute ; B 47 0 580 661 ; +C -1 ; WX 600 ; N omacron ; B 30 -15 570 585 ; +C -1 ; WX 600 ; N Zacute ; B 62 0 539 784 ; +C -1 ; WX 600 ; N Zcaron ; B 62 0 539 790 ; +C -1 ; WX 600 ; N greaterequal ; B 26 0 523 696 ; +C -1 ; WX 600 ; N Eth ; B 30 0 594 562 ; +C -1 ; WX 600 ; N Ccedilla ; B 22 -206 560 580 ; +C -1 ; WX 600 ; N lcommaaccent ; B 77 -250 523 626 ; +C -1 ; WX 600 ; N tcaron ; B 47 -15 532 703 ; +C -1 ; WX 600 ; N eogonek ; B 40 -199 563 454 ; +C -1 ; WX 600 ; N Uogonek ; B 4 -199 596 562 ; +C -1 ; WX 600 ; N Aacute ; B -9 0 609 784 ; +C -1 ; WX 600 ; N Adieresis ; B -9 0 609 761 ; +C -1 ; WX 600 ; N egrave ; B 40 -15 563 661 ; +C -1 ; WX 600 ; N zacute ; B 81 0 520 661 ; +C -1 ; WX 600 ; N iogonek ; B 77 -199 523 658 ; +C -1 ; WX 600 ; N Oacute ; B 22 -18 578 784 ; +C -1 ; WX 600 ; N oacute ; B 30 -15 570 661 ; +C -1 ; WX 600 ; N amacron ; B 35 -15 570 585 ; +C -1 ; WX 600 ; N sacute ; B 68 -17 535 661 ; +C -1 ; WX 600 ; N idieresis ; B 77 0 523 618 ; +C -1 ; WX 600 ; N Ocircumflex ; B 22 -18 578 780 ; +C -1 ; WX 600 ; N Ugrave ; B 4 -18 596 784 ; +C -1 ; WX 600 ; N Delta ; B 6 0 594 688 ; +C -1 ; WX 600 ; N thorn ; B -14 -142 570 626 ; +C -1 ; WX 600 ; N twosuperior ; B 143 230 436 616 ; +C -1 ; WX 600 ; N Odieresis ; B 22 -18 578 761 ; +C -1 ; WX 600 ; N mu ; B -1 -142 569 439 ; +C -1 ; WX 600 ; N igrave ; B 77 0 523 661 ; +C -1 ; WX 600 ; N ohungarumlaut ; B 30 -15 668 661 ; +C -1 ; WX 600 ; N Eogonek ; B 25 -199 576 562 ; +C -1 ; WX 600 ; N dcroat ; B 20 -15 591 626 ; +C -1 ; WX 600 ; N threequarters ; B -47 -60 648 661 ; +C -1 ; WX 600 ; N Scedilla ; B 47 -206 553 582 ; +C -1 ; WX 600 ; N lcaron ; B 77 0 597 626 ; +C -1 ; WX 600 ; N Kcommaaccent ; B 21 -250 599 562 ; +C -1 ; WX 600 ; N Lacute ; B 39 0 578 784 ; +C -1 ; WX 600 ; N trademark ; B -9 230 749 562 ; +C -1 ; WX 600 ; N edotaccent ; B 40 -15 563 638 ; +C -1 ; WX 600 ; N Igrave ; B 77 0 523 784 ; +C -1 ; WX 600 ; N Imacron ; B 77 0 523 708 ; +C -1 ; WX 600 ; N Lcaron ; B 39 0 637 562 ; +C -1 ; WX 600 ; N onehalf ; B -47 -60 648 661 ; +C -1 ; WX 600 ; N lessequal ; B 26 0 523 696 ; +C -1 ; WX 600 ; N ocircumflex ; B 30 -15 570 657 ; +C -1 ; WX 600 ; N ntilde ; B 18 0 592 636 ; +C -1 ; WX 600 ; N Uhungarumlaut ; B 4 -18 638 784 ; +C -1 ; WX 600 ; N Eacute ; B 25 0 560 784 ; +C -1 ; WX 600 ; N emacron ; B 40 -15 563 585 ; +C -1 ; WX 600 ; N gbreve ; B 30 -146 580 661 ; +C -1 ; WX 600 ; N onequarter ; B -56 -60 656 661 ; +C -1 ; WX 600 ; N Scaron ; B 47 -22 553 790 ; +C -1 ; WX 600 ; N Scommaaccent ; B 47 -250 553 582 ; +C -1 ; WX 600 ; N Ohungarumlaut ; B 22 -18 628 784 ; +C -1 ; WX 600 ; N degree ; B 86 243 474 616 ; +C -1 ; WX 600 ; N ograve ; B 30 -15 570 661 ; +C -1 ; WX 600 ; N Ccaron ; B 22 -18 560 790 ; +C -1 ; WX 600 ; N ugrave ; B -1 -15 569 661 ; +C -1 ; WX 600 ; N radical ; B -19 -104 473 778 ; +C -1 ; WX 600 ; N Dcaron ; B 30 0 594 790 ; +C -1 ; WX 600 ; N rcommaaccent ; B 47 -250 580 454 ; +C -1 ; WX 600 ; N Ntilde ; B 8 -12 610 759 ; +C -1 ; WX 600 ; N otilde ; B 30 -15 570 636 ; +C -1 ; WX 600 ; N Rcommaaccent ; B 24 -250 599 562 ; +C -1 ; WX 600 ; N Lcommaaccent ; B 39 -250 578 562 ; +C -1 ; WX 600 ; N Atilde ; B -9 0 609 759 ; +C -1 ; WX 600 ; N Aogonek ; B -9 -199 625 562 ; +C -1 ; WX 600 ; N Aring ; B -9 0 609 801 ; +C -1 ; WX 600 ; N Otilde ; B 22 -18 578 759 ; +C -1 ; WX 600 ; N zdotaccent ; B 81 0 520 638 ; +C -1 ; WX 600 ; N Ecaron ; B 25 0 560 790 ; +C -1 ; WX 600 ; N Iogonek ; B 77 -199 523 562 ; +C -1 ; WX 600 ; N kcommaaccent ; B 20 -250 585 626 ; +C -1 ; WX 600 ; N minus ; B 71 203 529 313 ; +C -1 ; WX 600 ; N Icircumflex ; B 77 0 523 780 ; +C -1 ; WX 600 ; N ncaron ; B 18 0 592 667 ; +C -1 ; WX 600 ; N tcommaaccent ; B 47 -250 532 562 ; +C -1 ; WX 600 ; N logicalnot ; B 71 103 529 413 ; +C -1 ; WX 600 ; N odieresis ; B 30 -15 570 638 ; +C -1 ; WX 600 ; N udieresis ; B -1 -15 569 638 ; +C -1 ; WX 600 ; N notequal ; B 12 -47 537 563 ; +C -1 ; WX 600 ; N gcommaaccent ; B 30 -146 580 714 ; +C -1 ; WX 600 ; N eth ; B 58 -27 543 626 ; +C -1 ; WX 600 ; N zcaron ; B 81 0 520 667 ; +C -1 ; WX 600 ; N ncommaaccent ; B 18 -250 592 454 ; +C -1 ; WX 600 ; N onesuperior ; B 153 230 447 616 ; +C -1 ; WX 600 ; N imacron ; B 77 0 523 585 ; +C -1 ; WX 600 ; N Euro ; B 0 0 0 0 ; +EndCharMetrics +EndFontMetrics diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/PDF/default/templates/fonts/Courier-BoldOblique.afm b/buildscripts/PhpDocumentor/phpDocumentor/Converters/PDF/default/templates/fonts/Courier-BoldOblique.afm new file mode 100755 index 00000000..29d3b8b1 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/PDF/default/templates/fonts/Courier-BoldOblique.afm @@ -0,0 +1,342 @@ +StartFontMetrics 4.1 +Comment Copyright (c) 1989, 1990, 1991, 1993, 1997 Adobe Systems Incorporated. All Rights Reserved. +Comment Creation Date: Mon Jun 23 16:28:46 1997 +Comment UniqueID 43049 +Comment VMusage 17529 79244 +FontName Courier-BoldOblique +FullName Courier Bold Oblique +FamilyName Courier +Weight Bold +ItalicAngle -12 +IsFixedPitch true +CharacterSet ExtendedRoman +FontBBox -57 -250 869 801 +UnderlinePosition -100 +UnderlineThickness 50 +Version 003.000 +Notice Copyright (c) 1989, 1990, 1991, 1993, 1997 Adobe Systems Incorporated. All Rights Reserved. +EncodingScheme AdobeStandardEncoding +CapHeight 562 +XHeight 439 +Ascender 629 +Descender -157 +StdHW 84 +StdVW 106 +StartCharMetrics 315 +C 32 ; WX 600 ; N space ; B 0 0 0 0 ; +C 33 ; WX 600 ; N exclam ; B 215 -15 495 572 ; +C 34 ; WX 600 ; N quotedbl ; B 211 277 585 562 ; +C 35 ; WX 600 ; N numbersign ; B 88 -45 641 651 ; +C 36 ; WX 600 ; N dollar ; B 87 -126 630 666 ; +C 37 ; WX 600 ; N percent ; B 101 -15 625 616 ; +C 38 ; WX 600 ; N ampersand ; B 61 -15 595 543 ; +C 39 ; WX 600 ; N quoteright ; B 229 277 543 562 ; +C 40 ; WX 600 ; N parenleft ; B 265 -102 592 616 ; +C 41 ; WX 600 ; N parenright ; B 117 -102 444 616 ; +C 42 ; WX 600 ; N asterisk ; B 179 219 598 601 ; +C 43 ; WX 600 ; N plus ; B 114 39 596 478 ; +C 44 ; WX 600 ; N comma ; B 99 -111 430 174 ; +C 45 ; WX 600 ; N hyphen ; B 143 203 567 313 ; +C 46 ; WX 600 ; N period ; B 206 -15 427 171 ; +C 47 ; WX 600 ; N slash ; B 90 -77 626 626 ; +C 48 ; WX 600 ; N zero ; B 135 -15 593 616 ; +C 49 ; WX 600 ; N one ; B 93 0 562 616 ; +C 50 ; WX 600 ; N two ; B 61 0 594 616 ; +C 51 ; WX 600 ; N three ; B 71 -15 571 616 ; +C 52 ; WX 600 ; N four ; B 81 0 559 616 ; +C 53 ; WX 600 ; N five ; B 77 -15 621 601 ; +C 54 ; WX 600 ; N six ; B 135 -15 652 616 ; +C 55 ; WX 600 ; N seven ; B 147 0 622 601 ; +C 56 ; WX 600 ; N eight ; B 115 -15 604 616 ; +C 57 ; WX 600 ; N nine ; B 75 -15 592 616 ; +C 58 ; WX 600 ; N colon ; B 205 -15 480 425 ; +C 59 ; WX 600 ; N semicolon ; B 99 -111 481 425 ; +C 60 ; WX 600 ; N less ; B 120 15 613 501 ; +C 61 ; WX 600 ; N equal ; B 96 118 614 398 ; +C 62 ; WX 600 ; N greater ; B 97 15 589 501 ; +C 63 ; WX 600 ; N question ; B 183 -14 592 580 ; +C 64 ; WX 600 ; N at ; B 65 -15 642 616 ; +C 65 ; WX 600 ; N A ; B -9 0 632 562 ; +C 66 ; WX 600 ; N B ; B 30 0 630 562 ; +C 67 ; WX 600 ; N C ; B 74 -18 675 580 ; +C 68 ; WX 600 ; N D ; B 30 0 664 562 ; +C 69 ; WX 600 ; N E ; B 25 0 670 562 ; +C 70 ; WX 600 ; N F ; B 39 0 684 562 ; +C 71 ; WX 600 ; N G ; B 74 -18 675 580 ; +C 72 ; WX 600 ; N H ; B 20 0 700 562 ; +C 73 ; WX 600 ; N I ; B 77 0 643 562 ; +C 74 ; WX 600 ; N J ; B 58 -18 721 562 ; +C 75 ; WX 600 ; N K ; B 21 0 692 562 ; +C 76 ; WX 600 ; N L ; B 39 0 636 562 ; +C 77 ; WX 600 ; N M ; B -2 0 722 562 ; +C 78 ; WX 600 ; N N ; B 8 -12 730 562 ; +C 79 ; WX 600 ; N O ; B 74 -18 645 580 ; +C 80 ; WX 600 ; N P ; B 48 0 643 562 ; +C 81 ; WX 600 ; N Q ; B 83 -138 636 580 ; +C 82 ; WX 600 ; N R ; B 24 0 617 562 ; +C 83 ; WX 600 ; N S ; B 54 -22 673 582 ; +C 84 ; WX 600 ; N T ; B 86 0 679 562 ; +C 85 ; WX 600 ; N U ; B 101 -18 716 562 ; +C 86 ; WX 600 ; N V ; B 84 0 733 562 ; +C 87 ; WX 600 ; N W ; B 79 0 738 562 ; +C 88 ; WX 600 ; N X ; B 12 0 690 562 ; +C 89 ; WX 600 ; N Y ; B 109 0 709 562 ; +C 90 ; WX 600 ; N Z ; B 62 0 637 562 ; +C 91 ; WX 600 ; N bracketleft ; B 223 -102 606 616 ; +C 92 ; WX 600 ; N backslash ; B 222 -77 496 626 ; +C 93 ; WX 600 ; N bracketright ; B 103 -102 486 616 ; +C 94 ; WX 600 ; N asciicircum ; B 171 250 556 616 ; +C 95 ; WX 600 ; N underscore ; B -27 -125 585 -75 ; +C 96 ; WX 600 ; N quoteleft ; B 297 277 487 562 ; +C 97 ; WX 600 ; N a ; B 61 -15 593 454 ; +C 98 ; WX 600 ; N b ; B 13 -15 636 626 ; +C 99 ; WX 600 ; N c ; B 81 -15 631 459 ; +C 100 ; WX 600 ; N d ; B 60 -15 645 626 ; +C 101 ; WX 600 ; N e ; B 81 -15 605 454 ; +C 102 ; WX 600 ; N f ; B 83 0 677 626 ; L i fi ; L l fl ; +C 103 ; WX 600 ; N g ; B 40 -146 674 454 ; +C 104 ; WX 600 ; N h ; B 18 0 615 626 ; +C 105 ; WX 600 ; N i ; B 77 0 546 658 ; +C 106 ; WX 600 ; N j ; B 36 -146 580 658 ; +C 107 ; WX 600 ; N k ; B 33 0 643 626 ; +C 108 ; WX 600 ; N l ; B 77 0 546 626 ; +C 109 ; WX 600 ; N m ; B -22 0 649 454 ; +C 110 ; WX 600 ; N n ; B 18 0 615 454 ; +C 111 ; WX 600 ; N o ; B 71 -15 622 454 ; +C 112 ; WX 600 ; N p ; B -32 -142 622 454 ; +C 113 ; WX 600 ; N q ; B 60 -142 685 454 ; +C 114 ; WX 600 ; N r ; B 47 0 655 454 ; +C 115 ; WX 600 ; N s ; B 66 -17 608 459 ; +C 116 ; WX 600 ; N t ; B 118 -15 567 562 ; +C 117 ; WX 600 ; N u ; B 70 -15 592 439 ; +C 118 ; WX 600 ; N v ; B 70 0 695 439 ; +C 119 ; WX 600 ; N w ; B 53 0 712 439 ; +C 120 ; WX 600 ; N x ; B 6 0 671 439 ; +C 121 ; WX 600 ; N y ; B -21 -142 695 439 ; +C 122 ; WX 600 ; N z ; B 81 0 614 439 ; +C 123 ; WX 600 ; N braceleft ; B 203 -102 595 616 ; +C 124 ; WX 600 ; N bar ; B 201 -250 505 750 ; +C 125 ; WX 600 ; N braceright ; B 114 -102 506 616 ; +C 126 ; WX 600 ; N asciitilde ; B 120 153 590 356 ; +C 161 ; WX 600 ; N exclamdown ; B 196 -146 477 449 ; +C 162 ; WX 600 ; N cent ; B 121 -49 605 614 ; +C 163 ; WX 600 ; N sterling ; B 106 -28 650 611 ; +C 164 ; WX 600 ; N fraction ; B 22 -60 708 661 ; +C 165 ; WX 600 ; N yen ; B 98 0 710 562 ; +C 166 ; WX 600 ; N florin ; B -57 -131 702 616 ; +C 167 ; WX 600 ; N section ; B 74 -70 620 580 ; +C 168 ; WX 600 ; N currency ; B 77 49 644 517 ; +C 169 ; WX 600 ; N quotesingle ; B 303 277 493 562 ; +C 170 ; WX 600 ; N quotedblleft ; B 190 277 594 562 ; +C 171 ; WX 600 ; N guillemotleft ; B 62 70 639 446 ; +C 172 ; WX 600 ; N guilsinglleft ; B 195 70 545 446 ; +C 173 ; WX 600 ; N guilsinglright ; B 165 70 514 446 ; +C 174 ; WX 600 ; N fi ; B 12 0 644 626 ; +C 175 ; WX 600 ; N fl ; B 12 0 644 626 ; +C 177 ; WX 600 ; N endash ; B 108 203 602 313 ; +C 178 ; WX 600 ; N dagger ; B 175 -70 586 580 ; +C 179 ; WX 600 ; N daggerdbl ; B 121 -70 587 580 ; +C 180 ; WX 600 ; N periodcentered ; B 248 165 461 351 ; +C 182 ; WX 600 ; N paragraph ; B 61 -70 700 580 ; +C 183 ; WX 600 ; N bullet ; B 196 132 523 430 ; +C 184 ; WX 600 ; N quotesinglbase ; B 144 -142 458 143 ; +C 185 ; WX 600 ; N quotedblbase ; B 34 -142 560 143 ; +C 186 ; WX 600 ; N quotedblright ; B 119 277 645 562 ; +C 187 ; WX 600 ; N guillemotright ; B 71 70 647 446 ; +C 188 ; WX 600 ; N ellipsis ; B 35 -15 587 116 ; +C 189 ; WX 600 ; N perthousand ; B -45 -15 743 616 ; +C 191 ; WX 600 ; N questiondown ; B 100 -146 509 449 ; +C 193 ; WX 600 ; N grave ; B 272 508 503 661 ; +C 194 ; WX 600 ; N acute ; B 312 508 609 661 ; +C 195 ; WX 600 ; N circumflex ; B 212 483 607 657 ; +C 196 ; WX 600 ; N tilde ; B 199 493 643 636 ; +C 197 ; WX 600 ; N macron ; B 195 505 637 585 ; +C 198 ; WX 600 ; N breve ; B 217 468 652 631 ; +C 199 ; WX 600 ; N dotaccent ; B 348 498 493 638 ; +C 200 ; WX 600 ; N dieresis ; B 246 498 595 638 ; +C 202 ; WX 600 ; N ring ; B 319 481 528 678 ; +C 203 ; WX 600 ; N cedilla ; B 168 -206 368 0 ; +C 205 ; WX 600 ; N hungarumlaut ; B 171 488 729 661 ; +C 206 ; WX 600 ; N ogonek ; B 143 -199 367 0 ; +C 207 ; WX 600 ; N caron ; B 238 493 633 667 ; +C 208 ; WX 600 ; N emdash ; B 33 203 677 313 ; +C 225 ; WX 600 ; N AE ; B -29 0 708 562 ; +C 227 ; WX 600 ; N ordfeminine ; B 188 196 526 580 ; +C 232 ; WX 600 ; N Lslash ; B 39 0 636 562 ; +C 233 ; WX 600 ; N Oslash ; B 48 -22 673 584 ; +C 234 ; WX 600 ; N OE ; B 26 0 701 562 ; +C 235 ; WX 600 ; N ordmasculine ; B 188 196 543 580 ; +C 241 ; WX 600 ; N ae ; B 21 -15 652 454 ; +C 245 ; WX 600 ; N dotlessi ; B 77 0 546 439 ; +C 248 ; WX 600 ; N lslash ; B 77 0 587 626 ; +C 249 ; WX 600 ; N oslash ; B 54 -24 638 463 ; +C 250 ; WX 600 ; N oe ; B 18 -15 662 454 ; +C 251 ; WX 600 ; N germandbls ; B 22 -15 629 626 ; +C -1 ; WX 600 ; N Idieresis ; B 77 0 643 761 ; +C -1 ; WX 600 ; N eacute ; B 81 -15 609 661 ; +C -1 ; WX 600 ; N abreve ; B 61 -15 658 661 ; +C -1 ; WX 600 ; N uhungarumlaut ; B 70 -15 769 661 ; +C -1 ; WX 600 ; N ecaron ; B 81 -15 633 667 ; +C -1 ; WX 600 ; N Ydieresis ; B 109 0 709 761 ; +C -1 ; WX 600 ; N divide ; B 114 16 596 500 ; +C -1 ; WX 600 ; N Yacute ; B 109 0 709 784 ; +C -1 ; WX 600 ; N Acircumflex ; B -9 0 632 780 ; +C -1 ; WX 600 ; N aacute ; B 61 -15 609 661 ; +C -1 ; WX 600 ; N Ucircumflex ; B 101 -18 716 780 ; +C -1 ; WX 600 ; N yacute ; B -21 -142 695 661 ; +C -1 ; WX 600 ; N scommaaccent ; B 66 -250 608 459 ; +C -1 ; WX 600 ; N ecircumflex ; B 81 -15 607 657 ; +C -1 ; WX 600 ; N Uring ; B 101 -18 716 801 ; +C -1 ; WX 600 ; N Udieresis ; B 101 -18 716 761 ; +C -1 ; WX 600 ; N aogonek ; B 61 -199 593 454 ; +C -1 ; WX 600 ; N Uacute ; B 101 -18 716 784 ; +C -1 ; WX 600 ; N uogonek ; B 70 -199 592 439 ; +C -1 ; WX 600 ; N Edieresis ; B 25 0 670 761 ; +C -1 ; WX 600 ; N Dcroat ; B 30 0 664 562 ; +C -1 ; WX 600 ; N commaaccent ; B 151 -250 385 -57 ; +C -1 ; WX 600 ; N copyright ; B 53 -18 667 580 ; +C -1 ; WX 600 ; N Emacron ; B 25 0 670 708 ; +C -1 ; WX 600 ; N ccaron ; B 81 -15 633 667 ; +C -1 ; WX 600 ; N aring ; B 61 -15 593 678 ; +C -1 ; WX 600 ; N Ncommaaccent ; B 8 -250 730 562 ; +C -1 ; WX 600 ; N lacute ; B 77 0 639 801 ; +C -1 ; WX 600 ; N agrave ; B 61 -15 593 661 ; +C -1 ; WX 600 ; N Tcommaaccent ; B 86 -250 679 562 ; +C -1 ; WX 600 ; N Cacute ; B 74 -18 675 784 ; +C -1 ; WX 600 ; N atilde ; B 61 -15 643 636 ; +C -1 ; WX 600 ; N Edotaccent ; B 25 0 670 761 ; +C -1 ; WX 600 ; N scaron ; B 66 -17 633 667 ; +C -1 ; WX 600 ; N scedilla ; B 66 -206 608 459 ; +C -1 ; WX 600 ; N iacute ; B 77 0 609 661 ; +C -1 ; WX 600 ; N lozenge ; B 145 0 614 740 ; +C -1 ; WX 600 ; N Rcaron ; B 24 0 659 790 ; +C -1 ; WX 600 ; N Gcommaaccent ; B 74 -250 675 580 ; +C -1 ; WX 600 ; N ucircumflex ; B 70 -15 597 657 ; +C -1 ; WX 600 ; N acircumflex ; B 61 -15 607 657 ; +C -1 ; WX 600 ; N Amacron ; B -9 0 633 708 ; +C -1 ; WX 600 ; N rcaron ; B 47 0 655 667 ; +C -1 ; WX 600 ; N ccedilla ; B 81 -206 631 459 ; +C -1 ; WX 600 ; N Zdotaccent ; B 62 0 637 761 ; +C -1 ; WX 600 ; N Thorn ; B 48 0 620 562 ; +C -1 ; WX 600 ; N Omacron ; B 74 -18 663 708 ; +C -1 ; WX 600 ; N Racute ; B 24 0 665 784 ; +C -1 ; WX 600 ; N Sacute ; B 54 -22 673 784 ; +C -1 ; WX 600 ; N dcaron ; B 60 -15 861 626 ; +C -1 ; WX 600 ; N Umacron ; B 101 -18 716 708 ; +C -1 ; WX 600 ; N uring ; B 70 -15 592 678 ; +C -1 ; WX 600 ; N threesuperior ; B 193 222 526 616 ; +C -1 ; WX 600 ; N Ograve ; B 74 -18 645 784 ; +C -1 ; WX 600 ; N Agrave ; B -9 0 632 784 ; +C -1 ; WX 600 ; N Abreve ; B -9 0 684 784 ; +C -1 ; WX 600 ; N multiply ; B 104 39 606 478 ; +C -1 ; WX 600 ; N uacute ; B 70 -15 599 661 ; +C -1 ; WX 600 ; N Tcaron ; B 86 0 679 790 ; +C -1 ; WX 600 ; N partialdiff ; B 91 -38 627 728 ; +C -1 ; WX 600 ; N ydieresis ; B -21 -142 695 638 ; +C -1 ; WX 600 ; N Nacute ; B 8 -12 730 784 ; +C -1 ; WX 600 ; N icircumflex ; B 77 0 577 657 ; +C -1 ; WX 600 ; N Ecircumflex ; B 25 0 670 780 ; +C -1 ; WX 600 ; N adieresis ; B 61 -15 595 638 ; +C -1 ; WX 600 ; N edieresis ; B 81 -15 605 638 ; +C -1 ; WX 600 ; N cacute ; B 81 -15 649 661 ; +C -1 ; WX 600 ; N nacute ; B 18 0 639 661 ; +C -1 ; WX 600 ; N umacron ; B 70 -15 637 585 ; +C -1 ; WX 600 ; N Ncaron ; B 8 -12 730 790 ; +C -1 ; WX 600 ; N Iacute ; B 77 0 643 784 ; +C -1 ; WX 600 ; N plusminus ; B 76 24 614 515 ; +C -1 ; WX 600 ; N brokenbar ; B 217 -175 489 675 ; +C -1 ; WX 600 ; N registered ; B 53 -18 667 580 ; +C -1 ; WX 600 ; N Gbreve ; B 74 -18 684 784 ; +C -1 ; WX 600 ; N Idotaccent ; B 77 0 643 761 ; +C -1 ; WX 600 ; N summation ; B 15 -10 672 706 ; +C -1 ; WX 600 ; N Egrave ; B 25 0 670 784 ; +C -1 ; WX 600 ; N racute ; B 47 0 655 661 ; +C -1 ; WX 600 ; N omacron ; B 71 -15 637 585 ; +C -1 ; WX 600 ; N Zacute ; B 62 0 665 784 ; +C -1 ; WX 600 ; N Zcaron ; B 62 0 659 790 ; +C -1 ; WX 600 ; N greaterequal ; B 26 0 627 696 ; +C -1 ; WX 600 ; N Eth ; B 30 0 664 562 ; +C -1 ; WX 600 ; N Ccedilla ; B 74 -206 675 580 ; +C -1 ; WX 600 ; N lcommaaccent ; B 77 -250 546 626 ; +C -1 ; WX 600 ; N tcaron ; B 118 -15 627 703 ; +C -1 ; WX 600 ; N eogonek ; B 81 -199 605 454 ; +C -1 ; WX 600 ; N Uogonek ; B 101 -199 716 562 ; +C -1 ; WX 600 ; N Aacute ; B -9 0 655 784 ; +C -1 ; WX 600 ; N Adieresis ; B -9 0 632 761 ; +C -1 ; WX 600 ; N egrave ; B 81 -15 605 661 ; +C -1 ; WX 600 ; N zacute ; B 81 0 614 661 ; +C -1 ; WX 600 ; N iogonek ; B 77 -199 546 658 ; +C -1 ; WX 600 ; N Oacute ; B 74 -18 645 784 ; +C -1 ; WX 600 ; N oacute ; B 71 -15 649 661 ; +C -1 ; WX 600 ; N amacron ; B 61 -15 637 585 ; +C -1 ; WX 600 ; N sacute ; B 66 -17 609 661 ; +C -1 ; WX 600 ; N idieresis ; B 77 0 561 618 ; +C -1 ; WX 600 ; N Ocircumflex ; B 74 -18 645 780 ; +C -1 ; WX 600 ; N Ugrave ; B 101 -18 716 784 ; +C -1 ; WX 600 ; N Delta ; B 6 0 594 688 ; +C -1 ; WX 600 ; N thorn ; B -32 -142 622 626 ; +C -1 ; WX 600 ; N twosuperior ; B 191 230 542 616 ; +C -1 ; WX 600 ; N Odieresis ; B 74 -18 645 761 ; +C -1 ; WX 600 ; N mu ; B 49 -142 592 439 ; +C -1 ; WX 600 ; N igrave ; B 77 0 546 661 ; +C -1 ; WX 600 ; N ohungarumlaut ; B 71 -15 809 661 ; +C -1 ; WX 600 ; N Eogonek ; B 25 -199 670 562 ; +C -1 ; WX 600 ; N dcroat ; B 60 -15 712 626 ; +C -1 ; WX 600 ; N threequarters ; B 8 -60 699 661 ; +C -1 ; WX 600 ; N Scedilla ; B 54 -206 673 582 ; +C -1 ; WX 600 ; N lcaron ; B 77 0 731 626 ; +C -1 ; WX 600 ; N Kcommaaccent ; B 21 -250 692 562 ; +C -1 ; WX 600 ; N Lacute ; B 39 0 636 784 ; +C -1 ; WX 600 ; N trademark ; B 86 230 869 562 ; +C -1 ; WX 600 ; N edotaccent ; B 81 -15 605 638 ; +C -1 ; WX 600 ; N Igrave ; B 77 0 643 784 ; +C -1 ; WX 600 ; N Imacron ; B 77 0 663 708 ; +C -1 ; WX 600 ; N Lcaron ; B 39 0 757 562 ; +C -1 ; WX 600 ; N onehalf ; B 22 -60 716 661 ; +C -1 ; WX 600 ; N lessequal ; B 26 0 671 696 ; +C -1 ; WX 600 ; N ocircumflex ; B 71 -15 622 657 ; +C -1 ; WX 600 ; N ntilde ; B 18 0 643 636 ; +C -1 ; WX 600 ; N Uhungarumlaut ; B 101 -18 805 784 ; +C -1 ; WX 600 ; N Eacute ; B 25 0 670 784 ; +C -1 ; WX 600 ; N emacron ; B 81 -15 637 585 ; +C -1 ; WX 600 ; N gbreve ; B 40 -146 674 661 ; +C -1 ; WX 600 ; N onequarter ; B 13 -60 707 661 ; +C -1 ; WX 600 ; N Scaron ; B 54 -22 689 790 ; +C -1 ; WX 600 ; N Scommaaccent ; B 54 -250 673 582 ; +C -1 ; WX 600 ; N Ohungarumlaut ; B 74 -18 795 784 ; +C -1 ; WX 600 ; N degree ; B 173 243 570 616 ; +C -1 ; WX 600 ; N ograve ; B 71 -15 622 661 ; +C -1 ; WX 600 ; N Ccaron ; B 74 -18 689 790 ; +C -1 ; WX 600 ; N ugrave ; B 70 -15 592 661 ; +C -1 ; WX 600 ; N radical ; B 67 -104 635 778 ; +C -1 ; WX 600 ; N Dcaron ; B 30 0 664 790 ; +C -1 ; WX 600 ; N rcommaaccent ; B 47 -250 655 454 ; +C -1 ; WX 600 ; N Ntilde ; B 8 -12 730 759 ; +C -1 ; WX 600 ; N otilde ; B 71 -15 643 636 ; +C -1 ; WX 600 ; N Rcommaaccent ; B 24 -250 617 562 ; +C -1 ; WX 600 ; N Lcommaaccent ; B 39 -250 636 562 ; +C -1 ; WX 600 ; N Atilde ; B -9 0 669 759 ; +C -1 ; WX 600 ; N Aogonek ; B -9 -199 632 562 ; +C -1 ; WX 600 ; N Aring ; B -9 0 632 801 ; +C -1 ; WX 600 ; N Otilde ; B 74 -18 669 759 ; +C -1 ; WX 600 ; N zdotaccent ; B 81 0 614 638 ; +C -1 ; WX 600 ; N Ecaron ; B 25 0 670 790 ; +C -1 ; WX 600 ; N Iogonek ; B 77 -199 643 562 ; +C -1 ; WX 600 ; N kcommaaccent ; B 33 -250 643 626 ; +C -1 ; WX 600 ; N minus ; B 114 203 596 313 ; +C -1 ; WX 600 ; N Icircumflex ; B 77 0 643 780 ; +C -1 ; WX 600 ; N ncaron ; B 18 0 633 667 ; +C -1 ; WX 600 ; N tcommaaccent ; B 118 -250 567 562 ; +C -1 ; WX 600 ; N logicalnot ; B 135 103 617 413 ; +C -1 ; WX 600 ; N odieresis ; B 71 -15 622 638 ; +C -1 ; WX 600 ; N udieresis ; B 70 -15 595 638 ; +C -1 ; WX 600 ; N notequal ; B 30 -47 626 563 ; +C -1 ; WX 600 ; N gcommaaccent ; B 40 -146 674 714 ; +C -1 ; WX 600 ; N eth ; B 93 -27 661 626 ; +C -1 ; WX 600 ; N zcaron ; B 81 0 643 667 ; +C -1 ; WX 600 ; N ncommaaccent ; B 18 -250 615 454 ; +C -1 ; WX 600 ; N onesuperior ; B 212 230 514 616 ; +C -1 ; WX 600 ; N imacron ; B 77 0 575 585 ; +C -1 ; WX 600 ; N Euro ; B 0 0 0 0 ; +EndCharMetrics +EndFontMetrics diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/PDF/default/templates/fonts/Courier-Oblique.afm b/buildscripts/PhpDocumentor/phpDocumentor/Converters/PDF/default/templates/fonts/Courier-Oblique.afm new file mode 100755 index 00000000..3dc163f7 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/PDF/default/templates/fonts/Courier-Oblique.afm @@ -0,0 +1,342 @@ +StartFontMetrics 4.1 +Comment Copyright (c) 1989, 1990, 1991, 1992, 1993, 1997 Adobe Systems Incorporated. All Rights Reserved. +Comment Creation Date: Thu May 1 17:37:52 1997 +Comment UniqueID 43051 +Comment VMusage 16248 75829 +FontName Courier-Oblique +FullName Courier Oblique +FamilyName Courier +Weight Medium +ItalicAngle -12 +IsFixedPitch true +CharacterSet ExtendedRoman +FontBBox -27 -250 849 805 +UnderlinePosition -100 +UnderlineThickness 50 +Version 003.000 +Notice Copyright (c) 1989, 1990, 1991, 1992, 1993, 1997 Adobe Systems Incorporated. All Rights Reserved. +EncodingScheme AdobeStandardEncoding +CapHeight 562 +XHeight 426 +Ascender 629 +Descender -157 +StdHW 51 +StdVW 51 +StartCharMetrics 315 +C 32 ; WX 600 ; N space ; B 0 0 0 0 ; +C 33 ; WX 600 ; N exclam ; B 243 -15 464 572 ; +C 34 ; WX 600 ; N quotedbl ; B 273 328 532 562 ; +C 35 ; WX 600 ; N numbersign ; B 133 -32 596 639 ; +C 36 ; WX 600 ; N dollar ; B 108 -126 596 662 ; +C 37 ; WX 600 ; N percent ; B 134 -15 599 622 ; +C 38 ; WX 600 ; N ampersand ; B 87 -15 580 543 ; +C 39 ; WX 600 ; N quoteright ; B 283 328 495 562 ; +C 40 ; WX 600 ; N parenleft ; B 313 -108 572 622 ; +C 41 ; WX 600 ; N parenright ; B 137 -108 396 622 ; +C 42 ; WX 600 ; N asterisk ; B 212 257 580 607 ; +C 43 ; WX 600 ; N plus ; B 129 44 580 470 ; +C 44 ; WX 600 ; N comma ; B 157 -112 370 122 ; +C 45 ; WX 600 ; N hyphen ; B 152 231 558 285 ; +C 46 ; WX 600 ; N period ; B 238 -15 382 109 ; +C 47 ; WX 600 ; N slash ; B 112 -80 604 629 ; +C 48 ; WX 600 ; N zero ; B 154 -15 575 622 ; +C 49 ; WX 600 ; N one ; B 98 0 515 622 ; +C 50 ; WX 600 ; N two ; B 70 0 568 622 ; +C 51 ; WX 600 ; N three ; B 82 -15 538 622 ; +C 52 ; WX 600 ; N four ; B 108 0 541 622 ; +C 53 ; WX 600 ; N five ; B 99 -15 589 607 ; +C 54 ; WX 600 ; N six ; B 155 -15 629 622 ; +C 55 ; WX 600 ; N seven ; B 182 0 612 607 ; +C 56 ; WX 600 ; N eight ; B 132 -15 588 622 ; +C 57 ; WX 600 ; N nine ; B 93 -15 574 622 ; +C 58 ; WX 600 ; N colon ; B 238 -15 441 385 ; +C 59 ; WX 600 ; N semicolon ; B 157 -112 441 385 ; +C 60 ; WX 600 ; N less ; B 96 42 610 472 ; +C 61 ; WX 600 ; N equal ; B 109 138 600 376 ; +C 62 ; WX 600 ; N greater ; B 85 42 599 472 ; +C 63 ; WX 600 ; N question ; B 222 -15 583 572 ; +C 64 ; WX 600 ; N at ; B 127 -15 582 622 ; +C 65 ; WX 600 ; N A ; B 3 0 607 562 ; +C 66 ; WX 600 ; N B ; B 43 0 616 562 ; +C 67 ; WX 600 ; N C ; B 93 -18 655 580 ; +C 68 ; WX 600 ; N D ; B 43 0 645 562 ; +C 69 ; WX 600 ; N E ; B 53 0 660 562 ; +C 70 ; WX 600 ; N F ; B 53 0 660 562 ; +C 71 ; WX 600 ; N G ; B 83 -18 645 580 ; +C 72 ; WX 600 ; N H ; B 32 0 687 562 ; +C 73 ; WX 600 ; N I ; B 96 0 623 562 ; +C 74 ; WX 600 ; N J ; B 52 -18 685 562 ; +C 75 ; WX 600 ; N K ; B 38 0 671 562 ; +C 76 ; WX 600 ; N L ; B 47 0 607 562 ; +C 77 ; WX 600 ; N M ; B 4 0 715 562 ; +C 78 ; WX 600 ; N N ; B 7 -13 712 562 ; +C 79 ; WX 600 ; N O ; B 94 -18 625 580 ; +C 80 ; WX 600 ; N P ; B 79 0 644 562 ; +C 81 ; WX 600 ; N Q ; B 95 -138 625 580 ; +C 82 ; WX 600 ; N R ; B 38 0 598 562 ; +C 83 ; WX 600 ; N S ; B 76 -20 650 580 ; +C 84 ; WX 600 ; N T ; B 108 0 665 562 ; +C 85 ; WX 600 ; N U ; B 125 -18 702 562 ; +C 86 ; WX 600 ; N V ; B 105 -13 723 562 ; +C 87 ; WX 600 ; N W ; B 106 -13 722 562 ; +C 88 ; WX 600 ; N X ; B 23 0 675 562 ; +C 89 ; WX 600 ; N Y ; B 133 0 695 562 ; +C 90 ; WX 600 ; N Z ; B 86 0 610 562 ; +C 91 ; WX 600 ; N bracketleft ; B 246 -108 574 622 ; +C 92 ; WX 600 ; N backslash ; B 249 -80 468 629 ; +C 93 ; WX 600 ; N bracketright ; B 135 -108 463 622 ; +C 94 ; WX 600 ; N asciicircum ; B 175 354 587 622 ; +C 95 ; WX 600 ; N underscore ; B -27 -125 584 -75 ; +C 96 ; WX 600 ; N quoteleft ; B 343 328 457 562 ; +C 97 ; WX 600 ; N a ; B 76 -15 569 441 ; +C 98 ; WX 600 ; N b ; B 29 -15 625 629 ; +C 99 ; WX 600 ; N c ; B 106 -15 608 441 ; +C 100 ; WX 600 ; N d ; B 85 -15 640 629 ; +C 101 ; WX 600 ; N e ; B 106 -15 598 441 ; +C 102 ; WX 600 ; N f ; B 114 0 662 629 ; L i fi ; L l fl ; +C 103 ; WX 600 ; N g ; B 61 -157 657 441 ; +C 104 ; WX 600 ; N h ; B 33 0 592 629 ; +C 105 ; WX 600 ; N i ; B 95 0 515 657 ; +C 106 ; WX 600 ; N j ; B 52 -157 550 657 ; +C 107 ; WX 600 ; N k ; B 58 0 633 629 ; +C 108 ; WX 600 ; N l ; B 95 0 515 629 ; +C 109 ; WX 600 ; N m ; B -5 0 615 441 ; +C 110 ; WX 600 ; N n ; B 26 0 585 441 ; +C 111 ; WX 600 ; N o ; B 102 -15 588 441 ; +C 112 ; WX 600 ; N p ; B -24 -157 605 441 ; +C 113 ; WX 600 ; N q ; B 85 -157 682 441 ; +C 114 ; WX 600 ; N r ; B 60 0 636 441 ; +C 115 ; WX 600 ; N s ; B 78 -15 584 441 ; +C 116 ; WX 600 ; N t ; B 167 -15 561 561 ; +C 117 ; WX 600 ; N u ; B 101 -15 572 426 ; +C 118 ; WX 600 ; N v ; B 90 -10 681 426 ; +C 119 ; WX 600 ; N w ; B 76 -10 695 426 ; +C 120 ; WX 600 ; N x ; B 20 0 655 426 ; +C 121 ; WX 600 ; N y ; B -4 -157 683 426 ; +C 122 ; WX 600 ; N z ; B 99 0 593 426 ; +C 123 ; WX 600 ; N braceleft ; B 233 -108 569 622 ; +C 124 ; WX 600 ; N bar ; B 222 -250 485 750 ; +C 125 ; WX 600 ; N braceright ; B 140 -108 477 622 ; +C 126 ; WX 600 ; N asciitilde ; B 116 197 600 320 ; +C 161 ; WX 600 ; N exclamdown ; B 225 -157 445 430 ; +C 162 ; WX 600 ; N cent ; B 151 -49 588 614 ; +C 163 ; WX 600 ; N sterling ; B 124 -21 621 611 ; +C 164 ; WX 600 ; N fraction ; B 84 -57 646 665 ; +C 165 ; WX 600 ; N yen ; B 120 0 693 562 ; +C 166 ; WX 600 ; N florin ; B -26 -143 671 622 ; +C 167 ; WX 600 ; N section ; B 104 -78 590 580 ; +C 168 ; WX 600 ; N currency ; B 94 58 628 506 ; +C 169 ; WX 600 ; N quotesingle ; B 345 328 460 562 ; +C 170 ; WX 600 ; N quotedblleft ; B 262 328 541 562 ; +C 171 ; WX 600 ; N guillemotleft ; B 92 70 652 446 ; +C 172 ; WX 600 ; N guilsinglleft ; B 204 70 540 446 ; +C 173 ; WX 600 ; N guilsinglright ; B 170 70 506 446 ; +C 174 ; WX 600 ; N fi ; B 3 0 619 629 ; +C 175 ; WX 600 ; N fl ; B 3 0 619 629 ; +C 177 ; WX 600 ; N endash ; B 124 231 586 285 ; +C 178 ; WX 600 ; N dagger ; B 217 -78 546 580 ; +C 179 ; WX 600 ; N daggerdbl ; B 163 -78 546 580 ; +C 180 ; WX 600 ; N periodcentered ; B 275 189 434 327 ; +C 182 ; WX 600 ; N paragraph ; B 100 -78 630 562 ; +C 183 ; WX 600 ; N bullet ; B 224 130 485 383 ; +C 184 ; WX 600 ; N quotesinglbase ; B 185 -134 397 100 ; +C 185 ; WX 600 ; N quotedblbase ; B 115 -134 478 100 ; +C 186 ; WX 600 ; N quotedblright ; B 213 328 576 562 ; +C 187 ; WX 600 ; N guillemotright ; B 58 70 618 446 ; +C 188 ; WX 600 ; N ellipsis ; B 46 -15 575 111 ; +C 189 ; WX 600 ; N perthousand ; B 59 -15 627 622 ; +C 191 ; WX 600 ; N questiondown ; B 105 -157 466 430 ; +C 193 ; WX 600 ; N grave ; B 294 497 484 672 ; +C 194 ; WX 600 ; N acute ; B 348 497 612 672 ; +C 195 ; WX 600 ; N circumflex ; B 229 477 581 654 ; +C 196 ; WX 600 ; N tilde ; B 212 489 629 606 ; +C 197 ; WX 600 ; N macron ; B 232 525 600 565 ; +C 198 ; WX 600 ; N breve ; B 279 501 576 609 ; +C 199 ; WX 600 ; N dotaccent ; B 373 537 478 640 ; +C 200 ; WX 600 ; N dieresis ; B 272 537 579 640 ; +C 202 ; WX 600 ; N ring ; B 332 463 500 627 ; +C 203 ; WX 600 ; N cedilla ; B 197 -151 344 10 ; +C 205 ; WX 600 ; N hungarumlaut ; B 239 497 683 672 ; +C 206 ; WX 600 ; N ogonek ; B 189 -172 377 4 ; +C 207 ; WX 600 ; N caron ; B 262 492 614 669 ; +C 208 ; WX 600 ; N emdash ; B 49 231 661 285 ; +C 225 ; WX 600 ; N AE ; B 3 0 655 562 ; +C 227 ; WX 600 ; N ordfeminine ; B 209 249 512 580 ; +C 232 ; WX 600 ; N Lslash ; B 47 0 607 562 ; +C 233 ; WX 600 ; N Oslash ; B 94 -80 625 629 ; +C 234 ; WX 600 ; N OE ; B 59 0 672 562 ; +C 235 ; WX 600 ; N ordmasculine ; B 210 249 535 580 ; +C 241 ; WX 600 ; N ae ; B 41 -15 626 441 ; +C 245 ; WX 600 ; N dotlessi ; B 95 0 515 426 ; +C 248 ; WX 600 ; N lslash ; B 95 0 587 629 ; +C 249 ; WX 600 ; N oslash ; B 102 -80 588 506 ; +C 250 ; WX 600 ; N oe ; B 54 -15 615 441 ; +C 251 ; WX 600 ; N germandbls ; B 48 -15 617 629 ; +C -1 ; WX 600 ; N Idieresis ; B 96 0 623 753 ; +C -1 ; WX 600 ; N eacute ; B 106 -15 612 672 ; +C -1 ; WX 600 ; N abreve ; B 76 -15 576 609 ; +C -1 ; WX 600 ; N uhungarumlaut ; B 101 -15 723 672 ; +C -1 ; WX 600 ; N ecaron ; B 106 -15 614 669 ; +C -1 ; WX 600 ; N Ydieresis ; B 133 0 695 753 ; +C -1 ; WX 600 ; N divide ; B 136 48 573 467 ; +C -1 ; WX 600 ; N Yacute ; B 133 0 695 805 ; +C -1 ; WX 600 ; N Acircumflex ; B 3 0 607 787 ; +C -1 ; WX 600 ; N aacute ; B 76 -15 612 672 ; +C -1 ; WX 600 ; N Ucircumflex ; B 125 -18 702 787 ; +C -1 ; WX 600 ; N yacute ; B -4 -157 683 672 ; +C -1 ; WX 600 ; N scommaaccent ; B 78 -250 584 441 ; +C -1 ; WX 600 ; N ecircumflex ; B 106 -15 598 654 ; +C -1 ; WX 600 ; N Uring ; B 125 -18 702 760 ; +C -1 ; WX 600 ; N Udieresis ; B 125 -18 702 753 ; +C -1 ; WX 600 ; N aogonek ; B 76 -172 569 441 ; +C -1 ; WX 600 ; N Uacute ; B 125 -18 702 805 ; +C -1 ; WX 600 ; N uogonek ; B 101 -172 572 426 ; +C -1 ; WX 600 ; N Edieresis ; B 53 0 660 753 ; +C -1 ; WX 600 ; N Dcroat ; B 43 0 645 562 ; +C -1 ; WX 600 ; N commaaccent ; B 145 -250 323 -58 ; +C -1 ; WX 600 ; N copyright ; B 53 -18 667 580 ; +C -1 ; WX 600 ; N Emacron ; B 53 0 660 698 ; +C -1 ; WX 600 ; N ccaron ; B 106 -15 614 669 ; +C -1 ; WX 600 ; N aring ; B 76 -15 569 627 ; +C -1 ; WX 600 ; N Ncommaaccent ; B 7 -250 712 562 ; +C -1 ; WX 600 ; N lacute ; B 95 0 640 805 ; +C -1 ; WX 600 ; N agrave ; B 76 -15 569 672 ; +C -1 ; WX 600 ; N Tcommaaccent ; B 108 -250 665 562 ; +C -1 ; WX 600 ; N Cacute ; B 93 -18 655 805 ; +C -1 ; WX 600 ; N atilde ; B 76 -15 629 606 ; +C -1 ; WX 600 ; N Edotaccent ; B 53 0 660 753 ; +C -1 ; WX 600 ; N scaron ; B 78 -15 614 669 ; +C -1 ; WX 600 ; N scedilla ; B 78 -151 584 441 ; +C -1 ; WX 600 ; N iacute ; B 95 0 612 672 ; +C -1 ; WX 600 ; N lozenge ; B 94 0 519 706 ; +C -1 ; WX 600 ; N Rcaron ; B 38 0 642 802 ; +C -1 ; WX 600 ; N Gcommaaccent ; B 83 -250 645 580 ; +C -1 ; WX 600 ; N ucircumflex ; B 101 -15 572 654 ; +C -1 ; WX 600 ; N acircumflex ; B 76 -15 581 654 ; +C -1 ; WX 600 ; N Amacron ; B 3 0 607 698 ; +C -1 ; WX 600 ; N rcaron ; B 60 0 636 669 ; +C -1 ; WX 600 ; N ccedilla ; B 106 -151 614 441 ; +C -1 ; WX 600 ; N Zdotaccent ; B 86 0 610 753 ; +C -1 ; WX 600 ; N Thorn ; B 79 0 606 562 ; +C -1 ; WX 600 ; N Omacron ; B 94 -18 628 698 ; +C -1 ; WX 600 ; N Racute ; B 38 0 670 805 ; +C -1 ; WX 600 ; N Sacute ; B 76 -20 650 805 ; +C -1 ; WX 600 ; N dcaron ; B 85 -15 849 629 ; +C -1 ; WX 600 ; N Umacron ; B 125 -18 702 698 ; +C -1 ; WX 600 ; N uring ; B 101 -15 572 627 ; +C -1 ; WX 600 ; N threesuperior ; B 213 240 501 622 ; +C -1 ; WX 600 ; N Ograve ; B 94 -18 625 805 ; +C -1 ; WX 600 ; N Agrave ; B 3 0 607 805 ; +C -1 ; WX 600 ; N Abreve ; B 3 0 607 732 ; +C -1 ; WX 600 ; N multiply ; B 103 43 607 470 ; +C -1 ; WX 600 ; N uacute ; B 101 -15 602 672 ; +C -1 ; WX 600 ; N Tcaron ; B 108 0 665 802 ; +C -1 ; WX 600 ; N partialdiff ; B 45 -38 546 710 ; +C -1 ; WX 600 ; N ydieresis ; B -4 -157 683 620 ; +C -1 ; WX 600 ; N Nacute ; B 7 -13 712 805 ; +C -1 ; WX 600 ; N icircumflex ; B 95 0 551 654 ; +C -1 ; WX 600 ; N Ecircumflex ; B 53 0 660 787 ; +C -1 ; WX 600 ; N adieresis ; B 76 -15 575 620 ; +C -1 ; WX 600 ; N edieresis ; B 106 -15 598 620 ; +C -1 ; WX 600 ; N cacute ; B 106 -15 612 672 ; +C -1 ; WX 600 ; N nacute ; B 26 0 602 672 ; +C -1 ; WX 600 ; N umacron ; B 101 -15 600 565 ; +C -1 ; WX 600 ; N Ncaron ; B 7 -13 712 802 ; +C -1 ; WX 600 ; N Iacute ; B 96 0 640 805 ; +C -1 ; WX 600 ; N plusminus ; B 96 44 594 558 ; +C -1 ; WX 600 ; N brokenbar ; B 238 -175 469 675 ; +C -1 ; WX 600 ; N registered ; B 53 -18 667 580 ; +C -1 ; WX 600 ; N Gbreve ; B 83 -18 645 732 ; +C -1 ; WX 600 ; N Idotaccent ; B 96 0 623 753 ; +C -1 ; WX 600 ; N summation ; B 15 -10 670 706 ; +C -1 ; WX 600 ; N Egrave ; B 53 0 660 805 ; +C -1 ; WX 600 ; N racute ; B 60 0 636 672 ; +C -1 ; WX 600 ; N omacron ; B 102 -15 600 565 ; +C -1 ; WX 600 ; N Zacute ; B 86 0 670 805 ; +C -1 ; WX 600 ; N Zcaron ; B 86 0 642 802 ; +C -1 ; WX 600 ; N greaterequal ; B 98 0 594 710 ; +C -1 ; WX 600 ; N Eth ; B 43 0 645 562 ; +C -1 ; WX 600 ; N Ccedilla ; B 93 -151 658 580 ; +C -1 ; WX 600 ; N lcommaaccent ; B 95 -250 515 629 ; +C -1 ; WX 600 ; N tcaron ; B 167 -15 587 717 ; +C -1 ; WX 600 ; N eogonek ; B 106 -172 598 441 ; +C -1 ; WX 600 ; N Uogonek ; B 124 -172 702 562 ; +C -1 ; WX 600 ; N Aacute ; B 3 0 660 805 ; +C -1 ; WX 600 ; N Adieresis ; B 3 0 607 753 ; +C -1 ; WX 600 ; N egrave ; B 106 -15 598 672 ; +C -1 ; WX 600 ; N zacute ; B 99 0 612 672 ; +C -1 ; WX 600 ; N iogonek ; B 95 -172 515 657 ; +C -1 ; WX 600 ; N Oacute ; B 94 -18 640 805 ; +C -1 ; WX 600 ; N oacute ; B 102 -15 612 672 ; +C -1 ; WX 600 ; N amacron ; B 76 -15 600 565 ; +C -1 ; WX 600 ; N sacute ; B 78 -15 612 672 ; +C -1 ; WX 600 ; N idieresis ; B 95 0 545 620 ; +C -1 ; WX 600 ; N Ocircumflex ; B 94 -18 625 787 ; +C -1 ; WX 600 ; N Ugrave ; B 125 -18 702 805 ; +C -1 ; WX 600 ; N Delta ; B 6 0 598 688 ; +C -1 ; WX 600 ; N thorn ; B -24 -157 605 629 ; +C -1 ; WX 600 ; N twosuperior ; B 230 249 535 622 ; +C -1 ; WX 600 ; N Odieresis ; B 94 -18 625 753 ; +C -1 ; WX 600 ; N mu ; B 72 -157 572 426 ; +C -1 ; WX 600 ; N igrave ; B 95 0 515 672 ; +C -1 ; WX 600 ; N ohungarumlaut ; B 102 -15 723 672 ; +C -1 ; WX 600 ; N Eogonek ; B 53 -172 660 562 ; +C -1 ; WX 600 ; N dcroat ; B 85 -15 704 629 ; +C -1 ; WX 600 ; N threequarters ; B 73 -56 659 666 ; +C -1 ; WX 600 ; N Scedilla ; B 76 -151 650 580 ; +C -1 ; WX 600 ; N lcaron ; B 95 0 667 629 ; +C -1 ; WX 600 ; N Kcommaaccent ; B 38 -250 671 562 ; +C -1 ; WX 600 ; N Lacute ; B 47 0 607 805 ; +C -1 ; WX 600 ; N trademark ; B 75 263 742 562 ; +C -1 ; WX 600 ; N edotaccent ; B 106 -15 598 620 ; +C -1 ; WX 600 ; N Igrave ; B 96 0 623 805 ; +C -1 ; WX 600 ; N Imacron ; B 96 0 628 698 ; +C -1 ; WX 600 ; N Lcaron ; B 47 0 632 562 ; +C -1 ; WX 600 ; N onehalf ; B 65 -57 669 665 ; +C -1 ; WX 600 ; N lessequal ; B 98 0 645 710 ; +C -1 ; WX 600 ; N ocircumflex ; B 102 -15 588 654 ; +C -1 ; WX 600 ; N ntilde ; B 26 0 629 606 ; +C -1 ; WX 600 ; N Uhungarumlaut ; B 125 -18 761 805 ; +C -1 ; WX 600 ; N Eacute ; B 53 0 670 805 ; +C -1 ; WX 600 ; N emacron ; B 106 -15 600 565 ; +C -1 ; WX 600 ; N gbreve ; B 61 -157 657 609 ; +C -1 ; WX 600 ; N onequarter ; B 65 -57 674 665 ; +C -1 ; WX 600 ; N Scaron ; B 76 -20 672 802 ; +C -1 ; WX 600 ; N Scommaaccent ; B 76 -250 650 580 ; +C -1 ; WX 600 ; N Ohungarumlaut ; B 94 -18 751 805 ; +C -1 ; WX 600 ; N degree ; B 214 269 576 622 ; +C -1 ; WX 600 ; N ograve ; B 102 -15 588 672 ; +C -1 ; WX 600 ; N Ccaron ; B 93 -18 672 802 ; +C -1 ; WX 600 ; N ugrave ; B 101 -15 572 672 ; +C -1 ; WX 600 ; N radical ; B 85 -15 765 792 ; +C -1 ; WX 600 ; N Dcaron ; B 43 0 645 802 ; +C -1 ; WX 600 ; N rcommaaccent ; B 60 -250 636 441 ; +C -1 ; WX 600 ; N Ntilde ; B 7 -13 712 729 ; +C -1 ; WX 600 ; N otilde ; B 102 -15 629 606 ; +C -1 ; WX 600 ; N Rcommaaccent ; B 38 -250 598 562 ; +C -1 ; WX 600 ; N Lcommaaccent ; B 47 -250 607 562 ; +C -1 ; WX 600 ; N Atilde ; B 3 0 655 729 ; +C -1 ; WX 600 ; N Aogonek ; B 3 -172 607 562 ; +C -1 ; WX 600 ; N Aring ; B 3 0 607 750 ; +C -1 ; WX 600 ; N Otilde ; B 94 -18 655 729 ; +C -1 ; WX 600 ; N zdotaccent ; B 99 0 593 620 ; +C -1 ; WX 600 ; N Ecaron ; B 53 0 660 802 ; +C -1 ; WX 600 ; N Iogonek ; B 96 -172 623 562 ; +C -1 ; WX 600 ; N kcommaaccent ; B 58 -250 633 629 ; +C -1 ; WX 600 ; N minus ; B 129 232 580 283 ; +C -1 ; WX 600 ; N Icircumflex ; B 96 0 623 787 ; +C -1 ; WX 600 ; N ncaron ; B 26 0 614 669 ; +C -1 ; WX 600 ; N tcommaaccent ; B 165 -250 561 561 ; +C -1 ; WX 600 ; N logicalnot ; B 155 108 591 369 ; +C -1 ; WX 600 ; N odieresis ; B 102 -15 588 620 ; +C -1 ; WX 600 ; N udieresis ; B 101 -15 575 620 ; +C -1 ; WX 600 ; N notequal ; B 43 -16 621 529 ; +C -1 ; WX 600 ; N gcommaaccent ; B 61 -157 657 708 ; +C -1 ; WX 600 ; N eth ; B 102 -15 639 629 ; +C -1 ; WX 600 ; N zcaron ; B 99 0 624 669 ; +C -1 ; WX 600 ; N ncommaaccent ; B 26 -250 585 441 ; +C -1 ; WX 600 ; N onesuperior ; B 231 249 491 622 ; +C -1 ; WX 600 ; N imacron ; B 95 0 543 565 ; +C -1 ; WX 600 ; N Euro ; B 0 0 0 0 ; +EndCharMetrics +EndFontMetrics diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/PDF/default/templates/fonts/Courier.afm b/buildscripts/PhpDocumentor/phpDocumentor/Converters/PDF/default/templates/fonts/Courier.afm new file mode 100755 index 00000000..2f7be81d --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/PDF/default/templates/fonts/Courier.afm @@ -0,0 +1,342 @@ +StartFontMetrics 4.1 +Comment Copyright (c) 1989, 1990, 1991, 1992, 1993, 1997 Adobe Systems Incorporated. All Rights Reserved. +Comment Creation Date: Thu May 1 17:27:09 1997 +Comment UniqueID 43050 +Comment VMusage 39754 50779 +FontName Courier +FullName Courier +FamilyName Courier +Weight Medium +ItalicAngle 0 +IsFixedPitch true +CharacterSet ExtendedRoman +FontBBox -23 -250 715 805 +UnderlinePosition -100 +UnderlineThickness 50 +Version 003.000 +Notice Copyright (c) 1989, 1990, 1991, 1992, 1993, 1997 Adobe Systems Incorporated. All Rights Reserved. +EncodingScheme AdobeStandardEncoding +CapHeight 562 +XHeight 426 +Ascender 629 +Descender -157 +StdHW 51 +StdVW 51 +StartCharMetrics 315 +C 32 ; WX 600 ; N space ; B 0 0 0 0 ; +C 33 ; WX 600 ; N exclam ; B 236 -15 364 572 ; +C 34 ; WX 600 ; N quotedbl ; B 187 328 413 562 ; +C 35 ; WX 600 ; N numbersign ; B 93 -32 507 639 ; +C 36 ; WX 600 ; N dollar ; B 105 -126 496 662 ; +C 37 ; WX 600 ; N percent ; B 81 -15 518 622 ; +C 38 ; WX 600 ; N ampersand ; B 63 -15 538 543 ; +C 39 ; WX 600 ; N quoteright ; B 213 328 376 562 ; +C 40 ; WX 600 ; N parenleft ; B 269 -108 440 622 ; +C 41 ; WX 600 ; N parenright ; B 160 -108 331 622 ; +C 42 ; WX 600 ; N asterisk ; B 116 257 484 607 ; +C 43 ; WX 600 ; N plus ; B 80 44 520 470 ; +C 44 ; WX 600 ; N comma ; B 181 -112 344 122 ; +C 45 ; WX 600 ; N hyphen ; B 103 231 497 285 ; +C 46 ; WX 600 ; N period ; B 229 -15 371 109 ; +C 47 ; WX 600 ; N slash ; B 125 -80 475 629 ; +C 48 ; WX 600 ; N zero ; B 106 -15 494 622 ; +C 49 ; WX 600 ; N one ; B 96 0 505 622 ; +C 50 ; WX 600 ; N two ; B 70 0 471 622 ; +C 51 ; WX 600 ; N three ; B 75 -15 466 622 ; +C 52 ; WX 600 ; N four ; B 78 0 500 622 ; +C 53 ; WX 600 ; N five ; B 92 -15 497 607 ; +C 54 ; WX 600 ; N six ; B 111 -15 497 622 ; +C 55 ; WX 600 ; N seven ; B 82 0 483 607 ; +C 56 ; WX 600 ; N eight ; B 102 -15 498 622 ; +C 57 ; WX 600 ; N nine ; B 96 -15 489 622 ; +C 58 ; WX 600 ; N colon ; B 229 -15 371 385 ; +C 59 ; WX 600 ; N semicolon ; B 181 -112 371 385 ; +C 60 ; WX 600 ; N less ; B 41 42 519 472 ; +C 61 ; WX 600 ; N equal ; B 80 138 520 376 ; +C 62 ; WX 600 ; N greater ; B 66 42 544 472 ; +C 63 ; WX 600 ; N question ; B 129 -15 492 572 ; +C 64 ; WX 600 ; N at ; B 77 -15 533 622 ; +C 65 ; WX 600 ; N A ; B 3 0 597 562 ; +C 66 ; WX 600 ; N B ; B 43 0 559 562 ; +C 67 ; WX 600 ; N C ; B 41 -18 540 580 ; +C 68 ; WX 600 ; N D ; B 43 0 574 562 ; +C 69 ; WX 600 ; N E ; B 53 0 550 562 ; +C 70 ; WX 600 ; N F ; B 53 0 545 562 ; +C 71 ; WX 600 ; N G ; B 31 -18 575 580 ; +C 72 ; WX 600 ; N H ; B 32 0 568 562 ; +C 73 ; WX 600 ; N I ; B 96 0 504 562 ; +C 74 ; WX 600 ; N J ; B 34 -18 566 562 ; +C 75 ; WX 600 ; N K ; B 38 0 582 562 ; +C 76 ; WX 600 ; N L ; B 47 0 554 562 ; +C 77 ; WX 600 ; N M ; B 4 0 596 562 ; +C 78 ; WX 600 ; N N ; B 7 -13 593 562 ; +C 79 ; WX 600 ; N O ; B 43 -18 557 580 ; +C 80 ; WX 600 ; N P ; B 79 0 558 562 ; +C 81 ; WX 600 ; N Q ; B 43 -138 557 580 ; +C 82 ; WX 600 ; N R ; B 38 0 588 562 ; +C 83 ; WX 600 ; N S ; B 72 -20 529 580 ; +C 84 ; WX 600 ; N T ; B 38 0 563 562 ; +C 85 ; WX 600 ; N U ; B 17 -18 583 562 ; +C 86 ; WX 600 ; N V ; B -4 -13 604 562 ; +C 87 ; WX 600 ; N W ; B -3 -13 603 562 ; +C 88 ; WX 600 ; N X ; B 23 0 577 562 ; +C 89 ; WX 600 ; N Y ; B 24 0 576 562 ; +C 90 ; WX 600 ; N Z ; B 86 0 514 562 ; +C 91 ; WX 600 ; N bracketleft ; B 269 -108 442 622 ; +C 92 ; WX 600 ; N backslash ; B 118 -80 482 629 ; +C 93 ; WX 600 ; N bracketright ; B 158 -108 331 622 ; +C 94 ; WX 600 ; N asciicircum ; B 94 354 506 622 ; +C 95 ; WX 600 ; N underscore ; B 0 -125 600 -75 ; +C 96 ; WX 600 ; N quoteleft ; B 224 328 387 562 ; +C 97 ; WX 600 ; N a ; B 53 -15 559 441 ; +C 98 ; WX 600 ; N b ; B 14 -15 575 629 ; +C 99 ; WX 600 ; N c ; B 66 -15 529 441 ; +C 100 ; WX 600 ; N d ; B 45 -15 591 629 ; +C 101 ; WX 600 ; N e ; B 66 -15 548 441 ; +C 102 ; WX 600 ; N f ; B 114 0 531 629 ; L i fi ; L l fl ; +C 103 ; WX 600 ; N g ; B 45 -157 566 441 ; +C 104 ; WX 600 ; N h ; B 18 0 582 629 ; +C 105 ; WX 600 ; N i ; B 95 0 505 657 ; +C 106 ; WX 600 ; N j ; B 82 -157 410 657 ; +C 107 ; WX 600 ; N k ; B 43 0 580 629 ; +C 108 ; WX 600 ; N l ; B 95 0 505 629 ; +C 109 ; WX 600 ; N m ; B -5 0 605 441 ; +C 110 ; WX 600 ; N n ; B 26 0 575 441 ; +C 111 ; WX 600 ; N o ; B 62 -15 538 441 ; +C 112 ; WX 600 ; N p ; B 9 -157 555 441 ; +C 113 ; WX 600 ; N q ; B 45 -157 591 441 ; +C 114 ; WX 600 ; N r ; B 60 0 559 441 ; +C 115 ; WX 600 ; N s ; B 80 -15 513 441 ; +C 116 ; WX 600 ; N t ; B 87 -15 530 561 ; +C 117 ; WX 600 ; N u ; B 21 -15 562 426 ; +C 118 ; WX 600 ; N v ; B 10 -10 590 426 ; +C 119 ; WX 600 ; N w ; B -4 -10 604 426 ; +C 120 ; WX 600 ; N x ; B 20 0 580 426 ; +C 121 ; WX 600 ; N y ; B 7 -157 592 426 ; +C 122 ; WX 600 ; N z ; B 99 0 502 426 ; +C 123 ; WX 600 ; N braceleft ; B 182 -108 437 622 ; +C 124 ; WX 600 ; N bar ; B 275 -250 326 750 ; +C 125 ; WX 600 ; N braceright ; B 163 -108 418 622 ; +C 126 ; WX 600 ; N asciitilde ; B 63 197 540 320 ; +C 161 ; WX 600 ; N exclamdown ; B 236 -157 364 430 ; +C 162 ; WX 600 ; N cent ; B 96 -49 500 614 ; +C 163 ; WX 600 ; N sterling ; B 84 -21 521 611 ; +C 164 ; WX 600 ; N fraction ; B 92 -57 509 665 ; +C 165 ; WX 600 ; N yen ; B 26 0 574 562 ; +C 166 ; WX 600 ; N florin ; B 4 -143 539 622 ; +C 167 ; WX 600 ; N section ; B 113 -78 488 580 ; +C 168 ; WX 600 ; N currency ; B 73 58 527 506 ; +C 169 ; WX 600 ; N quotesingle ; B 259 328 341 562 ; +C 170 ; WX 600 ; N quotedblleft ; B 143 328 471 562 ; +C 171 ; WX 600 ; N guillemotleft ; B 37 70 563 446 ; +C 172 ; WX 600 ; N guilsinglleft ; B 149 70 451 446 ; +C 173 ; WX 600 ; N guilsinglright ; B 149 70 451 446 ; +C 174 ; WX 600 ; N fi ; B 3 0 597 629 ; +C 175 ; WX 600 ; N fl ; B 3 0 597 629 ; +C 177 ; WX 600 ; N endash ; B 75 231 525 285 ; +C 178 ; WX 600 ; N dagger ; B 141 -78 459 580 ; +C 179 ; WX 600 ; N daggerdbl ; B 141 -78 459 580 ; +C 180 ; WX 600 ; N periodcentered ; B 222 189 378 327 ; +C 182 ; WX 600 ; N paragraph ; B 50 -78 511 562 ; +C 183 ; WX 600 ; N bullet ; B 172 130 428 383 ; +C 184 ; WX 600 ; N quotesinglbase ; B 213 -134 376 100 ; +C 185 ; WX 600 ; N quotedblbase ; B 143 -134 457 100 ; +C 186 ; WX 600 ; N quotedblright ; B 143 328 457 562 ; +C 187 ; WX 600 ; N guillemotright ; B 37 70 563 446 ; +C 188 ; WX 600 ; N ellipsis ; B 37 -15 563 111 ; +C 189 ; WX 600 ; N perthousand ; B 3 -15 600 622 ; +C 191 ; WX 600 ; N questiondown ; B 108 -157 471 430 ; +C 193 ; WX 600 ; N grave ; B 151 497 378 672 ; +C 194 ; WX 600 ; N acute ; B 242 497 469 672 ; +C 195 ; WX 600 ; N circumflex ; B 124 477 476 654 ; +C 196 ; WX 600 ; N tilde ; B 105 489 503 606 ; +C 197 ; WX 600 ; N macron ; B 120 525 480 565 ; +C 198 ; WX 600 ; N breve ; B 153 501 447 609 ; +C 199 ; WX 600 ; N dotaccent ; B 249 537 352 640 ; +C 200 ; WX 600 ; N dieresis ; B 148 537 453 640 ; +C 202 ; WX 600 ; N ring ; B 218 463 382 627 ; +C 203 ; WX 600 ; N cedilla ; B 224 -151 362 10 ; +C 205 ; WX 600 ; N hungarumlaut ; B 133 497 540 672 ; +C 206 ; WX 600 ; N ogonek ; B 211 -172 407 4 ; +C 207 ; WX 600 ; N caron ; B 124 492 476 669 ; +C 208 ; WX 600 ; N emdash ; B 0 231 600 285 ; +C 225 ; WX 600 ; N AE ; B 3 0 550 562 ; +C 227 ; WX 600 ; N ordfeminine ; B 156 249 442 580 ; +C 232 ; WX 600 ; N Lslash ; B 47 0 554 562 ; +C 233 ; WX 600 ; N Oslash ; B 43 -80 557 629 ; +C 234 ; WX 600 ; N OE ; B 7 0 567 562 ; +C 235 ; WX 600 ; N ordmasculine ; B 157 249 443 580 ; +C 241 ; WX 600 ; N ae ; B 19 -15 570 441 ; +C 245 ; WX 600 ; N dotlessi ; B 95 0 505 426 ; +C 248 ; WX 600 ; N lslash ; B 95 0 505 629 ; +C 249 ; WX 600 ; N oslash ; B 62 -80 538 506 ; +C 250 ; WX 600 ; N oe ; B 19 -15 559 441 ; +C 251 ; WX 600 ; N germandbls ; B 48 -15 588 629 ; +C -1 ; WX 600 ; N Idieresis ; B 96 0 504 753 ; +C -1 ; WX 600 ; N eacute ; B 66 -15 548 672 ; +C -1 ; WX 600 ; N abreve ; B 53 -15 559 609 ; +C -1 ; WX 600 ; N uhungarumlaut ; B 21 -15 580 672 ; +C -1 ; WX 600 ; N ecaron ; B 66 -15 548 669 ; +C -1 ; WX 600 ; N Ydieresis ; B 24 0 576 753 ; +C -1 ; WX 600 ; N divide ; B 87 48 513 467 ; +C -1 ; WX 600 ; N Yacute ; B 24 0 576 805 ; +C -1 ; WX 600 ; N Acircumflex ; B 3 0 597 787 ; +C -1 ; WX 600 ; N aacute ; B 53 -15 559 672 ; +C -1 ; WX 600 ; N Ucircumflex ; B 17 -18 583 787 ; +C -1 ; WX 600 ; N yacute ; B 7 -157 592 672 ; +C -1 ; WX 600 ; N scommaaccent ; B 80 -250 513 441 ; +C -1 ; WX 600 ; N ecircumflex ; B 66 -15 548 654 ; +C -1 ; WX 600 ; N Uring ; B 17 -18 583 760 ; +C -1 ; WX 600 ; N Udieresis ; B 17 -18 583 753 ; +C -1 ; WX 600 ; N aogonek ; B 53 -172 587 441 ; +C -1 ; WX 600 ; N Uacute ; B 17 -18 583 805 ; +C -1 ; WX 600 ; N uogonek ; B 21 -172 590 426 ; +C -1 ; WX 600 ; N Edieresis ; B 53 0 550 753 ; +C -1 ; WX 600 ; N Dcroat ; B 30 0 574 562 ; +C -1 ; WX 600 ; N commaaccent ; B 198 -250 335 -58 ; +C -1 ; WX 600 ; N copyright ; B 0 -18 600 580 ; +C -1 ; WX 600 ; N Emacron ; B 53 0 550 698 ; +C -1 ; WX 600 ; N ccaron ; B 66 -15 529 669 ; +C -1 ; WX 600 ; N aring ; B 53 -15 559 627 ; +C -1 ; WX 600 ; N Ncommaaccent ; B 7 -250 593 562 ; +C -1 ; WX 600 ; N lacute ; B 95 0 505 805 ; +C -1 ; WX 600 ; N agrave ; B 53 -15 559 672 ; +C -1 ; WX 600 ; N Tcommaaccent ; B 38 -250 563 562 ; +C -1 ; WX 600 ; N Cacute ; B 41 -18 540 805 ; +C -1 ; WX 600 ; N atilde ; B 53 -15 559 606 ; +C -1 ; WX 600 ; N Edotaccent ; B 53 0 550 753 ; +C -1 ; WX 600 ; N scaron ; B 80 -15 513 669 ; +C -1 ; WX 600 ; N scedilla ; B 80 -151 513 441 ; +C -1 ; WX 600 ; N iacute ; B 95 0 505 672 ; +C -1 ; WX 600 ; N lozenge ; B 18 0 443 706 ; +C -1 ; WX 600 ; N Rcaron ; B 38 0 588 802 ; +C -1 ; WX 600 ; N Gcommaaccent ; B 31 -250 575 580 ; +C -1 ; WX 600 ; N ucircumflex ; B 21 -15 562 654 ; +C -1 ; WX 600 ; N acircumflex ; B 53 -15 559 654 ; +C -1 ; WX 600 ; N Amacron ; B 3 0 597 698 ; +C -1 ; WX 600 ; N rcaron ; B 60 0 559 669 ; +C -1 ; WX 600 ; N ccedilla ; B 66 -151 529 441 ; +C -1 ; WX 600 ; N Zdotaccent ; B 86 0 514 753 ; +C -1 ; WX 600 ; N Thorn ; B 79 0 538 562 ; +C -1 ; WX 600 ; N Omacron ; B 43 -18 557 698 ; +C -1 ; WX 600 ; N Racute ; B 38 0 588 805 ; +C -1 ; WX 600 ; N Sacute ; B 72 -20 529 805 ; +C -1 ; WX 600 ; N dcaron ; B 45 -15 715 629 ; +C -1 ; WX 600 ; N Umacron ; B 17 -18 583 698 ; +C -1 ; WX 600 ; N uring ; B 21 -15 562 627 ; +C -1 ; WX 600 ; N threesuperior ; B 155 240 406 622 ; +C -1 ; WX 600 ; N Ograve ; B 43 -18 557 805 ; +C -1 ; WX 600 ; N Agrave ; B 3 0 597 805 ; +C -1 ; WX 600 ; N Abreve ; B 3 0 597 732 ; +C -1 ; WX 600 ; N multiply ; B 87 43 515 470 ; +C -1 ; WX 600 ; N uacute ; B 21 -15 562 672 ; +C -1 ; WX 600 ; N Tcaron ; B 38 0 563 802 ; +C -1 ; WX 600 ; N partialdiff ; B 17 -38 459 710 ; +C -1 ; WX 600 ; N ydieresis ; B 7 -157 592 620 ; +C -1 ; WX 600 ; N Nacute ; B 7 -13 593 805 ; +C -1 ; WX 600 ; N icircumflex ; B 94 0 505 654 ; +C -1 ; WX 600 ; N Ecircumflex ; B 53 0 550 787 ; +C -1 ; WX 600 ; N adieresis ; B 53 -15 559 620 ; +C -1 ; WX 600 ; N edieresis ; B 66 -15 548 620 ; +C -1 ; WX 600 ; N cacute ; B 66 -15 529 672 ; +C -1 ; WX 600 ; N nacute ; B 26 0 575 672 ; +C -1 ; WX 600 ; N umacron ; B 21 -15 562 565 ; +C -1 ; WX 600 ; N Ncaron ; B 7 -13 593 802 ; +C -1 ; WX 600 ; N Iacute ; B 96 0 504 805 ; +C -1 ; WX 600 ; N plusminus ; B 87 44 513 558 ; +C -1 ; WX 600 ; N brokenbar ; B 275 -175 326 675 ; +C -1 ; WX 600 ; N registered ; B 0 -18 600 580 ; +C -1 ; WX 600 ; N Gbreve ; B 31 -18 575 732 ; +C -1 ; WX 600 ; N Idotaccent ; B 96 0 504 753 ; +C -1 ; WX 600 ; N summation ; B 15 -10 585 706 ; +C -1 ; WX 600 ; N Egrave ; B 53 0 550 805 ; +C -1 ; WX 600 ; N racute ; B 60 0 559 672 ; +C -1 ; WX 600 ; N omacron ; B 62 -15 538 565 ; +C -1 ; WX 600 ; N Zacute ; B 86 0 514 805 ; +C -1 ; WX 600 ; N Zcaron ; B 86 0 514 802 ; +C -1 ; WX 600 ; N greaterequal ; B 98 0 502 710 ; +C -1 ; WX 600 ; N Eth ; B 30 0 574 562 ; +C -1 ; WX 600 ; N Ccedilla ; B 41 -151 540 580 ; +C -1 ; WX 600 ; N lcommaaccent ; B 95 -250 505 629 ; +C -1 ; WX 600 ; N tcaron ; B 87 -15 530 717 ; +C -1 ; WX 600 ; N eogonek ; B 66 -172 548 441 ; +C -1 ; WX 600 ; N Uogonek ; B 17 -172 583 562 ; +C -1 ; WX 600 ; N Aacute ; B 3 0 597 805 ; +C -1 ; WX 600 ; N Adieresis ; B 3 0 597 753 ; +C -1 ; WX 600 ; N egrave ; B 66 -15 548 672 ; +C -1 ; WX 600 ; N zacute ; B 99 0 502 672 ; +C -1 ; WX 600 ; N iogonek ; B 95 -172 505 657 ; +C -1 ; WX 600 ; N Oacute ; B 43 -18 557 805 ; +C -1 ; WX 600 ; N oacute ; B 62 -15 538 672 ; +C -1 ; WX 600 ; N amacron ; B 53 -15 559 565 ; +C -1 ; WX 600 ; N sacute ; B 80 -15 513 672 ; +C -1 ; WX 600 ; N idieresis ; B 95 0 505 620 ; +C -1 ; WX 600 ; N Ocircumflex ; B 43 -18 557 787 ; +C -1 ; WX 600 ; N Ugrave ; B 17 -18 583 805 ; +C -1 ; WX 600 ; N Delta ; B 6 0 598 688 ; +C -1 ; WX 600 ; N thorn ; B -6 -157 555 629 ; +C -1 ; WX 600 ; N twosuperior ; B 177 249 424 622 ; +C -1 ; WX 600 ; N Odieresis ; B 43 -18 557 753 ; +C -1 ; WX 600 ; N mu ; B 21 -157 562 426 ; +C -1 ; WX 600 ; N igrave ; B 95 0 505 672 ; +C -1 ; WX 600 ; N ohungarumlaut ; B 62 -15 580 672 ; +C -1 ; WX 600 ; N Eogonek ; B 53 -172 561 562 ; +C -1 ; WX 600 ; N dcroat ; B 45 -15 591 629 ; +C -1 ; WX 600 ; N threequarters ; B 8 -56 593 666 ; +C -1 ; WX 600 ; N Scedilla ; B 72 -151 529 580 ; +C -1 ; WX 600 ; N lcaron ; B 95 0 533 629 ; +C -1 ; WX 600 ; N Kcommaaccent ; B 38 -250 582 562 ; +C -1 ; WX 600 ; N Lacute ; B 47 0 554 805 ; +C -1 ; WX 600 ; N trademark ; B -23 263 623 562 ; +C -1 ; WX 600 ; N edotaccent ; B 66 -15 548 620 ; +C -1 ; WX 600 ; N Igrave ; B 96 0 504 805 ; +C -1 ; WX 600 ; N Imacron ; B 96 0 504 698 ; +C -1 ; WX 600 ; N Lcaron ; B 47 0 554 562 ; +C -1 ; WX 600 ; N onehalf ; B 0 -57 611 665 ; +C -1 ; WX 600 ; N lessequal ; B 98 0 502 710 ; +C -1 ; WX 600 ; N ocircumflex ; B 62 -15 538 654 ; +C -1 ; WX 600 ; N ntilde ; B 26 0 575 606 ; +C -1 ; WX 600 ; N Uhungarumlaut ; B 17 -18 590 805 ; +C -1 ; WX 600 ; N Eacute ; B 53 0 550 805 ; +C -1 ; WX 600 ; N emacron ; B 66 -15 548 565 ; +C -1 ; WX 600 ; N gbreve ; B 45 -157 566 609 ; +C -1 ; WX 600 ; N onequarter ; B 0 -57 600 665 ; +C -1 ; WX 600 ; N Scaron ; B 72 -20 529 802 ; +C -1 ; WX 600 ; N Scommaaccent ; B 72 -250 529 580 ; +C -1 ; WX 600 ; N Ohungarumlaut ; B 43 -18 580 805 ; +C -1 ; WX 600 ; N degree ; B 123 269 477 622 ; +C -1 ; WX 600 ; N ograve ; B 62 -15 538 672 ; +C -1 ; WX 600 ; N Ccaron ; B 41 -18 540 802 ; +C -1 ; WX 600 ; N ugrave ; B 21 -15 562 672 ; +C -1 ; WX 600 ; N radical ; B 3 -15 597 792 ; +C -1 ; WX 600 ; N Dcaron ; B 43 0 574 802 ; +C -1 ; WX 600 ; N rcommaaccent ; B 60 -250 559 441 ; +C -1 ; WX 600 ; N Ntilde ; B 7 -13 593 729 ; +C -1 ; WX 600 ; N otilde ; B 62 -15 538 606 ; +C -1 ; WX 600 ; N Rcommaaccent ; B 38 -250 588 562 ; +C -1 ; WX 600 ; N Lcommaaccent ; B 47 -250 554 562 ; +C -1 ; WX 600 ; N Atilde ; B 3 0 597 729 ; +C -1 ; WX 600 ; N Aogonek ; B 3 -172 608 562 ; +C -1 ; WX 600 ; N Aring ; B 3 0 597 750 ; +C -1 ; WX 600 ; N Otilde ; B 43 -18 557 729 ; +C -1 ; WX 600 ; N zdotaccent ; B 99 0 502 620 ; +C -1 ; WX 600 ; N Ecaron ; B 53 0 550 802 ; +C -1 ; WX 600 ; N Iogonek ; B 96 -172 504 562 ; +C -1 ; WX 600 ; N kcommaaccent ; B 43 -250 580 629 ; +C -1 ; WX 600 ; N minus ; B 80 232 520 283 ; +C -1 ; WX 600 ; N Icircumflex ; B 96 0 504 787 ; +C -1 ; WX 600 ; N ncaron ; B 26 0 575 669 ; +C -1 ; WX 600 ; N tcommaaccent ; B 87 -250 530 561 ; +C -1 ; WX 600 ; N logicalnot ; B 87 108 513 369 ; +C -1 ; WX 600 ; N odieresis ; B 62 -15 538 620 ; +C -1 ; WX 600 ; N udieresis ; B 21 -15 562 620 ; +C -1 ; WX 600 ; N notequal ; B 15 -16 540 529 ; +C -1 ; WX 600 ; N gcommaaccent ; B 45 -157 566 708 ; +C -1 ; WX 600 ; N eth ; B 62 -15 538 629 ; +C -1 ; WX 600 ; N zcaron ; B 99 0 502 669 ; +C -1 ; WX 600 ; N ncommaaccent ; B 26 -250 575 441 ; +C -1 ; WX 600 ; N onesuperior ; B 172 249 428 622 ; +C -1 ; WX 600 ; N imacron ; B 95 0 505 565 ; +C -1 ; WX 600 ; N Euro ; B 0 0 0 0 ; +EndCharMetrics +EndFontMetrics diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/PDF/default/templates/fonts/Helvetica-Bold.afm b/buildscripts/PhpDocumentor/phpDocumentor/Converters/PDF/default/templates/fonts/Helvetica-Bold.afm new file mode 100755 index 00000000..837c594e --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/PDF/default/templates/fonts/Helvetica-Bold.afm @@ -0,0 +1,2827 @@ +StartFontMetrics 4.1 +Comment Copyright (c) 1985, 1987, 1989, 1990, 1997 Adobe Systems Incorporated. All Rights Reserved. +Comment Creation Date: Thu May 1 12:43:52 1997 +Comment UniqueID 43052 +Comment VMusage 37169 48194 +FontName Helvetica-Bold +FullName Helvetica Bold +FamilyName Helvetica +Weight Bold +ItalicAngle 0 +IsFixedPitch false +CharacterSet ExtendedRoman +FontBBox -170 -228 1003 962 +UnderlinePosition -100 +UnderlineThickness 50 +Version 002.000 +Notice Copyright (c) 1985, 1987, 1989, 1990, 1997 Adobe Systems Incorporated. All Rights Reserved.Helvetica is a trademark of Linotype-Hell AG and/or its subsidiaries. +EncodingScheme AdobeStandardEncoding +CapHeight 718 +XHeight 532 +Ascender 718 +Descender -207 +StdHW 118 +StdVW 140 +StartCharMetrics 315 +C 32 ; WX 278 ; N space ; B 0 0 0 0 ; +C 33 ; WX 333 ; N exclam ; B 90 0 244 718 ; +C 34 ; WX 474 ; N quotedbl ; B 98 447 376 718 ; +C 35 ; WX 556 ; N numbersign ; B 18 0 538 698 ; +C 36 ; WX 556 ; N dollar ; B 30 -115 523 775 ; +C 37 ; WX 889 ; N percent ; B 28 -19 861 710 ; +C 38 ; WX 722 ; N ampersand ; B 54 -19 701 718 ; +C 39 ; WX 278 ; N quoteright ; B 69 445 209 718 ; +C 40 ; WX 333 ; N parenleft ; B 35 -208 314 734 ; +C 41 ; WX 333 ; N parenright ; B 19 -208 298 734 ; +C 42 ; WX 389 ; N asterisk ; B 27 387 362 718 ; +C 43 ; WX 584 ; N plus ; B 40 0 544 506 ; +C 44 ; WX 278 ; N comma ; B 64 -168 214 146 ; +C 45 ; WX 333 ; N hyphen ; B 27 215 306 345 ; +C 46 ; WX 278 ; N period ; B 64 0 214 146 ; +C 47 ; WX 278 ; N slash ; B -33 -19 311 737 ; +C 48 ; WX 556 ; N zero ; B 32 -19 524 710 ; +C 49 ; WX 556 ; N one ; B 69 0 378 710 ; +C 50 ; WX 556 ; N two ; B 26 0 511 710 ; +C 51 ; WX 556 ; N three ; B 27 -19 516 710 ; +C 52 ; WX 556 ; N four ; B 27 0 526 710 ; +C 53 ; WX 556 ; N five ; B 27 -19 516 698 ; +C 54 ; WX 556 ; N six ; B 31 -19 520 710 ; +C 55 ; WX 556 ; N seven ; B 25 0 528 698 ; +C 56 ; WX 556 ; N eight ; B 32 -19 524 710 ; +C 57 ; WX 556 ; N nine ; B 30 -19 522 710 ; +C 58 ; WX 333 ; N colon ; B 92 0 242 512 ; +C 59 ; WX 333 ; N semicolon ; B 92 -168 242 512 ; +C 60 ; WX 584 ; N less ; B 38 -8 546 514 ; +C 61 ; WX 584 ; N equal ; B 40 87 544 419 ; +C 62 ; WX 584 ; N greater ; B 38 -8 546 514 ; +C 63 ; WX 611 ; N question ; B 60 0 556 727 ; +C 64 ; WX 975 ; N at ; B 118 -19 856 737 ; +C 65 ; WX 722 ; N A ; B 20 0 702 718 ; +C 66 ; WX 722 ; N B ; B 76 0 669 718 ; +C 67 ; WX 722 ; N C ; B 44 -19 684 737 ; +C 68 ; WX 722 ; N D ; B 76 0 685 718 ; +C 69 ; WX 667 ; N E ; B 76 0 621 718 ; +C 70 ; WX 611 ; N F ; B 76 0 587 718 ; +C 71 ; WX 778 ; N G ; B 44 -19 713 737 ; +C 72 ; WX 722 ; N H ; B 71 0 651 718 ; +C 73 ; WX 278 ; N I ; B 64 0 214 718 ; +C 74 ; WX 556 ; N J ; B 22 -18 484 718 ; +C 75 ; WX 722 ; N K ; B 87 0 722 718 ; +C 76 ; WX 611 ; N L ; B 76 0 583 718 ; +C 77 ; WX 833 ; N M ; B 69 0 765 718 ; +C 78 ; WX 722 ; N N ; B 69 0 654 718 ; +C 79 ; WX 778 ; N O ; B 44 -19 734 737 ; +C 80 ; WX 667 ; N P ; B 76 0 627 718 ; +C 81 ; WX 778 ; N Q ; B 44 -52 737 737 ; +C 82 ; WX 722 ; N R ; B 76 0 677 718 ; +C 83 ; WX 667 ; N S ; B 39 -19 629 737 ; +C 84 ; WX 611 ; N T ; B 14 0 598 718 ; +C 85 ; WX 722 ; N U ; B 72 -19 651 718 ; +C 86 ; WX 667 ; N V ; B 19 0 648 718 ; +C 87 ; WX 944 ; N W ; B 16 0 929 718 ; +C 88 ; WX 667 ; N X ; B 14 0 653 718 ; +C 89 ; WX 667 ; N Y ; B 15 0 653 718 ; +C 90 ; WX 611 ; N Z ; B 25 0 586 718 ; +C 91 ; WX 333 ; N bracketleft ; B 63 -196 309 722 ; +C 92 ; WX 278 ; N backslash ; B -33 -19 311 737 ; +C 93 ; WX 333 ; N bracketright ; B 24 -196 270 722 ; +C 94 ; WX 584 ; N asciicircum ; B 62 323 522 698 ; +C 95 ; WX 556 ; N underscore ; B 0 -125 556 -75 ; +C 96 ; WX 278 ; N quoteleft ; B 69 454 209 727 ; +C 97 ; WX 556 ; N a ; B 29 -14 527 546 ; +C 98 ; WX 611 ; N b ; B 61 -14 578 718 ; +C 99 ; WX 556 ; N c ; B 34 -14 524 546 ; +C 100 ; WX 611 ; N d ; B 34 -14 551 718 ; +C 101 ; WX 556 ; N e ; B 23 -14 528 546 ; +C 102 ; WX 333 ; N f ; B 10 0 318 727 ; L i fi ; L l fl ; +C 103 ; WX 611 ; N g ; B 40 -217 553 546 ; +C 104 ; WX 611 ; N h ; B 65 0 546 718 ; +C 105 ; WX 278 ; N i ; B 69 0 209 725 ; +C 106 ; WX 278 ; N j ; B 3 -214 209 725 ; +C 107 ; WX 556 ; N k ; B 69 0 562 718 ; +C 108 ; WX 278 ; N l ; B 69 0 209 718 ; +C 109 ; WX 889 ; N m ; B 64 0 826 546 ; +C 110 ; WX 611 ; N n ; B 65 0 546 546 ; +C 111 ; WX 611 ; N o ; B 34 -14 578 546 ; +C 112 ; WX 611 ; N p ; B 62 -207 578 546 ; +C 113 ; WX 611 ; N q ; B 34 -207 552 546 ; +C 114 ; WX 389 ; N r ; B 64 0 373 546 ; +C 115 ; WX 556 ; N s ; B 30 -14 519 546 ; +C 116 ; WX 333 ; N t ; B 10 -6 309 676 ; +C 117 ; WX 611 ; N u ; B 66 -14 545 532 ; +C 118 ; WX 556 ; N v ; B 13 0 543 532 ; +C 119 ; WX 778 ; N w ; B 10 0 769 532 ; +C 120 ; WX 556 ; N x ; B 15 0 541 532 ; +C 121 ; WX 556 ; N y ; B 10 -214 539 532 ; +C 122 ; WX 500 ; N z ; B 20 0 480 532 ; +C 123 ; WX 389 ; N braceleft ; B 48 -196 365 722 ; +C 124 ; WX 280 ; N bar ; B 84 -225 196 775 ; +C 125 ; WX 389 ; N braceright ; B 24 -196 341 722 ; +C 126 ; WX 584 ; N asciitilde ; B 61 163 523 343 ; +C 161 ; WX 333 ; N exclamdown ; B 90 -186 244 532 ; +C 162 ; WX 556 ; N cent ; B 34 -118 524 628 ; +C 163 ; WX 556 ; N sterling ; B 28 -16 541 718 ; +C 164 ; WX 167 ; N fraction ; B -170 -19 336 710 ; +C 165 ; WX 556 ; N yen ; B -9 0 565 698 ; +C 166 ; WX 556 ; N florin ; B -10 -210 516 737 ; +C 167 ; WX 556 ; N section ; B 34 -184 522 727 ; +C 168 ; WX 556 ; N currency ; B -3 76 559 636 ; +C 169 ; WX 238 ; N quotesingle ; B 70 447 168 718 ; +C 170 ; WX 500 ; N quotedblleft ; B 64 454 436 727 ; +C 171 ; WX 556 ; N guillemotleft ; B 88 76 468 484 ; +C 172 ; WX 333 ; N guilsinglleft ; B 83 76 250 484 ; +C 173 ; WX 333 ; N guilsinglright ; B 83 76 250 484 ; +C 174 ; WX 611 ; N fi ; B 10 0 542 727 ; +C 175 ; WX 611 ; N fl ; B 10 0 542 727 ; +C 177 ; WX 556 ; N endash ; B 0 227 556 333 ; +C 178 ; WX 556 ; N dagger ; B 36 -171 520 718 ; +C 179 ; WX 556 ; N daggerdbl ; B 36 -171 520 718 ; +C 180 ; WX 278 ; N periodcentered ; B 58 172 220 334 ; +C 182 ; WX 556 ; N paragraph ; B -8 -191 539 700 ; +C 183 ; WX 350 ; N bullet ; B 10 194 340 524 ; +C 184 ; WX 278 ; N quotesinglbase ; B 69 -146 209 127 ; +C 185 ; WX 500 ; N quotedblbase ; B 64 -146 436 127 ; +C 186 ; WX 500 ; N quotedblright ; B 64 445 436 718 ; +C 187 ; WX 556 ; N guillemotright ; B 88 76 468 484 ; +C 188 ; WX 1000 ; N ellipsis ; B 92 0 908 146 ; +C 189 ; WX 1000 ; N perthousand ; B -3 -19 1003 710 ; +C 191 ; WX 611 ; N questiondown ; B 55 -195 551 532 ; +C 193 ; WX 333 ; N grave ; B -23 604 225 750 ; +C 194 ; WX 333 ; N acute ; B 108 604 356 750 ; +C 195 ; WX 333 ; N circumflex ; B -10 604 343 750 ; +C 196 ; WX 333 ; N tilde ; B -17 610 350 737 ; +C 197 ; WX 333 ; N macron ; B -6 604 339 678 ; +C 198 ; WX 333 ; N breve ; B -2 604 335 750 ; +C 199 ; WX 333 ; N dotaccent ; B 104 614 230 729 ; +C 200 ; WX 333 ; N dieresis ; B 6 614 327 729 ; +C 202 ; WX 333 ; N ring ; B 59 568 275 776 ; +C 203 ; WX 333 ; N cedilla ; B 6 -228 245 0 ; +C 205 ; WX 333 ; N hungarumlaut ; B 9 604 486 750 ; +C 206 ; WX 333 ; N ogonek ; B 71 -228 304 0 ; +C 207 ; WX 333 ; N caron ; B -10 604 343 750 ; +C 208 ; WX 1000 ; N emdash ; B 0 227 1000 333 ; +C 225 ; WX 1000 ; N AE ; B 5 0 954 718 ; +C 227 ; WX 370 ; N ordfeminine ; B 22 401 347 737 ; +C 232 ; WX 611 ; N Lslash ; B -20 0 583 718 ; +C 233 ; WX 778 ; N Oslash ; B 33 -27 744 745 ; +C 234 ; WX 1000 ; N OE ; B 37 -19 961 737 ; +C 235 ; WX 365 ; N ordmasculine ; B 6 401 360 737 ; +C 241 ; WX 889 ; N ae ; B 29 -14 858 546 ; +C 245 ; WX 278 ; N dotlessi ; B 69 0 209 532 ; +C 248 ; WX 278 ; N lslash ; B -18 0 296 718 ; +C 249 ; WX 611 ; N oslash ; B 22 -29 589 560 ; +C 250 ; WX 944 ; N oe ; B 34 -14 912 546 ; +C 251 ; WX 611 ; N germandbls ; B 69 -14 579 731 ; +C -1 ; WX 278 ; N Idieresis ; B -21 0 300 915 ; +C -1 ; WX 556 ; N eacute ; B 23 -14 528 750 ; +C -1 ; WX 556 ; N abreve ; B 29 -14 527 750 ; +C -1 ; WX 611 ; N uhungarumlaut ; B 66 -14 625 750 ; +C -1 ; WX 556 ; N ecaron ; B 23 -14 528 750 ; +C -1 ; WX 667 ; N Ydieresis ; B 15 0 653 915 ; +C -1 ; WX 584 ; N divide ; B 40 -42 544 548 ; +C -1 ; WX 667 ; N Yacute ; B 15 0 653 936 ; +C -1 ; WX 722 ; N Acircumflex ; B 20 0 702 936 ; +C -1 ; WX 556 ; N aacute ; B 29 -14 527 750 ; +C -1 ; WX 722 ; N Ucircumflex ; B 72 -19 651 936 ; +C -1 ; WX 556 ; N yacute ; B 10 -214 539 750 ; +C -1 ; WX 556 ; N scommaaccent ; B 30 -228 519 546 ; +C -1 ; WX 556 ; N ecircumflex ; B 23 -14 528 750 ; +C -1 ; WX 722 ; N Uring ; B 72 -19 651 962 ; +C -1 ; WX 722 ; N Udieresis ; B 72 -19 651 915 ; +C -1 ; WX 556 ; N aogonek ; B 29 -224 545 546 ; +C -1 ; WX 722 ; N Uacute ; B 72 -19 651 936 ; +C -1 ; WX 611 ; N uogonek ; B 66 -228 545 532 ; +C -1 ; WX 667 ; N Edieresis ; B 76 0 621 915 ; +C -1 ; WX 722 ; N Dcroat ; B -5 0 685 718 ; +C -1 ; WX 250 ; N commaaccent ; B 64 -228 199 -50 ; +C -1 ; WX 737 ; N copyright ; B -11 -19 749 737 ; +C -1 ; WX 667 ; N Emacron ; B 76 0 621 864 ; +C -1 ; WX 556 ; N ccaron ; B 34 -14 524 750 ; +C -1 ; WX 556 ; N aring ; B 29 -14 527 776 ; +C -1 ; WX 722 ; N Ncommaaccent ; B 69 -228 654 718 ; +C -1 ; WX 278 ; N lacute ; B 69 0 329 936 ; +C -1 ; WX 556 ; N agrave ; B 29 -14 527 750 ; +C -1 ; WX 611 ; N Tcommaaccent ; B 14 -228 598 718 ; +C -1 ; WX 722 ; N Cacute ; B 44 -19 684 936 ; +C -1 ; WX 556 ; N atilde ; B 29 -14 527 737 ; +C -1 ; WX 667 ; N Edotaccent ; B 76 0 621 915 ; +C -1 ; WX 556 ; N scaron ; B 30 -14 519 750 ; +C -1 ; WX 556 ; N scedilla ; B 30 -228 519 546 ; +C -1 ; WX 278 ; N iacute ; B 69 0 329 750 ; +C -1 ; WX 494 ; N lozenge ; B 10 0 484 745 ; +C -1 ; WX 722 ; N Rcaron ; B 76 0 677 936 ; +C -1 ; WX 778 ; N Gcommaaccent ; B 44 -228 713 737 ; +C -1 ; WX 611 ; N ucircumflex ; B 66 -14 545 750 ; +C -1 ; WX 556 ; N acircumflex ; B 29 -14 527 750 ; +C -1 ; WX 722 ; N Amacron ; B 20 0 702 864 ; +C -1 ; WX 389 ; N rcaron ; B 18 0 373 750 ; +C -1 ; WX 556 ; N ccedilla ; B 34 -228 524 546 ; +C -1 ; WX 611 ; N Zdotaccent ; B 25 0 586 915 ; +C -1 ; WX 667 ; N Thorn ; B 76 0 627 718 ; +C -1 ; WX 778 ; N Omacron ; B 44 -19 734 864 ; +C -1 ; WX 722 ; N Racute ; B 76 0 677 936 ; +C -1 ; WX 667 ; N Sacute ; B 39 -19 629 936 ; +C -1 ; WX 743 ; N dcaron ; B 34 -14 750 718 ; +C -1 ; WX 722 ; N Umacron ; B 72 -19 651 864 ; +C -1 ; WX 611 ; N uring ; B 66 -14 545 776 ; +C -1 ; WX 333 ; N threesuperior ; B 8 271 326 710 ; +C -1 ; WX 778 ; N Ograve ; B 44 -19 734 936 ; +C -1 ; WX 722 ; N Agrave ; B 20 0 702 936 ; +C -1 ; WX 722 ; N Abreve ; B 20 0 702 936 ; +C -1 ; WX 584 ; N multiply ; B 40 1 545 505 ; +C -1 ; WX 611 ; N uacute ; B 66 -14 545 750 ; +C -1 ; WX 611 ; N Tcaron ; B 14 0 598 936 ; +C -1 ; WX 494 ; N partialdiff ; B 11 -21 494 750 ; +C -1 ; WX 556 ; N ydieresis ; B 10 -214 539 729 ; +C -1 ; WX 722 ; N Nacute ; B 69 0 654 936 ; +C -1 ; WX 278 ; N icircumflex ; B -37 0 316 750 ; +C -1 ; WX 667 ; N Ecircumflex ; B 76 0 621 936 ; +C -1 ; WX 556 ; N adieresis ; B 29 -14 527 729 ; +C -1 ; WX 556 ; N edieresis ; B 23 -14 528 729 ; +C -1 ; WX 556 ; N cacute ; B 34 -14 524 750 ; +C -1 ; WX 611 ; N nacute ; B 65 0 546 750 ; +C -1 ; WX 611 ; N umacron ; B 66 -14 545 678 ; +C -1 ; WX 722 ; N Ncaron ; B 69 0 654 936 ; +C -1 ; WX 278 ; N Iacute ; B 64 0 329 936 ; +C -1 ; WX 584 ; N plusminus ; B 40 0 544 506 ; +C -1 ; WX 280 ; N brokenbar ; B 84 -150 196 700 ; +C -1 ; WX 737 ; N registered ; B -11 -19 748 737 ; +C -1 ; WX 778 ; N Gbreve ; B 44 -19 713 936 ; +C -1 ; WX 278 ; N Idotaccent ; B 64 0 214 915 ; +C -1 ; WX 600 ; N summation ; B 14 -10 585 706 ; +C -1 ; WX 667 ; N Egrave ; B 76 0 621 936 ; +C -1 ; WX 389 ; N racute ; B 64 0 384 750 ; +C -1 ; WX 611 ; N omacron ; B 34 -14 578 678 ; +C -1 ; WX 611 ; N Zacute ; B 25 0 586 936 ; +C -1 ; WX 611 ; N Zcaron ; B 25 0 586 936 ; +C -1 ; WX 549 ; N greaterequal ; B 26 0 523 704 ; +C -1 ; WX 722 ; N Eth ; B -5 0 685 718 ; +C -1 ; WX 722 ; N Ccedilla ; B 44 -228 684 737 ; +C -1 ; WX 278 ; N lcommaaccent ; B 69 -228 213 718 ; +C -1 ; WX 389 ; N tcaron ; B 10 -6 421 878 ; +C -1 ; WX 556 ; N eogonek ; B 23 -228 528 546 ; +C -1 ; WX 722 ; N Uogonek ; B 72 -228 651 718 ; +C -1 ; WX 722 ; N Aacute ; B 20 0 702 936 ; +C -1 ; WX 722 ; N Adieresis ; B 20 0 702 915 ; +C -1 ; WX 556 ; N egrave ; B 23 -14 528 750 ; +C -1 ; WX 500 ; N zacute ; B 20 0 480 750 ; +C -1 ; WX 278 ; N iogonek ; B 16 -224 249 725 ; +C -1 ; WX 778 ; N Oacute ; B 44 -19 734 936 ; +C -1 ; WX 611 ; N oacute ; B 34 -14 578 750 ; +C -1 ; WX 556 ; N amacron ; B 29 -14 527 678 ; +C -1 ; WX 556 ; N sacute ; B 30 -14 519 750 ; +C -1 ; WX 278 ; N idieresis ; B -21 0 300 729 ; +C -1 ; WX 778 ; N Ocircumflex ; B 44 -19 734 936 ; +C -1 ; WX 722 ; N Ugrave ; B 72 -19 651 936 ; +C -1 ; WX 612 ; N Delta ; B 6 0 608 688 ; +C -1 ; WX 611 ; N thorn ; B 62 -208 578 718 ; +C -1 ; WX 333 ; N twosuperior ; B 9 283 324 710 ; +C -1 ; WX 778 ; N Odieresis ; B 44 -19 734 915 ; +C -1 ; WX 611 ; N mu ; B 66 -207 545 532 ; +C -1 ; WX 278 ; N igrave ; B -50 0 209 750 ; +C -1 ; WX 611 ; N ohungarumlaut ; B 34 -14 625 750 ; +C -1 ; WX 667 ; N Eogonek ; B 76 -224 639 718 ; +C -1 ; WX 611 ; N dcroat ; B 34 -14 650 718 ; +C -1 ; WX 834 ; N threequarters ; B 16 -19 799 710 ; +C -1 ; WX 667 ; N Scedilla ; B 39 -228 629 737 ; +C -1 ; WX 400 ; N lcaron ; B 69 0 408 718 ; +C -1 ; WX 722 ; N Kcommaaccent ; B 87 -228 722 718 ; +C -1 ; WX 611 ; N Lacute ; B 76 0 583 936 ; +C -1 ; WX 1000 ; N trademark ; B 44 306 956 718 ; +C -1 ; WX 556 ; N edotaccent ; B 23 -14 528 729 ; +C -1 ; WX 278 ; N Igrave ; B -50 0 214 936 ; +C -1 ; WX 278 ; N Imacron ; B -33 0 312 864 ; +C -1 ; WX 611 ; N Lcaron ; B 76 0 583 718 ; +C -1 ; WX 834 ; N onehalf ; B 26 -19 794 710 ; +C -1 ; WX 549 ; N lessequal ; B 29 0 526 704 ; +C -1 ; WX 611 ; N ocircumflex ; B 34 -14 578 750 ; +C -1 ; WX 611 ; N ntilde ; B 65 0 546 737 ; +C -1 ; WX 722 ; N Uhungarumlaut ; B 72 -19 681 936 ; +C -1 ; WX 667 ; N Eacute ; B 76 0 621 936 ; +C -1 ; WX 556 ; N emacron ; B 23 -14 528 678 ; +C -1 ; WX 611 ; N gbreve ; B 40 -217 553 750 ; +C -1 ; WX 834 ; N onequarter ; B 26 -19 766 710 ; +C -1 ; WX 667 ; N Scaron ; B 39 -19 629 936 ; +C -1 ; WX 667 ; N Scommaaccent ; B 39 -228 629 737 ; +C -1 ; WX 778 ; N Ohungarumlaut ; B 44 -19 734 936 ; +C -1 ; WX 400 ; N degree ; B 57 426 343 712 ; +C -1 ; WX 611 ; N ograve ; B 34 -14 578 750 ; +C -1 ; WX 722 ; N Ccaron ; B 44 -19 684 936 ; +C -1 ; WX 611 ; N ugrave ; B 66 -14 545 750 ; +C -1 ; WX 549 ; N radical ; B 10 -46 512 850 ; +C -1 ; WX 722 ; N Dcaron ; B 76 0 685 936 ; +C -1 ; WX 389 ; N rcommaaccent ; B 64 -228 373 546 ; +C -1 ; WX 722 ; N Ntilde ; B 69 0 654 923 ; +C -1 ; WX 611 ; N otilde ; B 34 -14 578 737 ; +C -1 ; WX 722 ; N Rcommaaccent ; B 76 -228 677 718 ; +C -1 ; WX 611 ; N Lcommaaccent ; B 76 -228 583 718 ; +C -1 ; WX 722 ; N Atilde ; B 20 0 702 923 ; +C -1 ; WX 722 ; N Aogonek ; B 20 -224 742 718 ; +C -1 ; WX 722 ; N Aring ; B 20 0 702 962 ; +C -1 ; WX 778 ; N Otilde ; B 44 -19 734 923 ; +C -1 ; WX 500 ; N zdotaccent ; B 20 0 480 729 ; +C -1 ; WX 667 ; N Ecaron ; B 76 0 621 936 ; +C -1 ; WX 278 ; N Iogonek ; B -11 -228 222 718 ; +C -1 ; WX 556 ; N kcommaaccent ; B 69 -228 562 718 ; +C -1 ; WX 584 ; N minus ; B 40 197 544 309 ; +C -1 ; WX 278 ; N Icircumflex ; B -37 0 316 936 ; +C -1 ; WX 611 ; N ncaron ; B 65 0 546 750 ; +C -1 ; WX 333 ; N tcommaaccent ; B 10 -228 309 676 ; +C -1 ; WX 584 ; N logicalnot ; B 40 108 544 419 ; +C -1 ; WX 611 ; N odieresis ; B 34 -14 578 729 ; +C -1 ; WX 611 ; N udieresis ; B 66 -14 545 729 ; +C -1 ; WX 549 ; N notequal ; B 15 -49 540 570 ; +C -1 ; WX 611 ; N gcommaaccent ; B 40 -217 553 850 ; +C -1 ; WX 611 ; N eth ; B 34 -14 578 737 ; +C -1 ; WX 500 ; N zcaron ; B 20 0 480 750 ; +C -1 ; WX 611 ; N ncommaaccent ; B 65 -228 546 546 ; +C -1 ; WX 333 ; N onesuperior ; B 26 283 237 710 ; +C -1 ; WX 278 ; N imacron ; B -8 0 285 678 ; +C -1 ; WX 556 ; N Euro ; B 0 0 0 0 ; +EndCharMetrics +StartKernData +StartKernPairs 2481 +KPX A C -40 +KPX A Cacute -40 +KPX A Ccaron -40 +KPX A Ccedilla -40 +KPX A G -50 +KPX A Gbreve -50 +KPX A Gcommaaccent -50 +KPX A O -40 +KPX A Oacute -40 +KPX A Ocircumflex -40 +KPX A Odieresis -40 +KPX A Ograve -40 +KPX A Ohungarumlaut -40 +KPX A Omacron -40 +KPX A Oslash -40 +KPX A Otilde -40 +KPX A Q -40 +KPX A T -90 +KPX A Tcaron -90 +KPX A Tcommaaccent -90 +KPX A U -50 +KPX A Uacute -50 +KPX A Ucircumflex -50 +KPX A Udieresis -50 +KPX A Ugrave -50 +KPX A Uhungarumlaut -50 +KPX A Umacron -50 +KPX A Uogonek -50 +KPX A Uring -50 +KPX A V -80 +KPX A W -60 +KPX A Y -110 +KPX A Yacute -110 +KPX A Ydieresis -110 +KPX A u -30 +KPX A uacute -30 +KPX A ucircumflex -30 +KPX A udieresis -30 +KPX A ugrave -30 +KPX A uhungarumlaut -30 +KPX A umacron -30 +KPX A uogonek -30 +KPX A uring -30 +KPX A v -40 +KPX A w -30 +KPX A y -30 +KPX A yacute -30 +KPX A ydieresis -30 +KPX Aacute C -40 +KPX Aacute Cacute -40 +KPX Aacute Ccaron -40 +KPX Aacute Ccedilla -40 +KPX Aacute G -50 +KPX Aacute Gbreve -50 +KPX Aacute Gcommaaccent -50 +KPX Aacute O -40 +KPX Aacute Oacute -40 +KPX Aacute Ocircumflex -40 +KPX Aacute Odieresis -40 +KPX Aacute Ograve -40 +KPX Aacute Ohungarumlaut -40 +KPX Aacute Omacron -40 +KPX Aacute Oslash -40 +KPX Aacute Otilde -40 +KPX Aacute Q -40 +KPX Aacute T -90 +KPX Aacute Tcaron -90 +KPX Aacute Tcommaaccent -90 +KPX Aacute U -50 +KPX Aacute Uacute -50 +KPX Aacute Ucircumflex -50 +KPX Aacute Udieresis -50 +KPX Aacute Ugrave -50 +KPX Aacute Uhungarumlaut -50 +KPX Aacute Umacron -50 +KPX Aacute Uogonek -50 +KPX Aacute Uring -50 +KPX Aacute V -80 +KPX Aacute W -60 +KPX Aacute Y -110 +KPX Aacute Yacute -110 +KPX Aacute Ydieresis -110 +KPX Aacute u -30 +KPX Aacute uacute -30 +KPX Aacute ucircumflex -30 +KPX Aacute udieresis -30 +KPX Aacute ugrave -30 +KPX Aacute uhungarumlaut -30 +KPX Aacute umacron -30 +KPX Aacute uogonek -30 +KPX Aacute uring -30 +KPX Aacute v -40 +KPX Aacute w -30 +KPX Aacute y -30 +KPX Aacute yacute -30 +KPX Aacute ydieresis -30 +KPX Abreve C -40 +KPX Abreve Cacute -40 +KPX Abreve Ccaron -40 +KPX Abreve Ccedilla -40 +KPX Abreve G -50 +KPX Abreve Gbreve -50 +KPX Abreve Gcommaaccent -50 +KPX Abreve O -40 +KPX Abreve Oacute -40 +KPX Abreve Ocircumflex -40 +KPX Abreve Odieresis -40 +KPX Abreve Ograve -40 +KPX Abreve Ohungarumlaut -40 +KPX Abreve Omacron -40 +KPX Abreve Oslash -40 +KPX Abreve Otilde -40 +KPX Abreve Q -40 +KPX Abreve T -90 +KPX Abreve Tcaron -90 +KPX Abreve Tcommaaccent -90 +KPX Abreve U -50 +KPX Abreve Uacute -50 +KPX Abreve Ucircumflex -50 +KPX Abreve Udieresis -50 +KPX Abreve Ugrave -50 +KPX Abreve Uhungarumlaut -50 +KPX Abreve Umacron -50 +KPX Abreve Uogonek -50 +KPX Abreve Uring -50 +KPX Abreve V -80 +KPX Abreve W -60 +KPX Abreve Y -110 +KPX Abreve Yacute -110 +KPX Abreve Ydieresis -110 +KPX Abreve u -30 +KPX Abreve uacute -30 +KPX Abreve ucircumflex -30 +KPX Abreve udieresis -30 +KPX Abreve ugrave -30 +KPX Abreve uhungarumlaut -30 +KPX Abreve umacron -30 +KPX Abreve uogonek -30 +KPX Abreve uring -30 +KPX Abreve v -40 +KPX Abreve w -30 +KPX Abreve y -30 +KPX Abreve yacute -30 +KPX Abreve ydieresis -30 +KPX Acircumflex C -40 +KPX Acircumflex Cacute -40 +KPX Acircumflex Ccaron -40 +KPX Acircumflex Ccedilla -40 +KPX Acircumflex G -50 +KPX Acircumflex Gbreve -50 +KPX Acircumflex Gcommaaccent -50 +KPX Acircumflex O -40 +KPX Acircumflex Oacute -40 +KPX Acircumflex Ocircumflex -40 +KPX Acircumflex Odieresis -40 +KPX Acircumflex Ograve -40 +KPX Acircumflex Ohungarumlaut -40 +KPX Acircumflex Omacron -40 +KPX Acircumflex Oslash -40 +KPX Acircumflex Otilde -40 +KPX Acircumflex Q -40 +KPX Acircumflex T -90 +KPX Acircumflex Tcaron -90 +KPX Acircumflex Tcommaaccent -90 +KPX Acircumflex U -50 +KPX Acircumflex Uacute -50 +KPX Acircumflex Ucircumflex -50 +KPX Acircumflex Udieresis -50 +KPX Acircumflex Ugrave -50 +KPX Acircumflex Uhungarumlaut -50 +KPX Acircumflex Umacron -50 +KPX Acircumflex Uogonek -50 +KPX Acircumflex Uring -50 +KPX Acircumflex V -80 +KPX Acircumflex W -60 +KPX Acircumflex Y -110 +KPX Acircumflex Yacute -110 +KPX Acircumflex Ydieresis -110 +KPX Acircumflex u -30 +KPX Acircumflex uacute -30 +KPX Acircumflex ucircumflex -30 +KPX Acircumflex udieresis -30 +KPX Acircumflex ugrave -30 +KPX Acircumflex uhungarumlaut -30 +KPX Acircumflex umacron -30 +KPX Acircumflex uogonek -30 +KPX Acircumflex uring -30 +KPX Acircumflex v -40 +KPX Acircumflex w -30 +KPX Acircumflex y -30 +KPX Acircumflex yacute -30 +KPX Acircumflex ydieresis -30 +KPX Adieresis C -40 +KPX Adieresis Cacute -40 +KPX Adieresis Ccaron -40 +KPX Adieresis Ccedilla -40 +KPX Adieresis G -50 +KPX Adieresis Gbreve -50 +KPX Adieresis Gcommaaccent -50 +KPX Adieresis O -40 +KPX Adieresis Oacute -40 +KPX Adieresis Ocircumflex -40 +KPX Adieresis Odieresis -40 +KPX Adieresis Ograve -40 +KPX Adieresis Ohungarumlaut -40 +KPX Adieresis Omacron -40 +KPX Adieresis Oslash -40 +KPX Adieresis Otilde -40 +KPX Adieresis Q -40 +KPX Adieresis T -90 +KPX Adieresis Tcaron -90 +KPX Adieresis Tcommaaccent -90 +KPX Adieresis U -50 +KPX Adieresis Uacute -50 +KPX Adieresis Ucircumflex -50 +KPX Adieresis Udieresis -50 +KPX Adieresis Ugrave -50 +KPX Adieresis Uhungarumlaut -50 +KPX Adieresis Umacron -50 +KPX Adieresis Uogonek -50 +KPX Adieresis Uring -50 +KPX Adieresis V -80 +KPX Adieresis W -60 +KPX Adieresis Y -110 +KPX Adieresis Yacute -110 +KPX Adieresis Ydieresis -110 +KPX Adieresis u -30 +KPX Adieresis uacute -30 +KPX Adieresis ucircumflex -30 +KPX Adieresis udieresis -30 +KPX Adieresis ugrave -30 +KPX Adieresis uhungarumlaut -30 +KPX Adieresis umacron -30 +KPX Adieresis uogonek -30 +KPX Adieresis uring -30 +KPX Adieresis v -40 +KPX Adieresis w -30 +KPX Adieresis y -30 +KPX Adieresis yacute -30 +KPX Adieresis ydieresis -30 +KPX Agrave C -40 +KPX Agrave Cacute -40 +KPX Agrave Ccaron -40 +KPX Agrave Ccedilla -40 +KPX Agrave G -50 +KPX Agrave Gbreve -50 +KPX Agrave Gcommaaccent -50 +KPX Agrave O -40 +KPX Agrave Oacute -40 +KPX Agrave Ocircumflex -40 +KPX Agrave Odieresis -40 +KPX Agrave Ograve -40 +KPX Agrave Ohungarumlaut -40 +KPX Agrave Omacron -40 +KPX Agrave Oslash -40 +KPX Agrave Otilde -40 +KPX Agrave Q -40 +KPX Agrave T -90 +KPX Agrave Tcaron -90 +KPX Agrave Tcommaaccent -90 +KPX Agrave U -50 +KPX Agrave Uacute -50 +KPX Agrave Ucircumflex -50 +KPX Agrave Udieresis -50 +KPX Agrave Ugrave -50 +KPX Agrave Uhungarumlaut -50 +KPX Agrave Umacron -50 +KPX Agrave Uogonek -50 +KPX Agrave Uring -50 +KPX Agrave V -80 +KPX Agrave W -60 +KPX Agrave Y -110 +KPX Agrave Yacute -110 +KPX Agrave Ydieresis -110 +KPX Agrave u -30 +KPX Agrave uacute -30 +KPX Agrave ucircumflex -30 +KPX Agrave udieresis -30 +KPX Agrave ugrave -30 +KPX Agrave uhungarumlaut -30 +KPX Agrave umacron -30 +KPX Agrave uogonek -30 +KPX Agrave uring -30 +KPX Agrave v -40 +KPX Agrave w -30 +KPX Agrave y -30 +KPX Agrave yacute -30 +KPX Agrave ydieresis -30 +KPX Amacron C -40 +KPX Amacron Cacute -40 +KPX Amacron Ccaron -40 +KPX Amacron Ccedilla -40 +KPX Amacron G -50 +KPX Amacron Gbreve -50 +KPX Amacron Gcommaaccent -50 +KPX Amacron O -40 +KPX Amacron Oacute -40 +KPX Amacron Ocircumflex -40 +KPX Amacron Odieresis -40 +KPX Amacron Ograve -40 +KPX Amacron Ohungarumlaut -40 +KPX Amacron Omacron -40 +KPX Amacron Oslash -40 +KPX Amacron Otilde -40 +KPX Amacron Q -40 +KPX Amacron T -90 +KPX Amacron Tcaron -90 +KPX Amacron Tcommaaccent -90 +KPX Amacron U -50 +KPX Amacron Uacute -50 +KPX Amacron Ucircumflex -50 +KPX Amacron Udieresis -50 +KPX Amacron Ugrave -50 +KPX Amacron Uhungarumlaut -50 +KPX Amacron Umacron -50 +KPX Amacron Uogonek -50 +KPX Amacron Uring -50 +KPX Amacron V -80 +KPX Amacron W -60 +KPX Amacron Y -110 +KPX Amacron Yacute -110 +KPX Amacron Ydieresis -110 +KPX Amacron u -30 +KPX Amacron uacute -30 +KPX Amacron ucircumflex -30 +KPX Amacron udieresis -30 +KPX Amacron ugrave -30 +KPX Amacron uhungarumlaut -30 +KPX Amacron umacron -30 +KPX Amacron uogonek -30 +KPX Amacron uring -30 +KPX Amacron v -40 +KPX Amacron w -30 +KPX Amacron y -30 +KPX Amacron yacute -30 +KPX Amacron ydieresis -30 +KPX Aogonek C -40 +KPX Aogonek Cacute -40 +KPX Aogonek Ccaron -40 +KPX Aogonek Ccedilla -40 +KPX Aogonek G -50 +KPX Aogonek Gbreve -50 +KPX Aogonek Gcommaaccent -50 +KPX Aogonek O -40 +KPX Aogonek Oacute -40 +KPX Aogonek Ocircumflex -40 +KPX Aogonek Odieresis -40 +KPX Aogonek Ograve -40 +KPX Aogonek Ohungarumlaut -40 +KPX Aogonek Omacron -40 +KPX Aogonek Oslash -40 +KPX Aogonek Otilde -40 +KPX Aogonek Q -40 +KPX Aogonek T -90 +KPX Aogonek Tcaron -90 +KPX Aogonek Tcommaaccent -90 +KPX Aogonek U -50 +KPX Aogonek Uacute -50 +KPX Aogonek Ucircumflex -50 +KPX Aogonek Udieresis -50 +KPX Aogonek Ugrave -50 +KPX Aogonek Uhungarumlaut -50 +KPX Aogonek Umacron -50 +KPX Aogonek Uogonek -50 +KPX Aogonek Uring -50 +KPX Aogonek V -80 +KPX Aogonek W -60 +KPX Aogonek Y -110 +KPX Aogonek Yacute -110 +KPX Aogonek Ydieresis -110 +KPX Aogonek u -30 +KPX Aogonek uacute -30 +KPX Aogonek ucircumflex -30 +KPX Aogonek udieresis -30 +KPX Aogonek ugrave -30 +KPX Aogonek uhungarumlaut -30 +KPX Aogonek umacron -30 +KPX Aogonek uogonek -30 +KPX Aogonek uring -30 +KPX Aogonek v -40 +KPX Aogonek w -30 +KPX Aogonek y -30 +KPX Aogonek yacute -30 +KPX Aogonek ydieresis -30 +KPX Aring C -40 +KPX Aring Cacute -40 +KPX Aring Ccaron -40 +KPX Aring Ccedilla -40 +KPX Aring G -50 +KPX Aring Gbreve -50 +KPX Aring Gcommaaccent -50 +KPX Aring O -40 +KPX Aring Oacute -40 +KPX Aring Ocircumflex -40 +KPX Aring Odieresis -40 +KPX Aring Ograve -40 +KPX Aring Ohungarumlaut -40 +KPX Aring Omacron -40 +KPX Aring Oslash -40 +KPX Aring Otilde -40 +KPX Aring Q -40 +KPX Aring T -90 +KPX Aring Tcaron -90 +KPX Aring Tcommaaccent -90 +KPX Aring U -50 +KPX Aring Uacute -50 +KPX Aring Ucircumflex -50 +KPX Aring Udieresis -50 +KPX Aring Ugrave -50 +KPX Aring Uhungarumlaut -50 +KPX Aring Umacron -50 +KPX Aring Uogonek -50 +KPX Aring Uring -50 +KPX Aring V -80 +KPX Aring W -60 +KPX Aring Y -110 +KPX Aring Yacute -110 +KPX Aring Ydieresis -110 +KPX Aring u -30 +KPX Aring uacute -30 +KPX Aring ucircumflex -30 +KPX Aring udieresis -30 +KPX Aring ugrave -30 +KPX Aring uhungarumlaut -30 +KPX Aring umacron -30 +KPX Aring uogonek -30 +KPX Aring uring -30 +KPX Aring v -40 +KPX Aring w -30 +KPX Aring y -30 +KPX Aring yacute -30 +KPX Aring ydieresis -30 +KPX Atilde C -40 +KPX Atilde Cacute -40 +KPX Atilde Ccaron -40 +KPX Atilde Ccedilla -40 +KPX Atilde G -50 +KPX Atilde Gbreve -50 +KPX Atilde Gcommaaccent -50 +KPX Atilde O -40 +KPX Atilde Oacute -40 +KPX Atilde Ocircumflex -40 +KPX Atilde Odieresis -40 +KPX Atilde Ograve -40 +KPX Atilde Ohungarumlaut -40 +KPX Atilde Omacron -40 +KPX Atilde Oslash -40 +KPX Atilde Otilde -40 +KPX Atilde Q -40 +KPX Atilde T -90 +KPX Atilde Tcaron -90 +KPX Atilde Tcommaaccent -90 +KPX Atilde U -50 +KPX Atilde Uacute -50 +KPX Atilde Ucircumflex -50 +KPX Atilde Udieresis -50 +KPX Atilde Ugrave -50 +KPX Atilde Uhungarumlaut -50 +KPX Atilde Umacron -50 +KPX Atilde Uogonek -50 +KPX Atilde Uring -50 +KPX Atilde V -80 +KPX Atilde W -60 +KPX Atilde Y -110 +KPX Atilde Yacute -110 +KPX Atilde Ydieresis -110 +KPX Atilde u -30 +KPX Atilde uacute -30 +KPX Atilde ucircumflex -30 +KPX Atilde udieresis -30 +KPX Atilde ugrave -30 +KPX Atilde uhungarumlaut -30 +KPX Atilde umacron -30 +KPX Atilde uogonek -30 +KPX Atilde uring -30 +KPX Atilde v -40 +KPX Atilde w -30 +KPX Atilde y -30 +KPX Atilde yacute -30 +KPX Atilde ydieresis -30 +KPX B A -30 +KPX B Aacute -30 +KPX B Abreve -30 +KPX B Acircumflex -30 +KPX B Adieresis -30 +KPX B Agrave -30 +KPX B Amacron -30 +KPX B Aogonek -30 +KPX B Aring -30 +KPX B Atilde -30 +KPX B U -10 +KPX B Uacute -10 +KPX B Ucircumflex -10 +KPX B Udieresis -10 +KPX B Ugrave -10 +KPX B Uhungarumlaut -10 +KPX B Umacron -10 +KPX B Uogonek -10 +KPX B Uring -10 +KPX D A -40 +KPX D Aacute -40 +KPX D Abreve -40 +KPX D Acircumflex -40 +KPX D Adieresis -40 +KPX D Agrave -40 +KPX D Amacron -40 +KPX D Aogonek -40 +KPX D Aring -40 +KPX D Atilde -40 +KPX D V -40 +KPX D W -40 +KPX D Y -70 +KPX D Yacute -70 +KPX D Ydieresis -70 +KPX D comma -30 +KPX D period -30 +KPX Dcaron A -40 +KPX Dcaron Aacute -40 +KPX Dcaron Abreve -40 +KPX Dcaron Acircumflex -40 +KPX Dcaron Adieresis -40 +KPX Dcaron Agrave -40 +KPX Dcaron Amacron -40 +KPX Dcaron Aogonek -40 +KPX Dcaron Aring -40 +KPX Dcaron Atilde -40 +KPX Dcaron V -40 +KPX Dcaron W -40 +KPX Dcaron Y -70 +KPX Dcaron Yacute -70 +KPX Dcaron Ydieresis -70 +KPX Dcaron comma -30 +KPX Dcaron period -30 +KPX Dcroat A -40 +KPX Dcroat Aacute -40 +KPX Dcroat Abreve -40 +KPX Dcroat Acircumflex -40 +KPX Dcroat Adieresis -40 +KPX Dcroat Agrave -40 +KPX Dcroat Amacron -40 +KPX Dcroat Aogonek -40 +KPX Dcroat Aring -40 +KPX Dcroat Atilde -40 +KPX Dcroat V -40 +KPX Dcroat W -40 +KPX Dcroat Y -70 +KPX Dcroat Yacute -70 +KPX Dcroat Ydieresis -70 +KPX Dcroat comma -30 +KPX Dcroat period -30 +KPX F A -80 +KPX F Aacute -80 +KPX F Abreve -80 +KPX F Acircumflex -80 +KPX F Adieresis -80 +KPX F Agrave -80 +KPX F Amacron -80 +KPX F Aogonek -80 +KPX F Aring -80 +KPX F Atilde -80 +KPX F a -20 +KPX F aacute -20 +KPX F abreve -20 +KPX F acircumflex -20 +KPX F adieresis -20 +KPX F agrave -20 +KPX F amacron -20 +KPX F aogonek -20 +KPX F aring -20 +KPX F atilde -20 +KPX F comma -100 +KPX F period -100 +KPX J A -20 +KPX J Aacute -20 +KPX J Abreve -20 +KPX J Acircumflex -20 +KPX J Adieresis -20 +KPX J Agrave -20 +KPX J Amacron -20 +KPX J Aogonek -20 +KPX J Aring -20 +KPX J Atilde -20 +KPX J comma -20 +KPX J period -20 +KPX J u -20 +KPX J uacute -20 +KPX J ucircumflex -20 +KPX J udieresis -20 +KPX J ugrave -20 +KPX J uhungarumlaut -20 +KPX J umacron -20 +KPX J uogonek -20 +KPX J uring -20 +KPX K O -30 +KPX K Oacute -30 +KPX K Ocircumflex -30 +KPX K Odieresis -30 +KPX K Ograve -30 +KPX K Ohungarumlaut -30 +KPX K Omacron -30 +KPX K Oslash -30 +KPX K Otilde -30 +KPX K e -15 +KPX K eacute -15 +KPX K ecaron -15 +KPX K ecircumflex -15 +KPX K edieresis -15 +KPX K edotaccent -15 +KPX K egrave -15 +KPX K emacron -15 +KPX K eogonek -15 +KPX K o -35 +KPX K oacute -35 +KPX K ocircumflex -35 +KPX K odieresis -35 +KPX K ograve -35 +KPX K ohungarumlaut -35 +KPX K omacron -35 +KPX K oslash -35 +KPX K otilde -35 +KPX K u -30 +KPX K uacute -30 +KPX K ucircumflex -30 +KPX K udieresis -30 +KPX K ugrave -30 +KPX K uhungarumlaut -30 +KPX K umacron -30 +KPX K uogonek -30 +KPX K uring -30 +KPX K y -40 +KPX K yacute -40 +KPX K ydieresis -40 +KPX Kcommaaccent O -30 +KPX Kcommaaccent Oacute -30 +KPX Kcommaaccent Ocircumflex -30 +KPX Kcommaaccent Odieresis -30 +KPX Kcommaaccent Ograve -30 +KPX Kcommaaccent Ohungarumlaut -30 +KPX Kcommaaccent Omacron -30 +KPX Kcommaaccent Oslash -30 +KPX Kcommaaccent Otilde -30 +KPX Kcommaaccent e -15 +KPX Kcommaaccent eacute -15 +KPX Kcommaaccent ecaron -15 +KPX Kcommaaccent ecircumflex -15 +KPX Kcommaaccent edieresis -15 +KPX Kcommaaccent edotaccent -15 +KPX Kcommaaccent egrave -15 +KPX Kcommaaccent emacron -15 +KPX Kcommaaccent eogonek -15 +KPX Kcommaaccent o -35 +KPX Kcommaaccent oacute -35 +KPX Kcommaaccent ocircumflex -35 +KPX Kcommaaccent odieresis -35 +KPX Kcommaaccent ograve -35 +KPX Kcommaaccent ohungarumlaut -35 +KPX Kcommaaccent omacron -35 +KPX Kcommaaccent oslash -35 +KPX Kcommaaccent otilde -35 +KPX Kcommaaccent u -30 +KPX Kcommaaccent uacute -30 +KPX Kcommaaccent ucircumflex -30 +KPX Kcommaaccent udieresis -30 +KPX Kcommaaccent ugrave -30 +KPX Kcommaaccent uhungarumlaut -30 +KPX Kcommaaccent umacron -30 +KPX Kcommaaccent uogonek -30 +KPX Kcommaaccent uring -30 +KPX Kcommaaccent y -40 +KPX Kcommaaccent yacute -40 +KPX Kcommaaccent ydieresis -40 +KPX L T -90 +KPX L Tcaron -90 +KPX L Tcommaaccent -90 +KPX L V -110 +KPX L W -80 +KPX L Y -120 +KPX L Yacute -120 +KPX L Ydieresis -120 +KPX L quotedblright -140 +KPX L quoteright -140 +KPX L y -30 +KPX L yacute -30 +KPX L ydieresis -30 +KPX Lacute T -90 +KPX Lacute Tcaron -90 +KPX Lacute Tcommaaccent -90 +KPX Lacute V -110 +KPX Lacute W -80 +KPX Lacute Y -120 +KPX Lacute Yacute -120 +KPX Lacute Ydieresis -120 +KPX Lacute quotedblright -140 +KPX Lacute quoteright -140 +KPX Lacute y -30 +KPX Lacute yacute -30 +KPX Lacute ydieresis -30 +KPX Lcommaaccent T -90 +KPX Lcommaaccent Tcaron -90 +KPX Lcommaaccent Tcommaaccent -90 +KPX Lcommaaccent V -110 +KPX Lcommaaccent W -80 +KPX Lcommaaccent Y -120 +KPX Lcommaaccent Yacute -120 +KPX Lcommaaccent Ydieresis -120 +KPX Lcommaaccent quotedblright -140 +KPX Lcommaaccent quoteright -140 +KPX Lcommaaccent y -30 +KPX Lcommaaccent yacute -30 +KPX Lcommaaccent ydieresis -30 +KPX Lslash T -90 +KPX Lslash Tcaron -90 +KPX Lslash Tcommaaccent -90 +KPX Lslash V -110 +KPX Lslash W -80 +KPX Lslash Y -120 +KPX Lslash Yacute -120 +KPX Lslash Ydieresis -120 +KPX Lslash quotedblright -140 +KPX Lslash quoteright -140 +KPX Lslash y -30 +KPX Lslash yacute -30 +KPX Lslash ydieresis -30 +KPX O A -50 +KPX O Aacute -50 +KPX O Abreve -50 +KPX O Acircumflex -50 +KPX O Adieresis -50 +KPX O Agrave -50 +KPX O Amacron -50 +KPX O Aogonek -50 +KPX O Aring -50 +KPX O Atilde -50 +KPX O T -40 +KPX O Tcaron -40 +KPX O Tcommaaccent -40 +KPX O V -50 +KPX O W -50 +KPX O X -50 +KPX O Y -70 +KPX O Yacute -70 +KPX O Ydieresis -70 +KPX O comma -40 +KPX O period -40 +KPX Oacute A -50 +KPX Oacute Aacute -50 +KPX Oacute Abreve -50 +KPX Oacute Acircumflex -50 +KPX Oacute Adieresis -50 +KPX Oacute Agrave -50 +KPX Oacute Amacron -50 +KPX Oacute Aogonek -50 +KPX Oacute Aring -50 +KPX Oacute Atilde -50 +KPX Oacute T -40 +KPX Oacute Tcaron -40 +KPX Oacute Tcommaaccent -40 +KPX Oacute V -50 +KPX Oacute W -50 +KPX Oacute X -50 +KPX Oacute Y -70 +KPX Oacute Yacute -70 +KPX Oacute Ydieresis -70 +KPX Oacute comma -40 +KPX Oacute period -40 +KPX Ocircumflex A -50 +KPX Ocircumflex Aacute -50 +KPX Ocircumflex Abreve -50 +KPX Ocircumflex Acircumflex -50 +KPX Ocircumflex Adieresis -50 +KPX Ocircumflex Agrave -50 +KPX Ocircumflex Amacron -50 +KPX Ocircumflex Aogonek -50 +KPX Ocircumflex Aring -50 +KPX Ocircumflex Atilde -50 +KPX Ocircumflex T -40 +KPX Ocircumflex Tcaron -40 +KPX Ocircumflex Tcommaaccent -40 +KPX Ocircumflex V -50 +KPX Ocircumflex W -50 +KPX Ocircumflex X -50 +KPX Ocircumflex Y -70 +KPX Ocircumflex Yacute -70 +KPX Ocircumflex Ydieresis -70 +KPX Ocircumflex comma -40 +KPX Ocircumflex period -40 +KPX Odieresis A -50 +KPX Odieresis Aacute -50 +KPX Odieresis Abreve -50 +KPX Odieresis Acircumflex -50 +KPX Odieresis Adieresis -50 +KPX Odieresis Agrave -50 +KPX Odieresis Amacron -50 +KPX Odieresis Aogonek -50 +KPX Odieresis Aring -50 +KPX Odieresis Atilde -50 +KPX Odieresis T -40 +KPX Odieresis Tcaron -40 +KPX Odieresis Tcommaaccent -40 +KPX Odieresis V -50 +KPX Odieresis W -50 +KPX Odieresis X -50 +KPX Odieresis Y -70 +KPX Odieresis Yacute -70 +KPX Odieresis Ydieresis -70 +KPX Odieresis comma -40 +KPX Odieresis period -40 +KPX Ograve A -50 +KPX Ograve Aacute -50 +KPX Ograve Abreve -50 +KPX Ograve Acircumflex -50 +KPX Ograve Adieresis -50 +KPX Ograve Agrave -50 +KPX Ograve Amacron -50 +KPX Ograve Aogonek -50 +KPX Ograve Aring -50 +KPX Ograve Atilde -50 +KPX Ograve T -40 +KPX Ograve Tcaron -40 +KPX Ograve Tcommaaccent -40 +KPX Ograve V -50 +KPX Ograve W -50 +KPX Ograve X -50 +KPX Ograve Y -70 +KPX Ograve Yacute -70 +KPX Ograve Ydieresis -70 +KPX Ograve comma -40 +KPX Ograve period -40 +KPX Ohungarumlaut A -50 +KPX Ohungarumlaut Aacute -50 +KPX Ohungarumlaut Abreve -50 +KPX Ohungarumlaut Acircumflex -50 +KPX Ohungarumlaut Adieresis -50 +KPX Ohungarumlaut Agrave -50 +KPX Ohungarumlaut Amacron -50 +KPX Ohungarumlaut Aogonek -50 +KPX Ohungarumlaut Aring -50 +KPX Ohungarumlaut Atilde -50 +KPX Ohungarumlaut T -40 +KPX Ohungarumlaut Tcaron -40 +KPX Ohungarumlaut Tcommaaccent -40 +KPX Ohungarumlaut V -50 +KPX Ohungarumlaut W -50 +KPX Ohungarumlaut X -50 +KPX Ohungarumlaut Y -70 +KPX Ohungarumlaut Yacute -70 +KPX Ohungarumlaut Ydieresis -70 +KPX Ohungarumlaut comma -40 +KPX Ohungarumlaut period -40 +KPX Omacron A -50 +KPX Omacron Aacute -50 +KPX Omacron Abreve -50 +KPX Omacron Acircumflex -50 +KPX Omacron Adieresis -50 +KPX Omacron Agrave -50 +KPX Omacron Amacron -50 +KPX Omacron Aogonek -50 +KPX Omacron Aring -50 +KPX Omacron Atilde -50 +KPX Omacron T -40 +KPX Omacron Tcaron -40 +KPX Omacron Tcommaaccent -40 +KPX Omacron V -50 +KPX Omacron W -50 +KPX Omacron X -50 +KPX Omacron Y -70 +KPX Omacron Yacute -70 +KPX Omacron Ydieresis -70 +KPX Omacron comma -40 +KPX Omacron period -40 +KPX Oslash A -50 +KPX Oslash Aacute -50 +KPX Oslash Abreve -50 +KPX Oslash Acircumflex -50 +KPX Oslash Adieresis -50 +KPX Oslash Agrave -50 +KPX Oslash Amacron -50 +KPX Oslash Aogonek -50 +KPX Oslash Aring -50 +KPX Oslash Atilde -50 +KPX Oslash T -40 +KPX Oslash Tcaron -40 +KPX Oslash Tcommaaccent -40 +KPX Oslash V -50 +KPX Oslash W -50 +KPX Oslash X -50 +KPX Oslash Y -70 +KPX Oslash Yacute -70 +KPX Oslash Ydieresis -70 +KPX Oslash comma -40 +KPX Oslash period -40 +KPX Otilde A -50 +KPX Otilde Aacute -50 +KPX Otilde Abreve -50 +KPX Otilde Acircumflex -50 +KPX Otilde Adieresis -50 +KPX Otilde Agrave -50 +KPX Otilde Amacron -50 +KPX Otilde Aogonek -50 +KPX Otilde Aring -50 +KPX Otilde Atilde -50 +KPX Otilde T -40 +KPX Otilde Tcaron -40 +KPX Otilde Tcommaaccent -40 +KPX Otilde V -50 +KPX Otilde W -50 +KPX Otilde X -50 +KPX Otilde Y -70 +KPX Otilde Yacute -70 +KPX Otilde Ydieresis -70 +KPX Otilde comma -40 +KPX Otilde period -40 +KPX P A -100 +KPX P Aacute -100 +KPX P Abreve -100 +KPX P Acircumflex -100 +KPX P Adieresis -100 +KPX P Agrave -100 +KPX P Amacron -100 +KPX P Aogonek -100 +KPX P Aring -100 +KPX P Atilde -100 +KPX P a -30 +KPX P aacute -30 +KPX P abreve -30 +KPX P acircumflex -30 +KPX P adieresis -30 +KPX P agrave -30 +KPX P amacron -30 +KPX P aogonek -30 +KPX P aring -30 +KPX P atilde -30 +KPX P comma -120 +KPX P e -30 +KPX P eacute -30 +KPX P ecaron -30 +KPX P ecircumflex -30 +KPX P edieresis -30 +KPX P edotaccent -30 +KPX P egrave -30 +KPX P emacron -30 +KPX P eogonek -30 +KPX P o -40 +KPX P oacute -40 +KPX P ocircumflex -40 +KPX P odieresis -40 +KPX P ograve -40 +KPX P ohungarumlaut -40 +KPX P omacron -40 +KPX P oslash -40 +KPX P otilde -40 +KPX P period -120 +KPX Q U -10 +KPX Q Uacute -10 +KPX Q Ucircumflex -10 +KPX Q Udieresis -10 +KPX Q Ugrave -10 +KPX Q Uhungarumlaut -10 +KPX Q Umacron -10 +KPX Q Uogonek -10 +KPX Q Uring -10 +KPX Q comma 20 +KPX Q period 20 +KPX R O -20 +KPX R Oacute -20 +KPX R Ocircumflex -20 +KPX R Odieresis -20 +KPX R Ograve -20 +KPX R Ohungarumlaut -20 +KPX R Omacron -20 +KPX R Oslash -20 +KPX R Otilde -20 +KPX R T -20 +KPX R Tcaron -20 +KPX R Tcommaaccent -20 +KPX R U -20 +KPX R Uacute -20 +KPX R Ucircumflex -20 +KPX R Udieresis -20 +KPX R Ugrave -20 +KPX R Uhungarumlaut -20 +KPX R Umacron -20 +KPX R Uogonek -20 +KPX R Uring -20 +KPX R V -50 +KPX R W -40 +KPX R Y -50 +KPX R Yacute -50 +KPX R Ydieresis -50 +KPX Racute O -20 +KPX Racute Oacute -20 +KPX Racute Ocircumflex -20 +KPX Racute Odieresis -20 +KPX Racute Ograve -20 +KPX Racute Ohungarumlaut -20 +KPX Racute Omacron -20 +KPX Racute Oslash -20 +KPX Racute Otilde -20 +KPX Racute T -20 +KPX Racute Tcaron -20 +KPX Racute Tcommaaccent -20 +KPX Racute U -20 +KPX Racute Uacute -20 +KPX Racute Ucircumflex -20 +KPX Racute Udieresis -20 +KPX Racute Ugrave -20 +KPX Racute Uhungarumlaut -20 +KPX Racute Umacron -20 +KPX Racute Uogonek -20 +KPX Racute Uring -20 +KPX Racute V -50 +KPX Racute W -40 +KPX Racute Y -50 +KPX Racute Yacute -50 +KPX Racute Ydieresis -50 +KPX Rcaron O -20 +KPX Rcaron Oacute -20 +KPX Rcaron Ocircumflex -20 +KPX Rcaron Odieresis -20 +KPX Rcaron Ograve -20 +KPX Rcaron Ohungarumlaut -20 +KPX Rcaron Omacron -20 +KPX Rcaron Oslash -20 +KPX Rcaron Otilde -20 +KPX Rcaron T -20 +KPX Rcaron Tcaron -20 +KPX Rcaron Tcommaaccent -20 +KPX Rcaron U -20 +KPX Rcaron Uacute -20 +KPX Rcaron Ucircumflex -20 +KPX Rcaron Udieresis -20 +KPX Rcaron Ugrave -20 +KPX Rcaron Uhungarumlaut -20 +KPX Rcaron Umacron -20 +KPX Rcaron Uogonek -20 +KPX Rcaron Uring -20 +KPX Rcaron V -50 +KPX Rcaron W -40 +KPX Rcaron Y -50 +KPX Rcaron Yacute -50 +KPX Rcaron Ydieresis -50 +KPX Rcommaaccent O -20 +KPX Rcommaaccent Oacute -20 +KPX Rcommaaccent Ocircumflex -20 +KPX Rcommaaccent Odieresis -20 +KPX Rcommaaccent Ograve -20 +KPX Rcommaaccent Ohungarumlaut -20 +KPX Rcommaaccent Omacron -20 +KPX Rcommaaccent Oslash -20 +KPX Rcommaaccent Otilde -20 +KPX Rcommaaccent T -20 +KPX Rcommaaccent Tcaron -20 +KPX Rcommaaccent Tcommaaccent -20 +KPX Rcommaaccent U -20 +KPX Rcommaaccent Uacute -20 +KPX Rcommaaccent Ucircumflex -20 +KPX Rcommaaccent Udieresis -20 +KPX Rcommaaccent Ugrave -20 +KPX Rcommaaccent Uhungarumlaut -20 +KPX Rcommaaccent Umacron -20 +KPX Rcommaaccent Uogonek -20 +KPX Rcommaaccent Uring -20 +KPX Rcommaaccent V -50 +KPX Rcommaaccent W -40 +KPX Rcommaaccent Y -50 +KPX Rcommaaccent Yacute -50 +KPX Rcommaaccent Ydieresis -50 +KPX T A -90 +KPX T Aacute -90 +KPX T Abreve -90 +KPX T Acircumflex -90 +KPX T Adieresis -90 +KPX T Agrave -90 +KPX T Amacron -90 +KPX T Aogonek -90 +KPX T Aring -90 +KPX T Atilde -90 +KPX T O -40 +KPX T Oacute -40 +KPX T Ocircumflex -40 +KPX T Odieresis -40 +KPX T Ograve -40 +KPX T Ohungarumlaut -40 +KPX T Omacron -40 +KPX T Oslash -40 +KPX T Otilde -40 +KPX T a -80 +KPX T aacute -80 +KPX T abreve -80 +KPX T acircumflex -80 +KPX T adieresis -80 +KPX T agrave -80 +KPX T amacron -80 +KPX T aogonek -80 +KPX T aring -80 +KPX T atilde -80 +KPX T colon -40 +KPX T comma -80 +KPX T e -60 +KPX T eacute -60 +KPX T ecaron -60 +KPX T ecircumflex -60 +KPX T edieresis -60 +KPX T edotaccent -60 +KPX T egrave -60 +KPX T emacron -60 +KPX T eogonek -60 +KPX T hyphen -120 +KPX T o -80 +KPX T oacute -80 +KPX T ocircumflex -80 +KPX T odieresis -80 +KPX T ograve -80 +KPX T ohungarumlaut -80 +KPX T omacron -80 +KPX T oslash -80 +KPX T otilde -80 +KPX T period -80 +KPX T r -80 +KPX T racute -80 +KPX T rcommaaccent -80 +KPX T semicolon -40 +KPX T u -90 +KPX T uacute -90 +KPX T ucircumflex -90 +KPX T udieresis -90 +KPX T ugrave -90 +KPX T uhungarumlaut -90 +KPX T umacron -90 +KPX T uogonek -90 +KPX T uring -90 +KPX T w -60 +KPX T y -60 +KPX T yacute -60 +KPX T ydieresis -60 +KPX Tcaron A -90 +KPX Tcaron Aacute -90 +KPX Tcaron Abreve -90 +KPX Tcaron Acircumflex -90 +KPX Tcaron Adieresis -90 +KPX Tcaron Agrave -90 +KPX Tcaron Amacron -90 +KPX Tcaron Aogonek -90 +KPX Tcaron Aring -90 +KPX Tcaron Atilde -90 +KPX Tcaron O -40 +KPX Tcaron Oacute -40 +KPX Tcaron Ocircumflex -40 +KPX Tcaron Odieresis -40 +KPX Tcaron Ograve -40 +KPX Tcaron Ohungarumlaut -40 +KPX Tcaron Omacron -40 +KPX Tcaron Oslash -40 +KPX Tcaron Otilde -40 +KPX Tcaron a -80 +KPX Tcaron aacute -80 +KPX Tcaron abreve -80 +KPX Tcaron acircumflex -80 +KPX Tcaron adieresis -80 +KPX Tcaron agrave -80 +KPX Tcaron amacron -80 +KPX Tcaron aogonek -80 +KPX Tcaron aring -80 +KPX Tcaron atilde -80 +KPX Tcaron colon -40 +KPX Tcaron comma -80 +KPX Tcaron e -60 +KPX Tcaron eacute -60 +KPX Tcaron ecaron -60 +KPX Tcaron ecircumflex -60 +KPX Tcaron edieresis -60 +KPX Tcaron edotaccent -60 +KPX Tcaron egrave -60 +KPX Tcaron emacron -60 +KPX Tcaron eogonek -60 +KPX Tcaron hyphen -120 +KPX Tcaron o -80 +KPX Tcaron oacute -80 +KPX Tcaron ocircumflex -80 +KPX Tcaron odieresis -80 +KPX Tcaron ograve -80 +KPX Tcaron ohungarumlaut -80 +KPX Tcaron omacron -80 +KPX Tcaron oslash -80 +KPX Tcaron otilde -80 +KPX Tcaron period -80 +KPX Tcaron r -80 +KPX Tcaron racute -80 +KPX Tcaron rcommaaccent -80 +KPX Tcaron semicolon -40 +KPX Tcaron u -90 +KPX Tcaron uacute -90 +KPX Tcaron ucircumflex -90 +KPX Tcaron udieresis -90 +KPX Tcaron ugrave -90 +KPX Tcaron uhungarumlaut -90 +KPX Tcaron umacron -90 +KPX Tcaron uogonek -90 +KPX Tcaron uring -90 +KPX Tcaron w -60 +KPX Tcaron y -60 +KPX Tcaron yacute -60 +KPX Tcaron ydieresis -60 +KPX Tcommaaccent A -90 +KPX Tcommaaccent Aacute -90 +KPX Tcommaaccent Abreve -90 +KPX Tcommaaccent Acircumflex -90 +KPX Tcommaaccent Adieresis -90 +KPX Tcommaaccent Agrave -90 +KPX Tcommaaccent Amacron -90 +KPX Tcommaaccent Aogonek -90 +KPX Tcommaaccent Aring -90 +KPX Tcommaaccent Atilde -90 +KPX Tcommaaccent O -40 +KPX Tcommaaccent Oacute -40 +KPX Tcommaaccent Ocircumflex -40 +KPX Tcommaaccent Odieresis -40 +KPX Tcommaaccent Ograve -40 +KPX Tcommaaccent Ohungarumlaut -40 +KPX Tcommaaccent Omacron -40 +KPX Tcommaaccent Oslash -40 +KPX Tcommaaccent Otilde -40 +KPX Tcommaaccent a -80 +KPX Tcommaaccent aacute -80 +KPX Tcommaaccent abreve -80 +KPX Tcommaaccent acircumflex -80 +KPX Tcommaaccent adieresis -80 +KPX Tcommaaccent agrave -80 +KPX Tcommaaccent amacron -80 +KPX Tcommaaccent aogonek -80 +KPX Tcommaaccent aring -80 +KPX Tcommaaccent atilde -80 +KPX Tcommaaccent colon -40 +KPX Tcommaaccent comma -80 +KPX Tcommaaccent e -60 +KPX Tcommaaccent eacute -60 +KPX Tcommaaccent ecaron -60 +KPX Tcommaaccent ecircumflex -60 +KPX Tcommaaccent edieresis -60 +KPX Tcommaaccent edotaccent -60 +KPX Tcommaaccent egrave -60 +KPX Tcommaaccent emacron -60 +KPX Tcommaaccent eogonek -60 +KPX Tcommaaccent hyphen -120 +KPX Tcommaaccent o -80 +KPX Tcommaaccent oacute -80 +KPX Tcommaaccent ocircumflex -80 +KPX Tcommaaccent odieresis -80 +KPX Tcommaaccent ograve -80 +KPX Tcommaaccent ohungarumlaut -80 +KPX Tcommaaccent omacron -80 +KPX Tcommaaccent oslash -80 +KPX Tcommaaccent otilde -80 +KPX Tcommaaccent period -80 +KPX Tcommaaccent r -80 +KPX Tcommaaccent racute -80 +KPX Tcommaaccent rcommaaccent -80 +KPX Tcommaaccent semicolon -40 +KPX Tcommaaccent u -90 +KPX Tcommaaccent uacute -90 +KPX Tcommaaccent ucircumflex -90 +KPX Tcommaaccent udieresis -90 +KPX Tcommaaccent ugrave -90 +KPX Tcommaaccent uhungarumlaut -90 +KPX Tcommaaccent umacron -90 +KPX Tcommaaccent uogonek -90 +KPX Tcommaaccent uring -90 +KPX Tcommaaccent w -60 +KPX Tcommaaccent y -60 +KPX Tcommaaccent yacute -60 +KPX Tcommaaccent ydieresis -60 +KPX U A -50 +KPX U Aacute -50 +KPX U Abreve -50 +KPX U Acircumflex -50 +KPX U Adieresis -50 +KPX U Agrave -50 +KPX U Amacron -50 +KPX U Aogonek -50 +KPX U Aring -50 +KPX U Atilde -50 +KPX U comma -30 +KPX U period -30 +KPX Uacute A -50 +KPX Uacute Aacute -50 +KPX Uacute Abreve -50 +KPX Uacute Acircumflex -50 +KPX Uacute Adieresis -50 +KPX Uacute Agrave -50 +KPX Uacute Amacron -50 +KPX Uacute Aogonek -50 +KPX Uacute Aring -50 +KPX Uacute Atilde -50 +KPX Uacute comma -30 +KPX Uacute period -30 +KPX Ucircumflex A -50 +KPX Ucircumflex Aacute -50 +KPX Ucircumflex Abreve -50 +KPX Ucircumflex Acircumflex -50 +KPX Ucircumflex Adieresis -50 +KPX Ucircumflex Agrave -50 +KPX Ucircumflex Amacron -50 +KPX Ucircumflex Aogonek -50 +KPX Ucircumflex Aring -50 +KPX Ucircumflex Atilde -50 +KPX Ucircumflex comma -30 +KPX Ucircumflex period -30 +KPX Udieresis A -50 +KPX Udieresis Aacute -50 +KPX Udieresis Abreve -50 +KPX Udieresis Acircumflex -50 +KPX Udieresis Adieresis -50 +KPX Udieresis Agrave -50 +KPX Udieresis Amacron -50 +KPX Udieresis Aogonek -50 +KPX Udieresis Aring -50 +KPX Udieresis Atilde -50 +KPX Udieresis comma -30 +KPX Udieresis period -30 +KPX Ugrave A -50 +KPX Ugrave Aacute -50 +KPX Ugrave Abreve -50 +KPX Ugrave Acircumflex -50 +KPX Ugrave Adieresis -50 +KPX Ugrave Agrave -50 +KPX Ugrave Amacron -50 +KPX Ugrave Aogonek -50 +KPX Ugrave Aring -50 +KPX Ugrave Atilde -50 +KPX Ugrave comma -30 +KPX Ugrave period -30 +KPX Uhungarumlaut A -50 +KPX Uhungarumlaut Aacute -50 +KPX Uhungarumlaut Abreve -50 +KPX Uhungarumlaut Acircumflex -50 +KPX Uhungarumlaut Adieresis -50 +KPX Uhungarumlaut Agrave -50 +KPX Uhungarumlaut Amacron -50 +KPX Uhungarumlaut Aogonek -50 +KPX Uhungarumlaut Aring -50 +KPX Uhungarumlaut Atilde -50 +KPX Uhungarumlaut comma -30 +KPX Uhungarumlaut period -30 +KPX Umacron A -50 +KPX Umacron Aacute -50 +KPX Umacron Abreve -50 +KPX Umacron Acircumflex -50 +KPX Umacron Adieresis -50 +KPX Umacron Agrave -50 +KPX Umacron Amacron -50 +KPX Umacron Aogonek -50 +KPX Umacron Aring -50 +KPX Umacron Atilde -50 +KPX Umacron comma -30 +KPX Umacron period -30 +KPX Uogonek A -50 +KPX Uogonek Aacute -50 +KPX Uogonek Abreve -50 +KPX Uogonek Acircumflex -50 +KPX Uogonek Adieresis -50 +KPX Uogonek Agrave -50 +KPX Uogonek Amacron -50 +KPX Uogonek Aogonek -50 +KPX Uogonek Aring -50 +KPX Uogonek Atilde -50 +KPX Uogonek comma -30 +KPX Uogonek period -30 +KPX Uring A -50 +KPX Uring Aacute -50 +KPX Uring Abreve -50 +KPX Uring Acircumflex -50 +KPX Uring Adieresis -50 +KPX Uring Agrave -50 +KPX Uring Amacron -50 +KPX Uring Aogonek -50 +KPX Uring Aring -50 +KPX Uring Atilde -50 +KPX Uring comma -30 +KPX Uring period -30 +KPX V A -80 +KPX V Aacute -80 +KPX V Abreve -80 +KPX V Acircumflex -80 +KPX V Adieresis -80 +KPX V Agrave -80 +KPX V Amacron -80 +KPX V Aogonek -80 +KPX V Aring -80 +KPX V Atilde -80 +KPX V G -50 +KPX V Gbreve -50 +KPX V Gcommaaccent -50 +KPX V O -50 +KPX V Oacute -50 +KPX V Ocircumflex -50 +KPX V Odieresis -50 +KPX V Ograve -50 +KPX V Ohungarumlaut -50 +KPX V Omacron -50 +KPX V Oslash -50 +KPX V Otilde -50 +KPX V a -60 +KPX V aacute -60 +KPX V abreve -60 +KPX V acircumflex -60 +KPX V adieresis -60 +KPX V agrave -60 +KPX V amacron -60 +KPX V aogonek -60 +KPX V aring -60 +KPX V atilde -60 +KPX V colon -40 +KPX V comma -120 +KPX V e -50 +KPX V eacute -50 +KPX V ecaron -50 +KPX V ecircumflex -50 +KPX V edieresis -50 +KPX V edotaccent -50 +KPX V egrave -50 +KPX V emacron -50 +KPX V eogonek -50 +KPX V hyphen -80 +KPX V o -90 +KPX V oacute -90 +KPX V ocircumflex -90 +KPX V odieresis -90 +KPX V ograve -90 +KPX V ohungarumlaut -90 +KPX V omacron -90 +KPX V oslash -90 +KPX V otilde -90 +KPX V period -120 +KPX V semicolon -40 +KPX V u -60 +KPX V uacute -60 +KPX V ucircumflex -60 +KPX V udieresis -60 +KPX V ugrave -60 +KPX V uhungarumlaut -60 +KPX V umacron -60 +KPX V uogonek -60 +KPX V uring -60 +KPX W A -60 +KPX W Aacute -60 +KPX W Abreve -60 +KPX W Acircumflex -60 +KPX W Adieresis -60 +KPX W Agrave -60 +KPX W Amacron -60 +KPX W Aogonek -60 +KPX W Aring -60 +KPX W Atilde -60 +KPX W O -20 +KPX W Oacute -20 +KPX W Ocircumflex -20 +KPX W Odieresis -20 +KPX W Ograve -20 +KPX W Ohungarumlaut -20 +KPX W Omacron -20 +KPX W Oslash -20 +KPX W Otilde -20 +KPX W a -40 +KPX W aacute -40 +KPX W abreve -40 +KPX W acircumflex -40 +KPX W adieresis -40 +KPX W agrave -40 +KPX W amacron -40 +KPX W aogonek -40 +KPX W aring -40 +KPX W atilde -40 +KPX W colon -10 +KPX W comma -80 +KPX W e -35 +KPX W eacute -35 +KPX W ecaron -35 +KPX W ecircumflex -35 +KPX W edieresis -35 +KPX W edotaccent -35 +KPX W egrave -35 +KPX W emacron -35 +KPX W eogonek -35 +KPX W hyphen -40 +KPX W o -60 +KPX W oacute -60 +KPX W ocircumflex -60 +KPX W odieresis -60 +KPX W ograve -60 +KPX W ohungarumlaut -60 +KPX W omacron -60 +KPX W oslash -60 +KPX W otilde -60 +KPX W period -80 +KPX W semicolon -10 +KPX W u -45 +KPX W uacute -45 +KPX W ucircumflex -45 +KPX W udieresis -45 +KPX W ugrave -45 +KPX W uhungarumlaut -45 +KPX W umacron -45 +KPX W uogonek -45 +KPX W uring -45 +KPX W y -20 +KPX W yacute -20 +KPX W ydieresis -20 +KPX Y A -110 +KPX Y Aacute -110 +KPX Y Abreve -110 +KPX Y Acircumflex -110 +KPX Y Adieresis -110 +KPX Y Agrave -110 +KPX Y Amacron -110 +KPX Y Aogonek -110 +KPX Y Aring -110 +KPX Y Atilde -110 +KPX Y O -70 +KPX Y Oacute -70 +KPX Y Ocircumflex -70 +KPX Y Odieresis -70 +KPX Y Ograve -70 +KPX Y Ohungarumlaut -70 +KPX Y Omacron -70 +KPX Y Oslash -70 +KPX Y Otilde -70 +KPX Y a -90 +KPX Y aacute -90 +KPX Y abreve -90 +KPX Y acircumflex -90 +KPX Y adieresis -90 +KPX Y agrave -90 +KPX Y amacron -90 +KPX Y aogonek -90 +KPX Y aring -90 +KPX Y atilde -90 +KPX Y colon -50 +KPX Y comma -100 +KPX Y e -80 +KPX Y eacute -80 +KPX Y ecaron -80 +KPX Y ecircumflex -80 +KPX Y edieresis -80 +KPX Y edotaccent -80 +KPX Y egrave -80 +KPX Y emacron -80 +KPX Y eogonek -80 +KPX Y o -100 +KPX Y oacute -100 +KPX Y ocircumflex -100 +KPX Y odieresis -100 +KPX Y ograve -100 +KPX Y ohungarumlaut -100 +KPX Y omacron -100 +KPX Y oslash -100 +KPX Y otilde -100 +KPX Y period -100 +KPX Y semicolon -50 +KPX Y u -100 +KPX Y uacute -100 +KPX Y ucircumflex -100 +KPX Y udieresis -100 +KPX Y ugrave -100 +KPX Y uhungarumlaut -100 +KPX Y umacron -100 +KPX Y uogonek -100 +KPX Y uring -100 +KPX Yacute A -110 +KPX Yacute Aacute -110 +KPX Yacute Abreve -110 +KPX Yacute Acircumflex -110 +KPX Yacute Adieresis -110 +KPX Yacute Agrave -110 +KPX Yacute Amacron -110 +KPX Yacute Aogonek -110 +KPX Yacute Aring -110 +KPX Yacute Atilde -110 +KPX Yacute O -70 +KPX Yacute Oacute -70 +KPX Yacute Ocircumflex -70 +KPX Yacute Odieresis -70 +KPX Yacute Ograve -70 +KPX Yacute Ohungarumlaut -70 +KPX Yacute Omacron -70 +KPX Yacute Oslash -70 +KPX Yacute Otilde -70 +KPX Yacute a -90 +KPX Yacute aacute -90 +KPX Yacute abreve -90 +KPX Yacute acircumflex -90 +KPX Yacute adieresis -90 +KPX Yacute agrave -90 +KPX Yacute amacron -90 +KPX Yacute aogonek -90 +KPX Yacute aring -90 +KPX Yacute atilde -90 +KPX Yacute colon -50 +KPX Yacute comma -100 +KPX Yacute e -80 +KPX Yacute eacute -80 +KPX Yacute ecaron -80 +KPX Yacute ecircumflex -80 +KPX Yacute edieresis -80 +KPX Yacute edotaccent -80 +KPX Yacute egrave -80 +KPX Yacute emacron -80 +KPX Yacute eogonek -80 +KPX Yacute o -100 +KPX Yacute oacute -100 +KPX Yacute ocircumflex -100 +KPX Yacute odieresis -100 +KPX Yacute ograve -100 +KPX Yacute ohungarumlaut -100 +KPX Yacute omacron -100 +KPX Yacute oslash -100 +KPX Yacute otilde -100 +KPX Yacute period -100 +KPX Yacute semicolon -50 +KPX Yacute u -100 +KPX Yacute uacute -100 +KPX Yacute ucircumflex -100 +KPX Yacute udieresis -100 +KPX Yacute ugrave -100 +KPX Yacute uhungarumlaut -100 +KPX Yacute umacron -100 +KPX Yacute uogonek -100 +KPX Yacute uring -100 +KPX Ydieresis A -110 +KPX Ydieresis Aacute -110 +KPX Ydieresis Abreve -110 +KPX Ydieresis Acircumflex -110 +KPX Ydieresis Adieresis -110 +KPX Ydieresis Agrave -110 +KPX Ydieresis Amacron -110 +KPX Ydieresis Aogonek -110 +KPX Ydieresis Aring -110 +KPX Ydieresis Atilde -110 +KPX Ydieresis O -70 +KPX Ydieresis Oacute -70 +KPX Ydieresis Ocircumflex -70 +KPX Ydieresis Odieresis -70 +KPX Ydieresis Ograve -70 +KPX Ydieresis Ohungarumlaut -70 +KPX Ydieresis Omacron -70 +KPX Ydieresis Oslash -70 +KPX Ydieresis Otilde -70 +KPX Ydieresis a -90 +KPX Ydieresis aacute -90 +KPX Ydieresis abreve -90 +KPX Ydieresis acircumflex -90 +KPX Ydieresis adieresis -90 +KPX Ydieresis agrave -90 +KPX Ydieresis amacron -90 +KPX Ydieresis aogonek -90 +KPX Ydieresis aring -90 +KPX Ydieresis atilde -90 +KPX Ydieresis colon -50 +KPX Ydieresis comma -100 +KPX Ydieresis e -80 +KPX Ydieresis eacute -80 +KPX Ydieresis ecaron -80 +KPX Ydieresis ecircumflex -80 +KPX Ydieresis edieresis -80 +KPX Ydieresis edotaccent -80 +KPX Ydieresis egrave -80 +KPX Ydieresis emacron -80 +KPX Ydieresis eogonek -80 +KPX Ydieresis o -100 +KPX Ydieresis oacute -100 +KPX Ydieresis ocircumflex -100 +KPX Ydieresis odieresis -100 +KPX Ydieresis ograve -100 +KPX Ydieresis ohungarumlaut -100 +KPX Ydieresis omacron -100 +KPX Ydieresis oslash -100 +KPX Ydieresis otilde -100 +KPX Ydieresis period -100 +KPX Ydieresis semicolon -50 +KPX Ydieresis u -100 +KPX Ydieresis uacute -100 +KPX Ydieresis ucircumflex -100 +KPX Ydieresis udieresis -100 +KPX Ydieresis ugrave -100 +KPX Ydieresis uhungarumlaut -100 +KPX Ydieresis umacron -100 +KPX Ydieresis uogonek -100 +KPX Ydieresis uring -100 +KPX a g -10 +KPX a gbreve -10 +KPX a gcommaaccent -10 +KPX a v -15 +KPX a w -15 +KPX a y -20 +KPX a yacute -20 +KPX a ydieresis -20 +KPX aacute g -10 +KPX aacute gbreve -10 +KPX aacute gcommaaccent -10 +KPX aacute v -15 +KPX aacute w -15 +KPX aacute y -20 +KPX aacute yacute -20 +KPX aacute ydieresis -20 +KPX abreve g -10 +KPX abreve gbreve -10 +KPX abreve gcommaaccent -10 +KPX abreve v -15 +KPX abreve w -15 +KPX abreve y -20 +KPX abreve yacute -20 +KPX abreve ydieresis -20 +KPX acircumflex g -10 +KPX acircumflex gbreve -10 +KPX acircumflex gcommaaccent -10 +KPX acircumflex v -15 +KPX acircumflex w -15 +KPX acircumflex y -20 +KPX acircumflex yacute -20 +KPX acircumflex ydieresis -20 +KPX adieresis g -10 +KPX adieresis gbreve -10 +KPX adieresis gcommaaccent -10 +KPX adieresis v -15 +KPX adieresis w -15 +KPX adieresis y -20 +KPX adieresis yacute -20 +KPX adieresis ydieresis -20 +KPX agrave g -10 +KPX agrave gbreve -10 +KPX agrave gcommaaccent -10 +KPX agrave v -15 +KPX agrave w -15 +KPX agrave y -20 +KPX agrave yacute -20 +KPX agrave ydieresis -20 +KPX amacron g -10 +KPX amacron gbreve -10 +KPX amacron gcommaaccent -10 +KPX amacron v -15 +KPX amacron w -15 +KPX amacron y -20 +KPX amacron yacute -20 +KPX amacron ydieresis -20 +KPX aogonek g -10 +KPX aogonek gbreve -10 +KPX aogonek gcommaaccent -10 +KPX aogonek v -15 +KPX aogonek w -15 +KPX aogonek y -20 +KPX aogonek yacute -20 +KPX aogonek ydieresis -20 +KPX aring g -10 +KPX aring gbreve -10 +KPX aring gcommaaccent -10 +KPX aring v -15 +KPX aring w -15 +KPX aring y -20 +KPX aring yacute -20 +KPX aring ydieresis -20 +KPX atilde g -10 +KPX atilde gbreve -10 +KPX atilde gcommaaccent -10 +KPX atilde v -15 +KPX atilde w -15 +KPX atilde y -20 +KPX atilde yacute -20 +KPX atilde ydieresis -20 +KPX b l -10 +KPX b lacute -10 +KPX b lcommaaccent -10 +KPX b lslash -10 +KPX b u -20 +KPX b uacute -20 +KPX b ucircumflex -20 +KPX b udieresis -20 +KPX b ugrave -20 +KPX b uhungarumlaut -20 +KPX b umacron -20 +KPX b uogonek -20 +KPX b uring -20 +KPX b v -20 +KPX b y -20 +KPX b yacute -20 +KPX b ydieresis -20 +KPX c h -10 +KPX c k -20 +KPX c kcommaaccent -20 +KPX c l -20 +KPX c lacute -20 +KPX c lcommaaccent -20 +KPX c lslash -20 +KPX c y -10 +KPX c yacute -10 +KPX c ydieresis -10 +KPX cacute h -10 +KPX cacute k -20 +KPX cacute kcommaaccent -20 +KPX cacute l -20 +KPX cacute lacute -20 +KPX cacute lcommaaccent -20 +KPX cacute lslash -20 +KPX cacute y -10 +KPX cacute yacute -10 +KPX cacute ydieresis -10 +KPX ccaron h -10 +KPX ccaron k -20 +KPX ccaron kcommaaccent -20 +KPX ccaron l -20 +KPX ccaron lacute -20 +KPX ccaron lcommaaccent -20 +KPX ccaron lslash -20 +KPX ccaron y -10 +KPX ccaron yacute -10 +KPX ccaron ydieresis -10 +KPX ccedilla h -10 +KPX ccedilla k -20 +KPX ccedilla kcommaaccent -20 +KPX ccedilla l -20 +KPX ccedilla lacute -20 +KPX ccedilla lcommaaccent -20 +KPX ccedilla lslash -20 +KPX ccedilla y -10 +KPX ccedilla yacute -10 +KPX ccedilla ydieresis -10 +KPX colon space -40 +KPX comma quotedblright -120 +KPX comma quoteright -120 +KPX comma space -40 +KPX d d -10 +KPX d dcroat -10 +KPX d v -15 +KPX d w -15 +KPX d y -15 +KPX d yacute -15 +KPX d ydieresis -15 +KPX dcroat d -10 +KPX dcroat dcroat -10 +KPX dcroat v -15 +KPX dcroat w -15 +KPX dcroat y -15 +KPX dcroat yacute -15 +KPX dcroat ydieresis -15 +KPX e comma 10 +KPX e period 20 +KPX e v -15 +KPX e w -15 +KPX e x -15 +KPX e y -15 +KPX e yacute -15 +KPX e ydieresis -15 +KPX eacute comma 10 +KPX eacute period 20 +KPX eacute v -15 +KPX eacute w -15 +KPX eacute x -15 +KPX eacute y -15 +KPX eacute yacute -15 +KPX eacute ydieresis -15 +KPX ecaron comma 10 +KPX ecaron period 20 +KPX ecaron v -15 +KPX ecaron w -15 +KPX ecaron x -15 +KPX ecaron y -15 +KPX ecaron yacute -15 +KPX ecaron ydieresis -15 +KPX ecircumflex comma 10 +KPX ecircumflex period 20 +KPX ecircumflex v -15 +KPX ecircumflex w -15 +KPX ecircumflex x -15 +KPX ecircumflex y -15 +KPX ecircumflex yacute -15 +KPX ecircumflex ydieresis -15 +KPX edieresis comma 10 +KPX edieresis period 20 +KPX edieresis v -15 +KPX edieresis w -15 +KPX edieresis x -15 +KPX edieresis y -15 +KPX edieresis yacute -15 +KPX edieresis ydieresis -15 +KPX edotaccent comma 10 +KPX edotaccent period 20 +KPX edotaccent v -15 +KPX edotaccent w -15 +KPX edotaccent x -15 +KPX edotaccent y -15 +KPX edotaccent yacute -15 +KPX edotaccent ydieresis -15 +KPX egrave comma 10 +KPX egrave period 20 +KPX egrave v -15 +KPX egrave w -15 +KPX egrave x -15 +KPX egrave y -15 +KPX egrave yacute -15 +KPX egrave ydieresis -15 +KPX emacron comma 10 +KPX emacron period 20 +KPX emacron v -15 +KPX emacron w -15 +KPX emacron x -15 +KPX emacron y -15 +KPX emacron yacute -15 +KPX emacron ydieresis -15 +KPX eogonek comma 10 +KPX eogonek period 20 +KPX eogonek v -15 +KPX eogonek w -15 +KPX eogonek x -15 +KPX eogonek y -15 +KPX eogonek yacute -15 +KPX eogonek ydieresis -15 +KPX f comma -10 +KPX f e -10 +KPX f eacute -10 +KPX f ecaron -10 +KPX f ecircumflex -10 +KPX f edieresis -10 +KPX f edotaccent -10 +KPX f egrave -10 +KPX f emacron -10 +KPX f eogonek -10 +KPX f o -20 +KPX f oacute -20 +KPX f ocircumflex -20 +KPX f odieresis -20 +KPX f ograve -20 +KPX f ohungarumlaut -20 +KPX f omacron -20 +KPX f oslash -20 +KPX f otilde -20 +KPX f period -10 +KPX f quotedblright 30 +KPX f quoteright 30 +KPX g e 10 +KPX g eacute 10 +KPX g ecaron 10 +KPX g ecircumflex 10 +KPX g edieresis 10 +KPX g edotaccent 10 +KPX g egrave 10 +KPX g emacron 10 +KPX g eogonek 10 +KPX g g -10 +KPX g gbreve -10 +KPX g gcommaaccent -10 +KPX gbreve e 10 +KPX gbreve eacute 10 +KPX gbreve ecaron 10 +KPX gbreve ecircumflex 10 +KPX gbreve edieresis 10 +KPX gbreve edotaccent 10 +KPX gbreve egrave 10 +KPX gbreve emacron 10 +KPX gbreve eogonek 10 +KPX gbreve g -10 +KPX gbreve gbreve -10 +KPX gbreve gcommaaccent -10 +KPX gcommaaccent e 10 +KPX gcommaaccent eacute 10 +KPX gcommaaccent ecaron 10 +KPX gcommaaccent ecircumflex 10 +KPX gcommaaccent edieresis 10 +KPX gcommaaccent edotaccent 10 +KPX gcommaaccent egrave 10 +KPX gcommaaccent emacron 10 +KPX gcommaaccent eogonek 10 +KPX gcommaaccent g -10 +KPX gcommaaccent gbreve -10 +KPX gcommaaccent gcommaaccent -10 +KPX h y -20 +KPX h yacute -20 +KPX h ydieresis -20 +KPX k o -15 +KPX k oacute -15 +KPX k ocircumflex -15 +KPX k odieresis -15 +KPX k ograve -15 +KPX k ohungarumlaut -15 +KPX k omacron -15 +KPX k oslash -15 +KPX k otilde -15 +KPX kcommaaccent o -15 +KPX kcommaaccent oacute -15 +KPX kcommaaccent ocircumflex -15 +KPX kcommaaccent odieresis -15 +KPX kcommaaccent ograve -15 +KPX kcommaaccent ohungarumlaut -15 +KPX kcommaaccent omacron -15 +KPX kcommaaccent oslash -15 +KPX kcommaaccent otilde -15 +KPX l w -15 +KPX l y -15 +KPX l yacute -15 +KPX l ydieresis -15 +KPX lacute w -15 +KPX lacute y -15 +KPX lacute yacute -15 +KPX lacute ydieresis -15 +KPX lcommaaccent w -15 +KPX lcommaaccent y -15 +KPX lcommaaccent yacute -15 +KPX lcommaaccent ydieresis -15 +KPX lslash w -15 +KPX lslash y -15 +KPX lslash yacute -15 +KPX lslash ydieresis -15 +KPX m u -20 +KPX m uacute -20 +KPX m ucircumflex -20 +KPX m udieresis -20 +KPX m ugrave -20 +KPX m uhungarumlaut -20 +KPX m umacron -20 +KPX m uogonek -20 +KPX m uring -20 +KPX m y -30 +KPX m yacute -30 +KPX m ydieresis -30 +KPX n u -10 +KPX n uacute -10 +KPX n ucircumflex -10 +KPX n udieresis -10 +KPX n ugrave -10 +KPX n uhungarumlaut -10 +KPX n umacron -10 +KPX n uogonek -10 +KPX n uring -10 +KPX n v -40 +KPX n y -20 +KPX n yacute -20 +KPX n ydieresis -20 +KPX nacute u -10 +KPX nacute uacute -10 +KPX nacute ucircumflex -10 +KPX nacute udieresis -10 +KPX nacute ugrave -10 +KPX nacute uhungarumlaut -10 +KPX nacute umacron -10 +KPX nacute uogonek -10 +KPX nacute uring -10 +KPX nacute v -40 +KPX nacute y -20 +KPX nacute yacute -20 +KPX nacute ydieresis -20 +KPX ncaron u -10 +KPX ncaron uacute -10 +KPX ncaron ucircumflex -10 +KPX ncaron udieresis -10 +KPX ncaron ugrave -10 +KPX ncaron uhungarumlaut -10 +KPX ncaron umacron -10 +KPX ncaron uogonek -10 +KPX ncaron uring -10 +KPX ncaron v -40 +KPX ncaron y -20 +KPX ncaron yacute -20 +KPX ncaron ydieresis -20 +KPX ncommaaccent u -10 +KPX ncommaaccent uacute -10 +KPX ncommaaccent ucircumflex -10 +KPX ncommaaccent udieresis -10 +KPX ncommaaccent ugrave -10 +KPX ncommaaccent uhungarumlaut -10 +KPX ncommaaccent umacron -10 +KPX ncommaaccent uogonek -10 +KPX ncommaaccent uring -10 +KPX ncommaaccent v -40 +KPX ncommaaccent y -20 +KPX ncommaaccent yacute -20 +KPX ncommaaccent ydieresis -20 +KPX ntilde u -10 +KPX ntilde uacute -10 +KPX ntilde ucircumflex -10 +KPX ntilde udieresis -10 +KPX ntilde ugrave -10 +KPX ntilde uhungarumlaut -10 +KPX ntilde umacron -10 +KPX ntilde uogonek -10 +KPX ntilde uring -10 +KPX ntilde v -40 +KPX ntilde y -20 +KPX ntilde yacute -20 +KPX ntilde ydieresis -20 +KPX o v -20 +KPX o w -15 +KPX o x -30 +KPX o y -20 +KPX o yacute -20 +KPX o ydieresis -20 +KPX oacute v -20 +KPX oacute w -15 +KPX oacute x -30 +KPX oacute y -20 +KPX oacute yacute -20 +KPX oacute ydieresis -20 +KPX ocircumflex v -20 +KPX ocircumflex w -15 +KPX ocircumflex x -30 +KPX ocircumflex y -20 +KPX ocircumflex yacute -20 +KPX ocircumflex ydieresis -20 +KPX odieresis v -20 +KPX odieresis w -15 +KPX odieresis x -30 +KPX odieresis y -20 +KPX odieresis yacute -20 +KPX odieresis ydieresis -20 +KPX ograve v -20 +KPX ograve w -15 +KPX ograve x -30 +KPX ograve y -20 +KPX ograve yacute -20 +KPX ograve ydieresis -20 +KPX ohungarumlaut v -20 +KPX ohungarumlaut w -15 +KPX ohungarumlaut x -30 +KPX ohungarumlaut y -20 +KPX ohungarumlaut yacute -20 +KPX ohungarumlaut ydieresis -20 +KPX omacron v -20 +KPX omacron w -15 +KPX omacron x -30 +KPX omacron y -20 +KPX omacron yacute -20 +KPX omacron ydieresis -20 +KPX oslash v -20 +KPX oslash w -15 +KPX oslash x -30 +KPX oslash y -20 +KPX oslash yacute -20 +KPX oslash ydieresis -20 +KPX otilde v -20 +KPX otilde w -15 +KPX otilde x -30 +KPX otilde y -20 +KPX otilde yacute -20 +KPX otilde ydieresis -20 +KPX p y -15 +KPX p yacute -15 +KPX p ydieresis -15 +KPX period quotedblright -120 +KPX period quoteright -120 +KPX period space -40 +KPX quotedblright space -80 +KPX quoteleft quoteleft -46 +KPX quoteright d -80 +KPX quoteright dcroat -80 +KPX quoteright l -20 +KPX quoteright lacute -20 +KPX quoteright lcommaaccent -20 +KPX quoteright lslash -20 +KPX quoteright quoteright -46 +KPX quoteright r -40 +KPX quoteright racute -40 +KPX quoteright rcaron -40 +KPX quoteright rcommaaccent -40 +KPX quoteright s -60 +KPX quoteright sacute -60 +KPX quoteright scaron -60 +KPX quoteright scedilla -60 +KPX quoteright scommaaccent -60 +KPX quoteright space -80 +KPX quoteright v -20 +KPX r c -20 +KPX r cacute -20 +KPX r ccaron -20 +KPX r ccedilla -20 +KPX r comma -60 +KPX r d -20 +KPX r dcroat -20 +KPX r g -15 +KPX r gbreve -15 +KPX r gcommaaccent -15 +KPX r hyphen -20 +KPX r o -20 +KPX r oacute -20 +KPX r ocircumflex -20 +KPX r odieresis -20 +KPX r ograve -20 +KPX r ohungarumlaut -20 +KPX r omacron -20 +KPX r oslash -20 +KPX r otilde -20 +KPX r period -60 +KPX r q -20 +KPX r s -15 +KPX r sacute -15 +KPX r scaron -15 +KPX r scedilla -15 +KPX r scommaaccent -15 +KPX r t 20 +KPX r tcommaaccent 20 +KPX r v 10 +KPX r y 10 +KPX r yacute 10 +KPX r ydieresis 10 +KPX racute c -20 +KPX racute cacute -20 +KPX racute ccaron -20 +KPX racute ccedilla -20 +KPX racute comma -60 +KPX racute d -20 +KPX racute dcroat -20 +KPX racute g -15 +KPX racute gbreve -15 +KPX racute gcommaaccent -15 +KPX racute hyphen -20 +KPX racute o -20 +KPX racute oacute -20 +KPX racute ocircumflex -20 +KPX racute odieresis -20 +KPX racute ograve -20 +KPX racute ohungarumlaut -20 +KPX racute omacron -20 +KPX racute oslash -20 +KPX racute otilde -20 +KPX racute period -60 +KPX racute q -20 +KPX racute s -15 +KPX racute sacute -15 +KPX racute scaron -15 +KPX racute scedilla -15 +KPX racute scommaaccent -15 +KPX racute t 20 +KPX racute tcommaaccent 20 +KPX racute v 10 +KPX racute y 10 +KPX racute yacute 10 +KPX racute ydieresis 10 +KPX rcaron c -20 +KPX rcaron cacute -20 +KPX rcaron ccaron -20 +KPX rcaron ccedilla -20 +KPX rcaron comma -60 +KPX rcaron d -20 +KPX rcaron dcroat -20 +KPX rcaron g -15 +KPX rcaron gbreve -15 +KPX rcaron gcommaaccent -15 +KPX rcaron hyphen -20 +KPX rcaron o -20 +KPX rcaron oacute -20 +KPX rcaron ocircumflex -20 +KPX rcaron odieresis -20 +KPX rcaron ograve -20 +KPX rcaron ohungarumlaut -20 +KPX rcaron omacron -20 +KPX rcaron oslash -20 +KPX rcaron otilde -20 +KPX rcaron period -60 +KPX rcaron q -20 +KPX rcaron s -15 +KPX rcaron sacute -15 +KPX rcaron scaron -15 +KPX rcaron scedilla -15 +KPX rcaron scommaaccent -15 +KPX rcaron t 20 +KPX rcaron tcommaaccent 20 +KPX rcaron v 10 +KPX rcaron y 10 +KPX rcaron yacute 10 +KPX rcaron ydieresis 10 +KPX rcommaaccent c -20 +KPX rcommaaccent cacute -20 +KPX rcommaaccent ccaron -20 +KPX rcommaaccent ccedilla -20 +KPX rcommaaccent comma -60 +KPX rcommaaccent d -20 +KPX rcommaaccent dcroat -20 +KPX rcommaaccent g -15 +KPX rcommaaccent gbreve -15 +KPX rcommaaccent gcommaaccent -15 +KPX rcommaaccent hyphen -20 +KPX rcommaaccent o -20 +KPX rcommaaccent oacute -20 +KPX rcommaaccent ocircumflex -20 +KPX rcommaaccent odieresis -20 +KPX rcommaaccent ograve -20 +KPX rcommaaccent ohungarumlaut -20 +KPX rcommaaccent omacron -20 +KPX rcommaaccent oslash -20 +KPX rcommaaccent otilde -20 +KPX rcommaaccent period -60 +KPX rcommaaccent q -20 +KPX rcommaaccent s -15 +KPX rcommaaccent sacute -15 +KPX rcommaaccent scaron -15 +KPX rcommaaccent scedilla -15 +KPX rcommaaccent scommaaccent -15 +KPX rcommaaccent t 20 +KPX rcommaaccent tcommaaccent 20 +KPX rcommaaccent v 10 +KPX rcommaaccent y 10 +KPX rcommaaccent yacute 10 +KPX rcommaaccent ydieresis 10 +KPX s w -15 +KPX sacute w -15 +KPX scaron w -15 +KPX scedilla w -15 +KPX scommaaccent w -15 +KPX semicolon space -40 +KPX space T -100 +KPX space Tcaron -100 +KPX space Tcommaaccent -100 +KPX space V -80 +KPX space W -80 +KPX space Y -120 +KPX space Yacute -120 +KPX space Ydieresis -120 +KPX space quotedblleft -80 +KPX space quoteleft -60 +KPX v a -20 +KPX v aacute -20 +KPX v abreve -20 +KPX v acircumflex -20 +KPX v adieresis -20 +KPX v agrave -20 +KPX v amacron -20 +KPX v aogonek -20 +KPX v aring -20 +KPX v atilde -20 +KPX v comma -80 +KPX v o -30 +KPX v oacute -30 +KPX v ocircumflex -30 +KPX v odieresis -30 +KPX v ograve -30 +KPX v ohungarumlaut -30 +KPX v omacron -30 +KPX v oslash -30 +KPX v otilde -30 +KPX v period -80 +KPX w comma -40 +KPX w o -20 +KPX w oacute -20 +KPX w ocircumflex -20 +KPX w odieresis -20 +KPX w ograve -20 +KPX w ohungarumlaut -20 +KPX w omacron -20 +KPX w oslash -20 +KPX w otilde -20 +KPX w period -40 +KPX x e -10 +KPX x eacute -10 +KPX x ecaron -10 +KPX x ecircumflex -10 +KPX x edieresis -10 +KPX x edotaccent -10 +KPX x egrave -10 +KPX x emacron -10 +KPX x eogonek -10 +KPX y a -30 +KPX y aacute -30 +KPX y abreve -30 +KPX y acircumflex -30 +KPX y adieresis -30 +KPX y agrave -30 +KPX y amacron -30 +KPX y aogonek -30 +KPX y aring -30 +KPX y atilde -30 +KPX y comma -80 +KPX y e -10 +KPX y eacute -10 +KPX y ecaron -10 +KPX y ecircumflex -10 +KPX y edieresis -10 +KPX y edotaccent -10 +KPX y egrave -10 +KPX y emacron -10 +KPX y eogonek -10 +KPX y o -25 +KPX y oacute -25 +KPX y ocircumflex -25 +KPX y odieresis -25 +KPX y ograve -25 +KPX y ohungarumlaut -25 +KPX y omacron -25 +KPX y oslash -25 +KPX y otilde -25 +KPX y period -80 +KPX yacute a -30 +KPX yacute aacute -30 +KPX yacute abreve -30 +KPX yacute acircumflex -30 +KPX yacute adieresis -30 +KPX yacute agrave -30 +KPX yacute amacron -30 +KPX yacute aogonek -30 +KPX yacute aring -30 +KPX yacute atilde -30 +KPX yacute comma -80 +KPX yacute e -10 +KPX yacute eacute -10 +KPX yacute ecaron -10 +KPX yacute ecircumflex -10 +KPX yacute edieresis -10 +KPX yacute edotaccent -10 +KPX yacute egrave -10 +KPX yacute emacron -10 +KPX yacute eogonek -10 +KPX yacute o -25 +KPX yacute oacute -25 +KPX yacute ocircumflex -25 +KPX yacute odieresis -25 +KPX yacute ograve -25 +KPX yacute ohungarumlaut -25 +KPX yacute omacron -25 +KPX yacute oslash -25 +KPX yacute otilde -25 +KPX yacute period -80 +KPX ydieresis a -30 +KPX ydieresis aacute -30 +KPX ydieresis abreve -30 +KPX ydieresis acircumflex -30 +KPX ydieresis adieresis -30 +KPX ydieresis agrave -30 +KPX ydieresis amacron -30 +KPX ydieresis aogonek -30 +KPX ydieresis aring -30 +KPX ydieresis atilde -30 +KPX ydieresis comma -80 +KPX ydieresis e -10 +KPX ydieresis eacute -10 +KPX ydieresis ecaron -10 +KPX ydieresis ecircumflex -10 +KPX ydieresis edieresis -10 +KPX ydieresis edotaccent -10 +KPX ydieresis egrave -10 +KPX ydieresis emacron -10 +KPX ydieresis eogonek -10 +KPX ydieresis o -25 +KPX ydieresis oacute -25 +KPX ydieresis ocircumflex -25 +KPX ydieresis odieresis -25 +KPX ydieresis ograve -25 +KPX ydieresis ohungarumlaut -25 +KPX ydieresis omacron -25 +KPX ydieresis oslash -25 +KPX ydieresis otilde -25 +KPX ydieresis period -80 +KPX z e 10 +KPX z eacute 10 +KPX z ecaron 10 +KPX z ecircumflex 10 +KPX z edieresis 10 +KPX z edotaccent 10 +KPX z egrave 10 +KPX z emacron 10 +KPX z eogonek 10 +KPX zacute e 10 +KPX zacute eacute 10 +KPX zacute ecaron 10 +KPX zacute ecircumflex 10 +KPX zacute edieresis 10 +KPX zacute edotaccent 10 +KPX zacute egrave 10 +KPX zacute emacron 10 +KPX zacute eogonek 10 +KPX zcaron e 10 +KPX zcaron eacute 10 +KPX zcaron ecaron 10 +KPX zcaron ecircumflex 10 +KPX zcaron edieresis 10 +KPX zcaron edotaccent 10 +KPX zcaron egrave 10 +KPX zcaron emacron 10 +KPX zcaron eogonek 10 +KPX zdotaccent e 10 +KPX zdotaccent eacute 10 +KPX zdotaccent ecaron 10 +KPX zdotaccent ecircumflex 10 +KPX zdotaccent edieresis 10 +KPX zdotaccent edotaccent 10 +KPX zdotaccent egrave 10 +KPX zdotaccent emacron 10 +KPX zdotaccent eogonek 10 +EndKernPairs +EndKernData +EndFontMetrics diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/PDF/default/templates/fonts/Helvetica-BoldOblique.afm b/buildscripts/PhpDocumentor/phpDocumentor/Converters/PDF/default/templates/fonts/Helvetica-BoldOblique.afm new file mode 100755 index 00000000..1715b210 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/PDF/default/templates/fonts/Helvetica-BoldOblique.afm @@ -0,0 +1,2827 @@ +StartFontMetrics 4.1 +Comment Copyright (c) 1985, 1987, 1989, 1990, 1997 Adobe Systems Incorporated. All Rights Reserved. +Comment Creation Date: Thu May 1 12:45:12 1997 +Comment UniqueID 43053 +Comment VMusage 14482 68586 +FontName Helvetica-BoldOblique +FullName Helvetica Bold Oblique +FamilyName Helvetica +Weight Bold +ItalicAngle -12 +IsFixedPitch false +CharacterSet ExtendedRoman +FontBBox -174 -228 1114 962 +UnderlinePosition -100 +UnderlineThickness 50 +Version 002.000 +Notice Copyright (c) 1985, 1987, 1989, 1990, 1997 Adobe Systems Incorporated. All Rights Reserved.Helvetica is a trademark of Linotype-Hell AG and/or its subsidiaries. +EncodingScheme AdobeStandardEncoding +CapHeight 718 +XHeight 532 +Ascender 718 +Descender -207 +StdHW 118 +StdVW 140 +StartCharMetrics 315 +C 32 ; WX 278 ; N space ; B 0 0 0 0 ; +C 33 ; WX 333 ; N exclam ; B 94 0 397 718 ; +C 34 ; WX 474 ; N quotedbl ; B 193 447 529 718 ; +C 35 ; WX 556 ; N numbersign ; B 60 0 644 698 ; +C 36 ; WX 556 ; N dollar ; B 67 -115 622 775 ; +C 37 ; WX 889 ; N percent ; B 136 -19 901 710 ; +C 38 ; WX 722 ; N ampersand ; B 89 -19 732 718 ; +C 39 ; WX 278 ; N quoteright ; B 167 445 362 718 ; +C 40 ; WX 333 ; N parenleft ; B 76 -208 470 734 ; +C 41 ; WX 333 ; N parenright ; B -25 -208 369 734 ; +C 42 ; WX 389 ; N asterisk ; B 146 387 481 718 ; +C 43 ; WX 584 ; N plus ; B 82 0 610 506 ; +C 44 ; WX 278 ; N comma ; B 28 -168 245 146 ; +C 45 ; WX 333 ; N hyphen ; B 73 215 379 345 ; +C 46 ; WX 278 ; N period ; B 64 0 245 146 ; +C 47 ; WX 278 ; N slash ; B -37 -19 468 737 ; +C 48 ; WX 556 ; N zero ; B 86 -19 617 710 ; +C 49 ; WX 556 ; N one ; B 173 0 529 710 ; +C 50 ; WX 556 ; N two ; B 26 0 619 710 ; +C 51 ; WX 556 ; N three ; B 65 -19 608 710 ; +C 52 ; WX 556 ; N four ; B 60 0 598 710 ; +C 53 ; WX 556 ; N five ; B 64 -19 636 698 ; +C 54 ; WX 556 ; N six ; B 85 -19 619 710 ; +C 55 ; WX 556 ; N seven ; B 125 0 676 698 ; +C 56 ; WX 556 ; N eight ; B 69 -19 616 710 ; +C 57 ; WX 556 ; N nine ; B 78 -19 615 710 ; +C 58 ; WX 333 ; N colon ; B 92 0 351 512 ; +C 59 ; WX 333 ; N semicolon ; B 56 -168 351 512 ; +C 60 ; WX 584 ; N less ; B 82 -8 655 514 ; +C 61 ; WX 584 ; N equal ; B 58 87 633 419 ; +C 62 ; WX 584 ; N greater ; B 36 -8 609 514 ; +C 63 ; WX 611 ; N question ; B 165 0 671 727 ; +C 64 ; WX 975 ; N at ; B 186 -19 954 737 ; +C 65 ; WX 722 ; N A ; B 20 0 702 718 ; +C 66 ; WX 722 ; N B ; B 76 0 764 718 ; +C 67 ; WX 722 ; N C ; B 107 -19 789 737 ; +C 68 ; WX 722 ; N D ; B 76 0 777 718 ; +C 69 ; WX 667 ; N E ; B 76 0 757 718 ; +C 70 ; WX 611 ; N F ; B 76 0 740 718 ; +C 71 ; WX 778 ; N G ; B 108 -19 817 737 ; +C 72 ; WX 722 ; N H ; B 71 0 804 718 ; +C 73 ; WX 278 ; N I ; B 64 0 367 718 ; +C 74 ; WX 556 ; N J ; B 60 -18 637 718 ; +C 75 ; WX 722 ; N K ; B 87 0 858 718 ; +C 76 ; WX 611 ; N L ; B 76 0 611 718 ; +C 77 ; WX 833 ; N M ; B 69 0 918 718 ; +C 78 ; WX 722 ; N N ; B 69 0 807 718 ; +C 79 ; WX 778 ; N O ; B 107 -19 823 737 ; +C 80 ; WX 667 ; N P ; B 76 0 738 718 ; +C 81 ; WX 778 ; N Q ; B 107 -52 823 737 ; +C 82 ; WX 722 ; N R ; B 76 0 778 718 ; +C 83 ; WX 667 ; N S ; B 81 -19 718 737 ; +C 84 ; WX 611 ; N T ; B 140 0 751 718 ; +C 85 ; WX 722 ; N U ; B 116 -19 804 718 ; +C 86 ; WX 667 ; N V ; B 172 0 801 718 ; +C 87 ; WX 944 ; N W ; B 169 0 1082 718 ; +C 88 ; WX 667 ; N X ; B 14 0 791 718 ; +C 89 ; WX 667 ; N Y ; B 168 0 806 718 ; +C 90 ; WX 611 ; N Z ; B 25 0 737 718 ; +C 91 ; WX 333 ; N bracketleft ; B 21 -196 462 722 ; +C 92 ; WX 278 ; N backslash ; B 124 -19 307 737 ; +C 93 ; WX 333 ; N bracketright ; B -18 -196 423 722 ; +C 94 ; WX 584 ; N asciicircum ; B 131 323 591 698 ; +C 95 ; WX 556 ; N underscore ; B -27 -125 540 -75 ; +C 96 ; WX 278 ; N quoteleft ; B 165 454 361 727 ; +C 97 ; WX 556 ; N a ; B 55 -14 583 546 ; +C 98 ; WX 611 ; N b ; B 61 -14 645 718 ; +C 99 ; WX 556 ; N c ; B 79 -14 599 546 ; +C 100 ; WX 611 ; N d ; B 82 -14 704 718 ; +C 101 ; WX 556 ; N e ; B 70 -14 593 546 ; +C 102 ; WX 333 ; N f ; B 87 0 469 727 ; L i fi ; L l fl ; +C 103 ; WX 611 ; N g ; B 38 -217 666 546 ; +C 104 ; WX 611 ; N h ; B 65 0 629 718 ; +C 105 ; WX 278 ; N i ; B 69 0 363 725 ; +C 106 ; WX 278 ; N j ; B -42 -214 363 725 ; +C 107 ; WX 556 ; N k ; B 69 0 670 718 ; +C 108 ; WX 278 ; N l ; B 69 0 362 718 ; +C 109 ; WX 889 ; N m ; B 64 0 909 546 ; +C 110 ; WX 611 ; N n ; B 65 0 629 546 ; +C 111 ; WX 611 ; N o ; B 82 -14 643 546 ; +C 112 ; WX 611 ; N p ; B 18 -207 645 546 ; +C 113 ; WX 611 ; N q ; B 80 -207 665 546 ; +C 114 ; WX 389 ; N r ; B 64 0 489 546 ; +C 115 ; WX 556 ; N s ; B 63 -14 584 546 ; +C 116 ; WX 333 ; N t ; B 100 -6 422 676 ; +C 117 ; WX 611 ; N u ; B 98 -14 658 532 ; +C 118 ; WX 556 ; N v ; B 126 0 656 532 ; +C 119 ; WX 778 ; N w ; B 123 0 882 532 ; +C 120 ; WX 556 ; N x ; B 15 0 648 532 ; +C 121 ; WX 556 ; N y ; B 42 -214 652 532 ; +C 122 ; WX 500 ; N z ; B 20 0 583 532 ; +C 123 ; WX 389 ; N braceleft ; B 94 -196 518 722 ; +C 124 ; WX 280 ; N bar ; B 36 -225 361 775 ; +C 125 ; WX 389 ; N braceright ; B -18 -196 407 722 ; +C 126 ; WX 584 ; N asciitilde ; B 115 163 577 343 ; +C 161 ; WX 333 ; N exclamdown ; B 50 -186 353 532 ; +C 162 ; WX 556 ; N cent ; B 79 -118 599 628 ; +C 163 ; WX 556 ; N sterling ; B 50 -16 635 718 ; +C 164 ; WX 167 ; N fraction ; B -174 -19 487 710 ; +C 165 ; WX 556 ; N yen ; B 60 0 713 698 ; +C 166 ; WX 556 ; N florin ; B -50 -210 669 737 ; +C 167 ; WX 556 ; N section ; B 61 -184 598 727 ; +C 168 ; WX 556 ; N currency ; B 27 76 680 636 ; +C 169 ; WX 238 ; N quotesingle ; B 165 447 321 718 ; +C 170 ; WX 500 ; N quotedblleft ; B 160 454 588 727 ; +C 171 ; WX 556 ; N guillemotleft ; B 135 76 571 484 ; +C 172 ; WX 333 ; N guilsinglleft ; B 130 76 353 484 ; +C 173 ; WX 333 ; N guilsinglright ; B 99 76 322 484 ; +C 174 ; WX 611 ; N fi ; B 87 0 696 727 ; +C 175 ; WX 611 ; N fl ; B 87 0 695 727 ; +C 177 ; WX 556 ; N endash ; B 48 227 627 333 ; +C 178 ; WX 556 ; N dagger ; B 118 -171 626 718 ; +C 179 ; WX 556 ; N daggerdbl ; B 46 -171 628 718 ; +C 180 ; WX 278 ; N periodcentered ; B 110 172 276 334 ; +C 182 ; WX 556 ; N paragraph ; B 98 -191 688 700 ; +C 183 ; WX 350 ; N bullet ; B 83 194 420 524 ; +C 184 ; WX 278 ; N quotesinglbase ; B 41 -146 236 127 ; +C 185 ; WX 500 ; N quotedblbase ; B 36 -146 463 127 ; +C 186 ; WX 500 ; N quotedblright ; B 162 445 589 718 ; +C 187 ; WX 556 ; N guillemotright ; B 104 76 540 484 ; +C 188 ; WX 1000 ; N ellipsis ; B 92 0 939 146 ; +C 189 ; WX 1000 ; N perthousand ; B 76 -19 1038 710 ; +C 191 ; WX 611 ; N questiondown ; B 53 -195 559 532 ; +C 193 ; WX 333 ; N grave ; B 136 604 353 750 ; +C 194 ; WX 333 ; N acute ; B 236 604 515 750 ; +C 195 ; WX 333 ; N circumflex ; B 118 604 471 750 ; +C 196 ; WX 333 ; N tilde ; B 113 610 507 737 ; +C 197 ; WX 333 ; N macron ; B 122 604 483 678 ; +C 198 ; WX 333 ; N breve ; B 156 604 494 750 ; +C 199 ; WX 333 ; N dotaccent ; B 235 614 385 729 ; +C 200 ; WX 333 ; N dieresis ; B 137 614 482 729 ; +C 202 ; WX 333 ; N ring ; B 200 568 420 776 ; +C 203 ; WX 333 ; N cedilla ; B -37 -228 220 0 ; +C 205 ; WX 333 ; N hungarumlaut ; B 137 604 645 750 ; +C 206 ; WX 333 ; N ogonek ; B 41 -228 264 0 ; +C 207 ; WX 333 ; N caron ; B 149 604 502 750 ; +C 208 ; WX 1000 ; N emdash ; B 48 227 1071 333 ; +C 225 ; WX 1000 ; N AE ; B 5 0 1100 718 ; +C 227 ; WX 370 ; N ordfeminine ; B 125 401 465 737 ; +C 232 ; WX 611 ; N Lslash ; B 34 0 611 718 ; +C 233 ; WX 778 ; N Oslash ; B 35 -27 894 745 ; +C 234 ; WX 1000 ; N OE ; B 99 -19 1114 737 ; +C 235 ; WX 365 ; N ordmasculine ; B 123 401 485 737 ; +C 241 ; WX 889 ; N ae ; B 56 -14 923 546 ; +C 245 ; WX 278 ; N dotlessi ; B 69 0 322 532 ; +C 248 ; WX 278 ; N lslash ; B 40 0 407 718 ; +C 249 ; WX 611 ; N oslash ; B 22 -29 701 560 ; +C 250 ; WX 944 ; N oe ; B 82 -14 977 546 ; +C 251 ; WX 611 ; N germandbls ; B 69 -14 657 731 ; +C -1 ; WX 278 ; N Idieresis ; B 64 0 494 915 ; +C -1 ; WX 556 ; N eacute ; B 70 -14 627 750 ; +C -1 ; WX 556 ; N abreve ; B 55 -14 606 750 ; +C -1 ; WX 611 ; N uhungarumlaut ; B 98 -14 784 750 ; +C -1 ; WX 556 ; N ecaron ; B 70 -14 614 750 ; +C -1 ; WX 667 ; N Ydieresis ; B 168 0 806 915 ; +C -1 ; WX 584 ; N divide ; B 82 -42 610 548 ; +C -1 ; WX 667 ; N Yacute ; B 168 0 806 936 ; +C -1 ; WX 722 ; N Acircumflex ; B 20 0 706 936 ; +C -1 ; WX 556 ; N aacute ; B 55 -14 627 750 ; +C -1 ; WX 722 ; N Ucircumflex ; B 116 -19 804 936 ; +C -1 ; WX 556 ; N yacute ; B 42 -214 652 750 ; +C -1 ; WX 556 ; N scommaaccent ; B 63 -228 584 546 ; +C -1 ; WX 556 ; N ecircumflex ; B 70 -14 593 750 ; +C -1 ; WX 722 ; N Uring ; B 116 -19 804 962 ; +C -1 ; WX 722 ; N Udieresis ; B 116 -19 804 915 ; +C -1 ; WX 556 ; N aogonek ; B 55 -224 583 546 ; +C -1 ; WX 722 ; N Uacute ; B 116 -19 804 936 ; +C -1 ; WX 611 ; N uogonek ; B 98 -228 658 532 ; +C -1 ; WX 667 ; N Edieresis ; B 76 0 757 915 ; +C -1 ; WX 722 ; N Dcroat ; B 62 0 777 718 ; +C -1 ; WX 250 ; N commaaccent ; B 16 -228 188 -50 ; +C -1 ; WX 737 ; N copyright ; B 56 -19 835 737 ; +C -1 ; WX 667 ; N Emacron ; B 76 0 757 864 ; +C -1 ; WX 556 ; N ccaron ; B 79 -14 614 750 ; +C -1 ; WX 556 ; N aring ; B 55 -14 583 776 ; +C -1 ; WX 722 ; N Ncommaaccent ; B 69 -228 807 718 ; +C -1 ; WX 278 ; N lacute ; B 69 0 528 936 ; +C -1 ; WX 556 ; N agrave ; B 55 -14 583 750 ; +C -1 ; WX 611 ; N Tcommaaccent ; B 140 -228 751 718 ; +C -1 ; WX 722 ; N Cacute ; B 107 -19 789 936 ; +C -1 ; WX 556 ; N atilde ; B 55 -14 619 737 ; +C -1 ; WX 667 ; N Edotaccent ; B 76 0 757 915 ; +C -1 ; WX 556 ; N scaron ; B 63 -14 614 750 ; +C -1 ; WX 556 ; N scedilla ; B 63 -228 584 546 ; +C -1 ; WX 278 ; N iacute ; B 69 0 488 750 ; +C -1 ; WX 494 ; N lozenge ; B 90 0 564 745 ; +C -1 ; WX 722 ; N Rcaron ; B 76 0 778 936 ; +C -1 ; WX 778 ; N Gcommaaccent ; B 108 -228 817 737 ; +C -1 ; WX 611 ; N ucircumflex ; B 98 -14 658 750 ; +C -1 ; WX 556 ; N acircumflex ; B 55 -14 583 750 ; +C -1 ; WX 722 ; N Amacron ; B 20 0 718 864 ; +C -1 ; WX 389 ; N rcaron ; B 64 0 530 750 ; +C -1 ; WX 556 ; N ccedilla ; B 79 -228 599 546 ; +C -1 ; WX 611 ; N Zdotaccent ; B 25 0 737 915 ; +C -1 ; WX 667 ; N Thorn ; B 76 0 716 718 ; +C -1 ; WX 778 ; N Omacron ; B 107 -19 823 864 ; +C -1 ; WX 722 ; N Racute ; B 76 0 778 936 ; +C -1 ; WX 667 ; N Sacute ; B 81 -19 722 936 ; +C -1 ; WX 743 ; N dcaron ; B 82 -14 903 718 ; +C -1 ; WX 722 ; N Umacron ; B 116 -19 804 864 ; +C -1 ; WX 611 ; N uring ; B 98 -14 658 776 ; +C -1 ; WX 333 ; N threesuperior ; B 91 271 441 710 ; +C -1 ; WX 778 ; N Ograve ; B 107 -19 823 936 ; +C -1 ; WX 722 ; N Agrave ; B 20 0 702 936 ; +C -1 ; WX 722 ; N Abreve ; B 20 0 729 936 ; +C -1 ; WX 584 ; N multiply ; B 57 1 635 505 ; +C -1 ; WX 611 ; N uacute ; B 98 -14 658 750 ; +C -1 ; WX 611 ; N Tcaron ; B 140 0 751 936 ; +C -1 ; WX 494 ; N partialdiff ; B 43 -21 585 750 ; +C -1 ; WX 556 ; N ydieresis ; B 42 -214 652 729 ; +C -1 ; WX 722 ; N Nacute ; B 69 0 807 936 ; +C -1 ; WX 278 ; N icircumflex ; B 69 0 444 750 ; +C -1 ; WX 667 ; N Ecircumflex ; B 76 0 757 936 ; +C -1 ; WX 556 ; N adieresis ; B 55 -14 594 729 ; +C -1 ; WX 556 ; N edieresis ; B 70 -14 594 729 ; +C -1 ; WX 556 ; N cacute ; B 79 -14 627 750 ; +C -1 ; WX 611 ; N nacute ; B 65 0 654 750 ; +C -1 ; WX 611 ; N umacron ; B 98 -14 658 678 ; +C -1 ; WX 722 ; N Ncaron ; B 69 0 807 936 ; +C -1 ; WX 278 ; N Iacute ; B 64 0 528 936 ; +C -1 ; WX 584 ; N plusminus ; B 40 0 625 506 ; +C -1 ; WX 280 ; N brokenbar ; B 52 -150 345 700 ; +C -1 ; WX 737 ; N registered ; B 55 -19 834 737 ; +C -1 ; WX 778 ; N Gbreve ; B 108 -19 817 936 ; +C -1 ; WX 278 ; N Idotaccent ; B 64 0 397 915 ; +C -1 ; WX 600 ; N summation ; B 14 -10 670 706 ; +C -1 ; WX 667 ; N Egrave ; B 76 0 757 936 ; +C -1 ; WX 389 ; N racute ; B 64 0 543 750 ; +C -1 ; WX 611 ; N omacron ; B 82 -14 643 678 ; +C -1 ; WX 611 ; N Zacute ; B 25 0 737 936 ; +C -1 ; WX 611 ; N Zcaron ; B 25 0 737 936 ; +C -1 ; WX 549 ; N greaterequal ; B 26 0 629 704 ; +C -1 ; WX 722 ; N Eth ; B 62 0 777 718 ; +C -1 ; WX 722 ; N Ccedilla ; B 107 -228 789 737 ; +C -1 ; WX 278 ; N lcommaaccent ; B 30 -228 362 718 ; +C -1 ; WX 389 ; N tcaron ; B 100 -6 608 878 ; +C -1 ; WX 556 ; N eogonek ; B 70 -228 593 546 ; +C -1 ; WX 722 ; N Uogonek ; B 116 -228 804 718 ; +C -1 ; WX 722 ; N Aacute ; B 20 0 750 936 ; +C -1 ; WX 722 ; N Adieresis ; B 20 0 716 915 ; +C -1 ; WX 556 ; N egrave ; B 70 -14 593 750 ; +C -1 ; WX 500 ; N zacute ; B 20 0 599 750 ; +C -1 ; WX 278 ; N iogonek ; B -14 -224 363 725 ; +C -1 ; WX 778 ; N Oacute ; B 107 -19 823 936 ; +C -1 ; WX 611 ; N oacute ; B 82 -14 654 750 ; +C -1 ; WX 556 ; N amacron ; B 55 -14 595 678 ; +C -1 ; WX 556 ; N sacute ; B 63 -14 627 750 ; +C -1 ; WX 278 ; N idieresis ; B 69 0 455 729 ; +C -1 ; WX 778 ; N Ocircumflex ; B 107 -19 823 936 ; +C -1 ; WX 722 ; N Ugrave ; B 116 -19 804 936 ; +C -1 ; WX 612 ; N Delta ; B 6 0 608 688 ; +C -1 ; WX 611 ; N thorn ; B 18 -208 645 718 ; +C -1 ; WX 333 ; N twosuperior ; B 69 283 449 710 ; +C -1 ; WX 778 ; N Odieresis ; B 107 -19 823 915 ; +C -1 ; WX 611 ; N mu ; B 22 -207 658 532 ; +C -1 ; WX 278 ; N igrave ; B 69 0 326 750 ; +C -1 ; WX 611 ; N ohungarumlaut ; B 82 -14 784 750 ; +C -1 ; WX 667 ; N Eogonek ; B 76 -224 757 718 ; +C -1 ; WX 611 ; N dcroat ; B 82 -14 789 718 ; +C -1 ; WX 834 ; N threequarters ; B 99 -19 839 710 ; +C -1 ; WX 667 ; N Scedilla ; B 81 -228 718 737 ; +C -1 ; WX 400 ; N lcaron ; B 69 0 561 718 ; +C -1 ; WX 722 ; N Kcommaaccent ; B 87 -228 858 718 ; +C -1 ; WX 611 ; N Lacute ; B 76 0 611 936 ; +C -1 ; WX 1000 ; N trademark ; B 179 306 1109 718 ; +C -1 ; WX 556 ; N edotaccent ; B 70 -14 593 729 ; +C -1 ; WX 278 ; N Igrave ; B 64 0 367 936 ; +C -1 ; WX 278 ; N Imacron ; B 64 0 496 864 ; +C -1 ; WX 611 ; N Lcaron ; B 76 0 643 718 ; +C -1 ; WX 834 ; N onehalf ; B 132 -19 858 710 ; +C -1 ; WX 549 ; N lessequal ; B 29 0 676 704 ; +C -1 ; WX 611 ; N ocircumflex ; B 82 -14 643 750 ; +C -1 ; WX 611 ; N ntilde ; B 65 0 646 737 ; +C -1 ; WX 722 ; N Uhungarumlaut ; B 116 -19 880 936 ; +C -1 ; WX 667 ; N Eacute ; B 76 0 757 936 ; +C -1 ; WX 556 ; N emacron ; B 70 -14 595 678 ; +C -1 ; WX 611 ; N gbreve ; B 38 -217 666 750 ; +C -1 ; WX 834 ; N onequarter ; B 132 -19 806 710 ; +C -1 ; WX 667 ; N Scaron ; B 81 -19 718 936 ; +C -1 ; WX 667 ; N Scommaaccent ; B 81 -228 718 737 ; +C -1 ; WX 778 ; N Ohungarumlaut ; B 107 -19 908 936 ; +C -1 ; WX 400 ; N degree ; B 175 426 467 712 ; +C -1 ; WX 611 ; N ograve ; B 82 -14 643 750 ; +C -1 ; WX 722 ; N Ccaron ; B 107 -19 789 936 ; +C -1 ; WX 611 ; N ugrave ; B 98 -14 658 750 ; +C -1 ; WX 549 ; N radical ; B 112 -46 689 850 ; +C -1 ; WX 722 ; N Dcaron ; B 76 0 777 936 ; +C -1 ; WX 389 ; N rcommaaccent ; B 26 -228 489 546 ; +C -1 ; WX 722 ; N Ntilde ; B 69 0 807 923 ; +C -1 ; WX 611 ; N otilde ; B 82 -14 646 737 ; +C -1 ; WX 722 ; N Rcommaaccent ; B 76 -228 778 718 ; +C -1 ; WX 611 ; N Lcommaaccent ; B 76 -228 611 718 ; +C -1 ; WX 722 ; N Atilde ; B 20 0 741 923 ; +C -1 ; WX 722 ; N Aogonek ; B 20 -224 702 718 ; +C -1 ; WX 722 ; N Aring ; B 20 0 702 962 ; +C -1 ; WX 778 ; N Otilde ; B 107 -19 823 923 ; +C -1 ; WX 500 ; N zdotaccent ; B 20 0 583 729 ; +C -1 ; WX 667 ; N Ecaron ; B 76 0 757 936 ; +C -1 ; WX 278 ; N Iogonek ; B -41 -228 367 718 ; +C -1 ; WX 556 ; N kcommaaccent ; B 69 -228 670 718 ; +C -1 ; WX 584 ; N minus ; B 82 197 610 309 ; +C -1 ; WX 278 ; N Icircumflex ; B 64 0 484 936 ; +C -1 ; WX 611 ; N ncaron ; B 65 0 641 750 ; +C -1 ; WX 333 ; N tcommaaccent ; B 58 -228 422 676 ; +C -1 ; WX 584 ; N logicalnot ; B 105 108 633 419 ; +C -1 ; WX 611 ; N odieresis ; B 82 -14 643 729 ; +C -1 ; WX 611 ; N udieresis ; B 98 -14 658 729 ; +C -1 ; WX 549 ; N notequal ; B 32 -49 630 570 ; +C -1 ; WX 611 ; N gcommaaccent ; B 38 -217 666 850 ; +C -1 ; WX 611 ; N eth ; B 82 -14 670 737 ; +C -1 ; WX 500 ; N zcaron ; B 20 0 586 750 ; +C -1 ; WX 611 ; N ncommaaccent ; B 65 -228 629 546 ; +C -1 ; WX 333 ; N onesuperior ; B 148 283 388 710 ; +C -1 ; WX 278 ; N imacron ; B 69 0 429 678 ; +C -1 ; WX 556 ; N Euro ; B 0 0 0 0 ; +EndCharMetrics +StartKernData +StartKernPairs 2481 +KPX A C -40 +KPX A Cacute -40 +KPX A Ccaron -40 +KPX A Ccedilla -40 +KPX A G -50 +KPX A Gbreve -50 +KPX A Gcommaaccent -50 +KPX A O -40 +KPX A Oacute -40 +KPX A Ocircumflex -40 +KPX A Odieresis -40 +KPX A Ograve -40 +KPX A Ohungarumlaut -40 +KPX A Omacron -40 +KPX A Oslash -40 +KPX A Otilde -40 +KPX A Q -40 +KPX A T -90 +KPX A Tcaron -90 +KPX A Tcommaaccent -90 +KPX A U -50 +KPX A Uacute -50 +KPX A Ucircumflex -50 +KPX A Udieresis -50 +KPX A Ugrave -50 +KPX A Uhungarumlaut -50 +KPX A Umacron -50 +KPX A Uogonek -50 +KPX A Uring -50 +KPX A V -80 +KPX A W -60 +KPX A Y -110 +KPX A Yacute -110 +KPX A Ydieresis -110 +KPX A u -30 +KPX A uacute -30 +KPX A ucircumflex -30 +KPX A udieresis -30 +KPX A ugrave -30 +KPX A uhungarumlaut -30 +KPX A umacron -30 +KPX A uogonek -30 +KPX A uring -30 +KPX A v -40 +KPX A w -30 +KPX A y -30 +KPX A yacute -30 +KPX A ydieresis -30 +KPX Aacute C -40 +KPX Aacute Cacute -40 +KPX Aacute Ccaron -40 +KPX Aacute Ccedilla -40 +KPX Aacute G -50 +KPX Aacute Gbreve -50 +KPX Aacute Gcommaaccent -50 +KPX Aacute O -40 +KPX Aacute Oacute -40 +KPX Aacute Ocircumflex -40 +KPX Aacute Odieresis -40 +KPX Aacute Ograve -40 +KPX Aacute Ohungarumlaut -40 +KPX Aacute Omacron -40 +KPX Aacute Oslash -40 +KPX Aacute Otilde -40 +KPX Aacute Q -40 +KPX Aacute T -90 +KPX Aacute Tcaron -90 +KPX Aacute Tcommaaccent -90 +KPX Aacute U -50 +KPX Aacute Uacute -50 +KPX Aacute Ucircumflex -50 +KPX Aacute Udieresis -50 +KPX Aacute Ugrave -50 +KPX Aacute Uhungarumlaut -50 +KPX Aacute Umacron -50 +KPX Aacute Uogonek -50 +KPX Aacute Uring -50 +KPX Aacute V -80 +KPX Aacute W -60 +KPX Aacute Y -110 +KPX Aacute Yacute -110 +KPX Aacute Ydieresis -110 +KPX Aacute u -30 +KPX Aacute uacute -30 +KPX Aacute ucircumflex -30 +KPX Aacute udieresis -30 +KPX Aacute ugrave -30 +KPX Aacute uhungarumlaut -30 +KPX Aacute umacron -30 +KPX Aacute uogonek -30 +KPX Aacute uring -30 +KPX Aacute v -40 +KPX Aacute w -30 +KPX Aacute y -30 +KPX Aacute yacute -30 +KPX Aacute ydieresis -30 +KPX Abreve C -40 +KPX Abreve Cacute -40 +KPX Abreve Ccaron -40 +KPX Abreve Ccedilla -40 +KPX Abreve G -50 +KPX Abreve Gbreve -50 +KPX Abreve Gcommaaccent -50 +KPX Abreve O -40 +KPX Abreve Oacute -40 +KPX Abreve Ocircumflex -40 +KPX Abreve Odieresis -40 +KPX Abreve Ograve -40 +KPX Abreve Ohungarumlaut -40 +KPX Abreve Omacron -40 +KPX Abreve Oslash -40 +KPX Abreve Otilde -40 +KPX Abreve Q -40 +KPX Abreve T -90 +KPX Abreve Tcaron -90 +KPX Abreve Tcommaaccent -90 +KPX Abreve U -50 +KPX Abreve Uacute -50 +KPX Abreve Ucircumflex -50 +KPX Abreve Udieresis -50 +KPX Abreve Ugrave -50 +KPX Abreve Uhungarumlaut -50 +KPX Abreve Umacron -50 +KPX Abreve Uogonek -50 +KPX Abreve Uring -50 +KPX Abreve V -80 +KPX Abreve W -60 +KPX Abreve Y -110 +KPX Abreve Yacute -110 +KPX Abreve Ydieresis -110 +KPX Abreve u -30 +KPX Abreve uacute -30 +KPX Abreve ucircumflex -30 +KPX Abreve udieresis -30 +KPX Abreve ugrave -30 +KPX Abreve uhungarumlaut -30 +KPX Abreve umacron -30 +KPX Abreve uogonek -30 +KPX Abreve uring -30 +KPX Abreve v -40 +KPX Abreve w -30 +KPX Abreve y -30 +KPX Abreve yacute -30 +KPX Abreve ydieresis -30 +KPX Acircumflex C -40 +KPX Acircumflex Cacute -40 +KPX Acircumflex Ccaron -40 +KPX Acircumflex Ccedilla -40 +KPX Acircumflex G -50 +KPX Acircumflex Gbreve -50 +KPX Acircumflex Gcommaaccent -50 +KPX Acircumflex O -40 +KPX Acircumflex Oacute -40 +KPX Acircumflex Ocircumflex -40 +KPX Acircumflex Odieresis -40 +KPX Acircumflex Ograve -40 +KPX Acircumflex Ohungarumlaut -40 +KPX Acircumflex Omacron -40 +KPX Acircumflex Oslash -40 +KPX Acircumflex Otilde -40 +KPX Acircumflex Q -40 +KPX Acircumflex T -90 +KPX Acircumflex Tcaron -90 +KPX Acircumflex Tcommaaccent -90 +KPX Acircumflex U -50 +KPX Acircumflex Uacute -50 +KPX Acircumflex Ucircumflex -50 +KPX Acircumflex Udieresis -50 +KPX Acircumflex Ugrave -50 +KPX Acircumflex Uhungarumlaut -50 +KPX Acircumflex Umacron -50 +KPX Acircumflex Uogonek -50 +KPX Acircumflex Uring -50 +KPX Acircumflex V -80 +KPX Acircumflex W -60 +KPX Acircumflex Y -110 +KPX Acircumflex Yacute -110 +KPX Acircumflex Ydieresis -110 +KPX Acircumflex u -30 +KPX Acircumflex uacute -30 +KPX Acircumflex ucircumflex -30 +KPX Acircumflex udieresis -30 +KPX Acircumflex ugrave -30 +KPX Acircumflex uhungarumlaut -30 +KPX Acircumflex umacron -30 +KPX Acircumflex uogonek -30 +KPX Acircumflex uring -30 +KPX Acircumflex v -40 +KPX Acircumflex w -30 +KPX Acircumflex y -30 +KPX Acircumflex yacute -30 +KPX Acircumflex ydieresis -30 +KPX Adieresis C -40 +KPX Adieresis Cacute -40 +KPX Adieresis Ccaron -40 +KPX Adieresis Ccedilla -40 +KPX Adieresis G -50 +KPX Adieresis Gbreve -50 +KPX Adieresis Gcommaaccent -50 +KPX Adieresis O -40 +KPX Adieresis Oacute -40 +KPX Adieresis Ocircumflex -40 +KPX Adieresis Odieresis -40 +KPX Adieresis Ograve -40 +KPX Adieresis Ohungarumlaut -40 +KPX Adieresis Omacron -40 +KPX Adieresis Oslash -40 +KPX Adieresis Otilde -40 +KPX Adieresis Q -40 +KPX Adieresis T -90 +KPX Adieresis Tcaron -90 +KPX Adieresis Tcommaaccent -90 +KPX Adieresis U -50 +KPX Adieresis Uacute -50 +KPX Adieresis Ucircumflex -50 +KPX Adieresis Udieresis -50 +KPX Adieresis Ugrave -50 +KPX Adieresis Uhungarumlaut -50 +KPX Adieresis Umacron -50 +KPX Adieresis Uogonek -50 +KPX Adieresis Uring -50 +KPX Adieresis V -80 +KPX Adieresis W -60 +KPX Adieresis Y -110 +KPX Adieresis Yacute -110 +KPX Adieresis Ydieresis -110 +KPX Adieresis u -30 +KPX Adieresis uacute -30 +KPX Adieresis ucircumflex -30 +KPX Adieresis udieresis -30 +KPX Adieresis ugrave -30 +KPX Adieresis uhungarumlaut -30 +KPX Adieresis umacron -30 +KPX Adieresis uogonek -30 +KPX Adieresis uring -30 +KPX Adieresis v -40 +KPX Adieresis w -30 +KPX Adieresis y -30 +KPX Adieresis yacute -30 +KPX Adieresis ydieresis -30 +KPX Agrave C -40 +KPX Agrave Cacute -40 +KPX Agrave Ccaron -40 +KPX Agrave Ccedilla -40 +KPX Agrave G -50 +KPX Agrave Gbreve -50 +KPX Agrave Gcommaaccent -50 +KPX Agrave O -40 +KPX Agrave Oacute -40 +KPX Agrave Ocircumflex -40 +KPX Agrave Odieresis -40 +KPX Agrave Ograve -40 +KPX Agrave Ohungarumlaut -40 +KPX Agrave Omacron -40 +KPX Agrave Oslash -40 +KPX Agrave Otilde -40 +KPX Agrave Q -40 +KPX Agrave T -90 +KPX Agrave Tcaron -90 +KPX Agrave Tcommaaccent -90 +KPX Agrave U -50 +KPX Agrave Uacute -50 +KPX Agrave Ucircumflex -50 +KPX Agrave Udieresis -50 +KPX Agrave Ugrave -50 +KPX Agrave Uhungarumlaut -50 +KPX Agrave Umacron -50 +KPX Agrave Uogonek -50 +KPX Agrave Uring -50 +KPX Agrave V -80 +KPX Agrave W -60 +KPX Agrave Y -110 +KPX Agrave Yacute -110 +KPX Agrave Ydieresis -110 +KPX Agrave u -30 +KPX Agrave uacute -30 +KPX Agrave ucircumflex -30 +KPX Agrave udieresis -30 +KPX Agrave ugrave -30 +KPX Agrave uhungarumlaut -30 +KPX Agrave umacron -30 +KPX Agrave uogonek -30 +KPX Agrave uring -30 +KPX Agrave v -40 +KPX Agrave w -30 +KPX Agrave y -30 +KPX Agrave yacute -30 +KPX Agrave ydieresis -30 +KPX Amacron C -40 +KPX Amacron Cacute -40 +KPX Amacron Ccaron -40 +KPX Amacron Ccedilla -40 +KPX Amacron G -50 +KPX Amacron Gbreve -50 +KPX Amacron Gcommaaccent -50 +KPX Amacron O -40 +KPX Amacron Oacute -40 +KPX Amacron Ocircumflex -40 +KPX Amacron Odieresis -40 +KPX Amacron Ograve -40 +KPX Amacron Ohungarumlaut -40 +KPX Amacron Omacron -40 +KPX Amacron Oslash -40 +KPX Amacron Otilde -40 +KPX Amacron Q -40 +KPX Amacron T -90 +KPX Amacron Tcaron -90 +KPX Amacron Tcommaaccent -90 +KPX Amacron U -50 +KPX Amacron Uacute -50 +KPX Amacron Ucircumflex -50 +KPX Amacron Udieresis -50 +KPX Amacron Ugrave -50 +KPX Amacron Uhungarumlaut -50 +KPX Amacron Umacron -50 +KPX Amacron Uogonek -50 +KPX Amacron Uring -50 +KPX Amacron V -80 +KPX Amacron W -60 +KPX Amacron Y -110 +KPX Amacron Yacute -110 +KPX Amacron Ydieresis -110 +KPX Amacron u -30 +KPX Amacron uacute -30 +KPX Amacron ucircumflex -30 +KPX Amacron udieresis -30 +KPX Amacron ugrave -30 +KPX Amacron uhungarumlaut -30 +KPX Amacron umacron -30 +KPX Amacron uogonek -30 +KPX Amacron uring -30 +KPX Amacron v -40 +KPX Amacron w -30 +KPX Amacron y -30 +KPX Amacron yacute -30 +KPX Amacron ydieresis -30 +KPX Aogonek C -40 +KPX Aogonek Cacute -40 +KPX Aogonek Ccaron -40 +KPX Aogonek Ccedilla -40 +KPX Aogonek G -50 +KPX Aogonek Gbreve -50 +KPX Aogonek Gcommaaccent -50 +KPX Aogonek O -40 +KPX Aogonek Oacute -40 +KPX Aogonek Ocircumflex -40 +KPX Aogonek Odieresis -40 +KPX Aogonek Ograve -40 +KPX Aogonek Ohungarumlaut -40 +KPX Aogonek Omacron -40 +KPX Aogonek Oslash -40 +KPX Aogonek Otilde -40 +KPX Aogonek Q -40 +KPX Aogonek T -90 +KPX Aogonek Tcaron -90 +KPX Aogonek Tcommaaccent -90 +KPX Aogonek U -50 +KPX Aogonek Uacute -50 +KPX Aogonek Ucircumflex -50 +KPX Aogonek Udieresis -50 +KPX Aogonek Ugrave -50 +KPX Aogonek Uhungarumlaut -50 +KPX Aogonek Umacron -50 +KPX Aogonek Uogonek -50 +KPX Aogonek Uring -50 +KPX Aogonek V -80 +KPX Aogonek W -60 +KPX Aogonek Y -110 +KPX Aogonek Yacute -110 +KPX Aogonek Ydieresis -110 +KPX Aogonek u -30 +KPX Aogonek uacute -30 +KPX Aogonek ucircumflex -30 +KPX Aogonek udieresis -30 +KPX Aogonek ugrave -30 +KPX Aogonek uhungarumlaut -30 +KPX Aogonek umacron -30 +KPX Aogonek uogonek -30 +KPX Aogonek uring -30 +KPX Aogonek v -40 +KPX Aogonek w -30 +KPX Aogonek y -30 +KPX Aogonek yacute -30 +KPX Aogonek ydieresis -30 +KPX Aring C -40 +KPX Aring Cacute -40 +KPX Aring Ccaron -40 +KPX Aring Ccedilla -40 +KPX Aring G -50 +KPX Aring Gbreve -50 +KPX Aring Gcommaaccent -50 +KPX Aring O -40 +KPX Aring Oacute -40 +KPX Aring Ocircumflex -40 +KPX Aring Odieresis -40 +KPX Aring Ograve -40 +KPX Aring Ohungarumlaut -40 +KPX Aring Omacron -40 +KPX Aring Oslash -40 +KPX Aring Otilde -40 +KPX Aring Q -40 +KPX Aring T -90 +KPX Aring Tcaron -90 +KPX Aring Tcommaaccent -90 +KPX Aring U -50 +KPX Aring Uacute -50 +KPX Aring Ucircumflex -50 +KPX Aring Udieresis -50 +KPX Aring Ugrave -50 +KPX Aring Uhungarumlaut -50 +KPX Aring Umacron -50 +KPX Aring Uogonek -50 +KPX Aring Uring -50 +KPX Aring V -80 +KPX Aring W -60 +KPX Aring Y -110 +KPX Aring Yacute -110 +KPX Aring Ydieresis -110 +KPX Aring u -30 +KPX Aring uacute -30 +KPX Aring ucircumflex -30 +KPX Aring udieresis -30 +KPX Aring ugrave -30 +KPX Aring uhungarumlaut -30 +KPX Aring umacron -30 +KPX Aring uogonek -30 +KPX Aring uring -30 +KPX Aring v -40 +KPX Aring w -30 +KPX Aring y -30 +KPX Aring yacute -30 +KPX Aring ydieresis -30 +KPX Atilde C -40 +KPX Atilde Cacute -40 +KPX Atilde Ccaron -40 +KPX Atilde Ccedilla -40 +KPX Atilde G -50 +KPX Atilde Gbreve -50 +KPX Atilde Gcommaaccent -50 +KPX Atilde O -40 +KPX Atilde Oacute -40 +KPX Atilde Ocircumflex -40 +KPX Atilde Odieresis -40 +KPX Atilde Ograve -40 +KPX Atilde Ohungarumlaut -40 +KPX Atilde Omacron -40 +KPX Atilde Oslash -40 +KPX Atilde Otilde -40 +KPX Atilde Q -40 +KPX Atilde T -90 +KPX Atilde Tcaron -90 +KPX Atilde Tcommaaccent -90 +KPX Atilde U -50 +KPX Atilde Uacute -50 +KPX Atilde Ucircumflex -50 +KPX Atilde Udieresis -50 +KPX Atilde Ugrave -50 +KPX Atilde Uhungarumlaut -50 +KPX Atilde Umacron -50 +KPX Atilde Uogonek -50 +KPX Atilde Uring -50 +KPX Atilde V -80 +KPX Atilde W -60 +KPX Atilde Y -110 +KPX Atilde Yacute -110 +KPX Atilde Ydieresis -110 +KPX Atilde u -30 +KPX Atilde uacute -30 +KPX Atilde ucircumflex -30 +KPX Atilde udieresis -30 +KPX Atilde ugrave -30 +KPX Atilde uhungarumlaut -30 +KPX Atilde umacron -30 +KPX Atilde uogonek -30 +KPX Atilde uring -30 +KPX Atilde v -40 +KPX Atilde w -30 +KPX Atilde y -30 +KPX Atilde yacute -30 +KPX Atilde ydieresis -30 +KPX B A -30 +KPX B Aacute -30 +KPX B Abreve -30 +KPX B Acircumflex -30 +KPX B Adieresis -30 +KPX B Agrave -30 +KPX B Amacron -30 +KPX B Aogonek -30 +KPX B Aring -30 +KPX B Atilde -30 +KPX B U -10 +KPX B Uacute -10 +KPX B Ucircumflex -10 +KPX B Udieresis -10 +KPX B Ugrave -10 +KPX B Uhungarumlaut -10 +KPX B Umacron -10 +KPX B Uogonek -10 +KPX B Uring -10 +KPX D A -40 +KPX D Aacute -40 +KPX D Abreve -40 +KPX D Acircumflex -40 +KPX D Adieresis -40 +KPX D Agrave -40 +KPX D Amacron -40 +KPX D Aogonek -40 +KPX D Aring -40 +KPX D Atilde -40 +KPX D V -40 +KPX D W -40 +KPX D Y -70 +KPX D Yacute -70 +KPX D Ydieresis -70 +KPX D comma -30 +KPX D period -30 +KPX Dcaron A -40 +KPX Dcaron Aacute -40 +KPX Dcaron Abreve -40 +KPX Dcaron Acircumflex -40 +KPX Dcaron Adieresis -40 +KPX Dcaron Agrave -40 +KPX Dcaron Amacron -40 +KPX Dcaron Aogonek -40 +KPX Dcaron Aring -40 +KPX Dcaron Atilde -40 +KPX Dcaron V -40 +KPX Dcaron W -40 +KPX Dcaron Y -70 +KPX Dcaron Yacute -70 +KPX Dcaron Ydieresis -70 +KPX Dcaron comma -30 +KPX Dcaron period -30 +KPX Dcroat A -40 +KPX Dcroat Aacute -40 +KPX Dcroat Abreve -40 +KPX Dcroat Acircumflex -40 +KPX Dcroat Adieresis -40 +KPX Dcroat Agrave -40 +KPX Dcroat Amacron -40 +KPX Dcroat Aogonek -40 +KPX Dcroat Aring -40 +KPX Dcroat Atilde -40 +KPX Dcroat V -40 +KPX Dcroat W -40 +KPX Dcroat Y -70 +KPX Dcroat Yacute -70 +KPX Dcroat Ydieresis -70 +KPX Dcroat comma -30 +KPX Dcroat period -30 +KPX F A -80 +KPX F Aacute -80 +KPX F Abreve -80 +KPX F Acircumflex -80 +KPX F Adieresis -80 +KPX F Agrave -80 +KPX F Amacron -80 +KPX F Aogonek -80 +KPX F Aring -80 +KPX F Atilde -80 +KPX F a -20 +KPX F aacute -20 +KPX F abreve -20 +KPX F acircumflex -20 +KPX F adieresis -20 +KPX F agrave -20 +KPX F amacron -20 +KPX F aogonek -20 +KPX F aring -20 +KPX F atilde -20 +KPX F comma -100 +KPX F period -100 +KPX J A -20 +KPX J Aacute -20 +KPX J Abreve -20 +KPX J Acircumflex -20 +KPX J Adieresis -20 +KPX J Agrave -20 +KPX J Amacron -20 +KPX J Aogonek -20 +KPX J Aring -20 +KPX J Atilde -20 +KPX J comma -20 +KPX J period -20 +KPX J u -20 +KPX J uacute -20 +KPX J ucircumflex -20 +KPX J udieresis -20 +KPX J ugrave -20 +KPX J uhungarumlaut -20 +KPX J umacron -20 +KPX J uogonek -20 +KPX J uring -20 +KPX K O -30 +KPX K Oacute -30 +KPX K Ocircumflex -30 +KPX K Odieresis -30 +KPX K Ograve -30 +KPX K Ohungarumlaut -30 +KPX K Omacron -30 +KPX K Oslash -30 +KPX K Otilde -30 +KPX K e -15 +KPX K eacute -15 +KPX K ecaron -15 +KPX K ecircumflex -15 +KPX K edieresis -15 +KPX K edotaccent -15 +KPX K egrave -15 +KPX K emacron -15 +KPX K eogonek -15 +KPX K o -35 +KPX K oacute -35 +KPX K ocircumflex -35 +KPX K odieresis -35 +KPX K ograve -35 +KPX K ohungarumlaut -35 +KPX K omacron -35 +KPX K oslash -35 +KPX K otilde -35 +KPX K u -30 +KPX K uacute -30 +KPX K ucircumflex -30 +KPX K udieresis -30 +KPX K ugrave -30 +KPX K uhungarumlaut -30 +KPX K umacron -30 +KPX K uogonek -30 +KPX K uring -30 +KPX K y -40 +KPX K yacute -40 +KPX K ydieresis -40 +KPX Kcommaaccent O -30 +KPX Kcommaaccent Oacute -30 +KPX Kcommaaccent Ocircumflex -30 +KPX Kcommaaccent Odieresis -30 +KPX Kcommaaccent Ograve -30 +KPX Kcommaaccent Ohungarumlaut -30 +KPX Kcommaaccent Omacron -30 +KPX Kcommaaccent Oslash -30 +KPX Kcommaaccent Otilde -30 +KPX Kcommaaccent e -15 +KPX Kcommaaccent eacute -15 +KPX Kcommaaccent ecaron -15 +KPX Kcommaaccent ecircumflex -15 +KPX Kcommaaccent edieresis -15 +KPX Kcommaaccent edotaccent -15 +KPX Kcommaaccent egrave -15 +KPX Kcommaaccent emacron -15 +KPX Kcommaaccent eogonek -15 +KPX Kcommaaccent o -35 +KPX Kcommaaccent oacute -35 +KPX Kcommaaccent ocircumflex -35 +KPX Kcommaaccent odieresis -35 +KPX Kcommaaccent ograve -35 +KPX Kcommaaccent ohungarumlaut -35 +KPX Kcommaaccent omacron -35 +KPX Kcommaaccent oslash -35 +KPX Kcommaaccent otilde -35 +KPX Kcommaaccent u -30 +KPX Kcommaaccent uacute -30 +KPX Kcommaaccent ucircumflex -30 +KPX Kcommaaccent udieresis -30 +KPX Kcommaaccent ugrave -30 +KPX Kcommaaccent uhungarumlaut -30 +KPX Kcommaaccent umacron -30 +KPX Kcommaaccent uogonek -30 +KPX Kcommaaccent uring -30 +KPX Kcommaaccent y -40 +KPX Kcommaaccent yacute -40 +KPX Kcommaaccent ydieresis -40 +KPX L T -90 +KPX L Tcaron -90 +KPX L Tcommaaccent -90 +KPX L V -110 +KPX L W -80 +KPX L Y -120 +KPX L Yacute -120 +KPX L Ydieresis -120 +KPX L quotedblright -140 +KPX L quoteright -140 +KPX L y -30 +KPX L yacute -30 +KPX L ydieresis -30 +KPX Lacute T -90 +KPX Lacute Tcaron -90 +KPX Lacute Tcommaaccent -90 +KPX Lacute V -110 +KPX Lacute W -80 +KPX Lacute Y -120 +KPX Lacute Yacute -120 +KPX Lacute Ydieresis -120 +KPX Lacute quotedblright -140 +KPX Lacute quoteright -140 +KPX Lacute y -30 +KPX Lacute yacute -30 +KPX Lacute ydieresis -30 +KPX Lcommaaccent T -90 +KPX Lcommaaccent Tcaron -90 +KPX Lcommaaccent Tcommaaccent -90 +KPX Lcommaaccent V -110 +KPX Lcommaaccent W -80 +KPX Lcommaaccent Y -120 +KPX Lcommaaccent Yacute -120 +KPX Lcommaaccent Ydieresis -120 +KPX Lcommaaccent quotedblright -140 +KPX Lcommaaccent quoteright -140 +KPX Lcommaaccent y -30 +KPX Lcommaaccent yacute -30 +KPX Lcommaaccent ydieresis -30 +KPX Lslash T -90 +KPX Lslash Tcaron -90 +KPX Lslash Tcommaaccent -90 +KPX Lslash V -110 +KPX Lslash W -80 +KPX Lslash Y -120 +KPX Lslash Yacute -120 +KPX Lslash Ydieresis -120 +KPX Lslash quotedblright -140 +KPX Lslash quoteright -140 +KPX Lslash y -30 +KPX Lslash yacute -30 +KPX Lslash ydieresis -30 +KPX O A -50 +KPX O Aacute -50 +KPX O Abreve -50 +KPX O Acircumflex -50 +KPX O Adieresis -50 +KPX O Agrave -50 +KPX O Amacron -50 +KPX O Aogonek -50 +KPX O Aring -50 +KPX O Atilde -50 +KPX O T -40 +KPX O Tcaron -40 +KPX O Tcommaaccent -40 +KPX O V -50 +KPX O W -50 +KPX O X -50 +KPX O Y -70 +KPX O Yacute -70 +KPX O Ydieresis -70 +KPX O comma -40 +KPX O period -40 +KPX Oacute A -50 +KPX Oacute Aacute -50 +KPX Oacute Abreve -50 +KPX Oacute Acircumflex -50 +KPX Oacute Adieresis -50 +KPX Oacute Agrave -50 +KPX Oacute Amacron -50 +KPX Oacute Aogonek -50 +KPX Oacute Aring -50 +KPX Oacute Atilde -50 +KPX Oacute T -40 +KPX Oacute Tcaron -40 +KPX Oacute Tcommaaccent -40 +KPX Oacute V -50 +KPX Oacute W -50 +KPX Oacute X -50 +KPX Oacute Y -70 +KPX Oacute Yacute -70 +KPX Oacute Ydieresis -70 +KPX Oacute comma -40 +KPX Oacute period -40 +KPX Ocircumflex A -50 +KPX Ocircumflex Aacute -50 +KPX Ocircumflex Abreve -50 +KPX Ocircumflex Acircumflex -50 +KPX Ocircumflex Adieresis -50 +KPX Ocircumflex Agrave -50 +KPX Ocircumflex Amacron -50 +KPX Ocircumflex Aogonek -50 +KPX Ocircumflex Aring -50 +KPX Ocircumflex Atilde -50 +KPX Ocircumflex T -40 +KPX Ocircumflex Tcaron -40 +KPX Ocircumflex Tcommaaccent -40 +KPX Ocircumflex V -50 +KPX Ocircumflex W -50 +KPX Ocircumflex X -50 +KPX Ocircumflex Y -70 +KPX Ocircumflex Yacute -70 +KPX Ocircumflex Ydieresis -70 +KPX Ocircumflex comma -40 +KPX Ocircumflex period -40 +KPX Odieresis A -50 +KPX Odieresis Aacute -50 +KPX Odieresis Abreve -50 +KPX Odieresis Acircumflex -50 +KPX Odieresis Adieresis -50 +KPX Odieresis Agrave -50 +KPX Odieresis Amacron -50 +KPX Odieresis Aogonek -50 +KPX Odieresis Aring -50 +KPX Odieresis Atilde -50 +KPX Odieresis T -40 +KPX Odieresis Tcaron -40 +KPX Odieresis Tcommaaccent -40 +KPX Odieresis V -50 +KPX Odieresis W -50 +KPX Odieresis X -50 +KPX Odieresis Y -70 +KPX Odieresis Yacute -70 +KPX Odieresis Ydieresis -70 +KPX Odieresis comma -40 +KPX Odieresis period -40 +KPX Ograve A -50 +KPX Ograve Aacute -50 +KPX Ograve Abreve -50 +KPX Ograve Acircumflex -50 +KPX Ograve Adieresis -50 +KPX Ograve Agrave -50 +KPX Ograve Amacron -50 +KPX Ograve Aogonek -50 +KPX Ograve Aring -50 +KPX Ograve Atilde -50 +KPX Ograve T -40 +KPX Ograve Tcaron -40 +KPX Ograve Tcommaaccent -40 +KPX Ograve V -50 +KPX Ograve W -50 +KPX Ograve X -50 +KPX Ograve Y -70 +KPX Ograve Yacute -70 +KPX Ograve Ydieresis -70 +KPX Ograve comma -40 +KPX Ograve period -40 +KPX Ohungarumlaut A -50 +KPX Ohungarumlaut Aacute -50 +KPX Ohungarumlaut Abreve -50 +KPX Ohungarumlaut Acircumflex -50 +KPX Ohungarumlaut Adieresis -50 +KPX Ohungarumlaut Agrave -50 +KPX Ohungarumlaut Amacron -50 +KPX Ohungarumlaut Aogonek -50 +KPX Ohungarumlaut Aring -50 +KPX Ohungarumlaut Atilde -50 +KPX Ohungarumlaut T -40 +KPX Ohungarumlaut Tcaron -40 +KPX Ohungarumlaut Tcommaaccent -40 +KPX Ohungarumlaut V -50 +KPX Ohungarumlaut W -50 +KPX Ohungarumlaut X -50 +KPX Ohungarumlaut Y -70 +KPX Ohungarumlaut Yacute -70 +KPX Ohungarumlaut Ydieresis -70 +KPX Ohungarumlaut comma -40 +KPX Ohungarumlaut period -40 +KPX Omacron A -50 +KPX Omacron Aacute -50 +KPX Omacron Abreve -50 +KPX Omacron Acircumflex -50 +KPX Omacron Adieresis -50 +KPX Omacron Agrave -50 +KPX Omacron Amacron -50 +KPX Omacron Aogonek -50 +KPX Omacron Aring -50 +KPX Omacron Atilde -50 +KPX Omacron T -40 +KPX Omacron Tcaron -40 +KPX Omacron Tcommaaccent -40 +KPX Omacron V -50 +KPX Omacron W -50 +KPX Omacron X -50 +KPX Omacron Y -70 +KPX Omacron Yacute -70 +KPX Omacron Ydieresis -70 +KPX Omacron comma -40 +KPX Omacron period -40 +KPX Oslash A -50 +KPX Oslash Aacute -50 +KPX Oslash Abreve -50 +KPX Oslash Acircumflex -50 +KPX Oslash Adieresis -50 +KPX Oslash Agrave -50 +KPX Oslash Amacron -50 +KPX Oslash Aogonek -50 +KPX Oslash Aring -50 +KPX Oslash Atilde -50 +KPX Oslash T -40 +KPX Oslash Tcaron -40 +KPX Oslash Tcommaaccent -40 +KPX Oslash V -50 +KPX Oslash W -50 +KPX Oslash X -50 +KPX Oslash Y -70 +KPX Oslash Yacute -70 +KPX Oslash Ydieresis -70 +KPX Oslash comma -40 +KPX Oslash period -40 +KPX Otilde A -50 +KPX Otilde Aacute -50 +KPX Otilde Abreve -50 +KPX Otilde Acircumflex -50 +KPX Otilde Adieresis -50 +KPX Otilde Agrave -50 +KPX Otilde Amacron -50 +KPX Otilde Aogonek -50 +KPX Otilde Aring -50 +KPX Otilde Atilde -50 +KPX Otilde T -40 +KPX Otilde Tcaron -40 +KPX Otilde Tcommaaccent -40 +KPX Otilde V -50 +KPX Otilde W -50 +KPX Otilde X -50 +KPX Otilde Y -70 +KPX Otilde Yacute -70 +KPX Otilde Ydieresis -70 +KPX Otilde comma -40 +KPX Otilde period -40 +KPX P A -100 +KPX P Aacute -100 +KPX P Abreve -100 +KPX P Acircumflex -100 +KPX P Adieresis -100 +KPX P Agrave -100 +KPX P Amacron -100 +KPX P Aogonek -100 +KPX P Aring -100 +KPX P Atilde -100 +KPX P a -30 +KPX P aacute -30 +KPX P abreve -30 +KPX P acircumflex -30 +KPX P adieresis -30 +KPX P agrave -30 +KPX P amacron -30 +KPX P aogonek -30 +KPX P aring -30 +KPX P atilde -30 +KPX P comma -120 +KPX P e -30 +KPX P eacute -30 +KPX P ecaron -30 +KPX P ecircumflex -30 +KPX P edieresis -30 +KPX P edotaccent -30 +KPX P egrave -30 +KPX P emacron -30 +KPX P eogonek -30 +KPX P o -40 +KPX P oacute -40 +KPX P ocircumflex -40 +KPX P odieresis -40 +KPX P ograve -40 +KPX P ohungarumlaut -40 +KPX P omacron -40 +KPX P oslash -40 +KPX P otilde -40 +KPX P period -120 +KPX Q U -10 +KPX Q Uacute -10 +KPX Q Ucircumflex -10 +KPX Q Udieresis -10 +KPX Q Ugrave -10 +KPX Q Uhungarumlaut -10 +KPX Q Umacron -10 +KPX Q Uogonek -10 +KPX Q Uring -10 +KPX Q comma 20 +KPX Q period 20 +KPX R O -20 +KPX R Oacute -20 +KPX R Ocircumflex -20 +KPX R Odieresis -20 +KPX R Ograve -20 +KPX R Ohungarumlaut -20 +KPX R Omacron -20 +KPX R Oslash -20 +KPX R Otilde -20 +KPX R T -20 +KPX R Tcaron -20 +KPX R Tcommaaccent -20 +KPX R U -20 +KPX R Uacute -20 +KPX R Ucircumflex -20 +KPX R Udieresis -20 +KPX R Ugrave -20 +KPX R Uhungarumlaut -20 +KPX R Umacron -20 +KPX R Uogonek -20 +KPX R Uring -20 +KPX R V -50 +KPX R W -40 +KPX R Y -50 +KPX R Yacute -50 +KPX R Ydieresis -50 +KPX Racute O -20 +KPX Racute Oacute -20 +KPX Racute Ocircumflex -20 +KPX Racute Odieresis -20 +KPX Racute Ograve -20 +KPX Racute Ohungarumlaut -20 +KPX Racute Omacron -20 +KPX Racute Oslash -20 +KPX Racute Otilde -20 +KPX Racute T -20 +KPX Racute Tcaron -20 +KPX Racute Tcommaaccent -20 +KPX Racute U -20 +KPX Racute Uacute -20 +KPX Racute Ucircumflex -20 +KPX Racute Udieresis -20 +KPX Racute Ugrave -20 +KPX Racute Uhungarumlaut -20 +KPX Racute Umacron -20 +KPX Racute Uogonek -20 +KPX Racute Uring -20 +KPX Racute V -50 +KPX Racute W -40 +KPX Racute Y -50 +KPX Racute Yacute -50 +KPX Racute Ydieresis -50 +KPX Rcaron O -20 +KPX Rcaron Oacute -20 +KPX Rcaron Ocircumflex -20 +KPX Rcaron Odieresis -20 +KPX Rcaron Ograve -20 +KPX Rcaron Ohungarumlaut -20 +KPX Rcaron Omacron -20 +KPX Rcaron Oslash -20 +KPX Rcaron Otilde -20 +KPX Rcaron T -20 +KPX Rcaron Tcaron -20 +KPX Rcaron Tcommaaccent -20 +KPX Rcaron U -20 +KPX Rcaron Uacute -20 +KPX Rcaron Ucircumflex -20 +KPX Rcaron Udieresis -20 +KPX Rcaron Ugrave -20 +KPX Rcaron Uhungarumlaut -20 +KPX Rcaron Umacron -20 +KPX Rcaron Uogonek -20 +KPX Rcaron Uring -20 +KPX Rcaron V -50 +KPX Rcaron W -40 +KPX Rcaron Y -50 +KPX Rcaron Yacute -50 +KPX Rcaron Ydieresis -50 +KPX Rcommaaccent O -20 +KPX Rcommaaccent Oacute -20 +KPX Rcommaaccent Ocircumflex -20 +KPX Rcommaaccent Odieresis -20 +KPX Rcommaaccent Ograve -20 +KPX Rcommaaccent Ohungarumlaut -20 +KPX Rcommaaccent Omacron -20 +KPX Rcommaaccent Oslash -20 +KPX Rcommaaccent Otilde -20 +KPX Rcommaaccent T -20 +KPX Rcommaaccent Tcaron -20 +KPX Rcommaaccent Tcommaaccent -20 +KPX Rcommaaccent U -20 +KPX Rcommaaccent Uacute -20 +KPX Rcommaaccent Ucircumflex -20 +KPX Rcommaaccent Udieresis -20 +KPX Rcommaaccent Ugrave -20 +KPX Rcommaaccent Uhungarumlaut -20 +KPX Rcommaaccent Umacron -20 +KPX Rcommaaccent Uogonek -20 +KPX Rcommaaccent Uring -20 +KPX Rcommaaccent V -50 +KPX Rcommaaccent W -40 +KPX Rcommaaccent Y -50 +KPX Rcommaaccent Yacute -50 +KPX Rcommaaccent Ydieresis -50 +KPX T A -90 +KPX T Aacute -90 +KPX T Abreve -90 +KPX T Acircumflex -90 +KPX T Adieresis -90 +KPX T Agrave -90 +KPX T Amacron -90 +KPX T Aogonek -90 +KPX T Aring -90 +KPX T Atilde -90 +KPX T O -40 +KPX T Oacute -40 +KPX T Ocircumflex -40 +KPX T Odieresis -40 +KPX T Ograve -40 +KPX T Ohungarumlaut -40 +KPX T Omacron -40 +KPX T Oslash -40 +KPX T Otilde -40 +KPX T a -80 +KPX T aacute -80 +KPX T abreve -80 +KPX T acircumflex -80 +KPX T adieresis -80 +KPX T agrave -80 +KPX T amacron -80 +KPX T aogonek -80 +KPX T aring -80 +KPX T atilde -80 +KPX T colon -40 +KPX T comma -80 +KPX T e -60 +KPX T eacute -60 +KPX T ecaron -60 +KPX T ecircumflex -60 +KPX T edieresis -60 +KPX T edotaccent -60 +KPX T egrave -60 +KPX T emacron -60 +KPX T eogonek -60 +KPX T hyphen -120 +KPX T o -80 +KPX T oacute -80 +KPX T ocircumflex -80 +KPX T odieresis -80 +KPX T ograve -80 +KPX T ohungarumlaut -80 +KPX T omacron -80 +KPX T oslash -80 +KPX T otilde -80 +KPX T period -80 +KPX T r -80 +KPX T racute -80 +KPX T rcommaaccent -80 +KPX T semicolon -40 +KPX T u -90 +KPX T uacute -90 +KPX T ucircumflex -90 +KPX T udieresis -90 +KPX T ugrave -90 +KPX T uhungarumlaut -90 +KPX T umacron -90 +KPX T uogonek -90 +KPX T uring -90 +KPX T w -60 +KPX T y -60 +KPX T yacute -60 +KPX T ydieresis -60 +KPX Tcaron A -90 +KPX Tcaron Aacute -90 +KPX Tcaron Abreve -90 +KPX Tcaron Acircumflex -90 +KPX Tcaron Adieresis -90 +KPX Tcaron Agrave -90 +KPX Tcaron Amacron -90 +KPX Tcaron Aogonek -90 +KPX Tcaron Aring -90 +KPX Tcaron Atilde -90 +KPX Tcaron O -40 +KPX Tcaron Oacute -40 +KPX Tcaron Ocircumflex -40 +KPX Tcaron Odieresis -40 +KPX Tcaron Ograve -40 +KPX Tcaron Ohungarumlaut -40 +KPX Tcaron Omacron -40 +KPX Tcaron Oslash -40 +KPX Tcaron Otilde -40 +KPX Tcaron a -80 +KPX Tcaron aacute -80 +KPX Tcaron abreve -80 +KPX Tcaron acircumflex -80 +KPX Tcaron adieresis -80 +KPX Tcaron agrave -80 +KPX Tcaron amacron -80 +KPX Tcaron aogonek -80 +KPX Tcaron aring -80 +KPX Tcaron atilde -80 +KPX Tcaron colon -40 +KPX Tcaron comma -80 +KPX Tcaron e -60 +KPX Tcaron eacute -60 +KPX Tcaron ecaron -60 +KPX Tcaron ecircumflex -60 +KPX Tcaron edieresis -60 +KPX Tcaron edotaccent -60 +KPX Tcaron egrave -60 +KPX Tcaron emacron -60 +KPX Tcaron eogonek -60 +KPX Tcaron hyphen -120 +KPX Tcaron o -80 +KPX Tcaron oacute -80 +KPX Tcaron ocircumflex -80 +KPX Tcaron odieresis -80 +KPX Tcaron ograve -80 +KPX Tcaron ohungarumlaut -80 +KPX Tcaron omacron -80 +KPX Tcaron oslash -80 +KPX Tcaron otilde -80 +KPX Tcaron period -80 +KPX Tcaron r -80 +KPX Tcaron racute -80 +KPX Tcaron rcommaaccent -80 +KPX Tcaron semicolon -40 +KPX Tcaron u -90 +KPX Tcaron uacute -90 +KPX Tcaron ucircumflex -90 +KPX Tcaron udieresis -90 +KPX Tcaron ugrave -90 +KPX Tcaron uhungarumlaut -90 +KPX Tcaron umacron -90 +KPX Tcaron uogonek -90 +KPX Tcaron uring -90 +KPX Tcaron w -60 +KPX Tcaron y -60 +KPX Tcaron yacute -60 +KPX Tcaron ydieresis -60 +KPX Tcommaaccent A -90 +KPX Tcommaaccent Aacute -90 +KPX Tcommaaccent Abreve -90 +KPX Tcommaaccent Acircumflex -90 +KPX Tcommaaccent Adieresis -90 +KPX Tcommaaccent Agrave -90 +KPX Tcommaaccent Amacron -90 +KPX Tcommaaccent Aogonek -90 +KPX Tcommaaccent Aring -90 +KPX Tcommaaccent Atilde -90 +KPX Tcommaaccent O -40 +KPX Tcommaaccent Oacute -40 +KPX Tcommaaccent Ocircumflex -40 +KPX Tcommaaccent Odieresis -40 +KPX Tcommaaccent Ograve -40 +KPX Tcommaaccent Ohungarumlaut -40 +KPX Tcommaaccent Omacron -40 +KPX Tcommaaccent Oslash -40 +KPX Tcommaaccent Otilde -40 +KPX Tcommaaccent a -80 +KPX Tcommaaccent aacute -80 +KPX Tcommaaccent abreve -80 +KPX Tcommaaccent acircumflex -80 +KPX Tcommaaccent adieresis -80 +KPX Tcommaaccent agrave -80 +KPX Tcommaaccent amacron -80 +KPX Tcommaaccent aogonek -80 +KPX Tcommaaccent aring -80 +KPX Tcommaaccent atilde -80 +KPX Tcommaaccent colon -40 +KPX Tcommaaccent comma -80 +KPX Tcommaaccent e -60 +KPX Tcommaaccent eacute -60 +KPX Tcommaaccent ecaron -60 +KPX Tcommaaccent ecircumflex -60 +KPX Tcommaaccent edieresis -60 +KPX Tcommaaccent edotaccent -60 +KPX Tcommaaccent egrave -60 +KPX Tcommaaccent emacron -60 +KPX Tcommaaccent eogonek -60 +KPX Tcommaaccent hyphen -120 +KPX Tcommaaccent o -80 +KPX Tcommaaccent oacute -80 +KPX Tcommaaccent ocircumflex -80 +KPX Tcommaaccent odieresis -80 +KPX Tcommaaccent ograve -80 +KPX Tcommaaccent ohungarumlaut -80 +KPX Tcommaaccent omacron -80 +KPX Tcommaaccent oslash -80 +KPX Tcommaaccent otilde -80 +KPX Tcommaaccent period -80 +KPX Tcommaaccent r -80 +KPX Tcommaaccent racute -80 +KPX Tcommaaccent rcommaaccent -80 +KPX Tcommaaccent semicolon -40 +KPX Tcommaaccent u -90 +KPX Tcommaaccent uacute -90 +KPX Tcommaaccent ucircumflex -90 +KPX Tcommaaccent udieresis -90 +KPX Tcommaaccent ugrave -90 +KPX Tcommaaccent uhungarumlaut -90 +KPX Tcommaaccent umacron -90 +KPX Tcommaaccent uogonek -90 +KPX Tcommaaccent uring -90 +KPX Tcommaaccent w -60 +KPX Tcommaaccent y -60 +KPX Tcommaaccent yacute -60 +KPX Tcommaaccent ydieresis -60 +KPX U A -50 +KPX U Aacute -50 +KPX U Abreve -50 +KPX U Acircumflex -50 +KPX U Adieresis -50 +KPX U Agrave -50 +KPX U Amacron -50 +KPX U Aogonek -50 +KPX U Aring -50 +KPX U Atilde -50 +KPX U comma -30 +KPX U period -30 +KPX Uacute A -50 +KPX Uacute Aacute -50 +KPX Uacute Abreve -50 +KPX Uacute Acircumflex -50 +KPX Uacute Adieresis -50 +KPX Uacute Agrave -50 +KPX Uacute Amacron -50 +KPX Uacute Aogonek -50 +KPX Uacute Aring -50 +KPX Uacute Atilde -50 +KPX Uacute comma -30 +KPX Uacute period -30 +KPX Ucircumflex A -50 +KPX Ucircumflex Aacute -50 +KPX Ucircumflex Abreve -50 +KPX Ucircumflex Acircumflex -50 +KPX Ucircumflex Adieresis -50 +KPX Ucircumflex Agrave -50 +KPX Ucircumflex Amacron -50 +KPX Ucircumflex Aogonek -50 +KPX Ucircumflex Aring -50 +KPX Ucircumflex Atilde -50 +KPX Ucircumflex comma -30 +KPX Ucircumflex period -30 +KPX Udieresis A -50 +KPX Udieresis Aacute -50 +KPX Udieresis Abreve -50 +KPX Udieresis Acircumflex -50 +KPX Udieresis Adieresis -50 +KPX Udieresis Agrave -50 +KPX Udieresis Amacron -50 +KPX Udieresis Aogonek -50 +KPX Udieresis Aring -50 +KPX Udieresis Atilde -50 +KPX Udieresis comma -30 +KPX Udieresis period -30 +KPX Ugrave A -50 +KPX Ugrave Aacute -50 +KPX Ugrave Abreve -50 +KPX Ugrave Acircumflex -50 +KPX Ugrave Adieresis -50 +KPX Ugrave Agrave -50 +KPX Ugrave Amacron -50 +KPX Ugrave Aogonek -50 +KPX Ugrave Aring -50 +KPX Ugrave Atilde -50 +KPX Ugrave comma -30 +KPX Ugrave period -30 +KPX Uhungarumlaut A -50 +KPX Uhungarumlaut Aacute -50 +KPX Uhungarumlaut Abreve -50 +KPX Uhungarumlaut Acircumflex -50 +KPX Uhungarumlaut Adieresis -50 +KPX Uhungarumlaut Agrave -50 +KPX Uhungarumlaut Amacron -50 +KPX Uhungarumlaut Aogonek -50 +KPX Uhungarumlaut Aring -50 +KPX Uhungarumlaut Atilde -50 +KPX Uhungarumlaut comma -30 +KPX Uhungarumlaut period -30 +KPX Umacron A -50 +KPX Umacron Aacute -50 +KPX Umacron Abreve -50 +KPX Umacron Acircumflex -50 +KPX Umacron Adieresis -50 +KPX Umacron Agrave -50 +KPX Umacron Amacron -50 +KPX Umacron Aogonek -50 +KPX Umacron Aring -50 +KPX Umacron Atilde -50 +KPX Umacron comma -30 +KPX Umacron period -30 +KPX Uogonek A -50 +KPX Uogonek Aacute -50 +KPX Uogonek Abreve -50 +KPX Uogonek Acircumflex -50 +KPX Uogonek Adieresis -50 +KPX Uogonek Agrave -50 +KPX Uogonek Amacron -50 +KPX Uogonek Aogonek -50 +KPX Uogonek Aring -50 +KPX Uogonek Atilde -50 +KPX Uogonek comma -30 +KPX Uogonek period -30 +KPX Uring A -50 +KPX Uring Aacute -50 +KPX Uring Abreve -50 +KPX Uring Acircumflex -50 +KPX Uring Adieresis -50 +KPX Uring Agrave -50 +KPX Uring Amacron -50 +KPX Uring Aogonek -50 +KPX Uring Aring -50 +KPX Uring Atilde -50 +KPX Uring comma -30 +KPX Uring period -30 +KPX V A -80 +KPX V Aacute -80 +KPX V Abreve -80 +KPX V Acircumflex -80 +KPX V Adieresis -80 +KPX V Agrave -80 +KPX V Amacron -80 +KPX V Aogonek -80 +KPX V Aring -80 +KPX V Atilde -80 +KPX V G -50 +KPX V Gbreve -50 +KPX V Gcommaaccent -50 +KPX V O -50 +KPX V Oacute -50 +KPX V Ocircumflex -50 +KPX V Odieresis -50 +KPX V Ograve -50 +KPX V Ohungarumlaut -50 +KPX V Omacron -50 +KPX V Oslash -50 +KPX V Otilde -50 +KPX V a -60 +KPX V aacute -60 +KPX V abreve -60 +KPX V acircumflex -60 +KPX V adieresis -60 +KPX V agrave -60 +KPX V amacron -60 +KPX V aogonek -60 +KPX V aring -60 +KPX V atilde -60 +KPX V colon -40 +KPX V comma -120 +KPX V e -50 +KPX V eacute -50 +KPX V ecaron -50 +KPX V ecircumflex -50 +KPX V edieresis -50 +KPX V edotaccent -50 +KPX V egrave -50 +KPX V emacron -50 +KPX V eogonek -50 +KPX V hyphen -80 +KPX V o -90 +KPX V oacute -90 +KPX V ocircumflex -90 +KPX V odieresis -90 +KPX V ograve -90 +KPX V ohungarumlaut -90 +KPX V omacron -90 +KPX V oslash -90 +KPX V otilde -90 +KPX V period -120 +KPX V semicolon -40 +KPX V u -60 +KPX V uacute -60 +KPX V ucircumflex -60 +KPX V udieresis -60 +KPX V ugrave -60 +KPX V uhungarumlaut -60 +KPX V umacron -60 +KPX V uogonek -60 +KPX V uring -60 +KPX W A -60 +KPX W Aacute -60 +KPX W Abreve -60 +KPX W Acircumflex -60 +KPX W Adieresis -60 +KPX W Agrave -60 +KPX W Amacron -60 +KPX W Aogonek -60 +KPX W Aring -60 +KPX W Atilde -60 +KPX W O -20 +KPX W Oacute -20 +KPX W Ocircumflex -20 +KPX W Odieresis -20 +KPX W Ograve -20 +KPX W Ohungarumlaut -20 +KPX W Omacron -20 +KPX W Oslash -20 +KPX W Otilde -20 +KPX W a -40 +KPX W aacute -40 +KPX W abreve -40 +KPX W acircumflex -40 +KPX W adieresis -40 +KPX W agrave -40 +KPX W amacron -40 +KPX W aogonek -40 +KPX W aring -40 +KPX W atilde -40 +KPX W colon -10 +KPX W comma -80 +KPX W e -35 +KPX W eacute -35 +KPX W ecaron -35 +KPX W ecircumflex -35 +KPX W edieresis -35 +KPX W edotaccent -35 +KPX W egrave -35 +KPX W emacron -35 +KPX W eogonek -35 +KPX W hyphen -40 +KPX W o -60 +KPX W oacute -60 +KPX W ocircumflex -60 +KPX W odieresis -60 +KPX W ograve -60 +KPX W ohungarumlaut -60 +KPX W omacron -60 +KPX W oslash -60 +KPX W otilde -60 +KPX W period -80 +KPX W semicolon -10 +KPX W u -45 +KPX W uacute -45 +KPX W ucircumflex -45 +KPX W udieresis -45 +KPX W ugrave -45 +KPX W uhungarumlaut -45 +KPX W umacron -45 +KPX W uogonek -45 +KPX W uring -45 +KPX W y -20 +KPX W yacute -20 +KPX W ydieresis -20 +KPX Y A -110 +KPX Y Aacute -110 +KPX Y Abreve -110 +KPX Y Acircumflex -110 +KPX Y Adieresis -110 +KPX Y Agrave -110 +KPX Y Amacron -110 +KPX Y Aogonek -110 +KPX Y Aring -110 +KPX Y Atilde -110 +KPX Y O -70 +KPX Y Oacute -70 +KPX Y Ocircumflex -70 +KPX Y Odieresis -70 +KPX Y Ograve -70 +KPX Y Ohungarumlaut -70 +KPX Y Omacron -70 +KPX Y Oslash -70 +KPX Y Otilde -70 +KPX Y a -90 +KPX Y aacute -90 +KPX Y abreve -90 +KPX Y acircumflex -90 +KPX Y adieresis -90 +KPX Y agrave -90 +KPX Y amacron -90 +KPX Y aogonek -90 +KPX Y aring -90 +KPX Y atilde -90 +KPX Y colon -50 +KPX Y comma -100 +KPX Y e -80 +KPX Y eacute -80 +KPX Y ecaron -80 +KPX Y ecircumflex -80 +KPX Y edieresis -80 +KPX Y edotaccent -80 +KPX Y egrave -80 +KPX Y emacron -80 +KPX Y eogonek -80 +KPX Y o -100 +KPX Y oacute -100 +KPX Y ocircumflex -100 +KPX Y odieresis -100 +KPX Y ograve -100 +KPX Y ohungarumlaut -100 +KPX Y omacron -100 +KPX Y oslash -100 +KPX Y otilde -100 +KPX Y period -100 +KPX Y semicolon -50 +KPX Y u -100 +KPX Y uacute -100 +KPX Y ucircumflex -100 +KPX Y udieresis -100 +KPX Y ugrave -100 +KPX Y uhungarumlaut -100 +KPX Y umacron -100 +KPX Y uogonek -100 +KPX Y uring -100 +KPX Yacute A -110 +KPX Yacute Aacute -110 +KPX Yacute Abreve -110 +KPX Yacute Acircumflex -110 +KPX Yacute Adieresis -110 +KPX Yacute Agrave -110 +KPX Yacute Amacron -110 +KPX Yacute Aogonek -110 +KPX Yacute Aring -110 +KPX Yacute Atilde -110 +KPX Yacute O -70 +KPX Yacute Oacute -70 +KPX Yacute Ocircumflex -70 +KPX Yacute Odieresis -70 +KPX Yacute Ograve -70 +KPX Yacute Ohungarumlaut -70 +KPX Yacute Omacron -70 +KPX Yacute Oslash -70 +KPX Yacute Otilde -70 +KPX Yacute a -90 +KPX Yacute aacute -90 +KPX Yacute abreve -90 +KPX Yacute acircumflex -90 +KPX Yacute adieresis -90 +KPX Yacute agrave -90 +KPX Yacute amacron -90 +KPX Yacute aogonek -90 +KPX Yacute aring -90 +KPX Yacute atilde -90 +KPX Yacute colon -50 +KPX Yacute comma -100 +KPX Yacute e -80 +KPX Yacute eacute -80 +KPX Yacute ecaron -80 +KPX Yacute ecircumflex -80 +KPX Yacute edieresis -80 +KPX Yacute edotaccent -80 +KPX Yacute egrave -80 +KPX Yacute emacron -80 +KPX Yacute eogonek -80 +KPX Yacute o -100 +KPX Yacute oacute -100 +KPX Yacute ocircumflex -100 +KPX Yacute odieresis -100 +KPX Yacute ograve -100 +KPX Yacute ohungarumlaut -100 +KPX Yacute omacron -100 +KPX Yacute oslash -100 +KPX Yacute otilde -100 +KPX Yacute period -100 +KPX Yacute semicolon -50 +KPX Yacute u -100 +KPX Yacute uacute -100 +KPX Yacute ucircumflex -100 +KPX Yacute udieresis -100 +KPX Yacute ugrave -100 +KPX Yacute uhungarumlaut -100 +KPX Yacute umacron -100 +KPX Yacute uogonek -100 +KPX Yacute uring -100 +KPX Ydieresis A -110 +KPX Ydieresis Aacute -110 +KPX Ydieresis Abreve -110 +KPX Ydieresis Acircumflex -110 +KPX Ydieresis Adieresis -110 +KPX Ydieresis Agrave -110 +KPX Ydieresis Amacron -110 +KPX Ydieresis Aogonek -110 +KPX Ydieresis Aring -110 +KPX Ydieresis Atilde -110 +KPX Ydieresis O -70 +KPX Ydieresis Oacute -70 +KPX Ydieresis Ocircumflex -70 +KPX Ydieresis Odieresis -70 +KPX Ydieresis Ograve -70 +KPX Ydieresis Ohungarumlaut -70 +KPX Ydieresis Omacron -70 +KPX Ydieresis Oslash -70 +KPX Ydieresis Otilde -70 +KPX Ydieresis a -90 +KPX Ydieresis aacute -90 +KPX Ydieresis abreve -90 +KPX Ydieresis acircumflex -90 +KPX Ydieresis adieresis -90 +KPX Ydieresis agrave -90 +KPX Ydieresis amacron -90 +KPX Ydieresis aogonek -90 +KPX Ydieresis aring -90 +KPX Ydieresis atilde -90 +KPX Ydieresis colon -50 +KPX Ydieresis comma -100 +KPX Ydieresis e -80 +KPX Ydieresis eacute -80 +KPX Ydieresis ecaron -80 +KPX Ydieresis ecircumflex -80 +KPX Ydieresis edieresis -80 +KPX Ydieresis edotaccent -80 +KPX Ydieresis egrave -80 +KPX Ydieresis emacron -80 +KPX Ydieresis eogonek -80 +KPX Ydieresis o -100 +KPX Ydieresis oacute -100 +KPX Ydieresis ocircumflex -100 +KPX Ydieresis odieresis -100 +KPX Ydieresis ograve -100 +KPX Ydieresis ohungarumlaut -100 +KPX Ydieresis omacron -100 +KPX Ydieresis oslash -100 +KPX Ydieresis otilde -100 +KPX Ydieresis period -100 +KPX Ydieresis semicolon -50 +KPX Ydieresis u -100 +KPX Ydieresis uacute -100 +KPX Ydieresis ucircumflex -100 +KPX Ydieresis udieresis -100 +KPX Ydieresis ugrave -100 +KPX Ydieresis uhungarumlaut -100 +KPX Ydieresis umacron -100 +KPX Ydieresis uogonek -100 +KPX Ydieresis uring -100 +KPX a g -10 +KPX a gbreve -10 +KPX a gcommaaccent -10 +KPX a v -15 +KPX a w -15 +KPX a y -20 +KPX a yacute -20 +KPX a ydieresis -20 +KPX aacute g -10 +KPX aacute gbreve -10 +KPX aacute gcommaaccent -10 +KPX aacute v -15 +KPX aacute w -15 +KPX aacute y -20 +KPX aacute yacute -20 +KPX aacute ydieresis -20 +KPX abreve g -10 +KPX abreve gbreve -10 +KPX abreve gcommaaccent -10 +KPX abreve v -15 +KPX abreve w -15 +KPX abreve y -20 +KPX abreve yacute -20 +KPX abreve ydieresis -20 +KPX acircumflex g -10 +KPX acircumflex gbreve -10 +KPX acircumflex gcommaaccent -10 +KPX acircumflex v -15 +KPX acircumflex w -15 +KPX acircumflex y -20 +KPX acircumflex yacute -20 +KPX acircumflex ydieresis -20 +KPX adieresis g -10 +KPX adieresis gbreve -10 +KPX adieresis gcommaaccent -10 +KPX adieresis v -15 +KPX adieresis w -15 +KPX adieresis y -20 +KPX adieresis yacute -20 +KPX adieresis ydieresis -20 +KPX agrave g -10 +KPX agrave gbreve -10 +KPX agrave gcommaaccent -10 +KPX agrave v -15 +KPX agrave w -15 +KPX agrave y -20 +KPX agrave yacute -20 +KPX agrave ydieresis -20 +KPX amacron g -10 +KPX amacron gbreve -10 +KPX amacron gcommaaccent -10 +KPX amacron v -15 +KPX amacron w -15 +KPX amacron y -20 +KPX amacron yacute -20 +KPX amacron ydieresis -20 +KPX aogonek g -10 +KPX aogonek gbreve -10 +KPX aogonek gcommaaccent -10 +KPX aogonek v -15 +KPX aogonek w -15 +KPX aogonek y -20 +KPX aogonek yacute -20 +KPX aogonek ydieresis -20 +KPX aring g -10 +KPX aring gbreve -10 +KPX aring gcommaaccent -10 +KPX aring v -15 +KPX aring w -15 +KPX aring y -20 +KPX aring yacute -20 +KPX aring ydieresis -20 +KPX atilde g -10 +KPX atilde gbreve -10 +KPX atilde gcommaaccent -10 +KPX atilde v -15 +KPX atilde w -15 +KPX atilde y -20 +KPX atilde yacute -20 +KPX atilde ydieresis -20 +KPX b l -10 +KPX b lacute -10 +KPX b lcommaaccent -10 +KPX b lslash -10 +KPX b u -20 +KPX b uacute -20 +KPX b ucircumflex -20 +KPX b udieresis -20 +KPX b ugrave -20 +KPX b uhungarumlaut -20 +KPX b umacron -20 +KPX b uogonek -20 +KPX b uring -20 +KPX b v -20 +KPX b y -20 +KPX b yacute -20 +KPX b ydieresis -20 +KPX c h -10 +KPX c k -20 +KPX c kcommaaccent -20 +KPX c l -20 +KPX c lacute -20 +KPX c lcommaaccent -20 +KPX c lslash -20 +KPX c y -10 +KPX c yacute -10 +KPX c ydieresis -10 +KPX cacute h -10 +KPX cacute k -20 +KPX cacute kcommaaccent -20 +KPX cacute l -20 +KPX cacute lacute -20 +KPX cacute lcommaaccent -20 +KPX cacute lslash -20 +KPX cacute y -10 +KPX cacute yacute -10 +KPX cacute ydieresis -10 +KPX ccaron h -10 +KPX ccaron k -20 +KPX ccaron kcommaaccent -20 +KPX ccaron l -20 +KPX ccaron lacute -20 +KPX ccaron lcommaaccent -20 +KPX ccaron lslash -20 +KPX ccaron y -10 +KPX ccaron yacute -10 +KPX ccaron ydieresis -10 +KPX ccedilla h -10 +KPX ccedilla k -20 +KPX ccedilla kcommaaccent -20 +KPX ccedilla l -20 +KPX ccedilla lacute -20 +KPX ccedilla lcommaaccent -20 +KPX ccedilla lslash -20 +KPX ccedilla y -10 +KPX ccedilla yacute -10 +KPX ccedilla ydieresis -10 +KPX colon space -40 +KPX comma quotedblright -120 +KPX comma quoteright -120 +KPX comma space -40 +KPX d d -10 +KPX d dcroat -10 +KPX d v -15 +KPX d w -15 +KPX d y -15 +KPX d yacute -15 +KPX d ydieresis -15 +KPX dcroat d -10 +KPX dcroat dcroat -10 +KPX dcroat v -15 +KPX dcroat w -15 +KPX dcroat y -15 +KPX dcroat yacute -15 +KPX dcroat ydieresis -15 +KPX e comma 10 +KPX e period 20 +KPX e v -15 +KPX e w -15 +KPX e x -15 +KPX e y -15 +KPX e yacute -15 +KPX e ydieresis -15 +KPX eacute comma 10 +KPX eacute period 20 +KPX eacute v -15 +KPX eacute w -15 +KPX eacute x -15 +KPX eacute y -15 +KPX eacute yacute -15 +KPX eacute ydieresis -15 +KPX ecaron comma 10 +KPX ecaron period 20 +KPX ecaron v -15 +KPX ecaron w -15 +KPX ecaron x -15 +KPX ecaron y -15 +KPX ecaron yacute -15 +KPX ecaron ydieresis -15 +KPX ecircumflex comma 10 +KPX ecircumflex period 20 +KPX ecircumflex v -15 +KPX ecircumflex w -15 +KPX ecircumflex x -15 +KPX ecircumflex y -15 +KPX ecircumflex yacute -15 +KPX ecircumflex ydieresis -15 +KPX edieresis comma 10 +KPX edieresis period 20 +KPX edieresis v -15 +KPX edieresis w -15 +KPX edieresis x -15 +KPX edieresis y -15 +KPX edieresis yacute -15 +KPX edieresis ydieresis -15 +KPX edotaccent comma 10 +KPX edotaccent period 20 +KPX edotaccent v -15 +KPX edotaccent w -15 +KPX edotaccent x -15 +KPX edotaccent y -15 +KPX edotaccent yacute -15 +KPX edotaccent ydieresis -15 +KPX egrave comma 10 +KPX egrave period 20 +KPX egrave v -15 +KPX egrave w -15 +KPX egrave x -15 +KPX egrave y -15 +KPX egrave yacute -15 +KPX egrave ydieresis -15 +KPX emacron comma 10 +KPX emacron period 20 +KPX emacron v -15 +KPX emacron w -15 +KPX emacron x -15 +KPX emacron y -15 +KPX emacron yacute -15 +KPX emacron ydieresis -15 +KPX eogonek comma 10 +KPX eogonek period 20 +KPX eogonek v -15 +KPX eogonek w -15 +KPX eogonek x -15 +KPX eogonek y -15 +KPX eogonek yacute -15 +KPX eogonek ydieresis -15 +KPX f comma -10 +KPX f e -10 +KPX f eacute -10 +KPX f ecaron -10 +KPX f ecircumflex -10 +KPX f edieresis -10 +KPX f edotaccent -10 +KPX f egrave -10 +KPX f emacron -10 +KPX f eogonek -10 +KPX f o -20 +KPX f oacute -20 +KPX f ocircumflex -20 +KPX f odieresis -20 +KPX f ograve -20 +KPX f ohungarumlaut -20 +KPX f omacron -20 +KPX f oslash -20 +KPX f otilde -20 +KPX f period -10 +KPX f quotedblright 30 +KPX f quoteright 30 +KPX g e 10 +KPX g eacute 10 +KPX g ecaron 10 +KPX g ecircumflex 10 +KPX g edieresis 10 +KPX g edotaccent 10 +KPX g egrave 10 +KPX g emacron 10 +KPX g eogonek 10 +KPX g g -10 +KPX g gbreve -10 +KPX g gcommaaccent -10 +KPX gbreve e 10 +KPX gbreve eacute 10 +KPX gbreve ecaron 10 +KPX gbreve ecircumflex 10 +KPX gbreve edieresis 10 +KPX gbreve edotaccent 10 +KPX gbreve egrave 10 +KPX gbreve emacron 10 +KPX gbreve eogonek 10 +KPX gbreve g -10 +KPX gbreve gbreve -10 +KPX gbreve gcommaaccent -10 +KPX gcommaaccent e 10 +KPX gcommaaccent eacute 10 +KPX gcommaaccent ecaron 10 +KPX gcommaaccent ecircumflex 10 +KPX gcommaaccent edieresis 10 +KPX gcommaaccent edotaccent 10 +KPX gcommaaccent egrave 10 +KPX gcommaaccent emacron 10 +KPX gcommaaccent eogonek 10 +KPX gcommaaccent g -10 +KPX gcommaaccent gbreve -10 +KPX gcommaaccent gcommaaccent -10 +KPX h y -20 +KPX h yacute -20 +KPX h ydieresis -20 +KPX k o -15 +KPX k oacute -15 +KPX k ocircumflex -15 +KPX k odieresis -15 +KPX k ograve -15 +KPX k ohungarumlaut -15 +KPX k omacron -15 +KPX k oslash -15 +KPX k otilde -15 +KPX kcommaaccent o -15 +KPX kcommaaccent oacute -15 +KPX kcommaaccent ocircumflex -15 +KPX kcommaaccent odieresis -15 +KPX kcommaaccent ograve -15 +KPX kcommaaccent ohungarumlaut -15 +KPX kcommaaccent omacron -15 +KPX kcommaaccent oslash -15 +KPX kcommaaccent otilde -15 +KPX l w -15 +KPX l y -15 +KPX l yacute -15 +KPX l ydieresis -15 +KPX lacute w -15 +KPX lacute y -15 +KPX lacute yacute -15 +KPX lacute ydieresis -15 +KPX lcommaaccent w -15 +KPX lcommaaccent y -15 +KPX lcommaaccent yacute -15 +KPX lcommaaccent ydieresis -15 +KPX lslash w -15 +KPX lslash y -15 +KPX lslash yacute -15 +KPX lslash ydieresis -15 +KPX m u -20 +KPX m uacute -20 +KPX m ucircumflex -20 +KPX m udieresis -20 +KPX m ugrave -20 +KPX m uhungarumlaut -20 +KPX m umacron -20 +KPX m uogonek -20 +KPX m uring -20 +KPX m y -30 +KPX m yacute -30 +KPX m ydieresis -30 +KPX n u -10 +KPX n uacute -10 +KPX n ucircumflex -10 +KPX n udieresis -10 +KPX n ugrave -10 +KPX n uhungarumlaut -10 +KPX n umacron -10 +KPX n uogonek -10 +KPX n uring -10 +KPX n v -40 +KPX n y -20 +KPX n yacute -20 +KPX n ydieresis -20 +KPX nacute u -10 +KPX nacute uacute -10 +KPX nacute ucircumflex -10 +KPX nacute udieresis -10 +KPX nacute ugrave -10 +KPX nacute uhungarumlaut -10 +KPX nacute umacron -10 +KPX nacute uogonek -10 +KPX nacute uring -10 +KPX nacute v -40 +KPX nacute y -20 +KPX nacute yacute -20 +KPX nacute ydieresis -20 +KPX ncaron u -10 +KPX ncaron uacute -10 +KPX ncaron ucircumflex -10 +KPX ncaron udieresis -10 +KPX ncaron ugrave -10 +KPX ncaron uhungarumlaut -10 +KPX ncaron umacron -10 +KPX ncaron uogonek -10 +KPX ncaron uring -10 +KPX ncaron v -40 +KPX ncaron y -20 +KPX ncaron yacute -20 +KPX ncaron ydieresis -20 +KPX ncommaaccent u -10 +KPX ncommaaccent uacute -10 +KPX ncommaaccent ucircumflex -10 +KPX ncommaaccent udieresis -10 +KPX ncommaaccent ugrave -10 +KPX ncommaaccent uhungarumlaut -10 +KPX ncommaaccent umacron -10 +KPX ncommaaccent uogonek -10 +KPX ncommaaccent uring -10 +KPX ncommaaccent v -40 +KPX ncommaaccent y -20 +KPX ncommaaccent yacute -20 +KPX ncommaaccent ydieresis -20 +KPX ntilde u -10 +KPX ntilde uacute -10 +KPX ntilde ucircumflex -10 +KPX ntilde udieresis -10 +KPX ntilde ugrave -10 +KPX ntilde uhungarumlaut -10 +KPX ntilde umacron -10 +KPX ntilde uogonek -10 +KPX ntilde uring -10 +KPX ntilde v -40 +KPX ntilde y -20 +KPX ntilde yacute -20 +KPX ntilde ydieresis -20 +KPX o v -20 +KPX o w -15 +KPX o x -30 +KPX o y -20 +KPX o yacute -20 +KPX o ydieresis -20 +KPX oacute v -20 +KPX oacute w -15 +KPX oacute x -30 +KPX oacute y -20 +KPX oacute yacute -20 +KPX oacute ydieresis -20 +KPX ocircumflex v -20 +KPX ocircumflex w -15 +KPX ocircumflex x -30 +KPX ocircumflex y -20 +KPX ocircumflex yacute -20 +KPX ocircumflex ydieresis -20 +KPX odieresis v -20 +KPX odieresis w -15 +KPX odieresis x -30 +KPX odieresis y -20 +KPX odieresis yacute -20 +KPX odieresis ydieresis -20 +KPX ograve v -20 +KPX ograve w -15 +KPX ograve x -30 +KPX ograve y -20 +KPX ograve yacute -20 +KPX ograve ydieresis -20 +KPX ohungarumlaut v -20 +KPX ohungarumlaut w -15 +KPX ohungarumlaut x -30 +KPX ohungarumlaut y -20 +KPX ohungarumlaut yacute -20 +KPX ohungarumlaut ydieresis -20 +KPX omacron v -20 +KPX omacron w -15 +KPX omacron x -30 +KPX omacron y -20 +KPX omacron yacute -20 +KPX omacron ydieresis -20 +KPX oslash v -20 +KPX oslash w -15 +KPX oslash x -30 +KPX oslash y -20 +KPX oslash yacute -20 +KPX oslash ydieresis -20 +KPX otilde v -20 +KPX otilde w -15 +KPX otilde x -30 +KPX otilde y -20 +KPX otilde yacute -20 +KPX otilde ydieresis -20 +KPX p y -15 +KPX p yacute -15 +KPX p ydieresis -15 +KPX period quotedblright -120 +KPX period quoteright -120 +KPX period space -40 +KPX quotedblright space -80 +KPX quoteleft quoteleft -46 +KPX quoteright d -80 +KPX quoteright dcroat -80 +KPX quoteright l -20 +KPX quoteright lacute -20 +KPX quoteright lcommaaccent -20 +KPX quoteright lslash -20 +KPX quoteright quoteright -46 +KPX quoteright r -40 +KPX quoteright racute -40 +KPX quoteright rcaron -40 +KPX quoteright rcommaaccent -40 +KPX quoteright s -60 +KPX quoteright sacute -60 +KPX quoteright scaron -60 +KPX quoteright scedilla -60 +KPX quoteright scommaaccent -60 +KPX quoteright space -80 +KPX quoteright v -20 +KPX r c -20 +KPX r cacute -20 +KPX r ccaron -20 +KPX r ccedilla -20 +KPX r comma -60 +KPX r d -20 +KPX r dcroat -20 +KPX r g -15 +KPX r gbreve -15 +KPX r gcommaaccent -15 +KPX r hyphen -20 +KPX r o -20 +KPX r oacute -20 +KPX r ocircumflex -20 +KPX r odieresis -20 +KPX r ograve -20 +KPX r ohungarumlaut -20 +KPX r omacron -20 +KPX r oslash -20 +KPX r otilde -20 +KPX r period -60 +KPX r q -20 +KPX r s -15 +KPX r sacute -15 +KPX r scaron -15 +KPX r scedilla -15 +KPX r scommaaccent -15 +KPX r t 20 +KPX r tcommaaccent 20 +KPX r v 10 +KPX r y 10 +KPX r yacute 10 +KPX r ydieresis 10 +KPX racute c -20 +KPX racute cacute -20 +KPX racute ccaron -20 +KPX racute ccedilla -20 +KPX racute comma -60 +KPX racute d -20 +KPX racute dcroat -20 +KPX racute g -15 +KPX racute gbreve -15 +KPX racute gcommaaccent -15 +KPX racute hyphen -20 +KPX racute o -20 +KPX racute oacute -20 +KPX racute ocircumflex -20 +KPX racute odieresis -20 +KPX racute ograve -20 +KPX racute ohungarumlaut -20 +KPX racute omacron -20 +KPX racute oslash -20 +KPX racute otilde -20 +KPX racute period -60 +KPX racute q -20 +KPX racute s -15 +KPX racute sacute -15 +KPX racute scaron -15 +KPX racute scedilla -15 +KPX racute scommaaccent -15 +KPX racute t 20 +KPX racute tcommaaccent 20 +KPX racute v 10 +KPX racute y 10 +KPX racute yacute 10 +KPX racute ydieresis 10 +KPX rcaron c -20 +KPX rcaron cacute -20 +KPX rcaron ccaron -20 +KPX rcaron ccedilla -20 +KPX rcaron comma -60 +KPX rcaron d -20 +KPX rcaron dcroat -20 +KPX rcaron g -15 +KPX rcaron gbreve -15 +KPX rcaron gcommaaccent -15 +KPX rcaron hyphen -20 +KPX rcaron o -20 +KPX rcaron oacute -20 +KPX rcaron ocircumflex -20 +KPX rcaron odieresis -20 +KPX rcaron ograve -20 +KPX rcaron ohungarumlaut -20 +KPX rcaron omacron -20 +KPX rcaron oslash -20 +KPX rcaron otilde -20 +KPX rcaron period -60 +KPX rcaron q -20 +KPX rcaron s -15 +KPX rcaron sacute -15 +KPX rcaron scaron -15 +KPX rcaron scedilla -15 +KPX rcaron scommaaccent -15 +KPX rcaron t 20 +KPX rcaron tcommaaccent 20 +KPX rcaron v 10 +KPX rcaron y 10 +KPX rcaron yacute 10 +KPX rcaron ydieresis 10 +KPX rcommaaccent c -20 +KPX rcommaaccent cacute -20 +KPX rcommaaccent ccaron -20 +KPX rcommaaccent ccedilla -20 +KPX rcommaaccent comma -60 +KPX rcommaaccent d -20 +KPX rcommaaccent dcroat -20 +KPX rcommaaccent g -15 +KPX rcommaaccent gbreve -15 +KPX rcommaaccent gcommaaccent -15 +KPX rcommaaccent hyphen -20 +KPX rcommaaccent o -20 +KPX rcommaaccent oacute -20 +KPX rcommaaccent ocircumflex -20 +KPX rcommaaccent odieresis -20 +KPX rcommaaccent ograve -20 +KPX rcommaaccent ohungarumlaut -20 +KPX rcommaaccent omacron -20 +KPX rcommaaccent oslash -20 +KPX rcommaaccent otilde -20 +KPX rcommaaccent period -60 +KPX rcommaaccent q -20 +KPX rcommaaccent s -15 +KPX rcommaaccent sacute -15 +KPX rcommaaccent scaron -15 +KPX rcommaaccent scedilla -15 +KPX rcommaaccent scommaaccent -15 +KPX rcommaaccent t 20 +KPX rcommaaccent tcommaaccent 20 +KPX rcommaaccent v 10 +KPX rcommaaccent y 10 +KPX rcommaaccent yacute 10 +KPX rcommaaccent ydieresis 10 +KPX s w -15 +KPX sacute w -15 +KPX scaron w -15 +KPX scedilla w -15 +KPX scommaaccent w -15 +KPX semicolon space -40 +KPX space T -100 +KPX space Tcaron -100 +KPX space Tcommaaccent -100 +KPX space V -80 +KPX space W -80 +KPX space Y -120 +KPX space Yacute -120 +KPX space Ydieresis -120 +KPX space quotedblleft -80 +KPX space quoteleft -60 +KPX v a -20 +KPX v aacute -20 +KPX v abreve -20 +KPX v acircumflex -20 +KPX v adieresis -20 +KPX v agrave -20 +KPX v amacron -20 +KPX v aogonek -20 +KPX v aring -20 +KPX v atilde -20 +KPX v comma -80 +KPX v o -30 +KPX v oacute -30 +KPX v ocircumflex -30 +KPX v odieresis -30 +KPX v ograve -30 +KPX v ohungarumlaut -30 +KPX v omacron -30 +KPX v oslash -30 +KPX v otilde -30 +KPX v period -80 +KPX w comma -40 +KPX w o -20 +KPX w oacute -20 +KPX w ocircumflex -20 +KPX w odieresis -20 +KPX w ograve -20 +KPX w ohungarumlaut -20 +KPX w omacron -20 +KPX w oslash -20 +KPX w otilde -20 +KPX w period -40 +KPX x e -10 +KPX x eacute -10 +KPX x ecaron -10 +KPX x ecircumflex -10 +KPX x edieresis -10 +KPX x edotaccent -10 +KPX x egrave -10 +KPX x emacron -10 +KPX x eogonek -10 +KPX y a -30 +KPX y aacute -30 +KPX y abreve -30 +KPX y acircumflex -30 +KPX y adieresis -30 +KPX y agrave -30 +KPX y amacron -30 +KPX y aogonek -30 +KPX y aring -30 +KPX y atilde -30 +KPX y comma -80 +KPX y e -10 +KPX y eacute -10 +KPX y ecaron -10 +KPX y ecircumflex -10 +KPX y edieresis -10 +KPX y edotaccent -10 +KPX y egrave -10 +KPX y emacron -10 +KPX y eogonek -10 +KPX y o -25 +KPX y oacute -25 +KPX y ocircumflex -25 +KPX y odieresis -25 +KPX y ograve -25 +KPX y ohungarumlaut -25 +KPX y omacron -25 +KPX y oslash -25 +KPX y otilde -25 +KPX y period -80 +KPX yacute a -30 +KPX yacute aacute -30 +KPX yacute abreve -30 +KPX yacute acircumflex -30 +KPX yacute adieresis -30 +KPX yacute agrave -30 +KPX yacute amacron -30 +KPX yacute aogonek -30 +KPX yacute aring -30 +KPX yacute atilde -30 +KPX yacute comma -80 +KPX yacute e -10 +KPX yacute eacute -10 +KPX yacute ecaron -10 +KPX yacute ecircumflex -10 +KPX yacute edieresis -10 +KPX yacute edotaccent -10 +KPX yacute egrave -10 +KPX yacute emacron -10 +KPX yacute eogonek -10 +KPX yacute o -25 +KPX yacute oacute -25 +KPX yacute ocircumflex -25 +KPX yacute odieresis -25 +KPX yacute ograve -25 +KPX yacute ohungarumlaut -25 +KPX yacute omacron -25 +KPX yacute oslash -25 +KPX yacute otilde -25 +KPX yacute period -80 +KPX ydieresis a -30 +KPX ydieresis aacute -30 +KPX ydieresis abreve -30 +KPX ydieresis acircumflex -30 +KPX ydieresis adieresis -30 +KPX ydieresis agrave -30 +KPX ydieresis amacron -30 +KPX ydieresis aogonek -30 +KPX ydieresis aring -30 +KPX ydieresis atilde -30 +KPX ydieresis comma -80 +KPX ydieresis e -10 +KPX ydieresis eacute -10 +KPX ydieresis ecaron -10 +KPX ydieresis ecircumflex -10 +KPX ydieresis edieresis -10 +KPX ydieresis edotaccent -10 +KPX ydieresis egrave -10 +KPX ydieresis emacron -10 +KPX ydieresis eogonek -10 +KPX ydieresis o -25 +KPX ydieresis oacute -25 +KPX ydieresis ocircumflex -25 +KPX ydieresis odieresis -25 +KPX ydieresis ograve -25 +KPX ydieresis ohungarumlaut -25 +KPX ydieresis omacron -25 +KPX ydieresis oslash -25 +KPX ydieresis otilde -25 +KPX ydieresis period -80 +KPX z e 10 +KPX z eacute 10 +KPX z ecaron 10 +KPX z ecircumflex 10 +KPX z edieresis 10 +KPX z edotaccent 10 +KPX z egrave 10 +KPX z emacron 10 +KPX z eogonek 10 +KPX zacute e 10 +KPX zacute eacute 10 +KPX zacute ecaron 10 +KPX zacute ecircumflex 10 +KPX zacute edieresis 10 +KPX zacute edotaccent 10 +KPX zacute egrave 10 +KPX zacute emacron 10 +KPX zacute eogonek 10 +KPX zcaron e 10 +KPX zcaron eacute 10 +KPX zcaron ecaron 10 +KPX zcaron ecircumflex 10 +KPX zcaron edieresis 10 +KPX zcaron edotaccent 10 +KPX zcaron egrave 10 +KPX zcaron emacron 10 +KPX zcaron eogonek 10 +KPX zdotaccent e 10 +KPX zdotaccent eacute 10 +KPX zdotaccent ecaron 10 +KPX zdotaccent ecircumflex 10 +KPX zdotaccent edieresis 10 +KPX zdotaccent edotaccent 10 +KPX zdotaccent egrave 10 +KPX zdotaccent emacron 10 +KPX zdotaccent eogonek 10 +EndKernPairs +EndKernData +EndFontMetrics diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/PDF/default/templates/fonts/Helvetica-Oblique.afm b/buildscripts/PhpDocumentor/phpDocumentor/Converters/PDF/default/templates/fonts/Helvetica-Oblique.afm new file mode 100755 index 00000000..7a7af001 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/PDF/default/templates/fonts/Helvetica-Oblique.afm @@ -0,0 +1,3051 @@ +StartFontMetrics 4.1 +Comment Copyright (c) 1985, 1987, 1989, 1990, 1997 Adobe Systems Incorporated. All Rights Reserved. +Comment Creation Date: Thu May 1 12:44:31 1997 +Comment UniqueID 43055 +Comment VMusage 14960 69346 +FontName Helvetica-Oblique +FullName Helvetica Oblique +FamilyName Helvetica +Weight Medium +ItalicAngle -12 +IsFixedPitch false +CharacterSet ExtendedRoman +FontBBox -170 -225 1116 931 +UnderlinePosition -100 +UnderlineThickness 50 +Version 002.000 +Notice Copyright (c) 1985, 1987, 1989, 1990, 1997 Adobe Systems Incorporated. All Rights Reserved.Helvetica is a trademark of Linotype-Hell AG and/or its subsidiaries. +EncodingScheme AdobeStandardEncoding +CapHeight 718 +XHeight 523 +Ascender 718 +Descender -207 +StdHW 76 +StdVW 88 +StartCharMetrics 315 +C 32 ; WX 278 ; N space ; B 0 0 0 0 ; +C 33 ; WX 278 ; N exclam ; B 90 0 340 718 ; +C 34 ; WX 355 ; N quotedbl ; B 168 463 438 718 ; +C 35 ; WX 556 ; N numbersign ; B 73 0 631 688 ; +C 36 ; WX 556 ; N dollar ; B 69 -115 617 775 ; +C 37 ; WX 889 ; N percent ; B 147 -19 889 703 ; +C 38 ; WX 667 ; N ampersand ; B 77 -15 647 718 ; +C 39 ; WX 222 ; N quoteright ; B 151 463 310 718 ; +C 40 ; WX 333 ; N parenleft ; B 108 -207 454 733 ; +C 41 ; WX 333 ; N parenright ; B -9 -207 337 733 ; +C 42 ; WX 389 ; N asterisk ; B 165 431 475 718 ; +C 43 ; WX 584 ; N plus ; B 85 0 606 505 ; +C 44 ; WX 278 ; N comma ; B 56 -147 214 106 ; +C 45 ; WX 333 ; N hyphen ; B 93 232 357 322 ; +C 46 ; WX 278 ; N period ; B 87 0 214 106 ; +C 47 ; WX 278 ; N slash ; B -21 -19 452 737 ; +C 48 ; WX 556 ; N zero ; B 93 -19 608 703 ; +C 49 ; WX 556 ; N one ; B 207 0 508 703 ; +C 50 ; WX 556 ; N two ; B 26 0 617 703 ; +C 51 ; WX 556 ; N three ; B 75 -19 610 703 ; +C 52 ; WX 556 ; N four ; B 61 0 576 703 ; +C 53 ; WX 556 ; N five ; B 68 -19 621 688 ; +C 54 ; WX 556 ; N six ; B 91 -19 615 703 ; +C 55 ; WX 556 ; N seven ; B 137 0 669 688 ; +C 56 ; WX 556 ; N eight ; B 74 -19 607 703 ; +C 57 ; WX 556 ; N nine ; B 82 -19 609 703 ; +C 58 ; WX 278 ; N colon ; B 87 0 301 516 ; +C 59 ; WX 278 ; N semicolon ; B 56 -147 301 516 ; +C 60 ; WX 584 ; N less ; B 94 11 641 495 ; +C 61 ; WX 584 ; N equal ; B 63 115 628 390 ; +C 62 ; WX 584 ; N greater ; B 50 11 597 495 ; +C 63 ; WX 556 ; N question ; B 161 0 610 727 ; +C 64 ; WX 1015 ; N at ; B 215 -19 965 737 ; +C 65 ; WX 667 ; N A ; B 14 0 654 718 ; +C 66 ; WX 667 ; N B ; B 74 0 712 718 ; +C 67 ; WX 722 ; N C ; B 108 -19 782 737 ; +C 68 ; WX 722 ; N D ; B 81 0 764 718 ; +C 69 ; WX 667 ; N E ; B 86 0 762 718 ; +C 70 ; WX 611 ; N F ; B 86 0 736 718 ; +C 71 ; WX 778 ; N G ; B 111 -19 799 737 ; +C 72 ; WX 722 ; N H ; B 77 0 799 718 ; +C 73 ; WX 278 ; N I ; B 91 0 341 718 ; +C 74 ; WX 500 ; N J ; B 47 -19 581 718 ; +C 75 ; WX 667 ; N K ; B 76 0 808 718 ; +C 76 ; WX 556 ; N L ; B 76 0 555 718 ; +C 77 ; WX 833 ; N M ; B 73 0 914 718 ; +C 78 ; WX 722 ; N N ; B 76 0 799 718 ; +C 79 ; WX 778 ; N O ; B 105 -19 826 737 ; +C 80 ; WX 667 ; N P ; B 86 0 737 718 ; +C 81 ; WX 778 ; N Q ; B 105 -56 826 737 ; +C 82 ; WX 722 ; N R ; B 88 0 773 718 ; +C 83 ; WX 667 ; N S ; B 90 -19 713 737 ; +C 84 ; WX 611 ; N T ; B 148 0 750 718 ; +C 85 ; WX 722 ; N U ; B 123 -19 797 718 ; +C 86 ; WX 667 ; N V ; B 173 0 800 718 ; +C 87 ; WX 944 ; N W ; B 169 0 1081 718 ; +C 88 ; WX 667 ; N X ; B 19 0 790 718 ; +C 89 ; WX 667 ; N Y ; B 167 0 806 718 ; +C 90 ; WX 611 ; N Z ; B 23 0 741 718 ; +C 91 ; WX 278 ; N bracketleft ; B 21 -196 403 722 ; +C 92 ; WX 278 ; N backslash ; B 140 -19 291 737 ; +C 93 ; WX 278 ; N bracketright ; B -14 -196 368 722 ; +C 94 ; WX 469 ; N asciicircum ; B 42 264 539 688 ; +C 95 ; WX 556 ; N underscore ; B -27 -125 540 -75 ; +C 96 ; WX 222 ; N quoteleft ; B 165 470 323 725 ; +C 97 ; WX 556 ; N a ; B 61 -15 559 538 ; +C 98 ; WX 556 ; N b ; B 58 -15 584 718 ; +C 99 ; WX 500 ; N c ; B 74 -15 553 538 ; +C 100 ; WX 556 ; N d ; B 84 -15 652 718 ; +C 101 ; WX 556 ; N e ; B 84 -15 578 538 ; +C 102 ; WX 278 ; N f ; B 86 0 416 728 ; L i fi ; L l fl ; +C 103 ; WX 556 ; N g ; B 42 -220 610 538 ; +C 104 ; WX 556 ; N h ; B 65 0 573 718 ; +C 105 ; WX 222 ; N i ; B 67 0 308 718 ; +C 106 ; WX 222 ; N j ; B -60 -210 308 718 ; +C 107 ; WX 500 ; N k ; B 67 0 600 718 ; +C 108 ; WX 222 ; N l ; B 67 0 308 718 ; +C 109 ; WX 833 ; N m ; B 65 0 852 538 ; +C 110 ; WX 556 ; N n ; B 65 0 573 538 ; +C 111 ; WX 556 ; N o ; B 83 -14 585 538 ; +C 112 ; WX 556 ; N p ; B 14 -207 584 538 ; +C 113 ; WX 556 ; N q ; B 84 -207 605 538 ; +C 114 ; WX 333 ; N r ; B 77 0 446 538 ; +C 115 ; WX 500 ; N s ; B 63 -15 529 538 ; +C 116 ; WX 278 ; N t ; B 102 -7 368 669 ; +C 117 ; WX 556 ; N u ; B 94 -15 600 523 ; +C 118 ; WX 500 ; N v ; B 119 0 603 523 ; +C 119 ; WX 722 ; N w ; B 125 0 820 523 ; +C 120 ; WX 500 ; N x ; B 11 0 594 523 ; +C 121 ; WX 500 ; N y ; B 15 -214 600 523 ; +C 122 ; WX 500 ; N z ; B 31 0 571 523 ; +C 123 ; WX 334 ; N braceleft ; B 92 -196 445 722 ; +C 124 ; WX 260 ; N bar ; B 46 -225 332 775 ; +C 125 ; WX 334 ; N braceright ; B 0 -196 354 722 ; +C 126 ; WX 584 ; N asciitilde ; B 111 180 580 326 ; +C 161 ; WX 333 ; N exclamdown ; B 77 -195 326 523 ; +C 162 ; WX 556 ; N cent ; B 95 -115 584 623 ; +C 163 ; WX 556 ; N sterling ; B 49 -16 634 718 ; +C 164 ; WX 167 ; N fraction ; B -170 -19 482 703 ; +C 165 ; WX 556 ; N yen ; B 81 0 699 688 ; +C 166 ; WX 556 ; N florin ; B -52 -207 654 737 ; +C 167 ; WX 556 ; N section ; B 76 -191 584 737 ; +C 168 ; WX 556 ; N currency ; B 60 99 646 603 ; +C 169 ; WX 191 ; N quotesingle ; B 157 463 285 718 ; +C 170 ; WX 333 ; N quotedblleft ; B 138 470 461 725 ; +C 171 ; WX 556 ; N guillemotleft ; B 146 108 554 446 ; +C 172 ; WX 333 ; N guilsinglleft ; B 137 108 340 446 ; +C 173 ; WX 333 ; N guilsinglright ; B 111 108 314 446 ; +C 174 ; WX 500 ; N fi ; B 86 0 587 728 ; +C 175 ; WX 500 ; N fl ; B 86 0 585 728 ; +C 177 ; WX 556 ; N endash ; B 51 240 623 313 ; +C 178 ; WX 556 ; N dagger ; B 135 -159 622 718 ; +C 179 ; WX 556 ; N daggerdbl ; B 52 -159 623 718 ; +C 180 ; WX 278 ; N periodcentered ; B 129 190 257 315 ; +C 182 ; WX 537 ; N paragraph ; B 126 -173 650 718 ; +C 183 ; WX 350 ; N bullet ; B 91 202 413 517 ; +C 184 ; WX 222 ; N quotesinglbase ; B 21 -149 180 106 ; +C 185 ; WX 333 ; N quotedblbase ; B -6 -149 318 106 ; +C 186 ; WX 333 ; N quotedblright ; B 124 463 448 718 ; +C 187 ; WX 556 ; N guillemotright ; B 120 108 528 446 ; +C 188 ; WX 1000 ; N ellipsis ; B 115 0 908 106 ; +C 189 ; WX 1000 ; N perthousand ; B 88 -19 1029 703 ; +C 191 ; WX 611 ; N questiondown ; B 85 -201 534 525 ; +C 193 ; WX 333 ; N grave ; B 170 593 337 734 ; +C 194 ; WX 333 ; N acute ; B 248 593 475 734 ; +C 195 ; WX 333 ; N circumflex ; B 147 593 438 734 ; +C 196 ; WX 333 ; N tilde ; B 125 606 490 722 ; +C 197 ; WX 333 ; N macron ; B 143 627 468 684 ; +C 198 ; WX 333 ; N breve ; B 167 595 476 731 ; +C 199 ; WX 333 ; N dotaccent ; B 249 604 362 706 ; +C 200 ; WX 333 ; N dieresis ; B 168 604 443 706 ; +C 202 ; WX 333 ; N ring ; B 214 572 402 756 ; +C 203 ; WX 333 ; N cedilla ; B 2 -225 232 0 ; +C 205 ; WX 333 ; N hungarumlaut ; B 157 593 565 734 ; +C 206 ; WX 333 ; N ogonek ; B 43 -225 249 0 ; +C 207 ; WX 333 ; N caron ; B 177 593 468 734 ; +C 208 ; WX 1000 ; N emdash ; B 51 240 1067 313 ; +C 225 ; WX 1000 ; N AE ; B 8 0 1097 718 ; +C 227 ; WX 370 ; N ordfeminine ; B 127 405 449 737 ; +C 232 ; WX 556 ; N Lslash ; B 41 0 555 718 ; +C 233 ; WX 778 ; N Oslash ; B 43 -19 890 737 ; +C 234 ; WX 1000 ; N OE ; B 98 -19 1116 737 ; +C 235 ; WX 365 ; N ordmasculine ; B 141 405 468 737 ; +C 241 ; WX 889 ; N ae ; B 61 -15 909 538 ; +C 245 ; WX 278 ; N dotlessi ; B 95 0 294 523 ; +C 248 ; WX 222 ; N lslash ; B 41 0 347 718 ; +C 249 ; WX 611 ; N oslash ; B 29 -22 647 545 ; +C 250 ; WX 944 ; N oe ; B 83 -15 964 538 ; +C 251 ; WX 611 ; N germandbls ; B 67 -15 658 728 ; +C -1 ; WX 278 ; N Idieresis ; B 91 0 458 901 ; +C -1 ; WX 556 ; N eacute ; B 84 -15 587 734 ; +C -1 ; WX 556 ; N abreve ; B 61 -15 578 731 ; +C -1 ; WX 556 ; N uhungarumlaut ; B 94 -15 677 734 ; +C -1 ; WX 556 ; N ecaron ; B 84 -15 580 734 ; +C -1 ; WX 667 ; N Ydieresis ; B 167 0 806 901 ; +C -1 ; WX 584 ; N divide ; B 85 -19 606 524 ; +C -1 ; WX 667 ; N Yacute ; B 167 0 806 929 ; +C -1 ; WX 667 ; N Acircumflex ; B 14 0 654 929 ; +C -1 ; WX 556 ; N aacute ; B 61 -15 587 734 ; +C -1 ; WX 722 ; N Ucircumflex ; B 123 -19 797 929 ; +C -1 ; WX 500 ; N yacute ; B 15 -214 600 734 ; +C -1 ; WX 500 ; N scommaaccent ; B 63 -225 529 538 ; +C -1 ; WX 556 ; N ecircumflex ; B 84 -15 578 734 ; +C -1 ; WX 722 ; N Uring ; B 123 -19 797 931 ; +C -1 ; WX 722 ; N Udieresis ; B 123 -19 797 901 ; +C -1 ; WX 556 ; N aogonek ; B 61 -220 559 538 ; +C -1 ; WX 722 ; N Uacute ; B 123 -19 797 929 ; +C -1 ; WX 556 ; N uogonek ; B 94 -225 600 523 ; +C -1 ; WX 667 ; N Edieresis ; B 86 0 762 901 ; +C -1 ; WX 722 ; N Dcroat ; B 69 0 764 718 ; +C -1 ; WX 250 ; N commaaccent ; B 39 -225 172 -40 ; +C -1 ; WX 737 ; N copyright ; B 54 -19 837 737 ; +C -1 ; WX 667 ; N Emacron ; B 86 0 762 879 ; +C -1 ; WX 500 ; N ccaron ; B 74 -15 553 734 ; +C -1 ; WX 556 ; N aring ; B 61 -15 559 756 ; +C -1 ; WX 722 ; N Ncommaaccent ; B 76 -225 799 718 ; +C -1 ; WX 222 ; N lacute ; B 67 0 461 929 ; +C -1 ; WX 556 ; N agrave ; B 61 -15 559 734 ; +C -1 ; WX 611 ; N Tcommaaccent ; B 148 -225 750 718 ; +C -1 ; WX 722 ; N Cacute ; B 108 -19 782 929 ; +C -1 ; WX 556 ; N atilde ; B 61 -15 592 722 ; +C -1 ; WX 667 ; N Edotaccent ; B 86 0 762 901 ; +C -1 ; WX 500 ; N scaron ; B 63 -15 552 734 ; +C -1 ; WX 500 ; N scedilla ; B 63 -225 529 538 ; +C -1 ; WX 278 ; N iacute ; B 95 0 448 734 ; +C -1 ; WX 471 ; N lozenge ; B 88 0 540 728 ; +C -1 ; WX 722 ; N Rcaron ; B 88 0 773 929 ; +C -1 ; WX 778 ; N Gcommaaccent ; B 111 -225 799 737 ; +C -1 ; WX 556 ; N ucircumflex ; B 94 -15 600 734 ; +C -1 ; WX 556 ; N acircumflex ; B 61 -15 559 734 ; +C -1 ; WX 667 ; N Amacron ; B 14 0 677 879 ; +C -1 ; WX 333 ; N rcaron ; B 77 0 508 734 ; +C -1 ; WX 500 ; N ccedilla ; B 74 -225 553 538 ; +C -1 ; WX 611 ; N Zdotaccent ; B 23 0 741 901 ; +C -1 ; WX 667 ; N Thorn ; B 86 0 712 718 ; +C -1 ; WX 778 ; N Omacron ; B 105 -19 826 879 ; +C -1 ; WX 722 ; N Racute ; B 88 0 773 929 ; +C -1 ; WX 667 ; N Sacute ; B 90 -19 713 929 ; +C -1 ; WX 643 ; N dcaron ; B 84 -15 808 718 ; +C -1 ; WX 722 ; N Umacron ; B 123 -19 797 879 ; +C -1 ; WX 556 ; N uring ; B 94 -15 600 756 ; +C -1 ; WX 333 ; N threesuperior ; B 90 270 436 703 ; +C -1 ; WX 778 ; N Ograve ; B 105 -19 826 929 ; +C -1 ; WX 667 ; N Agrave ; B 14 0 654 929 ; +C -1 ; WX 667 ; N Abreve ; B 14 0 685 926 ; +C -1 ; WX 584 ; N multiply ; B 50 0 642 506 ; +C -1 ; WX 556 ; N uacute ; B 94 -15 600 734 ; +C -1 ; WX 611 ; N Tcaron ; B 148 0 750 929 ; +C -1 ; WX 476 ; N partialdiff ; B 41 -38 550 714 ; +C -1 ; WX 500 ; N ydieresis ; B 15 -214 600 706 ; +C -1 ; WX 722 ; N Nacute ; B 76 0 799 929 ; +C -1 ; WX 278 ; N icircumflex ; B 95 0 411 734 ; +C -1 ; WX 667 ; N Ecircumflex ; B 86 0 762 929 ; +C -1 ; WX 556 ; N adieresis ; B 61 -15 559 706 ; +C -1 ; WX 556 ; N edieresis ; B 84 -15 578 706 ; +C -1 ; WX 500 ; N cacute ; B 74 -15 559 734 ; +C -1 ; WX 556 ; N nacute ; B 65 0 587 734 ; +C -1 ; WX 556 ; N umacron ; B 94 -15 600 684 ; +C -1 ; WX 722 ; N Ncaron ; B 76 0 799 929 ; +C -1 ; WX 278 ; N Iacute ; B 91 0 489 929 ; +C -1 ; WX 584 ; N plusminus ; B 39 0 618 506 ; +C -1 ; WX 260 ; N brokenbar ; B 62 -150 316 700 ; +C -1 ; WX 737 ; N registered ; B 54 -19 837 737 ; +C -1 ; WX 778 ; N Gbreve ; B 111 -19 799 926 ; +C -1 ; WX 278 ; N Idotaccent ; B 91 0 377 901 ; +C -1 ; WX 600 ; N summation ; B 15 -10 671 706 ; +C -1 ; WX 667 ; N Egrave ; B 86 0 762 929 ; +C -1 ; WX 333 ; N racute ; B 77 0 475 734 ; +C -1 ; WX 556 ; N omacron ; B 83 -14 585 684 ; +C -1 ; WX 611 ; N Zacute ; B 23 0 741 929 ; +C -1 ; WX 611 ; N Zcaron ; B 23 0 741 929 ; +C -1 ; WX 549 ; N greaterequal ; B 26 0 620 674 ; +C -1 ; WX 722 ; N Eth ; B 69 0 764 718 ; +C -1 ; WX 722 ; N Ccedilla ; B 108 -225 782 737 ; +C -1 ; WX 222 ; N lcommaaccent ; B 25 -225 308 718 ; +C -1 ; WX 317 ; N tcaron ; B 102 -7 501 808 ; +C -1 ; WX 556 ; N eogonek ; B 84 -225 578 538 ; +C -1 ; WX 722 ; N Uogonek ; B 123 -225 797 718 ; +C -1 ; WX 667 ; N Aacute ; B 14 0 683 929 ; +C -1 ; WX 667 ; N Adieresis ; B 14 0 654 901 ; +C -1 ; WX 556 ; N egrave ; B 84 -15 578 734 ; +C -1 ; WX 500 ; N zacute ; B 31 0 571 734 ; +C -1 ; WX 222 ; N iogonek ; B -61 -225 308 718 ; +C -1 ; WX 778 ; N Oacute ; B 105 -19 826 929 ; +C -1 ; WX 556 ; N oacute ; B 83 -14 587 734 ; +C -1 ; WX 556 ; N amacron ; B 61 -15 580 684 ; +C -1 ; WX 500 ; N sacute ; B 63 -15 559 734 ; +C -1 ; WX 278 ; N idieresis ; B 95 0 416 706 ; +C -1 ; WX 778 ; N Ocircumflex ; B 105 -19 826 929 ; +C -1 ; WX 722 ; N Ugrave ; B 123 -19 797 929 ; +C -1 ; WX 612 ; N Delta ; B 6 0 608 688 ; +C -1 ; WX 556 ; N thorn ; B 14 -207 584 718 ; +C -1 ; WX 333 ; N twosuperior ; B 64 281 449 703 ; +C -1 ; WX 778 ; N Odieresis ; B 105 -19 826 901 ; +C -1 ; WX 556 ; N mu ; B 24 -207 600 523 ; +C -1 ; WX 278 ; N igrave ; B 95 0 310 734 ; +C -1 ; WX 556 ; N ohungarumlaut ; B 83 -14 677 734 ; +C -1 ; WX 667 ; N Eogonek ; B 86 -220 762 718 ; +C -1 ; WX 556 ; N dcroat ; B 84 -15 689 718 ; +C -1 ; WX 834 ; N threequarters ; B 130 -19 861 703 ; +C -1 ; WX 667 ; N Scedilla ; B 90 -225 713 737 ; +C -1 ; WX 299 ; N lcaron ; B 67 0 464 718 ; +C -1 ; WX 667 ; N Kcommaaccent ; B 76 -225 808 718 ; +C -1 ; WX 556 ; N Lacute ; B 76 0 555 929 ; +C -1 ; WX 1000 ; N trademark ; B 186 306 1056 718 ; +C -1 ; WX 556 ; N edotaccent ; B 84 -15 578 706 ; +C -1 ; WX 278 ; N Igrave ; B 91 0 351 929 ; +C -1 ; WX 278 ; N Imacron ; B 91 0 483 879 ; +C -1 ; WX 556 ; N Lcaron ; B 76 0 570 718 ; +C -1 ; WX 834 ; N onehalf ; B 114 -19 839 703 ; +C -1 ; WX 549 ; N lessequal ; B 26 0 666 674 ; +C -1 ; WX 556 ; N ocircumflex ; B 83 -14 585 734 ; +C -1 ; WX 556 ; N ntilde ; B 65 0 592 722 ; +C -1 ; WX 722 ; N Uhungarumlaut ; B 123 -19 801 929 ; +C -1 ; WX 667 ; N Eacute ; B 86 0 762 929 ; +C -1 ; WX 556 ; N emacron ; B 84 -15 580 684 ; +C -1 ; WX 556 ; N gbreve ; B 42 -220 610 731 ; +C -1 ; WX 834 ; N onequarter ; B 150 -19 802 703 ; +C -1 ; WX 667 ; N Scaron ; B 90 -19 713 929 ; +C -1 ; WX 667 ; N Scommaaccent ; B 90 -225 713 737 ; +C -1 ; WX 778 ; N Ohungarumlaut ; B 105 -19 829 929 ; +C -1 ; WX 400 ; N degree ; B 169 411 468 703 ; +C -1 ; WX 556 ; N ograve ; B 83 -14 585 734 ; +C -1 ; WX 722 ; N Ccaron ; B 108 -19 782 929 ; +C -1 ; WX 556 ; N ugrave ; B 94 -15 600 734 ; +C -1 ; WX 453 ; N radical ; B 79 -80 617 762 ; +C -1 ; WX 722 ; N Dcaron ; B 81 0 764 929 ; +C -1 ; WX 333 ; N rcommaaccent ; B 30 -225 446 538 ; +C -1 ; WX 722 ; N Ntilde ; B 76 0 799 917 ; +C -1 ; WX 556 ; N otilde ; B 83 -14 602 722 ; +C -1 ; WX 722 ; N Rcommaaccent ; B 88 -225 773 718 ; +C -1 ; WX 556 ; N Lcommaaccent ; B 76 -225 555 718 ; +C -1 ; WX 667 ; N Atilde ; B 14 0 699 917 ; +C -1 ; WX 667 ; N Aogonek ; B 14 -225 654 718 ; +C -1 ; WX 667 ; N Aring ; B 14 0 654 931 ; +C -1 ; WX 778 ; N Otilde ; B 105 -19 826 917 ; +C -1 ; WX 500 ; N zdotaccent ; B 31 0 571 706 ; +C -1 ; WX 667 ; N Ecaron ; B 86 0 762 929 ; +C -1 ; WX 278 ; N Iogonek ; B -33 -225 341 718 ; +C -1 ; WX 500 ; N kcommaaccent ; B 67 -225 600 718 ; +C -1 ; WX 584 ; N minus ; B 85 216 606 289 ; +C -1 ; WX 278 ; N Icircumflex ; B 91 0 452 929 ; +C -1 ; WX 556 ; N ncaron ; B 65 0 580 734 ; +C -1 ; WX 278 ; N tcommaaccent ; B 63 -225 368 669 ; +C -1 ; WX 584 ; N logicalnot ; B 106 108 628 390 ; +C -1 ; WX 556 ; N odieresis ; B 83 -14 585 706 ; +C -1 ; WX 556 ; N udieresis ; B 94 -15 600 706 ; +C -1 ; WX 549 ; N notequal ; B 34 -35 623 551 ; +C -1 ; WX 556 ; N gcommaaccent ; B 42 -220 610 822 ; +C -1 ; WX 556 ; N eth ; B 81 -15 617 737 ; +C -1 ; WX 500 ; N zcaron ; B 31 0 571 734 ; +C -1 ; WX 556 ; N ncommaaccent ; B 65 -225 573 538 ; +C -1 ; WX 333 ; N onesuperior ; B 166 281 371 703 ; +C -1 ; WX 278 ; N imacron ; B 95 0 417 684 ; +C -1 ; WX 556 ; N Euro ; B 0 0 0 0 ; +EndCharMetrics +StartKernData +StartKernPairs 2705 +KPX A C -30 +KPX A Cacute -30 +KPX A Ccaron -30 +KPX A Ccedilla -30 +KPX A G -30 +KPX A Gbreve -30 +KPX A Gcommaaccent -30 +KPX A O -30 +KPX A Oacute -30 +KPX A Ocircumflex -30 +KPX A Odieresis -30 +KPX A Ograve -30 +KPX A Ohungarumlaut -30 +KPX A Omacron -30 +KPX A Oslash -30 +KPX A Otilde -30 +KPX A Q -30 +KPX A T -120 +KPX A Tcaron -120 +KPX A Tcommaaccent -120 +KPX A U -50 +KPX A Uacute -50 +KPX A Ucircumflex -50 +KPX A Udieresis -50 +KPX A Ugrave -50 +KPX A Uhungarumlaut -50 +KPX A Umacron -50 +KPX A Uogonek -50 +KPX A Uring -50 +KPX A V -70 +KPX A W -50 +KPX A Y -100 +KPX A Yacute -100 +KPX A Ydieresis -100 +KPX A u -30 +KPX A uacute -30 +KPX A ucircumflex -30 +KPX A udieresis -30 +KPX A ugrave -30 +KPX A uhungarumlaut -30 +KPX A umacron -30 +KPX A uogonek -30 +KPX A uring -30 +KPX A v -40 +KPX A w -40 +KPX A y -40 +KPX A yacute -40 +KPX A ydieresis -40 +KPX Aacute C -30 +KPX Aacute Cacute -30 +KPX Aacute Ccaron -30 +KPX Aacute Ccedilla -30 +KPX Aacute G -30 +KPX Aacute Gbreve -30 +KPX Aacute Gcommaaccent -30 +KPX Aacute O -30 +KPX Aacute Oacute -30 +KPX Aacute Ocircumflex -30 +KPX Aacute Odieresis -30 +KPX Aacute Ograve -30 +KPX Aacute Ohungarumlaut -30 +KPX Aacute Omacron -30 +KPX Aacute Oslash -30 +KPX Aacute Otilde -30 +KPX Aacute Q -30 +KPX Aacute T -120 +KPX Aacute Tcaron -120 +KPX Aacute Tcommaaccent -120 +KPX Aacute U -50 +KPX Aacute Uacute -50 +KPX Aacute Ucircumflex -50 +KPX Aacute Udieresis -50 +KPX Aacute Ugrave -50 +KPX Aacute Uhungarumlaut -50 +KPX Aacute Umacron -50 +KPX Aacute Uogonek -50 +KPX Aacute Uring -50 +KPX Aacute V -70 +KPX Aacute W -50 +KPX Aacute Y -100 +KPX Aacute Yacute -100 +KPX Aacute Ydieresis -100 +KPX Aacute u -30 +KPX Aacute uacute -30 +KPX Aacute ucircumflex -30 +KPX Aacute udieresis -30 +KPX Aacute ugrave -30 +KPX Aacute uhungarumlaut -30 +KPX Aacute umacron -30 +KPX Aacute uogonek -30 +KPX Aacute uring -30 +KPX Aacute v -40 +KPX Aacute w -40 +KPX Aacute y -40 +KPX Aacute yacute -40 +KPX Aacute ydieresis -40 +KPX Abreve C -30 +KPX Abreve Cacute -30 +KPX Abreve Ccaron -30 +KPX Abreve Ccedilla -30 +KPX Abreve G -30 +KPX Abreve Gbreve -30 +KPX Abreve Gcommaaccent -30 +KPX Abreve O -30 +KPX Abreve Oacute -30 +KPX Abreve Ocircumflex -30 +KPX Abreve Odieresis -30 +KPX Abreve Ograve -30 +KPX Abreve Ohungarumlaut -30 +KPX Abreve Omacron -30 +KPX Abreve Oslash -30 +KPX Abreve Otilde -30 +KPX Abreve Q -30 +KPX Abreve T -120 +KPX Abreve Tcaron -120 +KPX Abreve Tcommaaccent -120 +KPX Abreve U -50 +KPX Abreve Uacute -50 +KPX Abreve Ucircumflex -50 +KPX Abreve Udieresis -50 +KPX Abreve Ugrave -50 +KPX Abreve Uhungarumlaut -50 +KPX Abreve Umacron -50 +KPX Abreve Uogonek -50 +KPX Abreve Uring -50 +KPX Abreve V -70 +KPX Abreve W -50 +KPX Abreve Y -100 +KPX Abreve Yacute -100 +KPX Abreve Ydieresis -100 +KPX Abreve u -30 +KPX Abreve uacute -30 +KPX Abreve ucircumflex -30 +KPX Abreve udieresis -30 +KPX Abreve ugrave -30 +KPX Abreve uhungarumlaut -30 +KPX Abreve umacron -30 +KPX Abreve uogonek -30 +KPX Abreve uring -30 +KPX Abreve v -40 +KPX Abreve w -40 +KPX Abreve y -40 +KPX Abreve yacute -40 +KPX Abreve ydieresis -40 +KPX Acircumflex C -30 +KPX Acircumflex Cacute -30 +KPX Acircumflex Ccaron -30 +KPX Acircumflex Ccedilla -30 +KPX Acircumflex G -30 +KPX Acircumflex Gbreve -30 +KPX Acircumflex Gcommaaccent -30 +KPX Acircumflex O -30 +KPX Acircumflex Oacute -30 +KPX Acircumflex Ocircumflex -30 +KPX Acircumflex Odieresis -30 +KPX Acircumflex Ograve -30 +KPX Acircumflex Ohungarumlaut -30 +KPX Acircumflex Omacron -30 +KPX Acircumflex Oslash -30 +KPX Acircumflex Otilde -30 +KPX Acircumflex Q -30 +KPX Acircumflex T -120 +KPX Acircumflex Tcaron -120 +KPX Acircumflex Tcommaaccent -120 +KPX Acircumflex U -50 +KPX Acircumflex Uacute -50 +KPX Acircumflex Ucircumflex -50 +KPX Acircumflex Udieresis -50 +KPX Acircumflex Ugrave -50 +KPX Acircumflex Uhungarumlaut -50 +KPX Acircumflex Umacron -50 +KPX Acircumflex Uogonek -50 +KPX Acircumflex Uring -50 +KPX Acircumflex V -70 +KPX Acircumflex W -50 +KPX Acircumflex Y -100 +KPX Acircumflex Yacute -100 +KPX Acircumflex Ydieresis -100 +KPX Acircumflex u -30 +KPX Acircumflex uacute -30 +KPX Acircumflex ucircumflex -30 +KPX Acircumflex udieresis -30 +KPX Acircumflex ugrave -30 +KPX Acircumflex uhungarumlaut -30 +KPX Acircumflex umacron -30 +KPX Acircumflex uogonek -30 +KPX Acircumflex uring -30 +KPX Acircumflex v -40 +KPX Acircumflex w -40 +KPX Acircumflex y -40 +KPX Acircumflex yacute -40 +KPX Acircumflex ydieresis -40 +KPX Adieresis C -30 +KPX Adieresis Cacute -30 +KPX Adieresis Ccaron -30 +KPX Adieresis Ccedilla -30 +KPX Adieresis G -30 +KPX Adieresis Gbreve -30 +KPX Adieresis Gcommaaccent -30 +KPX Adieresis O -30 +KPX Adieresis Oacute -30 +KPX Adieresis Ocircumflex -30 +KPX Adieresis Odieresis -30 +KPX Adieresis Ograve -30 +KPX Adieresis Ohungarumlaut -30 +KPX Adieresis Omacron -30 +KPX Adieresis Oslash -30 +KPX Adieresis Otilde -30 +KPX Adieresis Q -30 +KPX Adieresis T -120 +KPX Adieresis Tcaron -120 +KPX Adieresis Tcommaaccent -120 +KPX Adieresis U -50 +KPX Adieresis Uacute -50 +KPX Adieresis Ucircumflex -50 +KPX Adieresis Udieresis -50 +KPX Adieresis Ugrave -50 +KPX Adieresis Uhungarumlaut -50 +KPX Adieresis Umacron -50 +KPX Adieresis Uogonek -50 +KPX Adieresis Uring -50 +KPX Adieresis V -70 +KPX Adieresis W -50 +KPX Adieresis Y -100 +KPX Adieresis Yacute -100 +KPX Adieresis Ydieresis -100 +KPX Adieresis u -30 +KPX Adieresis uacute -30 +KPX Adieresis ucircumflex -30 +KPX Adieresis udieresis -30 +KPX Adieresis ugrave -30 +KPX Adieresis uhungarumlaut -30 +KPX Adieresis umacron -30 +KPX Adieresis uogonek -30 +KPX Adieresis uring -30 +KPX Adieresis v -40 +KPX Adieresis w -40 +KPX Adieresis y -40 +KPX Adieresis yacute -40 +KPX Adieresis ydieresis -40 +KPX Agrave C -30 +KPX Agrave Cacute -30 +KPX Agrave Ccaron -30 +KPX Agrave Ccedilla -30 +KPX Agrave G -30 +KPX Agrave Gbreve -30 +KPX Agrave Gcommaaccent -30 +KPX Agrave O -30 +KPX Agrave Oacute -30 +KPX Agrave Ocircumflex -30 +KPX Agrave Odieresis -30 +KPX Agrave Ograve -30 +KPX Agrave Ohungarumlaut -30 +KPX Agrave Omacron -30 +KPX Agrave Oslash -30 +KPX Agrave Otilde -30 +KPX Agrave Q -30 +KPX Agrave T -120 +KPX Agrave Tcaron -120 +KPX Agrave Tcommaaccent -120 +KPX Agrave U -50 +KPX Agrave Uacute -50 +KPX Agrave Ucircumflex -50 +KPX Agrave Udieresis -50 +KPX Agrave Ugrave -50 +KPX Agrave Uhungarumlaut -50 +KPX Agrave Umacron -50 +KPX Agrave Uogonek -50 +KPX Agrave Uring -50 +KPX Agrave V -70 +KPX Agrave W -50 +KPX Agrave Y -100 +KPX Agrave Yacute -100 +KPX Agrave Ydieresis -100 +KPX Agrave u -30 +KPX Agrave uacute -30 +KPX Agrave ucircumflex -30 +KPX Agrave udieresis -30 +KPX Agrave ugrave -30 +KPX Agrave uhungarumlaut -30 +KPX Agrave umacron -30 +KPX Agrave uogonek -30 +KPX Agrave uring -30 +KPX Agrave v -40 +KPX Agrave w -40 +KPX Agrave y -40 +KPX Agrave yacute -40 +KPX Agrave ydieresis -40 +KPX Amacron C -30 +KPX Amacron Cacute -30 +KPX Amacron Ccaron -30 +KPX Amacron Ccedilla -30 +KPX Amacron G -30 +KPX Amacron Gbreve -30 +KPX Amacron Gcommaaccent -30 +KPX Amacron O -30 +KPX Amacron Oacute -30 +KPX Amacron Ocircumflex -30 +KPX Amacron Odieresis -30 +KPX Amacron Ograve -30 +KPX Amacron Ohungarumlaut -30 +KPX Amacron Omacron -30 +KPX Amacron Oslash -30 +KPX Amacron Otilde -30 +KPX Amacron Q -30 +KPX Amacron T -120 +KPX Amacron Tcaron -120 +KPX Amacron Tcommaaccent -120 +KPX Amacron U -50 +KPX Amacron Uacute -50 +KPX Amacron Ucircumflex -50 +KPX Amacron Udieresis -50 +KPX Amacron Ugrave -50 +KPX Amacron Uhungarumlaut -50 +KPX Amacron Umacron -50 +KPX Amacron Uogonek -50 +KPX Amacron Uring -50 +KPX Amacron V -70 +KPX Amacron W -50 +KPX Amacron Y -100 +KPX Amacron Yacute -100 +KPX Amacron Ydieresis -100 +KPX Amacron u -30 +KPX Amacron uacute -30 +KPX Amacron ucircumflex -30 +KPX Amacron udieresis -30 +KPX Amacron ugrave -30 +KPX Amacron uhungarumlaut -30 +KPX Amacron umacron -30 +KPX Amacron uogonek -30 +KPX Amacron uring -30 +KPX Amacron v -40 +KPX Amacron w -40 +KPX Amacron y -40 +KPX Amacron yacute -40 +KPX Amacron ydieresis -40 +KPX Aogonek C -30 +KPX Aogonek Cacute -30 +KPX Aogonek Ccaron -30 +KPX Aogonek Ccedilla -30 +KPX Aogonek G -30 +KPX Aogonek Gbreve -30 +KPX Aogonek Gcommaaccent -30 +KPX Aogonek O -30 +KPX Aogonek Oacute -30 +KPX Aogonek Ocircumflex -30 +KPX Aogonek Odieresis -30 +KPX Aogonek Ograve -30 +KPX Aogonek Ohungarumlaut -30 +KPX Aogonek Omacron -30 +KPX Aogonek Oslash -30 +KPX Aogonek Otilde -30 +KPX Aogonek Q -30 +KPX Aogonek T -120 +KPX Aogonek Tcaron -120 +KPX Aogonek Tcommaaccent -120 +KPX Aogonek U -50 +KPX Aogonek Uacute -50 +KPX Aogonek Ucircumflex -50 +KPX Aogonek Udieresis -50 +KPX Aogonek Ugrave -50 +KPX Aogonek Uhungarumlaut -50 +KPX Aogonek Umacron -50 +KPX Aogonek Uogonek -50 +KPX Aogonek Uring -50 +KPX Aogonek V -70 +KPX Aogonek W -50 +KPX Aogonek Y -100 +KPX Aogonek Yacute -100 +KPX Aogonek Ydieresis -100 +KPX Aogonek u -30 +KPX Aogonek uacute -30 +KPX Aogonek ucircumflex -30 +KPX Aogonek udieresis -30 +KPX Aogonek ugrave -30 +KPX Aogonek uhungarumlaut -30 +KPX Aogonek umacron -30 +KPX Aogonek uogonek -30 +KPX Aogonek uring -30 +KPX Aogonek v -40 +KPX Aogonek w -40 +KPX Aogonek y -40 +KPX Aogonek yacute -40 +KPX Aogonek ydieresis -40 +KPX Aring C -30 +KPX Aring Cacute -30 +KPX Aring Ccaron -30 +KPX Aring Ccedilla -30 +KPX Aring G -30 +KPX Aring Gbreve -30 +KPX Aring Gcommaaccent -30 +KPX Aring O -30 +KPX Aring Oacute -30 +KPX Aring Ocircumflex -30 +KPX Aring Odieresis -30 +KPX Aring Ograve -30 +KPX Aring Ohungarumlaut -30 +KPX Aring Omacron -30 +KPX Aring Oslash -30 +KPX Aring Otilde -30 +KPX Aring Q -30 +KPX Aring T -120 +KPX Aring Tcaron -120 +KPX Aring Tcommaaccent -120 +KPX Aring U -50 +KPX Aring Uacute -50 +KPX Aring Ucircumflex -50 +KPX Aring Udieresis -50 +KPX Aring Ugrave -50 +KPX Aring Uhungarumlaut -50 +KPX Aring Umacron -50 +KPX Aring Uogonek -50 +KPX Aring Uring -50 +KPX Aring V -70 +KPX Aring W -50 +KPX Aring Y -100 +KPX Aring Yacute -100 +KPX Aring Ydieresis -100 +KPX Aring u -30 +KPX Aring uacute -30 +KPX Aring ucircumflex -30 +KPX Aring udieresis -30 +KPX Aring ugrave -30 +KPX Aring uhungarumlaut -30 +KPX Aring umacron -30 +KPX Aring uogonek -30 +KPX Aring uring -30 +KPX Aring v -40 +KPX Aring w -40 +KPX Aring y -40 +KPX Aring yacute -40 +KPX Aring ydieresis -40 +KPX Atilde C -30 +KPX Atilde Cacute -30 +KPX Atilde Ccaron -30 +KPX Atilde Ccedilla -30 +KPX Atilde G -30 +KPX Atilde Gbreve -30 +KPX Atilde Gcommaaccent -30 +KPX Atilde O -30 +KPX Atilde Oacute -30 +KPX Atilde Ocircumflex -30 +KPX Atilde Odieresis -30 +KPX Atilde Ograve -30 +KPX Atilde Ohungarumlaut -30 +KPX Atilde Omacron -30 +KPX Atilde Oslash -30 +KPX Atilde Otilde -30 +KPX Atilde Q -30 +KPX Atilde T -120 +KPX Atilde Tcaron -120 +KPX Atilde Tcommaaccent -120 +KPX Atilde U -50 +KPX Atilde Uacute -50 +KPX Atilde Ucircumflex -50 +KPX Atilde Udieresis -50 +KPX Atilde Ugrave -50 +KPX Atilde Uhungarumlaut -50 +KPX Atilde Umacron -50 +KPX Atilde Uogonek -50 +KPX Atilde Uring -50 +KPX Atilde V -70 +KPX Atilde W -50 +KPX Atilde Y -100 +KPX Atilde Yacute -100 +KPX Atilde Ydieresis -100 +KPX Atilde u -30 +KPX Atilde uacute -30 +KPX Atilde ucircumflex -30 +KPX Atilde udieresis -30 +KPX Atilde ugrave -30 +KPX Atilde uhungarumlaut -30 +KPX Atilde umacron -30 +KPX Atilde uogonek -30 +KPX Atilde uring -30 +KPX Atilde v -40 +KPX Atilde w -40 +KPX Atilde y -40 +KPX Atilde yacute -40 +KPX Atilde ydieresis -40 +KPX B U -10 +KPX B Uacute -10 +KPX B Ucircumflex -10 +KPX B Udieresis -10 +KPX B Ugrave -10 +KPX B Uhungarumlaut -10 +KPX B Umacron -10 +KPX B Uogonek -10 +KPX B Uring -10 +KPX B comma -20 +KPX B period -20 +KPX C comma -30 +KPX C period -30 +KPX Cacute comma -30 +KPX Cacute period -30 +KPX Ccaron comma -30 +KPX Ccaron period -30 +KPX Ccedilla comma -30 +KPX Ccedilla period -30 +KPX D A -40 +KPX D Aacute -40 +KPX D Abreve -40 +KPX D Acircumflex -40 +KPX D Adieresis -40 +KPX D Agrave -40 +KPX D Amacron -40 +KPX D Aogonek -40 +KPX D Aring -40 +KPX D Atilde -40 +KPX D V -70 +KPX D W -40 +KPX D Y -90 +KPX D Yacute -90 +KPX D Ydieresis -90 +KPX D comma -70 +KPX D period -70 +KPX Dcaron A -40 +KPX Dcaron Aacute -40 +KPX Dcaron Abreve -40 +KPX Dcaron Acircumflex -40 +KPX Dcaron Adieresis -40 +KPX Dcaron Agrave -40 +KPX Dcaron Amacron -40 +KPX Dcaron Aogonek -40 +KPX Dcaron Aring -40 +KPX Dcaron Atilde -40 +KPX Dcaron V -70 +KPX Dcaron W -40 +KPX Dcaron Y -90 +KPX Dcaron Yacute -90 +KPX Dcaron Ydieresis -90 +KPX Dcaron comma -70 +KPX Dcaron period -70 +KPX Dcroat A -40 +KPX Dcroat Aacute -40 +KPX Dcroat Abreve -40 +KPX Dcroat Acircumflex -40 +KPX Dcroat Adieresis -40 +KPX Dcroat Agrave -40 +KPX Dcroat Amacron -40 +KPX Dcroat Aogonek -40 +KPX Dcroat Aring -40 +KPX Dcroat Atilde -40 +KPX Dcroat V -70 +KPX Dcroat W -40 +KPX Dcroat Y -90 +KPX Dcroat Yacute -90 +KPX Dcroat Ydieresis -90 +KPX Dcroat comma -70 +KPX Dcroat period -70 +KPX F A -80 +KPX F Aacute -80 +KPX F Abreve -80 +KPX F Acircumflex -80 +KPX F Adieresis -80 +KPX F Agrave -80 +KPX F Amacron -80 +KPX F Aogonek -80 +KPX F Aring -80 +KPX F Atilde -80 +KPX F a -50 +KPX F aacute -50 +KPX F abreve -50 +KPX F acircumflex -50 +KPX F adieresis -50 +KPX F agrave -50 +KPX F amacron -50 +KPX F aogonek -50 +KPX F aring -50 +KPX F atilde -50 +KPX F comma -150 +KPX F e -30 +KPX F eacute -30 +KPX F ecaron -30 +KPX F ecircumflex -30 +KPX F edieresis -30 +KPX F edotaccent -30 +KPX F egrave -30 +KPX F emacron -30 +KPX F eogonek -30 +KPX F o -30 +KPX F oacute -30 +KPX F ocircumflex -30 +KPX F odieresis -30 +KPX F ograve -30 +KPX F ohungarumlaut -30 +KPX F omacron -30 +KPX F oslash -30 +KPX F otilde -30 +KPX F period -150 +KPX F r -45 +KPX F racute -45 +KPX F rcaron -45 +KPX F rcommaaccent -45 +KPX J A -20 +KPX J Aacute -20 +KPX J Abreve -20 +KPX J Acircumflex -20 +KPX J Adieresis -20 +KPX J Agrave -20 +KPX J Amacron -20 +KPX J Aogonek -20 +KPX J Aring -20 +KPX J Atilde -20 +KPX J a -20 +KPX J aacute -20 +KPX J abreve -20 +KPX J acircumflex -20 +KPX J adieresis -20 +KPX J agrave -20 +KPX J amacron -20 +KPX J aogonek -20 +KPX J aring -20 +KPX J atilde -20 +KPX J comma -30 +KPX J period -30 +KPX J u -20 +KPX J uacute -20 +KPX J ucircumflex -20 +KPX J udieresis -20 +KPX J ugrave -20 +KPX J uhungarumlaut -20 +KPX J umacron -20 +KPX J uogonek -20 +KPX J uring -20 +KPX K O -50 +KPX K Oacute -50 +KPX K Ocircumflex -50 +KPX K Odieresis -50 +KPX K Ograve -50 +KPX K Ohungarumlaut -50 +KPX K Omacron -50 +KPX K Oslash -50 +KPX K Otilde -50 +KPX K e -40 +KPX K eacute -40 +KPX K ecaron -40 +KPX K ecircumflex -40 +KPX K edieresis -40 +KPX K edotaccent -40 +KPX K egrave -40 +KPX K emacron -40 +KPX K eogonek -40 +KPX K o -40 +KPX K oacute -40 +KPX K ocircumflex -40 +KPX K odieresis -40 +KPX K ograve -40 +KPX K ohungarumlaut -40 +KPX K omacron -40 +KPX K oslash -40 +KPX K otilde -40 +KPX K u -30 +KPX K uacute -30 +KPX K ucircumflex -30 +KPX K udieresis -30 +KPX K ugrave -30 +KPX K uhungarumlaut -30 +KPX K umacron -30 +KPX K uogonek -30 +KPX K uring -30 +KPX K y -50 +KPX K yacute -50 +KPX K ydieresis -50 +KPX Kcommaaccent O -50 +KPX Kcommaaccent Oacute -50 +KPX Kcommaaccent Ocircumflex -50 +KPX Kcommaaccent Odieresis -50 +KPX Kcommaaccent Ograve -50 +KPX Kcommaaccent Ohungarumlaut -50 +KPX Kcommaaccent Omacron -50 +KPX Kcommaaccent Oslash -50 +KPX Kcommaaccent Otilde -50 +KPX Kcommaaccent e -40 +KPX Kcommaaccent eacute -40 +KPX Kcommaaccent ecaron -40 +KPX Kcommaaccent ecircumflex -40 +KPX Kcommaaccent edieresis -40 +KPX Kcommaaccent edotaccent -40 +KPX Kcommaaccent egrave -40 +KPX Kcommaaccent emacron -40 +KPX Kcommaaccent eogonek -40 +KPX Kcommaaccent o -40 +KPX Kcommaaccent oacute -40 +KPX Kcommaaccent ocircumflex -40 +KPX Kcommaaccent odieresis -40 +KPX Kcommaaccent ograve -40 +KPX Kcommaaccent ohungarumlaut -40 +KPX Kcommaaccent omacron -40 +KPX Kcommaaccent oslash -40 +KPX Kcommaaccent otilde -40 +KPX Kcommaaccent u -30 +KPX Kcommaaccent uacute -30 +KPX Kcommaaccent ucircumflex -30 +KPX Kcommaaccent udieresis -30 +KPX Kcommaaccent ugrave -30 +KPX Kcommaaccent uhungarumlaut -30 +KPX Kcommaaccent umacron -30 +KPX Kcommaaccent uogonek -30 +KPX Kcommaaccent uring -30 +KPX Kcommaaccent y -50 +KPX Kcommaaccent yacute -50 +KPX Kcommaaccent ydieresis -50 +KPX L T -110 +KPX L Tcaron -110 +KPX L Tcommaaccent -110 +KPX L V -110 +KPX L W -70 +KPX L Y -140 +KPX L Yacute -140 +KPX L Ydieresis -140 +KPX L quotedblright -140 +KPX L quoteright -160 +KPX L y -30 +KPX L yacute -30 +KPX L ydieresis -30 +KPX Lacute T -110 +KPX Lacute Tcaron -110 +KPX Lacute Tcommaaccent -110 +KPX Lacute V -110 +KPX Lacute W -70 +KPX Lacute Y -140 +KPX Lacute Yacute -140 +KPX Lacute Ydieresis -140 +KPX Lacute quotedblright -140 +KPX Lacute quoteright -160 +KPX Lacute y -30 +KPX Lacute yacute -30 +KPX Lacute ydieresis -30 +KPX Lcaron T -110 +KPX Lcaron Tcaron -110 +KPX Lcaron Tcommaaccent -110 +KPX Lcaron V -110 +KPX Lcaron W -70 +KPX Lcaron Y -140 +KPX Lcaron Yacute -140 +KPX Lcaron Ydieresis -140 +KPX Lcaron quotedblright -140 +KPX Lcaron quoteright -160 +KPX Lcaron y -30 +KPX Lcaron yacute -30 +KPX Lcaron ydieresis -30 +KPX Lcommaaccent T -110 +KPX Lcommaaccent Tcaron -110 +KPX Lcommaaccent Tcommaaccent -110 +KPX Lcommaaccent V -110 +KPX Lcommaaccent W -70 +KPX Lcommaaccent Y -140 +KPX Lcommaaccent Yacute -140 +KPX Lcommaaccent Ydieresis -140 +KPX Lcommaaccent quotedblright -140 +KPX Lcommaaccent quoteright -160 +KPX Lcommaaccent y -30 +KPX Lcommaaccent yacute -30 +KPX Lcommaaccent ydieresis -30 +KPX Lslash T -110 +KPX Lslash Tcaron -110 +KPX Lslash Tcommaaccent -110 +KPX Lslash V -110 +KPX Lslash W -70 +KPX Lslash Y -140 +KPX Lslash Yacute -140 +KPX Lslash Ydieresis -140 +KPX Lslash quotedblright -140 +KPX Lslash quoteright -160 +KPX Lslash y -30 +KPX Lslash yacute -30 +KPX Lslash ydieresis -30 +KPX O A -20 +KPX O Aacute -20 +KPX O Abreve -20 +KPX O Acircumflex -20 +KPX O Adieresis -20 +KPX O Agrave -20 +KPX O Amacron -20 +KPX O Aogonek -20 +KPX O Aring -20 +KPX O Atilde -20 +KPX O T -40 +KPX O Tcaron -40 +KPX O Tcommaaccent -40 +KPX O V -50 +KPX O W -30 +KPX O X -60 +KPX O Y -70 +KPX O Yacute -70 +KPX O Ydieresis -70 +KPX O comma -40 +KPX O period -40 +KPX Oacute A -20 +KPX Oacute Aacute -20 +KPX Oacute Abreve -20 +KPX Oacute Acircumflex -20 +KPX Oacute Adieresis -20 +KPX Oacute Agrave -20 +KPX Oacute Amacron -20 +KPX Oacute Aogonek -20 +KPX Oacute Aring -20 +KPX Oacute Atilde -20 +KPX Oacute T -40 +KPX Oacute Tcaron -40 +KPX Oacute Tcommaaccent -40 +KPX Oacute V -50 +KPX Oacute W -30 +KPX Oacute X -60 +KPX Oacute Y -70 +KPX Oacute Yacute -70 +KPX Oacute Ydieresis -70 +KPX Oacute comma -40 +KPX Oacute period -40 +KPX Ocircumflex A -20 +KPX Ocircumflex Aacute -20 +KPX Ocircumflex Abreve -20 +KPX Ocircumflex Acircumflex -20 +KPX Ocircumflex Adieresis -20 +KPX Ocircumflex Agrave -20 +KPX Ocircumflex Amacron -20 +KPX Ocircumflex Aogonek -20 +KPX Ocircumflex Aring -20 +KPX Ocircumflex Atilde -20 +KPX Ocircumflex T -40 +KPX Ocircumflex Tcaron -40 +KPX Ocircumflex Tcommaaccent -40 +KPX Ocircumflex V -50 +KPX Ocircumflex W -30 +KPX Ocircumflex X -60 +KPX Ocircumflex Y -70 +KPX Ocircumflex Yacute -70 +KPX Ocircumflex Ydieresis -70 +KPX Ocircumflex comma -40 +KPX Ocircumflex period -40 +KPX Odieresis A -20 +KPX Odieresis Aacute -20 +KPX Odieresis Abreve -20 +KPX Odieresis Acircumflex -20 +KPX Odieresis Adieresis -20 +KPX Odieresis Agrave -20 +KPX Odieresis Amacron -20 +KPX Odieresis Aogonek -20 +KPX Odieresis Aring -20 +KPX Odieresis Atilde -20 +KPX Odieresis T -40 +KPX Odieresis Tcaron -40 +KPX Odieresis Tcommaaccent -40 +KPX Odieresis V -50 +KPX Odieresis W -30 +KPX Odieresis X -60 +KPX Odieresis Y -70 +KPX Odieresis Yacute -70 +KPX Odieresis Ydieresis -70 +KPX Odieresis comma -40 +KPX Odieresis period -40 +KPX Ograve A -20 +KPX Ograve Aacute -20 +KPX Ograve Abreve -20 +KPX Ograve Acircumflex -20 +KPX Ograve Adieresis -20 +KPX Ograve Agrave -20 +KPX Ograve Amacron -20 +KPX Ograve Aogonek -20 +KPX Ograve Aring -20 +KPX Ograve Atilde -20 +KPX Ograve T -40 +KPX Ograve Tcaron -40 +KPX Ograve Tcommaaccent -40 +KPX Ograve V -50 +KPX Ograve W -30 +KPX Ograve X -60 +KPX Ograve Y -70 +KPX Ograve Yacute -70 +KPX Ograve Ydieresis -70 +KPX Ograve comma -40 +KPX Ograve period -40 +KPX Ohungarumlaut A -20 +KPX Ohungarumlaut Aacute -20 +KPX Ohungarumlaut Abreve -20 +KPX Ohungarumlaut Acircumflex -20 +KPX Ohungarumlaut Adieresis -20 +KPX Ohungarumlaut Agrave -20 +KPX Ohungarumlaut Amacron -20 +KPX Ohungarumlaut Aogonek -20 +KPX Ohungarumlaut Aring -20 +KPX Ohungarumlaut Atilde -20 +KPX Ohungarumlaut T -40 +KPX Ohungarumlaut Tcaron -40 +KPX Ohungarumlaut Tcommaaccent -40 +KPX Ohungarumlaut V -50 +KPX Ohungarumlaut W -30 +KPX Ohungarumlaut X -60 +KPX Ohungarumlaut Y -70 +KPX Ohungarumlaut Yacute -70 +KPX Ohungarumlaut Ydieresis -70 +KPX Ohungarumlaut comma -40 +KPX Ohungarumlaut period -40 +KPX Omacron A -20 +KPX Omacron Aacute -20 +KPX Omacron Abreve -20 +KPX Omacron Acircumflex -20 +KPX Omacron Adieresis -20 +KPX Omacron Agrave -20 +KPX Omacron Amacron -20 +KPX Omacron Aogonek -20 +KPX Omacron Aring -20 +KPX Omacron Atilde -20 +KPX Omacron T -40 +KPX Omacron Tcaron -40 +KPX Omacron Tcommaaccent -40 +KPX Omacron V -50 +KPX Omacron W -30 +KPX Omacron X -60 +KPX Omacron Y -70 +KPX Omacron Yacute -70 +KPX Omacron Ydieresis -70 +KPX Omacron comma -40 +KPX Omacron period -40 +KPX Oslash A -20 +KPX Oslash Aacute -20 +KPX Oslash Abreve -20 +KPX Oslash Acircumflex -20 +KPX Oslash Adieresis -20 +KPX Oslash Agrave -20 +KPX Oslash Amacron -20 +KPX Oslash Aogonek -20 +KPX Oslash Aring -20 +KPX Oslash Atilde -20 +KPX Oslash T -40 +KPX Oslash Tcaron -40 +KPX Oslash Tcommaaccent -40 +KPX Oslash V -50 +KPX Oslash W -30 +KPX Oslash X -60 +KPX Oslash Y -70 +KPX Oslash Yacute -70 +KPX Oslash Ydieresis -70 +KPX Oslash comma -40 +KPX Oslash period -40 +KPX Otilde A -20 +KPX Otilde Aacute -20 +KPX Otilde Abreve -20 +KPX Otilde Acircumflex -20 +KPX Otilde Adieresis -20 +KPX Otilde Agrave -20 +KPX Otilde Amacron -20 +KPX Otilde Aogonek -20 +KPX Otilde Aring -20 +KPX Otilde Atilde -20 +KPX Otilde T -40 +KPX Otilde Tcaron -40 +KPX Otilde Tcommaaccent -40 +KPX Otilde V -50 +KPX Otilde W -30 +KPX Otilde X -60 +KPX Otilde Y -70 +KPX Otilde Yacute -70 +KPX Otilde Ydieresis -70 +KPX Otilde comma -40 +KPX Otilde period -40 +KPX P A -120 +KPX P Aacute -120 +KPX P Abreve -120 +KPX P Acircumflex -120 +KPX P Adieresis -120 +KPX P Agrave -120 +KPX P Amacron -120 +KPX P Aogonek -120 +KPX P Aring -120 +KPX P Atilde -120 +KPX P a -40 +KPX P aacute -40 +KPX P abreve -40 +KPX P acircumflex -40 +KPX P adieresis -40 +KPX P agrave -40 +KPX P amacron -40 +KPX P aogonek -40 +KPX P aring -40 +KPX P atilde -40 +KPX P comma -180 +KPX P e -50 +KPX P eacute -50 +KPX P ecaron -50 +KPX P ecircumflex -50 +KPX P edieresis -50 +KPX P edotaccent -50 +KPX P egrave -50 +KPX P emacron -50 +KPX P eogonek -50 +KPX P o -50 +KPX P oacute -50 +KPX P ocircumflex -50 +KPX P odieresis -50 +KPX P ograve -50 +KPX P ohungarumlaut -50 +KPX P omacron -50 +KPX P oslash -50 +KPX P otilde -50 +KPX P period -180 +KPX Q U -10 +KPX Q Uacute -10 +KPX Q Ucircumflex -10 +KPX Q Udieresis -10 +KPX Q Ugrave -10 +KPX Q Uhungarumlaut -10 +KPX Q Umacron -10 +KPX Q Uogonek -10 +KPX Q Uring -10 +KPX R O -20 +KPX R Oacute -20 +KPX R Ocircumflex -20 +KPX R Odieresis -20 +KPX R Ograve -20 +KPX R Ohungarumlaut -20 +KPX R Omacron -20 +KPX R Oslash -20 +KPX R Otilde -20 +KPX R T -30 +KPX R Tcaron -30 +KPX R Tcommaaccent -30 +KPX R U -40 +KPX R Uacute -40 +KPX R Ucircumflex -40 +KPX R Udieresis -40 +KPX R Ugrave -40 +KPX R Uhungarumlaut -40 +KPX R Umacron -40 +KPX R Uogonek -40 +KPX R Uring -40 +KPX R V -50 +KPX R W -30 +KPX R Y -50 +KPX R Yacute -50 +KPX R Ydieresis -50 +KPX Racute O -20 +KPX Racute Oacute -20 +KPX Racute Ocircumflex -20 +KPX Racute Odieresis -20 +KPX Racute Ograve -20 +KPX Racute Ohungarumlaut -20 +KPX Racute Omacron -20 +KPX Racute Oslash -20 +KPX Racute Otilde -20 +KPX Racute T -30 +KPX Racute Tcaron -30 +KPX Racute Tcommaaccent -30 +KPX Racute U -40 +KPX Racute Uacute -40 +KPX Racute Ucircumflex -40 +KPX Racute Udieresis -40 +KPX Racute Ugrave -40 +KPX Racute Uhungarumlaut -40 +KPX Racute Umacron -40 +KPX Racute Uogonek -40 +KPX Racute Uring -40 +KPX Racute V -50 +KPX Racute W -30 +KPX Racute Y -50 +KPX Racute Yacute -50 +KPX Racute Ydieresis -50 +KPX Rcaron O -20 +KPX Rcaron Oacute -20 +KPX Rcaron Ocircumflex -20 +KPX Rcaron Odieresis -20 +KPX Rcaron Ograve -20 +KPX Rcaron Ohungarumlaut -20 +KPX Rcaron Omacron -20 +KPX Rcaron Oslash -20 +KPX Rcaron Otilde -20 +KPX Rcaron T -30 +KPX Rcaron Tcaron -30 +KPX Rcaron Tcommaaccent -30 +KPX Rcaron U -40 +KPX Rcaron Uacute -40 +KPX Rcaron Ucircumflex -40 +KPX Rcaron Udieresis -40 +KPX Rcaron Ugrave -40 +KPX Rcaron Uhungarumlaut -40 +KPX Rcaron Umacron -40 +KPX Rcaron Uogonek -40 +KPX Rcaron Uring -40 +KPX Rcaron V -50 +KPX Rcaron W -30 +KPX Rcaron Y -50 +KPX Rcaron Yacute -50 +KPX Rcaron Ydieresis -50 +KPX Rcommaaccent O -20 +KPX Rcommaaccent Oacute -20 +KPX Rcommaaccent Ocircumflex -20 +KPX Rcommaaccent Odieresis -20 +KPX Rcommaaccent Ograve -20 +KPX Rcommaaccent Ohungarumlaut -20 +KPX Rcommaaccent Omacron -20 +KPX Rcommaaccent Oslash -20 +KPX Rcommaaccent Otilde -20 +KPX Rcommaaccent T -30 +KPX Rcommaaccent Tcaron -30 +KPX Rcommaaccent Tcommaaccent -30 +KPX Rcommaaccent U -40 +KPX Rcommaaccent Uacute -40 +KPX Rcommaaccent Ucircumflex -40 +KPX Rcommaaccent Udieresis -40 +KPX Rcommaaccent Ugrave -40 +KPX Rcommaaccent Uhungarumlaut -40 +KPX Rcommaaccent Umacron -40 +KPX Rcommaaccent Uogonek -40 +KPX Rcommaaccent Uring -40 +KPX Rcommaaccent V -50 +KPX Rcommaaccent W -30 +KPX Rcommaaccent Y -50 +KPX Rcommaaccent Yacute -50 +KPX Rcommaaccent Ydieresis -50 +KPX S comma -20 +KPX S period -20 +KPX Sacute comma -20 +KPX Sacute period -20 +KPX Scaron comma -20 +KPX Scaron period -20 +KPX Scedilla comma -20 +KPX Scedilla period -20 +KPX Scommaaccent comma -20 +KPX Scommaaccent period -20 +KPX T A -120 +KPX T Aacute -120 +KPX T Abreve -120 +KPX T Acircumflex -120 +KPX T Adieresis -120 +KPX T Agrave -120 +KPX T Amacron -120 +KPX T Aogonek -120 +KPX T Aring -120 +KPX T Atilde -120 +KPX T O -40 +KPX T Oacute -40 +KPX T Ocircumflex -40 +KPX T Odieresis -40 +KPX T Ograve -40 +KPX T Ohungarumlaut -40 +KPX T Omacron -40 +KPX T Oslash -40 +KPX T Otilde -40 +KPX T a -120 +KPX T aacute -120 +KPX T abreve -60 +KPX T acircumflex -120 +KPX T adieresis -120 +KPX T agrave -120 +KPX T amacron -60 +KPX T aogonek -120 +KPX T aring -120 +KPX T atilde -60 +KPX T colon -20 +KPX T comma -120 +KPX T e -120 +KPX T eacute -120 +KPX T ecaron -120 +KPX T ecircumflex -120 +KPX T edieresis -120 +KPX T edotaccent -120 +KPX T egrave -60 +KPX T emacron -60 +KPX T eogonek -120 +KPX T hyphen -140 +KPX T o -120 +KPX T oacute -120 +KPX T ocircumflex -120 +KPX T odieresis -120 +KPX T ograve -120 +KPX T ohungarumlaut -120 +KPX T omacron -60 +KPX T oslash -120 +KPX T otilde -60 +KPX T period -120 +KPX T r -120 +KPX T racute -120 +KPX T rcaron -120 +KPX T rcommaaccent -120 +KPX T semicolon -20 +KPX T u -120 +KPX T uacute -120 +KPX T ucircumflex -120 +KPX T udieresis -120 +KPX T ugrave -120 +KPX T uhungarumlaut -120 +KPX T umacron -60 +KPX T uogonek -120 +KPX T uring -120 +KPX T w -120 +KPX T y -120 +KPX T yacute -120 +KPX T ydieresis -60 +KPX Tcaron A -120 +KPX Tcaron Aacute -120 +KPX Tcaron Abreve -120 +KPX Tcaron Acircumflex -120 +KPX Tcaron Adieresis -120 +KPX Tcaron Agrave -120 +KPX Tcaron Amacron -120 +KPX Tcaron Aogonek -120 +KPX Tcaron Aring -120 +KPX Tcaron Atilde -120 +KPX Tcaron O -40 +KPX Tcaron Oacute -40 +KPX Tcaron Ocircumflex -40 +KPX Tcaron Odieresis -40 +KPX Tcaron Ograve -40 +KPX Tcaron Ohungarumlaut -40 +KPX Tcaron Omacron -40 +KPX Tcaron Oslash -40 +KPX Tcaron Otilde -40 +KPX Tcaron a -120 +KPX Tcaron aacute -120 +KPX Tcaron abreve -60 +KPX Tcaron acircumflex -120 +KPX Tcaron adieresis -120 +KPX Tcaron agrave -120 +KPX Tcaron amacron -60 +KPX Tcaron aogonek -120 +KPX Tcaron aring -120 +KPX Tcaron atilde -60 +KPX Tcaron colon -20 +KPX Tcaron comma -120 +KPX Tcaron e -120 +KPX Tcaron eacute -120 +KPX Tcaron ecaron -120 +KPX Tcaron ecircumflex -120 +KPX Tcaron edieresis -120 +KPX Tcaron edotaccent -120 +KPX Tcaron egrave -60 +KPX Tcaron emacron -60 +KPX Tcaron eogonek -120 +KPX Tcaron hyphen -140 +KPX Tcaron o -120 +KPX Tcaron oacute -120 +KPX Tcaron ocircumflex -120 +KPX Tcaron odieresis -120 +KPX Tcaron ograve -120 +KPX Tcaron ohungarumlaut -120 +KPX Tcaron omacron -60 +KPX Tcaron oslash -120 +KPX Tcaron otilde -60 +KPX Tcaron period -120 +KPX Tcaron r -120 +KPX Tcaron racute -120 +KPX Tcaron rcaron -120 +KPX Tcaron rcommaaccent -120 +KPX Tcaron semicolon -20 +KPX Tcaron u -120 +KPX Tcaron uacute -120 +KPX Tcaron ucircumflex -120 +KPX Tcaron udieresis -120 +KPX Tcaron ugrave -120 +KPX Tcaron uhungarumlaut -120 +KPX Tcaron umacron -60 +KPX Tcaron uogonek -120 +KPX Tcaron uring -120 +KPX Tcaron w -120 +KPX Tcaron y -120 +KPX Tcaron yacute -120 +KPX Tcaron ydieresis -60 +KPX Tcommaaccent A -120 +KPX Tcommaaccent Aacute -120 +KPX Tcommaaccent Abreve -120 +KPX Tcommaaccent Acircumflex -120 +KPX Tcommaaccent Adieresis -120 +KPX Tcommaaccent Agrave -120 +KPX Tcommaaccent Amacron -120 +KPX Tcommaaccent Aogonek -120 +KPX Tcommaaccent Aring -120 +KPX Tcommaaccent Atilde -120 +KPX Tcommaaccent O -40 +KPX Tcommaaccent Oacute -40 +KPX Tcommaaccent Ocircumflex -40 +KPX Tcommaaccent Odieresis -40 +KPX Tcommaaccent Ograve -40 +KPX Tcommaaccent Ohungarumlaut -40 +KPX Tcommaaccent Omacron -40 +KPX Tcommaaccent Oslash -40 +KPX Tcommaaccent Otilde -40 +KPX Tcommaaccent a -120 +KPX Tcommaaccent aacute -120 +KPX Tcommaaccent abreve -60 +KPX Tcommaaccent acircumflex -120 +KPX Tcommaaccent adieresis -120 +KPX Tcommaaccent agrave -120 +KPX Tcommaaccent amacron -60 +KPX Tcommaaccent aogonek -120 +KPX Tcommaaccent aring -120 +KPX Tcommaaccent atilde -60 +KPX Tcommaaccent colon -20 +KPX Tcommaaccent comma -120 +KPX Tcommaaccent e -120 +KPX Tcommaaccent eacute -120 +KPX Tcommaaccent ecaron -120 +KPX Tcommaaccent ecircumflex -120 +KPX Tcommaaccent edieresis -120 +KPX Tcommaaccent edotaccent -120 +KPX Tcommaaccent egrave -60 +KPX Tcommaaccent emacron -60 +KPX Tcommaaccent eogonek -120 +KPX Tcommaaccent hyphen -140 +KPX Tcommaaccent o -120 +KPX Tcommaaccent oacute -120 +KPX Tcommaaccent ocircumflex -120 +KPX Tcommaaccent odieresis -120 +KPX Tcommaaccent ograve -120 +KPX Tcommaaccent ohungarumlaut -120 +KPX Tcommaaccent omacron -60 +KPX Tcommaaccent oslash -120 +KPX Tcommaaccent otilde -60 +KPX Tcommaaccent period -120 +KPX Tcommaaccent r -120 +KPX Tcommaaccent racute -120 +KPX Tcommaaccent rcaron -120 +KPX Tcommaaccent rcommaaccent -120 +KPX Tcommaaccent semicolon -20 +KPX Tcommaaccent u -120 +KPX Tcommaaccent uacute -120 +KPX Tcommaaccent ucircumflex -120 +KPX Tcommaaccent udieresis -120 +KPX Tcommaaccent ugrave -120 +KPX Tcommaaccent uhungarumlaut -120 +KPX Tcommaaccent umacron -60 +KPX Tcommaaccent uogonek -120 +KPX Tcommaaccent uring -120 +KPX Tcommaaccent w -120 +KPX Tcommaaccent y -120 +KPX Tcommaaccent yacute -120 +KPX Tcommaaccent ydieresis -60 +KPX U A -40 +KPX U Aacute -40 +KPX U Abreve -40 +KPX U Acircumflex -40 +KPX U Adieresis -40 +KPX U Agrave -40 +KPX U Amacron -40 +KPX U Aogonek -40 +KPX U Aring -40 +KPX U Atilde -40 +KPX U comma -40 +KPX U period -40 +KPX Uacute A -40 +KPX Uacute Aacute -40 +KPX Uacute Abreve -40 +KPX Uacute Acircumflex -40 +KPX Uacute Adieresis -40 +KPX Uacute Agrave -40 +KPX Uacute Amacron -40 +KPX Uacute Aogonek -40 +KPX Uacute Aring -40 +KPX Uacute Atilde -40 +KPX Uacute comma -40 +KPX Uacute period -40 +KPX Ucircumflex A -40 +KPX Ucircumflex Aacute -40 +KPX Ucircumflex Abreve -40 +KPX Ucircumflex Acircumflex -40 +KPX Ucircumflex Adieresis -40 +KPX Ucircumflex Agrave -40 +KPX Ucircumflex Amacron -40 +KPX Ucircumflex Aogonek -40 +KPX Ucircumflex Aring -40 +KPX Ucircumflex Atilde -40 +KPX Ucircumflex comma -40 +KPX Ucircumflex period -40 +KPX Udieresis A -40 +KPX Udieresis Aacute -40 +KPX Udieresis Abreve -40 +KPX Udieresis Acircumflex -40 +KPX Udieresis Adieresis -40 +KPX Udieresis Agrave -40 +KPX Udieresis Amacron -40 +KPX Udieresis Aogonek -40 +KPX Udieresis Aring -40 +KPX Udieresis Atilde -40 +KPX Udieresis comma -40 +KPX Udieresis period -40 +KPX Ugrave A -40 +KPX Ugrave Aacute -40 +KPX Ugrave Abreve -40 +KPX Ugrave Acircumflex -40 +KPX Ugrave Adieresis -40 +KPX Ugrave Agrave -40 +KPX Ugrave Amacron -40 +KPX Ugrave Aogonek -40 +KPX Ugrave Aring -40 +KPX Ugrave Atilde -40 +KPX Ugrave comma -40 +KPX Ugrave period -40 +KPX Uhungarumlaut A -40 +KPX Uhungarumlaut Aacute -40 +KPX Uhungarumlaut Abreve -40 +KPX Uhungarumlaut Acircumflex -40 +KPX Uhungarumlaut Adieresis -40 +KPX Uhungarumlaut Agrave -40 +KPX Uhungarumlaut Amacron -40 +KPX Uhungarumlaut Aogonek -40 +KPX Uhungarumlaut Aring -40 +KPX Uhungarumlaut Atilde -40 +KPX Uhungarumlaut comma -40 +KPX Uhungarumlaut period -40 +KPX Umacron A -40 +KPX Umacron Aacute -40 +KPX Umacron Abreve -40 +KPX Umacron Acircumflex -40 +KPX Umacron Adieresis -40 +KPX Umacron Agrave -40 +KPX Umacron Amacron -40 +KPX Umacron Aogonek -40 +KPX Umacron Aring -40 +KPX Umacron Atilde -40 +KPX Umacron comma -40 +KPX Umacron period -40 +KPX Uogonek A -40 +KPX Uogonek Aacute -40 +KPX Uogonek Abreve -40 +KPX Uogonek Acircumflex -40 +KPX Uogonek Adieresis -40 +KPX Uogonek Agrave -40 +KPX Uogonek Amacron -40 +KPX Uogonek Aogonek -40 +KPX Uogonek Aring -40 +KPX Uogonek Atilde -40 +KPX Uogonek comma -40 +KPX Uogonek period -40 +KPX Uring A -40 +KPX Uring Aacute -40 +KPX Uring Abreve -40 +KPX Uring Acircumflex -40 +KPX Uring Adieresis -40 +KPX Uring Agrave -40 +KPX Uring Amacron -40 +KPX Uring Aogonek -40 +KPX Uring Aring -40 +KPX Uring Atilde -40 +KPX Uring comma -40 +KPX Uring period -40 +KPX V A -80 +KPX V Aacute -80 +KPX V Abreve -80 +KPX V Acircumflex -80 +KPX V Adieresis -80 +KPX V Agrave -80 +KPX V Amacron -80 +KPX V Aogonek -80 +KPX V Aring -80 +KPX V Atilde -80 +KPX V G -40 +KPX V Gbreve -40 +KPX V Gcommaaccent -40 +KPX V O -40 +KPX V Oacute -40 +KPX V Ocircumflex -40 +KPX V Odieresis -40 +KPX V Ograve -40 +KPX V Ohungarumlaut -40 +KPX V Omacron -40 +KPX V Oslash -40 +KPX V Otilde -40 +KPX V a -70 +KPX V aacute -70 +KPX V abreve -70 +KPX V acircumflex -70 +KPX V adieresis -70 +KPX V agrave -70 +KPX V amacron -70 +KPX V aogonek -70 +KPX V aring -70 +KPX V atilde -70 +KPX V colon -40 +KPX V comma -125 +KPX V e -80 +KPX V eacute -80 +KPX V ecaron -80 +KPX V ecircumflex -80 +KPX V edieresis -80 +KPX V edotaccent -80 +KPX V egrave -80 +KPX V emacron -80 +KPX V eogonek -80 +KPX V hyphen -80 +KPX V o -80 +KPX V oacute -80 +KPX V ocircumflex -80 +KPX V odieresis -80 +KPX V ograve -80 +KPX V ohungarumlaut -80 +KPX V omacron -80 +KPX V oslash -80 +KPX V otilde -80 +KPX V period -125 +KPX V semicolon -40 +KPX V u -70 +KPX V uacute -70 +KPX V ucircumflex -70 +KPX V udieresis -70 +KPX V ugrave -70 +KPX V uhungarumlaut -70 +KPX V umacron -70 +KPX V uogonek -70 +KPX V uring -70 +KPX W A -50 +KPX W Aacute -50 +KPX W Abreve -50 +KPX W Acircumflex -50 +KPX W Adieresis -50 +KPX W Agrave -50 +KPX W Amacron -50 +KPX W Aogonek -50 +KPX W Aring -50 +KPX W Atilde -50 +KPX W O -20 +KPX W Oacute -20 +KPX W Ocircumflex -20 +KPX W Odieresis -20 +KPX W Ograve -20 +KPX W Ohungarumlaut -20 +KPX W Omacron -20 +KPX W Oslash -20 +KPX W Otilde -20 +KPX W a -40 +KPX W aacute -40 +KPX W abreve -40 +KPX W acircumflex -40 +KPX W adieresis -40 +KPX W agrave -40 +KPX W amacron -40 +KPX W aogonek -40 +KPX W aring -40 +KPX W atilde -40 +KPX W comma -80 +KPX W e -30 +KPX W eacute -30 +KPX W ecaron -30 +KPX W ecircumflex -30 +KPX W edieresis -30 +KPX W edotaccent -30 +KPX W egrave -30 +KPX W emacron -30 +KPX W eogonek -30 +KPX W hyphen -40 +KPX W o -30 +KPX W oacute -30 +KPX W ocircumflex -30 +KPX W odieresis -30 +KPX W ograve -30 +KPX W ohungarumlaut -30 +KPX W omacron -30 +KPX W oslash -30 +KPX W otilde -30 +KPX W period -80 +KPX W u -30 +KPX W uacute -30 +KPX W ucircumflex -30 +KPX W udieresis -30 +KPX W ugrave -30 +KPX W uhungarumlaut -30 +KPX W umacron -30 +KPX W uogonek -30 +KPX W uring -30 +KPX W y -20 +KPX W yacute -20 +KPX W ydieresis -20 +KPX Y A -110 +KPX Y Aacute -110 +KPX Y Abreve -110 +KPX Y Acircumflex -110 +KPX Y Adieresis -110 +KPX Y Agrave -110 +KPX Y Amacron -110 +KPX Y Aogonek -110 +KPX Y Aring -110 +KPX Y Atilde -110 +KPX Y O -85 +KPX Y Oacute -85 +KPX Y Ocircumflex -85 +KPX Y Odieresis -85 +KPX Y Ograve -85 +KPX Y Ohungarumlaut -85 +KPX Y Omacron -85 +KPX Y Oslash -85 +KPX Y Otilde -85 +KPX Y a -140 +KPX Y aacute -140 +KPX Y abreve -70 +KPX Y acircumflex -140 +KPX Y adieresis -140 +KPX Y agrave -140 +KPX Y amacron -70 +KPX Y aogonek -140 +KPX Y aring -140 +KPX Y atilde -140 +KPX Y colon -60 +KPX Y comma -140 +KPX Y e -140 +KPX Y eacute -140 +KPX Y ecaron -140 +KPX Y ecircumflex -140 +KPX Y edieresis -140 +KPX Y edotaccent -140 +KPX Y egrave -140 +KPX Y emacron -70 +KPX Y eogonek -140 +KPX Y hyphen -140 +KPX Y i -20 +KPX Y iacute -20 +KPX Y iogonek -20 +KPX Y o -140 +KPX Y oacute -140 +KPX Y ocircumflex -140 +KPX Y odieresis -140 +KPX Y ograve -140 +KPX Y ohungarumlaut -140 +KPX Y omacron -140 +KPX Y oslash -140 +KPX Y otilde -140 +KPX Y period -140 +KPX Y semicolon -60 +KPX Y u -110 +KPX Y uacute -110 +KPX Y ucircumflex -110 +KPX Y udieresis -110 +KPX Y ugrave -110 +KPX Y uhungarumlaut -110 +KPX Y umacron -110 +KPX Y uogonek -110 +KPX Y uring -110 +KPX Yacute A -110 +KPX Yacute Aacute -110 +KPX Yacute Abreve -110 +KPX Yacute Acircumflex -110 +KPX Yacute Adieresis -110 +KPX Yacute Agrave -110 +KPX Yacute Amacron -110 +KPX Yacute Aogonek -110 +KPX Yacute Aring -110 +KPX Yacute Atilde -110 +KPX Yacute O -85 +KPX Yacute Oacute -85 +KPX Yacute Ocircumflex -85 +KPX Yacute Odieresis -85 +KPX Yacute Ograve -85 +KPX Yacute Ohungarumlaut -85 +KPX Yacute Omacron -85 +KPX Yacute Oslash -85 +KPX Yacute Otilde -85 +KPX Yacute a -140 +KPX Yacute aacute -140 +KPX Yacute abreve -70 +KPX Yacute acircumflex -140 +KPX Yacute adieresis -140 +KPX Yacute agrave -140 +KPX Yacute amacron -70 +KPX Yacute aogonek -140 +KPX Yacute aring -140 +KPX Yacute atilde -70 +KPX Yacute colon -60 +KPX Yacute comma -140 +KPX Yacute e -140 +KPX Yacute eacute -140 +KPX Yacute ecaron -140 +KPX Yacute ecircumflex -140 +KPX Yacute edieresis -140 +KPX Yacute edotaccent -140 +KPX Yacute egrave -140 +KPX Yacute emacron -70 +KPX Yacute eogonek -140 +KPX Yacute hyphen -140 +KPX Yacute i -20 +KPX Yacute iacute -20 +KPX Yacute iogonek -20 +KPX Yacute o -140 +KPX Yacute oacute -140 +KPX Yacute ocircumflex -140 +KPX Yacute odieresis -140 +KPX Yacute ograve -140 +KPX Yacute ohungarumlaut -140 +KPX Yacute omacron -70 +KPX Yacute oslash -140 +KPX Yacute otilde -140 +KPX Yacute period -140 +KPX Yacute semicolon -60 +KPX Yacute u -110 +KPX Yacute uacute -110 +KPX Yacute ucircumflex -110 +KPX Yacute udieresis -110 +KPX Yacute ugrave -110 +KPX Yacute uhungarumlaut -110 +KPX Yacute umacron -110 +KPX Yacute uogonek -110 +KPX Yacute uring -110 +KPX Ydieresis A -110 +KPX Ydieresis Aacute -110 +KPX Ydieresis Abreve -110 +KPX Ydieresis Acircumflex -110 +KPX Ydieresis Adieresis -110 +KPX Ydieresis Agrave -110 +KPX Ydieresis Amacron -110 +KPX Ydieresis Aogonek -110 +KPX Ydieresis Aring -110 +KPX Ydieresis Atilde -110 +KPX Ydieresis O -85 +KPX Ydieresis Oacute -85 +KPX Ydieresis Ocircumflex -85 +KPX Ydieresis Odieresis -85 +KPX Ydieresis Ograve -85 +KPX Ydieresis Ohungarumlaut -85 +KPX Ydieresis Omacron -85 +KPX Ydieresis Oslash -85 +KPX Ydieresis Otilde -85 +KPX Ydieresis a -140 +KPX Ydieresis aacute -140 +KPX Ydieresis abreve -70 +KPX Ydieresis acircumflex -140 +KPX Ydieresis adieresis -140 +KPX Ydieresis agrave -140 +KPX Ydieresis amacron -70 +KPX Ydieresis aogonek -140 +KPX Ydieresis aring -140 +KPX Ydieresis atilde -70 +KPX Ydieresis colon -60 +KPX Ydieresis comma -140 +KPX Ydieresis e -140 +KPX Ydieresis eacute -140 +KPX Ydieresis ecaron -140 +KPX Ydieresis ecircumflex -140 +KPX Ydieresis edieresis -140 +KPX Ydieresis edotaccent -140 +KPX Ydieresis egrave -140 +KPX Ydieresis emacron -70 +KPX Ydieresis eogonek -140 +KPX Ydieresis hyphen -140 +KPX Ydieresis i -20 +KPX Ydieresis iacute -20 +KPX Ydieresis iogonek -20 +KPX Ydieresis o -140 +KPX Ydieresis oacute -140 +KPX Ydieresis ocircumflex -140 +KPX Ydieresis odieresis -140 +KPX Ydieresis ograve -140 +KPX Ydieresis ohungarumlaut -140 +KPX Ydieresis omacron -140 +KPX Ydieresis oslash -140 +KPX Ydieresis otilde -140 +KPX Ydieresis period -140 +KPX Ydieresis semicolon -60 +KPX Ydieresis u -110 +KPX Ydieresis uacute -110 +KPX Ydieresis ucircumflex -110 +KPX Ydieresis udieresis -110 +KPX Ydieresis ugrave -110 +KPX Ydieresis uhungarumlaut -110 +KPX Ydieresis umacron -110 +KPX Ydieresis uogonek -110 +KPX Ydieresis uring -110 +KPX a v -20 +KPX a w -20 +KPX a y -30 +KPX a yacute -30 +KPX a ydieresis -30 +KPX aacute v -20 +KPX aacute w -20 +KPX aacute y -30 +KPX aacute yacute -30 +KPX aacute ydieresis -30 +KPX abreve v -20 +KPX abreve w -20 +KPX abreve y -30 +KPX abreve yacute -30 +KPX abreve ydieresis -30 +KPX acircumflex v -20 +KPX acircumflex w -20 +KPX acircumflex y -30 +KPX acircumflex yacute -30 +KPX acircumflex ydieresis -30 +KPX adieresis v -20 +KPX adieresis w -20 +KPX adieresis y -30 +KPX adieresis yacute -30 +KPX adieresis ydieresis -30 +KPX agrave v -20 +KPX agrave w -20 +KPX agrave y -30 +KPX agrave yacute -30 +KPX agrave ydieresis -30 +KPX amacron v -20 +KPX amacron w -20 +KPX amacron y -30 +KPX amacron yacute -30 +KPX amacron ydieresis -30 +KPX aogonek v -20 +KPX aogonek w -20 +KPX aogonek y -30 +KPX aogonek yacute -30 +KPX aogonek ydieresis -30 +KPX aring v -20 +KPX aring w -20 +KPX aring y -30 +KPX aring yacute -30 +KPX aring ydieresis -30 +KPX atilde v -20 +KPX atilde w -20 +KPX atilde y -30 +KPX atilde yacute -30 +KPX atilde ydieresis -30 +KPX b b -10 +KPX b comma -40 +KPX b l -20 +KPX b lacute -20 +KPX b lcommaaccent -20 +KPX b lslash -20 +KPX b period -40 +KPX b u -20 +KPX b uacute -20 +KPX b ucircumflex -20 +KPX b udieresis -20 +KPX b ugrave -20 +KPX b uhungarumlaut -20 +KPX b umacron -20 +KPX b uogonek -20 +KPX b uring -20 +KPX b v -20 +KPX b y -20 +KPX b yacute -20 +KPX b ydieresis -20 +KPX c comma -15 +KPX c k -20 +KPX c kcommaaccent -20 +KPX cacute comma -15 +KPX cacute k -20 +KPX cacute kcommaaccent -20 +KPX ccaron comma -15 +KPX ccaron k -20 +KPX ccaron kcommaaccent -20 +KPX ccedilla comma -15 +KPX ccedilla k -20 +KPX ccedilla kcommaaccent -20 +KPX colon space -50 +KPX comma quotedblright -100 +KPX comma quoteright -100 +KPX e comma -15 +KPX e period -15 +KPX e v -30 +KPX e w -20 +KPX e x -30 +KPX e y -20 +KPX e yacute -20 +KPX e ydieresis -20 +KPX eacute comma -15 +KPX eacute period -15 +KPX eacute v -30 +KPX eacute w -20 +KPX eacute x -30 +KPX eacute y -20 +KPX eacute yacute -20 +KPX eacute ydieresis -20 +KPX ecaron comma -15 +KPX ecaron period -15 +KPX ecaron v -30 +KPX ecaron w -20 +KPX ecaron x -30 +KPX ecaron y -20 +KPX ecaron yacute -20 +KPX ecaron ydieresis -20 +KPX ecircumflex comma -15 +KPX ecircumflex period -15 +KPX ecircumflex v -30 +KPX ecircumflex w -20 +KPX ecircumflex x -30 +KPX ecircumflex y -20 +KPX ecircumflex yacute -20 +KPX ecircumflex ydieresis -20 +KPX edieresis comma -15 +KPX edieresis period -15 +KPX edieresis v -30 +KPX edieresis w -20 +KPX edieresis x -30 +KPX edieresis y -20 +KPX edieresis yacute -20 +KPX edieresis ydieresis -20 +KPX edotaccent comma -15 +KPX edotaccent period -15 +KPX edotaccent v -30 +KPX edotaccent w -20 +KPX edotaccent x -30 +KPX edotaccent y -20 +KPX edotaccent yacute -20 +KPX edotaccent ydieresis -20 +KPX egrave comma -15 +KPX egrave period -15 +KPX egrave v -30 +KPX egrave w -20 +KPX egrave x -30 +KPX egrave y -20 +KPX egrave yacute -20 +KPX egrave ydieresis -20 +KPX emacron comma -15 +KPX emacron period -15 +KPX emacron v -30 +KPX emacron w -20 +KPX emacron x -30 +KPX emacron y -20 +KPX emacron yacute -20 +KPX emacron ydieresis -20 +KPX eogonek comma -15 +KPX eogonek period -15 +KPX eogonek v -30 +KPX eogonek w -20 +KPX eogonek x -30 +KPX eogonek y -20 +KPX eogonek yacute -20 +KPX eogonek ydieresis -20 +KPX f a -30 +KPX f aacute -30 +KPX f abreve -30 +KPX f acircumflex -30 +KPX f adieresis -30 +KPX f agrave -30 +KPX f amacron -30 +KPX f aogonek -30 +KPX f aring -30 +KPX f atilde -30 +KPX f comma -30 +KPX f dotlessi -28 +KPX f e -30 +KPX f eacute -30 +KPX f ecaron -30 +KPX f ecircumflex -30 +KPX f edieresis -30 +KPX f edotaccent -30 +KPX f egrave -30 +KPX f emacron -30 +KPX f eogonek -30 +KPX f o -30 +KPX f oacute -30 +KPX f ocircumflex -30 +KPX f odieresis -30 +KPX f ograve -30 +KPX f ohungarumlaut -30 +KPX f omacron -30 +KPX f oslash -30 +KPX f otilde -30 +KPX f period -30 +KPX f quotedblright 60 +KPX f quoteright 50 +KPX g r -10 +KPX g racute -10 +KPX g rcaron -10 +KPX g rcommaaccent -10 +KPX gbreve r -10 +KPX gbreve racute -10 +KPX gbreve rcaron -10 +KPX gbreve rcommaaccent -10 +KPX gcommaaccent r -10 +KPX gcommaaccent racute -10 +KPX gcommaaccent rcaron -10 +KPX gcommaaccent rcommaaccent -10 +KPX h y -30 +KPX h yacute -30 +KPX h ydieresis -30 +KPX k e -20 +KPX k eacute -20 +KPX k ecaron -20 +KPX k ecircumflex -20 +KPX k edieresis -20 +KPX k edotaccent -20 +KPX k egrave -20 +KPX k emacron -20 +KPX k eogonek -20 +KPX k o -20 +KPX k oacute -20 +KPX k ocircumflex -20 +KPX k odieresis -20 +KPX k ograve -20 +KPX k ohungarumlaut -20 +KPX k omacron -20 +KPX k oslash -20 +KPX k otilde -20 +KPX kcommaaccent e -20 +KPX kcommaaccent eacute -20 +KPX kcommaaccent ecaron -20 +KPX kcommaaccent ecircumflex -20 +KPX kcommaaccent edieresis -20 +KPX kcommaaccent edotaccent -20 +KPX kcommaaccent egrave -20 +KPX kcommaaccent emacron -20 +KPX kcommaaccent eogonek -20 +KPX kcommaaccent o -20 +KPX kcommaaccent oacute -20 +KPX kcommaaccent ocircumflex -20 +KPX kcommaaccent odieresis -20 +KPX kcommaaccent ograve -20 +KPX kcommaaccent ohungarumlaut -20 +KPX kcommaaccent omacron -20 +KPX kcommaaccent oslash -20 +KPX kcommaaccent otilde -20 +KPX m u -10 +KPX m uacute -10 +KPX m ucircumflex -10 +KPX m udieresis -10 +KPX m ugrave -10 +KPX m uhungarumlaut -10 +KPX m umacron -10 +KPX m uogonek -10 +KPX m uring -10 +KPX m y -15 +KPX m yacute -15 +KPX m ydieresis -15 +KPX n u -10 +KPX n uacute -10 +KPX n ucircumflex -10 +KPX n udieresis -10 +KPX n ugrave -10 +KPX n uhungarumlaut -10 +KPX n umacron -10 +KPX n uogonek -10 +KPX n uring -10 +KPX n v -20 +KPX n y -15 +KPX n yacute -15 +KPX n ydieresis -15 +KPX nacute u -10 +KPX nacute uacute -10 +KPX nacute ucircumflex -10 +KPX nacute udieresis -10 +KPX nacute ugrave -10 +KPX nacute uhungarumlaut -10 +KPX nacute umacron -10 +KPX nacute uogonek -10 +KPX nacute uring -10 +KPX nacute v -20 +KPX nacute y -15 +KPX nacute yacute -15 +KPX nacute ydieresis -15 +KPX ncaron u -10 +KPX ncaron uacute -10 +KPX ncaron ucircumflex -10 +KPX ncaron udieresis -10 +KPX ncaron ugrave -10 +KPX ncaron uhungarumlaut -10 +KPX ncaron umacron -10 +KPX ncaron uogonek -10 +KPX ncaron uring -10 +KPX ncaron v -20 +KPX ncaron y -15 +KPX ncaron yacute -15 +KPX ncaron ydieresis -15 +KPX ncommaaccent u -10 +KPX ncommaaccent uacute -10 +KPX ncommaaccent ucircumflex -10 +KPX ncommaaccent udieresis -10 +KPX ncommaaccent ugrave -10 +KPX ncommaaccent uhungarumlaut -10 +KPX ncommaaccent umacron -10 +KPX ncommaaccent uogonek -10 +KPX ncommaaccent uring -10 +KPX ncommaaccent v -20 +KPX ncommaaccent y -15 +KPX ncommaaccent yacute -15 +KPX ncommaaccent ydieresis -15 +KPX ntilde u -10 +KPX ntilde uacute -10 +KPX ntilde ucircumflex -10 +KPX ntilde udieresis -10 +KPX ntilde ugrave -10 +KPX ntilde uhungarumlaut -10 +KPX ntilde umacron -10 +KPX ntilde uogonek -10 +KPX ntilde uring -10 +KPX ntilde v -20 +KPX ntilde y -15 +KPX ntilde yacute -15 +KPX ntilde ydieresis -15 +KPX o comma -40 +KPX o period -40 +KPX o v -15 +KPX o w -15 +KPX o x -30 +KPX o y -30 +KPX o yacute -30 +KPX o ydieresis -30 +KPX oacute comma -40 +KPX oacute period -40 +KPX oacute v -15 +KPX oacute w -15 +KPX oacute x -30 +KPX oacute y -30 +KPX oacute yacute -30 +KPX oacute ydieresis -30 +KPX ocircumflex comma -40 +KPX ocircumflex period -40 +KPX ocircumflex v -15 +KPX ocircumflex w -15 +KPX ocircumflex x -30 +KPX ocircumflex y -30 +KPX ocircumflex yacute -30 +KPX ocircumflex ydieresis -30 +KPX odieresis comma -40 +KPX odieresis period -40 +KPX odieresis v -15 +KPX odieresis w -15 +KPX odieresis x -30 +KPX odieresis y -30 +KPX odieresis yacute -30 +KPX odieresis ydieresis -30 +KPX ograve comma -40 +KPX ograve period -40 +KPX ograve v -15 +KPX ograve w -15 +KPX ograve x -30 +KPX ograve y -30 +KPX ograve yacute -30 +KPX ograve ydieresis -30 +KPX ohungarumlaut comma -40 +KPX ohungarumlaut period -40 +KPX ohungarumlaut v -15 +KPX ohungarumlaut w -15 +KPX ohungarumlaut x -30 +KPX ohungarumlaut y -30 +KPX ohungarumlaut yacute -30 +KPX ohungarumlaut ydieresis -30 +KPX omacron comma -40 +KPX omacron period -40 +KPX omacron v -15 +KPX omacron w -15 +KPX omacron x -30 +KPX omacron y -30 +KPX omacron yacute -30 +KPX omacron ydieresis -30 +KPX oslash a -55 +KPX oslash aacute -55 +KPX oslash abreve -55 +KPX oslash acircumflex -55 +KPX oslash adieresis -55 +KPX oslash agrave -55 +KPX oslash amacron -55 +KPX oslash aogonek -55 +KPX oslash aring -55 +KPX oslash atilde -55 +KPX oslash b -55 +KPX oslash c -55 +KPX oslash cacute -55 +KPX oslash ccaron -55 +KPX oslash ccedilla -55 +KPX oslash comma -95 +KPX oslash d -55 +KPX oslash dcroat -55 +KPX oslash e -55 +KPX oslash eacute -55 +KPX oslash ecaron -55 +KPX oslash ecircumflex -55 +KPX oslash edieresis -55 +KPX oslash edotaccent -55 +KPX oslash egrave -55 +KPX oslash emacron -55 +KPX oslash eogonek -55 +KPX oslash f -55 +KPX oslash g -55 +KPX oslash gbreve -55 +KPX oslash gcommaaccent -55 +KPX oslash h -55 +KPX oslash i -55 +KPX oslash iacute -55 +KPX oslash icircumflex -55 +KPX oslash idieresis -55 +KPX oslash igrave -55 +KPX oslash imacron -55 +KPX oslash iogonek -55 +KPX oslash j -55 +KPX oslash k -55 +KPX oslash kcommaaccent -55 +KPX oslash l -55 +KPX oslash lacute -55 +KPX oslash lcommaaccent -55 +KPX oslash lslash -55 +KPX oslash m -55 +KPX oslash n -55 +KPX oslash nacute -55 +KPX oslash ncaron -55 +KPX oslash ncommaaccent -55 +KPX oslash ntilde -55 +KPX oslash o -55 +KPX oslash oacute -55 +KPX oslash ocircumflex -55 +KPX oslash odieresis -55 +KPX oslash ograve -55 +KPX oslash ohungarumlaut -55 +KPX oslash omacron -55 +KPX oslash oslash -55 +KPX oslash otilde -55 +KPX oslash p -55 +KPX oslash period -95 +KPX oslash q -55 +KPX oslash r -55 +KPX oslash racute -55 +KPX oslash rcaron -55 +KPX oslash rcommaaccent -55 +KPX oslash s -55 +KPX oslash sacute -55 +KPX oslash scaron -55 +KPX oslash scedilla -55 +KPX oslash scommaaccent -55 +KPX oslash t -55 +KPX oslash tcommaaccent -55 +KPX oslash u -55 +KPX oslash uacute -55 +KPX oslash ucircumflex -55 +KPX oslash udieresis -55 +KPX oslash ugrave -55 +KPX oslash uhungarumlaut -55 +KPX oslash umacron -55 +KPX oslash uogonek -55 +KPX oslash uring -55 +KPX oslash v -70 +KPX oslash w -70 +KPX oslash x -85 +KPX oslash y -70 +KPX oslash yacute -70 +KPX oslash ydieresis -70 +KPX oslash z -55 +KPX oslash zacute -55 +KPX oslash zcaron -55 +KPX oslash zdotaccent -55 +KPX otilde comma -40 +KPX otilde period -40 +KPX otilde v -15 +KPX otilde w -15 +KPX otilde x -30 +KPX otilde y -30 +KPX otilde yacute -30 +KPX otilde ydieresis -30 +KPX p comma -35 +KPX p period -35 +KPX p y -30 +KPX p yacute -30 +KPX p ydieresis -30 +KPX period quotedblright -100 +KPX period quoteright -100 +KPX period space -60 +KPX quotedblright space -40 +KPX quoteleft quoteleft -57 +KPX quoteright d -50 +KPX quoteright dcroat -50 +KPX quoteright quoteright -57 +KPX quoteright r -50 +KPX quoteright racute -50 +KPX quoteright rcaron -50 +KPX quoteright rcommaaccent -50 +KPX quoteright s -50 +KPX quoteright sacute -50 +KPX quoteright scaron -50 +KPX quoteright scedilla -50 +KPX quoteright scommaaccent -50 +KPX quoteright space -70 +KPX r a -10 +KPX r aacute -10 +KPX r abreve -10 +KPX r acircumflex -10 +KPX r adieresis -10 +KPX r agrave -10 +KPX r amacron -10 +KPX r aogonek -10 +KPX r aring -10 +KPX r atilde -10 +KPX r colon 30 +KPX r comma -50 +KPX r i 15 +KPX r iacute 15 +KPX r icircumflex 15 +KPX r idieresis 15 +KPX r igrave 15 +KPX r imacron 15 +KPX r iogonek 15 +KPX r k 15 +KPX r kcommaaccent 15 +KPX r l 15 +KPX r lacute 15 +KPX r lcommaaccent 15 +KPX r lslash 15 +KPX r m 25 +KPX r n 25 +KPX r nacute 25 +KPX r ncaron 25 +KPX r ncommaaccent 25 +KPX r ntilde 25 +KPX r p 30 +KPX r period -50 +KPX r semicolon 30 +KPX r t 40 +KPX r tcommaaccent 40 +KPX r u 15 +KPX r uacute 15 +KPX r ucircumflex 15 +KPX r udieresis 15 +KPX r ugrave 15 +KPX r uhungarumlaut 15 +KPX r umacron 15 +KPX r uogonek 15 +KPX r uring 15 +KPX r v 30 +KPX r y 30 +KPX r yacute 30 +KPX r ydieresis 30 +KPX racute a -10 +KPX racute aacute -10 +KPX racute abreve -10 +KPX racute acircumflex -10 +KPX racute adieresis -10 +KPX racute agrave -10 +KPX racute amacron -10 +KPX racute aogonek -10 +KPX racute aring -10 +KPX racute atilde -10 +KPX racute colon 30 +KPX racute comma -50 +KPX racute i 15 +KPX racute iacute 15 +KPX racute icircumflex 15 +KPX racute idieresis 15 +KPX racute igrave 15 +KPX racute imacron 15 +KPX racute iogonek 15 +KPX racute k 15 +KPX racute kcommaaccent 15 +KPX racute l 15 +KPX racute lacute 15 +KPX racute lcommaaccent 15 +KPX racute lslash 15 +KPX racute m 25 +KPX racute n 25 +KPX racute nacute 25 +KPX racute ncaron 25 +KPX racute ncommaaccent 25 +KPX racute ntilde 25 +KPX racute p 30 +KPX racute period -50 +KPX racute semicolon 30 +KPX racute t 40 +KPX racute tcommaaccent 40 +KPX racute u 15 +KPX racute uacute 15 +KPX racute ucircumflex 15 +KPX racute udieresis 15 +KPX racute ugrave 15 +KPX racute uhungarumlaut 15 +KPX racute umacron 15 +KPX racute uogonek 15 +KPX racute uring 15 +KPX racute v 30 +KPX racute y 30 +KPX racute yacute 30 +KPX racute ydieresis 30 +KPX rcaron a -10 +KPX rcaron aacute -10 +KPX rcaron abreve -10 +KPX rcaron acircumflex -10 +KPX rcaron adieresis -10 +KPX rcaron agrave -10 +KPX rcaron amacron -10 +KPX rcaron aogonek -10 +KPX rcaron aring -10 +KPX rcaron atilde -10 +KPX rcaron colon 30 +KPX rcaron comma -50 +KPX rcaron i 15 +KPX rcaron iacute 15 +KPX rcaron icircumflex 15 +KPX rcaron idieresis 15 +KPX rcaron igrave 15 +KPX rcaron imacron 15 +KPX rcaron iogonek 15 +KPX rcaron k 15 +KPX rcaron kcommaaccent 15 +KPX rcaron l 15 +KPX rcaron lacute 15 +KPX rcaron lcommaaccent 15 +KPX rcaron lslash 15 +KPX rcaron m 25 +KPX rcaron n 25 +KPX rcaron nacute 25 +KPX rcaron ncaron 25 +KPX rcaron ncommaaccent 25 +KPX rcaron ntilde 25 +KPX rcaron p 30 +KPX rcaron period -50 +KPX rcaron semicolon 30 +KPX rcaron t 40 +KPX rcaron tcommaaccent 40 +KPX rcaron u 15 +KPX rcaron uacute 15 +KPX rcaron ucircumflex 15 +KPX rcaron udieresis 15 +KPX rcaron ugrave 15 +KPX rcaron uhungarumlaut 15 +KPX rcaron umacron 15 +KPX rcaron uogonek 15 +KPX rcaron uring 15 +KPX rcaron v 30 +KPX rcaron y 30 +KPX rcaron yacute 30 +KPX rcaron ydieresis 30 +KPX rcommaaccent a -10 +KPX rcommaaccent aacute -10 +KPX rcommaaccent abreve -10 +KPX rcommaaccent acircumflex -10 +KPX rcommaaccent adieresis -10 +KPX rcommaaccent agrave -10 +KPX rcommaaccent amacron -10 +KPX rcommaaccent aogonek -10 +KPX rcommaaccent aring -10 +KPX rcommaaccent atilde -10 +KPX rcommaaccent colon 30 +KPX rcommaaccent comma -50 +KPX rcommaaccent i 15 +KPX rcommaaccent iacute 15 +KPX rcommaaccent icircumflex 15 +KPX rcommaaccent idieresis 15 +KPX rcommaaccent igrave 15 +KPX rcommaaccent imacron 15 +KPX rcommaaccent iogonek 15 +KPX rcommaaccent k 15 +KPX rcommaaccent kcommaaccent 15 +KPX rcommaaccent l 15 +KPX rcommaaccent lacute 15 +KPX rcommaaccent lcommaaccent 15 +KPX rcommaaccent lslash 15 +KPX rcommaaccent m 25 +KPX rcommaaccent n 25 +KPX rcommaaccent nacute 25 +KPX rcommaaccent ncaron 25 +KPX rcommaaccent ncommaaccent 25 +KPX rcommaaccent ntilde 25 +KPX rcommaaccent p 30 +KPX rcommaaccent period -50 +KPX rcommaaccent semicolon 30 +KPX rcommaaccent t 40 +KPX rcommaaccent tcommaaccent 40 +KPX rcommaaccent u 15 +KPX rcommaaccent uacute 15 +KPX rcommaaccent ucircumflex 15 +KPX rcommaaccent udieresis 15 +KPX rcommaaccent ugrave 15 +KPX rcommaaccent uhungarumlaut 15 +KPX rcommaaccent umacron 15 +KPX rcommaaccent uogonek 15 +KPX rcommaaccent uring 15 +KPX rcommaaccent v 30 +KPX rcommaaccent y 30 +KPX rcommaaccent yacute 30 +KPX rcommaaccent ydieresis 30 +KPX s comma -15 +KPX s period -15 +KPX s w -30 +KPX sacute comma -15 +KPX sacute period -15 +KPX sacute w -30 +KPX scaron comma -15 +KPX scaron period -15 +KPX scaron w -30 +KPX scedilla comma -15 +KPX scedilla period -15 +KPX scedilla w -30 +KPX scommaaccent comma -15 +KPX scommaaccent period -15 +KPX scommaaccent w -30 +KPX semicolon space -50 +KPX space T -50 +KPX space Tcaron -50 +KPX space Tcommaaccent -50 +KPX space V -50 +KPX space W -40 +KPX space Y -90 +KPX space Yacute -90 +KPX space Ydieresis -90 +KPX space quotedblleft -30 +KPX space quoteleft -60 +KPX v a -25 +KPX v aacute -25 +KPX v abreve -25 +KPX v acircumflex -25 +KPX v adieresis -25 +KPX v agrave -25 +KPX v amacron -25 +KPX v aogonek -25 +KPX v aring -25 +KPX v atilde -25 +KPX v comma -80 +KPX v e -25 +KPX v eacute -25 +KPX v ecaron -25 +KPX v ecircumflex -25 +KPX v edieresis -25 +KPX v edotaccent -25 +KPX v egrave -25 +KPX v emacron -25 +KPX v eogonek -25 +KPX v o -25 +KPX v oacute -25 +KPX v ocircumflex -25 +KPX v odieresis -25 +KPX v ograve -25 +KPX v ohungarumlaut -25 +KPX v omacron -25 +KPX v oslash -25 +KPX v otilde -25 +KPX v period -80 +KPX w a -15 +KPX w aacute -15 +KPX w abreve -15 +KPX w acircumflex -15 +KPX w adieresis -15 +KPX w agrave -15 +KPX w amacron -15 +KPX w aogonek -15 +KPX w aring -15 +KPX w atilde -15 +KPX w comma -60 +KPX w e -10 +KPX w eacute -10 +KPX w ecaron -10 +KPX w ecircumflex -10 +KPX w edieresis -10 +KPX w edotaccent -10 +KPX w egrave -10 +KPX w emacron -10 +KPX w eogonek -10 +KPX w o -10 +KPX w oacute -10 +KPX w ocircumflex -10 +KPX w odieresis -10 +KPX w ograve -10 +KPX w ohungarumlaut -10 +KPX w omacron -10 +KPX w oslash -10 +KPX w otilde -10 +KPX w period -60 +KPX x e -30 +KPX x eacute -30 +KPX x ecaron -30 +KPX x ecircumflex -30 +KPX x edieresis -30 +KPX x edotaccent -30 +KPX x egrave -30 +KPX x emacron -30 +KPX x eogonek -30 +KPX y a -20 +KPX y aacute -20 +KPX y abreve -20 +KPX y acircumflex -20 +KPX y adieresis -20 +KPX y agrave -20 +KPX y amacron -20 +KPX y aogonek -20 +KPX y aring -20 +KPX y atilde -20 +KPX y comma -100 +KPX y e -20 +KPX y eacute -20 +KPX y ecaron -20 +KPX y ecircumflex -20 +KPX y edieresis -20 +KPX y edotaccent -20 +KPX y egrave -20 +KPX y emacron -20 +KPX y eogonek -20 +KPX y o -20 +KPX y oacute -20 +KPX y ocircumflex -20 +KPX y odieresis -20 +KPX y ograve -20 +KPX y ohungarumlaut -20 +KPX y omacron -20 +KPX y oslash -20 +KPX y otilde -20 +KPX y period -100 +KPX yacute a -20 +KPX yacute aacute -20 +KPX yacute abreve -20 +KPX yacute acircumflex -20 +KPX yacute adieresis -20 +KPX yacute agrave -20 +KPX yacute amacron -20 +KPX yacute aogonek -20 +KPX yacute aring -20 +KPX yacute atilde -20 +KPX yacute comma -100 +KPX yacute e -20 +KPX yacute eacute -20 +KPX yacute ecaron -20 +KPX yacute ecircumflex -20 +KPX yacute edieresis -20 +KPX yacute edotaccent -20 +KPX yacute egrave -20 +KPX yacute emacron -20 +KPX yacute eogonek -20 +KPX yacute o -20 +KPX yacute oacute -20 +KPX yacute ocircumflex -20 +KPX yacute odieresis -20 +KPX yacute ograve -20 +KPX yacute ohungarumlaut -20 +KPX yacute omacron -20 +KPX yacute oslash -20 +KPX yacute otilde -20 +KPX yacute period -100 +KPX ydieresis a -20 +KPX ydieresis aacute -20 +KPX ydieresis abreve -20 +KPX ydieresis acircumflex -20 +KPX ydieresis adieresis -20 +KPX ydieresis agrave -20 +KPX ydieresis amacron -20 +KPX ydieresis aogonek -20 +KPX ydieresis aring -20 +KPX ydieresis atilde -20 +KPX ydieresis comma -100 +KPX ydieresis e -20 +KPX ydieresis eacute -20 +KPX ydieresis ecaron -20 +KPX ydieresis ecircumflex -20 +KPX ydieresis edieresis -20 +KPX ydieresis edotaccent -20 +KPX ydieresis egrave -20 +KPX ydieresis emacron -20 +KPX ydieresis eogonek -20 +KPX ydieresis o -20 +KPX ydieresis oacute -20 +KPX ydieresis ocircumflex -20 +KPX ydieresis odieresis -20 +KPX ydieresis ograve -20 +KPX ydieresis ohungarumlaut -20 +KPX ydieresis omacron -20 +KPX ydieresis oslash -20 +KPX ydieresis otilde -20 +KPX ydieresis period -100 +KPX z e -15 +KPX z eacute -15 +KPX z ecaron -15 +KPX z ecircumflex -15 +KPX z edieresis -15 +KPX z edotaccent -15 +KPX z egrave -15 +KPX z emacron -15 +KPX z eogonek -15 +KPX z o -15 +KPX z oacute -15 +KPX z ocircumflex -15 +KPX z odieresis -15 +KPX z ograve -15 +KPX z ohungarumlaut -15 +KPX z omacron -15 +KPX z oslash -15 +KPX z otilde -15 +KPX zacute e -15 +KPX zacute eacute -15 +KPX zacute ecaron -15 +KPX zacute ecircumflex -15 +KPX zacute edieresis -15 +KPX zacute edotaccent -15 +KPX zacute egrave -15 +KPX zacute emacron -15 +KPX zacute eogonek -15 +KPX zacute o -15 +KPX zacute oacute -15 +KPX zacute ocircumflex -15 +KPX zacute odieresis -15 +KPX zacute ograve -15 +KPX zacute ohungarumlaut -15 +KPX zacute omacron -15 +KPX zacute oslash -15 +KPX zacute otilde -15 +KPX zcaron e -15 +KPX zcaron eacute -15 +KPX zcaron ecaron -15 +KPX zcaron ecircumflex -15 +KPX zcaron edieresis -15 +KPX zcaron edotaccent -15 +KPX zcaron egrave -15 +KPX zcaron emacron -15 +KPX zcaron eogonek -15 +KPX zcaron o -15 +KPX zcaron oacute -15 +KPX zcaron ocircumflex -15 +KPX zcaron odieresis -15 +KPX zcaron ograve -15 +KPX zcaron ohungarumlaut -15 +KPX zcaron omacron -15 +KPX zcaron oslash -15 +KPX zcaron otilde -15 +KPX zdotaccent e -15 +KPX zdotaccent eacute -15 +KPX zdotaccent ecaron -15 +KPX zdotaccent ecircumflex -15 +KPX zdotaccent edieresis -15 +KPX zdotaccent edotaccent -15 +KPX zdotaccent egrave -15 +KPX zdotaccent emacron -15 +KPX zdotaccent eogonek -15 +KPX zdotaccent o -15 +KPX zdotaccent oacute -15 +KPX zdotaccent ocircumflex -15 +KPX zdotaccent odieresis -15 +KPX zdotaccent ograve -15 +KPX zdotaccent ohungarumlaut -15 +KPX zdotaccent omacron -15 +KPX zdotaccent oslash -15 +KPX zdotaccent otilde -15 +EndKernPairs +EndKernData +EndFontMetrics diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/PDF/default/templates/fonts/Helvetica.afm b/buildscripts/PhpDocumentor/phpDocumentor/Converters/PDF/default/templates/fonts/Helvetica.afm new file mode 100755 index 00000000..bd32af54 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/PDF/default/templates/fonts/Helvetica.afm @@ -0,0 +1,3051 @@ +StartFontMetrics 4.1 +Comment Copyright (c) 1985, 1987, 1989, 1990, 1997 Adobe Systems Incorporated. All Rights Reserved. +Comment Creation Date: Thu May 1 12:38:23 1997 +Comment UniqueID 43054 +Comment VMusage 37069 48094 +FontName Helvetica +FullName Helvetica +FamilyName Helvetica +Weight Medium +ItalicAngle 0 +IsFixedPitch false +CharacterSet ExtendedRoman +FontBBox -166 -225 1000 931 +UnderlinePosition -100 +UnderlineThickness 50 +Version 002.000 +Notice Copyright (c) 1985, 1987, 1989, 1990, 1997 Adobe Systems Incorporated. All Rights Reserved.Helvetica is a trademark of Linotype-Hell AG and/or its subsidiaries. +EncodingScheme AdobeStandardEncoding +CapHeight 718 +XHeight 523 +Ascender 718 +Descender -207 +StdHW 76 +StdVW 88 +StartCharMetrics 315 +C 32 ; WX 278 ; N space ; B 0 0 0 0 ; +C 33 ; WX 278 ; N exclam ; B 90 0 187 718 ; +C 34 ; WX 355 ; N quotedbl ; B 70 463 285 718 ; +C 35 ; WX 556 ; N numbersign ; B 28 0 529 688 ; +C 36 ; WX 556 ; N dollar ; B 32 -115 520 775 ; +C 37 ; WX 889 ; N percent ; B 39 -19 850 703 ; +C 38 ; WX 667 ; N ampersand ; B 44 -15 645 718 ; +C 39 ; WX 222 ; N quoteright ; B 53 463 157 718 ; +C 40 ; WX 333 ; N parenleft ; B 68 -207 299 733 ; +C 41 ; WX 333 ; N parenright ; B 34 -207 265 733 ; +C 42 ; WX 389 ; N asterisk ; B 39 431 349 718 ; +C 43 ; WX 584 ; N plus ; B 39 0 545 505 ; +C 44 ; WX 278 ; N comma ; B 87 -147 191 106 ; +C 45 ; WX 333 ; N hyphen ; B 44 232 289 322 ; +C 46 ; WX 278 ; N period ; B 87 0 191 106 ; +C 47 ; WX 278 ; N slash ; B -17 -19 295 737 ; +C 48 ; WX 556 ; N zero ; B 37 -19 519 703 ; +C 49 ; WX 556 ; N one ; B 101 0 359 703 ; +C 50 ; WX 556 ; N two ; B 26 0 507 703 ; +C 51 ; WX 556 ; N three ; B 34 -19 522 703 ; +C 52 ; WX 556 ; N four ; B 25 0 523 703 ; +C 53 ; WX 556 ; N five ; B 32 -19 514 688 ; +C 54 ; WX 556 ; N six ; B 38 -19 518 703 ; +C 55 ; WX 556 ; N seven ; B 37 0 523 688 ; +C 56 ; WX 556 ; N eight ; B 38 -19 517 703 ; +C 57 ; WX 556 ; N nine ; B 42 -19 514 703 ; +C 58 ; WX 278 ; N colon ; B 87 0 191 516 ; +C 59 ; WX 278 ; N semicolon ; B 87 -147 191 516 ; +C 60 ; WX 584 ; N less ; B 48 11 536 495 ; +C 61 ; WX 584 ; N equal ; B 39 115 545 390 ; +C 62 ; WX 584 ; N greater ; B 48 11 536 495 ; +C 63 ; WX 556 ; N question ; B 56 0 492 727 ; +C 64 ; WX 1015 ; N at ; B 147 -19 868 737 ; +C 65 ; WX 667 ; N A ; B 14 0 654 718 ; +C 66 ; WX 667 ; N B ; B 74 0 627 718 ; +C 67 ; WX 722 ; N C ; B 44 -19 681 737 ; +C 68 ; WX 722 ; N D ; B 81 0 674 718 ; +C 69 ; WX 667 ; N E ; B 86 0 616 718 ; +C 70 ; WX 611 ; N F ; B 86 0 583 718 ; +C 71 ; WX 778 ; N G ; B 48 -19 704 737 ; +C 72 ; WX 722 ; N H ; B 77 0 646 718 ; +C 73 ; WX 278 ; N I ; B 91 0 188 718 ; +C 74 ; WX 500 ; N J ; B 17 -19 428 718 ; +C 75 ; WX 667 ; N K ; B 76 0 663 718 ; +C 76 ; WX 556 ; N L ; B 76 0 537 718 ; +C 77 ; WX 833 ; N M ; B 73 0 761 718 ; +C 78 ; WX 722 ; N N ; B 76 0 646 718 ; +C 79 ; WX 778 ; N O ; B 39 -19 739 737 ; +C 80 ; WX 667 ; N P ; B 86 0 622 718 ; +C 81 ; WX 778 ; N Q ; B 39 -56 739 737 ; +C 82 ; WX 722 ; N R ; B 88 0 684 718 ; +C 83 ; WX 667 ; N S ; B 49 -19 620 737 ; +C 84 ; WX 611 ; N T ; B 14 0 597 718 ; +C 85 ; WX 722 ; N U ; B 79 -19 644 718 ; +C 86 ; WX 667 ; N V ; B 20 0 647 718 ; +C 87 ; WX 944 ; N W ; B 16 0 928 718 ; +C 88 ; WX 667 ; N X ; B 19 0 648 718 ; +C 89 ; WX 667 ; N Y ; B 14 0 653 718 ; +C 90 ; WX 611 ; N Z ; B 23 0 588 718 ; +C 91 ; WX 278 ; N bracketleft ; B 63 -196 250 722 ; +C 92 ; WX 278 ; N backslash ; B -17 -19 295 737 ; +C 93 ; WX 278 ; N bracketright ; B 28 -196 215 722 ; +C 94 ; WX 469 ; N asciicircum ; B -14 264 483 688 ; +C 95 ; WX 556 ; N underscore ; B 0 -125 556 -75 ; +C 96 ; WX 222 ; N quoteleft ; B 65 470 169 725 ; +C 97 ; WX 556 ; N a ; B 36 -15 530 538 ; +C 98 ; WX 556 ; N b ; B 58 -15 517 718 ; +C 99 ; WX 500 ; N c ; B 30 -15 477 538 ; +C 100 ; WX 556 ; N d ; B 35 -15 499 718 ; +C 101 ; WX 556 ; N e ; B 40 -15 516 538 ; +C 102 ; WX 278 ; N f ; B 14 0 262 728 ; L i fi ; L l fl ; +C 103 ; WX 556 ; N g ; B 40 -220 499 538 ; +C 104 ; WX 556 ; N h ; B 65 0 491 718 ; +C 105 ; WX 222 ; N i ; B 67 0 155 718 ; +C 106 ; WX 222 ; N j ; B -16 -210 155 718 ; +C 107 ; WX 500 ; N k ; B 67 0 501 718 ; +C 108 ; WX 222 ; N l ; B 67 0 155 718 ; +C 109 ; WX 833 ; N m ; B 65 0 769 538 ; +C 110 ; WX 556 ; N n ; B 65 0 491 538 ; +C 111 ; WX 556 ; N o ; B 35 -14 521 538 ; +C 112 ; WX 556 ; N p ; B 58 -207 517 538 ; +C 113 ; WX 556 ; N q ; B 35 -207 494 538 ; +C 114 ; WX 333 ; N r ; B 77 0 332 538 ; +C 115 ; WX 500 ; N s ; B 32 -15 464 538 ; +C 116 ; WX 278 ; N t ; B 14 -7 257 669 ; +C 117 ; WX 556 ; N u ; B 68 -15 489 523 ; +C 118 ; WX 500 ; N v ; B 8 0 492 523 ; +C 119 ; WX 722 ; N w ; B 14 0 709 523 ; +C 120 ; WX 500 ; N x ; B 11 0 490 523 ; +C 121 ; WX 500 ; N y ; B 11 -214 489 523 ; +C 122 ; WX 500 ; N z ; B 31 0 469 523 ; +C 123 ; WX 334 ; N braceleft ; B 42 -196 292 722 ; +C 124 ; WX 260 ; N bar ; B 94 -225 167 775 ; +C 125 ; WX 334 ; N braceright ; B 42 -196 292 722 ; +C 126 ; WX 584 ; N asciitilde ; B 61 180 523 326 ; +C 161 ; WX 333 ; N exclamdown ; B 118 -195 215 523 ; +C 162 ; WX 556 ; N cent ; B 51 -115 513 623 ; +C 163 ; WX 556 ; N sterling ; B 33 -16 539 718 ; +C 164 ; WX 167 ; N fraction ; B -166 -19 333 703 ; +C 165 ; WX 556 ; N yen ; B 3 0 553 688 ; +C 166 ; WX 556 ; N florin ; B -11 -207 501 737 ; +C 167 ; WX 556 ; N section ; B 43 -191 512 737 ; +C 168 ; WX 556 ; N currency ; B 28 99 528 603 ; +C 169 ; WX 191 ; N quotesingle ; B 59 463 132 718 ; +C 170 ; WX 333 ; N quotedblleft ; B 38 470 307 725 ; +C 171 ; WX 556 ; N guillemotleft ; B 97 108 459 446 ; +C 172 ; WX 333 ; N guilsinglleft ; B 88 108 245 446 ; +C 173 ; WX 333 ; N guilsinglright ; B 88 108 245 446 ; +C 174 ; WX 500 ; N fi ; B 14 0 434 728 ; +C 175 ; WX 500 ; N fl ; B 14 0 432 728 ; +C 177 ; WX 556 ; N endash ; B 0 240 556 313 ; +C 178 ; WX 556 ; N dagger ; B 43 -159 514 718 ; +C 179 ; WX 556 ; N daggerdbl ; B 43 -159 514 718 ; +C 180 ; WX 278 ; N periodcentered ; B 77 190 202 315 ; +C 182 ; WX 537 ; N paragraph ; B 18 -173 497 718 ; +C 183 ; WX 350 ; N bullet ; B 18 202 333 517 ; +C 184 ; WX 222 ; N quotesinglbase ; B 53 -149 157 106 ; +C 185 ; WX 333 ; N quotedblbase ; B 26 -149 295 106 ; +C 186 ; WX 333 ; N quotedblright ; B 26 463 295 718 ; +C 187 ; WX 556 ; N guillemotright ; B 97 108 459 446 ; +C 188 ; WX 1000 ; N ellipsis ; B 115 0 885 106 ; +C 189 ; WX 1000 ; N perthousand ; B 7 -19 994 703 ; +C 191 ; WX 611 ; N questiondown ; B 91 -201 527 525 ; +C 193 ; WX 333 ; N grave ; B 14 593 211 734 ; +C 194 ; WX 333 ; N acute ; B 122 593 319 734 ; +C 195 ; WX 333 ; N circumflex ; B 21 593 312 734 ; +C 196 ; WX 333 ; N tilde ; B -4 606 337 722 ; +C 197 ; WX 333 ; N macron ; B 10 627 323 684 ; +C 198 ; WX 333 ; N breve ; B 13 595 321 731 ; +C 199 ; WX 333 ; N dotaccent ; B 121 604 212 706 ; +C 200 ; WX 333 ; N dieresis ; B 40 604 293 706 ; +C 202 ; WX 333 ; N ring ; B 75 572 259 756 ; +C 203 ; WX 333 ; N cedilla ; B 45 -225 259 0 ; +C 205 ; WX 333 ; N hungarumlaut ; B 31 593 409 734 ; +C 206 ; WX 333 ; N ogonek ; B 73 -225 287 0 ; +C 207 ; WX 333 ; N caron ; B 21 593 312 734 ; +C 208 ; WX 1000 ; N emdash ; B 0 240 1000 313 ; +C 225 ; WX 1000 ; N AE ; B 8 0 951 718 ; +C 227 ; WX 370 ; N ordfeminine ; B 24 405 346 737 ; +C 232 ; WX 556 ; N Lslash ; B -20 0 537 718 ; +C 233 ; WX 778 ; N Oslash ; B 39 -19 740 737 ; +C 234 ; WX 1000 ; N OE ; B 36 -19 965 737 ; +C 235 ; WX 365 ; N ordmasculine ; B 25 405 341 737 ; +C 241 ; WX 889 ; N ae ; B 36 -15 847 538 ; +C 245 ; WX 278 ; N dotlessi ; B 95 0 183 523 ; +C 248 ; WX 222 ; N lslash ; B -20 0 242 718 ; +C 249 ; WX 611 ; N oslash ; B 28 -22 537 545 ; +C 250 ; WX 944 ; N oe ; B 35 -15 902 538 ; +C 251 ; WX 611 ; N germandbls ; B 67 -15 571 728 ; +C -1 ; WX 278 ; N Idieresis ; B 13 0 266 901 ; +C -1 ; WX 556 ; N eacute ; B 40 -15 516 734 ; +C -1 ; WX 556 ; N abreve ; B 36 -15 530 731 ; +C -1 ; WX 556 ; N uhungarumlaut ; B 68 -15 521 734 ; +C -1 ; WX 556 ; N ecaron ; B 40 -15 516 734 ; +C -1 ; WX 667 ; N Ydieresis ; B 14 0 653 901 ; +C -1 ; WX 584 ; N divide ; B 39 -19 545 524 ; +C -1 ; WX 667 ; N Yacute ; B 14 0 653 929 ; +C -1 ; WX 667 ; N Acircumflex ; B 14 0 654 929 ; +C -1 ; WX 556 ; N aacute ; B 36 -15 530 734 ; +C -1 ; WX 722 ; N Ucircumflex ; B 79 -19 644 929 ; +C -1 ; WX 500 ; N yacute ; B 11 -214 489 734 ; +C -1 ; WX 500 ; N scommaaccent ; B 32 -225 464 538 ; +C -1 ; WX 556 ; N ecircumflex ; B 40 -15 516 734 ; +C -1 ; WX 722 ; N Uring ; B 79 -19 644 931 ; +C -1 ; WX 722 ; N Udieresis ; B 79 -19 644 901 ; +C -1 ; WX 556 ; N aogonek ; B 36 -220 547 538 ; +C -1 ; WX 722 ; N Uacute ; B 79 -19 644 929 ; +C -1 ; WX 556 ; N uogonek ; B 68 -225 519 523 ; +C -1 ; WX 667 ; N Edieresis ; B 86 0 616 901 ; +C -1 ; WX 722 ; N Dcroat ; B 0 0 674 718 ; +C -1 ; WX 250 ; N commaaccent ; B 87 -225 181 -40 ; +C -1 ; WX 737 ; N copyright ; B -14 -19 752 737 ; +C -1 ; WX 667 ; N Emacron ; B 86 0 616 879 ; +C -1 ; WX 500 ; N ccaron ; B 30 -15 477 734 ; +C -1 ; WX 556 ; N aring ; B 36 -15 530 756 ; +C -1 ; WX 722 ; N Ncommaaccent ; B 76 -225 646 718 ; +C -1 ; WX 222 ; N lacute ; B 67 0 264 929 ; +C -1 ; WX 556 ; N agrave ; B 36 -15 530 734 ; +C -1 ; WX 611 ; N Tcommaaccent ; B 14 -225 597 718 ; +C -1 ; WX 722 ; N Cacute ; B 44 -19 681 929 ; +C -1 ; WX 556 ; N atilde ; B 36 -15 530 722 ; +C -1 ; WX 667 ; N Edotaccent ; B 86 0 616 901 ; +C -1 ; WX 500 ; N scaron ; B 32 -15 464 734 ; +C -1 ; WX 500 ; N scedilla ; B 32 -225 464 538 ; +C -1 ; WX 278 ; N iacute ; B 95 0 292 734 ; +C -1 ; WX 471 ; N lozenge ; B 10 0 462 728 ; +C -1 ; WX 722 ; N Rcaron ; B 88 0 684 929 ; +C -1 ; WX 778 ; N Gcommaaccent ; B 48 -225 704 737 ; +C -1 ; WX 556 ; N ucircumflex ; B 68 -15 489 734 ; +C -1 ; WX 556 ; N acircumflex ; B 36 -15 530 734 ; +C -1 ; WX 667 ; N Amacron ; B 14 0 654 879 ; +C -1 ; WX 333 ; N rcaron ; B 61 0 352 734 ; +C -1 ; WX 500 ; N ccedilla ; B 30 -225 477 538 ; +C -1 ; WX 611 ; N Zdotaccent ; B 23 0 588 901 ; +C -1 ; WX 667 ; N Thorn ; B 86 0 622 718 ; +C -1 ; WX 778 ; N Omacron ; B 39 -19 739 879 ; +C -1 ; WX 722 ; N Racute ; B 88 0 684 929 ; +C -1 ; WX 667 ; N Sacute ; B 49 -19 620 929 ; +C -1 ; WX 643 ; N dcaron ; B 35 -15 655 718 ; +C -1 ; WX 722 ; N Umacron ; B 79 -19 644 879 ; +C -1 ; WX 556 ; N uring ; B 68 -15 489 756 ; +C -1 ; WX 333 ; N threesuperior ; B 5 270 325 703 ; +C -1 ; WX 778 ; N Ograve ; B 39 -19 739 929 ; +C -1 ; WX 667 ; N Agrave ; B 14 0 654 929 ; +C -1 ; WX 667 ; N Abreve ; B 14 0 654 926 ; +C -1 ; WX 584 ; N multiply ; B 39 0 545 506 ; +C -1 ; WX 556 ; N uacute ; B 68 -15 489 734 ; +C -1 ; WX 611 ; N Tcaron ; B 14 0 597 929 ; +C -1 ; WX 476 ; N partialdiff ; B 13 -38 463 714 ; +C -1 ; WX 500 ; N ydieresis ; B 11 -214 489 706 ; +C -1 ; WX 722 ; N Nacute ; B 76 0 646 929 ; +C -1 ; WX 278 ; N icircumflex ; B -6 0 285 734 ; +C -1 ; WX 667 ; N Ecircumflex ; B 86 0 616 929 ; +C -1 ; WX 556 ; N adieresis ; B 36 -15 530 706 ; +C -1 ; WX 556 ; N edieresis ; B 40 -15 516 706 ; +C -1 ; WX 500 ; N cacute ; B 30 -15 477 734 ; +C -1 ; WX 556 ; N nacute ; B 65 0 491 734 ; +C -1 ; WX 556 ; N umacron ; B 68 -15 489 684 ; +C -1 ; WX 722 ; N Ncaron ; B 76 0 646 929 ; +C -1 ; WX 278 ; N Iacute ; B 91 0 292 929 ; +C -1 ; WX 584 ; N plusminus ; B 39 0 545 506 ; +C -1 ; WX 260 ; N brokenbar ; B 94 -150 167 700 ; +C -1 ; WX 737 ; N registered ; B -14 -19 752 737 ; +C -1 ; WX 778 ; N Gbreve ; B 48 -19 704 926 ; +C -1 ; WX 278 ; N Idotaccent ; B 91 0 188 901 ; +C -1 ; WX 600 ; N summation ; B 15 -10 586 706 ; +C -1 ; WX 667 ; N Egrave ; B 86 0 616 929 ; +C -1 ; WX 333 ; N racute ; B 77 0 332 734 ; +C -1 ; WX 556 ; N omacron ; B 35 -14 521 684 ; +C -1 ; WX 611 ; N Zacute ; B 23 0 588 929 ; +C -1 ; WX 611 ; N Zcaron ; B 23 0 588 929 ; +C -1 ; WX 549 ; N greaterequal ; B 26 0 523 674 ; +C -1 ; WX 722 ; N Eth ; B 0 0 674 718 ; +C -1 ; WX 722 ; N Ccedilla ; B 44 -225 681 737 ; +C -1 ; WX 222 ; N lcommaaccent ; B 67 -225 167 718 ; +C -1 ; WX 317 ; N tcaron ; B 14 -7 329 808 ; +C -1 ; WX 556 ; N eogonek ; B 40 -225 516 538 ; +C -1 ; WX 722 ; N Uogonek ; B 79 -225 644 718 ; +C -1 ; WX 667 ; N Aacute ; B 14 0 654 929 ; +C -1 ; WX 667 ; N Adieresis ; B 14 0 654 901 ; +C -1 ; WX 556 ; N egrave ; B 40 -15 516 734 ; +C -1 ; WX 500 ; N zacute ; B 31 0 469 734 ; +C -1 ; WX 222 ; N iogonek ; B -31 -225 183 718 ; +C -1 ; WX 778 ; N Oacute ; B 39 -19 739 929 ; +C -1 ; WX 556 ; N oacute ; B 35 -14 521 734 ; +C -1 ; WX 556 ; N amacron ; B 36 -15 530 684 ; +C -1 ; WX 500 ; N sacute ; B 32 -15 464 734 ; +C -1 ; WX 278 ; N idieresis ; B 13 0 266 706 ; +C -1 ; WX 778 ; N Ocircumflex ; B 39 -19 739 929 ; +C -1 ; WX 722 ; N Ugrave ; B 79 -19 644 929 ; +C -1 ; WX 612 ; N Delta ; B 6 0 608 688 ; +C -1 ; WX 556 ; N thorn ; B 58 -207 517 718 ; +C -1 ; WX 333 ; N twosuperior ; B 4 281 323 703 ; +C -1 ; WX 778 ; N Odieresis ; B 39 -19 739 901 ; +C -1 ; WX 556 ; N mu ; B 68 -207 489 523 ; +C -1 ; WX 278 ; N igrave ; B -13 0 184 734 ; +C -1 ; WX 556 ; N ohungarumlaut ; B 35 -14 521 734 ; +C -1 ; WX 667 ; N Eogonek ; B 86 -220 633 718 ; +C -1 ; WX 556 ; N dcroat ; B 35 -15 550 718 ; +C -1 ; WX 834 ; N threequarters ; B 45 -19 810 703 ; +C -1 ; WX 667 ; N Scedilla ; B 49 -225 620 737 ; +C -1 ; WX 299 ; N lcaron ; B 67 0 311 718 ; +C -1 ; WX 667 ; N Kcommaaccent ; B 76 -225 663 718 ; +C -1 ; WX 556 ; N Lacute ; B 76 0 537 929 ; +C -1 ; WX 1000 ; N trademark ; B 46 306 903 718 ; +C -1 ; WX 556 ; N edotaccent ; B 40 -15 516 706 ; +C -1 ; WX 278 ; N Igrave ; B -13 0 188 929 ; +C -1 ; WX 278 ; N Imacron ; B -17 0 296 879 ; +C -1 ; WX 556 ; N Lcaron ; B 76 0 537 718 ; +C -1 ; WX 834 ; N onehalf ; B 43 -19 773 703 ; +C -1 ; WX 549 ; N lessequal ; B 26 0 523 674 ; +C -1 ; WX 556 ; N ocircumflex ; B 35 -14 521 734 ; +C -1 ; WX 556 ; N ntilde ; B 65 0 491 722 ; +C -1 ; WX 722 ; N Uhungarumlaut ; B 79 -19 644 929 ; +C -1 ; WX 667 ; N Eacute ; B 86 0 616 929 ; +C -1 ; WX 556 ; N emacron ; B 40 -15 516 684 ; +C -1 ; WX 556 ; N gbreve ; B 40 -220 499 731 ; +C -1 ; WX 834 ; N onequarter ; B 73 -19 756 703 ; +C -1 ; WX 667 ; N Scaron ; B 49 -19 620 929 ; +C -1 ; WX 667 ; N Scommaaccent ; B 49 -225 620 737 ; +C -1 ; WX 778 ; N Ohungarumlaut ; B 39 -19 739 929 ; +C -1 ; WX 400 ; N degree ; B 54 411 346 703 ; +C -1 ; WX 556 ; N ograve ; B 35 -14 521 734 ; +C -1 ; WX 722 ; N Ccaron ; B 44 -19 681 929 ; +C -1 ; WX 556 ; N ugrave ; B 68 -15 489 734 ; +C -1 ; WX 453 ; N radical ; B -4 -80 458 762 ; +C -1 ; WX 722 ; N Dcaron ; B 81 0 674 929 ; +C -1 ; WX 333 ; N rcommaaccent ; B 77 -225 332 538 ; +C -1 ; WX 722 ; N Ntilde ; B 76 0 646 917 ; +C -1 ; WX 556 ; N otilde ; B 35 -14 521 722 ; +C -1 ; WX 722 ; N Rcommaaccent ; B 88 -225 684 718 ; +C -1 ; WX 556 ; N Lcommaaccent ; B 76 -225 537 718 ; +C -1 ; WX 667 ; N Atilde ; B 14 0 654 917 ; +C -1 ; WX 667 ; N Aogonek ; B 14 -225 654 718 ; +C -1 ; WX 667 ; N Aring ; B 14 0 654 931 ; +C -1 ; WX 778 ; N Otilde ; B 39 -19 739 917 ; +C -1 ; WX 500 ; N zdotaccent ; B 31 0 469 706 ; +C -1 ; WX 667 ; N Ecaron ; B 86 0 616 929 ; +C -1 ; WX 278 ; N Iogonek ; B -3 -225 211 718 ; +C -1 ; WX 500 ; N kcommaaccent ; B 67 -225 501 718 ; +C -1 ; WX 584 ; N minus ; B 39 216 545 289 ; +C -1 ; WX 278 ; N Icircumflex ; B -6 0 285 929 ; +C -1 ; WX 556 ; N ncaron ; B 65 0 491 734 ; +C -1 ; WX 278 ; N tcommaaccent ; B 14 -225 257 669 ; +C -1 ; WX 584 ; N logicalnot ; B 39 108 545 390 ; +C -1 ; WX 556 ; N odieresis ; B 35 -14 521 706 ; +C -1 ; WX 556 ; N udieresis ; B 68 -15 489 706 ; +C -1 ; WX 549 ; N notequal ; B 12 -35 537 551 ; +C -1 ; WX 556 ; N gcommaaccent ; B 40 -220 499 822 ; +C -1 ; WX 556 ; N eth ; B 35 -15 522 737 ; +C -1 ; WX 500 ; N zcaron ; B 31 0 469 734 ; +C -1 ; WX 556 ; N ncommaaccent ; B 65 -225 491 538 ; +C -1 ; WX 333 ; N onesuperior ; B 43 281 222 703 ; +C -1 ; WX 278 ; N imacron ; B 5 0 272 684 ; +C -1 ; WX 556 ; N Euro ; B 0 0 0 0 ; +EndCharMetrics +StartKernData +StartKernPairs 2705 +KPX A C -30 +KPX A Cacute -30 +KPX A Ccaron -30 +KPX A Ccedilla -30 +KPX A G -30 +KPX A Gbreve -30 +KPX A Gcommaaccent -30 +KPX A O -30 +KPX A Oacute -30 +KPX A Ocircumflex -30 +KPX A Odieresis -30 +KPX A Ograve -30 +KPX A Ohungarumlaut -30 +KPX A Omacron -30 +KPX A Oslash -30 +KPX A Otilde -30 +KPX A Q -30 +KPX A T -120 +KPX A Tcaron -120 +KPX A Tcommaaccent -120 +KPX A U -50 +KPX A Uacute -50 +KPX A Ucircumflex -50 +KPX A Udieresis -50 +KPX A Ugrave -50 +KPX A Uhungarumlaut -50 +KPX A Umacron -50 +KPX A Uogonek -50 +KPX A Uring -50 +KPX A V -70 +KPX A W -50 +KPX A Y -100 +KPX A Yacute -100 +KPX A Ydieresis -100 +KPX A u -30 +KPX A uacute -30 +KPX A ucircumflex -30 +KPX A udieresis -30 +KPX A ugrave -30 +KPX A uhungarumlaut -30 +KPX A umacron -30 +KPX A uogonek -30 +KPX A uring -30 +KPX A v -40 +KPX A w -40 +KPX A y -40 +KPX A yacute -40 +KPX A ydieresis -40 +KPX Aacute C -30 +KPX Aacute Cacute -30 +KPX Aacute Ccaron -30 +KPX Aacute Ccedilla -30 +KPX Aacute G -30 +KPX Aacute Gbreve -30 +KPX Aacute Gcommaaccent -30 +KPX Aacute O -30 +KPX Aacute Oacute -30 +KPX Aacute Ocircumflex -30 +KPX Aacute Odieresis -30 +KPX Aacute Ograve -30 +KPX Aacute Ohungarumlaut -30 +KPX Aacute Omacron -30 +KPX Aacute Oslash -30 +KPX Aacute Otilde -30 +KPX Aacute Q -30 +KPX Aacute T -120 +KPX Aacute Tcaron -120 +KPX Aacute Tcommaaccent -120 +KPX Aacute U -50 +KPX Aacute Uacute -50 +KPX Aacute Ucircumflex -50 +KPX Aacute Udieresis -50 +KPX Aacute Ugrave -50 +KPX Aacute Uhungarumlaut -50 +KPX Aacute Umacron -50 +KPX Aacute Uogonek -50 +KPX Aacute Uring -50 +KPX Aacute V -70 +KPX Aacute W -50 +KPX Aacute Y -100 +KPX Aacute Yacute -100 +KPX Aacute Ydieresis -100 +KPX Aacute u -30 +KPX Aacute uacute -30 +KPX Aacute ucircumflex -30 +KPX Aacute udieresis -30 +KPX Aacute ugrave -30 +KPX Aacute uhungarumlaut -30 +KPX Aacute umacron -30 +KPX Aacute uogonek -30 +KPX Aacute uring -30 +KPX Aacute v -40 +KPX Aacute w -40 +KPX Aacute y -40 +KPX Aacute yacute -40 +KPX Aacute ydieresis -40 +KPX Abreve C -30 +KPX Abreve Cacute -30 +KPX Abreve Ccaron -30 +KPX Abreve Ccedilla -30 +KPX Abreve G -30 +KPX Abreve Gbreve -30 +KPX Abreve Gcommaaccent -30 +KPX Abreve O -30 +KPX Abreve Oacute -30 +KPX Abreve Ocircumflex -30 +KPX Abreve Odieresis -30 +KPX Abreve Ograve -30 +KPX Abreve Ohungarumlaut -30 +KPX Abreve Omacron -30 +KPX Abreve Oslash -30 +KPX Abreve Otilde -30 +KPX Abreve Q -30 +KPX Abreve T -120 +KPX Abreve Tcaron -120 +KPX Abreve Tcommaaccent -120 +KPX Abreve U -50 +KPX Abreve Uacute -50 +KPX Abreve Ucircumflex -50 +KPX Abreve Udieresis -50 +KPX Abreve Ugrave -50 +KPX Abreve Uhungarumlaut -50 +KPX Abreve Umacron -50 +KPX Abreve Uogonek -50 +KPX Abreve Uring -50 +KPX Abreve V -70 +KPX Abreve W -50 +KPX Abreve Y -100 +KPX Abreve Yacute -100 +KPX Abreve Ydieresis -100 +KPX Abreve u -30 +KPX Abreve uacute -30 +KPX Abreve ucircumflex -30 +KPX Abreve udieresis -30 +KPX Abreve ugrave -30 +KPX Abreve uhungarumlaut -30 +KPX Abreve umacron -30 +KPX Abreve uogonek -30 +KPX Abreve uring -30 +KPX Abreve v -40 +KPX Abreve w -40 +KPX Abreve y -40 +KPX Abreve yacute -40 +KPX Abreve ydieresis -40 +KPX Acircumflex C -30 +KPX Acircumflex Cacute -30 +KPX Acircumflex Ccaron -30 +KPX Acircumflex Ccedilla -30 +KPX Acircumflex G -30 +KPX Acircumflex Gbreve -30 +KPX Acircumflex Gcommaaccent -30 +KPX Acircumflex O -30 +KPX Acircumflex Oacute -30 +KPX Acircumflex Ocircumflex -30 +KPX Acircumflex Odieresis -30 +KPX Acircumflex Ograve -30 +KPX Acircumflex Ohungarumlaut -30 +KPX Acircumflex Omacron -30 +KPX Acircumflex Oslash -30 +KPX Acircumflex Otilde -30 +KPX Acircumflex Q -30 +KPX Acircumflex T -120 +KPX Acircumflex Tcaron -120 +KPX Acircumflex Tcommaaccent -120 +KPX Acircumflex U -50 +KPX Acircumflex Uacute -50 +KPX Acircumflex Ucircumflex -50 +KPX Acircumflex Udieresis -50 +KPX Acircumflex Ugrave -50 +KPX Acircumflex Uhungarumlaut -50 +KPX Acircumflex Umacron -50 +KPX Acircumflex Uogonek -50 +KPX Acircumflex Uring -50 +KPX Acircumflex V -70 +KPX Acircumflex W -50 +KPX Acircumflex Y -100 +KPX Acircumflex Yacute -100 +KPX Acircumflex Ydieresis -100 +KPX Acircumflex u -30 +KPX Acircumflex uacute -30 +KPX Acircumflex ucircumflex -30 +KPX Acircumflex udieresis -30 +KPX Acircumflex ugrave -30 +KPX Acircumflex uhungarumlaut -30 +KPX Acircumflex umacron -30 +KPX Acircumflex uogonek -30 +KPX Acircumflex uring -30 +KPX Acircumflex v -40 +KPX Acircumflex w -40 +KPX Acircumflex y -40 +KPX Acircumflex yacute -40 +KPX Acircumflex ydieresis -40 +KPX Adieresis C -30 +KPX Adieresis Cacute -30 +KPX Adieresis Ccaron -30 +KPX Adieresis Ccedilla -30 +KPX Adieresis G -30 +KPX Adieresis Gbreve -30 +KPX Adieresis Gcommaaccent -30 +KPX Adieresis O -30 +KPX Adieresis Oacute -30 +KPX Adieresis Ocircumflex -30 +KPX Adieresis Odieresis -30 +KPX Adieresis Ograve -30 +KPX Adieresis Ohungarumlaut -30 +KPX Adieresis Omacron -30 +KPX Adieresis Oslash -30 +KPX Adieresis Otilde -30 +KPX Adieresis Q -30 +KPX Adieresis T -120 +KPX Adieresis Tcaron -120 +KPX Adieresis Tcommaaccent -120 +KPX Adieresis U -50 +KPX Adieresis Uacute -50 +KPX Adieresis Ucircumflex -50 +KPX Adieresis Udieresis -50 +KPX Adieresis Ugrave -50 +KPX Adieresis Uhungarumlaut -50 +KPX Adieresis Umacron -50 +KPX Adieresis Uogonek -50 +KPX Adieresis Uring -50 +KPX Adieresis V -70 +KPX Adieresis W -50 +KPX Adieresis Y -100 +KPX Adieresis Yacute -100 +KPX Adieresis Ydieresis -100 +KPX Adieresis u -30 +KPX Adieresis uacute -30 +KPX Adieresis ucircumflex -30 +KPX Adieresis udieresis -30 +KPX Adieresis ugrave -30 +KPX Adieresis uhungarumlaut -30 +KPX Adieresis umacron -30 +KPX Adieresis uogonek -30 +KPX Adieresis uring -30 +KPX Adieresis v -40 +KPX Adieresis w -40 +KPX Adieresis y -40 +KPX Adieresis yacute -40 +KPX Adieresis ydieresis -40 +KPX Agrave C -30 +KPX Agrave Cacute -30 +KPX Agrave Ccaron -30 +KPX Agrave Ccedilla -30 +KPX Agrave G -30 +KPX Agrave Gbreve -30 +KPX Agrave Gcommaaccent -30 +KPX Agrave O -30 +KPX Agrave Oacute -30 +KPX Agrave Ocircumflex -30 +KPX Agrave Odieresis -30 +KPX Agrave Ograve -30 +KPX Agrave Ohungarumlaut -30 +KPX Agrave Omacron -30 +KPX Agrave Oslash -30 +KPX Agrave Otilde -30 +KPX Agrave Q -30 +KPX Agrave T -120 +KPX Agrave Tcaron -120 +KPX Agrave Tcommaaccent -120 +KPX Agrave U -50 +KPX Agrave Uacute -50 +KPX Agrave Ucircumflex -50 +KPX Agrave Udieresis -50 +KPX Agrave Ugrave -50 +KPX Agrave Uhungarumlaut -50 +KPX Agrave Umacron -50 +KPX Agrave Uogonek -50 +KPX Agrave Uring -50 +KPX Agrave V -70 +KPX Agrave W -50 +KPX Agrave Y -100 +KPX Agrave Yacute -100 +KPX Agrave Ydieresis -100 +KPX Agrave u -30 +KPX Agrave uacute -30 +KPX Agrave ucircumflex -30 +KPX Agrave udieresis -30 +KPX Agrave ugrave -30 +KPX Agrave uhungarumlaut -30 +KPX Agrave umacron -30 +KPX Agrave uogonek -30 +KPX Agrave uring -30 +KPX Agrave v -40 +KPX Agrave w -40 +KPX Agrave y -40 +KPX Agrave yacute -40 +KPX Agrave ydieresis -40 +KPX Amacron C -30 +KPX Amacron Cacute -30 +KPX Amacron Ccaron -30 +KPX Amacron Ccedilla -30 +KPX Amacron G -30 +KPX Amacron Gbreve -30 +KPX Amacron Gcommaaccent -30 +KPX Amacron O -30 +KPX Amacron Oacute -30 +KPX Amacron Ocircumflex -30 +KPX Amacron Odieresis -30 +KPX Amacron Ograve -30 +KPX Amacron Ohungarumlaut -30 +KPX Amacron Omacron -30 +KPX Amacron Oslash -30 +KPX Amacron Otilde -30 +KPX Amacron Q -30 +KPX Amacron T -120 +KPX Amacron Tcaron -120 +KPX Amacron Tcommaaccent -120 +KPX Amacron U -50 +KPX Amacron Uacute -50 +KPX Amacron Ucircumflex -50 +KPX Amacron Udieresis -50 +KPX Amacron Ugrave -50 +KPX Amacron Uhungarumlaut -50 +KPX Amacron Umacron -50 +KPX Amacron Uogonek -50 +KPX Amacron Uring -50 +KPX Amacron V -70 +KPX Amacron W -50 +KPX Amacron Y -100 +KPX Amacron Yacute -100 +KPX Amacron Ydieresis -100 +KPX Amacron u -30 +KPX Amacron uacute -30 +KPX Amacron ucircumflex -30 +KPX Amacron udieresis -30 +KPX Amacron ugrave -30 +KPX Amacron uhungarumlaut -30 +KPX Amacron umacron -30 +KPX Amacron uogonek -30 +KPX Amacron uring -30 +KPX Amacron v -40 +KPX Amacron w -40 +KPX Amacron y -40 +KPX Amacron yacute -40 +KPX Amacron ydieresis -40 +KPX Aogonek C -30 +KPX Aogonek Cacute -30 +KPX Aogonek Ccaron -30 +KPX Aogonek Ccedilla -30 +KPX Aogonek G -30 +KPX Aogonek Gbreve -30 +KPX Aogonek Gcommaaccent -30 +KPX Aogonek O -30 +KPX Aogonek Oacute -30 +KPX Aogonek Ocircumflex -30 +KPX Aogonek Odieresis -30 +KPX Aogonek Ograve -30 +KPX Aogonek Ohungarumlaut -30 +KPX Aogonek Omacron -30 +KPX Aogonek Oslash -30 +KPX Aogonek Otilde -30 +KPX Aogonek Q -30 +KPX Aogonek T -120 +KPX Aogonek Tcaron -120 +KPX Aogonek Tcommaaccent -120 +KPX Aogonek U -50 +KPX Aogonek Uacute -50 +KPX Aogonek Ucircumflex -50 +KPX Aogonek Udieresis -50 +KPX Aogonek Ugrave -50 +KPX Aogonek Uhungarumlaut -50 +KPX Aogonek Umacron -50 +KPX Aogonek Uogonek -50 +KPX Aogonek Uring -50 +KPX Aogonek V -70 +KPX Aogonek W -50 +KPX Aogonek Y -100 +KPX Aogonek Yacute -100 +KPX Aogonek Ydieresis -100 +KPX Aogonek u -30 +KPX Aogonek uacute -30 +KPX Aogonek ucircumflex -30 +KPX Aogonek udieresis -30 +KPX Aogonek ugrave -30 +KPX Aogonek uhungarumlaut -30 +KPX Aogonek umacron -30 +KPX Aogonek uogonek -30 +KPX Aogonek uring -30 +KPX Aogonek v -40 +KPX Aogonek w -40 +KPX Aogonek y -40 +KPX Aogonek yacute -40 +KPX Aogonek ydieresis -40 +KPX Aring C -30 +KPX Aring Cacute -30 +KPX Aring Ccaron -30 +KPX Aring Ccedilla -30 +KPX Aring G -30 +KPX Aring Gbreve -30 +KPX Aring Gcommaaccent -30 +KPX Aring O -30 +KPX Aring Oacute -30 +KPX Aring Ocircumflex -30 +KPX Aring Odieresis -30 +KPX Aring Ograve -30 +KPX Aring Ohungarumlaut -30 +KPX Aring Omacron -30 +KPX Aring Oslash -30 +KPX Aring Otilde -30 +KPX Aring Q -30 +KPX Aring T -120 +KPX Aring Tcaron -120 +KPX Aring Tcommaaccent -120 +KPX Aring U -50 +KPX Aring Uacute -50 +KPX Aring Ucircumflex -50 +KPX Aring Udieresis -50 +KPX Aring Ugrave -50 +KPX Aring Uhungarumlaut -50 +KPX Aring Umacron -50 +KPX Aring Uogonek -50 +KPX Aring Uring -50 +KPX Aring V -70 +KPX Aring W -50 +KPX Aring Y -100 +KPX Aring Yacute -100 +KPX Aring Ydieresis -100 +KPX Aring u -30 +KPX Aring uacute -30 +KPX Aring ucircumflex -30 +KPX Aring udieresis -30 +KPX Aring ugrave -30 +KPX Aring uhungarumlaut -30 +KPX Aring umacron -30 +KPX Aring uogonek -30 +KPX Aring uring -30 +KPX Aring v -40 +KPX Aring w -40 +KPX Aring y -40 +KPX Aring yacute -40 +KPX Aring ydieresis -40 +KPX Atilde C -30 +KPX Atilde Cacute -30 +KPX Atilde Ccaron -30 +KPX Atilde Ccedilla -30 +KPX Atilde G -30 +KPX Atilde Gbreve -30 +KPX Atilde Gcommaaccent -30 +KPX Atilde O -30 +KPX Atilde Oacute -30 +KPX Atilde Ocircumflex -30 +KPX Atilde Odieresis -30 +KPX Atilde Ograve -30 +KPX Atilde Ohungarumlaut -30 +KPX Atilde Omacron -30 +KPX Atilde Oslash -30 +KPX Atilde Otilde -30 +KPX Atilde Q -30 +KPX Atilde T -120 +KPX Atilde Tcaron -120 +KPX Atilde Tcommaaccent -120 +KPX Atilde U -50 +KPX Atilde Uacute -50 +KPX Atilde Ucircumflex -50 +KPX Atilde Udieresis -50 +KPX Atilde Ugrave -50 +KPX Atilde Uhungarumlaut -50 +KPX Atilde Umacron -50 +KPX Atilde Uogonek -50 +KPX Atilde Uring -50 +KPX Atilde V -70 +KPX Atilde W -50 +KPX Atilde Y -100 +KPX Atilde Yacute -100 +KPX Atilde Ydieresis -100 +KPX Atilde u -30 +KPX Atilde uacute -30 +KPX Atilde ucircumflex -30 +KPX Atilde udieresis -30 +KPX Atilde ugrave -30 +KPX Atilde uhungarumlaut -30 +KPX Atilde umacron -30 +KPX Atilde uogonek -30 +KPX Atilde uring -30 +KPX Atilde v -40 +KPX Atilde w -40 +KPX Atilde y -40 +KPX Atilde yacute -40 +KPX Atilde ydieresis -40 +KPX B U -10 +KPX B Uacute -10 +KPX B Ucircumflex -10 +KPX B Udieresis -10 +KPX B Ugrave -10 +KPX B Uhungarumlaut -10 +KPX B Umacron -10 +KPX B Uogonek -10 +KPX B Uring -10 +KPX B comma -20 +KPX B period -20 +KPX C comma -30 +KPX C period -30 +KPX Cacute comma -30 +KPX Cacute period -30 +KPX Ccaron comma -30 +KPX Ccaron period -30 +KPX Ccedilla comma -30 +KPX Ccedilla period -30 +KPX D A -40 +KPX D Aacute -40 +KPX D Abreve -40 +KPX D Acircumflex -40 +KPX D Adieresis -40 +KPX D Agrave -40 +KPX D Amacron -40 +KPX D Aogonek -40 +KPX D Aring -40 +KPX D Atilde -40 +KPX D V -70 +KPX D W -40 +KPX D Y -90 +KPX D Yacute -90 +KPX D Ydieresis -90 +KPX D comma -70 +KPX D period -70 +KPX Dcaron A -40 +KPX Dcaron Aacute -40 +KPX Dcaron Abreve -40 +KPX Dcaron Acircumflex -40 +KPX Dcaron Adieresis -40 +KPX Dcaron Agrave -40 +KPX Dcaron Amacron -40 +KPX Dcaron Aogonek -40 +KPX Dcaron Aring -40 +KPX Dcaron Atilde -40 +KPX Dcaron V -70 +KPX Dcaron W -40 +KPX Dcaron Y -90 +KPX Dcaron Yacute -90 +KPX Dcaron Ydieresis -90 +KPX Dcaron comma -70 +KPX Dcaron period -70 +KPX Dcroat A -40 +KPX Dcroat Aacute -40 +KPX Dcroat Abreve -40 +KPX Dcroat Acircumflex -40 +KPX Dcroat Adieresis -40 +KPX Dcroat Agrave -40 +KPX Dcroat Amacron -40 +KPX Dcroat Aogonek -40 +KPX Dcroat Aring -40 +KPX Dcroat Atilde -40 +KPX Dcroat V -70 +KPX Dcroat W -40 +KPX Dcroat Y -90 +KPX Dcroat Yacute -90 +KPX Dcroat Ydieresis -90 +KPX Dcroat comma -70 +KPX Dcroat period -70 +KPX F A -80 +KPX F Aacute -80 +KPX F Abreve -80 +KPX F Acircumflex -80 +KPX F Adieresis -80 +KPX F Agrave -80 +KPX F Amacron -80 +KPX F Aogonek -80 +KPX F Aring -80 +KPX F Atilde -80 +KPX F a -50 +KPX F aacute -50 +KPX F abreve -50 +KPX F acircumflex -50 +KPX F adieresis -50 +KPX F agrave -50 +KPX F amacron -50 +KPX F aogonek -50 +KPX F aring -50 +KPX F atilde -50 +KPX F comma -150 +KPX F e -30 +KPX F eacute -30 +KPX F ecaron -30 +KPX F ecircumflex -30 +KPX F edieresis -30 +KPX F edotaccent -30 +KPX F egrave -30 +KPX F emacron -30 +KPX F eogonek -30 +KPX F o -30 +KPX F oacute -30 +KPX F ocircumflex -30 +KPX F odieresis -30 +KPX F ograve -30 +KPX F ohungarumlaut -30 +KPX F omacron -30 +KPX F oslash -30 +KPX F otilde -30 +KPX F period -150 +KPX F r -45 +KPX F racute -45 +KPX F rcaron -45 +KPX F rcommaaccent -45 +KPX J A -20 +KPX J Aacute -20 +KPX J Abreve -20 +KPX J Acircumflex -20 +KPX J Adieresis -20 +KPX J Agrave -20 +KPX J Amacron -20 +KPX J Aogonek -20 +KPX J Aring -20 +KPX J Atilde -20 +KPX J a -20 +KPX J aacute -20 +KPX J abreve -20 +KPX J acircumflex -20 +KPX J adieresis -20 +KPX J agrave -20 +KPX J amacron -20 +KPX J aogonek -20 +KPX J aring -20 +KPX J atilde -20 +KPX J comma -30 +KPX J period -30 +KPX J u -20 +KPX J uacute -20 +KPX J ucircumflex -20 +KPX J udieresis -20 +KPX J ugrave -20 +KPX J uhungarumlaut -20 +KPX J umacron -20 +KPX J uogonek -20 +KPX J uring -20 +KPX K O -50 +KPX K Oacute -50 +KPX K Ocircumflex -50 +KPX K Odieresis -50 +KPX K Ograve -50 +KPX K Ohungarumlaut -50 +KPX K Omacron -50 +KPX K Oslash -50 +KPX K Otilde -50 +KPX K e -40 +KPX K eacute -40 +KPX K ecaron -40 +KPX K ecircumflex -40 +KPX K edieresis -40 +KPX K edotaccent -40 +KPX K egrave -40 +KPX K emacron -40 +KPX K eogonek -40 +KPX K o -40 +KPX K oacute -40 +KPX K ocircumflex -40 +KPX K odieresis -40 +KPX K ograve -40 +KPX K ohungarumlaut -40 +KPX K omacron -40 +KPX K oslash -40 +KPX K otilde -40 +KPX K u -30 +KPX K uacute -30 +KPX K ucircumflex -30 +KPX K udieresis -30 +KPX K ugrave -30 +KPX K uhungarumlaut -30 +KPX K umacron -30 +KPX K uogonek -30 +KPX K uring -30 +KPX K y -50 +KPX K yacute -50 +KPX K ydieresis -50 +KPX Kcommaaccent O -50 +KPX Kcommaaccent Oacute -50 +KPX Kcommaaccent Ocircumflex -50 +KPX Kcommaaccent Odieresis -50 +KPX Kcommaaccent Ograve -50 +KPX Kcommaaccent Ohungarumlaut -50 +KPX Kcommaaccent Omacron -50 +KPX Kcommaaccent Oslash -50 +KPX Kcommaaccent Otilde -50 +KPX Kcommaaccent e -40 +KPX Kcommaaccent eacute -40 +KPX Kcommaaccent ecaron -40 +KPX Kcommaaccent ecircumflex -40 +KPX Kcommaaccent edieresis -40 +KPX Kcommaaccent edotaccent -40 +KPX Kcommaaccent egrave -40 +KPX Kcommaaccent emacron -40 +KPX Kcommaaccent eogonek -40 +KPX Kcommaaccent o -40 +KPX Kcommaaccent oacute -40 +KPX Kcommaaccent ocircumflex -40 +KPX Kcommaaccent odieresis -40 +KPX Kcommaaccent ograve -40 +KPX Kcommaaccent ohungarumlaut -40 +KPX Kcommaaccent omacron -40 +KPX Kcommaaccent oslash -40 +KPX Kcommaaccent otilde -40 +KPX Kcommaaccent u -30 +KPX Kcommaaccent uacute -30 +KPX Kcommaaccent ucircumflex -30 +KPX Kcommaaccent udieresis -30 +KPX Kcommaaccent ugrave -30 +KPX Kcommaaccent uhungarumlaut -30 +KPX Kcommaaccent umacron -30 +KPX Kcommaaccent uogonek -30 +KPX Kcommaaccent uring -30 +KPX Kcommaaccent y -50 +KPX Kcommaaccent yacute -50 +KPX Kcommaaccent ydieresis -50 +KPX L T -110 +KPX L Tcaron -110 +KPX L Tcommaaccent -110 +KPX L V -110 +KPX L W -70 +KPX L Y -140 +KPX L Yacute -140 +KPX L Ydieresis -140 +KPX L quotedblright -140 +KPX L quoteright -160 +KPX L y -30 +KPX L yacute -30 +KPX L ydieresis -30 +KPX Lacute T -110 +KPX Lacute Tcaron -110 +KPX Lacute Tcommaaccent -110 +KPX Lacute V -110 +KPX Lacute W -70 +KPX Lacute Y -140 +KPX Lacute Yacute -140 +KPX Lacute Ydieresis -140 +KPX Lacute quotedblright -140 +KPX Lacute quoteright -160 +KPX Lacute y -30 +KPX Lacute yacute -30 +KPX Lacute ydieresis -30 +KPX Lcaron T -110 +KPX Lcaron Tcaron -110 +KPX Lcaron Tcommaaccent -110 +KPX Lcaron V -110 +KPX Lcaron W -70 +KPX Lcaron Y -140 +KPX Lcaron Yacute -140 +KPX Lcaron Ydieresis -140 +KPX Lcaron quotedblright -140 +KPX Lcaron quoteright -160 +KPX Lcaron y -30 +KPX Lcaron yacute -30 +KPX Lcaron ydieresis -30 +KPX Lcommaaccent T -110 +KPX Lcommaaccent Tcaron -110 +KPX Lcommaaccent Tcommaaccent -110 +KPX Lcommaaccent V -110 +KPX Lcommaaccent W -70 +KPX Lcommaaccent Y -140 +KPX Lcommaaccent Yacute -140 +KPX Lcommaaccent Ydieresis -140 +KPX Lcommaaccent quotedblright -140 +KPX Lcommaaccent quoteright -160 +KPX Lcommaaccent y -30 +KPX Lcommaaccent yacute -30 +KPX Lcommaaccent ydieresis -30 +KPX Lslash T -110 +KPX Lslash Tcaron -110 +KPX Lslash Tcommaaccent -110 +KPX Lslash V -110 +KPX Lslash W -70 +KPX Lslash Y -140 +KPX Lslash Yacute -140 +KPX Lslash Ydieresis -140 +KPX Lslash quotedblright -140 +KPX Lslash quoteright -160 +KPX Lslash y -30 +KPX Lslash yacute -30 +KPX Lslash ydieresis -30 +KPX O A -20 +KPX O Aacute -20 +KPX O Abreve -20 +KPX O Acircumflex -20 +KPX O Adieresis -20 +KPX O Agrave -20 +KPX O Amacron -20 +KPX O Aogonek -20 +KPX O Aring -20 +KPX O Atilde -20 +KPX O T -40 +KPX O Tcaron -40 +KPX O Tcommaaccent -40 +KPX O V -50 +KPX O W -30 +KPX O X -60 +KPX O Y -70 +KPX O Yacute -70 +KPX O Ydieresis -70 +KPX O comma -40 +KPX O period -40 +KPX Oacute A -20 +KPX Oacute Aacute -20 +KPX Oacute Abreve -20 +KPX Oacute Acircumflex -20 +KPX Oacute Adieresis -20 +KPX Oacute Agrave -20 +KPX Oacute Amacron -20 +KPX Oacute Aogonek -20 +KPX Oacute Aring -20 +KPX Oacute Atilde -20 +KPX Oacute T -40 +KPX Oacute Tcaron -40 +KPX Oacute Tcommaaccent -40 +KPX Oacute V -50 +KPX Oacute W -30 +KPX Oacute X -60 +KPX Oacute Y -70 +KPX Oacute Yacute -70 +KPX Oacute Ydieresis -70 +KPX Oacute comma -40 +KPX Oacute period -40 +KPX Ocircumflex A -20 +KPX Ocircumflex Aacute -20 +KPX Ocircumflex Abreve -20 +KPX Ocircumflex Acircumflex -20 +KPX Ocircumflex Adieresis -20 +KPX Ocircumflex Agrave -20 +KPX Ocircumflex Amacron -20 +KPX Ocircumflex Aogonek -20 +KPX Ocircumflex Aring -20 +KPX Ocircumflex Atilde -20 +KPX Ocircumflex T -40 +KPX Ocircumflex Tcaron -40 +KPX Ocircumflex Tcommaaccent -40 +KPX Ocircumflex V -50 +KPX Ocircumflex W -30 +KPX Ocircumflex X -60 +KPX Ocircumflex Y -70 +KPX Ocircumflex Yacute -70 +KPX Ocircumflex Ydieresis -70 +KPX Ocircumflex comma -40 +KPX Ocircumflex period -40 +KPX Odieresis A -20 +KPX Odieresis Aacute -20 +KPX Odieresis Abreve -20 +KPX Odieresis Acircumflex -20 +KPX Odieresis Adieresis -20 +KPX Odieresis Agrave -20 +KPX Odieresis Amacron -20 +KPX Odieresis Aogonek -20 +KPX Odieresis Aring -20 +KPX Odieresis Atilde -20 +KPX Odieresis T -40 +KPX Odieresis Tcaron -40 +KPX Odieresis Tcommaaccent -40 +KPX Odieresis V -50 +KPX Odieresis W -30 +KPX Odieresis X -60 +KPX Odieresis Y -70 +KPX Odieresis Yacute -70 +KPX Odieresis Ydieresis -70 +KPX Odieresis comma -40 +KPX Odieresis period -40 +KPX Ograve A -20 +KPX Ograve Aacute -20 +KPX Ograve Abreve -20 +KPX Ograve Acircumflex -20 +KPX Ograve Adieresis -20 +KPX Ograve Agrave -20 +KPX Ograve Amacron -20 +KPX Ograve Aogonek -20 +KPX Ograve Aring -20 +KPX Ograve Atilde -20 +KPX Ograve T -40 +KPX Ograve Tcaron -40 +KPX Ograve Tcommaaccent -40 +KPX Ograve V -50 +KPX Ograve W -30 +KPX Ograve X -60 +KPX Ograve Y -70 +KPX Ograve Yacute -70 +KPX Ograve Ydieresis -70 +KPX Ograve comma -40 +KPX Ograve period -40 +KPX Ohungarumlaut A -20 +KPX Ohungarumlaut Aacute -20 +KPX Ohungarumlaut Abreve -20 +KPX Ohungarumlaut Acircumflex -20 +KPX Ohungarumlaut Adieresis -20 +KPX Ohungarumlaut Agrave -20 +KPX Ohungarumlaut Amacron -20 +KPX Ohungarumlaut Aogonek -20 +KPX Ohungarumlaut Aring -20 +KPX Ohungarumlaut Atilde -20 +KPX Ohungarumlaut T -40 +KPX Ohungarumlaut Tcaron -40 +KPX Ohungarumlaut Tcommaaccent -40 +KPX Ohungarumlaut V -50 +KPX Ohungarumlaut W -30 +KPX Ohungarumlaut X -60 +KPX Ohungarumlaut Y -70 +KPX Ohungarumlaut Yacute -70 +KPX Ohungarumlaut Ydieresis -70 +KPX Ohungarumlaut comma -40 +KPX Ohungarumlaut period -40 +KPX Omacron A -20 +KPX Omacron Aacute -20 +KPX Omacron Abreve -20 +KPX Omacron Acircumflex -20 +KPX Omacron Adieresis -20 +KPX Omacron Agrave -20 +KPX Omacron Amacron -20 +KPX Omacron Aogonek -20 +KPX Omacron Aring -20 +KPX Omacron Atilde -20 +KPX Omacron T -40 +KPX Omacron Tcaron -40 +KPX Omacron Tcommaaccent -40 +KPX Omacron V -50 +KPX Omacron W -30 +KPX Omacron X -60 +KPX Omacron Y -70 +KPX Omacron Yacute -70 +KPX Omacron Ydieresis -70 +KPX Omacron comma -40 +KPX Omacron period -40 +KPX Oslash A -20 +KPX Oslash Aacute -20 +KPX Oslash Abreve -20 +KPX Oslash Acircumflex -20 +KPX Oslash Adieresis -20 +KPX Oslash Agrave -20 +KPX Oslash Amacron -20 +KPX Oslash Aogonek -20 +KPX Oslash Aring -20 +KPX Oslash Atilde -20 +KPX Oslash T -40 +KPX Oslash Tcaron -40 +KPX Oslash Tcommaaccent -40 +KPX Oslash V -50 +KPX Oslash W -30 +KPX Oslash X -60 +KPX Oslash Y -70 +KPX Oslash Yacute -70 +KPX Oslash Ydieresis -70 +KPX Oslash comma -40 +KPX Oslash period -40 +KPX Otilde A -20 +KPX Otilde Aacute -20 +KPX Otilde Abreve -20 +KPX Otilde Acircumflex -20 +KPX Otilde Adieresis -20 +KPX Otilde Agrave -20 +KPX Otilde Amacron -20 +KPX Otilde Aogonek -20 +KPX Otilde Aring -20 +KPX Otilde Atilde -20 +KPX Otilde T -40 +KPX Otilde Tcaron -40 +KPX Otilde Tcommaaccent -40 +KPX Otilde V -50 +KPX Otilde W -30 +KPX Otilde X -60 +KPX Otilde Y -70 +KPX Otilde Yacute -70 +KPX Otilde Ydieresis -70 +KPX Otilde comma -40 +KPX Otilde period -40 +KPX P A -120 +KPX P Aacute -120 +KPX P Abreve -120 +KPX P Acircumflex -120 +KPX P Adieresis -120 +KPX P Agrave -120 +KPX P Amacron -120 +KPX P Aogonek -120 +KPX P Aring -120 +KPX P Atilde -120 +KPX P a -40 +KPX P aacute -40 +KPX P abreve -40 +KPX P acircumflex -40 +KPX P adieresis -40 +KPX P agrave -40 +KPX P amacron -40 +KPX P aogonek -40 +KPX P aring -40 +KPX P atilde -40 +KPX P comma -180 +KPX P e -50 +KPX P eacute -50 +KPX P ecaron -50 +KPX P ecircumflex -50 +KPX P edieresis -50 +KPX P edotaccent -50 +KPX P egrave -50 +KPX P emacron -50 +KPX P eogonek -50 +KPX P o -50 +KPX P oacute -50 +KPX P ocircumflex -50 +KPX P odieresis -50 +KPX P ograve -50 +KPX P ohungarumlaut -50 +KPX P omacron -50 +KPX P oslash -50 +KPX P otilde -50 +KPX P period -180 +KPX Q U -10 +KPX Q Uacute -10 +KPX Q Ucircumflex -10 +KPX Q Udieresis -10 +KPX Q Ugrave -10 +KPX Q Uhungarumlaut -10 +KPX Q Umacron -10 +KPX Q Uogonek -10 +KPX Q Uring -10 +KPX R O -20 +KPX R Oacute -20 +KPX R Ocircumflex -20 +KPX R Odieresis -20 +KPX R Ograve -20 +KPX R Ohungarumlaut -20 +KPX R Omacron -20 +KPX R Oslash -20 +KPX R Otilde -20 +KPX R T -30 +KPX R Tcaron -30 +KPX R Tcommaaccent -30 +KPX R U -40 +KPX R Uacute -40 +KPX R Ucircumflex -40 +KPX R Udieresis -40 +KPX R Ugrave -40 +KPX R Uhungarumlaut -40 +KPX R Umacron -40 +KPX R Uogonek -40 +KPX R Uring -40 +KPX R V -50 +KPX R W -30 +KPX R Y -50 +KPX R Yacute -50 +KPX R Ydieresis -50 +KPX Racute O -20 +KPX Racute Oacute -20 +KPX Racute Ocircumflex -20 +KPX Racute Odieresis -20 +KPX Racute Ograve -20 +KPX Racute Ohungarumlaut -20 +KPX Racute Omacron -20 +KPX Racute Oslash -20 +KPX Racute Otilde -20 +KPX Racute T -30 +KPX Racute Tcaron -30 +KPX Racute Tcommaaccent -30 +KPX Racute U -40 +KPX Racute Uacute -40 +KPX Racute Ucircumflex -40 +KPX Racute Udieresis -40 +KPX Racute Ugrave -40 +KPX Racute Uhungarumlaut -40 +KPX Racute Umacron -40 +KPX Racute Uogonek -40 +KPX Racute Uring -40 +KPX Racute V -50 +KPX Racute W -30 +KPX Racute Y -50 +KPX Racute Yacute -50 +KPX Racute Ydieresis -50 +KPX Rcaron O -20 +KPX Rcaron Oacute -20 +KPX Rcaron Ocircumflex -20 +KPX Rcaron Odieresis -20 +KPX Rcaron Ograve -20 +KPX Rcaron Ohungarumlaut -20 +KPX Rcaron Omacron -20 +KPX Rcaron Oslash -20 +KPX Rcaron Otilde -20 +KPX Rcaron T -30 +KPX Rcaron Tcaron -30 +KPX Rcaron Tcommaaccent -30 +KPX Rcaron U -40 +KPX Rcaron Uacute -40 +KPX Rcaron Ucircumflex -40 +KPX Rcaron Udieresis -40 +KPX Rcaron Ugrave -40 +KPX Rcaron Uhungarumlaut -40 +KPX Rcaron Umacron -40 +KPX Rcaron Uogonek -40 +KPX Rcaron Uring -40 +KPX Rcaron V -50 +KPX Rcaron W -30 +KPX Rcaron Y -50 +KPX Rcaron Yacute -50 +KPX Rcaron Ydieresis -50 +KPX Rcommaaccent O -20 +KPX Rcommaaccent Oacute -20 +KPX Rcommaaccent Ocircumflex -20 +KPX Rcommaaccent Odieresis -20 +KPX Rcommaaccent Ograve -20 +KPX Rcommaaccent Ohungarumlaut -20 +KPX Rcommaaccent Omacron -20 +KPX Rcommaaccent Oslash -20 +KPX Rcommaaccent Otilde -20 +KPX Rcommaaccent T -30 +KPX Rcommaaccent Tcaron -30 +KPX Rcommaaccent Tcommaaccent -30 +KPX Rcommaaccent U -40 +KPX Rcommaaccent Uacute -40 +KPX Rcommaaccent Ucircumflex -40 +KPX Rcommaaccent Udieresis -40 +KPX Rcommaaccent Ugrave -40 +KPX Rcommaaccent Uhungarumlaut -40 +KPX Rcommaaccent Umacron -40 +KPX Rcommaaccent Uogonek -40 +KPX Rcommaaccent Uring -40 +KPX Rcommaaccent V -50 +KPX Rcommaaccent W -30 +KPX Rcommaaccent Y -50 +KPX Rcommaaccent Yacute -50 +KPX Rcommaaccent Ydieresis -50 +KPX S comma -20 +KPX S period -20 +KPX Sacute comma -20 +KPX Sacute period -20 +KPX Scaron comma -20 +KPX Scaron period -20 +KPX Scedilla comma -20 +KPX Scedilla period -20 +KPX Scommaaccent comma -20 +KPX Scommaaccent period -20 +KPX T A -120 +KPX T Aacute -120 +KPX T Abreve -120 +KPX T Acircumflex -120 +KPX T Adieresis -120 +KPX T Agrave -120 +KPX T Amacron -120 +KPX T Aogonek -120 +KPX T Aring -120 +KPX T Atilde -120 +KPX T O -40 +KPX T Oacute -40 +KPX T Ocircumflex -40 +KPX T Odieresis -40 +KPX T Ograve -40 +KPX T Ohungarumlaut -40 +KPX T Omacron -40 +KPX T Oslash -40 +KPX T Otilde -40 +KPX T a -120 +KPX T aacute -120 +KPX T abreve -60 +KPX T acircumflex -120 +KPX T adieresis -120 +KPX T agrave -120 +KPX T amacron -60 +KPX T aogonek -120 +KPX T aring -120 +KPX T atilde -60 +KPX T colon -20 +KPX T comma -120 +KPX T e -120 +KPX T eacute -120 +KPX T ecaron -120 +KPX T ecircumflex -120 +KPX T edieresis -120 +KPX T edotaccent -120 +KPX T egrave -60 +KPX T emacron -60 +KPX T eogonek -120 +KPX T hyphen -140 +KPX T o -120 +KPX T oacute -120 +KPX T ocircumflex -120 +KPX T odieresis -120 +KPX T ograve -120 +KPX T ohungarumlaut -120 +KPX T omacron -60 +KPX T oslash -120 +KPX T otilde -60 +KPX T period -120 +KPX T r -120 +KPX T racute -120 +KPX T rcaron -120 +KPX T rcommaaccent -120 +KPX T semicolon -20 +KPX T u -120 +KPX T uacute -120 +KPX T ucircumflex -120 +KPX T udieresis -120 +KPX T ugrave -120 +KPX T uhungarumlaut -120 +KPX T umacron -60 +KPX T uogonek -120 +KPX T uring -120 +KPX T w -120 +KPX T y -120 +KPX T yacute -120 +KPX T ydieresis -60 +KPX Tcaron A -120 +KPX Tcaron Aacute -120 +KPX Tcaron Abreve -120 +KPX Tcaron Acircumflex -120 +KPX Tcaron Adieresis -120 +KPX Tcaron Agrave -120 +KPX Tcaron Amacron -120 +KPX Tcaron Aogonek -120 +KPX Tcaron Aring -120 +KPX Tcaron Atilde -120 +KPX Tcaron O -40 +KPX Tcaron Oacute -40 +KPX Tcaron Ocircumflex -40 +KPX Tcaron Odieresis -40 +KPX Tcaron Ograve -40 +KPX Tcaron Ohungarumlaut -40 +KPX Tcaron Omacron -40 +KPX Tcaron Oslash -40 +KPX Tcaron Otilde -40 +KPX Tcaron a -120 +KPX Tcaron aacute -120 +KPX Tcaron abreve -60 +KPX Tcaron acircumflex -120 +KPX Tcaron adieresis -120 +KPX Tcaron agrave -120 +KPX Tcaron amacron -60 +KPX Tcaron aogonek -120 +KPX Tcaron aring -120 +KPX Tcaron atilde -60 +KPX Tcaron colon -20 +KPX Tcaron comma -120 +KPX Tcaron e -120 +KPX Tcaron eacute -120 +KPX Tcaron ecaron -120 +KPX Tcaron ecircumflex -120 +KPX Tcaron edieresis -120 +KPX Tcaron edotaccent -120 +KPX Tcaron egrave -60 +KPX Tcaron emacron -60 +KPX Tcaron eogonek -120 +KPX Tcaron hyphen -140 +KPX Tcaron o -120 +KPX Tcaron oacute -120 +KPX Tcaron ocircumflex -120 +KPX Tcaron odieresis -120 +KPX Tcaron ograve -120 +KPX Tcaron ohungarumlaut -120 +KPX Tcaron omacron -60 +KPX Tcaron oslash -120 +KPX Tcaron otilde -60 +KPX Tcaron period -120 +KPX Tcaron r -120 +KPX Tcaron racute -120 +KPX Tcaron rcaron -120 +KPX Tcaron rcommaaccent -120 +KPX Tcaron semicolon -20 +KPX Tcaron u -120 +KPX Tcaron uacute -120 +KPX Tcaron ucircumflex -120 +KPX Tcaron udieresis -120 +KPX Tcaron ugrave -120 +KPX Tcaron uhungarumlaut -120 +KPX Tcaron umacron -60 +KPX Tcaron uogonek -120 +KPX Tcaron uring -120 +KPX Tcaron w -120 +KPX Tcaron y -120 +KPX Tcaron yacute -120 +KPX Tcaron ydieresis -60 +KPX Tcommaaccent A -120 +KPX Tcommaaccent Aacute -120 +KPX Tcommaaccent Abreve -120 +KPX Tcommaaccent Acircumflex -120 +KPX Tcommaaccent Adieresis -120 +KPX Tcommaaccent Agrave -120 +KPX Tcommaaccent Amacron -120 +KPX Tcommaaccent Aogonek -120 +KPX Tcommaaccent Aring -120 +KPX Tcommaaccent Atilde -120 +KPX Tcommaaccent O -40 +KPX Tcommaaccent Oacute -40 +KPX Tcommaaccent Ocircumflex -40 +KPX Tcommaaccent Odieresis -40 +KPX Tcommaaccent Ograve -40 +KPX Tcommaaccent Ohungarumlaut -40 +KPX Tcommaaccent Omacron -40 +KPX Tcommaaccent Oslash -40 +KPX Tcommaaccent Otilde -40 +KPX Tcommaaccent a -120 +KPX Tcommaaccent aacute -120 +KPX Tcommaaccent abreve -60 +KPX Tcommaaccent acircumflex -120 +KPX Tcommaaccent adieresis -120 +KPX Tcommaaccent agrave -120 +KPX Tcommaaccent amacron -60 +KPX Tcommaaccent aogonek -120 +KPX Tcommaaccent aring -120 +KPX Tcommaaccent atilde -60 +KPX Tcommaaccent colon -20 +KPX Tcommaaccent comma -120 +KPX Tcommaaccent e -120 +KPX Tcommaaccent eacute -120 +KPX Tcommaaccent ecaron -120 +KPX Tcommaaccent ecircumflex -120 +KPX Tcommaaccent edieresis -120 +KPX Tcommaaccent edotaccent -120 +KPX Tcommaaccent egrave -60 +KPX Tcommaaccent emacron -60 +KPX Tcommaaccent eogonek -120 +KPX Tcommaaccent hyphen -140 +KPX Tcommaaccent o -120 +KPX Tcommaaccent oacute -120 +KPX Tcommaaccent ocircumflex -120 +KPX Tcommaaccent odieresis -120 +KPX Tcommaaccent ograve -120 +KPX Tcommaaccent ohungarumlaut -120 +KPX Tcommaaccent omacron -60 +KPX Tcommaaccent oslash -120 +KPX Tcommaaccent otilde -60 +KPX Tcommaaccent period -120 +KPX Tcommaaccent r -120 +KPX Tcommaaccent racute -120 +KPX Tcommaaccent rcaron -120 +KPX Tcommaaccent rcommaaccent -120 +KPX Tcommaaccent semicolon -20 +KPX Tcommaaccent u -120 +KPX Tcommaaccent uacute -120 +KPX Tcommaaccent ucircumflex -120 +KPX Tcommaaccent udieresis -120 +KPX Tcommaaccent ugrave -120 +KPX Tcommaaccent uhungarumlaut -120 +KPX Tcommaaccent umacron -60 +KPX Tcommaaccent uogonek -120 +KPX Tcommaaccent uring -120 +KPX Tcommaaccent w -120 +KPX Tcommaaccent y -120 +KPX Tcommaaccent yacute -120 +KPX Tcommaaccent ydieresis -60 +KPX U A -40 +KPX U Aacute -40 +KPX U Abreve -40 +KPX U Acircumflex -40 +KPX U Adieresis -40 +KPX U Agrave -40 +KPX U Amacron -40 +KPX U Aogonek -40 +KPX U Aring -40 +KPX U Atilde -40 +KPX U comma -40 +KPX U period -40 +KPX Uacute A -40 +KPX Uacute Aacute -40 +KPX Uacute Abreve -40 +KPX Uacute Acircumflex -40 +KPX Uacute Adieresis -40 +KPX Uacute Agrave -40 +KPX Uacute Amacron -40 +KPX Uacute Aogonek -40 +KPX Uacute Aring -40 +KPX Uacute Atilde -40 +KPX Uacute comma -40 +KPX Uacute period -40 +KPX Ucircumflex A -40 +KPX Ucircumflex Aacute -40 +KPX Ucircumflex Abreve -40 +KPX Ucircumflex Acircumflex -40 +KPX Ucircumflex Adieresis -40 +KPX Ucircumflex Agrave -40 +KPX Ucircumflex Amacron -40 +KPX Ucircumflex Aogonek -40 +KPX Ucircumflex Aring -40 +KPX Ucircumflex Atilde -40 +KPX Ucircumflex comma -40 +KPX Ucircumflex period -40 +KPX Udieresis A -40 +KPX Udieresis Aacute -40 +KPX Udieresis Abreve -40 +KPX Udieresis Acircumflex -40 +KPX Udieresis Adieresis -40 +KPX Udieresis Agrave -40 +KPX Udieresis Amacron -40 +KPX Udieresis Aogonek -40 +KPX Udieresis Aring -40 +KPX Udieresis Atilde -40 +KPX Udieresis comma -40 +KPX Udieresis period -40 +KPX Ugrave A -40 +KPX Ugrave Aacute -40 +KPX Ugrave Abreve -40 +KPX Ugrave Acircumflex -40 +KPX Ugrave Adieresis -40 +KPX Ugrave Agrave -40 +KPX Ugrave Amacron -40 +KPX Ugrave Aogonek -40 +KPX Ugrave Aring -40 +KPX Ugrave Atilde -40 +KPX Ugrave comma -40 +KPX Ugrave period -40 +KPX Uhungarumlaut A -40 +KPX Uhungarumlaut Aacute -40 +KPX Uhungarumlaut Abreve -40 +KPX Uhungarumlaut Acircumflex -40 +KPX Uhungarumlaut Adieresis -40 +KPX Uhungarumlaut Agrave -40 +KPX Uhungarumlaut Amacron -40 +KPX Uhungarumlaut Aogonek -40 +KPX Uhungarumlaut Aring -40 +KPX Uhungarumlaut Atilde -40 +KPX Uhungarumlaut comma -40 +KPX Uhungarumlaut period -40 +KPX Umacron A -40 +KPX Umacron Aacute -40 +KPX Umacron Abreve -40 +KPX Umacron Acircumflex -40 +KPX Umacron Adieresis -40 +KPX Umacron Agrave -40 +KPX Umacron Amacron -40 +KPX Umacron Aogonek -40 +KPX Umacron Aring -40 +KPX Umacron Atilde -40 +KPX Umacron comma -40 +KPX Umacron period -40 +KPX Uogonek A -40 +KPX Uogonek Aacute -40 +KPX Uogonek Abreve -40 +KPX Uogonek Acircumflex -40 +KPX Uogonek Adieresis -40 +KPX Uogonek Agrave -40 +KPX Uogonek Amacron -40 +KPX Uogonek Aogonek -40 +KPX Uogonek Aring -40 +KPX Uogonek Atilde -40 +KPX Uogonek comma -40 +KPX Uogonek period -40 +KPX Uring A -40 +KPX Uring Aacute -40 +KPX Uring Abreve -40 +KPX Uring Acircumflex -40 +KPX Uring Adieresis -40 +KPX Uring Agrave -40 +KPX Uring Amacron -40 +KPX Uring Aogonek -40 +KPX Uring Aring -40 +KPX Uring Atilde -40 +KPX Uring comma -40 +KPX Uring period -40 +KPX V A -80 +KPX V Aacute -80 +KPX V Abreve -80 +KPX V Acircumflex -80 +KPX V Adieresis -80 +KPX V Agrave -80 +KPX V Amacron -80 +KPX V Aogonek -80 +KPX V Aring -80 +KPX V Atilde -80 +KPX V G -40 +KPX V Gbreve -40 +KPX V Gcommaaccent -40 +KPX V O -40 +KPX V Oacute -40 +KPX V Ocircumflex -40 +KPX V Odieresis -40 +KPX V Ograve -40 +KPX V Ohungarumlaut -40 +KPX V Omacron -40 +KPX V Oslash -40 +KPX V Otilde -40 +KPX V a -70 +KPX V aacute -70 +KPX V abreve -70 +KPX V acircumflex -70 +KPX V adieresis -70 +KPX V agrave -70 +KPX V amacron -70 +KPX V aogonek -70 +KPX V aring -70 +KPX V atilde -70 +KPX V colon -40 +KPX V comma -125 +KPX V e -80 +KPX V eacute -80 +KPX V ecaron -80 +KPX V ecircumflex -80 +KPX V edieresis -80 +KPX V edotaccent -80 +KPX V egrave -80 +KPX V emacron -80 +KPX V eogonek -80 +KPX V hyphen -80 +KPX V o -80 +KPX V oacute -80 +KPX V ocircumflex -80 +KPX V odieresis -80 +KPX V ograve -80 +KPX V ohungarumlaut -80 +KPX V omacron -80 +KPX V oslash -80 +KPX V otilde -80 +KPX V period -125 +KPX V semicolon -40 +KPX V u -70 +KPX V uacute -70 +KPX V ucircumflex -70 +KPX V udieresis -70 +KPX V ugrave -70 +KPX V uhungarumlaut -70 +KPX V umacron -70 +KPX V uogonek -70 +KPX V uring -70 +KPX W A -50 +KPX W Aacute -50 +KPX W Abreve -50 +KPX W Acircumflex -50 +KPX W Adieresis -50 +KPX W Agrave -50 +KPX W Amacron -50 +KPX W Aogonek -50 +KPX W Aring -50 +KPX W Atilde -50 +KPX W O -20 +KPX W Oacute -20 +KPX W Ocircumflex -20 +KPX W Odieresis -20 +KPX W Ograve -20 +KPX W Ohungarumlaut -20 +KPX W Omacron -20 +KPX W Oslash -20 +KPX W Otilde -20 +KPX W a -40 +KPX W aacute -40 +KPX W abreve -40 +KPX W acircumflex -40 +KPX W adieresis -40 +KPX W agrave -40 +KPX W amacron -40 +KPX W aogonek -40 +KPX W aring -40 +KPX W atilde -40 +KPX W comma -80 +KPX W e -30 +KPX W eacute -30 +KPX W ecaron -30 +KPX W ecircumflex -30 +KPX W edieresis -30 +KPX W edotaccent -30 +KPX W egrave -30 +KPX W emacron -30 +KPX W eogonek -30 +KPX W hyphen -40 +KPX W o -30 +KPX W oacute -30 +KPX W ocircumflex -30 +KPX W odieresis -30 +KPX W ograve -30 +KPX W ohungarumlaut -30 +KPX W omacron -30 +KPX W oslash -30 +KPX W otilde -30 +KPX W period -80 +KPX W u -30 +KPX W uacute -30 +KPX W ucircumflex -30 +KPX W udieresis -30 +KPX W ugrave -30 +KPX W uhungarumlaut -30 +KPX W umacron -30 +KPX W uogonek -30 +KPX W uring -30 +KPX W y -20 +KPX W yacute -20 +KPX W ydieresis -20 +KPX Y A -110 +KPX Y Aacute -110 +KPX Y Abreve -110 +KPX Y Acircumflex -110 +KPX Y Adieresis -110 +KPX Y Agrave -110 +KPX Y Amacron -110 +KPX Y Aogonek -110 +KPX Y Aring -110 +KPX Y Atilde -110 +KPX Y O -85 +KPX Y Oacute -85 +KPX Y Ocircumflex -85 +KPX Y Odieresis -85 +KPX Y Ograve -85 +KPX Y Ohungarumlaut -85 +KPX Y Omacron -85 +KPX Y Oslash -85 +KPX Y Otilde -85 +KPX Y a -140 +KPX Y aacute -140 +KPX Y abreve -70 +KPX Y acircumflex -140 +KPX Y adieresis -140 +KPX Y agrave -140 +KPX Y amacron -70 +KPX Y aogonek -140 +KPX Y aring -140 +KPX Y atilde -140 +KPX Y colon -60 +KPX Y comma -140 +KPX Y e -140 +KPX Y eacute -140 +KPX Y ecaron -140 +KPX Y ecircumflex -140 +KPX Y edieresis -140 +KPX Y edotaccent -140 +KPX Y egrave -140 +KPX Y emacron -70 +KPX Y eogonek -140 +KPX Y hyphen -140 +KPX Y i -20 +KPX Y iacute -20 +KPX Y iogonek -20 +KPX Y o -140 +KPX Y oacute -140 +KPX Y ocircumflex -140 +KPX Y odieresis -140 +KPX Y ograve -140 +KPX Y ohungarumlaut -140 +KPX Y omacron -140 +KPX Y oslash -140 +KPX Y otilde -140 +KPX Y period -140 +KPX Y semicolon -60 +KPX Y u -110 +KPX Y uacute -110 +KPX Y ucircumflex -110 +KPX Y udieresis -110 +KPX Y ugrave -110 +KPX Y uhungarumlaut -110 +KPX Y umacron -110 +KPX Y uogonek -110 +KPX Y uring -110 +KPX Yacute A -110 +KPX Yacute Aacute -110 +KPX Yacute Abreve -110 +KPX Yacute Acircumflex -110 +KPX Yacute Adieresis -110 +KPX Yacute Agrave -110 +KPX Yacute Amacron -110 +KPX Yacute Aogonek -110 +KPX Yacute Aring -110 +KPX Yacute Atilde -110 +KPX Yacute O -85 +KPX Yacute Oacute -85 +KPX Yacute Ocircumflex -85 +KPX Yacute Odieresis -85 +KPX Yacute Ograve -85 +KPX Yacute Ohungarumlaut -85 +KPX Yacute Omacron -85 +KPX Yacute Oslash -85 +KPX Yacute Otilde -85 +KPX Yacute a -140 +KPX Yacute aacute -140 +KPX Yacute abreve -70 +KPX Yacute acircumflex -140 +KPX Yacute adieresis -140 +KPX Yacute agrave -140 +KPX Yacute amacron -70 +KPX Yacute aogonek -140 +KPX Yacute aring -140 +KPX Yacute atilde -70 +KPX Yacute colon -60 +KPX Yacute comma -140 +KPX Yacute e -140 +KPX Yacute eacute -140 +KPX Yacute ecaron -140 +KPX Yacute ecircumflex -140 +KPX Yacute edieresis -140 +KPX Yacute edotaccent -140 +KPX Yacute egrave -140 +KPX Yacute emacron -70 +KPX Yacute eogonek -140 +KPX Yacute hyphen -140 +KPX Yacute i -20 +KPX Yacute iacute -20 +KPX Yacute iogonek -20 +KPX Yacute o -140 +KPX Yacute oacute -140 +KPX Yacute ocircumflex -140 +KPX Yacute odieresis -140 +KPX Yacute ograve -140 +KPX Yacute ohungarumlaut -140 +KPX Yacute omacron -70 +KPX Yacute oslash -140 +KPX Yacute otilde -140 +KPX Yacute period -140 +KPX Yacute semicolon -60 +KPX Yacute u -110 +KPX Yacute uacute -110 +KPX Yacute ucircumflex -110 +KPX Yacute udieresis -110 +KPX Yacute ugrave -110 +KPX Yacute uhungarumlaut -110 +KPX Yacute umacron -110 +KPX Yacute uogonek -110 +KPX Yacute uring -110 +KPX Ydieresis A -110 +KPX Ydieresis Aacute -110 +KPX Ydieresis Abreve -110 +KPX Ydieresis Acircumflex -110 +KPX Ydieresis Adieresis -110 +KPX Ydieresis Agrave -110 +KPX Ydieresis Amacron -110 +KPX Ydieresis Aogonek -110 +KPX Ydieresis Aring -110 +KPX Ydieresis Atilde -110 +KPX Ydieresis O -85 +KPX Ydieresis Oacute -85 +KPX Ydieresis Ocircumflex -85 +KPX Ydieresis Odieresis -85 +KPX Ydieresis Ograve -85 +KPX Ydieresis Ohungarumlaut -85 +KPX Ydieresis Omacron -85 +KPX Ydieresis Oslash -85 +KPX Ydieresis Otilde -85 +KPX Ydieresis a -140 +KPX Ydieresis aacute -140 +KPX Ydieresis abreve -70 +KPX Ydieresis acircumflex -140 +KPX Ydieresis adieresis -140 +KPX Ydieresis agrave -140 +KPX Ydieresis amacron -70 +KPX Ydieresis aogonek -140 +KPX Ydieresis aring -140 +KPX Ydieresis atilde -70 +KPX Ydieresis colon -60 +KPX Ydieresis comma -140 +KPX Ydieresis e -140 +KPX Ydieresis eacute -140 +KPX Ydieresis ecaron -140 +KPX Ydieresis ecircumflex -140 +KPX Ydieresis edieresis -140 +KPX Ydieresis edotaccent -140 +KPX Ydieresis egrave -140 +KPX Ydieresis emacron -70 +KPX Ydieresis eogonek -140 +KPX Ydieresis hyphen -140 +KPX Ydieresis i -20 +KPX Ydieresis iacute -20 +KPX Ydieresis iogonek -20 +KPX Ydieresis o -140 +KPX Ydieresis oacute -140 +KPX Ydieresis ocircumflex -140 +KPX Ydieresis odieresis -140 +KPX Ydieresis ograve -140 +KPX Ydieresis ohungarumlaut -140 +KPX Ydieresis omacron -140 +KPX Ydieresis oslash -140 +KPX Ydieresis otilde -140 +KPX Ydieresis period -140 +KPX Ydieresis semicolon -60 +KPX Ydieresis u -110 +KPX Ydieresis uacute -110 +KPX Ydieresis ucircumflex -110 +KPX Ydieresis udieresis -110 +KPX Ydieresis ugrave -110 +KPX Ydieresis uhungarumlaut -110 +KPX Ydieresis umacron -110 +KPX Ydieresis uogonek -110 +KPX Ydieresis uring -110 +KPX a v -20 +KPX a w -20 +KPX a y -30 +KPX a yacute -30 +KPX a ydieresis -30 +KPX aacute v -20 +KPX aacute w -20 +KPX aacute y -30 +KPX aacute yacute -30 +KPX aacute ydieresis -30 +KPX abreve v -20 +KPX abreve w -20 +KPX abreve y -30 +KPX abreve yacute -30 +KPX abreve ydieresis -30 +KPX acircumflex v -20 +KPX acircumflex w -20 +KPX acircumflex y -30 +KPX acircumflex yacute -30 +KPX acircumflex ydieresis -30 +KPX adieresis v -20 +KPX adieresis w -20 +KPX adieresis y -30 +KPX adieresis yacute -30 +KPX adieresis ydieresis -30 +KPX agrave v -20 +KPX agrave w -20 +KPX agrave y -30 +KPX agrave yacute -30 +KPX agrave ydieresis -30 +KPX amacron v -20 +KPX amacron w -20 +KPX amacron y -30 +KPX amacron yacute -30 +KPX amacron ydieresis -30 +KPX aogonek v -20 +KPX aogonek w -20 +KPX aogonek y -30 +KPX aogonek yacute -30 +KPX aogonek ydieresis -30 +KPX aring v -20 +KPX aring w -20 +KPX aring y -30 +KPX aring yacute -30 +KPX aring ydieresis -30 +KPX atilde v -20 +KPX atilde w -20 +KPX atilde y -30 +KPX atilde yacute -30 +KPX atilde ydieresis -30 +KPX b b -10 +KPX b comma -40 +KPX b l -20 +KPX b lacute -20 +KPX b lcommaaccent -20 +KPX b lslash -20 +KPX b period -40 +KPX b u -20 +KPX b uacute -20 +KPX b ucircumflex -20 +KPX b udieresis -20 +KPX b ugrave -20 +KPX b uhungarumlaut -20 +KPX b umacron -20 +KPX b uogonek -20 +KPX b uring -20 +KPX b v -20 +KPX b y -20 +KPX b yacute -20 +KPX b ydieresis -20 +KPX c comma -15 +KPX c k -20 +KPX c kcommaaccent -20 +KPX cacute comma -15 +KPX cacute k -20 +KPX cacute kcommaaccent -20 +KPX ccaron comma -15 +KPX ccaron k -20 +KPX ccaron kcommaaccent -20 +KPX ccedilla comma -15 +KPX ccedilla k -20 +KPX ccedilla kcommaaccent -20 +KPX colon space -50 +KPX comma quotedblright -100 +KPX comma quoteright -100 +KPX e comma -15 +KPX e period -15 +KPX e v -30 +KPX e w -20 +KPX e x -30 +KPX e y -20 +KPX e yacute -20 +KPX e ydieresis -20 +KPX eacute comma -15 +KPX eacute period -15 +KPX eacute v -30 +KPX eacute w -20 +KPX eacute x -30 +KPX eacute y -20 +KPX eacute yacute -20 +KPX eacute ydieresis -20 +KPX ecaron comma -15 +KPX ecaron period -15 +KPX ecaron v -30 +KPX ecaron w -20 +KPX ecaron x -30 +KPX ecaron y -20 +KPX ecaron yacute -20 +KPX ecaron ydieresis -20 +KPX ecircumflex comma -15 +KPX ecircumflex period -15 +KPX ecircumflex v -30 +KPX ecircumflex w -20 +KPX ecircumflex x -30 +KPX ecircumflex y -20 +KPX ecircumflex yacute -20 +KPX ecircumflex ydieresis -20 +KPX edieresis comma -15 +KPX edieresis period -15 +KPX edieresis v -30 +KPX edieresis w -20 +KPX edieresis x -30 +KPX edieresis y -20 +KPX edieresis yacute -20 +KPX edieresis ydieresis -20 +KPX edotaccent comma -15 +KPX edotaccent period -15 +KPX edotaccent v -30 +KPX edotaccent w -20 +KPX edotaccent x -30 +KPX edotaccent y -20 +KPX edotaccent yacute -20 +KPX edotaccent ydieresis -20 +KPX egrave comma -15 +KPX egrave period -15 +KPX egrave v -30 +KPX egrave w -20 +KPX egrave x -30 +KPX egrave y -20 +KPX egrave yacute -20 +KPX egrave ydieresis -20 +KPX emacron comma -15 +KPX emacron period -15 +KPX emacron v -30 +KPX emacron w -20 +KPX emacron x -30 +KPX emacron y -20 +KPX emacron yacute -20 +KPX emacron ydieresis -20 +KPX eogonek comma -15 +KPX eogonek period -15 +KPX eogonek v -30 +KPX eogonek w -20 +KPX eogonek x -30 +KPX eogonek y -20 +KPX eogonek yacute -20 +KPX eogonek ydieresis -20 +KPX f a -30 +KPX f aacute -30 +KPX f abreve -30 +KPX f acircumflex -30 +KPX f adieresis -30 +KPX f agrave -30 +KPX f amacron -30 +KPX f aogonek -30 +KPX f aring -30 +KPX f atilde -30 +KPX f comma -30 +KPX f dotlessi -28 +KPX f e -30 +KPX f eacute -30 +KPX f ecaron -30 +KPX f ecircumflex -30 +KPX f edieresis -30 +KPX f edotaccent -30 +KPX f egrave -30 +KPX f emacron -30 +KPX f eogonek -30 +KPX f o -30 +KPX f oacute -30 +KPX f ocircumflex -30 +KPX f odieresis -30 +KPX f ograve -30 +KPX f ohungarumlaut -30 +KPX f omacron -30 +KPX f oslash -30 +KPX f otilde -30 +KPX f period -30 +KPX f quotedblright 60 +KPX f quoteright 50 +KPX g r -10 +KPX g racute -10 +KPX g rcaron -10 +KPX g rcommaaccent -10 +KPX gbreve r -10 +KPX gbreve racute -10 +KPX gbreve rcaron -10 +KPX gbreve rcommaaccent -10 +KPX gcommaaccent r -10 +KPX gcommaaccent racute -10 +KPX gcommaaccent rcaron -10 +KPX gcommaaccent rcommaaccent -10 +KPX h y -30 +KPX h yacute -30 +KPX h ydieresis -30 +KPX k e -20 +KPX k eacute -20 +KPX k ecaron -20 +KPX k ecircumflex -20 +KPX k edieresis -20 +KPX k edotaccent -20 +KPX k egrave -20 +KPX k emacron -20 +KPX k eogonek -20 +KPX k o -20 +KPX k oacute -20 +KPX k ocircumflex -20 +KPX k odieresis -20 +KPX k ograve -20 +KPX k ohungarumlaut -20 +KPX k omacron -20 +KPX k oslash -20 +KPX k otilde -20 +KPX kcommaaccent e -20 +KPX kcommaaccent eacute -20 +KPX kcommaaccent ecaron -20 +KPX kcommaaccent ecircumflex -20 +KPX kcommaaccent edieresis -20 +KPX kcommaaccent edotaccent -20 +KPX kcommaaccent egrave -20 +KPX kcommaaccent emacron -20 +KPX kcommaaccent eogonek -20 +KPX kcommaaccent o -20 +KPX kcommaaccent oacute -20 +KPX kcommaaccent ocircumflex -20 +KPX kcommaaccent odieresis -20 +KPX kcommaaccent ograve -20 +KPX kcommaaccent ohungarumlaut -20 +KPX kcommaaccent omacron -20 +KPX kcommaaccent oslash -20 +KPX kcommaaccent otilde -20 +KPX m u -10 +KPX m uacute -10 +KPX m ucircumflex -10 +KPX m udieresis -10 +KPX m ugrave -10 +KPX m uhungarumlaut -10 +KPX m umacron -10 +KPX m uogonek -10 +KPX m uring -10 +KPX m y -15 +KPX m yacute -15 +KPX m ydieresis -15 +KPX n u -10 +KPX n uacute -10 +KPX n ucircumflex -10 +KPX n udieresis -10 +KPX n ugrave -10 +KPX n uhungarumlaut -10 +KPX n umacron -10 +KPX n uogonek -10 +KPX n uring -10 +KPX n v -20 +KPX n y -15 +KPX n yacute -15 +KPX n ydieresis -15 +KPX nacute u -10 +KPX nacute uacute -10 +KPX nacute ucircumflex -10 +KPX nacute udieresis -10 +KPX nacute ugrave -10 +KPX nacute uhungarumlaut -10 +KPX nacute umacron -10 +KPX nacute uogonek -10 +KPX nacute uring -10 +KPX nacute v -20 +KPX nacute y -15 +KPX nacute yacute -15 +KPX nacute ydieresis -15 +KPX ncaron u -10 +KPX ncaron uacute -10 +KPX ncaron ucircumflex -10 +KPX ncaron udieresis -10 +KPX ncaron ugrave -10 +KPX ncaron uhungarumlaut -10 +KPX ncaron umacron -10 +KPX ncaron uogonek -10 +KPX ncaron uring -10 +KPX ncaron v -20 +KPX ncaron y -15 +KPX ncaron yacute -15 +KPX ncaron ydieresis -15 +KPX ncommaaccent u -10 +KPX ncommaaccent uacute -10 +KPX ncommaaccent ucircumflex -10 +KPX ncommaaccent udieresis -10 +KPX ncommaaccent ugrave -10 +KPX ncommaaccent uhungarumlaut -10 +KPX ncommaaccent umacron -10 +KPX ncommaaccent uogonek -10 +KPX ncommaaccent uring -10 +KPX ncommaaccent v -20 +KPX ncommaaccent y -15 +KPX ncommaaccent yacute -15 +KPX ncommaaccent ydieresis -15 +KPX ntilde u -10 +KPX ntilde uacute -10 +KPX ntilde ucircumflex -10 +KPX ntilde udieresis -10 +KPX ntilde ugrave -10 +KPX ntilde uhungarumlaut -10 +KPX ntilde umacron -10 +KPX ntilde uogonek -10 +KPX ntilde uring -10 +KPX ntilde v -20 +KPX ntilde y -15 +KPX ntilde yacute -15 +KPX ntilde ydieresis -15 +KPX o comma -40 +KPX o period -40 +KPX o v -15 +KPX o w -15 +KPX o x -30 +KPX o y -30 +KPX o yacute -30 +KPX o ydieresis -30 +KPX oacute comma -40 +KPX oacute period -40 +KPX oacute v -15 +KPX oacute w -15 +KPX oacute x -30 +KPX oacute y -30 +KPX oacute yacute -30 +KPX oacute ydieresis -30 +KPX ocircumflex comma -40 +KPX ocircumflex period -40 +KPX ocircumflex v -15 +KPX ocircumflex w -15 +KPX ocircumflex x -30 +KPX ocircumflex y -30 +KPX ocircumflex yacute -30 +KPX ocircumflex ydieresis -30 +KPX odieresis comma -40 +KPX odieresis period -40 +KPX odieresis v -15 +KPX odieresis w -15 +KPX odieresis x -30 +KPX odieresis y -30 +KPX odieresis yacute -30 +KPX odieresis ydieresis -30 +KPX ograve comma -40 +KPX ograve period -40 +KPX ograve v -15 +KPX ograve w -15 +KPX ograve x -30 +KPX ograve y -30 +KPX ograve yacute -30 +KPX ograve ydieresis -30 +KPX ohungarumlaut comma -40 +KPX ohungarumlaut period -40 +KPX ohungarumlaut v -15 +KPX ohungarumlaut w -15 +KPX ohungarumlaut x -30 +KPX ohungarumlaut y -30 +KPX ohungarumlaut yacute -30 +KPX ohungarumlaut ydieresis -30 +KPX omacron comma -40 +KPX omacron period -40 +KPX omacron v -15 +KPX omacron w -15 +KPX omacron x -30 +KPX omacron y -30 +KPX omacron yacute -30 +KPX omacron ydieresis -30 +KPX oslash a -55 +KPX oslash aacute -55 +KPX oslash abreve -55 +KPX oslash acircumflex -55 +KPX oslash adieresis -55 +KPX oslash agrave -55 +KPX oslash amacron -55 +KPX oslash aogonek -55 +KPX oslash aring -55 +KPX oslash atilde -55 +KPX oslash b -55 +KPX oslash c -55 +KPX oslash cacute -55 +KPX oslash ccaron -55 +KPX oslash ccedilla -55 +KPX oslash comma -95 +KPX oslash d -55 +KPX oslash dcroat -55 +KPX oslash e -55 +KPX oslash eacute -55 +KPX oslash ecaron -55 +KPX oslash ecircumflex -55 +KPX oslash edieresis -55 +KPX oslash edotaccent -55 +KPX oslash egrave -55 +KPX oslash emacron -55 +KPX oslash eogonek -55 +KPX oslash f -55 +KPX oslash g -55 +KPX oslash gbreve -55 +KPX oslash gcommaaccent -55 +KPX oslash h -55 +KPX oslash i -55 +KPX oslash iacute -55 +KPX oslash icircumflex -55 +KPX oslash idieresis -55 +KPX oslash igrave -55 +KPX oslash imacron -55 +KPX oslash iogonek -55 +KPX oslash j -55 +KPX oslash k -55 +KPX oslash kcommaaccent -55 +KPX oslash l -55 +KPX oslash lacute -55 +KPX oslash lcommaaccent -55 +KPX oslash lslash -55 +KPX oslash m -55 +KPX oslash n -55 +KPX oslash nacute -55 +KPX oslash ncaron -55 +KPX oslash ncommaaccent -55 +KPX oslash ntilde -55 +KPX oslash o -55 +KPX oslash oacute -55 +KPX oslash ocircumflex -55 +KPX oslash odieresis -55 +KPX oslash ograve -55 +KPX oslash ohungarumlaut -55 +KPX oslash omacron -55 +KPX oslash oslash -55 +KPX oslash otilde -55 +KPX oslash p -55 +KPX oslash period -95 +KPX oslash q -55 +KPX oslash r -55 +KPX oslash racute -55 +KPX oslash rcaron -55 +KPX oslash rcommaaccent -55 +KPX oslash s -55 +KPX oslash sacute -55 +KPX oslash scaron -55 +KPX oslash scedilla -55 +KPX oslash scommaaccent -55 +KPX oslash t -55 +KPX oslash tcommaaccent -55 +KPX oslash u -55 +KPX oslash uacute -55 +KPX oslash ucircumflex -55 +KPX oslash udieresis -55 +KPX oslash ugrave -55 +KPX oslash uhungarumlaut -55 +KPX oslash umacron -55 +KPX oslash uogonek -55 +KPX oslash uring -55 +KPX oslash v -70 +KPX oslash w -70 +KPX oslash x -85 +KPX oslash y -70 +KPX oslash yacute -70 +KPX oslash ydieresis -70 +KPX oslash z -55 +KPX oslash zacute -55 +KPX oslash zcaron -55 +KPX oslash zdotaccent -55 +KPX otilde comma -40 +KPX otilde period -40 +KPX otilde v -15 +KPX otilde w -15 +KPX otilde x -30 +KPX otilde y -30 +KPX otilde yacute -30 +KPX otilde ydieresis -30 +KPX p comma -35 +KPX p period -35 +KPX p y -30 +KPX p yacute -30 +KPX p ydieresis -30 +KPX period quotedblright -100 +KPX period quoteright -100 +KPX period space -60 +KPX quotedblright space -40 +KPX quoteleft quoteleft -57 +KPX quoteright d -50 +KPX quoteright dcroat -50 +KPX quoteright quoteright -57 +KPX quoteright r -50 +KPX quoteright racute -50 +KPX quoteright rcaron -50 +KPX quoteright rcommaaccent -50 +KPX quoteright s -50 +KPX quoteright sacute -50 +KPX quoteright scaron -50 +KPX quoteright scedilla -50 +KPX quoteright scommaaccent -50 +KPX quoteright space -70 +KPX r a -10 +KPX r aacute -10 +KPX r abreve -10 +KPX r acircumflex -10 +KPX r adieresis -10 +KPX r agrave -10 +KPX r amacron -10 +KPX r aogonek -10 +KPX r aring -10 +KPX r atilde -10 +KPX r colon 30 +KPX r comma -50 +KPX r i 15 +KPX r iacute 15 +KPX r icircumflex 15 +KPX r idieresis 15 +KPX r igrave 15 +KPX r imacron 15 +KPX r iogonek 15 +KPX r k 15 +KPX r kcommaaccent 15 +KPX r l 15 +KPX r lacute 15 +KPX r lcommaaccent 15 +KPX r lslash 15 +KPX r m 25 +KPX r n 25 +KPX r nacute 25 +KPX r ncaron 25 +KPX r ncommaaccent 25 +KPX r ntilde 25 +KPX r p 30 +KPX r period -50 +KPX r semicolon 30 +KPX r t 40 +KPX r tcommaaccent 40 +KPX r u 15 +KPX r uacute 15 +KPX r ucircumflex 15 +KPX r udieresis 15 +KPX r ugrave 15 +KPX r uhungarumlaut 15 +KPX r umacron 15 +KPX r uogonek 15 +KPX r uring 15 +KPX r v 30 +KPX r y 30 +KPX r yacute 30 +KPX r ydieresis 30 +KPX racute a -10 +KPX racute aacute -10 +KPX racute abreve -10 +KPX racute acircumflex -10 +KPX racute adieresis -10 +KPX racute agrave -10 +KPX racute amacron -10 +KPX racute aogonek -10 +KPX racute aring -10 +KPX racute atilde -10 +KPX racute colon 30 +KPX racute comma -50 +KPX racute i 15 +KPX racute iacute 15 +KPX racute icircumflex 15 +KPX racute idieresis 15 +KPX racute igrave 15 +KPX racute imacron 15 +KPX racute iogonek 15 +KPX racute k 15 +KPX racute kcommaaccent 15 +KPX racute l 15 +KPX racute lacute 15 +KPX racute lcommaaccent 15 +KPX racute lslash 15 +KPX racute m 25 +KPX racute n 25 +KPX racute nacute 25 +KPX racute ncaron 25 +KPX racute ncommaaccent 25 +KPX racute ntilde 25 +KPX racute p 30 +KPX racute period -50 +KPX racute semicolon 30 +KPX racute t 40 +KPX racute tcommaaccent 40 +KPX racute u 15 +KPX racute uacute 15 +KPX racute ucircumflex 15 +KPX racute udieresis 15 +KPX racute ugrave 15 +KPX racute uhungarumlaut 15 +KPX racute umacron 15 +KPX racute uogonek 15 +KPX racute uring 15 +KPX racute v 30 +KPX racute y 30 +KPX racute yacute 30 +KPX racute ydieresis 30 +KPX rcaron a -10 +KPX rcaron aacute -10 +KPX rcaron abreve -10 +KPX rcaron acircumflex -10 +KPX rcaron adieresis -10 +KPX rcaron agrave -10 +KPX rcaron amacron -10 +KPX rcaron aogonek -10 +KPX rcaron aring -10 +KPX rcaron atilde -10 +KPX rcaron colon 30 +KPX rcaron comma -50 +KPX rcaron i 15 +KPX rcaron iacute 15 +KPX rcaron icircumflex 15 +KPX rcaron idieresis 15 +KPX rcaron igrave 15 +KPX rcaron imacron 15 +KPX rcaron iogonek 15 +KPX rcaron k 15 +KPX rcaron kcommaaccent 15 +KPX rcaron l 15 +KPX rcaron lacute 15 +KPX rcaron lcommaaccent 15 +KPX rcaron lslash 15 +KPX rcaron m 25 +KPX rcaron n 25 +KPX rcaron nacute 25 +KPX rcaron ncaron 25 +KPX rcaron ncommaaccent 25 +KPX rcaron ntilde 25 +KPX rcaron p 30 +KPX rcaron period -50 +KPX rcaron semicolon 30 +KPX rcaron t 40 +KPX rcaron tcommaaccent 40 +KPX rcaron u 15 +KPX rcaron uacute 15 +KPX rcaron ucircumflex 15 +KPX rcaron udieresis 15 +KPX rcaron ugrave 15 +KPX rcaron uhungarumlaut 15 +KPX rcaron umacron 15 +KPX rcaron uogonek 15 +KPX rcaron uring 15 +KPX rcaron v 30 +KPX rcaron y 30 +KPX rcaron yacute 30 +KPX rcaron ydieresis 30 +KPX rcommaaccent a -10 +KPX rcommaaccent aacute -10 +KPX rcommaaccent abreve -10 +KPX rcommaaccent acircumflex -10 +KPX rcommaaccent adieresis -10 +KPX rcommaaccent agrave -10 +KPX rcommaaccent amacron -10 +KPX rcommaaccent aogonek -10 +KPX rcommaaccent aring -10 +KPX rcommaaccent atilde -10 +KPX rcommaaccent colon 30 +KPX rcommaaccent comma -50 +KPX rcommaaccent i 15 +KPX rcommaaccent iacute 15 +KPX rcommaaccent icircumflex 15 +KPX rcommaaccent idieresis 15 +KPX rcommaaccent igrave 15 +KPX rcommaaccent imacron 15 +KPX rcommaaccent iogonek 15 +KPX rcommaaccent k 15 +KPX rcommaaccent kcommaaccent 15 +KPX rcommaaccent l 15 +KPX rcommaaccent lacute 15 +KPX rcommaaccent lcommaaccent 15 +KPX rcommaaccent lslash 15 +KPX rcommaaccent m 25 +KPX rcommaaccent n 25 +KPX rcommaaccent nacute 25 +KPX rcommaaccent ncaron 25 +KPX rcommaaccent ncommaaccent 25 +KPX rcommaaccent ntilde 25 +KPX rcommaaccent p 30 +KPX rcommaaccent period -50 +KPX rcommaaccent semicolon 30 +KPX rcommaaccent t 40 +KPX rcommaaccent tcommaaccent 40 +KPX rcommaaccent u 15 +KPX rcommaaccent uacute 15 +KPX rcommaaccent ucircumflex 15 +KPX rcommaaccent udieresis 15 +KPX rcommaaccent ugrave 15 +KPX rcommaaccent uhungarumlaut 15 +KPX rcommaaccent umacron 15 +KPX rcommaaccent uogonek 15 +KPX rcommaaccent uring 15 +KPX rcommaaccent v 30 +KPX rcommaaccent y 30 +KPX rcommaaccent yacute 30 +KPX rcommaaccent ydieresis 30 +KPX s comma -15 +KPX s period -15 +KPX s w -30 +KPX sacute comma -15 +KPX sacute period -15 +KPX sacute w -30 +KPX scaron comma -15 +KPX scaron period -15 +KPX scaron w -30 +KPX scedilla comma -15 +KPX scedilla period -15 +KPX scedilla w -30 +KPX scommaaccent comma -15 +KPX scommaaccent period -15 +KPX scommaaccent w -30 +KPX semicolon space -50 +KPX space T -50 +KPX space Tcaron -50 +KPX space Tcommaaccent -50 +KPX space V -50 +KPX space W -40 +KPX space Y -90 +KPX space Yacute -90 +KPX space Ydieresis -90 +KPX space quotedblleft -30 +KPX space quoteleft -60 +KPX v a -25 +KPX v aacute -25 +KPX v abreve -25 +KPX v acircumflex -25 +KPX v adieresis -25 +KPX v agrave -25 +KPX v amacron -25 +KPX v aogonek -25 +KPX v aring -25 +KPX v atilde -25 +KPX v comma -80 +KPX v e -25 +KPX v eacute -25 +KPX v ecaron -25 +KPX v ecircumflex -25 +KPX v edieresis -25 +KPX v edotaccent -25 +KPX v egrave -25 +KPX v emacron -25 +KPX v eogonek -25 +KPX v o -25 +KPX v oacute -25 +KPX v ocircumflex -25 +KPX v odieresis -25 +KPX v ograve -25 +KPX v ohungarumlaut -25 +KPX v omacron -25 +KPX v oslash -25 +KPX v otilde -25 +KPX v period -80 +KPX w a -15 +KPX w aacute -15 +KPX w abreve -15 +KPX w acircumflex -15 +KPX w adieresis -15 +KPX w agrave -15 +KPX w amacron -15 +KPX w aogonek -15 +KPX w aring -15 +KPX w atilde -15 +KPX w comma -60 +KPX w e -10 +KPX w eacute -10 +KPX w ecaron -10 +KPX w ecircumflex -10 +KPX w edieresis -10 +KPX w edotaccent -10 +KPX w egrave -10 +KPX w emacron -10 +KPX w eogonek -10 +KPX w o -10 +KPX w oacute -10 +KPX w ocircumflex -10 +KPX w odieresis -10 +KPX w ograve -10 +KPX w ohungarumlaut -10 +KPX w omacron -10 +KPX w oslash -10 +KPX w otilde -10 +KPX w period -60 +KPX x e -30 +KPX x eacute -30 +KPX x ecaron -30 +KPX x ecircumflex -30 +KPX x edieresis -30 +KPX x edotaccent -30 +KPX x egrave -30 +KPX x emacron -30 +KPX x eogonek -30 +KPX y a -20 +KPX y aacute -20 +KPX y abreve -20 +KPX y acircumflex -20 +KPX y adieresis -20 +KPX y agrave -20 +KPX y amacron -20 +KPX y aogonek -20 +KPX y aring -20 +KPX y atilde -20 +KPX y comma -100 +KPX y e -20 +KPX y eacute -20 +KPX y ecaron -20 +KPX y ecircumflex -20 +KPX y edieresis -20 +KPX y edotaccent -20 +KPX y egrave -20 +KPX y emacron -20 +KPX y eogonek -20 +KPX y o -20 +KPX y oacute -20 +KPX y ocircumflex -20 +KPX y odieresis -20 +KPX y ograve -20 +KPX y ohungarumlaut -20 +KPX y omacron -20 +KPX y oslash -20 +KPX y otilde -20 +KPX y period -100 +KPX yacute a -20 +KPX yacute aacute -20 +KPX yacute abreve -20 +KPX yacute acircumflex -20 +KPX yacute adieresis -20 +KPX yacute agrave -20 +KPX yacute amacron -20 +KPX yacute aogonek -20 +KPX yacute aring -20 +KPX yacute atilde -20 +KPX yacute comma -100 +KPX yacute e -20 +KPX yacute eacute -20 +KPX yacute ecaron -20 +KPX yacute ecircumflex -20 +KPX yacute edieresis -20 +KPX yacute edotaccent -20 +KPX yacute egrave -20 +KPX yacute emacron -20 +KPX yacute eogonek -20 +KPX yacute o -20 +KPX yacute oacute -20 +KPX yacute ocircumflex -20 +KPX yacute odieresis -20 +KPX yacute ograve -20 +KPX yacute ohungarumlaut -20 +KPX yacute omacron -20 +KPX yacute oslash -20 +KPX yacute otilde -20 +KPX yacute period -100 +KPX ydieresis a -20 +KPX ydieresis aacute -20 +KPX ydieresis abreve -20 +KPX ydieresis acircumflex -20 +KPX ydieresis adieresis -20 +KPX ydieresis agrave -20 +KPX ydieresis amacron -20 +KPX ydieresis aogonek -20 +KPX ydieresis aring -20 +KPX ydieresis atilde -20 +KPX ydieresis comma -100 +KPX ydieresis e -20 +KPX ydieresis eacute -20 +KPX ydieresis ecaron -20 +KPX ydieresis ecircumflex -20 +KPX ydieresis edieresis -20 +KPX ydieresis edotaccent -20 +KPX ydieresis egrave -20 +KPX ydieresis emacron -20 +KPX ydieresis eogonek -20 +KPX ydieresis o -20 +KPX ydieresis oacute -20 +KPX ydieresis ocircumflex -20 +KPX ydieresis odieresis -20 +KPX ydieresis ograve -20 +KPX ydieresis ohungarumlaut -20 +KPX ydieresis omacron -20 +KPX ydieresis oslash -20 +KPX ydieresis otilde -20 +KPX ydieresis period -100 +KPX z e -15 +KPX z eacute -15 +KPX z ecaron -15 +KPX z ecircumflex -15 +KPX z edieresis -15 +KPX z edotaccent -15 +KPX z egrave -15 +KPX z emacron -15 +KPX z eogonek -15 +KPX z o -15 +KPX z oacute -15 +KPX z ocircumflex -15 +KPX z odieresis -15 +KPX z ograve -15 +KPX z ohungarumlaut -15 +KPX z omacron -15 +KPX z oslash -15 +KPX z otilde -15 +KPX zacute e -15 +KPX zacute eacute -15 +KPX zacute ecaron -15 +KPX zacute ecircumflex -15 +KPX zacute edieresis -15 +KPX zacute edotaccent -15 +KPX zacute egrave -15 +KPX zacute emacron -15 +KPX zacute eogonek -15 +KPX zacute o -15 +KPX zacute oacute -15 +KPX zacute ocircumflex -15 +KPX zacute odieresis -15 +KPX zacute ograve -15 +KPX zacute ohungarumlaut -15 +KPX zacute omacron -15 +KPX zacute oslash -15 +KPX zacute otilde -15 +KPX zcaron e -15 +KPX zcaron eacute -15 +KPX zcaron ecaron -15 +KPX zcaron ecircumflex -15 +KPX zcaron edieresis -15 +KPX zcaron edotaccent -15 +KPX zcaron egrave -15 +KPX zcaron emacron -15 +KPX zcaron eogonek -15 +KPX zcaron o -15 +KPX zcaron oacute -15 +KPX zcaron ocircumflex -15 +KPX zcaron odieresis -15 +KPX zcaron ograve -15 +KPX zcaron ohungarumlaut -15 +KPX zcaron omacron -15 +KPX zcaron oslash -15 +KPX zcaron otilde -15 +KPX zdotaccent e -15 +KPX zdotaccent eacute -15 +KPX zdotaccent ecaron -15 +KPX zdotaccent ecircumflex -15 +KPX zdotaccent edieresis -15 +KPX zdotaccent edotaccent -15 +KPX zdotaccent egrave -15 +KPX zdotaccent emacron -15 +KPX zdotaccent eogonek -15 +KPX zdotaccent o -15 +KPX zdotaccent oacute -15 +KPX zdotaccent ocircumflex -15 +KPX zdotaccent odieresis -15 +KPX zdotaccent ograve -15 +KPX zdotaccent ohungarumlaut -15 +KPX zdotaccent omacron -15 +KPX zdotaccent oslash -15 +KPX zdotaccent otilde -15 +EndKernPairs +EndKernData +EndFontMetrics diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/PDF/default/templates/fonts/Symbol.afm b/buildscripts/PhpDocumentor/phpDocumentor/Converters/PDF/default/templates/fonts/Symbol.afm new file mode 100755 index 00000000..6a5386a9 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/PDF/default/templates/fonts/Symbol.afm @@ -0,0 +1,213 @@ +StartFontMetrics 4.1 +Comment Copyright (c) 1985, 1987, 1989, 1990, 1997 Adobe Systems Incorporated. All rights reserved. +Comment Creation Date: Thu May 1 15:12:25 1997 +Comment UniqueID 43064 +Comment VMusage 30820 39997 +FontName Symbol +FullName Symbol +FamilyName Symbol +Weight Medium +ItalicAngle 0 +IsFixedPitch false +CharacterSet Special +FontBBox -180 -293 1090 1010 +UnderlinePosition -100 +UnderlineThickness 50 +Version 001.008 +Notice Copyright (c) 1985, 1987, 1989, 1990, 1997 Adobe Systems Incorporated. All rights reserved. +EncodingScheme FontSpecific +StdHW 92 +StdVW 85 +StartCharMetrics 190 +C 32 ; WX 250 ; N space ; B 0 0 0 0 ; +C 33 ; WX 333 ; N exclam ; B 128 -17 240 672 ; +C 34 ; WX 713 ; N universal ; B 31 0 681 705 ; +C 35 ; WX 500 ; N numbersign ; B 20 -16 481 673 ; +C 36 ; WX 549 ; N existential ; B 25 0 478 707 ; +C 37 ; WX 833 ; N percent ; B 63 -36 771 655 ; +C 38 ; WX 778 ; N ampersand ; B 41 -18 750 661 ; +C 39 ; WX 439 ; N suchthat ; B 48 -17 414 500 ; +C 40 ; WX 333 ; N parenleft ; B 53 -191 300 673 ; +C 41 ; WX 333 ; N parenright ; B 30 -191 277 673 ; +C 42 ; WX 500 ; N asteriskmath ; B 65 134 427 551 ; +C 43 ; WX 549 ; N plus ; B 10 0 539 533 ; +C 44 ; WX 250 ; N comma ; B 56 -152 194 104 ; +C 45 ; WX 549 ; N minus ; B 11 233 535 288 ; +C 46 ; WX 250 ; N period ; B 69 -17 181 95 ; +C 47 ; WX 278 ; N slash ; B 0 -18 254 646 ; +C 48 ; WX 500 ; N zero ; B 24 -14 476 685 ; +C 49 ; WX 500 ; N one ; B 117 0 390 673 ; +C 50 ; WX 500 ; N two ; B 25 0 475 685 ; +C 51 ; WX 500 ; N three ; B 43 -14 435 685 ; +C 52 ; WX 500 ; N four ; B 15 0 469 685 ; +C 53 ; WX 500 ; N five ; B 32 -14 445 690 ; +C 54 ; WX 500 ; N six ; B 34 -14 468 685 ; +C 55 ; WX 500 ; N seven ; B 24 -16 448 673 ; +C 56 ; WX 500 ; N eight ; B 56 -14 445 685 ; +C 57 ; WX 500 ; N nine ; B 30 -18 459 685 ; +C 58 ; WX 278 ; N colon ; B 81 -17 193 460 ; +C 59 ; WX 278 ; N semicolon ; B 83 -152 221 460 ; +C 60 ; WX 549 ; N less ; B 26 0 523 522 ; +C 61 ; WX 549 ; N equal ; B 11 141 537 390 ; +C 62 ; WX 549 ; N greater ; B 26 0 523 522 ; +C 63 ; WX 444 ; N question ; B 70 -17 412 686 ; +C 64 ; WX 549 ; N congruent ; B 11 0 537 475 ; +C 65 ; WX 722 ; N Alpha ; B 4 0 684 673 ; +C 66 ; WX 667 ; N Beta ; B 29 0 592 673 ; +C 67 ; WX 722 ; N Chi ; B -9 0 704 673 ; +C 68 ; WX 612 ; N Delta ; B 6 0 608 688 ; +C 69 ; WX 611 ; N Epsilon ; B 32 0 617 673 ; +C 70 ; WX 763 ; N Phi ; B 26 0 741 673 ; +C 71 ; WX 603 ; N Gamma ; B 24 0 609 673 ; +C 72 ; WX 722 ; N Eta ; B 39 0 729 673 ; +C 73 ; WX 333 ; N Iota ; B 32 0 316 673 ; +C 74 ; WX 631 ; N theta1 ; B 18 -18 623 689 ; +C 75 ; WX 722 ; N Kappa ; B 35 0 722 673 ; +C 76 ; WX 686 ; N Lambda ; B 6 0 680 688 ; +C 77 ; WX 889 ; N Mu ; B 28 0 887 673 ; +C 78 ; WX 722 ; N Nu ; B 29 -8 720 673 ; +C 79 ; WX 722 ; N Omicron ; B 41 -17 715 685 ; +C 80 ; WX 768 ; N Pi ; B 25 0 745 673 ; +C 81 ; WX 741 ; N Theta ; B 41 -17 715 685 ; +C 82 ; WX 556 ; N Rho ; B 28 0 563 673 ; +C 83 ; WX 592 ; N Sigma ; B 5 0 589 673 ; +C 84 ; WX 611 ; N Tau ; B 33 0 607 673 ; +C 85 ; WX 690 ; N Upsilon ; B -8 0 694 673 ; +C 86 ; WX 439 ; N sigma1 ; B 40 -233 436 500 ; +C 87 ; WX 768 ; N Omega ; B 34 0 736 688 ; +C 88 ; WX 645 ; N Xi ; B 40 0 599 673 ; +C 89 ; WX 795 ; N Psi ; B 15 0 781 684 ; +C 90 ; WX 611 ; N Zeta ; B 44 0 636 673 ; +C 91 ; WX 333 ; N bracketleft ; B 86 -155 299 674 ; +C 92 ; WX 863 ; N therefore ; B 163 0 701 487 ; +C 93 ; WX 333 ; N bracketright ; B 33 -155 246 674 ; +C 94 ; WX 658 ; N perpendicular ; B 15 0 652 674 ; +C 95 ; WX 500 ; N underscore ; B -2 -125 502 -75 ; +C 96 ; WX 500 ; N radicalex ; B 480 881 1090 917 ; +C 97 ; WX 631 ; N alpha ; B 41 -18 622 500 ; +C 98 ; WX 549 ; N beta ; B 61 -223 515 741 ; +C 99 ; WX 549 ; N chi ; B 12 -231 522 499 ; +C 100 ; WX 494 ; N delta ; B 40 -19 481 740 ; +C 101 ; WX 439 ; N epsilon ; B 22 -19 427 502 ; +C 102 ; WX 521 ; N phi ; B 28 -224 492 673 ; +C 103 ; WX 411 ; N gamma ; B 5 -225 484 499 ; +C 104 ; WX 603 ; N eta ; B 0 -202 527 514 ; +C 105 ; WX 329 ; N iota ; B 0 -17 301 503 ; +C 106 ; WX 603 ; N phi1 ; B 36 -224 587 499 ; +C 107 ; WX 549 ; N kappa ; B 33 0 558 501 ; +C 108 ; WX 549 ; N lambda ; B 24 -17 548 739 ; +C 109 ; WX 576 ; N mu ; B 33 -223 567 500 ; +C 110 ; WX 521 ; N nu ; B -9 -16 475 507 ; +C 111 ; WX 549 ; N omicron ; B 35 -19 501 499 ; +C 112 ; WX 549 ; N pi ; B 10 -19 530 487 ; +C 113 ; WX 521 ; N theta ; B 43 -17 485 690 ; +C 114 ; WX 549 ; N rho ; B 50 -230 490 499 ; +C 115 ; WX 603 ; N sigma ; B 30 -21 588 500 ; +C 116 ; WX 439 ; N tau ; B 10 -19 418 500 ; +C 117 ; WX 576 ; N upsilon ; B 7 -18 535 507 ; +C 118 ; WX 713 ; N omega1 ; B 12 -18 671 583 ; +C 119 ; WX 686 ; N omega ; B 42 -17 684 500 ; +C 120 ; WX 493 ; N xi ; B 27 -224 469 766 ; +C 121 ; WX 686 ; N psi ; B 12 -228 701 500 ; +C 122 ; WX 494 ; N zeta ; B 60 -225 467 756 ; +C 123 ; WX 480 ; N braceleft ; B 58 -183 397 673 ; +C 124 ; WX 200 ; N bar ; B 65 -293 135 707 ; +C 125 ; WX 480 ; N braceright ; B 79 -183 418 673 ; +C 126 ; WX 549 ; N similar ; B 17 203 529 307 ; +C 160 ; WX 750 ; N Euro ; B 20 -12 714 685 ; +C 161 ; WX 620 ; N Upsilon1 ; B -2 0 610 685 ; +C 162 ; WX 247 ; N minute ; B 27 459 228 735 ; +C 163 ; WX 549 ; N lessequal ; B 29 0 526 639 ; +C 164 ; WX 167 ; N fraction ; B -180 -12 340 677 ; +C 165 ; WX 713 ; N infinity ; B 26 124 688 404 ; +C 166 ; WX 500 ; N florin ; B 2 -193 494 686 ; +C 167 ; WX 753 ; N club ; B 86 -26 660 533 ; +C 168 ; WX 753 ; N diamond ; B 142 -36 600 550 ; +C 169 ; WX 753 ; N heart ; B 117 -33 631 532 ; +C 170 ; WX 753 ; N spade ; B 113 -36 629 548 ; +C 171 ; WX 1042 ; N arrowboth ; B 24 -15 1024 511 ; +C 172 ; WX 987 ; N arrowleft ; B 32 -15 942 511 ; +C 173 ; WX 603 ; N arrowup ; B 45 0 571 910 ; +C 174 ; WX 987 ; N arrowright ; B 49 -15 959 511 ; +C 175 ; WX 603 ; N arrowdown ; B 45 -22 571 888 ; +C 176 ; WX 400 ; N degree ; B 50 385 350 685 ; +C 177 ; WX 549 ; N plusminus ; B 10 0 539 645 ; +C 178 ; WX 411 ; N second ; B 20 459 413 737 ; +C 179 ; WX 549 ; N greaterequal ; B 29 0 526 639 ; +C 180 ; WX 549 ; N multiply ; B 17 8 533 524 ; +C 181 ; WX 713 ; N proportional ; B 27 123 639 404 ; +C 182 ; WX 494 ; N partialdiff ; B 26 -20 462 746 ; +C 183 ; WX 460 ; N bullet ; B 50 113 410 473 ; +C 184 ; WX 549 ; N divide ; B 10 71 536 456 ; +C 185 ; WX 549 ; N notequal ; B 15 -25 540 549 ; +C 186 ; WX 549 ; N equivalence ; B 14 82 538 443 ; +C 187 ; WX 549 ; N approxequal ; B 14 135 527 394 ; +C 188 ; WX 1000 ; N ellipsis ; B 111 -17 889 95 ; +C 189 ; WX 603 ; N arrowvertex ; B 280 -120 336 1010 ; +C 190 ; WX 1000 ; N arrowhorizex ; B -60 220 1050 276 ; +C 191 ; WX 658 ; N carriagereturn ; B 15 -16 602 629 ; +C 192 ; WX 823 ; N aleph ; B 175 -18 661 658 ; +C 193 ; WX 686 ; N Ifraktur ; B 10 -53 578 740 ; +C 194 ; WX 795 ; N Rfraktur ; B 26 -15 759 734 ; +C 195 ; WX 987 ; N weierstrass ; B 159 -211 870 573 ; +C 196 ; WX 768 ; N circlemultiply ; B 43 -17 733 673 ; +C 197 ; WX 768 ; N circleplus ; B 43 -15 733 675 ; +C 198 ; WX 823 ; N emptyset ; B 39 -24 781 719 ; +C 199 ; WX 768 ; N intersection ; B 40 0 732 509 ; +C 200 ; WX 768 ; N union ; B 40 -17 732 492 ; +C 201 ; WX 713 ; N propersuperset ; B 20 0 673 470 ; +C 202 ; WX 713 ; N reflexsuperset ; B 20 -125 673 470 ; +C 203 ; WX 713 ; N notsubset ; B 36 -70 690 540 ; +C 204 ; WX 713 ; N propersubset ; B 37 0 690 470 ; +C 205 ; WX 713 ; N reflexsubset ; B 37 -125 690 470 ; +C 206 ; WX 713 ; N element ; B 45 0 505 468 ; +C 207 ; WX 713 ; N notelement ; B 45 -58 505 555 ; +C 208 ; WX 768 ; N angle ; B 26 0 738 673 ; +C 209 ; WX 713 ; N gradient ; B 36 -19 681 718 ; +C 210 ; WX 790 ; N registerserif ; B 50 -17 740 673 ; +C 211 ; WX 790 ; N copyrightserif ; B 51 -15 741 675 ; +C 212 ; WX 890 ; N trademarkserif ; B 18 293 855 673 ; +C 213 ; WX 823 ; N product ; B 25 -101 803 751 ; +C 214 ; WX 549 ; N radical ; B 10 -38 515 917 ; +C 215 ; WX 250 ; N dotmath ; B 69 210 169 310 ; +C 216 ; WX 713 ; N logicalnot ; B 15 0 680 288 ; +C 217 ; WX 603 ; N logicaland ; B 23 0 583 454 ; +C 218 ; WX 603 ; N logicalor ; B 30 0 578 477 ; +C 219 ; WX 1042 ; N arrowdblboth ; B 27 -20 1023 510 ; +C 220 ; WX 987 ; N arrowdblleft ; B 30 -15 939 513 ; +C 221 ; WX 603 ; N arrowdblup ; B 39 2 567 911 ; +C 222 ; WX 987 ; N arrowdblright ; B 45 -20 954 508 ; +C 223 ; WX 603 ; N arrowdbldown ; B 44 -19 572 890 ; +C 224 ; WX 494 ; N lozenge ; B 18 0 466 745 ; +C 225 ; WX 329 ; N angleleft ; B 25 -198 306 746 ; +C 226 ; WX 790 ; N registersans ; B 50 -20 740 670 ; +C 227 ; WX 790 ; N copyrightsans ; B 49 -15 739 675 ; +C 228 ; WX 786 ; N trademarksans ; B 5 293 725 673 ; +C 229 ; WX 713 ; N summation ; B 14 -108 695 752 ; +C 230 ; WX 384 ; N parenlefttp ; B 24 -293 436 926 ; +C 231 ; WX 384 ; N parenleftex ; B 24 -85 108 925 ; +C 232 ; WX 384 ; N parenleftbt ; B 24 -293 436 926 ; +C 233 ; WX 384 ; N bracketlefttp ; B 0 -80 349 926 ; +C 234 ; WX 384 ; N bracketleftex ; B 0 -79 77 925 ; +C 235 ; WX 384 ; N bracketleftbt ; B 0 -80 349 926 ; +C 236 ; WX 494 ; N bracelefttp ; B 209 -85 445 925 ; +C 237 ; WX 494 ; N braceleftmid ; B 20 -85 284 935 ; +C 238 ; WX 494 ; N braceleftbt ; B 209 -75 445 935 ; +C 239 ; WX 494 ; N braceex ; B 209 -85 284 935 ; +C 241 ; WX 329 ; N angleright ; B 21 -198 302 746 ; +C 242 ; WX 274 ; N integral ; B 2 -107 291 916 ; +C 243 ; WX 686 ; N integraltp ; B 308 -88 675 920 ; +C 244 ; WX 686 ; N integralex ; B 308 -88 378 975 ; +C 245 ; WX 686 ; N integralbt ; B 11 -87 378 921 ; +C 246 ; WX 384 ; N parenrighttp ; B 54 -293 466 926 ; +C 247 ; WX 384 ; N parenrightex ; B 382 -85 466 925 ; +C 248 ; WX 384 ; N parenrightbt ; B 54 -293 466 926 ; +C 249 ; WX 384 ; N bracketrighttp ; B 22 -80 371 926 ; +C 250 ; WX 384 ; N bracketrightex ; B 294 -79 371 925 ; +C 251 ; WX 384 ; N bracketrightbt ; B 22 -80 371 926 ; +C 252 ; WX 494 ; N bracerighttp ; B 48 -85 284 925 ; +C 253 ; WX 494 ; N bracerightmid ; B 209 -85 473 935 ; +C 254 ; WX 494 ; N bracerightbt ; B 48 -75 284 935 ; +C -1 ; WX 790 ; N apple ; B 56 -3 733 808 ; +EndCharMetrics +EndFontMetrics diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/PDF/default/templates/fonts/Times-Bold.afm b/buildscripts/PhpDocumentor/phpDocumentor/Converters/PDF/default/templates/fonts/Times-Bold.afm new file mode 100755 index 00000000..559ebaeb --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/PDF/default/templates/fonts/Times-Bold.afm @@ -0,0 +1,2588 @@ +StartFontMetrics 4.1 +Comment Copyright (c) 1985, 1987, 1989, 1990, 1993, 1997 Adobe Systems Incorporated. All Rights Reserved. +Comment Creation Date: Thu May 1 12:52:56 1997 +Comment UniqueID 43065 +Comment VMusage 41636 52661 +FontName Times-Bold +FullName Times Bold +FamilyName Times +Weight Bold +ItalicAngle 0 +IsFixedPitch false +CharacterSet ExtendedRoman +FontBBox -168 -218 1000 935 +UnderlinePosition -100 +UnderlineThickness 50 +Version 002.000 +Notice Copyright (c) 1985, 1987, 1989, 1990, 1993, 1997 Adobe Systems Incorporated. All Rights Reserved.Times is a trademark of Linotype-Hell AG and/or its subsidiaries. +EncodingScheme AdobeStandardEncoding +CapHeight 676 +XHeight 461 +Ascender 683 +Descender -217 +StdHW 44 +StdVW 139 +StartCharMetrics 315 +C 32 ; WX 250 ; N space ; B 0 0 0 0 ; +C 33 ; WX 333 ; N exclam ; B 81 -13 251 691 ; +C 34 ; WX 555 ; N quotedbl ; B 83 404 472 691 ; +C 35 ; WX 500 ; N numbersign ; B 4 0 496 700 ; +C 36 ; WX 500 ; N dollar ; B 29 -99 472 750 ; +C 37 ; WX 1000 ; N percent ; B 124 -14 877 692 ; +C 38 ; WX 833 ; N ampersand ; B 62 -16 787 691 ; +C 39 ; WX 333 ; N quoteright ; B 79 356 263 691 ; +C 40 ; WX 333 ; N parenleft ; B 46 -168 306 694 ; +C 41 ; WX 333 ; N parenright ; B 27 -168 287 694 ; +C 42 ; WX 500 ; N asterisk ; B 56 255 447 691 ; +C 43 ; WX 570 ; N plus ; B 33 0 537 506 ; +C 44 ; WX 250 ; N comma ; B 39 -180 223 155 ; +C 45 ; WX 333 ; N hyphen ; B 44 171 287 287 ; +C 46 ; WX 250 ; N period ; B 41 -13 210 156 ; +C 47 ; WX 278 ; N slash ; B -24 -19 302 691 ; +C 48 ; WX 500 ; N zero ; B 24 -13 476 688 ; +C 49 ; WX 500 ; N one ; B 65 0 442 688 ; +C 50 ; WX 500 ; N two ; B 17 0 478 688 ; +C 51 ; WX 500 ; N three ; B 16 -14 468 688 ; +C 52 ; WX 500 ; N four ; B 19 0 475 688 ; +C 53 ; WX 500 ; N five ; B 22 -8 470 676 ; +C 54 ; WX 500 ; N six ; B 28 -13 475 688 ; +C 55 ; WX 500 ; N seven ; B 17 0 477 676 ; +C 56 ; WX 500 ; N eight ; B 28 -13 472 688 ; +C 57 ; WX 500 ; N nine ; B 26 -13 473 688 ; +C 58 ; WX 333 ; N colon ; B 82 -13 251 472 ; +C 59 ; WX 333 ; N semicolon ; B 82 -180 266 472 ; +C 60 ; WX 570 ; N less ; B 31 -8 539 514 ; +C 61 ; WX 570 ; N equal ; B 33 107 537 399 ; +C 62 ; WX 570 ; N greater ; B 31 -8 539 514 ; +C 63 ; WX 500 ; N question ; B 57 -13 445 689 ; +C 64 ; WX 930 ; N at ; B 108 -19 822 691 ; +C 65 ; WX 722 ; N A ; B 9 0 689 690 ; +C 66 ; WX 667 ; N B ; B 16 0 619 676 ; +C 67 ; WX 722 ; N C ; B 49 -19 687 691 ; +C 68 ; WX 722 ; N D ; B 14 0 690 676 ; +C 69 ; WX 667 ; N E ; B 16 0 641 676 ; +C 70 ; WX 611 ; N F ; B 16 0 583 676 ; +C 71 ; WX 778 ; N G ; B 37 -19 755 691 ; +C 72 ; WX 778 ; N H ; B 21 0 759 676 ; +C 73 ; WX 389 ; N I ; B 20 0 370 676 ; +C 74 ; WX 500 ; N J ; B 3 -96 479 676 ; +C 75 ; WX 778 ; N K ; B 30 0 769 676 ; +C 76 ; WX 667 ; N L ; B 19 0 638 676 ; +C 77 ; WX 944 ; N M ; B 14 0 921 676 ; +C 78 ; WX 722 ; N N ; B 16 -18 701 676 ; +C 79 ; WX 778 ; N O ; B 35 -19 743 691 ; +C 80 ; WX 611 ; N P ; B 16 0 600 676 ; +C 81 ; WX 778 ; N Q ; B 35 -176 743 691 ; +C 82 ; WX 722 ; N R ; B 26 0 715 676 ; +C 83 ; WX 556 ; N S ; B 35 -19 513 692 ; +C 84 ; WX 667 ; N T ; B 31 0 636 676 ; +C 85 ; WX 722 ; N U ; B 16 -19 701 676 ; +C 86 ; WX 722 ; N V ; B 16 -18 701 676 ; +C 87 ; WX 1000 ; N W ; B 19 -15 981 676 ; +C 88 ; WX 722 ; N X ; B 16 0 699 676 ; +C 89 ; WX 722 ; N Y ; B 15 0 699 676 ; +C 90 ; WX 667 ; N Z ; B 28 0 634 676 ; +C 91 ; WX 333 ; N bracketleft ; B 67 -149 301 678 ; +C 92 ; WX 278 ; N backslash ; B -25 -19 303 691 ; +C 93 ; WX 333 ; N bracketright ; B 32 -149 266 678 ; +C 94 ; WX 581 ; N asciicircum ; B 73 311 509 676 ; +C 95 ; WX 500 ; N underscore ; B 0 -125 500 -75 ; +C 96 ; WX 333 ; N quoteleft ; B 70 356 254 691 ; +C 97 ; WX 500 ; N a ; B 25 -14 488 473 ; +C 98 ; WX 556 ; N b ; B 17 -14 521 676 ; +C 99 ; WX 444 ; N c ; B 25 -14 430 473 ; +C 100 ; WX 556 ; N d ; B 25 -14 534 676 ; +C 101 ; WX 444 ; N e ; B 25 -14 426 473 ; +C 102 ; WX 333 ; N f ; B 14 0 389 691 ; L i fi ; L l fl ; +C 103 ; WX 500 ; N g ; B 28 -206 483 473 ; +C 104 ; WX 556 ; N h ; B 16 0 534 676 ; +C 105 ; WX 278 ; N i ; B 16 0 255 691 ; +C 106 ; WX 333 ; N j ; B -57 -203 263 691 ; +C 107 ; WX 556 ; N k ; B 22 0 543 676 ; +C 108 ; WX 278 ; N l ; B 16 0 255 676 ; +C 109 ; WX 833 ; N m ; B 16 0 814 473 ; +C 110 ; WX 556 ; N n ; B 21 0 539 473 ; +C 111 ; WX 500 ; N o ; B 25 -14 476 473 ; +C 112 ; WX 556 ; N p ; B 19 -205 524 473 ; +C 113 ; WX 556 ; N q ; B 34 -205 536 473 ; +C 114 ; WX 444 ; N r ; B 29 0 434 473 ; +C 115 ; WX 389 ; N s ; B 25 -14 361 473 ; +C 116 ; WX 333 ; N t ; B 20 -12 332 630 ; +C 117 ; WX 556 ; N u ; B 16 -14 537 461 ; +C 118 ; WX 500 ; N v ; B 21 -14 485 461 ; +C 119 ; WX 722 ; N w ; B 23 -14 707 461 ; +C 120 ; WX 500 ; N x ; B 12 0 484 461 ; +C 121 ; WX 500 ; N y ; B 16 -205 480 461 ; +C 122 ; WX 444 ; N z ; B 21 0 420 461 ; +C 123 ; WX 394 ; N braceleft ; B 22 -175 340 698 ; +C 124 ; WX 220 ; N bar ; B 66 -218 154 782 ; +C 125 ; WX 394 ; N braceright ; B 54 -175 372 698 ; +C 126 ; WX 520 ; N asciitilde ; B 29 173 491 333 ; +C 161 ; WX 333 ; N exclamdown ; B 82 -203 252 501 ; +C 162 ; WX 500 ; N cent ; B 53 -140 458 588 ; +C 163 ; WX 500 ; N sterling ; B 21 -14 477 684 ; +C 164 ; WX 167 ; N fraction ; B -168 -12 329 688 ; +C 165 ; WX 500 ; N yen ; B -64 0 547 676 ; +C 166 ; WX 500 ; N florin ; B 0 -155 498 706 ; +C 167 ; WX 500 ; N section ; B 57 -132 443 691 ; +C 168 ; WX 500 ; N currency ; B -26 61 526 613 ; +C 169 ; WX 278 ; N quotesingle ; B 75 404 204 691 ; +C 170 ; WX 500 ; N quotedblleft ; B 32 356 486 691 ; +C 171 ; WX 500 ; N guillemotleft ; B 23 36 473 415 ; +C 172 ; WX 333 ; N guilsinglleft ; B 51 36 305 415 ; +C 173 ; WX 333 ; N guilsinglright ; B 28 36 282 415 ; +C 174 ; WX 556 ; N fi ; B 14 0 536 691 ; +C 175 ; WX 556 ; N fl ; B 14 0 536 691 ; +C 177 ; WX 500 ; N endash ; B 0 181 500 271 ; +C 178 ; WX 500 ; N dagger ; B 47 -134 453 691 ; +C 179 ; WX 500 ; N daggerdbl ; B 45 -132 456 691 ; +C 180 ; WX 250 ; N periodcentered ; B 41 248 210 417 ; +C 182 ; WX 540 ; N paragraph ; B 0 -186 519 676 ; +C 183 ; WX 350 ; N bullet ; B 35 198 315 478 ; +C 184 ; WX 333 ; N quotesinglbase ; B 79 -180 263 155 ; +C 185 ; WX 500 ; N quotedblbase ; B 14 -180 468 155 ; +C 186 ; WX 500 ; N quotedblright ; B 14 356 468 691 ; +C 187 ; WX 500 ; N guillemotright ; B 27 36 477 415 ; +C 188 ; WX 1000 ; N ellipsis ; B 82 -13 917 156 ; +C 189 ; WX 1000 ; N perthousand ; B 7 -29 995 706 ; +C 191 ; WX 500 ; N questiondown ; B 55 -201 443 501 ; +C 193 ; WX 333 ; N grave ; B 8 528 246 713 ; +C 194 ; WX 333 ; N acute ; B 86 528 324 713 ; +C 195 ; WX 333 ; N circumflex ; B -2 528 335 704 ; +C 196 ; WX 333 ; N tilde ; B -16 547 349 674 ; +C 197 ; WX 333 ; N macron ; B 1 565 331 637 ; +C 198 ; WX 333 ; N breve ; B 15 528 318 691 ; +C 199 ; WX 333 ; N dotaccent ; B 103 536 258 691 ; +C 200 ; WX 333 ; N dieresis ; B -2 537 335 667 ; +C 202 ; WX 333 ; N ring ; B 60 527 273 740 ; +C 203 ; WX 333 ; N cedilla ; B 68 -218 294 0 ; +C 205 ; WX 333 ; N hungarumlaut ; B -13 528 425 713 ; +C 206 ; WX 333 ; N ogonek ; B 90 -193 319 24 ; +C 207 ; WX 333 ; N caron ; B -2 528 335 704 ; +C 208 ; WX 1000 ; N emdash ; B 0 181 1000 271 ; +C 225 ; WX 1000 ; N AE ; B 4 0 951 676 ; +C 227 ; WX 300 ; N ordfeminine ; B -1 397 301 688 ; +C 232 ; WX 667 ; N Lslash ; B 19 0 638 676 ; +C 233 ; WX 778 ; N Oslash ; B 35 -74 743 737 ; +C 234 ; WX 1000 ; N OE ; B 22 -5 981 684 ; +C 235 ; WX 330 ; N ordmasculine ; B 18 397 312 688 ; +C 241 ; WX 722 ; N ae ; B 33 -14 693 473 ; +C 245 ; WX 278 ; N dotlessi ; B 16 0 255 461 ; +C 248 ; WX 278 ; N lslash ; B -22 0 303 676 ; +C 249 ; WX 500 ; N oslash ; B 25 -92 476 549 ; +C 250 ; WX 722 ; N oe ; B 22 -14 696 473 ; +C 251 ; WX 556 ; N germandbls ; B 19 -12 517 691 ; +C -1 ; WX 389 ; N Idieresis ; B 20 0 370 877 ; +C -1 ; WX 444 ; N eacute ; B 25 -14 426 713 ; +C -1 ; WX 500 ; N abreve ; B 25 -14 488 691 ; +C -1 ; WX 556 ; N uhungarumlaut ; B 16 -14 557 713 ; +C -1 ; WX 444 ; N ecaron ; B 25 -14 426 704 ; +C -1 ; WX 722 ; N Ydieresis ; B 15 0 699 877 ; +C -1 ; WX 570 ; N divide ; B 33 -31 537 537 ; +C -1 ; WX 722 ; N Yacute ; B 15 0 699 923 ; +C -1 ; WX 722 ; N Acircumflex ; B 9 0 689 914 ; +C -1 ; WX 500 ; N aacute ; B 25 -14 488 713 ; +C -1 ; WX 722 ; N Ucircumflex ; B 16 -19 701 914 ; +C -1 ; WX 500 ; N yacute ; B 16 -205 480 713 ; +C -1 ; WX 389 ; N scommaaccent ; B 25 -218 361 473 ; +C -1 ; WX 444 ; N ecircumflex ; B 25 -14 426 704 ; +C -1 ; WX 722 ; N Uring ; B 16 -19 701 935 ; +C -1 ; WX 722 ; N Udieresis ; B 16 -19 701 877 ; +C -1 ; WX 500 ; N aogonek ; B 25 -193 504 473 ; +C -1 ; WX 722 ; N Uacute ; B 16 -19 701 923 ; +C -1 ; WX 556 ; N uogonek ; B 16 -193 539 461 ; +C -1 ; WX 667 ; N Edieresis ; B 16 0 641 877 ; +C -1 ; WX 722 ; N Dcroat ; B 6 0 690 676 ; +C -1 ; WX 250 ; N commaaccent ; B 47 -218 203 -50 ; +C -1 ; WX 747 ; N copyright ; B 26 -19 721 691 ; +C -1 ; WX 667 ; N Emacron ; B 16 0 641 847 ; +C -1 ; WX 444 ; N ccaron ; B 25 -14 430 704 ; +C -1 ; WX 500 ; N aring ; B 25 -14 488 740 ; +C -1 ; WX 722 ; N Ncommaaccent ; B 16 -188 701 676 ; +C -1 ; WX 278 ; N lacute ; B 16 0 297 923 ; +C -1 ; WX 500 ; N agrave ; B 25 -14 488 713 ; +C -1 ; WX 667 ; N Tcommaaccent ; B 31 -218 636 676 ; +C -1 ; WX 722 ; N Cacute ; B 49 -19 687 923 ; +C -1 ; WX 500 ; N atilde ; B 25 -14 488 674 ; +C -1 ; WX 667 ; N Edotaccent ; B 16 0 641 901 ; +C -1 ; WX 389 ; N scaron ; B 25 -14 363 704 ; +C -1 ; WX 389 ; N scedilla ; B 25 -218 361 473 ; +C -1 ; WX 278 ; N iacute ; B 16 0 289 713 ; +C -1 ; WX 494 ; N lozenge ; B 10 0 484 745 ; +C -1 ; WX 722 ; N Rcaron ; B 26 0 715 914 ; +C -1 ; WX 778 ; N Gcommaaccent ; B 37 -218 755 691 ; +C -1 ; WX 556 ; N ucircumflex ; B 16 -14 537 704 ; +C -1 ; WX 500 ; N acircumflex ; B 25 -14 488 704 ; +C -1 ; WX 722 ; N Amacron ; B 9 0 689 847 ; +C -1 ; WX 444 ; N rcaron ; B 29 0 434 704 ; +C -1 ; WX 444 ; N ccedilla ; B 25 -218 430 473 ; +C -1 ; WX 667 ; N Zdotaccent ; B 28 0 634 901 ; +C -1 ; WX 611 ; N Thorn ; B 16 0 600 676 ; +C -1 ; WX 778 ; N Omacron ; B 35 -19 743 847 ; +C -1 ; WX 722 ; N Racute ; B 26 0 715 923 ; +C -1 ; WX 556 ; N Sacute ; B 35 -19 513 923 ; +C -1 ; WX 672 ; N dcaron ; B 25 -14 681 682 ; +C -1 ; WX 722 ; N Umacron ; B 16 -19 701 847 ; +C -1 ; WX 556 ; N uring ; B 16 -14 537 740 ; +C -1 ; WX 300 ; N threesuperior ; B 3 268 297 688 ; +C -1 ; WX 778 ; N Ograve ; B 35 -19 743 923 ; +C -1 ; WX 722 ; N Agrave ; B 9 0 689 923 ; +C -1 ; WX 722 ; N Abreve ; B 9 0 689 901 ; +C -1 ; WX 570 ; N multiply ; B 48 16 522 490 ; +C -1 ; WX 556 ; N uacute ; B 16 -14 537 713 ; +C -1 ; WX 667 ; N Tcaron ; B 31 0 636 914 ; +C -1 ; WX 494 ; N partialdiff ; B 11 -21 494 750 ; +C -1 ; WX 500 ; N ydieresis ; B 16 -205 480 667 ; +C -1 ; WX 722 ; N Nacute ; B 16 -18 701 923 ; +C -1 ; WX 278 ; N icircumflex ; B -37 0 300 704 ; +C -1 ; WX 667 ; N Ecircumflex ; B 16 0 641 914 ; +C -1 ; WX 500 ; N adieresis ; B 25 -14 488 667 ; +C -1 ; WX 444 ; N edieresis ; B 25 -14 426 667 ; +C -1 ; WX 444 ; N cacute ; B 25 -14 430 713 ; +C -1 ; WX 556 ; N nacute ; B 21 0 539 713 ; +C -1 ; WX 556 ; N umacron ; B 16 -14 537 637 ; +C -1 ; WX 722 ; N Ncaron ; B 16 -18 701 914 ; +C -1 ; WX 389 ; N Iacute ; B 20 0 370 923 ; +C -1 ; WX 570 ; N plusminus ; B 33 0 537 506 ; +C -1 ; WX 220 ; N brokenbar ; B 66 -143 154 707 ; +C -1 ; WX 747 ; N registered ; B 26 -19 721 691 ; +C -1 ; WX 778 ; N Gbreve ; B 37 -19 755 901 ; +C -1 ; WX 389 ; N Idotaccent ; B 20 0 370 901 ; +C -1 ; WX 600 ; N summation ; B 14 -10 585 706 ; +C -1 ; WX 667 ; N Egrave ; B 16 0 641 923 ; +C -1 ; WX 444 ; N racute ; B 29 0 434 713 ; +C -1 ; WX 500 ; N omacron ; B 25 -14 476 637 ; +C -1 ; WX 667 ; N Zacute ; B 28 0 634 923 ; +C -1 ; WX 667 ; N Zcaron ; B 28 0 634 914 ; +C -1 ; WX 549 ; N greaterequal ; B 26 0 523 704 ; +C -1 ; WX 722 ; N Eth ; B 6 0 690 676 ; +C -1 ; WX 722 ; N Ccedilla ; B 49 -218 687 691 ; +C -1 ; WX 278 ; N lcommaaccent ; B 16 -218 255 676 ; +C -1 ; WX 416 ; N tcaron ; B 20 -12 425 815 ; +C -1 ; WX 444 ; N eogonek ; B 25 -193 426 473 ; +C -1 ; WX 722 ; N Uogonek ; B 16 -193 701 676 ; +C -1 ; WX 722 ; N Aacute ; B 9 0 689 923 ; +C -1 ; WX 722 ; N Adieresis ; B 9 0 689 877 ; +C -1 ; WX 444 ; N egrave ; B 25 -14 426 713 ; +C -1 ; WX 444 ; N zacute ; B 21 0 420 713 ; +C -1 ; WX 278 ; N iogonek ; B 16 -193 274 691 ; +C -1 ; WX 778 ; N Oacute ; B 35 -19 743 923 ; +C -1 ; WX 500 ; N oacute ; B 25 -14 476 713 ; +C -1 ; WX 500 ; N amacron ; B 25 -14 488 637 ; +C -1 ; WX 389 ; N sacute ; B 25 -14 361 713 ; +C -1 ; WX 278 ; N idieresis ; B -37 0 300 667 ; +C -1 ; WX 778 ; N Ocircumflex ; B 35 -19 743 914 ; +C -1 ; WX 722 ; N Ugrave ; B 16 -19 701 923 ; +C -1 ; WX 612 ; N Delta ; B 6 0 608 688 ; +C -1 ; WX 556 ; N thorn ; B 19 -205 524 676 ; +C -1 ; WX 300 ; N twosuperior ; B 0 275 300 688 ; +C -1 ; WX 778 ; N Odieresis ; B 35 -19 743 877 ; +C -1 ; WX 556 ; N mu ; B 33 -206 536 461 ; +C -1 ; WX 278 ; N igrave ; B -27 0 255 713 ; +C -1 ; WX 500 ; N ohungarumlaut ; B 25 -14 529 713 ; +C -1 ; WX 667 ; N Eogonek ; B 16 -193 644 676 ; +C -1 ; WX 556 ; N dcroat ; B 25 -14 534 676 ; +C -1 ; WX 750 ; N threequarters ; B 23 -12 733 688 ; +C -1 ; WX 556 ; N Scedilla ; B 35 -218 513 692 ; +C -1 ; WX 394 ; N lcaron ; B 16 0 412 682 ; +C -1 ; WX 778 ; N Kcommaaccent ; B 30 -218 769 676 ; +C -1 ; WX 667 ; N Lacute ; B 19 0 638 923 ; +C -1 ; WX 1000 ; N trademark ; B 24 271 977 676 ; +C -1 ; WX 444 ; N edotaccent ; B 25 -14 426 691 ; +C -1 ; WX 389 ; N Igrave ; B 20 0 370 923 ; +C -1 ; WX 389 ; N Imacron ; B 20 0 370 847 ; +C -1 ; WX 667 ; N Lcaron ; B 19 0 652 682 ; +C -1 ; WX 750 ; N onehalf ; B -7 -12 775 688 ; +C -1 ; WX 549 ; N lessequal ; B 29 0 526 704 ; +C -1 ; WX 500 ; N ocircumflex ; B 25 -14 476 704 ; +C -1 ; WX 556 ; N ntilde ; B 21 0 539 674 ; +C -1 ; WX 722 ; N Uhungarumlaut ; B 16 -19 701 923 ; +C -1 ; WX 667 ; N Eacute ; B 16 0 641 923 ; +C -1 ; WX 444 ; N emacron ; B 25 -14 426 637 ; +C -1 ; WX 500 ; N gbreve ; B 28 -206 483 691 ; +C -1 ; WX 750 ; N onequarter ; B 28 -12 743 688 ; +C -1 ; WX 556 ; N Scaron ; B 35 -19 513 914 ; +C -1 ; WX 556 ; N Scommaaccent ; B 35 -218 513 692 ; +C -1 ; WX 778 ; N Ohungarumlaut ; B 35 -19 743 923 ; +C -1 ; WX 400 ; N degree ; B 57 402 343 688 ; +C -1 ; WX 500 ; N ograve ; B 25 -14 476 713 ; +C -1 ; WX 722 ; N Ccaron ; B 49 -19 687 914 ; +C -1 ; WX 556 ; N ugrave ; B 16 -14 537 713 ; +C -1 ; WX 549 ; N radical ; B 10 -46 512 850 ; +C -1 ; WX 722 ; N Dcaron ; B 14 0 690 914 ; +C -1 ; WX 444 ; N rcommaaccent ; B 29 -218 434 473 ; +C -1 ; WX 722 ; N Ntilde ; B 16 -18 701 884 ; +C -1 ; WX 500 ; N otilde ; B 25 -14 476 674 ; +C -1 ; WX 722 ; N Rcommaaccent ; B 26 -218 715 676 ; +C -1 ; WX 667 ; N Lcommaaccent ; B 19 -218 638 676 ; +C -1 ; WX 722 ; N Atilde ; B 9 0 689 884 ; +C -1 ; WX 722 ; N Aogonek ; B 9 -193 699 690 ; +C -1 ; WX 722 ; N Aring ; B 9 0 689 935 ; +C -1 ; WX 778 ; N Otilde ; B 35 -19 743 884 ; +C -1 ; WX 444 ; N zdotaccent ; B 21 0 420 691 ; +C -1 ; WX 667 ; N Ecaron ; B 16 0 641 914 ; +C -1 ; WX 389 ; N Iogonek ; B 20 -193 370 676 ; +C -1 ; WX 556 ; N kcommaaccent ; B 22 -218 543 676 ; +C -1 ; WX 570 ; N minus ; B 33 209 537 297 ; +C -1 ; WX 389 ; N Icircumflex ; B 20 0 370 914 ; +C -1 ; WX 556 ; N ncaron ; B 21 0 539 704 ; +C -1 ; WX 333 ; N tcommaaccent ; B 20 -218 332 630 ; +C -1 ; WX 570 ; N logicalnot ; B 33 108 537 399 ; +C -1 ; WX 500 ; N odieresis ; B 25 -14 476 667 ; +C -1 ; WX 556 ; N udieresis ; B 16 -14 537 667 ; +C -1 ; WX 549 ; N notequal ; B 15 -49 540 570 ; +C -1 ; WX 500 ; N gcommaaccent ; B 28 -206 483 829 ; +C -1 ; WX 500 ; N eth ; B 25 -14 476 691 ; +C -1 ; WX 444 ; N zcaron ; B 21 0 420 704 ; +C -1 ; WX 556 ; N ncommaaccent ; B 21 -218 539 473 ; +C -1 ; WX 300 ; N onesuperior ; B 28 275 273 688 ; +C -1 ; WX 278 ; N imacron ; B -8 0 272 637 ; +C -1 ; WX 500 ; N Euro ; B 0 0 0 0 ; +EndCharMetrics +StartKernData +StartKernPairs 2242 +KPX A C -55 +KPX A Cacute -55 +KPX A Ccaron -55 +KPX A Ccedilla -55 +KPX A G -55 +KPX A Gbreve -55 +KPX A Gcommaaccent -55 +KPX A O -45 +KPX A Oacute -45 +KPX A Ocircumflex -45 +KPX A Odieresis -45 +KPX A Ograve -45 +KPX A Ohungarumlaut -45 +KPX A Omacron -45 +KPX A Oslash -45 +KPX A Otilde -45 +KPX A Q -45 +KPX A T -95 +KPX A Tcaron -95 +KPX A Tcommaaccent -95 +KPX A U -50 +KPX A Uacute -50 +KPX A Ucircumflex -50 +KPX A Udieresis -50 +KPX A Ugrave -50 +KPX A Uhungarumlaut -50 +KPX A Umacron -50 +KPX A Uogonek -50 +KPX A Uring -50 +KPX A V -145 +KPX A W -130 +KPX A Y -100 +KPX A Yacute -100 +KPX A Ydieresis -100 +KPX A p -25 +KPX A quoteright -74 +KPX A u -50 +KPX A uacute -50 +KPX A ucircumflex -50 +KPX A udieresis -50 +KPX A ugrave -50 +KPX A uhungarumlaut -50 +KPX A umacron -50 +KPX A uogonek -50 +KPX A uring -50 +KPX A v -100 +KPX A w -90 +KPX A y -74 +KPX A yacute -74 +KPX A ydieresis -74 +KPX Aacute C -55 +KPX Aacute Cacute -55 +KPX Aacute Ccaron -55 +KPX Aacute Ccedilla -55 +KPX Aacute G -55 +KPX Aacute Gbreve -55 +KPX Aacute Gcommaaccent -55 +KPX Aacute O -45 +KPX Aacute Oacute -45 +KPX Aacute Ocircumflex -45 +KPX Aacute Odieresis -45 +KPX Aacute Ograve -45 +KPX Aacute Ohungarumlaut -45 +KPX Aacute Omacron -45 +KPX Aacute Oslash -45 +KPX Aacute Otilde -45 +KPX Aacute Q -45 +KPX Aacute T -95 +KPX Aacute Tcaron -95 +KPX Aacute Tcommaaccent -95 +KPX Aacute U -50 +KPX Aacute Uacute -50 +KPX Aacute Ucircumflex -50 +KPX Aacute Udieresis -50 +KPX Aacute Ugrave -50 +KPX Aacute Uhungarumlaut -50 +KPX Aacute Umacron -50 +KPX Aacute Uogonek -50 +KPX Aacute Uring -50 +KPX Aacute V -145 +KPX Aacute W -130 +KPX Aacute Y -100 +KPX Aacute Yacute -100 +KPX Aacute Ydieresis -100 +KPX Aacute p -25 +KPX Aacute quoteright -74 +KPX Aacute u -50 +KPX Aacute uacute -50 +KPX Aacute ucircumflex -50 +KPX Aacute udieresis -50 +KPX Aacute ugrave -50 +KPX Aacute uhungarumlaut -50 +KPX Aacute umacron -50 +KPX Aacute uogonek -50 +KPX Aacute uring -50 +KPX Aacute v -100 +KPX Aacute w -90 +KPX Aacute y -74 +KPX Aacute yacute -74 +KPX Aacute ydieresis -74 +KPX Abreve C -55 +KPX Abreve Cacute -55 +KPX Abreve Ccaron -55 +KPX Abreve Ccedilla -55 +KPX Abreve G -55 +KPX Abreve Gbreve -55 +KPX Abreve Gcommaaccent -55 +KPX Abreve O -45 +KPX Abreve Oacute -45 +KPX Abreve Ocircumflex -45 +KPX Abreve Odieresis -45 +KPX Abreve Ograve -45 +KPX Abreve Ohungarumlaut -45 +KPX Abreve Omacron -45 +KPX Abreve Oslash -45 +KPX Abreve Otilde -45 +KPX Abreve Q -45 +KPX Abreve T -95 +KPX Abreve Tcaron -95 +KPX Abreve Tcommaaccent -95 +KPX Abreve U -50 +KPX Abreve Uacute -50 +KPX Abreve Ucircumflex -50 +KPX Abreve Udieresis -50 +KPX Abreve Ugrave -50 +KPX Abreve Uhungarumlaut -50 +KPX Abreve Umacron -50 +KPX Abreve Uogonek -50 +KPX Abreve Uring -50 +KPX Abreve V -145 +KPX Abreve W -130 +KPX Abreve Y -100 +KPX Abreve Yacute -100 +KPX Abreve Ydieresis -100 +KPX Abreve p -25 +KPX Abreve quoteright -74 +KPX Abreve u -50 +KPX Abreve uacute -50 +KPX Abreve ucircumflex -50 +KPX Abreve udieresis -50 +KPX Abreve ugrave -50 +KPX Abreve uhungarumlaut -50 +KPX Abreve umacron -50 +KPX Abreve uogonek -50 +KPX Abreve uring -50 +KPX Abreve v -100 +KPX Abreve w -90 +KPX Abreve y -74 +KPX Abreve yacute -74 +KPX Abreve ydieresis -74 +KPX Acircumflex C -55 +KPX Acircumflex Cacute -55 +KPX Acircumflex Ccaron -55 +KPX Acircumflex Ccedilla -55 +KPX Acircumflex G -55 +KPX Acircumflex Gbreve -55 +KPX Acircumflex Gcommaaccent -55 +KPX Acircumflex O -45 +KPX Acircumflex Oacute -45 +KPX Acircumflex Ocircumflex -45 +KPX Acircumflex Odieresis -45 +KPX Acircumflex Ograve -45 +KPX Acircumflex Ohungarumlaut -45 +KPX Acircumflex Omacron -45 +KPX Acircumflex Oslash -45 +KPX Acircumflex Otilde -45 +KPX Acircumflex Q -45 +KPX Acircumflex T -95 +KPX Acircumflex Tcaron -95 +KPX Acircumflex Tcommaaccent -95 +KPX Acircumflex U -50 +KPX Acircumflex Uacute -50 +KPX Acircumflex Ucircumflex -50 +KPX Acircumflex Udieresis -50 +KPX Acircumflex Ugrave -50 +KPX Acircumflex Uhungarumlaut -50 +KPX Acircumflex Umacron -50 +KPX Acircumflex Uogonek -50 +KPX Acircumflex Uring -50 +KPX Acircumflex V -145 +KPX Acircumflex W -130 +KPX Acircumflex Y -100 +KPX Acircumflex Yacute -100 +KPX Acircumflex Ydieresis -100 +KPX Acircumflex p -25 +KPX Acircumflex quoteright -74 +KPX Acircumflex u -50 +KPX Acircumflex uacute -50 +KPX Acircumflex ucircumflex -50 +KPX Acircumflex udieresis -50 +KPX Acircumflex ugrave -50 +KPX Acircumflex uhungarumlaut -50 +KPX Acircumflex umacron -50 +KPX Acircumflex uogonek -50 +KPX Acircumflex uring -50 +KPX Acircumflex v -100 +KPX Acircumflex w -90 +KPX Acircumflex y -74 +KPX Acircumflex yacute -74 +KPX Acircumflex ydieresis -74 +KPX Adieresis C -55 +KPX Adieresis Cacute -55 +KPX Adieresis Ccaron -55 +KPX Adieresis Ccedilla -55 +KPX Adieresis G -55 +KPX Adieresis Gbreve -55 +KPX Adieresis Gcommaaccent -55 +KPX Adieresis O -45 +KPX Adieresis Oacute -45 +KPX Adieresis Ocircumflex -45 +KPX Adieresis Odieresis -45 +KPX Adieresis Ograve -45 +KPX Adieresis Ohungarumlaut -45 +KPX Adieresis Omacron -45 +KPX Adieresis Oslash -45 +KPX Adieresis Otilde -45 +KPX Adieresis Q -45 +KPX Adieresis T -95 +KPX Adieresis Tcaron -95 +KPX Adieresis Tcommaaccent -95 +KPX Adieresis U -50 +KPX Adieresis Uacute -50 +KPX Adieresis Ucircumflex -50 +KPX Adieresis Udieresis -50 +KPX Adieresis Ugrave -50 +KPX Adieresis Uhungarumlaut -50 +KPX Adieresis Umacron -50 +KPX Adieresis Uogonek -50 +KPX Adieresis Uring -50 +KPX Adieresis V -145 +KPX Adieresis W -130 +KPX Adieresis Y -100 +KPX Adieresis Yacute -100 +KPX Adieresis Ydieresis -100 +KPX Adieresis p -25 +KPX Adieresis quoteright -74 +KPX Adieresis u -50 +KPX Adieresis uacute -50 +KPX Adieresis ucircumflex -50 +KPX Adieresis udieresis -50 +KPX Adieresis ugrave -50 +KPX Adieresis uhungarumlaut -50 +KPX Adieresis umacron -50 +KPX Adieresis uogonek -50 +KPX Adieresis uring -50 +KPX Adieresis v -100 +KPX Adieresis w -90 +KPX Adieresis y -74 +KPX Adieresis yacute -74 +KPX Adieresis ydieresis -74 +KPX Agrave C -55 +KPX Agrave Cacute -55 +KPX Agrave Ccaron -55 +KPX Agrave Ccedilla -55 +KPX Agrave G -55 +KPX Agrave Gbreve -55 +KPX Agrave Gcommaaccent -55 +KPX Agrave O -45 +KPX Agrave Oacute -45 +KPX Agrave Ocircumflex -45 +KPX Agrave Odieresis -45 +KPX Agrave Ograve -45 +KPX Agrave Ohungarumlaut -45 +KPX Agrave Omacron -45 +KPX Agrave Oslash -45 +KPX Agrave Otilde -45 +KPX Agrave Q -45 +KPX Agrave T -95 +KPX Agrave Tcaron -95 +KPX Agrave Tcommaaccent -95 +KPX Agrave U -50 +KPX Agrave Uacute -50 +KPX Agrave Ucircumflex -50 +KPX Agrave Udieresis -50 +KPX Agrave Ugrave -50 +KPX Agrave Uhungarumlaut -50 +KPX Agrave Umacron -50 +KPX Agrave Uogonek -50 +KPX Agrave Uring -50 +KPX Agrave V -145 +KPX Agrave W -130 +KPX Agrave Y -100 +KPX Agrave Yacute -100 +KPX Agrave Ydieresis -100 +KPX Agrave p -25 +KPX Agrave quoteright -74 +KPX Agrave u -50 +KPX Agrave uacute -50 +KPX Agrave ucircumflex -50 +KPX Agrave udieresis -50 +KPX Agrave ugrave -50 +KPX Agrave uhungarumlaut -50 +KPX Agrave umacron -50 +KPX Agrave uogonek -50 +KPX Agrave uring -50 +KPX Agrave v -100 +KPX Agrave w -90 +KPX Agrave y -74 +KPX Agrave yacute -74 +KPX Agrave ydieresis -74 +KPX Amacron C -55 +KPX Amacron Cacute -55 +KPX Amacron Ccaron -55 +KPX Amacron Ccedilla -55 +KPX Amacron G -55 +KPX Amacron Gbreve -55 +KPX Amacron Gcommaaccent -55 +KPX Amacron O -45 +KPX Amacron Oacute -45 +KPX Amacron Ocircumflex -45 +KPX Amacron Odieresis -45 +KPX Amacron Ograve -45 +KPX Amacron Ohungarumlaut -45 +KPX Amacron Omacron -45 +KPX Amacron Oslash -45 +KPX Amacron Otilde -45 +KPX Amacron Q -45 +KPX Amacron T -95 +KPX Amacron Tcaron -95 +KPX Amacron Tcommaaccent -95 +KPX Amacron U -50 +KPX Amacron Uacute -50 +KPX Amacron Ucircumflex -50 +KPX Amacron Udieresis -50 +KPX Amacron Ugrave -50 +KPX Amacron Uhungarumlaut -50 +KPX Amacron Umacron -50 +KPX Amacron Uogonek -50 +KPX Amacron Uring -50 +KPX Amacron V -145 +KPX Amacron W -130 +KPX Amacron Y -100 +KPX Amacron Yacute -100 +KPX Amacron Ydieresis -100 +KPX Amacron p -25 +KPX Amacron quoteright -74 +KPX Amacron u -50 +KPX Amacron uacute -50 +KPX Amacron ucircumflex -50 +KPX Amacron udieresis -50 +KPX Amacron ugrave -50 +KPX Amacron uhungarumlaut -50 +KPX Amacron umacron -50 +KPX Amacron uogonek -50 +KPX Amacron uring -50 +KPX Amacron v -100 +KPX Amacron w -90 +KPX Amacron y -74 +KPX Amacron yacute -74 +KPX Amacron ydieresis -74 +KPX Aogonek C -55 +KPX Aogonek Cacute -55 +KPX Aogonek Ccaron -55 +KPX Aogonek Ccedilla -55 +KPX Aogonek G -55 +KPX Aogonek Gbreve -55 +KPX Aogonek Gcommaaccent -55 +KPX Aogonek O -45 +KPX Aogonek Oacute -45 +KPX Aogonek Ocircumflex -45 +KPX Aogonek Odieresis -45 +KPX Aogonek Ograve -45 +KPX Aogonek Ohungarumlaut -45 +KPX Aogonek Omacron -45 +KPX Aogonek Oslash -45 +KPX Aogonek Otilde -45 +KPX Aogonek Q -45 +KPX Aogonek T -95 +KPX Aogonek Tcaron -95 +KPX Aogonek Tcommaaccent -95 +KPX Aogonek U -50 +KPX Aogonek Uacute -50 +KPX Aogonek Ucircumflex -50 +KPX Aogonek Udieresis -50 +KPX Aogonek Ugrave -50 +KPX Aogonek Uhungarumlaut -50 +KPX Aogonek Umacron -50 +KPX Aogonek Uogonek -50 +KPX Aogonek Uring -50 +KPX Aogonek V -145 +KPX Aogonek W -130 +KPX Aogonek Y -100 +KPX Aogonek Yacute -100 +KPX Aogonek Ydieresis -100 +KPX Aogonek p -25 +KPX Aogonek quoteright -74 +KPX Aogonek u -50 +KPX Aogonek uacute -50 +KPX Aogonek ucircumflex -50 +KPX Aogonek udieresis -50 +KPX Aogonek ugrave -50 +KPX Aogonek uhungarumlaut -50 +KPX Aogonek umacron -50 +KPX Aogonek uogonek -50 +KPX Aogonek uring -50 +KPX Aogonek v -100 +KPX Aogonek w -90 +KPX Aogonek y -34 +KPX Aogonek yacute -34 +KPX Aogonek ydieresis -34 +KPX Aring C -55 +KPX Aring Cacute -55 +KPX Aring Ccaron -55 +KPX Aring Ccedilla -55 +KPX Aring G -55 +KPX Aring Gbreve -55 +KPX Aring Gcommaaccent -55 +KPX Aring O -45 +KPX Aring Oacute -45 +KPX Aring Ocircumflex -45 +KPX Aring Odieresis -45 +KPX Aring Ograve -45 +KPX Aring Ohungarumlaut -45 +KPX Aring Omacron -45 +KPX Aring Oslash -45 +KPX Aring Otilde -45 +KPX Aring Q -45 +KPX Aring T -95 +KPX Aring Tcaron -95 +KPX Aring Tcommaaccent -95 +KPX Aring U -50 +KPX Aring Uacute -50 +KPX Aring Ucircumflex -50 +KPX Aring Udieresis -50 +KPX Aring Ugrave -50 +KPX Aring Uhungarumlaut -50 +KPX Aring Umacron -50 +KPX Aring Uogonek -50 +KPX Aring Uring -50 +KPX Aring V -145 +KPX Aring W -130 +KPX Aring Y -100 +KPX Aring Yacute -100 +KPX Aring Ydieresis -100 +KPX Aring p -25 +KPX Aring quoteright -74 +KPX Aring u -50 +KPX Aring uacute -50 +KPX Aring ucircumflex -50 +KPX Aring udieresis -50 +KPX Aring ugrave -50 +KPX Aring uhungarumlaut -50 +KPX Aring umacron -50 +KPX Aring uogonek -50 +KPX Aring uring -50 +KPX Aring v -100 +KPX Aring w -90 +KPX Aring y -74 +KPX Aring yacute -74 +KPX Aring ydieresis -74 +KPX Atilde C -55 +KPX Atilde Cacute -55 +KPX Atilde Ccaron -55 +KPX Atilde Ccedilla -55 +KPX Atilde G -55 +KPX Atilde Gbreve -55 +KPX Atilde Gcommaaccent -55 +KPX Atilde O -45 +KPX Atilde Oacute -45 +KPX Atilde Ocircumflex -45 +KPX Atilde Odieresis -45 +KPX Atilde Ograve -45 +KPX Atilde Ohungarumlaut -45 +KPX Atilde Omacron -45 +KPX Atilde Oslash -45 +KPX Atilde Otilde -45 +KPX Atilde Q -45 +KPX Atilde T -95 +KPX Atilde Tcaron -95 +KPX Atilde Tcommaaccent -95 +KPX Atilde U -50 +KPX Atilde Uacute -50 +KPX Atilde Ucircumflex -50 +KPX Atilde Udieresis -50 +KPX Atilde Ugrave -50 +KPX Atilde Uhungarumlaut -50 +KPX Atilde Umacron -50 +KPX Atilde Uogonek -50 +KPX Atilde Uring -50 +KPX Atilde V -145 +KPX Atilde W -130 +KPX Atilde Y -100 +KPX Atilde Yacute -100 +KPX Atilde Ydieresis -100 +KPX Atilde p -25 +KPX Atilde quoteright -74 +KPX Atilde u -50 +KPX Atilde uacute -50 +KPX Atilde ucircumflex -50 +KPX Atilde udieresis -50 +KPX Atilde ugrave -50 +KPX Atilde uhungarumlaut -50 +KPX Atilde umacron -50 +KPX Atilde uogonek -50 +KPX Atilde uring -50 +KPX Atilde v -100 +KPX Atilde w -90 +KPX Atilde y -74 +KPX Atilde yacute -74 +KPX Atilde ydieresis -74 +KPX B A -30 +KPX B Aacute -30 +KPX B Abreve -30 +KPX B Acircumflex -30 +KPX B Adieresis -30 +KPX B Agrave -30 +KPX B Amacron -30 +KPX B Aogonek -30 +KPX B Aring -30 +KPX B Atilde -30 +KPX B U -10 +KPX B Uacute -10 +KPX B Ucircumflex -10 +KPX B Udieresis -10 +KPX B Ugrave -10 +KPX B Uhungarumlaut -10 +KPX B Umacron -10 +KPX B Uogonek -10 +KPX B Uring -10 +KPX D A -35 +KPX D Aacute -35 +KPX D Abreve -35 +KPX D Acircumflex -35 +KPX D Adieresis -35 +KPX D Agrave -35 +KPX D Amacron -35 +KPX D Aogonek -35 +KPX D Aring -35 +KPX D Atilde -35 +KPX D V -40 +KPX D W -40 +KPX D Y -40 +KPX D Yacute -40 +KPX D Ydieresis -40 +KPX D period -20 +KPX Dcaron A -35 +KPX Dcaron Aacute -35 +KPX Dcaron Abreve -35 +KPX Dcaron Acircumflex -35 +KPX Dcaron Adieresis -35 +KPX Dcaron Agrave -35 +KPX Dcaron Amacron -35 +KPX Dcaron Aogonek -35 +KPX Dcaron Aring -35 +KPX Dcaron Atilde -35 +KPX Dcaron V -40 +KPX Dcaron W -40 +KPX Dcaron Y -40 +KPX Dcaron Yacute -40 +KPX Dcaron Ydieresis -40 +KPX Dcaron period -20 +KPX Dcroat A -35 +KPX Dcroat Aacute -35 +KPX Dcroat Abreve -35 +KPX Dcroat Acircumflex -35 +KPX Dcroat Adieresis -35 +KPX Dcroat Agrave -35 +KPX Dcroat Amacron -35 +KPX Dcroat Aogonek -35 +KPX Dcroat Aring -35 +KPX Dcroat Atilde -35 +KPX Dcroat V -40 +KPX Dcroat W -40 +KPX Dcroat Y -40 +KPX Dcroat Yacute -40 +KPX Dcroat Ydieresis -40 +KPX Dcroat period -20 +KPX F A -90 +KPX F Aacute -90 +KPX F Abreve -90 +KPX F Acircumflex -90 +KPX F Adieresis -90 +KPX F Agrave -90 +KPX F Amacron -90 +KPX F Aogonek -90 +KPX F Aring -90 +KPX F Atilde -90 +KPX F a -25 +KPX F aacute -25 +KPX F abreve -25 +KPX F acircumflex -25 +KPX F adieresis -25 +KPX F agrave -25 +KPX F amacron -25 +KPX F aogonek -25 +KPX F aring -25 +KPX F atilde -25 +KPX F comma -92 +KPX F e -25 +KPX F eacute -25 +KPX F ecaron -25 +KPX F ecircumflex -25 +KPX F edieresis -25 +KPX F edotaccent -25 +KPX F egrave -25 +KPX F emacron -25 +KPX F eogonek -25 +KPX F o -25 +KPX F oacute -25 +KPX F ocircumflex -25 +KPX F odieresis -25 +KPX F ograve -25 +KPX F ohungarumlaut -25 +KPX F omacron -25 +KPX F oslash -25 +KPX F otilde -25 +KPX F period -110 +KPX J A -30 +KPX J Aacute -30 +KPX J Abreve -30 +KPX J Acircumflex -30 +KPX J Adieresis -30 +KPX J Agrave -30 +KPX J Amacron -30 +KPX J Aogonek -30 +KPX J Aring -30 +KPX J Atilde -30 +KPX J a -15 +KPX J aacute -15 +KPX J abreve -15 +KPX J acircumflex -15 +KPX J adieresis -15 +KPX J agrave -15 +KPX J amacron -15 +KPX J aogonek -15 +KPX J aring -15 +KPX J atilde -15 +KPX J e -15 +KPX J eacute -15 +KPX J ecaron -15 +KPX J ecircumflex -15 +KPX J edieresis -15 +KPX J edotaccent -15 +KPX J egrave -15 +KPX J emacron -15 +KPX J eogonek -15 +KPX J o -15 +KPX J oacute -15 +KPX J ocircumflex -15 +KPX J odieresis -15 +KPX J ograve -15 +KPX J ohungarumlaut -15 +KPX J omacron -15 +KPX J oslash -15 +KPX J otilde -15 +KPX J period -20 +KPX J u -15 +KPX J uacute -15 +KPX J ucircumflex -15 +KPX J udieresis -15 +KPX J ugrave -15 +KPX J uhungarumlaut -15 +KPX J umacron -15 +KPX J uogonek -15 +KPX J uring -15 +KPX K O -30 +KPX K Oacute -30 +KPX K Ocircumflex -30 +KPX K Odieresis -30 +KPX K Ograve -30 +KPX K Ohungarumlaut -30 +KPX K Omacron -30 +KPX K Oslash -30 +KPX K Otilde -30 +KPX K e -25 +KPX K eacute -25 +KPX K ecaron -25 +KPX K ecircumflex -25 +KPX K edieresis -25 +KPX K edotaccent -25 +KPX K egrave -25 +KPX K emacron -25 +KPX K eogonek -25 +KPX K o -25 +KPX K oacute -25 +KPX K ocircumflex -25 +KPX K odieresis -25 +KPX K ograve -25 +KPX K ohungarumlaut -25 +KPX K omacron -25 +KPX K oslash -25 +KPX K otilde -25 +KPX K u -15 +KPX K uacute -15 +KPX K ucircumflex -15 +KPX K udieresis -15 +KPX K ugrave -15 +KPX K uhungarumlaut -15 +KPX K umacron -15 +KPX K uogonek -15 +KPX K uring -15 +KPX K y -45 +KPX K yacute -45 +KPX K ydieresis -45 +KPX Kcommaaccent O -30 +KPX Kcommaaccent Oacute -30 +KPX Kcommaaccent Ocircumflex -30 +KPX Kcommaaccent Odieresis -30 +KPX Kcommaaccent Ograve -30 +KPX Kcommaaccent Ohungarumlaut -30 +KPX Kcommaaccent Omacron -30 +KPX Kcommaaccent Oslash -30 +KPX Kcommaaccent Otilde -30 +KPX Kcommaaccent e -25 +KPX Kcommaaccent eacute -25 +KPX Kcommaaccent ecaron -25 +KPX Kcommaaccent ecircumflex -25 +KPX Kcommaaccent edieresis -25 +KPX Kcommaaccent edotaccent -25 +KPX Kcommaaccent egrave -25 +KPX Kcommaaccent emacron -25 +KPX Kcommaaccent eogonek -25 +KPX Kcommaaccent o -25 +KPX Kcommaaccent oacute -25 +KPX Kcommaaccent ocircumflex -25 +KPX Kcommaaccent odieresis -25 +KPX Kcommaaccent ograve -25 +KPX Kcommaaccent ohungarumlaut -25 +KPX Kcommaaccent omacron -25 +KPX Kcommaaccent oslash -25 +KPX Kcommaaccent otilde -25 +KPX Kcommaaccent u -15 +KPX Kcommaaccent uacute -15 +KPX Kcommaaccent ucircumflex -15 +KPX Kcommaaccent udieresis -15 +KPX Kcommaaccent ugrave -15 +KPX Kcommaaccent uhungarumlaut -15 +KPX Kcommaaccent umacron -15 +KPX Kcommaaccent uogonek -15 +KPX Kcommaaccent uring -15 +KPX Kcommaaccent y -45 +KPX Kcommaaccent yacute -45 +KPX Kcommaaccent ydieresis -45 +KPX L T -92 +KPX L Tcaron -92 +KPX L Tcommaaccent -92 +KPX L V -92 +KPX L W -92 +KPX L Y -92 +KPX L Yacute -92 +KPX L Ydieresis -92 +KPX L quotedblright -20 +KPX L quoteright -110 +KPX L y -55 +KPX L yacute -55 +KPX L ydieresis -55 +KPX Lacute T -92 +KPX Lacute Tcaron -92 +KPX Lacute Tcommaaccent -92 +KPX Lacute V -92 +KPX Lacute W -92 +KPX Lacute Y -92 +KPX Lacute Yacute -92 +KPX Lacute Ydieresis -92 +KPX Lacute quotedblright -20 +KPX Lacute quoteright -110 +KPX Lacute y -55 +KPX Lacute yacute -55 +KPX Lacute ydieresis -55 +KPX Lcommaaccent T -92 +KPX Lcommaaccent Tcaron -92 +KPX Lcommaaccent Tcommaaccent -92 +KPX Lcommaaccent V -92 +KPX Lcommaaccent W -92 +KPX Lcommaaccent Y -92 +KPX Lcommaaccent Yacute -92 +KPX Lcommaaccent Ydieresis -92 +KPX Lcommaaccent quotedblright -20 +KPX Lcommaaccent quoteright -110 +KPX Lcommaaccent y -55 +KPX Lcommaaccent yacute -55 +KPX Lcommaaccent ydieresis -55 +KPX Lslash T -92 +KPX Lslash Tcaron -92 +KPX Lslash Tcommaaccent -92 +KPX Lslash V -92 +KPX Lslash W -92 +KPX Lslash Y -92 +KPX Lslash Yacute -92 +KPX Lslash Ydieresis -92 +KPX Lslash quotedblright -20 +KPX Lslash quoteright -110 +KPX Lslash y -55 +KPX Lslash yacute -55 +KPX Lslash ydieresis -55 +KPX N A -20 +KPX N Aacute -20 +KPX N Abreve -20 +KPX N Acircumflex -20 +KPX N Adieresis -20 +KPX N Agrave -20 +KPX N Amacron -20 +KPX N Aogonek -20 +KPX N Aring -20 +KPX N Atilde -20 +KPX Nacute A -20 +KPX Nacute Aacute -20 +KPX Nacute Abreve -20 +KPX Nacute Acircumflex -20 +KPX Nacute Adieresis -20 +KPX Nacute Agrave -20 +KPX Nacute Amacron -20 +KPX Nacute Aogonek -20 +KPX Nacute Aring -20 +KPX Nacute Atilde -20 +KPX Ncaron A -20 +KPX Ncaron Aacute -20 +KPX Ncaron Abreve -20 +KPX Ncaron Acircumflex -20 +KPX Ncaron Adieresis -20 +KPX Ncaron Agrave -20 +KPX Ncaron Amacron -20 +KPX Ncaron Aogonek -20 +KPX Ncaron Aring -20 +KPX Ncaron Atilde -20 +KPX Ncommaaccent A -20 +KPX Ncommaaccent Aacute -20 +KPX Ncommaaccent Abreve -20 +KPX Ncommaaccent Acircumflex -20 +KPX Ncommaaccent Adieresis -20 +KPX Ncommaaccent Agrave -20 +KPX Ncommaaccent Amacron -20 +KPX Ncommaaccent Aogonek -20 +KPX Ncommaaccent Aring -20 +KPX Ncommaaccent Atilde -20 +KPX Ntilde A -20 +KPX Ntilde Aacute -20 +KPX Ntilde Abreve -20 +KPX Ntilde Acircumflex -20 +KPX Ntilde Adieresis -20 +KPX Ntilde Agrave -20 +KPX Ntilde Amacron -20 +KPX Ntilde Aogonek -20 +KPX Ntilde Aring -20 +KPX Ntilde Atilde -20 +KPX O A -40 +KPX O Aacute -40 +KPX O Abreve -40 +KPX O Acircumflex -40 +KPX O Adieresis -40 +KPX O Agrave -40 +KPX O Amacron -40 +KPX O Aogonek -40 +KPX O Aring -40 +KPX O Atilde -40 +KPX O T -40 +KPX O Tcaron -40 +KPX O Tcommaaccent -40 +KPX O V -50 +KPX O W -50 +KPX O X -40 +KPX O Y -50 +KPX O Yacute -50 +KPX O Ydieresis -50 +KPX Oacute A -40 +KPX Oacute Aacute -40 +KPX Oacute Abreve -40 +KPX Oacute Acircumflex -40 +KPX Oacute Adieresis -40 +KPX Oacute Agrave -40 +KPX Oacute Amacron -40 +KPX Oacute Aogonek -40 +KPX Oacute Aring -40 +KPX Oacute Atilde -40 +KPX Oacute T -40 +KPX Oacute Tcaron -40 +KPX Oacute Tcommaaccent -40 +KPX Oacute V -50 +KPX Oacute W -50 +KPX Oacute X -40 +KPX Oacute Y -50 +KPX Oacute Yacute -50 +KPX Oacute Ydieresis -50 +KPX Ocircumflex A -40 +KPX Ocircumflex Aacute -40 +KPX Ocircumflex Abreve -40 +KPX Ocircumflex Acircumflex -40 +KPX Ocircumflex Adieresis -40 +KPX Ocircumflex Agrave -40 +KPX Ocircumflex Amacron -40 +KPX Ocircumflex Aogonek -40 +KPX Ocircumflex Aring -40 +KPX Ocircumflex Atilde -40 +KPX Ocircumflex T -40 +KPX Ocircumflex Tcaron -40 +KPX Ocircumflex Tcommaaccent -40 +KPX Ocircumflex V -50 +KPX Ocircumflex W -50 +KPX Ocircumflex X -40 +KPX Ocircumflex Y -50 +KPX Ocircumflex Yacute -50 +KPX Ocircumflex Ydieresis -50 +KPX Odieresis A -40 +KPX Odieresis Aacute -40 +KPX Odieresis Abreve -40 +KPX Odieresis Acircumflex -40 +KPX Odieresis Adieresis -40 +KPX Odieresis Agrave -40 +KPX Odieresis Amacron -40 +KPX Odieresis Aogonek -40 +KPX Odieresis Aring -40 +KPX Odieresis Atilde -40 +KPX Odieresis T -40 +KPX Odieresis Tcaron -40 +KPX Odieresis Tcommaaccent -40 +KPX Odieresis V -50 +KPX Odieresis W -50 +KPX Odieresis X -40 +KPX Odieresis Y -50 +KPX Odieresis Yacute -50 +KPX Odieresis Ydieresis -50 +KPX Ograve A -40 +KPX Ograve Aacute -40 +KPX Ograve Abreve -40 +KPX Ograve Acircumflex -40 +KPX Ograve Adieresis -40 +KPX Ograve Agrave -40 +KPX Ograve Amacron -40 +KPX Ograve Aogonek -40 +KPX Ograve Aring -40 +KPX Ograve Atilde -40 +KPX Ograve T -40 +KPX Ograve Tcaron -40 +KPX Ograve Tcommaaccent -40 +KPX Ograve V -50 +KPX Ograve W -50 +KPX Ograve X -40 +KPX Ograve Y -50 +KPX Ograve Yacute -50 +KPX Ograve Ydieresis -50 +KPX Ohungarumlaut A -40 +KPX Ohungarumlaut Aacute -40 +KPX Ohungarumlaut Abreve -40 +KPX Ohungarumlaut Acircumflex -40 +KPX Ohungarumlaut Adieresis -40 +KPX Ohungarumlaut Agrave -40 +KPX Ohungarumlaut Amacron -40 +KPX Ohungarumlaut Aogonek -40 +KPX Ohungarumlaut Aring -40 +KPX Ohungarumlaut Atilde -40 +KPX Ohungarumlaut T -40 +KPX Ohungarumlaut Tcaron -40 +KPX Ohungarumlaut Tcommaaccent -40 +KPX Ohungarumlaut V -50 +KPX Ohungarumlaut W -50 +KPX Ohungarumlaut X -40 +KPX Ohungarumlaut Y -50 +KPX Ohungarumlaut Yacute -50 +KPX Ohungarumlaut Ydieresis -50 +KPX Omacron A -40 +KPX Omacron Aacute -40 +KPX Omacron Abreve -40 +KPX Omacron Acircumflex -40 +KPX Omacron Adieresis -40 +KPX Omacron Agrave -40 +KPX Omacron Amacron -40 +KPX Omacron Aogonek -40 +KPX Omacron Aring -40 +KPX Omacron Atilde -40 +KPX Omacron T -40 +KPX Omacron Tcaron -40 +KPX Omacron Tcommaaccent -40 +KPX Omacron V -50 +KPX Omacron W -50 +KPX Omacron X -40 +KPX Omacron Y -50 +KPX Omacron Yacute -50 +KPX Omacron Ydieresis -50 +KPX Oslash A -40 +KPX Oslash Aacute -40 +KPX Oslash Abreve -40 +KPX Oslash Acircumflex -40 +KPX Oslash Adieresis -40 +KPX Oslash Agrave -40 +KPX Oslash Amacron -40 +KPX Oslash Aogonek -40 +KPX Oslash Aring -40 +KPX Oslash Atilde -40 +KPX Oslash T -40 +KPX Oslash Tcaron -40 +KPX Oslash Tcommaaccent -40 +KPX Oslash V -50 +KPX Oslash W -50 +KPX Oslash X -40 +KPX Oslash Y -50 +KPX Oslash Yacute -50 +KPX Oslash Ydieresis -50 +KPX Otilde A -40 +KPX Otilde Aacute -40 +KPX Otilde Abreve -40 +KPX Otilde Acircumflex -40 +KPX Otilde Adieresis -40 +KPX Otilde Agrave -40 +KPX Otilde Amacron -40 +KPX Otilde Aogonek -40 +KPX Otilde Aring -40 +KPX Otilde Atilde -40 +KPX Otilde T -40 +KPX Otilde Tcaron -40 +KPX Otilde Tcommaaccent -40 +KPX Otilde V -50 +KPX Otilde W -50 +KPX Otilde X -40 +KPX Otilde Y -50 +KPX Otilde Yacute -50 +KPX Otilde Ydieresis -50 +KPX P A -74 +KPX P Aacute -74 +KPX P Abreve -74 +KPX P Acircumflex -74 +KPX P Adieresis -74 +KPX P Agrave -74 +KPX P Amacron -74 +KPX P Aogonek -74 +KPX P Aring -74 +KPX P Atilde -74 +KPX P a -10 +KPX P aacute -10 +KPX P abreve -10 +KPX P acircumflex -10 +KPX P adieresis -10 +KPX P agrave -10 +KPX P amacron -10 +KPX P aogonek -10 +KPX P aring -10 +KPX P atilde -10 +KPX P comma -92 +KPX P e -20 +KPX P eacute -20 +KPX P ecaron -20 +KPX P ecircumflex -20 +KPX P edieresis -20 +KPX P edotaccent -20 +KPX P egrave -20 +KPX P emacron -20 +KPX P eogonek -20 +KPX P o -20 +KPX P oacute -20 +KPX P ocircumflex -20 +KPX P odieresis -20 +KPX P ograve -20 +KPX P ohungarumlaut -20 +KPX P omacron -20 +KPX P oslash -20 +KPX P otilde -20 +KPX P period -110 +KPX Q U -10 +KPX Q Uacute -10 +KPX Q Ucircumflex -10 +KPX Q Udieresis -10 +KPX Q Ugrave -10 +KPX Q Uhungarumlaut -10 +KPX Q Umacron -10 +KPX Q Uogonek -10 +KPX Q Uring -10 +KPX Q period -20 +KPX R O -30 +KPX R Oacute -30 +KPX R Ocircumflex -30 +KPX R Odieresis -30 +KPX R Ograve -30 +KPX R Ohungarumlaut -30 +KPX R Omacron -30 +KPX R Oslash -30 +KPX R Otilde -30 +KPX R T -40 +KPX R Tcaron -40 +KPX R Tcommaaccent -40 +KPX R U -30 +KPX R Uacute -30 +KPX R Ucircumflex -30 +KPX R Udieresis -30 +KPX R Ugrave -30 +KPX R Uhungarumlaut -30 +KPX R Umacron -30 +KPX R Uogonek -30 +KPX R Uring -30 +KPX R V -55 +KPX R W -35 +KPX R Y -35 +KPX R Yacute -35 +KPX R Ydieresis -35 +KPX Racute O -30 +KPX Racute Oacute -30 +KPX Racute Ocircumflex -30 +KPX Racute Odieresis -30 +KPX Racute Ograve -30 +KPX Racute Ohungarumlaut -30 +KPX Racute Omacron -30 +KPX Racute Oslash -30 +KPX Racute Otilde -30 +KPX Racute T -40 +KPX Racute Tcaron -40 +KPX Racute Tcommaaccent -40 +KPX Racute U -30 +KPX Racute Uacute -30 +KPX Racute Ucircumflex -30 +KPX Racute Udieresis -30 +KPX Racute Ugrave -30 +KPX Racute Uhungarumlaut -30 +KPX Racute Umacron -30 +KPX Racute Uogonek -30 +KPX Racute Uring -30 +KPX Racute V -55 +KPX Racute W -35 +KPX Racute Y -35 +KPX Racute Yacute -35 +KPX Racute Ydieresis -35 +KPX Rcaron O -30 +KPX Rcaron Oacute -30 +KPX Rcaron Ocircumflex -30 +KPX Rcaron Odieresis -30 +KPX Rcaron Ograve -30 +KPX Rcaron Ohungarumlaut -30 +KPX Rcaron Omacron -30 +KPX Rcaron Oslash -30 +KPX Rcaron Otilde -30 +KPX Rcaron T -40 +KPX Rcaron Tcaron -40 +KPX Rcaron Tcommaaccent -40 +KPX Rcaron U -30 +KPX Rcaron Uacute -30 +KPX Rcaron Ucircumflex -30 +KPX Rcaron Udieresis -30 +KPX Rcaron Ugrave -30 +KPX Rcaron Uhungarumlaut -30 +KPX Rcaron Umacron -30 +KPX Rcaron Uogonek -30 +KPX Rcaron Uring -30 +KPX Rcaron V -55 +KPX Rcaron W -35 +KPX Rcaron Y -35 +KPX Rcaron Yacute -35 +KPX Rcaron Ydieresis -35 +KPX Rcommaaccent O -30 +KPX Rcommaaccent Oacute -30 +KPX Rcommaaccent Ocircumflex -30 +KPX Rcommaaccent Odieresis -30 +KPX Rcommaaccent Ograve -30 +KPX Rcommaaccent Ohungarumlaut -30 +KPX Rcommaaccent Omacron -30 +KPX Rcommaaccent Oslash -30 +KPX Rcommaaccent Otilde -30 +KPX Rcommaaccent T -40 +KPX Rcommaaccent Tcaron -40 +KPX Rcommaaccent Tcommaaccent -40 +KPX Rcommaaccent U -30 +KPX Rcommaaccent Uacute -30 +KPX Rcommaaccent Ucircumflex -30 +KPX Rcommaaccent Udieresis -30 +KPX Rcommaaccent Ugrave -30 +KPX Rcommaaccent Uhungarumlaut -30 +KPX Rcommaaccent Umacron -30 +KPX Rcommaaccent Uogonek -30 +KPX Rcommaaccent Uring -30 +KPX Rcommaaccent V -55 +KPX Rcommaaccent W -35 +KPX Rcommaaccent Y -35 +KPX Rcommaaccent Yacute -35 +KPX Rcommaaccent Ydieresis -35 +KPX T A -90 +KPX T Aacute -90 +KPX T Abreve -90 +KPX T Acircumflex -90 +KPX T Adieresis -90 +KPX T Agrave -90 +KPX T Amacron -90 +KPX T Aogonek -90 +KPX T Aring -90 +KPX T Atilde -90 +KPX T O -18 +KPX T Oacute -18 +KPX T Ocircumflex -18 +KPX T Odieresis -18 +KPX T Ograve -18 +KPX T Ohungarumlaut -18 +KPX T Omacron -18 +KPX T Oslash -18 +KPX T Otilde -18 +KPX T a -92 +KPX T aacute -92 +KPX T abreve -52 +KPX T acircumflex -52 +KPX T adieresis -52 +KPX T agrave -52 +KPX T amacron -52 +KPX T aogonek -92 +KPX T aring -92 +KPX T atilde -52 +KPX T colon -74 +KPX T comma -74 +KPX T e -92 +KPX T eacute -92 +KPX T ecaron -92 +KPX T ecircumflex -92 +KPX T edieresis -52 +KPX T edotaccent -92 +KPX T egrave -52 +KPX T emacron -52 +KPX T eogonek -92 +KPX T hyphen -92 +KPX T i -18 +KPX T iacute -18 +KPX T iogonek -18 +KPX T o -92 +KPX T oacute -92 +KPX T ocircumflex -92 +KPX T odieresis -92 +KPX T ograve -92 +KPX T ohungarumlaut -92 +KPX T omacron -92 +KPX T oslash -92 +KPX T otilde -92 +KPX T period -90 +KPX T r -74 +KPX T racute -74 +KPX T rcaron -74 +KPX T rcommaaccent -74 +KPX T semicolon -74 +KPX T u -92 +KPX T uacute -92 +KPX T ucircumflex -92 +KPX T udieresis -92 +KPX T ugrave -92 +KPX T uhungarumlaut -92 +KPX T umacron -92 +KPX T uogonek -92 +KPX T uring -92 +KPX T w -74 +KPX T y -34 +KPX T yacute -34 +KPX T ydieresis -34 +KPX Tcaron A -90 +KPX Tcaron Aacute -90 +KPX Tcaron Abreve -90 +KPX Tcaron Acircumflex -90 +KPX Tcaron Adieresis -90 +KPX Tcaron Agrave -90 +KPX Tcaron Amacron -90 +KPX Tcaron Aogonek -90 +KPX Tcaron Aring -90 +KPX Tcaron Atilde -90 +KPX Tcaron O -18 +KPX Tcaron Oacute -18 +KPX Tcaron Ocircumflex -18 +KPX Tcaron Odieresis -18 +KPX Tcaron Ograve -18 +KPX Tcaron Ohungarumlaut -18 +KPX Tcaron Omacron -18 +KPX Tcaron Oslash -18 +KPX Tcaron Otilde -18 +KPX Tcaron a -92 +KPX Tcaron aacute -92 +KPX Tcaron abreve -52 +KPX Tcaron acircumflex -52 +KPX Tcaron adieresis -52 +KPX Tcaron agrave -52 +KPX Tcaron amacron -52 +KPX Tcaron aogonek -92 +KPX Tcaron aring -92 +KPX Tcaron atilde -52 +KPX Tcaron colon -74 +KPX Tcaron comma -74 +KPX Tcaron e -92 +KPX Tcaron eacute -92 +KPX Tcaron ecaron -92 +KPX Tcaron ecircumflex -92 +KPX Tcaron edieresis -52 +KPX Tcaron edotaccent -92 +KPX Tcaron egrave -52 +KPX Tcaron emacron -52 +KPX Tcaron eogonek -92 +KPX Tcaron hyphen -92 +KPX Tcaron i -18 +KPX Tcaron iacute -18 +KPX Tcaron iogonek -18 +KPX Tcaron o -92 +KPX Tcaron oacute -92 +KPX Tcaron ocircumflex -92 +KPX Tcaron odieresis -92 +KPX Tcaron ograve -92 +KPX Tcaron ohungarumlaut -92 +KPX Tcaron omacron -92 +KPX Tcaron oslash -92 +KPX Tcaron otilde -92 +KPX Tcaron period -90 +KPX Tcaron r -74 +KPX Tcaron racute -74 +KPX Tcaron rcaron -74 +KPX Tcaron rcommaaccent -74 +KPX Tcaron semicolon -74 +KPX Tcaron u -92 +KPX Tcaron uacute -92 +KPX Tcaron ucircumflex -92 +KPX Tcaron udieresis -92 +KPX Tcaron ugrave -92 +KPX Tcaron uhungarumlaut -92 +KPX Tcaron umacron -92 +KPX Tcaron uogonek -92 +KPX Tcaron uring -92 +KPX Tcaron w -74 +KPX Tcaron y -34 +KPX Tcaron yacute -34 +KPX Tcaron ydieresis -34 +KPX Tcommaaccent A -90 +KPX Tcommaaccent Aacute -90 +KPX Tcommaaccent Abreve -90 +KPX Tcommaaccent Acircumflex -90 +KPX Tcommaaccent Adieresis -90 +KPX Tcommaaccent Agrave -90 +KPX Tcommaaccent Amacron -90 +KPX Tcommaaccent Aogonek -90 +KPX Tcommaaccent Aring -90 +KPX Tcommaaccent Atilde -90 +KPX Tcommaaccent O -18 +KPX Tcommaaccent Oacute -18 +KPX Tcommaaccent Ocircumflex -18 +KPX Tcommaaccent Odieresis -18 +KPX Tcommaaccent Ograve -18 +KPX Tcommaaccent Ohungarumlaut -18 +KPX Tcommaaccent Omacron -18 +KPX Tcommaaccent Oslash -18 +KPX Tcommaaccent Otilde -18 +KPX Tcommaaccent a -92 +KPX Tcommaaccent aacute -92 +KPX Tcommaaccent abreve -52 +KPX Tcommaaccent acircumflex -52 +KPX Tcommaaccent adieresis -52 +KPX Tcommaaccent agrave -52 +KPX Tcommaaccent amacron -52 +KPX Tcommaaccent aogonek -92 +KPX Tcommaaccent aring -92 +KPX Tcommaaccent atilde -52 +KPX Tcommaaccent colon -74 +KPX Tcommaaccent comma -74 +KPX Tcommaaccent e -92 +KPX Tcommaaccent eacute -92 +KPX Tcommaaccent ecaron -92 +KPX Tcommaaccent ecircumflex -92 +KPX Tcommaaccent edieresis -52 +KPX Tcommaaccent edotaccent -92 +KPX Tcommaaccent egrave -52 +KPX Tcommaaccent emacron -52 +KPX Tcommaaccent eogonek -92 +KPX Tcommaaccent hyphen -92 +KPX Tcommaaccent i -18 +KPX Tcommaaccent iacute -18 +KPX Tcommaaccent iogonek -18 +KPX Tcommaaccent o -92 +KPX Tcommaaccent oacute -92 +KPX Tcommaaccent ocircumflex -92 +KPX Tcommaaccent odieresis -92 +KPX Tcommaaccent ograve -92 +KPX Tcommaaccent ohungarumlaut -92 +KPX Tcommaaccent omacron -92 +KPX Tcommaaccent oslash -92 +KPX Tcommaaccent otilde -92 +KPX Tcommaaccent period -90 +KPX Tcommaaccent r -74 +KPX Tcommaaccent racute -74 +KPX Tcommaaccent rcaron -74 +KPX Tcommaaccent rcommaaccent -74 +KPX Tcommaaccent semicolon -74 +KPX Tcommaaccent u -92 +KPX Tcommaaccent uacute -92 +KPX Tcommaaccent ucircumflex -92 +KPX Tcommaaccent udieresis -92 +KPX Tcommaaccent ugrave -92 +KPX Tcommaaccent uhungarumlaut -92 +KPX Tcommaaccent umacron -92 +KPX Tcommaaccent uogonek -92 +KPX Tcommaaccent uring -92 +KPX Tcommaaccent w -74 +KPX Tcommaaccent y -34 +KPX Tcommaaccent yacute -34 +KPX Tcommaaccent ydieresis -34 +KPX U A -60 +KPX U Aacute -60 +KPX U Abreve -60 +KPX U Acircumflex -60 +KPX U Adieresis -60 +KPX U Agrave -60 +KPX U Amacron -60 +KPX U Aogonek -60 +KPX U Aring -60 +KPX U Atilde -60 +KPX U comma -50 +KPX U period -50 +KPX Uacute A -60 +KPX Uacute Aacute -60 +KPX Uacute Abreve -60 +KPX Uacute Acircumflex -60 +KPX Uacute Adieresis -60 +KPX Uacute Agrave -60 +KPX Uacute Amacron -60 +KPX Uacute Aogonek -60 +KPX Uacute Aring -60 +KPX Uacute Atilde -60 +KPX Uacute comma -50 +KPX Uacute period -50 +KPX Ucircumflex A -60 +KPX Ucircumflex Aacute -60 +KPX Ucircumflex Abreve -60 +KPX Ucircumflex Acircumflex -60 +KPX Ucircumflex Adieresis -60 +KPX Ucircumflex Agrave -60 +KPX Ucircumflex Amacron -60 +KPX Ucircumflex Aogonek -60 +KPX Ucircumflex Aring -60 +KPX Ucircumflex Atilde -60 +KPX Ucircumflex comma -50 +KPX Ucircumflex period -50 +KPX Udieresis A -60 +KPX Udieresis Aacute -60 +KPX Udieresis Abreve -60 +KPX Udieresis Acircumflex -60 +KPX Udieresis Adieresis -60 +KPX Udieresis Agrave -60 +KPX Udieresis Amacron -60 +KPX Udieresis Aogonek -60 +KPX Udieresis Aring -60 +KPX Udieresis Atilde -60 +KPX Udieresis comma -50 +KPX Udieresis period -50 +KPX Ugrave A -60 +KPX Ugrave Aacute -60 +KPX Ugrave Abreve -60 +KPX Ugrave Acircumflex -60 +KPX Ugrave Adieresis -60 +KPX Ugrave Agrave -60 +KPX Ugrave Amacron -60 +KPX Ugrave Aogonek -60 +KPX Ugrave Aring -60 +KPX Ugrave Atilde -60 +KPX Ugrave comma -50 +KPX Ugrave period -50 +KPX Uhungarumlaut A -60 +KPX Uhungarumlaut Aacute -60 +KPX Uhungarumlaut Abreve -60 +KPX Uhungarumlaut Acircumflex -60 +KPX Uhungarumlaut Adieresis -60 +KPX Uhungarumlaut Agrave -60 +KPX Uhungarumlaut Amacron -60 +KPX Uhungarumlaut Aogonek -60 +KPX Uhungarumlaut Aring -60 +KPX Uhungarumlaut Atilde -60 +KPX Uhungarumlaut comma -50 +KPX Uhungarumlaut period -50 +KPX Umacron A -60 +KPX Umacron Aacute -60 +KPX Umacron Abreve -60 +KPX Umacron Acircumflex -60 +KPX Umacron Adieresis -60 +KPX Umacron Agrave -60 +KPX Umacron Amacron -60 +KPX Umacron Aogonek -60 +KPX Umacron Aring -60 +KPX Umacron Atilde -60 +KPX Umacron comma -50 +KPX Umacron period -50 +KPX Uogonek A -60 +KPX Uogonek Aacute -60 +KPX Uogonek Abreve -60 +KPX Uogonek Acircumflex -60 +KPX Uogonek Adieresis -60 +KPX Uogonek Agrave -60 +KPX Uogonek Amacron -60 +KPX Uogonek Aogonek -60 +KPX Uogonek Aring -60 +KPX Uogonek Atilde -60 +KPX Uogonek comma -50 +KPX Uogonek period -50 +KPX Uring A -60 +KPX Uring Aacute -60 +KPX Uring Abreve -60 +KPX Uring Acircumflex -60 +KPX Uring Adieresis -60 +KPX Uring Agrave -60 +KPX Uring Amacron -60 +KPX Uring Aogonek -60 +KPX Uring Aring -60 +KPX Uring Atilde -60 +KPX Uring comma -50 +KPX Uring period -50 +KPX V A -135 +KPX V Aacute -135 +KPX V Abreve -135 +KPX V Acircumflex -135 +KPX V Adieresis -135 +KPX V Agrave -135 +KPX V Amacron -135 +KPX V Aogonek -135 +KPX V Aring -135 +KPX V Atilde -135 +KPX V G -30 +KPX V Gbreve -30 +KPX V Gcommaaccent -30 +KPX V O -45 +KPX V Oacute -45 +KPX V Ocircumflex -45 +KPX V Odieresis -45 +KPX V Ograve -45 +KPX V Ohungarumlaut -45 +KPX V Omacron -45 +KPX V Oslash -45 +KPX V Otilde -45 +KPX V a -92 +KPX V aacute -92 +KPX V abreve -92 +KPX V acircumflex -92 +KPX V adieresis -92 +KPX V agrave -92 +KPX V amacron -92 +KPX V aogonek -92 +KPX V aring -92 +KPX V atilde -92 +KPX V colon -92 +KPX V comma -129 +KPX V e -100 +KPX V eacute -100 +KPX V ecaron -100 +KPX V ecircumflex -100 +KPX V edieresis -100 +KPX V edotaccent -100 +KPX V egrave -100 +KPX V emacron -100 +KPX V eogonek -100 +KPX V hyphen -74 +KPX V i -37 +KPX V iacute -37 +KPX V icircumflex -37 +KPX V idieresis -37 +KPX V igrave -37 +KPX V imacron -37 +KPX V iogonek -37 +KPX V o -100 +KPX V oacute -100 +KPX V ocircumflex -100 +KPX V odieresis -100 +KPX V ograve -100 +KPX V ohungarumlaut -100 +KPX V omacron -100 +KPX V oslash -100 +KPX V otilde -100 +KPX V period -145 +KPX V semicolon -92 +KPX V u -92 +KPX V uacute -92 +KPX V ucircumflex -92 +KPX V udieresis -92 +KPX V ugrave -92 +KPX V uhungarumlaut -92 +KPX V umacron -92 +KPX V uogonek -92 +KPX V uring -92 +KPX W A -120 +KPX W Aacute -120 +KPX W Abreve -120 +KPX W Acircumflex -120 +KPX W Adieresis -120 +KPX W Agrave -120 +KPX W Amacron -120 +KPX W Aogonek -120 +KPX W Aring -120 +KPX W Atilde -120 +KPX W O -10 +KPX W Oacute -10 +KPX W Ocircumflex -10 +KPX W Odieresis -10 +KPX W Ograve -10 +KPX W Ohungarumlaut -10 +KPX W Omacron -10 +KPX W Oslash -10 +KPX W Otilde -10 +KPX W a -65 +KPX W aacute -65 +KPX W abreve -65 +KPX W acircumflex -65 +KPX W adieresis -65 +KPX W agrave -65 +KPX W amacron -65 +KPX W aogonek -65 +KPX W aring -65 +KPX W atilde -65 +KPX W colon -55 +KPX W comma -92 +KPX W e -65 +KPX W eacute -65 +KPX W ecaron -65 +KPX W ecircumflex -65 +KPX W edieresis -65 +KPX W edotaccent -65 +KPX W egrave -65 +KPX W emacron -65 +KPX W eogonek -65 +KPX W hyphen -37 +KPX W i -18 +KPX W iacute -18 +KPX W iogonek -18 +KPX W o -75 +KPX W oacute -75 +KPX W ocircumflex -75 +KPX W odieresis -75 +KPX W ograve -75 +KPX W ohungarumlaut -75 +KPX W omacron -75 +KPX W oslash -75 +KPX W otilde -75 +KPX W period -92 +KPX W semicolon -55 +KPX W u -50 +KPX W uacute -50 +KPX W ucircumflex -50 +KPX W udieresis -50 +KPX W ugrave -50 +KPX W uhungarumlaut -50 +KPX W umacron -50 +KPX W uogonek -50 +KPX W uring -50 +KPX W y -60 +KPX W yacute -60 +KPX W ydieresis -60 +KPX Y A -110 +KPX Y Aacute -110 +KPX Y Abreve -110 +KPX Y Acircumflex -110 +KPX Y Adieresis -110 +KPX Y Agrave -110 +KPX Y Amacron -110 +KPX Y Aogonek -110 +KPX Y Aring -110 +KPX Y Atilde -110 +KPX Y O -35 +KPX Y Oacute -35 +KPX Y Ocircumflex -35 +KPX Y Odieresis -35 +KPX Y Ograve -35 +KPX Y Ohungarumlaut -35 +KPX Y Omacron -35 +KPX Y Oslash -35 +KPX Y Otilde -35 +KPX Y a -85 +KPX Y aacute -85 +KPX Y abreve -85 +KPX Y acircumflex -85 +KPX Y adieresis -85 +KPX Y agrave -85 +KPX Y amacron -85 +KPX Y aogonek -85 +KPX Y aring -85 +KPX Y atilde -85 +KPX Y colon -92 +KPX Y comma -92 +KPX Y e -111 +KPX Y eacute -111 +KPX Y ecaron -111 +KPX Y ecircumflex -111 +KPX Y edieresis -71 +KPX Y edotaccent -111 +KPX Y egrave -71 +KPX Y emacron -71 +KPX Y eogonek -111 +KPX Y hyphen -92 +KPX Y i -37 +KPX Y iacute -37 +KPX Y iogonek -37 +KPX Y o -111 +KPX Y oacute -111 +KPX Y ocircumflex -111 +KPX Y odieresis -111 +KPX Y ograve -111 +KPX Y ohungarumlaut -111 +KPX Y omacron -111 +KPX Y oslash -111 +KPX Y otilde -111 +KPX Y period -92 +KPX Y semicolon -92 +KPX Y u -92 +KPX Y uacute -92 +KPX Y ucircumflex -92 +KPX Y udieresis -92 +KPX Y ugrave -92 +KPX Y uhungarumlaut -92 +KPX Y umacron -92 +KPX Y uogonek -92 +KPX Y uring -92 +KPX Yacute A -110 +KPX Yacute Aacute -110 +KPX Yacute Abreve -110 +KPX Yacute Acircumflex -110 +KPX Yacute Adieresis -110 +KPX Yacute Agrave -110 +KPX Yacute Amacron -110 +KPX Yacute Aogonek -110 +KPX Yacute Aring -110 +KPX Yacute Atilde -110 +KPX Yacute O -35 +KPX Yacute Oacute -35 +KPX Yacute Ocircumflex -35 +KPX Yacute Odieresis -35 +KPX Yacute Ograve -35 +KPX Yacute Ohungarumlaut -35 +KPX Yacute Omacron -35 +KPX Yacute Oslash -35 +KPX Yacute Otilde -35 +KPX Yacute a -85 +KPX Yacute aacute -85 +KPX Yacute abreve -85 +KPX Yacute acircumflex -85 +KPX Yacute adieresis -85 +KPX Yacute agrave -85 +KPX Yacute amacron -85 +KPX Yacute aogonek -85 +KPX Yacute aring -85 +KPX Yacute atilde -85 +KPX Yacute colon -92 +KPX Yacute comma -92 +KPX Yacute e -111 +KPX Yacute eacute -111 +KPX Yacute ecaron -111 +KPX Yacute ecircumflex -111 +KPX Yacute edieresis -71 +KPX Yacute edotaccent -111 +KPX Yacute egrave -71 +KPX Yacute emacron -71 +KPX Yacute eogonek -111 +KPX Yacute hyphen -92 +KPX Yacute i -37 +KPX Yacute iacute -37 +KPX Yacute iogonek -37 +KPX Yacute o -111 +KPX Yacute oacute -111 +KPX Yacute ocircumflex -111 +KPX Yacute odieresis -111 +KPX Yacute ograve -111 +KPX Yacute ohungarumlaut -111 +KPX Yacute omacron -111 +KPX Yacute oslash -111 +KPX Yacute otilde -111 +KPX Yacute period -92 +KPX Yacute semicolon -92 +KPX Yacute u -92 +KPX Yacute uacute -92 +KPX Yacute ucircumflex -92 +KPX Yacute udieresis -92 +KPX Yacute ugrave -92 +KPX Yacute uhungarumlaut -92 +KPX Yacute umacron -92 +KPX Yacute uogonek -92 +KPX Yacute uring -92 +KPX Ydieresis A -110 +KPX Ydieresis Aacute -110 +KPX Ydieresis Abreve -110 +KPX Ydieresis Acircumflex -110 +KPX Ydieresis Adieresis -110 +KPX Ydieresis Agrave -110 +KPX Ydieresis Amacron -110 +KPX Ydieresis Aogonek -110 +KPX Ydieresis Aring -110 +KPX Ydieresis Atilde -110 +KPX Ydieresis O -35 +KPX Ydieresis Oacute -35 +KPX Ydieresis Ocircumflex -35 +KPX Ydieresis Odieresis -35 +KPX Ydieresis Ograve -35 +KPX Ydieresis Ohungarumlaut -35 +KPX Ydieresis Omacron -35 +KPX Ydieresis Oslash -35 +KPX Ydieresis Otilde -35 +KPX Ydieresis a -85 +KPX Ydieresis aacute -85 +KPX Ydieresis abreve -85 +KPX Ydieresis acircumflex -85 +KPX Ydieresis adieresis -85 +KPX Ydieresis agrave -85 +KPX Ydieresis amacron -85 +KPX Ydieresis aogonek -85 +KPX Ydieresis aring -85 +KPX Ydieresis atilde -85 +KPX Ydieresis colon -92 +KPX Ydieresis comma -92 +KPX Ydieresis e -111 +KPX Ydieresis eacute -111 +KPX Ydieresis ecaron -111 +KPX Ydieresis ecircumflex -111 +KPX Ydieresis edieresis -71 +KPX Ydieresis edotaccent -111 +KPX Ydieresis egrave -71 +KPX Ydieresis emacron -71 +KPX Ydieresis eogonek -111 +KPX Ydieresis hyphen -92 +KPX Ydieresis i -37 +KPX Ydieresis iacute -37 +KPX Ydieresis iogonek -37 +KPX Ydieresis o -111 +KPX Ydieresis oacute -111 +KPX Ydieresis ocircumflex -111 +KPX Ydieresis odieresis -111 +KPX Ydieresis ograve -111 +KPX Ydieresis ohungarumlaut -111 +KPX Ydieresis omacron -111 +KPX Ydieresis oslash -111 +KPX Ydieresis otilde -111 +KPX Ydieresis period -92 +KPX Ydieresis semicolon -92 +KPX Ydieresis u -92 +KPX Ydieresis uacute -92 +KPX Ydieresis ucircumflex -92 +KPX Ydieresis udieresis -92 +KPX Ydieresis ugrave -92 +KPX Ydieresis uhungarumlaut -92 +KPX Ydieresis umacron -92 +KPX Ydieresis uogonek -92 +KPX Ydieresis uring -92 +KPX a v -25 +KPX aacute v -25 +KPX abreve v -25 +KPX acircumflex v -25 +KPX adieresis v -25 +KPX agrave v -25 +KPX amacron v -25 +KPX aogonek v -25 +KPX aring v -25 +KPX atilde v -25 +KPX b b -10 +KPX b period -40 +KPX b u -20 +KPX b uacute -20 +KPX b ucircumflex -20 +KPX b udieresis -20 +KPX b ugrave -20 +KPX b uhungarumlaut -20 +KPX b umacron -20 +KPX b uogonek -20 +KPX b uring -20 +KPX b v -15 +KPX comma quotedblright -45 +KPX comma quoteright -55 +KPX d w -15 +KPX dcroat w -15 +KPX e v -15 +KPX eacute v -15 +KPX ecaron v -15 +KPX ecircumflex v -15 +KPX edieresis v -15 +KPX edotaccent v -15 +KPX egrave v -15 +KPX emacron v -15 +KPX eogonek v -15 +KPX f comma -15 +KPX f dotlessi -35 +KPX f i -25 +KPX f o -25 +KPX f oacute -25 +KPX f ocircumflex -25 +KPX f odieresis -25 +KPX f ograve -25 +KPX f ohungarumlaut -25 +KPX f omacron -25 +KPX f oslash -25 +KPX f otilde -25 +KPX f period -15 +KPX f quotedblright 50 +KPX f quoteright 55 +KPX g period -15 +KPX gbreve period -15 +KPX gcommaaccent period -15 +KPX h y -15 +KPX h yacute -15 +KPX h ydieresis -15 +KPX i v -10 +KPX iacute v -10 +KPX icircumflex v -10 +KPX idieresis v -10 +KPX igrave v -10 +KPX imacron v -10 +KPX iogonek v -10 +KPX k e -10 +KPX k eacute -10 +KPX k ecaron -10 +KPX k ecircumflex -10 +KPX k edieresis -10 +KPX k edotaccent -10 +KPX k egrave -10 +KPX k emacron -10 +KPX k eogonek -10 +KPX k o -15 +KPX k oacute -15 +KPX k ocircumflex -15 +KPX k odieresis -15 +KPX k ograve -15 +KPX k ohungarumlaut -15 +KPX k omacron -15 +KPX k oslash -15 +KPX k otilde -15 +KPX k y -15 +KPX k yacute -15 +KPX k ydieresis -15 +KPX kcommaaccent e -10 +KPX kcommaaccent eacute -10 +KPX kcommaaccent ecaron -10 +KPX kcommaaccent ecircumflex -10 +KPX kcommaaccent edieresis -10 +KPX kcommaaccent edotaccent -10 +KPX kcommaaccent egrave -10 +KPX kcommaaccent emacron -10 +KPX kcommaaccent eogonek -10 +KPX kcommaaccent o -15 +KPX kcommaaccent oacute -15 +KPX kcommaaccent ocircumflex -15 +KPX kcommaaccent odieresis -15 +KPX kcommaaccent ograve -15 +KPX kcommaaccent ohungarumlaut -15 +KPX kcommaaccent omacron -15 +KPX kcommaaccent oslash -15 +KPX kcommaaccent otilde -15 +KPX kcommaaccent y -15 +KPX kcommaaccent yacute -15 +KPX kcommaaccent ydieresis -15 +KPX n v -40 +KPX nacute v -40 +KPX ncaron v -40 +KPX ncommaaccent v -40 +KPX ntilde v -40 +KPX o v -10 +KPX o w -10 +KPX oacute v -10 +KPX oacute w -10 +KPX ocircumflex v -10 +KPX ocircumflex w -10 +KPX odieresis v -10 +KPX odieresis w -10 +KPX ograve v -10 +KPX ograve w -10 +KPX ohungarumlaut v -10 +KPX ohungarumlaut w -10 +KPX omacron v -10 +KPX omacron w -10 +KPX oslash v -10 +KPX oslash w -10 +KPX otilde v -10 +KPX otilde w -10 +KPX period quotedblright -55 +KPX period quoteright -55 +KPX quotedblleft A -10 +KPX quotedblleft Aacute -10 +KPX quotedblleft Abreve -10 +KPX quotedblleft Acircumflex -10 +KPX quotedblleft Adieresis -10 +KPX quotedblleft Agrave -10 +KPX quotedblleft Amacron -10 +KPX quotedblleft Aogonek -10 +KPX quotedblleft Aring -10 +KPX quotedblleft Atilde -10 +KPX quoteleft A -10 +KPX quoteleft Aacute -10 +KPX quoteleft Abreve -10 +KPX quoteleft Acircumflex -10 +KPX quoteleft Adieresis -10 +KPX quoteleft Agrave -10 +KPX quoteleft Amacron -10 +KPX quoteleft Aogonek -10 +KPX quoteleft Aring -10 +KPX quoteleft Atilde -10 +KPX quoteleft quoteleft -63 +KPX quoteright d -20 +KPX quoteright dcroat -20 +KPX quoteright quoteright -63 +KPX quoteright r -20 +KPX quoteright racute -20 +KPX quoteright rcaron -20 +KPX quoteright rcommaaccent -20 +KPX quoteright s -37 +KPX quoteright sacute -37 +KPX quoteright scaron -37 +KPX quoteright scedilla -37 +KPX quoteright scommaaccent -37 +KPX quoteright space -74 +KPX quoteright v -20 +KPX r c -18 +KPX r cacute -18 +KPX r ccaron -18 +KPX r ccedilla -18 +KPX r comma -92 +KPX r e -18 +KPX r eacute -18 +KPX r ecaron -18 +KPX r ecircumflex -18 +KPX r edieresis -18 +KPX r edotaccent -18 +KPX r egrave -18 +KPX r emacron -18 +KPX r eogonek -18 +KPX r g -10 +KPX r gbreve -10 +KPX r gcommaaccent -10 +KPX r hyphen -37 +KPX r n -15 +KPX r nacute -15 +KPX r ncaron -15 +KPX r ncommaaccent -15 +KPX r ntilde -15 +KPX r o -18 +KPX r oacute -18 +KPX r ocircumflex -18 +KPX r odieresis -18 +KPX r ograve -18 +KPX r ohungarumlaut -18 +KPX r omacron -18 +KPX r oslash -18 +KPX r otilde -18 +KPX r p -10 +KPX r period -100 +KPX r q -18 +KPX r v -10 +KPX racute c -18 +KPX racute cacute -18 +KPX racute ccaron -18 +KPX racute ccedilla -18 +KPX racute comma -92 +KPX racute e -18 +KPX racute eacute -18 +KPX racute ecaron -18 +KPX racute ecircumflex -18 +KPX racute edieresis -18 +KPX racute edotaccent -18 +KPX racute egrave -18 +KPX racute emacron -18 +KPX racute eogonek -18 +KPX racute g -10 +KPX racute gbreve -10 +KPX racute gcommaaccent -10 +KPX racute hyphen -37 +KPX racute n -15 +KPX racute nacute -15 +KPX racute ncaron -15 +KPX racute ncommaaccent -15 +KPX racute ntilde -15 +KPX racute o -18 +KPX racute oacute -18 +KPX racute ocircumflex -18 +KPX racute odieresis -18 +KPX racute ograve -18 +KPX racute ohungarumlaut -18 +KPX racute omacron -18 +KPX racute oslash -18 +KPX racute otilde -18 +KPX racute p -10 +KPX racute period -100 +KPX racute q -18 +KPX racute v -10 +KPX rcaron c -18 +KPX rcaron cacute -18 +KPX rcaron ccaron -18 +KPX rcaron ccedilla -18 +KPX rcaron comma -92 +KPX rcaron e -18 +KPX rcaron eacute -18 +KPX rcaron ecaron -18 +KPX rcaron ecircumflex -18 +KPX rcaron edieresis -18 +KPX rcaron edotaccent -18 +KPX rcaron egrave -18 +KPX rcaron emacron -18 +KPX rcaron eogonek -18 +KPX rcaron g -10 +KPX rcaron gbreve -10 +KPX rcaron gcommaaccent -10 +KPX rcaron hyphen -37 +KPX rcaron n -15 +KPX rcaron nacute -15 +KPX rcaron ncaron -15 +KPX rcaron ncommaaccent -15 +KPX rcaron ntilde -15 +KPX rcaron o -18 +KPX rcaron oacute -18 +KPX rcaron ocircumflex -18 +KPX rcaron odieresis -18 +KPX rcaron ograve -18 +KPX rcaron ohungarumlaut -18 +KPX rcaron omacron -18 +KPX rcaron oslash -18 +KPX rcaron otilde -18 +KPX rcaron p -10 +KPX rcaron period -100 +KPX rcaron q -18 +KPX rcaron v -10 +KPX rcommaaccent c -18 +KPX rcommaaccent cacute -18 +KPX rcommaaccent ccaron -18 +KPX rcommaaccent ccedilla -18 +KPX rcommaaccent comma -92 +KPX rcommaaccent e -18 +KPX rcommaaccent eacute -18 +KPX rcommaaccent ecaron -18 +KPX rcommaaccent ecircumflex -18 +KPX rcommaaccent edieresis -18 +KPX rcommaaccent edotaccent -18 +KPX rcommaaccent egrave -18 +KPX rcommaaccent emacron -18 +KPX rcommaaccent eogonek -18 +KPX rcommaaccent g -10 +KPX rcommaaccent gbreve -10 +KPX rcommaaccent gcommaaccent -10 +KPX rcommaaccent hyphen -37 +KPX rcommaaccent n -15 +KPX rcommaaccent nacute -15 +KPX rcommaaccent ncaron -15 +KPX rcommaaccent ncommaaccent -15 +KPX rcommaaccent ntilde -15 +KPX rcommaaccent o -18 +KPX rcommaaccent oacute -18 +KPX rcommaaccent ocircumflex -18 +KPX rcommaaccent odieresis -18 +KPX rcommaaccent ograve -18 +KPX rcommaaccent ohungarumlaut -18 +KPX rcommaaccent omacron -18 +KPX rcommaaccent oslash -18 +KPX rcommaaccent otilde -18 +KPX rcommaaccent p -10 +KPX rcommaaccent period -100 +KPX rcommaaccent q -18 +KPX rcommaaccent v -10 +KPX space A -55 +KPX space Aacute -55 +KPX space Abreve -55 +KPX space Acircumflex -55 +KPX space Adieresis -55 +KPX space Agrave -55 +KPX space Amacron -55 +KPX space Aogonek -55 +KPX space Aring -55 +KPX space Atilde -55 +KPX space T -30 +KPX space Tcaron -30 +KPX space Tcommaaccent -30 +KPX space V -45 +KPX space W -30 +KPX space Y -55 +KPX space Yacute -55 +KPX space Ydieresis -55 +KPX v a -10 +KPX v aacute -10 +KPX v abreve -10 +KPX v acircumflex -10 +KPX v adieresis -10 +KPX v agrave -10 +KPX v amacron -10 +KPX v aogonek -10 +KPX v aring -10 +KPX v atilde -10 +KPX v comma -55 +KPX v e -10 +KPX v eacute -10 +KPX v ecaron -10 +KPX v ecircumflex -10 +KPX v edieresis -10 +KPX v edotaccent -10 +KPX v egrave -10 +KPX v emacron -10 +KPX v eogonek -10 +KPX v o -10 +KPX v oacute -10 +KPX v ocircumflex -10 +KPX v odieresis -10 +KPX v ograve -10 +KPX v ohungarumlaut -10 +KPX v omacron -10 +KPX v oslash -10 +KPX v otilde -10 +KPX v period -70 +KPX w comma -55 +KPX w o -10 +KPX w oacute -10 +KPX w ocircumflex -10 +KPX w odieresis -10 +KPX w ograve -10 +KPX w ohungarumlaut -10 +KPX w omacron -10 +KPX w oslash -10 +KPX w otilde -10 +KPX w period -70 +KPX y comma -55 +KPX y e -10 +KPX y eacute -10 +KPX y ecaron -10 +KPX y ecircumflex -10 +KPX y edieresis -10 +KPX y edotaccent -10 +KPX y egrave -10 +KPX y emacron -10 +KPX y eogonek -10 +KPX y o -25 +KPX y oacute -25 +KPX y ocircumflex -25 +KPX y odieresis -25 +KPX y ograve -25 +KPX y ohungarumlaut -25 +KPX y omacron -25 +KPX y oslash -25 +KPX y otilde -25 +KPX y period -70 +KPX yacute comma -55 +KPX yacute e -10 +KPX yacute eacute -10 +KPX yacute ecaron -10 +KPX yacute ecircumflex -10 +KPX yacute edieresis -10 +KPX yacute edotaccent -10 +KPX yacute egrave -10 +KPX yacute emacron -10 +KPX yacute eogonek -10 +KPX yacute o -25 +KPX yacute oacute -25 +KPX yacute ocircumflex -25 +KPX yacute odieresis -25 +KPX yacute ograve -25 +KPX yacute ohungarumlaut -25 +KPX yacute omacron -25 +KPX yacute oslash -25 +KPX yacute otilde -25 +KPX yacute period -70 +KPX ydieresis comma -55 +KPX ydieresis e -10 +KPX ydieresis eacute -10 +KPX ydieresis ecaron -10 +KPX ydieresis ecircumflex -10 +KPX ydieresis edieresis -10 +KPX ydieresis edotaccent -10 +KPX ydieresis egrave -10 +KPX ydieresis emacron -10 +KPX ydieresis eogonek -10 +KPX ydieresis o -25 +KPX ydieresis oacute -25 +KPX ydieresis ocircumflex -25 +KPX ydieresis odieresis -25 +KPX ydieresis ograve -25 +KPX ydieresis ohungarumlaut -25 +KPX ydieresis omacron -25 +KPX ydieresis oslash -25 +KPX ydieresis otilde -25 +KPX ydieresis period -70 +EndKernPairs +EndKernData +EndFontMetrics diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/PDF/default/templates/fonts/Times-BoldItalic.afm b/buildscripts/PhpDocumentor/phpDocumentor/Converters/PDF/default/templates/fonts/Times-BoldItalic.afm new file mode 100755 index 00000000..2301dfd2 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/PDF/default/templates/fonts/Times-BoldItalic.afm @@ -0,0 +1,2384 @@ +StartFontMetrics 4.1 +Comment Copyright (c) 1985, 1987, 1989, 1990, 1993, 1997 Adobe Systems Incorporated. All Rights Reserved. +Comment Creation Date: Thu May 1 13:04:06 1997 +Comment UniqueID 43066 +Comment VMusage 45874 56899 +FontName Times-BoldItalic +FullName Times Bold Italic +FamilyName Times +Weight Bold +ItalicAngle -15 +IsFixedPitch false +CharacterSet ExtendedRoman +FontBBox -200 -218 996 921 +UnderlinePosition -100 +UnderlineThickness 50 +Version 002.000 +Notice Copyright (c) 1985, 1987, 1989, 1990, 1993, 1997 Adobe Systems Incorporated. All Rights Reserved.Times is a trademark of Linotype-Hell AG and/or its subsidiaries. +EncodingScheme AdobeStandardEncoding +CapHeight 669 +XHeight 462 +Ascender 683 +Descender -217 +StdHW 42 +StdVW 121 +StartCharMetrics 315 +C 32 ; WX 250 ; N space ; B 0 0 0 0 ; +C 33 ; WX 389 ; N exclam ; B 67 -13 370 684 ; +C 34 ; WX 555 ; N quotedbl ; B 136 398 536 685 ; +C 35 ; WX 500 ; N numbersign ; B -33 0 533 700 ; +C 36 ; WX 500 ; N dollar ; B -20 -100 497 733 ; +C 37 ; WX 833 ; N percent ; B 39 -10 793 692 ; +C 38 ; WX 778 ; N ampersand ; B 5 -19 699 682 ; +C 39 ; WX 333 ; N quoteright ; B 98 369 302 685 ; +C 40 ; WX 333 ; N parenleft ; B 28 -179 344 685 ; +C 41 ; WX 333 ; N parenright ; B -44 -179 271 685 ; +C 42 ; WX 500 ; N asterisk ; B 65 249 456 685 ; +C 43 ; WX 570 ; N plus ; B 33 0 537 506 ; +C 44 ; WX 250 ; N comma ; B -60 -182 144 134 ; +C 45 ; WX 333 ; N hyphen ; B 2 166 271 282 ; +C 46 ; WX 250 ; N period ; B -9 -13 139 135 ; +C 47 ; WX 278 ; N slash ; B -64 -18 342 685 ; +C 48 ; WX 500 ; N zero ; B 17 -14 477 683 ; +C 49 ; WX 500 ; N one ; B 5 0 419 683 ; +C 50 ; WX 500 ; N two ; B -27 0 446 683 ; +C 51 ; WX 500 ; N three ; B -15 -13 450 683 ; +C 52 ; WX 500 ; N four ; B -15 0 503 683 ; +C 53 ; WX 500 ; N five ; B -11 -13 487 669 ; +C 54 ; WX 500 ; N six ; B 23 -15 509 679 ; +C 55 ; WX 500 ; N seven ; B 52 0 525 669 ; +C 56 ; WX 500 ; N eight ; B 3 -13 476 683 ; +C 57 ; WX 500 ; N nine ; B -12 -10 475 683 ; +C 58 ; WX 333 ; N colon ; B 23 -13 264 459 ; +C 59 ; WX 333 ; N semicolon ; B -25 -183 264 459 ; +C 60 ; WX 570 ; N less ; B 31 -8 539 514 ; +C 61 ; WX 570 ; N equal ; B 33 107 537 399 ; +C 62 ; WX 570 ; N greater ; B 31 -8 539 514 ; +C 63 ; WX 500 ; N question ; B 79 -13 470 684 ; +C 64 ; WX 832 ; N at ; B 63 -18 770 685 ; +C 65 ; WX 667 ; N A ; B -67 0 593 683 ; +C 66 ; WX 667 ; N B ; B -24 0 624 669 ; +C 67 ; WX 667 ; N C ; B 32 -18 677 685 ; +C 68 ; WX 722 ; N D ; B -46 0 685 669 ; +C 69 ; WX 667 ; N E ; B -27 0 653 669 ; +C 70 ; WX 667 ; N F ; B -13 0 660 669 ; +C 71 ; WX 722 ; N G ; B 21 -18 706 685 ; +C 72 ; WX 778 ; N H ; B -24 0 799 669 ; +C 73 ; WX 389 ; N I ; B -32 0 406 669 ; +C 74 ; WX 500 ; N J ; B -46 -99 524 669 ; +C 75 ; WX 667 ; N K ; B -21 0 702 669 ; +C 76 ; WX 611 ; N L ; B -22 0 590 669 ; +C 77 ; WX 889 ; N M ; B -29 -12 917 669 ; +C 78 ; WX 722 ; N N ; B -27 -15 748 669 ; +C 79 ; WX 722 ; N O ; B 27 -18 691 685 ; +C 80 ; WX 611 ; N P ; B -27 0 613 669 ; +C 81 ; WX 722 ; N Q ; B 27 -208 691 685 ; +C 82 ; WX 667 ; N R ; B -29 0 623 669 ; +C 83 ; WX 556 ; N S ; B 2 -18 526 685 ; +C 84 ; WX 611 ; N T ; B 50 0 650 669 ; +C 85 ; WX 722 ; N U ; B 67 -18 744 669 ; +C 86 ; WX 667 ; N V ; B 65 -18 715 669 ; +C 87 ; WX 889 ; N W ; B 65 -18 940 669 ; +C 88 ; WX 667 ; N X ; B -24 0 694 669 ; +C 89 ; WX 611 ; N Y ; B 73 0 659 669 ; +C 90 ; WX 611 ; N Z ; B -11 0 590 669 ; +C 91 ; WX 333 ; N bracketleft ; B -37 -159 362 674 ; +C 92 ; WX 278 ; N backslash ; B -1 -18 279 685 ; +C 93 ; WX 333 ; N bracketright ; B -56 -157 343 674 ; +C 94 ; WX 570 ; N asciicircum ; B 67 304 503 669 ; +C 95 ; WX 500 ; N underscore ; B 0 -125 500 -75 ; +C 96 ; WX 333 ; N quoteleft ; B 128 369 332 685 ; +C 97 ; WX 500 ; N a ; B -21 -14 455 462 ; +C 98 ; WX 500 ; N b ; B -14 -13 444 699 ; +C 99 ; WX 444 ; N c ; B -5 -13 392 462 ; +C 100 ; WX 500 ; N d ; B -21 -13 517 699 ; +C 101 ; WX 444 ; N e ; B 5 -13 398 462 ; +C 102 ; WX 333 ; N f ; B -169 -205 446 698 ; L i fi ; L l fl ; +C 103 ; WX 500 ; N g ; B -52 -203 478 462 ; +C 104 ; WX 556 ; N h ; B -13 -9 498 699 ; +C 105 ; WX 278 ; N i ; B 2 -9 263 684 ; +C 106 ; WX 278 ; N j ; B -189 -207 279 684 ; +C 107 ; WX 500 ; N k ; B -23 -8 483 699 ; +C 108 ; WX 278 ; N l ; B 2 -9 290 699 ; +C 109 ; WX 778 ; N m ; B -14 -9 722 462 ; +C 110 ; WX 556 ; N n ; B -6 -9 493 462 ; +C 111 ; WX 500 ; N o ; B -3 -13 441 462 ; +C 112 ; WX 500 ; N p ; B -120 -205 446 462 ; +C 113 ; WX 500 ; N q ; B 1 -205 471 462 ; +C 114 ; WX 389 ; N r ; B -21 0 389 462 ; +C 115 ; WX 389 ; N s ; B -19 -13 333 462 ; +C 116 ; WX 278 ; N t ; B -11 -9 281 594 ; +C 117 ; WX 556 ; N u ; B 15 -9 492 462 ; +C 118 ; WX 444 ; N v ; B 16 -13 401 462 ; +C 119 ; WX 667 ; N w ; B 16 -13 614 462 ; +C 120 ; WX 500 ; N x ; B -46 -13 469 462 ; +C 121 ; WX 444 ; N y ; B -94 -205 392 462 ; +C 122 ; WX 389 ; N z ; B -43 -78 368 449 ; +C 123 ; WX 348 ; N braceleft ; B 5 -187 436 686 ; +C 124 ; WX 220 ; N bar ; B 66 -218 154 782 ; +C 125 ; WX 348 ; N braceright ; B -129 -187 302 686 ; +C 126 ; WX 570 ; N asciitilde ; B 54 173 516 333 ; +C 161 ; WX 389 ; N exclamdown ; B 19 -205 322 492 ; +C 162 ; WX 500 ; N cent ; B 42 -143 439 576 ; +C 163 ; WX 500 ; N sterling ; B -32 -12 510 683 ; +C 164 ; WX 167 ; N fraction ; B -169 -14 324 683 ; +C 165 ; WX 500 ; N yen ; B 33 0 628 669 ; +C 166 ; WX 500 ; N florin ; B -87 -156 537 707 ; +C 167 ; WX 500 ; N section ; B 36 -143 459 685 ; +C 168 ; WX 500 ; N currency ; B -26 34 526 586 ; +C 169 ; WX 278 ; N quotesingle ; B 128 398 268 685 ; +C 170 ; WX 500 ; N quotedblleft ; B 53 369 513 685 ; +C 171 ; WX 500 ; N guillemotleft ; B 12 32 468 415 ; +C 172 ; WX 333 ; N guilsinglleft ; B 32 32 303 415 ; +C 173 ; WX 333 ; N guilsinglright ; B 10 32 281 415 ; +C 174 ; WX 556 ; N fi ; B -188 -205 514 703 ; +C 175 ; WX 556 ; N fl ; B -186 -205 553 704 ; +C 177 ; WX 500 ; N endash ; B -40 178 477 269 ; +C 178 ; WX 500 ; N dagger ; B 91 -145 494 685 ; +C 179 ; WX 500 ; N daggerdbl ; B 10 -139 493 685 ; +C 180 ; WX 250 ; N periodcentered ; B 51 257 199 405 ; +C 182 ; WX 500 ; N paragraph ; B -57 -193 562 669 ; +C 183 ; WX 350 ; N bullet ; B 0 175 350 525 ; +C 184 ; WX 333 ; N quotesinglbase ; B -5 -182 199 134 ; +C 185 ; WX 500 ; N quotedblbase ; B -57 -182 403 134 ; +C 186 ; WX 500 ; N quotedblright ; B 53 369 513 685 ; +C 187 ; WX 500 ; N guillemotright ; B 12 32 468 415 ; +C 188 ; WX 1000 ; N ellipsis ; B 40 -13 852 135 ; +C 189 ; WX 1000 ; N perthousand ; B 7 -29 996 706 ; +C 191 ; WX 500 ; N questiondown ; B 30 -205 421 492 ; +C 193 ; WX 333 ; N grave ; B 85 516 297 697 ; +C 194 ; WX 333 ; N acute ; B 139 516 379 697 ; +C 195 ; WX 333 ; N circumflex ; B 40 516 367 690 ; +C 196 ; WX 333 ; N tilde ; B 48 536 407 655 ; +C 197 ; WX 333 ; N macron ; B 51 553 393 623 ; +C 198 ; WX 333 ; N breve ; B 71 516 387 678 ; +C 199 ; WX 333 ; N dotaccent ; B 163 550 298 684 ; +C 200 ; WX 333 ; N dieresis ; B 55 550 402 684 ; +C 202 ; WX 333 ; N ring ; B 127 516 340 729 ; +C 203 ; WX 333 ; N cedilla ; B -80 -218 156 5 ; +C 205 ; WX 333 ; N hungarumlaut ; B 69 516 498 697 ; +C 206 ; WX 333 ; N ogonek ; B 15 -183 244 34 ; +C 207 ; WX 333 ; N caron ; B 79 516 411 690 ; +C 208 ; WX 1000 ; N emdash ; B -40 178 977 269 ; +C 225 ; WX 944 ; N AE ; B -64 0 918 669 ; +C 227 ; WX 266 ; N ordfeminine ; B 16 399 330 685 ; +C 232 ; WX 611 ; N Lslash ; B -22 0 590 669 ; +C 233 ; WX 722 ; N Oslash ; B 27 -125 691 764 ; +C 234 ; WX 944 ; N OE ; B 23 -8 946 677 ; +C 235 ; WX 300 ; N ordmasculine ; B 56 400 347 685 ; +C 241 ; WX 722 ; N ae ; B -5 -13 673 462 ; +C 245 ; WX 278 ; N dotlessi ; B 2 -9 238 462 ; +C 248 ; WX 278 ; N lslash ; B -7 -9 307 699 ; +C 249 ; WX 500 ; N oslash ; B -3 -119 441 560 ; +C 250 ; WX 722 ; N oe ; B 6 -13 674 462 ; +C 251 ; WX 500 ; N germandbls ; B -200 -200 473 705 ; +C -1 ; WX 389 ; N Idieresis ; B -32 0 450 862 ; +C -1 ; WX 444 ; N eacute ; B 5 -13 435 697 ; +C -1 ; WX 500 ; N abreve ; B -21 -14 471 678 ; +C -1 ; WX 556 ; N uhungarumlaut ; B 15 -9 610 697 ; +C -1 ; WX 444 ; N ecaron ; B 5 -13 467 690 ; +C -1 ; WX 611 ; N Ydieresis ; B 73 0 659 862 ; +C -1 ; WX 570 ; N divide ; B 33 -29 537 535 ; +C -1 ; WX 611 ; N Yacute ; B 73 0 659 904 ; +C -1 ; WX 667 ; N Acircumflex ; B -67 0 593 897 ; +C -1 ; WX 500 ; N aacute ; B -21 -14 463 697 ; +C -1 ; WX 722 ; N Ucircumflex ; B 67 -18 744 897 ; +C -1 ; WX 444 ; N yacute ; B -94 -205 435 697 ; +C -1 ; WX 389 ; N scommaaccent ; B -19 -218 333 462 ; +C -1 ; WX 444 ; N ecircumflex ; B 5 -13 423 690 ; +C -1 ; WX 722 ; N Uring ; B 67 -18 744 921 ; +C -1 ; WX 722 ; N Udieresis ; B 67 -18 744 862 ; +C -1 ; WX 500 ; N aogonek ; B -21 -183 455 462 ; +C -1 ; WX 722 ; N Uacute ; B 67 -18 744 904 ; +C -1 ; WX 556 ; N uogonek ; B 15 -183 492 462 ; +C -1 ; WX 667 ; N Edieresis ; B -27 0 653 862 ; +C -1 ; WX 722 ; N Dcroat ; B -31 0 700 669 ; +C -1 ; WX 250 ; N commaaccent ; B -36 -218 131 -50 ; +C -1 ; WX 747 ; N copyright ; B 30 -18 718 685 ; +C -1 ; WX 667 ; N Emacron ; B -27 0 653 830 ; +C -1 ; WX 444 ; N ccaron ; B -5 -13 467 690 ; +C -1 ; WX 500 ; N aring ; B -21 -14 455 729 ; +C -1 ; WX 722 ; N Ncommaaccent ; B -27 -218 748 669 ; +C -1 ; WX 278 ; N lacute ; B 2 -9 392 904 ; +C -1 ; WX 500 ; N agrave ; B -21 -14 455 697 ; +C -1 ; WX 611 ; N Tcommaaccent ; B 50 -218 650 669 ; +C -1 ; WX 667 ; N Cacute ; B 32 -18 677 904 ; +C -1 ; WX 500 ; N atilde ; B -21 -14 491 655 ; +C -1 ; WX 667 ; N Edotaccent ; B -27 0 653 862 ; +C -1 ; WX 389 ; N scaron ; B -19 -13 424 690 ; +C -1 ; WX 389 ; N scedilla ; B -19 -218 333 462 ; +C -1 ; WX 278 ; N iacute ; B 2 -9 352 697 ; +C -1 ; WX 494 ; N lozenge ; B 10 0 484 745 ; +C -1 ; WX 667 ; N Rcaron ; B -29 0 623 897 ; +C -1 ; WX 722 ; N Gcommaaccent ; B 21 -218 706 685 ; +C -1 ; WX 556 ; N ucircumflex ; B 15 -9 492 690 ; +C -1 ; WX 500 ; N acircumflex ; B -21 -14 455 690 ; +C -1 ; WX 667 ; N Amacron ; B -67 0 593 830 ; +C -1 ; WX 389 ; N rcaron ; B -21 0 424 690 ; +C -1 ; WX 444 ; N ccedilla ; B -5 -218 392 462 ; +C -1 ; WX 611 ; N Zdotaccent ; B -11 0 590 862 ; +C -1 ; WX 611 ; N Thorn ; B -27 0 573 669 ; +C -1 ; WX 722 ; N Omacron ; B 27 -18 691 830 ; +C -1 ; WX 667 ; N Racute ; B -29 0 623 904 ; +C -1 ; WX 556 ; N Sacute ; B 2 -18 531 904 ; +C -1 ; WX 608 ; N dcaron ; B -21 -13 675 708 ; +C -1 ; WX 722 ; N Umacron ; B 67 -18 744 830 ; +C -1 ; WX 556 ; N uring ; B 15 -9 492 729 ; +C -1 ; WX 300 ; N threesuperior ; B 17 265 321 683 ; +C -1 ; WX 722 ; N Ograve ; B 27 -18 691 904 ; +C -1 ; WX 667 ; N Agrave ; B -67 0 593 904 ; +C -1 ; WX 667 ; N Abreve ; B -67 0 593 885 ; +C -1 ; WX 570 ; N multiply ; B 48 16 522 490 ; +C -1 ; WX 556 ; N uacute ; B 15 -9 492 697 ; +C -1 ; WX 611 ; N Tcaron ; B 50 0 650 897 ; +C -1 ; WX 494 ; N partialdiff ; B 11 -21 494 750 ; +C -1 ; WX 444 ; N ydieresis ; B -94 -205 443 655 ; +C -1 ; WX 722 ; N Nacute ; B -27 -15 748 904 ; +C -1 ; WX 278 ; N icircumflex ; B -3 -9 324 690 ; +C -1 ; WX 667 ; N Ecircumflex ; B -27 0 653 897 ; +C -1 ; WX 500 ; N adieresis ; B -21 -14 476 655 ; +C -1 ; WX 444 ; N edieresis ; B 5 -13 448 655 ; +C -1 ; WX 444 ; N cacute ; B -5 -13 435 697 ; +C -1 ; WX 556 ; N nacute ; B -6 -9 493 697 ; +C -1 ; WX 556 ; N umacron ; B 15 -9 492 623 ; +C -1 ; WX 722 ; N Ncaron ; B -27 -15 748 897 ; +C -1 ; WX 389 ; N Iacute ; B -32 0 432 904 ; +C -1 ; WX 570 ; N plusminus ; B 33 0 537 506 ; +C -1 ; WX 220 ; N brokenbar ; B 66 -143 154 707 ; +C -1 ; WX 747 ; N registered ; B 30 -18 718 685 ; +C -1 ; WX 722 ; N Gbreve ; B 21 -18 706 885 ; +C -1 ; WX 389 ; N Idotaccent ; B -32 0 406 862 ; +C -1 ; WX 600 ; N summation ; B 14 -10 585 706 ; +C -1 ; WX 667 ; N Egrave ; B -27 0 653 904 ; +C -1 ; WX 389 ; N racute ; B -21 0 407 697 ; +C -1 ; WX 500 ; N omacron ; B -3 -13 462 623 ; +C -1 ; WX 611 ; N Zacute ; B -11 0 590 904 ; +C -1 ; WX 611 ; N Zcaron ; B -11 0 590 897 ; +C -1 ; WX 549 ; N greaterequal ; B 26 0 523 704 ; +C -1 ; WX 722 ; N Eth ; B -31 0 700 669 ; +C -1 ; WX 667 ; N Ccedilla ; B 32 -218 677 685 ; +C -1 ; WX 278 ; N lcommaaccent ; B -42 -218 290 699 ; +C -1 ; WX 366 ; N tcaron ; B -11 -9 434 754 ; +C -1 ; WX 444 ; N eogonek ; B 5 -183 398 462 ; +C -1 ; WX 722 ; N Uogonek ; B 67 -183 744 669 ; +C -1 ; WX 667 ; N Aacute ; B -67 0 593 904 ; +C -1 ; WX 667 ; N Adieresis ; B -67 0 593 862 ; +C -1 ; WX 444 ; N egrave ; B 5 -13 398 697 ; +C -1 ; WX 389 ; N zacute ; B -43 -78 407 697 ; +C -1 ; WX 278 ; N iogonek ; B -20 -183 263 684 ; +C -1 ; WX 722 ; N Oacute ; B 27 -18 691 904 ; +C -1 ; WX 500 ; N oacute ; B -3 -13 463 697 ; +C -1 ; WX 500 ; N amacron ; B -21 -14 467 623 ; +C -1 ; WX 389 ; N sacute ; B -19 -13 407 697 ; +C -1 ; WX 278 ; N idieresis ; B 2 -9 364 655 ; +C -1 ; WX 722 ; N Ocircumflex ; B 27 -18 691 897 ; +C -1 ; WX 722 ; N Ugrave ; B 67 -18 744 904 ; +C -1 ; WX 612 ; N Delta ; B 6 0 608 688 ; +C -1 ; WX 500 ; N thorn ; B -120 -205 446 699 ; +C -1 ; WX 300 ; N twosuperior ; B 2 274 313 683 ; +C -1 ; WX 722 ; N Odieresis ; B 27 -18 691 862 ; +C -1 ; WX 576 ; N mu ; B -60 -207 516 449 ; +C -1 ; WX 278 ; N igrave ; B 2 -9 259 697 ; +C -1 ; WX 500 ; N ohungarumlaut ; B -3 -13 582 697 ; +C -1 ; WX 667 ; N Eogonek ; B -27 -183 653 669 ; +C -1 ; WX 500 ; N dcroat ; B -21 -13 552 699 ; +C -1 ; WX 750 ; N threequarters ; B 7 -14 726 683 ; +C -1 ; WX 556 ; N Scedilla ; B 2 -218 526 685 ; +C -1 ; WX 382 ; N lcaron ; B 2 -9 448 708 ; +C -1 ; WX 667 ; N Kcommaaccent ; B -21 -218 702 669 ; +C -1 ; WX 611 ; N Lacute ; B -22 0 590 904 ; +C -1 ; WX 1000 ; N trademark ; B 32 263 968 669 ; +C -1 ; WX 444 ; N edotaccent ; B 5 -13 398 655 ; +C -1 ; WX 389 ; N Igrave ; B -32 0 406 904 ; +C -1 ; WX 389 ; N Imacron ; B -32 0 461 830 ; +C -1 ; WX 611 ; N Lcaron ; B -22 0 671 718 ; +C -1 ; WX 750 ; N onehalf ; B -9 -14 723 683 ; +C -1 ; WX 549 ; N lessequal ; B 29 0 526 704 ; +C -1 ; WX 500 ; N ocircumflex ; B -3 -13 451 690 ; +C -1 ; WX 556 ; N ntilde ; B -6 -9 504 655 ; +C -1 ; WX 722 ; N Uhungarumlaut ; B 67 -18 744 904 ; +C -1 ; WX 667 ; N Eacute ; B -27 0 653 904 ; +C -1 ; WX 444 ; N emacron ; B 5 -13 439 623 ; +C -1 ; WX 500 ; N gbreve ; B -52 -203 478 678 ; +C -1 ; WX 750 ; N onequarter ; B 7 -14 721 683 ; +C -1 ; WX 556 ; N Scaron ; B 2 -18 553 897 ; +C -1 ; WX 556 ; N Scommaaccent ; B 2 -218 526 685 ; +C -1 ; WX 722 ; N Ohungarumlaut ; B 27 -18 723 904 ; +C -1 ; WX 400 ; N degree ; B 83 397 369 683 ; +C -1 ; WX 500 ; N ograve ; B -3 -13 441 697 ; +C -1 ; WX 667 ; N Ccaron ; B 32 -18 677 897 ; +C -1 ; WX 556 ; N ugrave ; B 15 -9 492 697 ; +C -1 ; WX 549 ; N radical ; B 10 -46 512 850 ; +C -1 ; WX 722 ; N Dcaron ; B -46 0 685 897 ; +C -1 ; WX 389 ; N rcommaaccent ; B -67 -218 389 462 ; +C -1 ; WX 722 ; N Ntilde ; B -27 -15 748 862 ; +C -1 ; WX 500 ; N otilde ; B -3 -13 491 655 ; +C -1 ; WX 667 ; N Rcommaaccent ; B -29 -218 623 669 ; +C -1 ; WX 611 ; N Lcommaaccent ; B -22 -218 590 669 ; +C -1 ; WX 667 ; N Atilde ; B -67 0 593 862 ; +C -1 ; WX 667 ; N Aogonek ; B -67 -183 604 683 ; +C -1 ; WX 667 ; N Aring ; B -67 0 593 921 ; +C -1 ; WX 722 ; N Otilde ; B 27 -18 691 862 ; +C -1 ; WX 389 ; N zdotaccent ; B -43 -78 368 655 ; +C -1 ; WX 667 ; N Ecaron ; B -27 0 653 897 ; +C -1 ; WX 389 ; N Iogonek ; B -32 -183 406 669 ; +C -1 ; WX 500 ; N kcommaaccent ; B -23 -218 483 699 ; +C -1 ; WX 606 ; N minus ; B 51 209 555 297 ; +C -1 ; WX 389 ; N Icircumflex ; B -32 0 450 897 ; +C -1 ; WX 556 ; N ncaron ; B -6 -9 523 690 ; +C -1 ; WX 278 ; N tcommaaccent ; B -62 -218 281 594 ; +C -1 ; WX 606 ; N logicalnot ; B 51 108 555 399 ; +C -1 ; WX 500 ; N odieresis ; B -3 -13 471 655 ; +C -1 ; WX 556 ; N udieresis ; B 15 -9 499 655 ; +C -1 ; WX 549 ; N notequal ; B 15 -49 540 570 ; +C -1 ; WX 500 ; N gcommaaccent ; B -52 -203 478 767 ; +C -1 ; WX 500 ; N eth ; B -3 -13 454 699 ; +C -1 ; WX 389 ; N zcaron ; B -43 -78 424 690 ; +C -1 ; WX 556 ; N ncommaaccent ; B -6 -218 493 462 ; +C -1 ; WX 300 ; N onesuperior ; B 30 274 301 683 ; +C -1 ; WX 278 ; N imacron ; B 2 -9 294 623 ; +C -1 ; WX 500 ; N Euro ; B 0 0 0 0 ; +EndCharMetrics +StartKernData +StartKernPairs 2038 +KPX A C -65 +KPX A Cacute -65 +KPX A Ccaron -65 +KPX A Ccedilla -65 +KPX A G -60 +KPX A Gbreve -60 +KPX A Gcommaaccent -60 +KPX A O -50 +KPX A Oacute -50 +KPX A Ocircumflex -50 +KPX A Odieresis -50 +KPX A Ograve -50 +KPX A Ohungarumlaut -50 +KPX A Omacron -50 +KPX A Oslash -50 +KPX A Otilde -50 +KPX A Q -55 +KPX A T -55 +KPX A Tcaron -55 +KPX A Tcommaaccent -55 +KPX A U -50 +KPX A Uacute -50 +KPX A Ucircumflex -50 +KPX A Udieresis -50 +KPX A Ugrave -50 +KPX A Uhungarumlaut -50 +KPX A Umacron -50 +KPX A Uogonek -50 +KPX A Uring -50 +KPX A V -95 +KPX A W -100 +KPX A Y -70 +KPX A Yacute -70 +KPX A Ydieresis -70 +KPX A quoteright -74 +KPX A u -30 +KPX A uacute -30 +KPX A ucircumflex -30 +KPX A udieresis -30 +KPX A ugrave -30 +KPX A uhungarumlaut -30 +KPX A umacron -30 +KPX A uogonek -30 +KPX A uring -30 +KPX A v -74 +KPX A w -74 +KPX A y -74 +KPX A yacute -74 +KPX A ydieresis -74 +KPX Aacute C -65 +KPX Aacute Cacute -65 +KPX Aacute Ccaron -65 +KPX Aacute Ccedilla -65 +KPX Aacute G -60 +KPX Aacute Gbreve -60 +KPX Aacute Gcommaaccent -60 +KPX Aacute O -50 +KPX Aacute Oacute -50 +KPX Aacute Ocircumflex -50 +KPX Aacute Odieresis -50 +KPX Aacute Ograve -50 +KPX Aacute Ohungarumlaut -50 +KPX Aacute Omacron -50 +KPX Aacute Oslash -50 +KPX Aacute Otilde -50 +KPX Aacute Q -55 +KPX Aacute T -55 +KPX Aacute Tcaron -55 +KPX Aacute Tcommaaccent -55 +KPX Aacute U -50 +KPX Aacute Uacute -50 +KPX Aacute Ucircumflex -50 +KPX Aacute Udieresis -50 +KPX Aacute Ugrave -50 +KPX Aacute Uhungarumlaut -50 +KPX Aacute Umacron -50 +KPX Aacute Uogonek -50 +KPX Aacute Uring -50 +KPX Aacute V -95 +KPX Aacute W -100 +KPX Aacute Y -70 +KPX Aacute Yacute -70 +KPX Aacute Ydieresis -70 +KPX Aacute quoteright -74 +KPX Aacute u -30 +KPX Aacute uacute -30 +KPX Aacute ucircumflex -30 +KPX Aacute udieresis -30 +KPX Aacute ugrave -30 +KPX Aacute uhungarumlaut -30 +KPX Aacute umacron -30 +KPX Aacute uogonek -30 +KPX Aacute uring -30 +KPX Aacute v -74 +KPX Aacute w -74 +KPX Aacute y -74 +KPX Aacute yacute -74 +KPX Aacute ydieresis -74 +KPX Abreve C -65 +KPX Abreve Cacute -65 +KPX Abreve Ccaron -65 +KPX Abreve Ccedilla -65 +KPX Abreve G -60 +KPX Abreve Gbreve -60 +KPX Abreve Gcommaaccent -60 +KPX Abreve O -50 +KPX Abreve Oacute -50 +KPX Abreve Ocircumflex -50 +KPX Abreve Odieresis -50 +KPX Abreve Ograve -50 +KPX Abreve Ohungarumlaut -50 +KPX Abreve Omacron -50 +KPX Abreve Oslash -50 +KPX Abreve Otilde -50 +KPX Abreve Q -55 +KPX Abreve T -55 +KPX Abreve Tcaron -55 +KPX Abreve Tcommaaccent -55 +KPX Abreve U -50 +KPX Abreve Uacute -50 +KPX Abreve Ucircumflex -50 +KPX Abreve Udieresis -50 +KPX Abreve Ugrave -50 +KPX Abreve Uhungarumlaut -50 +KPX Abreve Umacron -50 +KPX Abreve Uogonek -50 +KPX Abreve Uring -50 +KPX Abreve V -95 +KPX Abreve W -100 +KPX Abreve Y -70 +KPX Abreve Yacute -70 +KPX Abreve Ydieresis -70 +KPX Abreve quoteright -74 +KPX Abreve u -30 +KPX Abreve uacute -30 +KPX Abreve ucircumflex -30 +KPX Abreve udieresis -30 +KPX Abreve ugrave -30 +KPX Abreve uhungarumlaut -30 +KPX Abreve umacron -30 +KPX Abreve uogonek -30 +KPX Abreve uring -30 +KPX Abreve v -74 +KPX Abreve w -74 +KPX Abreve y -74 +KPX Abreve yacute -74 +KPX Abreve ydieresis -74 +KPX Acircumflex C -65 +KPX Acircumflex Cacute -65 +KPX Acircumflex Ccaron -65 +KPX Acircumflex Ccedilla -65 +KPX Acircumflex G -60 +KPX Acircumflex Gbreve -60 +KPX Acircumflex Gcommaaccent -60 +KPX Acircumflex O -50 +KPX Acircumflex Oacute -50 +KPX Acircumflex Ocircumflex -50 +KPX Acircumflex Odieresis -50 +KPX Acircumflex Ograve -50 +KPX Acircumflex Ohungarumlaut -50 +KPX Acircumflex Omacron -50 +KPX Acircumflex Oslash -50 +KPX Acircumflex Otilde -50 +KPX Acircumflex Q -55 +KPX Acircumflex T -55 +KPX Acircumflex Tcaron -55 +KPX Acircumflex Tcommaaccent -55 +KPX Acircumflex U -50 +KPX Acircumflex Uacute -50 +KPX Acircumflex Ucircumflex -50 +KPX Acircumflex Udieresis -50 +KPX Acircumflex Ugrave -50 +KPX Acircumflex Uhungarumlaut -50 +KPX Acircumflex Umacron -50 +KPX Acircumflex Uogonek -50 +KPX Acircumflex Uring -50 +KPX Acircumflex V -95 +KPX Acircumflex W -100 +KPX Acircumflex Y -70 +KPX Acircumflex Yacute -70 +KPX Acircumflex Ydieresis -70 +KPX Acircumflex quoteright -74 +KPX Acircumflex u -30 +KPX Acircumflex uacute -30 +KPX Acircumflex ucircumflex -30 +KPX Acircumflex udieresis -30 +KPX Acircumflex ugrave -30 +KPX Acircumflex uhungarumlaut -30 +KPX Acircumflex umacron -30 +KPX Acircumflex uogonek -30 +KPX Acircumflex uring -30 +KPX Acircumflex v -74 +KPX Acircumflex w -74 +KPX Acircumflex y -74 +KPX Acircumflex yacute -74 +KPX Acircumflex ydieresis -74 +KPX Adieresis C -65 +KPX Adieresis Cacute -65 +KPX Adieresis Ccaron -65 +KPX Adieresis Ccedilla -65 +KPX Adieresis G -60 +KPX Adieresis Gbreve -60 +KPX Adieresis Gcommaaccent -60 +KPX Adieresis O -50 +KPX Adieresis Oacute -50 +KPX Adieresis Ocircumflex -50 +KPX Adieresis Odieresis -50 +KPX Adieresis Ograve -50 +KPX Adieresis Ohungarumlaut -50 +KPX Adieresis Omacron -50 +KPX Adieresis Oslash -50 +KPX Adieresis Otilde -50 +KPX Adieresis Q -55 +KPX Adieresis T -55 +KPX Adieresis Tcaron -55 +KPX Adieresis Tcommaaccent -55 +KPX Adieresis U -50 +KPX Adieresis Uacute -50 +KPX Adieresis Ucircumflex -50 +KPX Adieresis Udieresis -50 +KPX Adieresis Ugrave -50 +KPX Adieresis Uhungarumlaut -50 +KPX Adieresis Umacron -50 +KPX Adieresis Uogonek -50 +KPX Adieresis Uring -50 +KPX Adieresis V -95 +KPX Adieresis W -100 +KPX Adieresis Y -70 +KPX Adieresis Yacute -70 +KPX Adieresis Ydieresis -70 +KPX Adieresis quoteright -74 +KPX Adieresis u -30 +KPX Adieresis uacute -30 +KPX Adieresis ucircumflex -30 +KPX Adieresis udieresis -30 +KPX Adieresis ugrave -30 +KPX Adieresis uhungarumlaut -30 +KPX Adieresis umacron -30 +KPX Adieresis uogonek -30 +KPX Adieresis uring -30 +KPX Adieresis v -74 +KPX Adieresis w -74 +KPX Adieresis y -74 +KPX Adieresis yacute -74 +KPX Adieresis ydieresis -74 +KPX Agrave C -65 +KPX Agrave Cacute -65 +KPX Agrave Ccaron -65 +KPX Agrave Ccedilla -65 +KPX Agrave G -60 +KPX Agrave Gbreve -60 +KPX Agrave Gcommaaccent -60 +KPX Agrave O -50 +KPX Agrave Oacute -50 +KPX Agrave Ocircumflex -50 +KPX Agrave Odieresis -50 +KPX Agrave Ograve -50 +KPX Agrave Ohungarumlaut -50 +KPX Agrave Omacron -50 +KPX Agrave Oslash -50 +KPX Agrave Otilde -50 +KPX Agrave Q -55 +KPX Agrave T -55 +KPX Agrave Tcaron -55 +KPX Agrave Tcommaaccent -55 +KPX Agrave U -50 +KPX Agrave Uacute -50 +KPX Agrave Ucircumflex -50 +KPX Agrave Udieresis -50 +KPX Agrave Ugrave -50 +KPX Agrave Uhungarumlaut -50 +KPX Agrave Umacron -50 +KPX Agrave Uogonek -50 +KPX Agrave Uring -50 +KPX Agrave V -95 +KPX Agrave W -100 +KPX Agrave Y -70 +KPX Agrave Yacute -70 +KPX Agrave Ydieresis -70 +KPX Agrave quoteright -74 +KPX Agrave u -30 +KPX Agrave uacute -30 +KPX Agrave ucircumflex -30 +KPX Agrave udieresis -30 +KPX Agrave ugrave -30 +KPX Agrave uhungarumlaut -30 +KPX Agrave umacron -30 +KPX Agrave uogonek -30 +KPX Agrave uring -30 +KPX Agrave v -74 +KPX Agrave w -74 +KPX Agrave y -74 +KPX Agrave yacute -74 +KPX Agrave ydieresis -74 +KPX Amacron C -65 +KPX Amacron Cacute -65 +KPX Amacron Ccaron -65 +KPX Amacron Ccedilla -65 +KPX Amacron G -60 +KPX Amacron Gbreve -60 +KPX Amacron Gcommaaccent -60 +KPX Amacron O -50 +KPX Amacron Oacute -50 +KPX Amacron Ocircumflex -50 +KPX Amacron Odieresis -50 +KPX Amacron Ograve -50 +KPX Amacron Ohungarumlaut -50 +KPX Amacron Omacron -50 +KPX Amacron Oslash -50 +KPX Amacron Otilde -50 +KPX Amacron Q -55 +KPX Amacron T -55 +KPX Amacron Tcaron -55 +KPX Amacron Tcommaaccent -55 +KPX Amacron U -50 +KPX Amacron Uacute -50 +KPX Amacron Ucircumflex -50 +KPX Amacron Udieresis -50 +KPX Amacron Ugrave -50 +KPX Amacron Uhungarumlaut -50 +KPX Amacron Umacron -50 +KPX Amacron Uogonek -50 +KPX Amacron Uring -50 +KPX Amacron V -95 +KPX Amacron W -100 +KPX Amacron Y -70 +KPX Amacron Yacute -70 +KPX Amacron Ydieresis -70 +KPX Amacron quoteright -74 +KPX Amacron u -30 +KPX Amacron uacute -30 +KPX Amacron ucircumflex -30 +KPX Amacron udieresis -30 +KPX Amacron ugrave -30 +KPX Amacron uhungarumlaut -30 +KPX Amacron umacron -30 +KPX Amacron uogonek -30 +KPX Amacron uring -30 +KPX Amacron v -74 +KPX Amacron w -74 +KPX Amacron y -74 +KPX Amacron yacute -74 +KPX Amacron ydieresis -74 +KPX Aogonek C -65 +KPX Aogonek Cacute -65 +KPX Aogonek Ccaron -65 +KPX Aogonek Ccedilla -65 +KPX Aogonek G -60 +KPX Aogonek Gbreve -60 +KPX Aogonek Gcommaaccent -60 +KPX Aogonek O -50 +KPX Aogonek Oacute -50 +KPX Aogonek Ocircumflex -50 +KPX Aogonek Odieresis -50 +KPX Aogonek Ograve -50 +KPX Aogonek Ohungarumlaut -50 +KPX Aogonek Omacron -50 +KPX Aogonek Oslash -50 +KPX Aogonek Otilde -50 +KPX Aogonek Q -55 +KPX Aogonek T -55 +KPX Aogonek Tcaron -55 +KPX Aogonek Tcommaaccent -55 +KPX Aogonek U -50 +KPX Aogonek Uacute -50 +KPX Aogonek Ucircumflex -50 +KPX Aogonek Udieresis -50 +KPX Aogonek Ugrave -50 +KPX Aogonek Uhungarumlaut -50 +KPX Aogonek Umacron -50 +KPX Aogonek Uogonek -50 +KPX Aogonek Uring -50 +KPX Aogonek V -95 +KPX Aogonek W -100 +KPX Aogonek Y -70 +KPX Aogonek Yacute -70 +KPX Aogonek Ydieresis -70 +KPX Aogonek quoteright -74 +KPX Aogonek u -30 +KPX Aogonek uacute -30 +KPX Aogonek ucircumflex -30 +KPX Aogonek udieresis -30 +KPX Aogonek ugrave -30 +KPX Aogonek uhungarumlaut -30 +KPX Aogonek umacron -30 +KPX Aogonek uogonek -30 +KPX Aogonek uring -30 +KPX Aogonek v -74 +KPX Aogonek w -74 +KPX Aogonek y -34 +KPX Aogonek yacute -34 +KPX Aogonek ydieresis -34 +KPX Aring C -65 +KPX Aring Cacute -65 +KPX Aring Ccaron -65 +KPX Aring Ccedilla -65 +KPX Aring G -60 +KPX Aring Gbreve -60 +KPX Aring Gcommaaccent -60 +KPX Aring O -50 +KPX Aring Oacute -50 +KPX Aring Ocircumflex -50 +KPX Aring Odieresis -50 +KPX Aring Ograve -50 +KPX Aring Ohungarumlaut -50 +KPX Aring Omacron -50 +KPX Aring Oslash -50 +KPX Aring Otilde -50 +KPX Aring Q -55 +KPX Aring T -55 +KPX Aring Tcaron -55 +KPX Aring Tcommaaccent -55 +KPX Aring U -50 +KPX Aring Uacute -50 +KPX Aring Ucircumflex -50 +KPX Aring Udieresis -50 +KPX Aring Ugrave -50 +KPX Aring Uhungarumlaut -50 +KPX Aring Umacron -50 +KPX Aring Uogonek -50 +KPX Aring Uring -50 +KPX Aring V -95 +KPX Aring W -100 +KPX Aring Y -70 +KPX Aring Yacute -70 +KPX Aring Ydieresis -70 +KPX Aring quoteright -74 +KPX Aring u -30 +KPX Aring uacute -30 +KPX Aring ucircumflex -30 +KPX Aring udieresis -30 +KPX Aring ugrave -30 +KPX Aring uhungarumlaut -30 +KPX Aring umacron -30 +KPX Aring uogonek -30 +KPX Aring uring -30 +KPX Aring v -74 +KPX Aring w -74 +KPX Aring y -74 +KPX Aring yacute -74 +KPX Aring ydieresis -74 +KPX Atilde C -65 +KPX Atilde Cacute -65 +KPX Atilde Ccaron -65 +KPX Atilde Ccedilla -65 +KPX Atilde G -60 +KPX Atilde Gbreve -60 +KPX Atilde Gcommaaccent -60 +KPX Atilde O -50 +KPX Atilde Oacute -50 +KPX Atilde Ocircumflex -50 +KPX Atilde Odieresis -50 +KPX Atilde Ograve -50 +KPX Atilde Ohungarumlaut -50 +KPX Atilde Omacron -50 +KPX Atilde Oslash -50 +KPX Atilde Otilde -50 +KPX Atilde Q -55 +KPX Atilde T -55 +KPX Atilde Tcaron -55 +KPX Atilde Tcommaaccent -55 +KPX Atilde U -50 +KPX Atilde Uacute -50 +KPX Atilde Ucircumflex -50 +KPX Atilde Udieresis -50 +KPX Atilde Ugrave -50 +KPX Atilde Uhungarumlaut -50 +KPX Atilde Umacron -50 +KPX Atilde Uogonek -50 +KPX Atilde Uring -50 +KPX Atilde V -95 +KPX Atilde W -100 +KPX Atilde Y -70 +KPX Atilde Yacute -70 +KPX Atilde Ydieresis -70 +KPX Atilde quoteright -74 +KPX Atilde u -30 +KPX Atilde uacute -30 +KPX Atilde ucircumflex -30 +KPX Atilde udieresis -30 +KPX Atilde ugrave -30 +KPX Atilde uhungarumlaut -30 +KPX Atilde umacron -30 +KPX Atilde uogonek -30 +KPX Atilde uring -30 +KPX Atilde v -74 +KPX Atilde w -74 +KPX Atilde y -74 +KPX Atilde yacute -74 +KPX Atilde ydieresis -74 +KPX B A -25 +KPX B Aacute -25 +KPX B Abreve -25 +KPX B Acircumflex -25 +KPX B Adieresis -25 +KPX B Agrave -25 +KPX B Amacron -25 +KPX B Aogonek -25 +KPX B Aring -25 +KPX B Atilde -25 +KPX B U -10 +KPX B Uacute -10 +KPX B Ucircumflex -10 +KPX B Udieresis -10 +KPX B Ugrave -10 +KPX B Uhungarumlaut -10 +KPX B Umacron -10 +KPX B Uogonek -10 +KPX B Uring -10 +KPX D A -25 +KPX D Aacute -25 +KPX D Abreve -25 +KPX D Acircumflex -25 +KPX D Adieresis -25 +KPX D Agrave -25 +KPX D Amacron -25 +KPX D Aogonek -25 +KPX D Aring -25 +KPX D Atilde -25 +KPX D V -50 +KPX D W -40 +KPX D Y -50 +KPX D Yacute -50 +KPX D Ydieresis -50 +KPX Dcaron A -25 +KPX Dcaron Aacute -25 +KPX Dcaron Abreve -25 +KPX Dcaron Acircumflex -25 +KPX Dcaron Adieresis -25 +KPX Dcaron Agrave -25 +KPX Dcaron Amacron -25 +KPX Dcaron Aogonek -25 +KPX Dcaron Aring -25 +KPX Dcaron Atilde -25 +KPX Dcaron V -50 +KPX Dcaron W -40 +KPX Dcaron Y -50 +KPX Dcaron Yacute -50 +KPX Dcaron Ydieresis -50 +KPX Dcroat A -25 +KPX Dcroat Aacute -25 +KPX Dcroat Abreve -25 +KPX Dcroat Acircumflex -25 +KPX Dcroat Adieresis -25 +KPX Dcroat Agrave -25 +KPX Dcroat Amacron -25 +KPX Dcroat Aogonek -25 +KPX Dcroat Aring -25 +KPX Dcroat Atilde -25 +KPX Dcroat V -50 +KPX Dcroat W -40 +KPX Dcroat Y -50 +KPX Dcroat Yacute -50 +KPX Dcroat Ydieresis -50 +KPX F A -100 +KPX F Aacute -100 +KPX F Abreve -100 +KPX F Acircumflex -100 +KPX F Adieresis -100 +KPX F Agrave -100 +KPX F Amacron -100 +KPX F Aogonek -100 +KPX F Aring -100 +KPX F Atilde -100 +KPX F a -95 +KPX F aacute -95 +KPX F abreve -95 +KPX F acircumflex -95 +KPX F adieresis -95 +KPX F agrave -95 +KPX F amacron -95 +KPX F aogonek -95 +KPX F aring -95 +KPX F atilde -95 +KPX F comma -129 +KPX F e -100 +KPX F eacute -100 +KPX F ecaron -100 +KPX F ecircumflex -100 +KPX F edieresis -100 +KPX F edotaccent -100 +KPX F egrave -100 +KPX F emacron -100 +KPX F eogonek -100 +KPX F i -40 +KPX F iacute -40 +KPX F icircumflex -40 +KPX F idieresis -40 +KPX F igrave -40 +KPX F imacron -40 +KPX F iogonek -40 +KPX F o -70 +KPX F oacute -70 +KPX F ocircumflex -70 +KPX F odieresis -70 +KPX F ograve -70 +KPX F ohungarumlaut -70 +KPX F omacron -70 +KPX F oslash -70 +KPX F otilde -70 +KPX F period -129 +KPX F r -50 +KPX F racute -50 +KPX F rcaron -50 +KPX F rcommaaccent -50 +KPX J A -25 +KPX J Aacute -25 +KPX J Abreve -25 +KPX J Acircumflex -25 +KPX J Adieresis -25 +KPX J Agrave -25 +KPX J Amacron -25 +KPX J Aogonek -25 +KPX J Aring -25 +KPX J Atilde -25 +KPX J a -40 +KPX J aacute -40 +KPX J abreve -40 +KPX J acircumflex -40 +KPX J adieresis -40 +KPX J agrave -40 +KPX J amacron -40 +KPX J aogonek -40 +KPX J aring -40 +KPX J atilde -40 +KPX J comma -10 +KPX J e -40 +KPX J eacute -40 +KPX J ecaron -40 +KPX J ecircumflex -40 +KPX J edieresis -40 +KPX J edotaccent -40 +KPX J egrave -40 +KPX J emacron -40 +KPX J eogonek -40 +KPX J o -40 +KPX J oacute -40 +KPX J ocircumflex -40 +KPX J odieresis -40 +KPX J ograve -40 +KPX J ohungarumlaut -40 +KPX J omacron -40 +KPX J oslash -40 +KPX J otilde -40 +KPX J period -10 +KPX J u -40 +KPX J uacute -40 +KPX J ucircumflex -40 +KPX J udieresis -40 +KPX J ugrave -40 +KPX J uhungarumlaut -40 +KPX J umacron -40 +KPX J uogonek -40 +KPX J uring -40 +KPX K O -30 +KPX K Oacute -30 +KPX K Ocircumflex -30 +KPX K Odieresis -30 +KPX K Ograve -30 +KPX K Ohungarumlaut -30 +KPX K Omacron -30 +KPX K Oslash -30 +KPX K Otilde -30 +KPX K e -25 +KPX K eacute -25 +KPX K ecaron -25 +KPX K ecircumflex -25 +KPX K edieresis -25 +KPX K edotaccent -25 +KPX K egrave -25 +KPX K emacron -25 +KPX K eogonek -25 +KPX K o -25 +KPX K oacute -25 +KPX K ocircumflex -25 +KPX K odieresis -25 +KPX K ograve -25 +KPX K ohungarumlaut -25 +KPX K omacron -25 +KPX K oslash -25 +KPX K otilde -25 +KPX K u -20 +KPX K uacute -20 +KPX K ucircumflex -20 +KPX K udieresis -20 +KPX K ugrave -20 +KPX K uhungarumlaut -20 +KPX K umacron -20 +KPX K uogonek -20 +KPX K uring -20 +KPX K y -20 +KPX K yacute -20 +KPX K ydieresis -20 +KPX Kcommaaccent O -30 +KPX Kcommaaccent Oacute -30 +KPX Kcommaaccent Ocircumflex -30 +KPX Kcommaaccent Odieresis -30 +KPX Kcommaaccent Ograve -30 +KPX Kcommaaccent Ohungarumlaut -30 +KPX Kcommaaccent Omacron -30 +KPX Kcommaaccent Oslash -30 +KPX Kcommaaccent Otilde -30 +KPX Kcommaaccent e -25 +KPX Kcommaaccent eacute -25 +KPX Kcommaaccent ecaron -25 +KPX Kcommaaccent ecircumflex -25 +KPX Kcommaaccent edieresis -25 +KPX Kcommaaccent edotaccent -25 +KPX Kcommaaccent egrave -25 +KPX Kcommaaccent emacron -25 +KPX Kcommaaccent eogonek -25 +KPX Kcommaaccent o -25 +KPX Kcommaaccent oacute -25 +KPX Kcommaaccent ocircumflex -25 +KPX Kcommaaccent odieresis -25 +KPX Kcommaaccent ograve -25 +KPX Kcommaaccent ohungarumlaut -25 +KPX Kcommaaccent omacron -25 +KPX Kcommaaccent oslash -25 +KPX Kcommaaccent otilde -25 +KPX Kcommaaccent u -20 +KPX Kcommaaccent uacute -20 +KPX Kcommaaccent ucircumflex -20 +KPX Kcommaaccent udieresis -20 +KPX Kcommaaccent ugrave -20 +KPX Kcommaaccent uhungarumlaut -20 +KPX Kcommaaccent umacron -20 +KPX Kcommaaccent uogonek -20 +KPX Kcommaaccent uring -20 +KPX Kcommaaccent y -20 +KPX Kcommaaccent yacute -20 +KPX Kcommaaccent ydieresis -20 +KPX L T -18 +KPX L Tcaron -18 +KPX L Tcommaaccent -18 +KPX L V -37 +KPX L W -37 +KPX L Y -37 +KPX L Yacute -37 +KPX L Ydieresis -37 +KPX L quoteright -55 +KPX L y -37 +KPX L yacute -37 +KPX L ydieresis -37 +KPX Lacute T -18 +KPX Lacute Tcaron -18 +KPX Lacute Tcommaaccent -18 +KPX Lacute V -37 +KPX Lacute W -37 +KPX Lacute Y -37 +KPX Lacute Yacute -37 +KPX Lacute Ydieresis -37 +KPX Lacute quoteright -55 +KPX Lacute y -37 +KPX Lacute yacute -37 +KPX Lacute ydieresis -37 +KPX Lcommaaccent T -18 +KPX Lcommaaccent Tcaron -18 +KPX Lcommaaccent Tcommaaccent -18 +KPX Lcommaaccent V -37 +KPX Lcommaaccent W -37 +KPX Lcommaaccent Y -37 +KPX Lcommaaccent Yacute -37 +KPX Lcommaaccent Ydieresis -37 +KPX Lcommaaccent quoteright -55 +KPX Lcommaaccent y -37 +KPX Lcommaaccent yacute -37 +KPX Lcommaaccent ydieresis -37 +KPX Lslash T -18 +KPX Lslash Tcaron -18 +KPX Lslash Tcommaaccent -18 +KPX Lslash V -37 +KPX Lslash W -37 +KPX Lslash Y -37 +KPX Lslash Yacute -37 +KPX Lslash Ydieresis -37 +KPX Lslash quoteright -55 +KPX Lslash y -37 +KPX Lslash yacute -37 +KPX Lslash ydieresis -37 +KPX N A -30 +KPX N Aacute -30 +KPX N Abreve -30 +KPX N Acircumflex -30 +KPX N Adieresis -30 +KPX N Agrave -30 +KPX N Amacron -30 +KPX N Aogonek -30 +KPX N Aring -30 +KPX N Atilde -30 +KPX Nacute A -30 +KPX Nacute Aacute -30 +KPX Nacute Abreve -30 +KPX Nacute Acircumflex -30 +KPX Nacute Adieresis -30 +KPX Nacute Agrave -30 +KPX Nacute Amacron -30 +KPX Nacute Aogonek -30 +KPX Nacute Aring -30 +KPX Nacute Atilde -30 +KPX Ncaron A -30 +KPX Ncaron Aacute -30 +KPX Ncaron Abreve -30 +KPX Ncaron Acircumflex -30 +KPX Ncaron Adieresis -30 +KPX Ncaron Agrave -30 +KPX Ncaron Amacron -30 +KPX Ncaron Aogonek -30 +KPX Ncaron Aring -30 +KPX Ncaron Atilde -30 +KPX Ncommaaccent A -30 +KPX Ncommaaccent Aacute -30 +KPX Ncommaaccent Abreve -30 +KPX Ncommaaccent Acircumflex -30 +KPX Ncommaaccent Adieresis -30 +KPX Ncommaaccent Agrave -30 +KPX Ncommaaccent Amacron -30 +KPX Ncommaaccent Aogonek -30 +KPX Ncommaaccent Aring -30 +KPX Ncommaaccent Atilde -30 +KPX Ntilde A -30 +KPX Ntilde Aacute -30 +KPX Ntilde Abreve -30 +KPX Ntilde Acircumflex -30 +KPX Ntilde Adieresis -30 +KPX Ntilde Agrave -30 +KPX Ntilde Amacron -30 +KPX Ntilde Aogonek -30 +KPX Ntilde Aring -30 +KPX Ntilde Atilde -30 +KPX O A -40 +KPX O Aacute -40 +KPX O Abreve -40 +KPX O Acircumflex -40 +KPX O Adieresis -40 +KPX O Agrave -40 +KPX O Amacron -40 +KPX O Aogonek -40 +KPX O Aring -40 +KPX O Atilde -40 +KPX O T -40 +KPX O Tcaron -40 +KPX O Tcommaaccent -40 +KPX O V -50 +KPX O W -50 +KPX O X -40 +KPX O Y -50 +KPX O Yacute -50 +KPX O Ydieresis -50 +KPX Oacute A -40 +KPX Oacute Aacute -40 +KPX Oacute Abreve -40 +KPX Oacute Acircumflex -40 +KPX Oacute Adieresis -40 +KPX Oacute Agrave -40 +KPX Oacute Amacron -40 +KPX Oacute Aogonek -40 +KPX Oacute Aring -40 +KPX Oacute Atilde -40 +KPX Oacute T -40 +KPX Oacute Tcaron -40 +KPX Oacute Tcommaaccent -40 +KPX Oacute V -50 +KPX Oacute W -50 +KPX Oacute X -40 +KPX Oacute Y -50 +KPX Oacute Yacute -50 +KPX Oacute Ydieresis -50 +KPX Ocircumflex A -40 +KPX Ocircumflex Aacute -40 +KPX Ocircumflex Abreve -40 +KPX Ocircumflex Acircumflex -40 +KPX Ocircumflex Adieresis -40 +KPX Ocircumflex Agrave -40 +KPX Ocircumflex Amacron -40 +KPX Ocircumflex Aogonek -40 +KPX Ocircumflex Aring -40 +KPX Ocircumflex Atilde -40 +KPX Ocircumflex T -40 +KPX Ocircumflex Tcaron -40 +KPX Ocircumflex Tcommaaccent -40 +KPX Ocircumflex V -50 +KPX Ocircumflex W -50 +KPX Ocircumflex X -40 +KPX Ocircumflex Y -50 +KPX Ocircumflex Yacute -50 +KPX Ocircumflex Ydieresis -50 +KPX Odieresis A -40 +KPX Odieresis Aacute -40 +KPX Odieresis Abreve -40 +KPX Odieresis Acircumflex -40 +KPX Odieresis Adieresis -40 +KPX Odieresis Agrave -40 +KPX Odieresis Amacron -40 +KPX Odieresis Aogonek -40 +KPX Odieresis Aring -40 +KPX Odieresis Atilde -40 +KPX Odieresis T -40 +KPX Odieresis Tcaron -40 +KPX Odieresis Tcommaaccent -40 +KPX Odieresis V -50 +KPX Odieresis W -50 +KPX Odieresis X -40 +KPX Odieresis Y -50 +KPX Odieresis Yacute -50 +KPX Odieresis Ydieresis -50 +KPX Ograve A -40 +KPX Ograve Aacute -40 +KPX Ograve Abreve -40 +KPX Ograve Acircumflex -40 +KPX Ograve Adieresis -40 +KPX Ograve Agrave -40 +KPX Ograve Amacron -40 +KPX Ograve Aogonek -40 +KPX Ograve Aring -40 +KPX Ograve Atilde -40 +KPX Ograve T -40 +KPX Ograve Tcaron -40 +KPX Ograve Tcommaaccent -40 +KPX Ograve V -50 +KPX Ograve W -50 +KPX Ograve X -40 +KPX Ograve Y -50 +KPX Ograve Yacute -50 +KPX Ograve Ydieresis -50 +KPX Ohungarumlaut A -40 +KPX Ohungarumlaut Aacute -40 +KPX Ohungarumlaut Abreve -40 +KPX Ohungarumlaut Acircumflex -40 +KPX Ohungarumlaut Adieresis -40 +KPX Ohungarumlaut Agrave -40 +KPX Ohungarumlaut Amacron -40 +KPX Ohungarumlaut Aogonek -40 +KPX Ohungarumlaut Aring -40 +KPX Ohungarumlaut Atilde -40 +KPX Ohungarumlaut T -40 +KPX Ohungarumlaut Tcaron -40 +KPX Ohungarumlaut Tcommaaccent -40 +KPX Ohungarumlaut V -50 +KPX Ohungarumlaut W -50 +KPX Ohungarumlaut X -40 +KPX Ohungarumlaut Y -50 +KPX Ohungarumlaut Yacute -50 +KPX Ohungarumlaut Ydieresis -50 +KPX Omacron A -40 +KPX Omacron Aacute -40 +KPX Omacron Abreve -40 +KPX Omacron Acircumflex -40 +KPX Omacron Adieresis -40 +KPX Omacron Agrave -40 +KPX Omacron Amacron -40 +KPX Omacron Aogonek -40 +KPX Omacron Aring -40 +KPX Omacron Atilde -40 +KPX Omacron T -40 +KPX Omacron Tcaron -40 +KPX Omacron Tcommaaccent -40 +KPX Omacron V -50 +KPX Omacron W -50 +KPX Omacron X -40 +KPX Omacron Y -50 +KPX Omacron Yacute -50 +KPX Omacron Ydieresis -50 +KPX Oslash A -40 +KPX Oslash Aacute -40 +KPX Oslash Abreve -40 +KPX Oslash Acircumflex -40 +KPX Oslash Adieresis -40 +KPX Oslash Agrave -40 +KPX Oslash Amacron -40 +KPX Oslash Aogonek -40 +KPX Oslash Aring -40 +KPX Oslash Atilde -40 +KPX Oslash T -40 +KPX Oslash Tcaron -40 +KPX Oslash Tcommaaccent -40 +KPX Oslash V -50 +KPX Oslash W -50 +KPX Oslash X -40 +KPX Oslash Y -50 +KPX Oslash Yacute -50 +KPX Oslash Ydieresis -50 +KPX Otilde A -40 +KPX Otilde Aacute -40 +KPX Otilde Abreve -40 +KPX Otilde Acircumflex -40 +KPX Otilde Adieresis -40 +KPX Otilde Agrave -40 +KPX Otilde Amacron -40 +KPX Otilde Aogonek -40 +KPX Otilde Aring -40 +KPX Otilde Atilde -40 +KPX Otilde T -40 +KPX Otilde Tcaron -40 +KPX Otilde Tcommaaccent -40 +KPX Otilde V -50 +KPX Otilde W -50 +KPX Otilde X -40 +KPX Otilde Y -50 +KPX Otilde Yacute -50 +KPX Otilde Ydieresis -50 +KPX P A -85 +KPX P Aacute -85 +KPX P Abreve -85 +KPX P Acircumflex -85 +KPX P Adieresis -85 +KPX P Agrave -85 +KPX P Amacron -85 +KPX P Aogonek -85 +KPX P Aring -85 +KPX P Atilde -85 +KPX P a -40 +KPX P aacute -40 +KPX P abreve -40 +KPX P acircumflex -40 +KPX P adieresis -40 +KPX P agrave -40 +KPX P amacron -40 +KPX P aogonek -40 +KPX P aring -40 +KPX P atilde -40 +KPX P comma -129 +KPX P e -50 +KPX P eacute -50 +KPX P ecaron -50 +KPX P ecircumflex -50 +KPX P edieresis -50 +KPX P edotaccent -50 +KPX P egrave -50 +KPX P emacron -50 +KPX P eogonek -50 +KPX P o -55 +KPX P oacute -55 +KPX P ocircumflex -55 +KPX P odieresis -55 +KPX P ograve -55 +KPX P ohungarumlaut -55 +KPX P omacron -55 +KPX P oslash -55 +KPX P otilde -55 +KPX P period -129 +KPX Q U -10 +KPX Q Uacute -10 +KPX Q Ucircumflex -10 +KPX Q Udieresis -10 +KPX Q Ugrave -10 +KPX Q Uhungarumlaut -10 +KPX Q Umacron -10 +KPX Q Uogonek -10 +KPX Q Uring -10 +KPX R O -40 +KPX R Oacute -40 +KPX R Ocircumflex -40 +KPX R Odieresis -40 +KPX R Ograve -40 +KPX R Ohungarumlaut -40 +KPX R Omacron -40 +KPX R Oslash -40 +KPX R Otilde -40 +KPX R T -30 +KPX R Tcaron -30 +KPX R Tcommaaccent -30 +KPX R U -40 +KPX R Uacute -40 +KPX R Ucircumflex -40 +KPX R Udieresis -40 +KPX R Ugrave -40 +KPX R Uhungarumlaut -40 +KPX R Umacron -40 +KPX R Uogonek -40 +KPX R Uring -40 +KPX R V -18 +KPX R W -18 +KPX R Y -18 +KPX R Yacute -18 +KPX R Ydieresis -18 +KPX Racute O -40 +KPX Racute Oacute -40 +KPX Racute Ocircumflex -40 +KPX Racute Odieresis -40 +KPX Racute Ograve -40 +KPX Racute Ohungarumlaut -40 +KPX Racute Omacron -40 +KPX Racute Oslash -40 +KPX Racute Otilde -40 +KPX Racute T -30 +KPX Racute Tcaron -30 +KPX Racute Tcommaaccent -30 +KPX Racute U -40 +KPX Racute Uacute -40 +KPX Racute Ucircumflex -40 +KPX Racute Udieresis -40 +KPX Racute Ugrave -40 +KPX Racute Uhungarumlaut -40 +KPX Racute Umacron -40 +KPX Racute Uogonek -40 +KPX Racute Uring -40 +KPX Racute V -18 +KPX Racute W -18 +KPX Racute Y -18 +KPX Racute Yacute -18 +KPX Racute Ydieresis -18 +KPX Rcaron O -40 +KPX Rcaron Oacute -40 +KPX Rcaron Ocircumflex -40 +KPX Rcaron Odieresis -40 +KPX Rcaron Ograve -40 +KPX Rcaron Ohungarumlaut -40 +KPX Rcaron Omacron -40 +KPX Rcaron Oslash -40 +KPX Rcaron Otilde -40 +KPX Rcaron T -30 +KPX Rcaron Tcaron -30 +KPX Rcaron Tcommaaccent -30 +KPX Rcaron U -40 +KPX Rcaron Uacute -40 +KPX Rcaron Ucircumflex -40 +KPX Rcaron Udieresis -40 +KPX Rcaron Ugrave -40 +KPX Rcaron Uhungarumlaut -40 +KPX Rcaron Umacron -40 +KPX Rcaron Uogonek -40 +KPX Rcaron Uring -40 +KPX Rcaron V -18 +KPX Rcaron W -18 +KPX Rcaron Y -18 +KPX Rcaron Yacute -18 +KPX Rcaron Ydieresis -18 +KPX Rcommaaccent O -40 +KPX Rcommaaccent Oacute -40 +KPX Rcommaaccent Ocircumflex -40 +KPX Rcommaaccent Odieresis -40 +KPX Rcommaaccent Ograve -40 +KPX Rcommaaccent Ohungarumlaut -40 +KPX Rcommaaccent Omacron -40 +KPX Rcommaaccent Oslash -40 +KPX Rcommaaccent Otilde -40 +KPX Rcommaaccent T -30 +KPX Rcommaaccent Tcaron -30 +KPX Rcommaaccent Tcommaaccent -30 +KPX Rcommaaccent U -40 +KPX Rcommaaccent Uacute -40 +KPX Rcommaaccent Ucircumflex -40 +KPX Rcommaaccent Udieresis -40 +KPX Rcommaaccent Ugrave -40 +KPX Rcommaaccent Uhungarumlaut -40 +KPX Rcommaaccent Umacron -40 +KPX Rcommaaccent Uogonek -40 +KPX Rcommaaccent Uring -40 +KPX Rcommaaccent V -18 +KPX Rcommaaccent W -18 +KPX Rcommaaccent Y -18 +KPX Rcommaaccent Yacute -18 +KPX Rcommaaccent Ydieresis -18 +KPX T A -55 +KPX T Aacute -55 +KPX T Abreve -55 +KPX T Acircumflex -55 +KPX T Adieresis -55 +KPX T Agrave -55 +KPX T Amacron -55 +KPX T Aogonek -55 +KPX T Aring -55 +KPX T Atilde -55 +KPX T O -18 +KPX T Oacute -18 +KPX T Ocircumflex -18 +KPX T Odieresis -18 +KPX T Ograve -18 +KPX T Ohungarumlaut -18 +KPX T Omacron -18 +KPX T Oslash -18 +KPX T Otilde -18 +KPX T a -92 +KPX T aacute -92 +KPX T abreve -92 +KPX T acircumflex -92 +KPX T adieresis -92 +KPX T agrave -92 +KPX T amacron -92 +KPX T aogonek -92 +KPX T aring -92 +KPX T atilde -92 +KPX T colon -74 +KPX T comma -92 +KPX T e -92 +KPX T eacute -92 +KPX T ecaron -92 +KPX T ecircumflex -92 +KPX T edieresis -52 +KPX T edotaccent -92 +KPX T egrave -52 +KPX T emacron -52 +KPX T eogonek -92 +KPX T hyphen -92 +KPX T i -37 +KPX T iacute -37 +KPX T iogonek -37 +KPX T o -95 +KPX T oacute -95 +KPX T ocircumflex -95 +KPX T odieresis -95 +KPX T ograve -95 +KPX T ohungarumlaut -95 +KPX T omacron -95 +KPX T oslash -95 +KPX T otilde -95 +KPX T period -92 +KPX T r -37 +KPX T racute -37 +KPX T rcaron -37 +KPX T rcommaaccent -37 +KPX T semicolon -74 +KPX T u -37 +KPX T uacute -37 +KPX T ucircumflex -37 +KPX T udieresis -37 +KPX T ugrave -37 +KPX T uhungarumlaut -37 +KPX T umacron -37 +KPX T uogonek -37 +KPX T uring -37 +KPX T w -37 +KPX T y -37 +KPX T yacute -37 +KPX T ydieresis -37 +KPX Tcaron A -55 +KPX Tcaron Aacute -55 +KPX Tcaron Abreve -55 +KPX Tcaron Acircumflex -55 +KPX Tcaron Adieresis -55 +KPX Tcaron Agrave -55 +KPX Tcaron Amacron -55 +KPX Tcaron Aogonek -55 +KPX Tcaron Aring -55 +KPX Tcaron Atilde -55 +KPX Tcaron O -18 +KPX Tcaron Oacute -18 +KPX Tcaron Ocircumflex -18 +KPX Tcaron Odieresis -18 +KPX Tcaron Ograve -18 +KPX Tcaron Ohungarumlaut -18 +KPX Tcaron Omacron -18 +KPX Tcaron Oslash -18 +KPX Tcaron Otilde -18 +KPX Tcaron a -92 +KPX Tcaron aacute -92 +KPX Tcaron abreve -92 +KPX Tcaron acircumflex -92 +KPX Tcaron adieresis -92 +KPX Tcaron agrave -92 +KPX Tcaron amacron -92 +KPX Tcaron aogonek -92 +KPX Tcaron aring -92 +KPX Tcaron atilde -92 +KPX Tcaron colon -74 +KPX Tcaron comma -92 +KPX Tcaron e -92 +KPX Tcaron eacute -92 +KPX Tcaron ecaron -92 +KPX Tcaron ecircumflex -92 +KPX Tcaron edieresis -52 +KPX Tcaron edotaccent -92 +KPX Tcaron egrave -52 +KPX Tcaron emacron -52 +KPX Tcaron eogonek -92 +KPX Tcaron hyphen -92 +KPX Tcaron i -37 +KPX Tcaron iacute -37 +KPX Tcaron iogonek -37 +KPX Tcaron o -95 +KPX Tcaron oacute -95 +KPX Tcaron ocircumflex -95 +KPX Tcaron odieresis -95 +KPX Tcaron ograve -95 +KPX Tcaron ohungarumlaut -95 +KPX Tcaron omacron -95 +KPX Tcaron oslash -95 +KPX Tcaron otilde -95 +KPX Tcaron period -92 +KPX Tcaron r -37 +KPX Tcaron racute -37 +KPX Tcaron rcaron -37 +KPX Tcaron rcommaaccent -37 +KPX Tcaron semicolon -74 +KPX Tcaron u -37 +KPX Tcaron uacute -37 +KPX Tcaron ucircumflex -37 +KPX Tcaron udieresis -37 +KPX Tcaron ugrave -37 +KPX Tcaron uhungarumlaut -37 +KPX Tcaron umacron -37 +KPX Tcaron uogonek -37 +KPX Tcaron uring -37 +KPX Tcaron w -37 +KPX Tcaron y -37 +KPX Tcaron yacute -37 +KPX Tcaron ydieresis -37 +KPX Tcommaaccent A -55 +KPX Tcommaaccent Aacute -55 +KPX Tcommaaccent Abreve -55 +KPX Tcommaaccent Acircumflex -55 +KPX Tcommaaccent Adieresis -55 +KPX Tcommaaccent Agrave -55 +KPX Tcommaaccent Amacron -55 +KPX Tcommaaccent Aogonek -55 +KPX Tcommaaccent Aring -55 +KPX Tcommaaccent Atilde -55 +KPX Tcommaaccent O -18 +KPX Tcommaaccent Oacute -18 +KPX Tcommaaccent Ocircumflex -18 +KPX Tcommaaccent Odieresis -18 +KPX Tcommaaccent Ograve -18 +KPX Tcommaaccent Ohungarumlaut -18 +KPX Tcommaaccent Omacron -18 +KPX Tcommaaccent Oslash -18 +KPX Tcommaaccent Otilde -18 +KPX Tcommaaccent a -92 +KPX Tcommaaccent aacute -92 +KPX Tcommaaccent abreve -92 +KPX Tcommaaccent acircumflex -92 +KPX Tcommaaccent adieresis -92 +KPX Tcommaaccent agrave -92 +KPX Tcommaaccent amacron -92 +KPX Tcommaaccent aogonek -92 +KPX Tcommaaccent aring -92 +KPX Tcommaaccent atilde -92 +KPX Tcommaaccent colon -74 +KPX Tcommaaccent comma -92 +KPX Tcommaaccent e -92 +KPX Tcommaaccent eacute -92 +KPX Tcommaaccent ecaron -92 +KPX Tcommaaccent ecircumflex -92 +KPX Tcommaaccent edieresis -52 +KPX Tcommaaccent edotaccent -92 +KPX Tcommaaccent egrave -52 +KPX Tcommaaccent emacron -52 +KPX Tcommaaccent eogonek -92 +KPX Tcommaaccent hyphen -92 +KPX Tcommaaccent i -37 +KPX Tcommaaccent iacute -37 +KPX Tcommaaccent iogonek -37 +KPX Tcommaaccent o -95 +KPX Tcommaaccent oacute -95 +KPX Tcommaaccent ocircumflex -95 +KPX Tcommaaccent odieresis -95 +KPX Tcommaaccent ograve -95 +KPX Tcommaaccent ohungarumlaut -95 +KPX Tcommaaccent omacron -95 +KPX Tcommaaccent oslash -95 +KPX Tcommaaccent otilde -95 +KPX Tcommaaccent period -92 +KPX Tcommaaccent r -37 +KPX Tcommaaccent racute -37 +KPX Tcommaaccent rcaron -37 +KPX Tcommaaccent rcommaaccent -37 +KPX Tcommaaccent semicolon -74 +KPX Tcommaaccent u -37 +KPX Tcommaaccent uacute -37 +KPX Tcommaaccent ucircumflex -37 +KPX Tcommaaccent udieresis -37 +KPX Tcommaaccent ugrave -37 +KPX Tcommaaccent uhungarumlaut -37 +KPX Tcommaaccent umacron -37 +KPX Tcommaaccent uogonek -37 +KPX Tcommaaccent uring -37 +KPX Tcommaaccent w -37 +KPX Tcommaaccent y -37 +KPX Tcommaaccent yacute -37 +KPX Tcommaaccent ydieresis -37 +KPX U A -45 +KPX U Aacute -45 +KPX U Abreve -45 +KPX U Acircumflex -45 +KPX U Adieresis -45 +KPX U Agrave -45 +KPX U Amacron -45 +KPX U Aogonek -45 +KPX U Aring -45 +KPX U Atilde -45 +KPX Uacute A -45 +KPX Uacute Aacute -45 +KPX Uacute Abreve -45 +KPX Uacute Acircumflex -45 +KPX Uacute Adieresis -45 +KPX Uacute Agrave -45 +KPX Uacute Amacron -45 +KPX Uacute Aogonek -45 +KPX Uacute Aring -45 +KPX Uacute Atilde -45 +KPX Ucircumflex A -45 +KPX Ucircumflex Aacute -45 +KPX Ucircumflex Abreve -45 +KPX Ucircumflex Acircumflex -45 +KPX Ucircumflex Adieresis -45 +KPX Ucircumflex Agrave -45 +KPX Ucircumflex Amacron -45 +KPX Ucircumflex Aogonek -45 +KPX Ucircumflex Aring -45 +KPX Ucircumflex Atilde -45 +KPX Udieresis A -45 +KPX Udieresis Aacute -45 +KPX Udieresis Abreve -45 +KPX Udieresis Acircumflex -45 +KPX Udieresis Adieresis -45 +KPX Udieresis Agrave -45 +KPX Udieresis Amacron -45 +KPX Udieresis Aogonek -45 +KPX Udieresis Aring -45 +KPX Udieresis Atilde -45 +KPX Ugrave A -45 +KPX Ugrave Aacute -45 +KPX Ugrave Abreve -45 +KPX Ugrave Acircumflex -45 +KPX Ugrave Adieresis -45 +KPX Ugrave Agrave -45 +KPX Ugrave Amacron -45 +KPX Ugrave Aogonek -45 +KPX Ugrave Aring -45 +KPX Ugrave Atilde -45 +KPX Uhungarumlaut A -45 +KPX Uhungarumlaut Aacute -45 +KPX Uhungarumlaut Abreve -45 +KPX Uhungarumlaut Acircumflex -45 +KPX Uhungarumlaut Adieresis -45 +KPX Uhungarumlaut Agrave -45 +KPX Uhungarumlaut Amacron -45 +KPX Uhungarumlaut Aogonek -45 +KPX Uhungarumlaut Aring -45 +KPX Uhungarumlaut Atilde -45 +KPX Umacron A -45 +KPX Umacron Aacute -45 +KPX Umacron Abreve -45 +KPX Umacron Acircumflex -45 +KPX Umacron Adieresis -45 +KPX Umacron Agrave -45 +KPX Umacron Amacron -45 +KPX Umacron Aogonek -45 +KPX Umacron Aring -45 +KPX Umacron Atilde -45 +KPX Uogonek A -45 +KPX Uogonek Aacute -45 +KPX Uogonek Abreve -45 +KPX Uogonek Acircumflex -45 +KPX Uogonek Adieresis -45 +KPX Uogonek Agrave -45 +KPX Uogonek Amacron -45 +KPX Uogonek Aogonek -45 +KPX Uogonek Aring -45 +KPX Uogonek Atilde -45 +KPX Uring A -45 +KPX Uring Aacute -45 +KPX Uring Abreve -45 +KPX Uring Acircumflex -45 +KPX Uring Adieresis -45 +KPX Uring Agrave -45 +KPX Uring Amacron -45 +KPX Uring Aogonek -45 +KPX Uring Aring -45 +KPX Uring Atilde -45 +KPX V A -85 +KPX V Aacute -85 +KPX V Abreve -85 +KPX V Acircumflex -85 +KPX V Adieresis -85 +KPX V Agrave -85 +KPX V Amacron -85 +KPX V Aogonek -85 +KPX V Aring -85 +KPX V Atilde -85 +KPX V G -10 +KPX V Gbreve -10 +KPX V Gcommaaccent -10 +KPX V O -30 +KPX V Oacute -30 +KPX V Ocircumflex -30 +KPX V Odieresis -30 +KPX V Ograve -30 +KPX V Ohungarumlaut -30 +KPX V Omacron -30 +KPX V Oslash -30 +KPX V Otilde -30 +KPX V a -111 +KPX V aacute -111 +KPX V abreve -111 +KPX V acircumflex -111 +KPX V adieresis -111 +KPX V agrave -111 +KPX V amacron -111 +KPX V aogonek -111 +KPX V aring -111 +KPX V atilde -111 +KPX V colon -74 +KPX V comma -129 +KPX V e -111 +KPX V eacute -111 +KPX V ecaron -111 +KPX V ecircumflex -111 +KPX V edieresis -71 +KPX V edotaccent -111 +KPX V egrave -71 +KPX V emacron -71 +KPX V eogonek -111 +KPX V hyphen -70 +KPX V i -55 +KPX V iacute -55 +KPX V iogonek -55 +KPX V o -111 +KPX V oacute -111 +KPX V ocircumflex -111 +KPX V odieresis -111 +KPX V ograve -111 +KPX V ohungarumlaut -111 +KPX V omacron -111 +KPX V oslash -111 +KPX V otilde -111 +KPX V period -129 +KPX V semicolon -74 +KPX V u -55 +KPX V uacute -55 +KPX V ucircumflex -55 +KPX V udieresis -55 +KPX V ugrave -55 +KPX V uhungarumlaut -55 +KPX V umacron -55 +KPX V uogonek -55 +KPX V uring -55 +KPX W A -74 +KPX W Aacute -74 +KPX W Abreve -74 +KPX W Acircumflex -74 +KPX W Adieresis -74 +KPX W Agrave -74 +KPX W Amacron -74 +KPX W Aogonek -74 +KPX W Aring -74 +KPX W Atilde -74 +KPX W O -15 +KPX W Oacute -15 +KPX W Ocircumflex -15 +KPX W Odieresis -15 +KPX W Ograve -15 +KPX W Ohungarumlaut -15 +KPX W Omacron -15 +KPX W Oslash -15 +KPX W Otilde -15 +KPX W a -85 +KPX W aacute -85 +KPX W abreve -85 +KPX W acircumflex -85 +KPX W adieresis -85 +KPX W agrave -85 +KPX W amacron -85 +KPX W aogonek -85 +KPX W aring -85 +KPX W atilde -85 +KPX W colon -55 +KPX W comma -74 +KPX W e -90 +KPX W eacute -90 +KPX W ecaron -90 +KPX W ecircumflex -90 +KPX W edieresis -50 +KPX W edotaccent -90 +KPX W egrave -50 +KPX W emacron -50 +KPX W eogonek -90 +KPX W hyphen -50 +KPX W i -37 +KPX W iacute -37 +KPX W iogonek -37 +KPX W o -80 +KPX W oacute -80 +KPX W ocircumflex -80 +KPX W odieresis -80 +KPX W ograve -80 +KPX W ohungarumlaut -80 +KPX W omacron -80 +KPX W oslash -80 +KPX W otilde -80 +KPX W period -74 +KPX W semicolon -55 +KPX W u -55 +KPX W uacute -55 +KPX W ucircumflex -55 +KPX W udieresis -55 +KPX W ugrave -55 +KPX W uhungarumlaut -55 +KPX W umacron -55 +KPX W uogonek -55 +KPX W uring -55 +KPX W y -55 +KPX W yacute -55 +KPX W ydieresis -55 +KPX Y A -74 +KPX Y Aacute -74 +KPX Y Abreve -74 +KPX Y Acircumflex -74 +KPX Y Adieresis -74 +KPX Y Agrave -74 +KPX Y Amacron -74 +KPX Y Aogonek -74 +KPX Y Aring -74 +KPX Y Atilde -74 +KPX Y O -25 +KPX Y Oacute -25 +KPX Y Ocircumflex -25 +KPX Y Odieresis -25 +KPX Y Ograve -25 +KPX Y Ohungarumlaut -25 +KPX Y Omacron -25 +KPX Y Oslash -25 +KPX Y Otilde -25 +KPX Y a -92 +KPX Y aacute -92 +KPX Y abreve -92 +KPX Y acircumflex -92 +KPX Y adieresis -92 +KPX Y agrave -92 +KPX Y amacron -92 +KPX Y aogonek -92 +KPX Y aring -92 +KPX Y atilde -92 +KPX Y colon -92 +KPX Y comma -92 +KPX Y e -111 +KPX Y eacute -111 +KPX Y ecaron -111 +KPX Y ecircumflex -71 +KPX Y edieresis -71 +KPX Y edotaccent -111 +KPX Y egrave -71 +KPX Y emacron -71 +KPX Y eogonek -111 +KPX Y hyphen -92 +KPX Y i -55 +KPX Y iacute -55 +KPX Y iogonek -55 +KPX Y o -111 +KPX Y oacute -111 +KPX Y ocircumflex -111 +KPX Y odieresis -111 +KPX Y ograve -111 +KPX Y ohungarumlaut -111 +KPX Y omacron -111 +KPX Y oslash -111 +KPX Y otilde -111 +KPX Y period -74 +KPX Y semicolon -92 +KPX Y u -92 +KPX Y uacute -92 +KPX Y ucircumflex -92 +KPX Y udieresis -92 +KPX Y ugrave -92 +KPX Y uhungarumlaut -92 +KPX Y umacron -92 +KPX Y uogonek -92 +KPX Y uring -92 +KPX Yacute A -74 +KPX Yacute Aacute -74 +KPX Yacute Abreve -74 +KPX Yacute Acircumflex -74 +KPX Yacute Adieresis -74 +KPX Yacute Agrave -74 +KPX Yacute Amacron -74 +KPX Yacute Aogonek -74 +KPX Yacute Aring -74 +KPX Yacute Atilde -74 +KPX Yacute O -25 +KPX Yacute Oacute -25 +KPX Yacute Ocircumflex -25 +KPX Yacute Odieresis -25 +KPX Yacute Ograve -25 +KPX Yacute Ohungarumlaut -25 +KPX Yacute Omacron -25 +KPX Yacute Oslash -25 +KPX Yacute Otilde -25 +KPX Yacute a -92 +KPX Yacute aacute -92 +KPX Yacute abreve -92 +KPX Yacute acircumflex -92 +KPX Yacute adieresis -92 +KPX Yacute agrave -92 +KPX Yacute amacron -92 +KPX Yacute aogonek -92 +KPX Yacute aring -92 +KPX Yacute atilde -92 +KPX Yacute colon -92 +KPX Yacute comma -92 +KPX Yacute e -111 +KPX Yacute eacute -111 +KPX Yacute ecaron -111 +KPX Yacute ecircumflex -71 +KPX Yacute edieresis -71 +KPX Yacute edotaccent -111 +KPX Yacute egrave -71 +KPX Yacute emacron -71 +KPX Yacute eogonek -111 +KPX Yacute hyphen -92 +KPX Yacute i -55 +KPX Yacute iacute -55 +KPX Yacute iogonek -55 +KPX Yacute o -111 +KPX Yacute oacute -111 +KPX Yacute ocircumflex -111 +KPX Yacute odieresis -111 +KPX Yacute ograve -111 +KPX Yacute ohungarumlaut -111 +KPX Yacute omacron -111 +KPX Yacute oslash -111 +KPX Yacute otilde -111 +KPX Yacute period -74 +KPX Yacute semicolon -92 +KPX Yacute u -92 +KPX Yacute uacute -92 +KPX Yacute ucircumflex -92 +KPX Yacute udieresis -92 +KPX Yacute ugrave -92 +KPX Yacute uhungarumlaut -92 +KPX Yacute umacron -92 +KPX Yacute uogonek -92 +KPX Yacute uring -92 +KPX Ydieresis A -74 +KPX Ydieresis Aacute -74 +KPX Ydieresis Abreve -74 +KPX Ydieresis Acircumflex -74 +KPX Ydieresis Adieresis -74 +KPX Ydieresis Agrave -74 +KPX Ydieresis Amacron -74 +KPX Ydieresis Aogonek -74 +KPX Ydieresis Aring -74 +KPX Ydieresis Atilde -74 +KPX Ydieresis O -25 +KPX Ydieresis Oacute -25 +KPX Ydieresis Ocircumflex -25 +KPX Ydieresis Odieresis -25 +KPX Ydieresis Ograve -25 +KPX Ydieresis Ohungarumlaut -25 +KPX Ydieresis Omacron -25 +KPX Ydieresis Oslash -25 +KPX Ydieresis Otilde -25 +KPX Ydieresis a -92 +KPX Ydieresis aacute -92 +KPX Ydieresis abreve -92 +KPX Ydieresis acircumflex -92 +KPX Ydieresis adieresis -92 +KPX Ydieresis agrave -92 +KPX Ydieresis amacron -92 +KPX Ydieresis aogonek -92 +KPX Ydieresis aring -92 +KPX Ydieresis atilde -92 +KPX Ydieresis colon -92 +KPX Ydieresis comma -92 +KPX Ydieresis e -111 +KPX Ydieresis eacute -111 +KPX Ydieresis ecaron -111 +KPX Ydieresis ecircumflex -71 +KPX Ydieresis edieresis -71 +KPX Ydieresis edotaccent -111 +KPX Ydieresis egrave -71 +KPX Ydieresis emacron -71 +KPX Ydieresis eogonek -111 +KPX Ydieresis hyphen -92 +KPX Ydieresis i -55 +KPX Ydieresis iacute -55 +KPX Ydieresis iogonek -55 +KPX Ydieresis o -111 +KPX Ydieresis oacute -111 +KPX Ydieresis ocircumflex -111 +KPX Ydieresis odieresis -111 +KPX Ydieresis ograve -111 +KPX Ydieresis ohungarumlaut -111 +KPX Ydieresis omacron -111 +KPX Ydieresis oslash -111 +KPX Ydieresis otilde -111 +KPX Ydieresis period -74 +KPX Ydieresis semicolon -92 +KPX Ydieresis u -92 +KPX Ydieresis uacute -92 +KPX Ydieresis ucircumflex -92 +KPX Ydieresis udieresis -92 +KPX Ydieresis ugrave -92 +KPX Ydieresis uhungarumlaut -92 +KPX Ydieresis umacron -92 +KPX Ydieresis uogonek -92 +KPX Ydieresis uring -92 +KPX b b -10 +KPX b period -40 +KPX b u -20 +KPX b uacute -20 +KPX b ucircumflex -20 +KPX b udieresis -20 +KPX b ugrave -20 +KPX b uhungarumlaut -20 +KPX b umacron -20 +KPX b uogonek -20 +KPX b uring -20 +KPX c h -10 +KPX c k -10 +KPX c kcommaaccent -10 +KPX cacute h -10 +KPX cacute k -10 +KPX cacute kcommaaccent -10 +KPX ccaron h -10 +KPX ccaron k -10 +KPX ccaron kcommaaccent -10 +KPX ccedilla h -10 +KPX ccedilla k -10 +KPX ccedilla kcommaaccent -10 +KPX comma quotedblright -95 +KPX comma quoteright -95 +KPX e b -10 +KPX eacute b -10 +KPX ecaron b -10 +KPX ecircumflex b -10 +KPX edieresis b -10 +KPX edotaccent b -10 +KPX egrave b -10 +KPX emacron b -10 +KPX eogonek b -10 +KPX f comma -10 +KPX f dotlessi -30 +KPX f e -10 +KPX f eacute -10 +KPX f edotaccent -10 +KPX f eogonek -10 +KPX f f -18 +KPX f o -10 +KPX f oacute -10 +KPX f ocircumflex -10 +KPX f ograve -10 +KPX f ohungarumlaut -10 +KPX f oslash -10 +KPX f otilde -10 +KPX f period -10 +KPX f quoteright 55 +KPX k e -30 +KPX k eacute -30 +KPX k ecaron -30 +KPX k ecircumflex -30 +KPX k edieresis -30 +KPX k edotaccent -30 +KPX k egrave -30 +KPX k emacron -30 +KPX k eogonek -30 +KPX k o -10 +KPX k oacute -10 +KPX k ocircumflex -10 +KPX k odieresis -10 +KPX k ograve -10 +KPX k ohungarumlaut -10 +KPX k omacron -10 +KPX k oslash -10 +KPX k otilde -10 +KPX kcommaaccent e -30 +KPX kcommaaccent eacute -30 +KPX kcommaaccent ecaron -30 +KPX kcommaaccent ecircumflex -30 +KPX kcommaaccent edieresis -30 +KPX kcommaaccent edotaccent -30 +KPX kcommaaccent egrave -30 +KPX kcommaaccent emacron -30 +KPX kcommaaccent eogonek -30 +KPX kcommaaccent o -10 +KPX kcommaaccent oacute -10 +KPX kcommaaccent ocircumflex -10 +KPX kcommaaccent odieresis -10 +KPX kcommaaccent ograve -10 +KPX kcommaaccent ohungarumlaut -10 +KPX kcommaaccent omacron -10 +KPX kcommaaccent oslash -10 +KPX kcommaaccent otilde -10 +KPX n v -40 +KPX nacute v -40 +KPX ncaron v -40 +KPX ncommaaccent v -40 +KPX ntilde v -40 +KPX o v -15 +KPX o w -25 +KPX o x -10 +KPX o y -10 +KPX o yacute -10 +KPX o ydieresis -10 +KPX oacute v -15 +KPX oacute w -25 +KPX oacute x -10 +KPX oacute y -10 +KPX oacute yacute -10 +KPX oacute ydieresis -10 +KPX ocircumflex v -15 +KPX ocircumflex w -25 +KPX ocircumflex x -10 +KPX ocircumflex y -10 +KPX ocircumflex yacute -10 +KPX ocircumflex ydieresis -10 +KPX odieresis v -15 +KPX odieresis w -25 +KPX odieresis x -10 +KPX odieresis y -10 +KPX odieresis yacute -10 +KPX odieresis ydieresis -10 +KPX ograve v -15 +KPX ograve w -25 +KPX ograve x -10 +KPX ograve y -10 +KPX ograve yacute -10 +KPX ograve ydieresis -10 +KPX ohungarumlaut v -15 +KPX ohungarumlaut w -25 +KPX ohungarumlaut x -10 +KPX ohungarumlaut y -10 +KPX ohungarumlaut yacute -10 +KPX ohungarumlaut ydieresis -10 +KPX omacron v -15 +KPX omacron w -25 +KPX omacron x -10 +KPX omacron y -10 +KPX omacron yacute -10 +KPX omacron ydieresis -10 +KPX oslash v -15 +KPX oslash w -25 +KPX oslash x -10 +KPX oslash y -10 +KPX oslash yacute -10 +KPX oslash ydieresis -10 +KPX otilde v -15 +KPX otilde w -25 +KPX otilde x -10 +KPX otilde y -10 +KPX otilde yacute -10 +KPX otilde ydieresis -10 +KPX period quotedblright -95 +KPX period quoteright -95 +KPX quoteleft quoteleft -74 +KPX quoteright d -15 +KPX quoteright dcroat -15 +KPX quoteright quoteright -74 +KPX quoteright r -15 +KPX quoteright racute -15 +KPX quoteright rcaron -15 +KPX quoteright rcommaaccent -15 +KPX quoteright s -74 +KPX quoteright sacute -74 +KPX quoteright scaron -74 +KPX quoteright scedilla -74 +KPX quoteright scommaaccent -74 +KPX quoteright space -74 +KPX quoteright t -37 +KPX quoteright tcommaaccent -37 +KPX quoteright v -15 +KPX r comma -65 +KPX r period -65 +KPX racute comma -65 +KPX racute period -65 +KPX rcaron comma -65 +KPX rcaron period -65 +KPX rcommaaccent comma -65 +KPX rcommaaccent period -65 +KPX space A -37 +KPX space Aacute -37 +KPX space Abreve -37 +KPX space Acircumflex -37 +KPX space Adieresis -37 +KPX space Agrave -37 +KPX space Amacron -37 +KPX space Aogonek -37 +KPX space Aring -37 +KPX space Atilde -37 +KPX space V -70 +KPX space W -70 +KPX space Y -70 +KPX space Yacute -70 +KPX space Ydieresis -70 +KPX v comma -37 +KPX v e -15 +KPX v eacute -15 +KPX v ecaron -15 +KPX v ecircumflex -15 +KPX v edieresis -15 +KPX v edotaccent -15 +KPX v egrave -15 +KPX v emacron -15 +KPX v eogonek -15 +KPX v o -15 +KPX v oacute -15 +KPX v ocircumflex -15 +KPX v odieresis -15 +KPX v ograve -15 +KPX v ohungarumlaut -15 +KPX v omacron -15 +KPX v oslash -15 +KPX v otilde -15 +KPX v period -37 +KPX w a -10 +KPX w aacute -10 +KPX w abreve -10 +KPX w acircumflex -10 +KPX w adieresis -10 +KPX w agrave -10 +KPX w amacron -10 +KPX w aogonek -10 +KPX w aring -10 +KPX w atilde -10 +KPX w comma -37 +KPX w e -10 +KPX w eacute -10 +KPX w ecaron -10 +KPX w ecircumflex -10 +KPX w edieresis -10 +KPX w edotaccent -10 +KPX w egrave -10 +KPX w emacron -10 +KPX w eogonek -10 +KPX w o -15 +KPX w oacute -15 +KPX w ocircumflex -15 +KPX w odieresis -15 +KPX w ograve -15 +KPX w ohungarumlaut -15 +KPX w omacron -15 +KPX w oslash -15 +KPX w otilde -15 +KPX w period -37 +KPX x e -10 +KPX x eacute -10 +KPX x ecaron -10 +KPX x ecircumflex -10 +KPX x edieresis -10 +KPX x edotaccent -10 +KPX x egrave -10 +KPX x emacron -10 +KPX x eogonek -10 +KPX y comma -37 +KPX y period -37 +KPX yacute comma -37 +KPX yacute period -37 +KPX ydieresis comma -37 +KPX ydieresis period -37 +EndKernPairs +EndKernData +EndFontMetrics diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/PDF/default/templates/fonts/Times-Italic.afm b/buildscripts/PhpDocumentor/phpDocumentor/Converters/PDF/default/templates/fonts/Times-Italic.afm new file mode 100755 index 00000000..b0eaee40 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/PDF/default/templates/fonts/Times-Italic.afm @@ -0,0 +1,2667 @@ +StartFontMetrics 4.1 +Comment Copyright (c) 1985, 1987, 1989, 1990, 1993, 1997 Adobe Systems Incorporated. All Rights Reserved. +Comment Creation Date: Thu May 1 12:56:55 1997 +Comment UniqueID 43067 +Comment VMusage 47727 58752 +FontName Times-Italic +FullName Times Italic +FamilyName Times +Weight Medium +ItalicAngle -15.5 +IsFixedPitch false +CharacterSet ExtendedRoman +FontBBox -169 -217 1010 883 +UnderlinePosition -100 +UnderlineThickness 50 +Version 002.000 +Notice Copyright (c) 1985, 1987, 1989, 1990, 1993, 1997 Adobe Systems Incorporated. All Rights Reserved.Times is a trademark of Linotype-Hell AG and/or its subsidiaries. +EncodingScheme AdobeStandardEncoding +CapHeight 653 +XHeight 441 +Ascender 683 +Descender -217 +StdHW 32 +StdVW 76 +StartCharMetrics 315 +C 32 ; WX 250 ; N space ; B 0 0 0 0 ; +C 33 ; WX 333 ; N exclam ; B 39 -11 302 667 ; +C 34 ; WX 420 ; N quotedbl ; B 144 421 432 666 ; +C 35 ; WX 500 ; N numbersign ; B 2 0 540 676 ; +C 36 ; WX 500 ; N dollar ; B 31 -89 497 731 ; +C 37 ; WX 833 ; N percent ; B 79 -13 790 676 ; +C 38 ; WX 778 ; N ampersand ; B 76 -18 723 666 ; +C 39 ; WX 333 ; N quoteright ; B 151 436 290 666 ; +C 40 ; WX 333 ; N parenleft ; B 42 -181 315 669 ; +C 41 ; WX 333 ; N parenright ; B 16 -180 289 669 ; +C 42 ; WX 500 ; N asterisk ; B 128 255 492 666 ; +C 43 ; WX 675 ; N plus ; B 86 0 590 506 ; +C 44 ; WX 250 ; N comma ; B -4 -129 135 101 ; +C 45 ; WX 333 ; N hyphen ; B 49 192 282 255 ; +C 46 ; WX 250 ; N period ; B 27 -11 138 100 ; +C 47 ; WX 278 ; N slash ; B -65 -18 386 666 ; +C 48 ; WX 500 ; N zero ; B 32 -7 497 676 ; +C 49 ; WX 500 ; N one ; B 49 0 409 676 ; +C 50 ; WX 500 ; N two ; B 12 0 452 676 ; +C 51 ; WX 500 ; N three ; B 15 -7 465 676 ; +C 52 ; WX 500 ; N four ; B 1 0 479 676 ; +C 53 ; WX 500 ; N five ; B 15 -7 491 666 ; +C 54 ; WX 500 ; N six ; B 30 -7 521 686 ; +C 55 ; WX 500 ; N seven ; B 75 -8 537 666 ; +C 56 ; WX 500 ; N eight ; B 30 -7 493 676 ; +C 57 ; WX 500 ; N nine ; B 23 -17 492 676 ; +C 58 ; WX 333 ; N colon ; B 50 -11 261 441 ; +C 59 ; WX 333 ; N semicolon ; B 27 -129 261 441 ; +C 60 ; WX 675 ; N less ; B 84 -8 592 514 ; +C 61 ; WX 675 ; N equal ; B 86 120 590 386 ; +C 62 ; WX 675 ; N greater ; B 84 -8 592 514 ; +C 63 ; WX 500 ; N question ; B 132 -12 472 664 ; +C 64 ; WX 920 ; N at ; B 118 -18 806 666 ; +C 65 ; WX 611 ; N A ; B -51 0 564 668 ; +C 66 ; WX 611 ; N B ; B -8 0 588 653 ; +C 67 ; WX 667 ; N C ; B 66 -18 689 666 ; +C 68 ; WX 722 ; N D ; B -8 0 700 653 ; +C 69 ; WX 611 ; N E ; B -1 0 634 653 ; +C 70 ; WX 611 ; N F ; B 8 0 645 653 ; +C 71 ; WX 722 ; N G ; B 52 -18 722 666 ; +C 72 ; WX 722 ; N H ; B -8 0 767 653 ; +C 73 ; WX 333 ; N I ; B -8 0 384 653 ; +C 74 ; WX 444 ; N J ; B -6 -18 491 653 ; +C 75 ; WX 667 ; N K ; B 7 0 722 653 ; +C 76 ; WX 556 ; N L ; B -8 0 559 653 ; +C 77 ; WX 833 ; N M ; B -18 0 873 653 ; +C 78 ; WX 667 ; N N ; B -20 -15 727 653 ; +C 79 ; WX 722 ; N O ; B 60 -18 699 666 ; +C 80 ; WX 611 ; N P ; B 0 0 605 653 ; +C 81 ; WX 722 ; N Q ; B 59 -182 699 666 ; +C 82 ; WX 611 ; N R ; B -13 0 588 653 ; +C 83 ; WX 500 ; N S ; B 17 -18 508 667 ; +C 84 ; WX 556 ; N T ; B 59 0 633 653 ; +C 85 ; WX 722 ; N U ; B 102 -18 765 653 ; +C 86 ; WX 611 ; N V ; B 76 -18 688 653 ; +C 87 ; WX 833 ; N W ; B 71 -18 906 653 ; +C 88 ; WX 611 ; N X ; B -29 0 655 653 ; +C 89 ; WX 556 ; N Y ; B 78 0 633 653 ; +C 90 ; WX 556 ; N Z ; B -6 0 606 653 ; +C 91 ; WX 389 ; N bracketleft ; B 21 -153 391 663 ; +C 92 ; WX 278 ; N backslash ; B -41 -18 319 666 ; +C 93 ; WX 389 ; N bracketright ; B 12 -153 382 663 ; +C 94 ; WX 422 ; N asciicircum ; B 0 301 422 666 ; +C 95 ; WX 500 ; N underscore ; B 0 -125 500 -75 ; +C 96 ; WX 333 ; N quoteleft ; B 171 436 310 666 ; +C 97 ; WX 500 ; N a ; B 17 -11 476 441 ; +C 98 ; WX 500 ; N b ; B 23 -11 473 683 ; +C 99 ; WX 444 ; N c ; B 30 -11 425 441 ; +C 100 ; WX 500 ; N d ; B 15 -13 527 683 ; +C 101 ; WX 444 ; N e ; B 31 -11 412 441 ; +C 102 ; WX 278 ; N f ; B -147 -207 424 678 ; L i fi ; L l fl ; +C 103 ; WX 500 ; N g ; B 8 -206 472 441 ; +C 104 ; WX 500 ; N h ; B 19 -9 478 683 ; +C 105 ; WX 278 ; N i ; B 49 -11 264 654 ; +C 106 ; WX 278 ; N j ; B -124 -207 276 654 ; +C 107 ; WX 444 ; N k ; B 14 -11 461 683 ; +C 108 ; WX 278 ; N l ; B 41 -11 279 683 ; +C 109 ; WX 722 ; N m ; B 12 -9 704 441 ; +C 110 ; WX 500 ; N n ; B 14 -9 474 441 ; +C 111 ; WX 500 ; N o ; B 27 -11 468 441 ; +C 112 ; WX 500 ; N p ; B -75 -205 469 441 ; +C 113 ; WX 500 ; N q ; B 25 -209 483 441 ; +C 114 ; WX 389 ; N r ; B 45 0 412 441 ; +C 115 ; WX 389 ; N s ; B 16 -13 366 442 ; +C 116 ; WX 278 ; N t ; B 37 -11 296 546 ; +C 117 ; WX 500 ; N u ; B 42 -11 475 441 ; +C 118 ; WX 444 ; N v ; B 21 -18 426 441 ; +C 119 ; WX 667 ; N w ; B 16 -18 648 441 ; +C 120 ; WX 444 ; N x ; B -27 -11 447 441 ; +C 121 ; WX 444 ; N y ; B -24 -206 426 441 ; +C 122 ; WX 389 ; N z ; B -2 -81 380 428 ; +C 123 ; WX 400 ; N braceleft ; B 51 -177 407 687 ; +C 124 ; WX 275 ; N bar ; B 105 -217 171 783 ; +C 125 ; WX 400 ; N braceright ; B -7 -177 349 687 ; +C 126 ; WX 541 ; N asciitilde ; B 40 183 502 323 ; +C 161 ; WX 389 ; N exclamdown ; B 59 -205 322 473 ; +C 162 ; WX 500 ; N cent ; B 77 -143 472 560 ; +C 163 ; WX 500 ; N sterling ; B 10 -6 517 670 ; +C 164 ; WX 167 ; N fraction ; B -169 -10 337 676 ; +C 165 ; WX 500 ; N yen ; B 27 0 603 653 ; +C 166 ; WX 500 ; N florin ; B 25 -182 507 682 ; +C 167 ; WX 500 ; N section ; B 53 -162 461 666 ; +C 168 ; WX 500 ; N currency ; B -22 53 522 597 ; +C 169 ; WX 214 ; N quotesingle ; B 132 421 241 666 ; +C 170 ; WX 556 ; N quotedblleft ; B 166 436 514 666 ; +C 171 ; WX 500 ; N guillemotleft ; B 53 37 445 403 ; +C 172 ; WX 333 ; N guilsinglleft ; B 51 37 281 403 ; +C 173 ; WX 333 ; N guilsinglright ; B 52 37 282 403 ; +C 174 ; WX 500 ; N fi ; B -141 -207 481 681 ; +C 175 ; WX 500 ; N fl ; B -141 -204 518 682 ; +C 177 ; WX 500 ; N endash ; B -6 197 505 243 ; +C 178 ; WX 500 ; N dagger ; B 101 -159 488 666 ; +C 179 ; WX 500 ; N daggerdbl ; B 22 -143 491 666 ; +C 180 ; WX 250 ; N periodcentered ; B 70 199 181 310 ; +C 182 ; WX 523 ; N paragraph ; B 55 -123 616 653 ; +C 183 ; WX 350 ; N bullet ; B 40 191 310 461 ; +C 184 ; WX 333 ; N quotesinglbase ; B 44 -129 183 101 ; +C 185 ; WX 556 ; N quotedblbase ; B 57 -129 405 101 ; +C 186 ; WX 556 ; N quotedblright ; B 151 436 499 666 ; +C 187 ; WX 500 ; N guillemotright ; B 55 37 447 403 ; +C 188 ; WX 889 ; N ellipsis ; B 57 -11 762 100 ; +C 189 ; WX 1000 ; N perthousand ; B 25 -19 1010 706 ; +C 191 ; WX 500 ; N questiondown ; B 28 -205 368 471 ; +C 193 ; WX 333 ; N grave ; B 121 492 311 664 ; +C 194 ; WX 333 ; N acute ; B 180 494 403 664 ; +C 195 ; WX 333 ; N circumflex ; B 91 492 385 661 ; +C 196 ; WX 333 ; N tilde ; B 100 517 427 624 ; +C 197 ; WX 333 ; N macron ; B 99 532 411 583 ; +C 198 ; WX 333 ; N breve ; B 117 492 418 650 ; +C 199 ; WX 333 ; N dotaccent ; B 207 548 305 646 ; +C 200 ; WX 333 ; N dieresis ; B 107 548 405 646 ; +C 202 ; WX 333 ; N ring ; B 155 492 355 691 ; +C 203 ; WX 333 ; N cedilla ; B -30 -217 182 0 ; +C 205 ; WX 333 ; N hungarumlaut ; B 93 494 486 664 ; +C 206 ; WX 333 ; N ogonek ; B 20 -169 203 40 ; +C 207 ; WX 333 ; N caron ; B 121 492 426 661 ; +C 208 ; WX 889 ; N emdash ; B -6 197 894 243 ; +C 225 ; WX 889 ; N AE ; B -27 0 911 653 ; +C 227 ; WX 276 ; N ordfeminine ; B 42 406 352 676 ; +C 232 ; WX 556 ; N Lslash ; B -8 0 559 653 ; +C 233 ; WX 722 ; N Oslash ; B 60 -105 699 722 ; +C 234 ; WX 944 ; N OE ; B 49 -8 964 666 ; +C 235 ; WX 310 ; N ordmasculine ; B 67 406 362 676 ; +C 241 ; WX 667 ; N ae ; B 23 -11 640 441 ; +C 245 ; WX 278 ; N dotlessi ; B 49 -11 235 441 ; +C 248 ; WX 278 ; N lslash ; B 41 -11 312 683 ; +C 249 ; WX 500 ; N oslash ; B 28 -135 469 554 ; +C 250 ; WX 667 ; N oe ; B 20 -12 646 441 ; +C 251 ; WX 500 ; N germandbls ; B -168 -207 493 679 ; +C -1 ; WX 333 ; N Idieresis ; B -8 0 435 818 ; +C -1 ; WX 444 ; N eacute ; B 31 -11 459 664 ; +C -1 ; WX 500 ; N abreve ; B 17 -11 502 650 ; +C -1 ; WX 500 ; N uhungarumlaut ; B 42 -11 580 664 ; +C -1 ; WX 444 ; N ecaron ; B 31 -11 482 661 ; +C -1 ; WX 556 ; N Ydieresis ; B 78 0 633 818 ; +C -1 ; WX 675 ; N divide ; B 86 -11 590 517 ; +C -1 ; WX 556 ; N Yacute ; B 78 0 633 876 ; +C -1 ; WX 611 ; N Acircumflex ; B -51 0 564 873 ; +C -1 ; WX 500 ; N aacute ; B 17 -11 487 664 ; +C -1 ; WX 722 ; N Ucircumflex ; B 102 -18 765 873 ; +C -1 ; WX 444 ; N yacute ; B -24 -206 459 664 ; +C -1 ; WX 389 ; N scommaaccent ; B 16 -217 366 442 ; +C -1 ; WX 444 ; N ecircumflex ; B 31 -11 441 661 ; +C -1 ; WX 722 ; N Uring ; B 102 -18 765 883 ; +C -1 ; WX 722 ; N Udieresis ; B 102 -18 765 818 ; +C -1 ; WX 500 ; N aogonek ; B 17 -169 476 441 ; +C -1 ; WX 722 ; N Uacute ; B 102 -18 765 876 ; +C -1 ; WX 500 ; N uogonek ; B 42 -169 477 441 ; +C -1 ; WX 611 ; N Edieresis ; B -1 0 634 818 ; +C -1 ; WX 722 ; N Dcroat ; B -8 0 700 653 ; +C -1 ; WX 250 ; N commaaccent ; B 8 -217 133 -50 ; +C -1 ; WX 760 ; N copyright ; B 41 -18 719 666 ; +C -1 ; WX 611 ; N Emacron ; B -1 0 634 795 ; +C -1 ; WX 444 ; N ccaron ; B 30 -11 482 661 ; +C -1 ; WX 500 ; N aring ; B 17 -11 476 691 ; +C -1 ; WX 667 ; N Ncommaaccent ; B -20 -187 727 653 ; +C -1 ; WX 278 ; N lacute ; B 41 -11 395 876 ; +C -1 ; WX 500 ; N agrave ; B 17 -11 476 664 ; +C -1 ; WX 556 ; N Tcommaaccent ; B 59 -217 633 653 ; +C -1 ; WX 667 ; N Cacute ; B 66 -18 690 876 ; +C -1 ; WX 500 ; N atilde ; B 17 -11 511 624 ; +C -1 ; WX 611 ; N Edotaccent ; B -1 0 634 818 ; +C -1 ; WX 389 ; N scaron ; B 16 -13 454 661 ; +C -1 ; WX 389 ; N scedilla ; B 16 -217 366 442 ; +C -1 ; WX 278 ; N iacute ; B 49 -11 355 664 ; +C -1 ; WX 471 ; N lozenge ; B 13 0 459 724 ; +C -1 ; WX 611 ; N Rcaron ; B -13 0 588 873 ; +C -1 ; WX 722 ; N Gcommaaccent ; B 52 -217 722 666 ; +C -1 ; WX 500 ; N ucircumflex ; B 42 -11 475 661 ; +C -1 ; WX 500 ; N acircumflex ; B 17 -11 476 661 ; +C -1 ; WX 611 ; N Amacron ; B -51 0 564 795 ; +C -1 ; WX 389 ; N rcaron ; B 45 0 434 661 ; +C -1 ; WX 444 ; N ccedilla ; B 30 -217 425 441 ; +C -1 ; WX 556 ; N Zdotaccent ; B -6 0 606 818 ; +C -1 ; WX 611 ; N Thorn ; B 0 0 569 653 ; +C -1 ; WX 722 ; N Omacron ; B 60 -18 699 795 ; +C -1 ; WX 611 ; N Racute ; B -13 0 588 876 ; +C -1 ; WX 500 ; N Sacute ; B 17 -18 508 876 ; +C -1 ; WX 544 ; N dcaron ; B 15 -13 658 683 ; +C -1 ; WX 722 ; N Umacron ; B 102 -18 765 795 ; +C -1 ; WX 500 ; N uring ; B 42 -11 475 691 ; +C -1 ; WX 300 ; N threesuperior ; B 43 268 339 676 ; +C -1 ; WX 722 ; N Ograve ; B 60 -18 699 876 ; +C -1 ; WX 611 ; N Agrave ; B -51 0 564 876 ; +C -1 ; WX 611 ; N Abreve ; B -51 0 564 862 ; +C -1 ; WX 675 ; N multiply ; B 93 8 582 497 ; +C -1 ; WX 500 ; N uacute ; B 42 -11 477 664 ; +C -1 ; WX 556 ; N Tcaron ; B 59 0 633 873 ; +C -1 ; WX 476 ; N partialdiff ; B 17 -38 459 710 ; +C -1 ; WX 444 ; N ydieresis ; B -24 -206 441 606 ; +C -1 ; WX 667 ; N Nacute ; B -20 -15 727 876 ; +C -1 ; WX 278 ; N icircumflex ; B 33 -11 327 661 ; +C -1 ; WX 611 ; N Ecircumflex ; B -1 0 634 873 ; +C -1 ; WX 500 ; N adieresis ; B 17 -11 489 606 ; +C -1 ; WX 444 ; N edieresis ; B 31 -11 451 606 ; +C -1 ; WX 444 ; N cacute ; B 30 -11 459 664 ; +C -1 ; WX 500 ; N nacute ; B 14 -9 477 664 ; +C -1 ; WX 500 ; N umacron ; B 42 -11 485 583 ; +C -1 ; WX 667 ; N Ncaron ; B -20 -15 727 873 ; +C -1 ; WX 333 ; N Iacute ; B -8 0 433 876 ; +C -1 ; WX 675 ; N plusminus ; B 86 0 590 506 ; +C -1 ; WX 275 ; N brokenbar ; B 105 -142 171 708 ; +C -1 ; WX 760 ; N registered ; B 41 -18 719 666 ; +C -1 ; WX 722 ; N Gbreve ; B 52 -18 722 862 ; +C -1 ; WX 333 ; N Idotaccent ; B -8 0 384 818 ; +C -1 ; WX 600 ; N summation ; B 15 -10 585 706 ; +C -1 ; WX 611 ; N Egrave ; B -1 0 634 876 ; +C -1 ; WX 389 ; N racute ; B 45 0 431 664 ; +C -1 ; WX 500 ; N omacron ; B 27 -11 495 583 ; +C -1 ; WX 556 ; N Zacute ; B -6 0 606 876 ; +C -1 ; WX 556 ; N Zcaron ; B -6 0 606 873 ; +C -1 ; WX 549 ; N greaterequal ; B 26 0 523 658 ; +C -1 ; WX 722 ; N Eth ; B -8 0 700 653 ; +C -1 ; WX 667 ; N Ccedilla ; B 66 -217 689 666 ; +C -1 ; WX 278 ; N lcommaaccent ; B 22 -217 279 683 ; +C -1 ; WX 300 ; N tcaron ; B 37 -11 407 681 ; +C -1 ; WX 444 ; N eogonek ; B 31 -169 412 441 ; +C -1 ; WX 722 ; N Uogonek ; B 102 -184 765 653 ; +C -1 ; WX 611 ; N Aacute ; B -51 0 564 876 ; +C -1 ; WX 611 ; N Adieresis ; B -51 0 564 818 ; +C -1 ; WX 444 ; N egrave ; B 31 -11 412 664 ; +C -1 ; WX 389 ; N zacute ; B -2 -81 431 664 ; +C -1 ; WX 278 ; N iogonek ; B 49 -169 264 654 ; +C -1 ; WX 722 ; N Oacute ; B 60 -18 699 876 ; +C -1 ; WX 500 ; N oacute ; B 27 -11 487 664 ; +C -1 ; WX 500 ; N amacron ; B 17 -11 495 583 ; +C -1 ; WX 389 ; N sacute ; B 16 -13 431 664 ; +C -1 ; WX 278 ; N idieresis ; B 49 -11 352 606 ; +C -1 ; WX 722 ; N Ocircumflex ; B 60 -18 699 873 ; +C -1 ; WX 722 ; N Ugrave ; B 102 -18 765 876 ; +C -1 ; WX 612 ; N Delta ; B 6 0 608 688 ; +C -1 ; WX 500 ; N thorn ; B -75 -205 469 683 ; +C -1 ; WX 300 ; N twosuperior ; B 33 271 324 676 ; +C -1 ; WX 722 ; N Odieresis ; B 60 -18 699 818 ; +C -1 ; WX 500 ; N mu ; B -30 -209 497 428 ; +C -1 ; WX 278 ; N igrave ; B 49 -11 284 664 ; +C -1 ; WX 500 ; N ohungarumlaut ; B 27 -11 590 664 ; +C -1 ; WX 611 ; N Eogonek ; B -1 -169 634 653 ; +C -1 ; WX 500 ; N dcroat ; B 15 -13 572 683 ; +C -1 ; WX 750 ; N threequarters ; B 23 -10 736 676 ; +C -1 ; WX 500 ; N Scedilla ; B 17 -217 508 667 ; +C -1 ; WX 300 ; N lcaron ; B 41 -11 407 683 ; +C -1 ; WX 667 ; N Kcommaaccent ; B 7 -217 722 653 ; +C -1 ; WX 556 ; N Lacute ; B -8 0 559 876 ; +C -1 ; WX 980 ; N trademark ; B 30 247 957 653 ; +C -1 ; WX 444 ; N edotaccent ; B 31 -11 412 606 ; +C -1 ; WX 333 ; N Igrave ; B -8 0 384 876 ; +C -1 ; WX 333 ; N Imacron ; B -8 0 441 795 ; +C -1 ; WX 611 ; N Lcaron ; B -8 0 586 653 ; +C -1 ; WX 750 ; N onehalf ; B 34 -10 749 676 ; +C -1 ; WX 549 ; N lessequal ; B 26 0 523 658 ; +C -1 ; WX 500 ; N ocircumflex ; B 27 -11 468 661 ; +C -1 ; WX 500 ; N ntilde ; B 14 -9 476 624 ; +C -1 ; WX 722 ; N Uhungarumlaut ; B 102 -18 765 876 ; +C -1 ; WX 611 ; N Eacute ; B -1 0 634 876 ; +C -1 ; WX 444 ; N emacron ; B 31 -11 457 583 ; +C -1 ; WX 500 ; N gbreve ; B 8 -206 487 650 ; +C -1 ; WX 750 ; N onequarter ; B 33 -10 736 676 ; +C -1 ; WX 500 ; N Scaron ; B 17 -18 520 873 ; +C -1 ; WX 500 ; N Scommaaccent ; B 17 -217 508 667 ; +C -1 ; WX 722 ; N Ohungarumlaut ; B 60 -18 699 876 ; +C -1 ; WX 400 ; N degree ; B 101 390 387 676 ; +C -1 ; WX 500 ; N ograve ; B 27 -11 468 664 ; +C -1 ; WX 667 ; N Ccaron ; B 66 -18 689 873 ; +C -1 ; WX 500 ; N ugrave ; B 42 -11 475 664 ; +C -1 ; WX 453 ; N radical ; B 2 -60 452 768 ; +C -1 ; WX 722 ; N Dcaron ; B -8 0 700 873 ; +C -1 ; WX 389 ; N rcommaaccent ; B -3 -217 412 441 ; +C -1 ; WX 667 ; N Ntilde ; B -20 -15 727 836 ; +C -1 ; WX 500 ; N otilde ; B 27 -11 496 624 ; +C -1 ; WX 611 ; N Rcommaaccent ; B -13 -187 588 653 ; +C -1 ; WX 556 ; N Lcommaaccent ; B -8 -217 559 653 ; +C -1 ; WX 611 ; N Atilde ; B -51 0 566 836 ; +C -1 ; WX 611 ; N Aogonek ; B -51 -169 566 668 ; +C -1 ; WX 611 ; N Aring ; B -51 0 564 883 ; +C -1 ; WX 722 ; N Otilde ; B 60 -18 699 836 ; +C -1 ; WX 389 ; N zdotaccent ; B -2 -81 380 606 ; +C -1 ; WX 611 ; N Ecaron ; B -1 0 634 873 ; +C -1 ; WX 333 ; N Iogonek ; B -8 -169 384 653 ; +C -1 ; WX 444 ; N kcommaaccent ; B 14 -187 461 683 ; +C -1 ; WX 675 ; N minus ; B 86 220 590 286 ; +C -1 ; WX 333 ; N Icircumflex ; B -8 0 425 873 ; +C -1 ; WX 500 ; N ncaron ; B 14 -9 510 661 ; +C -1 ; WX 278 ; N tcommaaccent ; B 2 -217 296 546 ; +C -1 ; WX 675 ; N logicalnot ; B 86 108 590 386 ; +C -1 ; WX 500 ; N odieresis ; B 27 -11 489 606 ; +C -1 ; WX 500 ; N udieresis ; B 42 -11 479 606 ; +C -1 ; WX 549 ; N notequal ; B 12 -29 537 541 ; +C -1 ; WX 500 ; N gcommaaccent ; B 8 -206 472 706 ; +C -1 ; WX 500 ; N eth ; B 27 -11 482 683 ; +C -1 ; WX 389 ; N zcaron ; B -2 -81 434 661 ; +C -1 ; WX 500 ; N ncommaaccent ; B 14 -187 474 441 ; +C -1 ; WX 300 ; N onesuperior ; B 43 271 284 676 ; +C -1 ; WX 278 ; N imacron ; B 46 -11 311 583 ; +C -1 ; WX 500 ; N Euro ; B 0 0 0 0 ; +EndCharMetrics +StartKernData +StartKernPairs 2321 +KPX A C -30 +KPX A Cacute -30 +KPX A Ccaron -30 +KPX A Ccedilla -30 +KPX A G -35 +KPX A Gbreve -35 +KPX A Gcommaaccent -35 +KPX A O -40 +KPX A Oacute -40 +KPX A Ocircumflex -40 +KPX A Odieresis -40 +KPX A Ograve -40 +KPX A Ohungarumlaut -40 +KPX A Omacron -40 +KPX A Oslash -40 +KPX A Otilde -40 +KPX A Q -40 +KPX A T -37 +KPX A Tcaron -37 +KPX A Tcommaaccent -37 +KPX A U -50 +KPX A Uacute -50 +KPX A Ucircumflex -50 +KPX A Udieresis -50 +KPX A Ugrave -50 +KPX A Uhungarumlaut -50 +KPX A Umacron -50 +KPX A Uogonek -50 +KPX A Uring -50 +KPX A V -105 +KPX A W -95 +KPX A Y -55 +KPX A Yacute -55 +KPX A Ydieresis -55 +KPX A quoteright -37 +KPX A u -20 +KPX A uacute -20 +KPX A ucircumflex -20 +KPX A udieresis -20 +KPX A ugrave -20 +KPX A uhungarumlaut -20 +KPX A umacron -20 +KPX A uogonek -20 +KPX A uring -20 +KPX A v -55 +KPX A w -55 +KPX A y -55 +KPX A yacute -55 +KPX A ydieresis -55 +KPX Aacute C -30 +KPX Aacute Cacute -30 +KPX Aacute Ccaron -30 +KPX Aacute Ccedilla -30 +KPX Aacute G -35 +KPX Aacute Gbreve -35 +KPX Aacute Gcommaaccent -35 +KPX Aacute O -40 +KPX Aacute Oacute -40 +KPX Aacute Ocircumflex -40 +KPX Aacute Odieresis -40 +KPX Aacute Ograve -40 +KPX Aacute Ohungarumlaut -40 +KPX Aacute Omacron -40 +KPX Aacute Oslash -40 +KPX Aacute Otilde -40 +KPX Aacute Q -40 +KPX Aacute T -37 +KPX Aacute Tcaron -37 +KPX Aacute Tcommaaccent -37 +KPX Aacute U -50 +KPX Aacute Uacute -50 +KPX Aacute Ucircumflex -50 +KPX Aacute Udieresis -50 +KPX Aacute Ugrave -50 +KPX Aacute Uhungarumlaut -50 +KPX Aacute Umacron -50 +KPX Aacute Uogonek -50 +KPX Aacute Uring -50 +KPX Aacute V -105 +KPX Aacute W -95 +KPX Aacute Y -55 +KPX Aacute Yacute -55 +KPX Aacute Ydieresis -55 +KPX Aacute quoteright -37 +KPX Aacute u -20 +KPX Aacute uacute -20 +KPX Aacute ucircumflex -20 +KPX Aacute udieresis -20 +KPX Aacute ugrave -20 +KPX Aacute uhungarumlaut -20 +KPX Aacute umacron -20 +KPX Aacute uogonek -20 +KPX Aacute uring -20 +KPX Aacute v -55 +KPX Aacute w -55 +KPX Aacute y -55 +KPX Aacute yacute -55 +KPX Aacute ydieresis -55 +KPX Abreve C -30 +KPX Abreve Cacute -30 +KPX Abreve Ccaron -30 +KPX Abreve Ccedilla -30 +KPX Abreve G -35 +KPX Abreve Gbreve -35 +KPX Abreve Gcommaaccent -35 +KPX Abreve O -40 +KPX Abreve Oacute -40 +KPX Abreve Ocircumflex -40 +KPX Abreve Odieresis -40 +KPX Abreve Ograve -40 +KPX Abreve Ohungarumlaut -40 +KPX Abreve Omacron -40 +KPX Abreve Oslash -40 +KPX Abreve Otilde -40 +KPX Abreve Q -40 +KPX Abreve T -37 +KPX Abreve Tcaron -37 +KPX Abreve Tcommaaccent -37 +KPX Abreve U -50 +KPX Abreve Uacute -50 +KPX Abreve Ucircumflex -50 +KPX Abreve Udieresis -50 +KPX Abreve Ugrave -50 +KPX Abreve Uhungarumlaut -50 +KPX Abreve Umacron -50 +KPX Abreve Uogonek -50 +KPX Abreve Uring -50 +KPX Abreve V -105 +KPX Abreve W -95 +KPX Abreve Y -55 +KPX Abreve Yacute -55 +KPX Abreve Ydieresis -55 +KPX Abreve quoteright -37 +KPX Abreve u -20 +KPX Abreve uacute -20 +KPX Abreve ucircumflex -20 +KPX Abreve udieresis -20 +KPX Abreve ugrave -20 +KPX Abreve uhungarumlaut -20 +KPX Abreve umacron -20 +KPX Abreve uogonek -20 +KPX Abreve uring -20 +KPX Abreve v -55 +KPX Abreve w -55 +KPX Abreve y -55 +KPX Abreve yacute -55 +KPX Abreve ydieresis -55 +KPX Acircumflex C -30 +KPX Acircumflex Cacute -30 +KPX Acircumflex Ccaron -30 +KPX Acircumflex Ccedilla -30 +KPX Acircumflex G -35 +KPX Acircumflex Gbreve -35 +KPX Acircumflex Gcommaaccent -35 +KPX Acircumflex O -40 +KPX Acircumflex Oacute -40 +KPX Acircumflex Ocircumflex -40 +KPX Acircumflex Odieresis -40 +KPX Acircumflex Ograve -40 +KPX Acircumflex Ohungarumlaut -40 +KPX Acircumflex Omacron -40 +KPX Acircumflex Oslash -40 +KPX Acircumflex Otilde -40 +KPX Acircumflex Q -40 +KPX Acircumflex T -37 +KPX Acircumflex Tcaron -37 +KPX Acircumflex Tcommaaccent -37 +KPX Acircumflex U -50 +KPX Acircumflex Uacute -50 +KPX Acircumflex Ucircumflex -50 +KPX Acircumflex Udieresis -50 +KPX Acircumflex Ugrave -50 +KPX Acircumflex Uhungarumlaut -50 +KPX Acircumflex Umacron -50 +KPX Acircumflex Uogonek -50 +KPX Acircumflex Uring -50 +KPX Acircumflex V -105 +KPX Acircumflex W -95 +KPX Acircumflex Y -55 +KPX Acircumflex Yacute -55 +KPX Acircumflex Ydieresis -55 +KPX Acircumflex quoteright -37 +KPX Acircumflex u -20 +KPX Acircumflex uacute -20 +KPX Acircumflex ucircumflex -20 +KPX Acircumflex udieresis -20 +KPX Acircumflex ugrave -20 +KPX Acircumflex uhungarumlaut -20 +KPX Acircumflex umacron -20 +KPX Acircumflex uogonek -20 +KPX Acircumflex uring -20 +KPX Acircumflex v -55 +KPX Acircumflex w -55 +KPX Acircumflex y -55 +KPX Acircumflex yacute -55 +KPX Acircumflex ydieresis -55 +KPX Adieresis C -30 +KPX Adieresis Cacute -30 +KPX Adieresis Ccaron -30 +KPX Adieresis Ccedilla -30 +KPX Adieresis G -35 +KPX Adieresis Gbreve -35 +KPX Adieresis Gcommaaccent -35 +KPX Adieresis O -40 +KPX Adieresis Oacute -40 +KPX Adieresis Ocircumflex -40 +KPX Adieresis Odieresis -40 +KPX Adieresis Ograve -40 +KPX Adieresis Ohungarumlaut -40 +KPX Adieresis Omacron -40 +KPX Adieresis Oslash -40 +KPX Adieresis Otilde -40 +KPX Adieresis Q -40 +KPX Adieresis T -37 +KPX Adieresis Tcaron -37 +KPX Adieresis Tcommaaccent -37 +KPX Adieresis U -50 +KPX Adieresis Uacute -50 +KPX Adieresis Ucircumflex -50 +KPX Adieresis Udieresis -50 +KPX Adieresis Ugrave -50 +KPX Adieresis Uhungarumlaut -50 +KPX Adieresis Umacron -50 +KPX Adieresis Uogonek -50 +KPX Adieresis Uring -50 +KPX Adieresis V -105 +KPX Adieresis W -95 +KPX Adieresis Y -55 +KPX Adieresis Yacute -55 +KPX Adieresis Ydieresis -55 +KPX Adieresis quoteright -37 +KPX Adieresis u -20 +KPX Adieresis uacute -20 +KPX Adieresis ucircumflex -20 +KPX Adieresis udieresis -20 +KPX Adieresis ugrave -20 +KPX Adieresis uhungarumlaut -20 +KPX Adieresis umacron -20 +KPX Adieresis uogonek -20 +KPX Adieresis uring -20 +KPX Adieresis v -55 +KPX Adieresis w -55 +KPX Adieresis y -55 +KPX Adieresis yacute -55 +KPX Adieresis ydieresis -55 +KPX Agrave C -30 +KPX Agrave Cacute -30 +KPX Agrave Ccaron -30 +KPX Agrave Ccedilla -30 +KPX Agrave G -35 +KPX Agrave Gbreve -35 +KPX Agrave Gcommaaccent -35 +KPX Agrave O -40 +KPX Agrave Oacute -40 +KPX Agrave Ocircumflex -40 +KPX Agrave Odieresis -40 +KPX Agrave Ograve -40 +KPX Agrave Ohungarumlaut -40 +KPX Agrave Omacron -40 +KPX Agrave Oslash -40 +KPX Agrave Otilde -40 +KPX Agrave Q -40 +KPX Agrave T -37 +KPX Agrave Tcaron -37 +KPX Agrave Tcommaaccent -37 +KPX Agrave U -50 +KPX Agrave Uacute -50 +KPX Agrave Ucircumflex -50 +KPX Agrave Udieresis -50 +KPX Agrave Ugrave -50 +KPX Agrave Uhungarumlaut -50 +KPX Agrave Umacron -50 +KPX Agrave Uogonek -50 +KPX Agrave Uring -50 +KPX Agrave V -105 +KPX Agrave W -95 +KPX Agrave Y -55 +KPX Agrave Yacute -55 +KPX Agrave Ydieresis -55 +KPX Agrave quoteright -37 +KPX Agrave u -20 +KPX Agrave uacute -20 +KPX Agrave ucircumflex -20 +KPX Agrave udieresis -20 +KPX Agrave ugrave -20 +KPX Agrave uhungarumlaut -20 +KPX Agrave umacron -20 +KPX Agrave uogonek -20 +KPX Agrave uring -20 +KPX Agrave v -55 +KPX Agrave w -55 +KPX Agrave y -55 +KPX Agrave yacute -55 +KPX Agrave ydieresis -55 +KPX Amacron C -30 +KPX Amacron Cacute -30 +KPX Amacron Ccaron -30 +KPX Amacron Ccedilla -30 +KPX Amacron G -35 +KPX Amacron Gbreve -35 +KPX Amacron Gcommaaccent -35 +KPX Amacron O -40 +KPX Amacron Oacute -40 +KPX Amacron Ocircumflex -40 +KPX Amacron Odieresis -40 +KPX Amacron Ograve -40 +KPX Amacron Ohungarumlaut -40 +KPX Amacron Omacron -40 +KPX Amacron Oslash -40 +KPX Amacron Otilde -40 +KPX Amacron Q -40 +KPX Amacron T -37 +KPX Amacron Tcaron -37 +KPX Amacron Tcommaaccent -37 +KPX Amacron U -50 +KPX Amacron Uacute -50 +KPX Amacron Ucircumflex -50 +KPX Amacron Udieresis -50 +KPX Amacron Ugrave -50 +KPX Amacron Uhungarumlaut -50 +KPX Amacron Umacron -50 +KPX Amacron Uogonek -50 +KPX Amacron Uring -50 +KPX Amacron V -105 +KPX Amacron W -95 +KPX Amacron Y -55 +KPX Amacron Yacute -55 +KPX Amacron Ydieresis -55 +KPX Amacron quoteright -37 +KPX Amacron u -20 +KPX Amacron uacute -20 +KPX Amacron ucircumflex -20 +KPX Amacron udieresis -20 +KPX Amacron ugrave -20 +KPX Amacron uhungarumlaut -20 +KPX Amacron umacron -20 +KPX Amacron uogonek -20 +KPX Amacron uring -20 +KPX Amacron v -55 +KPX Amacron w -55 +KPX Amacron y -55 +KPX Amacron yacute -55 +KPX Amacron ydieresis -55 +KPX Aogonek C -30 +KPX Aogonek Cacute -30 +KPX Aogonek Ccaron -30 +KPX Aogonek Ccedilla -30 +KPX Aogonek G -35 +KPX Aogonek Gbreve -35 +KPX Aogonek Gcommaaccent -35 +KPX Aogonek O -40 +KPX Aogonek Oacute -40 +KPX Aogonek Ocircumflex -40 +KPX Aogonek Odieresis -40 +KPX Aogonek Ograve -40 +KPX Aogonek Ohungarumlaut -40 +KPX Aogonek Omacron -40 +KPX Aogonek Oslash -40 +KPX Aogonek Otilde -40 +KPX Aogonek Q -40 +KPX Aogonek T -37 +KPX Aogonek Tcaron -37 +KPX Aogonek Tcommaaccent -37 +KPX Aogonek U -50 +KPX Aogonek Uacute -50 +KPX Aogonek Ucircumflex -50 +KPX Aogonek Udieresis -50 +KPX Aogonek Ugrave -50 +KPX Aogonek Uhungarumlaut -50 +KPX Aogonek Umacron -50 +KPX Aogonek Uogonek -50 +KPX Aogonek Uring -50 +KPX Aogonek V -105 +KPX Aogonek W -95 +KPX Aogonek Y -55 +KPX Aogonek Yacute -55 +KPX Aogonek Ydieresis -55 +KPX Aogonek quoteright -37 +KPX Aogonek u -20 +KPX Aogonek uacute -20 +KPX Aogonek ucircumflex -20 +KPX Aogonek udieresis -20 +KPX Aogonek ugrave -20 +KPX Aogonek uhungarumlaut -20 +KPX Aogonek umacron -20 +KPX Aogonek uogonek -20 +KPX Aogonek uring -20 +KPX Aogonek v -55 +KPX Aogonek w -55 +KPX Aogonek y -55 +KPX Aogonek yacute -55 +KPX Aogonek ydieresis -55 +KPX Aring C -30 +KPX Aring Cacute -30 +KPX Aring Ccaron -30 +KPX Aring Ccedilla -30 +KPX Aring G -35 +KPX Aring Gbreve -35 +KPX Aring Gcommaaccent -35 +KPX Aring O -40 +KPX Aring Oacute -40 +KPX Aring Ocircumflex -40 +KPX Aring Odieresis -40 +KPX Aring Ograve -40 +KPX Aring Ohungarumlaut -40 +KPX Aring Omacron -40 +KPX Aring Oslash -40 +KPX Aring Otilde -40 +KPX Aring Q -40 +KPX Aring T -37 +KPX Aring Tcaron -37 +KPX Aring Tcommaaccent -37 +KPX Aring U -50 +KPX Aring Uacute -50 +KPX Aring Ucircumflex -50 +KPX Aring Udieresis -50 +KPX Aring Ugrave -50 +KPX Aring Uhungarumlaut -50 +KPX Aring Umacron -50 +KPX Aring Uogonek -50 +KPX Aring Uring -50 +KPX Aring V -105 +KPX Aring W -95 +KPX Aring Y -55 +KPX Aring Yacute -55 +KPX Aring Ydieresis -55 +KPX Aring quoteright -37 +KPX Aring u -20 +KPX Aring uacute -20 +KPX Aring ucircumflex -20 +KPX Aring udieresis -20 +KPX Aring ugrave -20 +KPX Aring uhungarumlaut -20 +KPX Aring umacron -20 +KPX Aring uogonek -20 +KPX Aring uring -20 +KPX Aring v -55 +KPX Aring w -55 +KPX Aring y -55 +KPX Aring yacute -55 +KPX Aring ydieresis -55 +KPX Atilde C -30 +KPX Atilde Cacute -30 +KPX Atilde Ccaron -30 +KPX Atilde Ccedilla -30 +KPX Atilde G -35 +KPX Atilde Gbreve -35 +KPX Atilde Gcommaaccent -35 +KPX Atilde O -40 +KPX Atilde Oacute -40 +KPX Atilde Ocircumflex -40 +KPX Atilde Odieresis -40 +KPX Atilde Ograve -40 +KPX Atilde Ohungarumlaut -40 +KPX Atilde Omacron -40 +KPX Atilde Oslash -40 +KPX Atilde Otilde -40 +KPX Atilde Q -40 +KPX Atilde T -37 +KPX Atilde Tcaron -37 +KPX Atilde Tcommaaccent -37 +KPX Atilde U -50 +KPX Atilde Uacute -50 +KPX Atilde Ucircumflex -50 +KPX Atilde Udieresis -50 +KPX Atilde Ugrave -50 +KPX Atilde Uhungarumlaut -50 +KPX Atilde Umacron -50 +KPX Atilde Uogonek -50 +KPX Atilde Uring -50 +KPX Atilde V -105 +KPX Atilde W -95 +KPX Atilde Y -55 +KPX Atilde Yacute -55 +KPX Atilde Ydieresis -55 +KPX Atilde quoteright -37 +KPX Atilde u -20 +KPX Atilde uacute -20 +KPX Atilde ucircumflex -20 +KPX Atilde udieresis -20 +KPX Atilde ugrave -20 +KPX Atilde uhungarumlaut -20 +KPX Atilde umacron -20 +KPX Atilde uogonek -20 +KPX Atilde uring -20 +KPX Atilde v -55 +KPX Atilde w -55 +KPX Atilde y -55 +KPX Atilde yacute -55 +KPX Atilde ydieresis -55 +KPX B A -25 +KPX B Aacute -25 +KPX B Abreve -25 +KPX B Acircumflex -25 +KPX B Adieresis -25 +KPX B Agrave -25 +KPX B Amacron -25 +KPX B Aogonek -25 +KPX B Aring -25 +KPX B Atilde -25 +KPX B U -10 +KPX B Uacute -10 +KPX B Ucircumflex -10 +KPX B Udieresis -10 +KPX B Ugrave -10 +KPX B Uhungarumlaut -10 +KPX B Umacron -10 +KPX B Uogonek -10 +KPX B Uring -10 +KPX D A -35 +KPX D Aacute -35 +KPX D Abreve -35 +KPX D Acircumflex -35 +KPX D Adieresis -35 +KPX D Agrave -35 +KPX D Amacron -35 +KPX D Aogonek -35 +KPX D Aring -35 +KPX D Atilde -35 +KPX D V -40 +KPX D W -40 +KPX D Y -40 +KPX D Yacute -40 +KPX D Ydieresis -40 +KPX Dcaron A -35 +KPX Dcaron Aacute -35 +KPX Dcaron Abreve -35 +KPX Dcaron Acircumflex -35 +KPX Dcaron Adieresis -35 +KPX Dcaron Agrave -35 +KPX Dcaron Amacron -35 +KPX Dcaron Aogonek -35 +KPX Dcaron Aring -35 +KPX Dcaron Atilde -35 +KPX Dcaron V -40 +KPX Dcaron W -40 +KPX Dcaron Y -40 +KPX Dcaron Yacute -40 +KPX Dcaron Ydieresis -40 +KPX Dcroat A -35 +KPX Dcroat Aacute -35 +KPX Dcroat Abreve -35 +KPX Dcroat Acircumflex -35 +KPX Dcroat Adieresis -35 +KPX Dcroat Agrave -35 +KPX Dcroat Amacron -35 +KPX Dcroat Aogonek -35 +KPX Dcroat Aring -35 +KPX Dcroat Atilde -35 +KPX Dcroat V -40 +KPX Dcroat W -40 +KPX Dcroat Y -40 +KPX Dcroat Yacute -40 +KPX Dcroat Ydieresis -40 +KPX F A -115 +KPX F Aacute -115 +KPX F Abreve -115 +KPX F Acircumflex -115 +KPX F Adieresis -115 +KPX F Agrave -115 +KPX F Amacron -115 +KPX F Aogonek -115 +KPX F Aring -115 +KPX F Atilde -115 +KPX F a -75 +KPX F aacute -75 +KPX F abreve -75 +KPX F acircumflex -75 +KPX F adieresis -75 +KPX F agrave -75 +KPX F amacron -75 +KPX F aogonek -75 +KPX F aring -75 +KPX F atilde -75 +KPX F comma -135 +KPX F e -75 +KPX F eacute -75 +KPX F ecaron -75 +KPX F ecircumflex -75 +KPX F edieresis -75 +KPX F edotaccent -75 +KPX F egrave -75 +KPX F emacron -75 +KPX F eogonek -75 +KPX F i -45 +KPX F iacute -45 +KPX F icircumflex -45 +KPX F idieresis -45 +KPX F igrave -45 +KPX F imacron -45 +KPX F iogonek -45 +KPX F o -105 +KPX F oacute -105 +KPX F ocircumflex -105 +KPX F odieresis -105 +KPX F ograve -105 +KPX F ohungarumlaut -105 +KPX F omacron -105 +KPX F oslash -105 +KPX F otilde -105 +KPX F period -135 +KPX F r -55 +KPX F racute -55 +KPX F rcaron -55 +KPX F rcommaaccent -55 +KPX J A -40 +KPX J Aacute -40 +KPX J Abreve -40 +KPX J Acircumflex -40 +KPX J Adieresis -40 +KPX J Agrave -40 +KPX J Amacron -40 +KPX J Aogonek -40 +KPX J Aring -40 +KPX J Atilde -40 +KPX J a -35 +KPX J aacute -35 +KPX J abreve -35 +KPX J acircumflex -35 +KPX J adieresis -35 +KPX J agrave -35 +KPX J amacron -35 +KPX J aogonek -35 +KPX J aring -35 +KPX J atilde -35 +KPX J comma -25 +KPX J e -25 +KPX J eacute -25 +KPX J ecaron -25 +KPX J ecircumflex -25 +KPX J edieresis -25 +KPX J edotaccent -25 +KPX J egrave -25 +KPX J emacron -25 +KPX J eogonek -25 +KPX J o -25 +KPX J oacute -25 +KPX J ocircumflex -25 +KPX J odieresis -25 +KPX J ograve -25 +KPX J ohungarumlaut -25 +KPX J omacron -25 +KPX J oslash -25 +KPX J otilde -25 +KPX J period -25 +KPX J u -35 +KPX J uacute -35 +KPX J ucircumflex -35 +KPX J udieresis -35 +KPX J ugrave -35 +KPX J uhungarumlaut -35 +KPX J umacron -35 +KPX J uogonek -35 +KPX J uring -35 +KPX K O -50 +KPX K Oacute -50 +KPX K Ocircumflex -50 +KPX K Odieresis -50 +KPX K Ograve -50 +KPX K Ohungarumlaut -50 +KPX K Omacron -50 +KPX K Oslash -50 +KPX K Otilde -50 +KPX K e -35 +KPX K eacute -35 +KPX K ecaron -35 +KPX K ecircumflex -35 +KPX K edieresis -35 +KPX K edotaccent -35 +KPX K egrave -35 +KPX K emacron -35 +KPX K eogonek -35 +KPX K o -40 +KPX K oacute -40 +KPX K ocircumflex -40 +KPX K odieresis -40 +KPX K ograve -40 +KPX K ohungarumlaut -40 +KPX K omacron -40 +KPX K oslash -40 +KPX K otilde -40 +KPX K u -40 +KPX K uacute -40 +KPX K ucircumflex -40 +KPX K udieresis -40 +KPX K ugrave -40 +KPX K uhungarumlaut -40 +KPX K umacron -40 +KPX K uogonek -40 +KPX K uring -40 +KPX K y -40 +KPX K yacute -40 +KPX K ydieresis -40 +KPX Kcommaaccent O -50 +KPX Kcommaaccent Oacute -50 +KPX Kcommaaccent Ocircumflex -50 +KPX Kcommaaccent Odieresis -50 +KPX Kcommaaccent Ograve -50 +KPX Kcommaaccent Ohungarumlaut -50 +KPX Kcommaaccent Omacron -50 +KPX Kcommaaccent Oslash -50 +KPX Kcommaaccent Otilde -50 +KPX Kcommaaccent e -35 +KPX Kcommaaccent eacute -35 +KPX Kcommaaccent ecaron -35 +KPX Kcommaaccent ecircumflex -35 +KPX Kcommaaccent edieresis -35 +KPX Kcommaaccent edotaccent -35 +KPX Kcommaaccent egrave -35 +KPX Kcommaaccent emacron -35 +KPX Kcommaaccent eogonek -35 +KPX Kcommaaccent o -40 +KPX Kcommaaccent oacute -40 +KPX Kcommaaccent ocircumflex -40 +KPX Kcommaaccent odieresis -40 +KPX Kcommaaccent ograve -40 +KPX Kcommaaccent ohungarumlaut -40 +KPX Kcommaaccent omacron -40 +KPX Kcommaaccent oslash -40 +KPX Kcommaaccent otilde -40 +KPX Kcommaaccent u -40 +KPX Kcommaaccent uacute -40 +KPX Kcommaaccent ucircumflex -40 +KPX Kcommaaccent udieresis -40 +KPX Kcommaaccent ugrave -40 +KPX Kcommaaccent uhungarumlaut -40 +KPX Kcommaaccent umacron -40 +KPX Kcommaaccent uogonek -40 +KPX Kcommaaccent uring -40 +KPX Kcommaaccent y -40 +KPX Kcommaaccent yacute -40 +KPX Kcommaaccent ydieresis -40 +KPX L T -20 +KPX L Tcaron -20 +KPX L Tcommaaccent -20 +KPX L V -55 +KPX L W -55 +KPX L Y -20 +KPX L Yacute -20 +KPX L Ydieresis -20 +KPX L quoteright -37 +KPX L y -30 +KPX L yacute -30 +KPX L ydieresis -30 +KPX Lacute T -20 +KPX Lacute Tcaron -20 +KPX Lacute Tcommaaccent -20 +KPX Lacute V -55 +KPX Lacute W -55 +KPX Lacute Y -20 +KPX Lacute Yacute -20 +KPX Lacute Ydieresis -20 +KPX Lacute quoteright -37 +KPX Lacute y -30 +KPX Lacute yacute -30 +KPX Lacute ydieresis -30 +KPX Lcommaaccent T -20 +KPX Lcommaaccent Tcaron -20 +KPX Lcommaaccent Tcommaaccent -20 +KPX Lcommaaccent V -55 +KPX Lcommaaccent W -55 +KPX Lcommaaccent Y -20 +KPX Lcommaaccent Yacute -20 +KPX Lcommaaccent Ydieresis -20 +KPX Lcommaaccent quoteright -37 +KPX Lcommaaccent y -30 +KPX Lcommaaccent yacute -30 +KPX Lcommaaccent ydieresis -30 +KPX Lslash T -20 +KPX Lslash Tcaron -20 +KPX Lslash Tcommaaccent -20 +KPX Lslash V -55 +KPX Lslash W -55 +KPX Lslash Y -20 +KPX Lslash Yacute -20 +KPX Lslash Ydieresis -20 +KPX Lslash quoteright -37 +KPX Lslash y -30 +KPX Lslash yacute -30 +KPX Lslash ydieresis -30 +KPX N A -27 +KPX N Aacute -27 +KPX N Abreve -27 +KPX N Acircumflex -27 +KPX N Adieresis -27 +KPX N Agrave -27 +KPX N Amacron -27 +KPX N Aogonek -27 +KPX N Aring -27 +KPX N Atilde -27 +KPX Nacute A -27 +KPX Nacute Aacute -27 +KPX Nacute Abreve -27 +KPX Nacute Acircumflex -27 +KPX Nacute Adieresis -27 +KPX Nacute Agrave -27 +KPX Nacute Amacron -27 +KPX Nacute Aogonek -27 +KPX Nacute Aring -27 +KPX Nacute Atilde -27 +KPX Ncaron A -27 +KPX Ncaron Aacute -27 +KPX Ncaron Abreve -27 +KPX Ncaron Acircumflex -27 +KPX Ncaron Adieresis -27 +KPX Ncaron Agrave -27 +KPX Ncaron Amacron -27 +KPX Ncaron Aogonek -27 +KPX Ncaron Aring -27 +KPX Ncaron Atilde -27 +KPX Ncommaaccent A -27 +KPX Ncommaaccent Aacute -27 +KPX Ncommaaccent Abreve -27 +KPX Ncommaaccent Acircumflex -27 +KPX Ncommaaccent Adieresis -27 +KPX Ncommaaccent Agrave -27 +KPX Ncommaaccent Amacron -27 +KPX Ncommaaccent Aogonek -27 +KPX Ncommaaccent Aring -27 +KPX Ncommaaccent Atilde -27 +KPX Ntilde A -27 +KPX Ntilde Aacute -27 +KPX Ntilde Abreve -27 +KPX Ntilde Acircumflex -27 +KPX Ntilde Adieresis -27 +KPX Ntilde Agrave -27 +KPX Ntilde Amacron -27 +KPX Ntilde Aogonek -27 +KPX Ntilde Aring -27 +KPX Ntilde Atilde -27 +KPX O A -55 +KPX O Aacute -55 +KPX O Abreve -55 +KPX O Acircumflex -55 +KPX O Adieresis -55 +KPX O Agrave -55 +KPX O Amacron -55 +KPX O Aogonek -55 +KPX O Aring -55 +KPX O Atilde -55 +KPX O T -40 +KPX O Tcaron -40 +KPX O Tcommaaccent -40 +KPX O V -50 +KPX O W -50 +KPX O X -40 +KPX O Y -50 +KPX O Yacute -50 +KPX O Ydieresis -50 +KPX Oacute A -55 +KPX Oacute Aacute -55 +KPX Oacute Abreve -55 +KPX Oacute Acircumflex -55 +KPX Oacute Adieresis -55 +KPX Oacute Agrave -55 +KPX Oacute Amacron -55 +KPX Oacute Aogonek -55 +KPX Oacute Aring -55 +KPX Oacute Atilde -55 +KPX Oacute T -40 +KPX Oacute Tcaron -40 +KPX Oacute Tcommaaccent -40 +KPX Oacute V -50 +KPX Oacute W -50 +KPX Oacute X -40 +KPX Oacute Y -50 +KPX Oacute Yacute -50 +KPX Oacute Ydieresis -50 +KPX Ocircumflex A -55 +KPX Ocircumflex Aacute -55 +KPX Ocircumflex Abreve -55 +KPX Ocircumflex Acircumflex -55 +KPX Ocircumflex Adieresis -55 +KPX Ocircumflex Agrave -55 +KPX Ocircumflex Amacron -55 +KPX Ocircumflex Aogonek -55 +KPX Ocircumflex Aring -55 +KPX Ocircumflex Atilde -55 +KPX Ocircumflex T -40 +KPX Ocircumflex Tcaron -40 +KPX Ocircumflex Tcommaaccent -40 +KPX Ocircumflex V -50 +KPX Ocircumflex W -50 +KPX Ocircumflex X -40 +KPX Ocircumflex Y -50 +KPX Ocircumflex Yacute -50 +KPX Ocircumflex Ydieresis -50 +KPX Odieresis A -55 +KPX Odieresis Aacute -55 +KPX Odieresis Abreve -55 +KPX Odieresis Acircumflex -55 +KPX Odieresis Adieresis -55 +KPX Odieresis Agrave -55 +KPX Odieresis Amacron -55 +KPX Odieresis Aogonek -55 +KPX Odieresis Aring -55 +KPX Odieresis Atilde -55 +KPX Odieresis T -40 +KPX Odieresis Tcaron -40 +KPX Odieresis Tcommaaccent -40 +KPX Odieresis V -50 +KPX Odieresis W -50 +KPX Odieresis X -40 +KPX Odieresis Y -50 +KPX Odieresis Yacute -50 +KPX Odieresis Ydieresis -50 +KPX Ograve A -55 +KPX Ograve Aacute -55 +KPX Ograve Abreve -55 +KPX Ograve Acircumflex -55 +KPX Ograve Adieresis -55 +KPX Ograve Agrave -55 +KPX Ograve Amacron -55 +KPX Ograve Aogonek -55 +KPX Ograve Aring -55 +KPX Ograve Atilde -55 +KPX Ograve T -40 +KPX Ograve Tcaron -40 +KPX Ograve Tcommaaccent -40 +KPX Ograve V -50 +KPX Ograve W -50 +KPX Ograve X -40 +KPX Ograve Y -50 +KPX Ograve Yacute -50 +KPX Ograve Ydieresis -50 +KPX Ohungarumlaut A -55 +KPX Ohungarumlaut Aacute -55 +KPX Ohungarumlaut Abreve -55 +KPX Ohungarumlaut Acircumflex -55 +KPX Ohungarumlaut Adieresis -55 +KPX Ohungarumlaut Agrave -55 +KPX Ohungarumlaut Amacron -55 +KPX Ohungarumlaut Aogonek -55 +KPX Ohungarumlaut Aring -55 +KPX Ohungarumlaut Atilde -55 +KPX Ohungarumlaut T -40 +KPX Ohungarumlaut Tcaron -40 +KPX Ohungarumlaut Tcommaaccent -40 +KPX Ohungarumlaut V -50 +KPX Ohungarumlaut W -50 +KPX Ohungarumlaut X -40 +KPX Ohungarumlaut Y -50 +KPX Ohungarumlaut Yacute -50 +KPX Ohungarumlaut Ydieresis -50 +KPX Omacron A -55 +KPX Omacron Aacute -55 +KPX Omacron Abreve -55 +KPX Omacron Acircumflex -55 +KPX Omacron Adieresis -55 +KPX Omacron Agrave -55 +KPX Omacron Amacron -55 +KPX Omacron Aogonek -55 +KPX Omacron Aring -55 +KPX Omacron Atilde -55 +KPX Omacron T -40 +KPX Omacron Tcaron -40 +KPX Omacron Tcommaaccent -40 +KPX Omacron V -50 +KPX Omacron W -50 +KPX Omacron X -40 +KPX Omacron Y -50 +KPX Omacron Yacute -50 +KPX Omacron Ydieresis -50 +KPX Oslash A -55 +KPX Oslash Aacute -55 +KPX Oslash Abreve -55 +KPX Oslash Acircumflex -55 +KPX Oslash Adieresis -55 +KPX Oslash Agrave -55 +KPX Oslash Amacron -55 +KPX Oslash Aogonek -55 +KPX Oslash Aring -55 +KPX Oslash Atilde -55 +KPX Oslash T -40 +KPX Oslash Tcaron -40 +KPX Oslash Tcommaaccent -40 +KPX Oslash V -50 +KPX Oslash W -50 +KPX Oslash X -40 +KPX Oslash Y -50 +KPX Oslash Yacute -50 +KPX Oslash Ydieresis -50 +KPX Otilde A -55 +KPX Otilde Aacute -55 +KPX Otilde Abreve -55 +KPX Otilde Acircumflex -55 +KPX Otilde Adieresis -55 +KPX Otilde Agrave -55 +KPX Otilde Amacron -55 +KPX Otilde Aogonek -55 +KPX Otilde Aring -55 +KPX Otilde Atilde -55 +KPX Otilde T -40 +KPX Otilde Tcaron -40 +KPX Otilde Tcommaaccent -40 +KPX Otilde V -50 +KPX Otilde W -50 +KPX Otilde X -40 +KPX Otilde Y -50 +KPX Otilde Yacute -50 +KPX Otilde Ydieresis -50 +KPX P A -90 +KPX P Aacute -90 +KPX P Abreve -90 +KPX P Acircumflex -90 +KPX P Adieresis -90 +KPX P Agrave -90 +KPX P Amacron -90 +KPX P Aogonek -90 +KPX P Aring -90 +KPX P Atilde -90 +KPX P a -80 +KPX P aacute -80 +KPX P abreve -80 +KPX P acircumflex -80 +KPX P adieresis -80 +KPX P agrave -80 +KPX P amacron -80 +KPX P aogonek -80 +KPX P aring -80 +KPX P atilde -80 +KPX P comma -135 +KPX P e -80 +KPX P eacute -80 +KPX P ecaron -80 +KPX P ecircumflex -80 +KPX P edieresis -80 +KPX P edotaccent -80 +KPX P egrave -80 +KPX P emacron -80 +KPX P eogonek -80 +KPX P o -80 +KPX P oacute -80 +KPX P ocircumflex -80 +KPX P odieresis -80 +KPX P ograve -80 +KPX P ohungarumlaut -80 +KPX P omacron -80 +KPX P oslash -80 +KPX P otilde -80 +KPX P period -135 +KPX Q U -10 +KPX Q Uacute -10 +KPX Q Ucircumflex -10 +KPX Q Udieresis -10 +KPX Q Ugrave -10 +KPX Q Uhungarumlaut -10 +KPX Q Umacron -10 +KPX Q Uogonek -10 +KPX Q Uring -10 +KPX R O -40 +KPX R Oacute -40 +KPX R Ocircumflex -40 +KPX R Odieresis -40 +KPX R Ograve -40 +KPX R Ohungarumlaut -40 +KPX R Omacron -40 +KPX R Oslash -40 +KPX R Otilde -40 +KPX R U -40 +KPX R Uacute -40 +KPX R Ucircumflex -40 +KPX R Udieresis -40 +KPX R Ugrave -40 +KPX R Uhungarumlaut -40 +KPX R Umacron -40 +KPX R Uogonek -40 +KPX R Uring -40 +KPX R V -18 +KPX R W -18 +KPX R Y -18 +KPX R Yacute -18 +KPX R Ydieresis -18 +KPX Racute O -40 +KPX Racute Oacute -40 +KPX Racute Ocircumflex -40 +KPX Racute Odieresis -40 +KPX Racute Ograve -40 +KPX Racute Ohungarumlaut -40 +KPX Racute Omacron -40 +KPX Racute Oslash -40 +KPX Racute Otilde -40 +KPX Racute U -40 +KPX Racute Uacute -40 +KPX Racute Ucircumflex -40 +KPX Racute Udieresis -40 +KPX Racute Ugrave -40 +KPX Racute Uhungarumlaut -40 +KPX Racute Umacron -40 +KPX Racute Uogonek -40 +KPX Racute Uring -40 +KPX Racute V -18 +KPX Racute W -18 +KPX Racute Y -18 +KPX Racute Yacute -18 +KPX Racute Ydieresis -18 +KPX Rcaron O -40 +KPX Rcaron Oacute -40 +KPX Rcaron Ocircumflex -40 +KPX Rcaron Odieresis -40 +KPX Rcaron Ograve -40 +KPX Rcaron Ohungarumlaut -40 +KPX Rcaron Omacron -40 +KPX Rcaron Oslash -40 +KPX Rcaron Otilde -40 +KPX Rcaron U -40 +KPX Rcaron Uacute -40 +KPX Rcaron Ucircumflex -40 +KPX Rcaron Udieresis -40 +KPX Rcaron Ugrave -40 +KPX Rcaron Uhungarumlaut -40 +KPX Rcaron Umacron -40 +KPX Rcaron Uogonek -40 +KPX Rcaron Uring -40 +KPX Rcaron V -18 +KPX Rcaron W -18 +KPX Rcaron Y -18 +KPX Rcaron Yacute -18 +KPX Rcaron Ydieresis -18 +KPX Rcommaaccent O -40 +KPX Rcommaaccent Oacute -40 +KPX Rcommaaccent Ocircumflex -40 +KPX Rcommaaccent Odieresis -40 +KPX Rcommaaccent Ograve -40 +KPX Rcommaaccent Ohungarumlaut -40 +KPX Rcommaaccent Omacron -40 +KPX Rcommaaccent Oslash -40 +KPX Rcommaaccent Otilde -40 +KPX Rcommaaccent U -40 +KPX Rcommaaccent Uacute -40 +KPX Rcommaaccent Ucircumflex -40 +KPX Rcommaaccent Udieresis -40 +KPX Rcommaaccent Ugrave -40 +KPX Rcommaaccent Uhungarumlaut -40 +KPX Rcommaaccent Umacron -40 +KPX Rcommaaccent Uogonek -40 +KPX Rcommaaccent Uring -40 +KPX Rcommaaccent V -18 +KPX Rcommaaccent W -18 +KPX Rcommaaccent Y -18 +KPX Rcommaaccent Yacute -18 +KPX Rcommaaccent Ydieresis -18 +KPX T A -50 +KPX T Aacute -50 +KPX T Abreve -50 +KPX T Acircumflex -50 +KPX T Adieresis -50 +KPX T Agrave -50 +KPX T Amacron -50 +KPX T Aogonek -50 +KPX T Aring -50 +KPX T Atilde -50 +KPX T O -18 +KPX T Oacute -18 +KPX T Ocircumflex -18 +KPX T Odieresis -18 +KPX T Ograve -18 +KPX T Ohungarumlaut -18 +KPX T Omacron -18 +KPX T Oslash -18 +KPX T Otilde -18 +KPX T a -92 +KPX T aacute -92 +KPX T abreve -92 +KPX T acircumflex -92 +KPX T adieresis -92 +KPX T agrave -92 +KPX T amacron -92 +KPX T aogonek -92 +KPX T aring -92 +KPX T atilde -92 +KPX T colon -55 +KPX T comma -74 +KPX T e -92 +KPX T eacute -92 +KPX T ecaron -92 +KPX T ecircumflex -52 +KPX T edieresis -52 +KPX T edotaccent -92 +KPX T egrave -52 +KPX T emacron -52 +KPX T eogonek -92 +KPX T hyphen -74 +KPX T i -55 +KPX T iacute -55 +KPX T iogonek -55 +KPX T o -92 +KPX T oacute -92 +KPX T ocircumflex -92 +KPX T odieresis -92 +KPX T ograve -92 +KPX T ohungarumlaut -92 +KPX T omacron -92 +KPX T oslash -92 +KPX T otilde -92 +KPX T period -74 +KPX T r -55 +KPX T racute -55 +KPX T rcaron -55 +KPX T rcommaaccent -55 +KPX T semicolon -65 +KPX T u -55 +KPX T uacute -55 +KPX T ucircumflex -55 +KPX T udieresis -55 +KPX T ugrave -55 +KPX T uhungarumlaut -55 +KPX T umacron -55 +KPX T uogonek -55 +KPX T uring -55 +KPX T w -74 +KPX T y -74 +KPX T yacute -74 +KPX T ydieresis -34 +KPX Tcaron A -50 +KPX Tcaron Aacute -50 +KPX Tcaron Abreve -50 +KPX Tcaron Acircumflex -50 +KPX Tcaron Adieresis -50 +KPX Tcaron Agrave -50 +KPX Tcaron Amacron -50 +KPX Tcaron Aogonek -50 +KPX Tcaron Aring -50 +KPX Tcaron Atilde -50 +KPX Tcaron O -18 +KPX Tcaron Oacute -18 +KPX Tcaron Ocircumflex -18 +KPX Tcaron Odieresis -18 +KPX Tcaron Ograve -18 +KPX Tcaron Ohungarumlaut -18 +KPX Tcaron Omacron -18 +KPX Tcaron Oslash -18 +KPX Tcaron Otilde -18 +KPX Tcaron a -92 +KPX Tcaron aacute -92 +KPX Tcaron abreve -92 +KPX Tcaron acircumflex -92 +KPX Tcaron adieresis -92 +KPX Tcaron agrave -92 +KPX Tcaron amacron -92 +KPX Tcaron aogonek -92 +KPX Tcaron aring -92 +KPX Tcaron atilde -92 +KPX Tcaron colon -55 +KPX Tcaron comma -74 +KPX Tcaron e -92 +KPX Tcaron eacute -92 +KPX Tcaron ecaron -92 +KPX Tcaron ecircumflex -52 +KPX Tcaron edieresis -52 +KPX Tcaron edotaccent -92 +KPX Tcaron egrave -52 +KPX Tcaron emacron -52 +KPX Tcaron eogonek -92 +KPX Tcaron hyphen -74 +KPX Tcaron i -55 +KPX Tcaron iacute -55 +KPX Tcaron iogonek -55 +KPX Tcaron o -92 +KPX Tcaron oacute -92 +KPX Tcaron ocircumflex -92 +KPX Tcaron odieresis -92 +KPX Tcaron ograve -92 +KPX Tcaron ohungarumlaut -92 +KPX Tcaron omacron -92 +KPX Tcaron oslash -92 +KPX Tcaron otilde -92 +KPX Tcaron period -74 +KPX Tcaron r -55 +KPX Tcaron racute -55 +KPX Tcaron rcaron -55 +KPX Tcaron rcommaaccent -55 +KPX Tcaron semicolon -65 +KPX Tcaron u -55 +KPX Tcaron uacute -55 +KPX Tcaron ucircumflex -55 +KPX Tcaron udieresis -55 +KPX Tcaron ugrave -55 +KPX Tcaron uhungarumlaut -55 +KPX Tcaron umacron -55 +KPX Tcaron uogonek -55 +KPX Tcaron uring -55 +KPX Tcaron w -74 +KPX Tcaron y -74 +KPX Tcaron yacute -74 +KPX Tcaron ydieresis -34 +KPX Tcommaaccent A -50 +KPX Tcommaaccent Aacute -50 +KPX Tcommaaccent Abreve -50 +KPX Tcommaaccent Acircumflex -50 +KPX Tcommaaccent Adieresis -50 +KPX Tcommaaccent Agrave -50 +KPX Tcommaaccent Amacron -50 +KPX Tcommaaccent Aogonek -50 +KPX Tcommaaccent Aring -50 +KPX Tcommaaccent Atilde -50 +KPX Tcommaaccent O -18 +KPX Tcommaaccent Oacute -18 +KPX Tcommaaccent Ocircumflex -18 +KPX Tcommaaccent Odieresis -18 +KPX Tcommaaccent Ograve -18 +KPX Tcommaaccent Ohungarumlaut -18 +KPX Tcommaaccent Omacron -18 +KPX Tcommaaccent Oslash -18 +KPX Tcommaaccent Otilde -18 +KPX Tcommaaccent a -92 +KPX Tcommaaccent aacute -92 +KPX Tcommaaccent abreve -92 +KPX Tcommaaccent acircumflex -92 +KPX Tcommaaccent adieresis -92 +KPX Tcommaaccent agrave -92 +KPX Tcommaaccent amacron -92 +KPX Tcommaaccent aogonek -92 +KPX Tcommaaccent aring -92 +KPX Tcommaaccent atilde -92 +KPX Tcommaaccent colon -55 +KPX Tcommaaccent comma -74 +KPX Tcommaaccent e -92 +KPX Tcommaaccent eacute -92 +KPX Tcommaaccent ecaron -92 +KPX Tcommaaccent ecircumflex -52 +KPX Tcommaaccent edieresis -52 +KPX Tcommaaccent edotaccent -92 +KPX Tcommaaccent egrave -52 +KPX Tcommaaccent emacron -52 +KPX Tcommaaccent eogonek -92 +KPX Tcommaaccent hyphen -74 +KPX Tcommaaccent i -55 +KPX Tcommaaccent iacute -55 +KPX Tcommaaccent iogonek -55 +KPX Tcommaaccent o -92 +KPX Tcommaaccent oacute -92 +KPX Tcommaaccent ocircumflex -92 +KPX Tcommaaccent odieresis -92 +KPX Tcommaaccent ograve -92 +KPX Tcommaaccent ohungarumlaut -92 +KPX Tcommaaccent omacron -92 +KPX Tcommaaccent oslash -92 +KPX Tcommaaccent otilde -92 +KPX Tcommaaccent period -74 +KPX Tcommaaccent r -55 +KPX Tcommaaccent racute -55 +KPX Tcommaaccent rcaron -55 +KPX Tcommaaccent rcommaaccent -55 +KPX Tcommaaccent semicolon -65 +KPX Tcommaaccent u -55 +KPX Tcommaaccent uacute -55 +KPX Tcommaaccent ucircumflex -55 +KPX Tcommaaccent udieresis -55 +KPX Tcommaaccent ugrave -55 +KPX Tcommaaccent uhungarumlaut -55 +KPX Tcommaaccent umacron -55 +KPX Tcommaaccent uogonek -55 +KPX Tcommaaccent uring -55 +KPX Tcommaaccent w -74 +KPX Tcommaaccent y -74 +KPX Tcommaaccent yacute -74 +KPX Tcommaaccent ydieresis -34 +KPX U A -40 +KPX U Aacute -40 +KPX U Abreve -40 +KPX U Acircumflex -40 +KPX U Adieresis -40 +KPX U Agrave -40 +KPX U Amacron -40 +KPX U Aogonek -40 +KPX U Aring -40 +KPX U Atilde -40 +KPX U comma -25 +KPX U period -25 +KPX Uacute A -40 +KPX Uacute Aacute -40 +KPX Uacute Abreve -40 +KPX Uacute Acircumflex -40 +KPX Uacute Adieresis -40 +KPX Uacute Agrave -40 +KPX Uacute Amacron -40 +KPX Uacute Aogonek -40 +KPX Uacute Aring -40 +KPX Uacute Atilde -40 +KPX Uacute comma -25 +KPX Uacute period -25 +KPX Ucircumflex A -40 +KPX Ucircumflex Aacute -40 +KPX Ucircumflex Abreve -40 +KPX Ucircumflex Acircumflex -40 +KPX Ucircumflex Adieresis -40 +KPX Ucircumflex Agrave -40 +KPX Ucircumflex Amacron -40 +KPX Ucircumflex Aogonek -40 +KPX Ucircumflex Aring -40 +KPX Ucircumflex Atilde -40 +KPX Ucircumflex comma -25 +KPX Ucircumflex period -25 +KPX Udieresis A -40 +KPX Udieresis Aacute -40 +KPX Udieresis Abreve -40 +KPX Udieresis Acircumflex -40 +KPX Udieresis Adieresis -40 +KPX Udieresis Agrave -40 +KPX Udieresis Amacron -40 +KPX Udieresis Aogonek -40 +KPX Udieresis Aring -40 +KPX Udieresis Atilde -40 +KPX Udieresis comma -25 +KPX Udieresis period -25 +KPX Ugrave A -40 +KPX Ugrave Aacute -40 +KPX Ugrave Abreve -40 +KPX Ugrave Acircumflex -40 +KPX Ugrave Adieresis -40 +KPX Ugrave Agrave -40 +KPX Ugrave Amacron -40 +KPX Ugrave Aogonek -40 +KPX Ugrave Aring -40 +KPX Ugrave Atilde -40 +KPX Ugrave comma -25 +KPX Ugrave period -25 +KPX Uhungarumlaut A -40 +KPX Uhungarumlaut Aacute -40 +KPX Uhungarumlaut Abreve -40 +KPX Uhungarumlaut Acircumflex -40 +KPX Uhungarumlaut Adieresis -40 +KPX Uhungarumlaut Agrave -40 +KPX Uhungarumlaut Amacron -40 +KPX Uhungarumlaut Aogonek -40 +KPX Uhungarumlaut Aring -40 +KPX Uhungarumlaut Atilde -40 +KPX Uhungarumlaut comma -25 +KPX Uhungarumlaut period -25 +KPX Umacron A -40 +KPX Umacron Aacute -40 +KPX Umacron Abreve -40 +KPX Umacron Acircumflex -40 +KPX Umacron Adieresis -40 +KPX Umacron Agrave -40 +KPX Umacron Amacron -40 +KPX Umacron Aogonek -40 +KPX Umacron Aring -40 +KPX Umacron Atilde -40 +KPX Umacron comma -25 +KPX Umacron period -25 +KPX Uogonek A -40 +KPX Uogonek Aacute -40 +KPX Uogonek Abreve -40 +KPX Uogonek Acircumflex -40 +KPX Uogonek Adieresis -40 +KPX Uogonek Agrave -40 +KPX Uogonek Amacron -40 +KPX Uogonek Aogonek -40 +KPX Uogonek Aring -40 +KPX Uogonek Atilde -40 +KPX Uogonek comma -25 +KPX Uogonek period -25 +KPX Uring A -40 +KPX Uring Aacute -40 +KPX Uring Abreve -40 +KPX Uring Acircumflex -40 +KPX Uring Adieresis -40 +KPX Uring Agrave -40 +KPX Uring Amacron -40 +KPX Uring Aogonek -40 +KPX Uring Aring -40 +KPX Uring Atilde -40 +KPX Uring comma -25 +KPX Uring period -25 +KPX V A -60 +KPX V Aacute -60 +KPX V Abreve -60 +KPX V Acircumflex -60 +KPX V Adieresis -60 +KPX V Agrave -60 +KPX V Amacron -60 +KPX V Aogonek -60 +KPX V Aring -60 +KPX V Atilde -60 +KPX V O -30 +KPX V Oacute -30 +KPX V Ocircumflex -30 +KPX V Odieresis -30 +KPX V Ograve -30 +KPX V Ohungarumlaut -30 +KPX V Omacron -30 +KPX V Oslash -30 +KPX V Otilde -30 +KPX V a -111 +KPX V aacute -111 +KPX V abreve -111 +KPX V acircumflex -111 +KPX V adieresis -111 +KPX V agrave -111 +KPX V amacron -111 +KPX V aogonek -111 +KPX V aring -111 +KPX V atilde -111 +KPX V colon -65 +KPX V comma -129 +KPX V e -111 +KPX V eacute -111 +KPX V ecaron -111 +KPX V ecircumflex -111 +KPX V edieresis -71 +KPX V edotaccent -111 +KPX V egrave -71 +KPX V emacron -71 +KPX V eogonek -111 +KPX V hyphen -55 +KPX V i -74 +KPX V iacute -74 +KPX V icircumflex -34 +KPX V idieresis -34 +KPX V igrave -34 +KPX V imacron -34 +KPX V iogonek -74 +KPX V o -111 +KPX V oacute -111 +KPX V ocircumflex -111 +KPX V odieresis -111 +KPX V ograve -111 +KPX V ohungarumlaut -111 +KPX V omacron -111 +KPX V oslash -111 +KPX V otilde -111 +KPX V period -129 +KPX V semicolon -74 +KPX V u -74 +KPX V uacute -74 +KPX V ucircumflex -74 +KPX V udieresis -74 +KPX V ugrave -74 +KPX V uhungarumlaut -74 +KPX V umacron -74 +KPX V uogonek -74 +KPX V uring -74 +KPX W A -60 +KPX W Aacute -60 +KPX W Abreve -60 +KPX W Acircumflex -60 +KPX W Adieresis -60 +KPX W Agrave -60 +KPX W Amacron -60 +KPX W Aogonek -60 +KPX W Aring -60 +KPX W Atilde -60 +KPX W O -25 +KPX W Oacute -25 +KPX W Ocircumflex -25 +KPX W Odieresis -25 +KPX W Ograve -25 +KPX W Ohungarumlaut -25 +KPX W Omacron -25 +KPX W Oslash -25 +KPX W Otilde -25 +KPX W a -92 +KPX W aacute -92 +KPX W abreve -92 +KPX W acircumflex -92 +KPX W adieresis -92 +KPX W agrave -92 +KPX W amacron -92 +KPX W aogonek -92 +KPX W aring -92 +KPX W atilde -92 +KPX W colon -65 +KPX W comma -92 +KPX W e -92 +KPX W eacute -92 +KPX W ecaron -92 +KPX W ecircumflex -92 +KPX W edieresis -52 +KPX W edotaccent -92 +KPX W egrave -52 +KPX W emacron -52 +KPX W eogonek -92 +KPX W hyphen -37 +KPX W i -55 +KPX W iacute -55 +KPX W iogonek -55 +KPX W o -92 +KPX W oacute -92 +KPX W ocircumflex -92 +KPX W odieresis -92 +KPX W ograve -92 +KPX W ohungarumlaut -92 +KPX W omacron -92 +KPX W oslash -92 +KPX W otilde -92 +KPX W period -92 +KPX W semicolon -65 +KPX W u -55 +KPX W uacute -55 +KPX W ucircumflex -55 +KPX W udieresis -55 +KPX W ugrave -55 +KPX W uhungarumlaut -55 +KPX W umacron -55 +KPX W uogonek -55 +KPX W uring -55 +KPX W y -70 +KPX W yacute -70 +KPX W ydieresis -70 +KPX Y A -50 +KPX Y Aacute -50 +KPX Y Abreve -50 +KPX Y Acircumflex -50 +KPX Y Adieresis -50 +KPX Y Agrave -50 +KPX Y Amacron -50 +KPX Y Aogonek -50 +KPX Y Aring -50 +KPX Y Atilde -50 +KPX Y O -15 +KPX Y Oacute -15 +KPX Y Ocircumflex -15 +KPX Y Odieresis -15 +KPX Y Ograve -15 +KPX Y Ohungarumlaut -15 +KPX Y Omacron -15 +KPX Y Oslash -15 +KPX Y Otilde -15 +KPX Y a -92 +KPX Y aacute -92 +KPX Y abreve -92 +KPX Y acircumflex -92 +KPX Y adieresis -92 +KPX Y agrave -92 +KPX Y amacron -92 +KPX Y aogonek -92 +KPX Y aring -92 +KPX Y atilde -92 +KPX Y colon -65 +KPX Y comma -92 +KPX Y e -92 +KPX Y eacute -92 +KPX Y ecaron -92 +KPX Y ecircumflex -92 +KPX Y edieresis -52 +KPX Y edotaccent -92 +KPX Y egrave -52 +KPX Y emacron -52 +KPX Y eogonek -92 +KPX Y hyphen -74 +KPX Y i -74 +KPX Y iacute -74 +KPX Y icircumflex -34 +KPX Y idieresis -34 +KPX Y igrave -34 +KPX Y imacron -34 +KPX Y iogonek -74 +KPX Y o -92 +KPX Y oacute -92 +KPX Y ocircumflex -92 +KPX Y odieresis -92 +KPX Y ograve -92 +KPX Y ohungarumlaut -92 +KPX Y omacron -92 +KPX Y oslash -92 +KPX Y otilde -92 +KPX Y period -92 +KPX Y semicolon -65 +KPX Y u -92 +KPX Y uacute -92 +KPX Y ucircumflex -92 +KPX Y udieresis -92 +KPX Y ugrave -92 +KPX Y uhungarumlaut -92 +KPX Y umacron -92 +KPX Y uogonek -92 +KPX Y uring -92 +KPX Yacute A -50 +KPX Yacute Aacute -50 +KPX Yacute Abreve -50 +KPX Yacute Acircumflex -50 +KPX Yacute Adieresis -50 +KPX Yacute Agrave -50 +KPX Yacute Amacron -50 +KPX Yacute Aogonek -50 +KPX Yacute Aring -50 +KPX Yacute Atilde -50 +KPX Yacute O -15 +KPX Yacute Oacute -15 +KPX Yacute Ocircumflex -15 +KPX Yacute Odieresis -15 +KPX Yacute Ograve -15 +KPX Yacute Ohungarumlaut -15 +KPX Yacute Omacron -15 +KPX Yacute Oslash -15 +KPX Yacute Otilde -15 +KPX Yacute a -92 +KPX Yacute aacute -92 +KPX Yacute abreve -92 +KPX Yacute acircumflex -92 +KPX Yacute adieresis -92 +KPX Yacute agrave -92 +KPX Yacute amacron -92 +KPX Yacute aogonek -92 +KPX Yacute aring -92 +KPX Yacute atilde -92 +KPX Yacute colon -65 +KPX Yacute comma -92 +KPX Yacute e -92 +KPX Yacute eacute -92 +KPX Yacute ecaron -92 +KPX Yacute ecircumflex -92 +KPX Yacute edieresis -52 +KPX Yacute edotaccent -92 +KPX Yacute egrave -52 +KPX Yacute emacron -52 +KPX Yacute eogonek -92 +KPX Yacute hyphen -74 +KPX Yacute i -74 +KPX Yacute iacute -74 +KPX Yacute icircumflex -34 +KPX Yacute idieresis -34 +KPX Yacute igrave -34 +KPX Yacute imacron -34 +KPX Yacute iogonek -74 +KPX Yacute o -92 +KPX Yacute oacute -92 +KPX Yacute ocircumflex -92 +KPX Yacute odieresis -92 +KPX Yacute ograve -92 +KPX Yacute ohungarumlaut -92 +KPX Yacute omacron -92 +KPX Yacute oslash -92 +KPX Yacute otilde -92 +KPX Yacute period -92 +KPX Yacute semicolon -65 +KPX Yacute u -92 +KPX Yacute uacute -92 +KPX Yacute ucircumflex -92 +KPX Yacute udieresis -92 +KPX Yacute ugrave -92 +KPX Yacute uhungarumlaut -92 +KPX Yacute umacron -92 +KPX Yacute uogonek -92 +KPX Yacute uring -92 +KPX Ydieresis A -50 +KPX Ydieresis Aacute -50 +KPX Ydieresis Abreve -50 +KPX Ydieresis Acircumflex -50 +KPX Ydieresis Adieresis -50 +KPX Ydieresis Agrave -50 +KPX Ydieresis Amacron -50 +KPX Ydieresis Aogonek -50 +KPX Ydieresis Aring -50 +KPX Ydieresis Atilde -50 +KPX Ydieresis O -15 +KPX Ydieresis Oacute -15 +KPX Ydieresis Ocircumflex -15 +KPX Ydieresis Odieresis -15 +KPX Ydieresis Ograve -15 +KPX Ydieresis Ohungarumlaut -15 +KPX Ydieresis Omacron -15 +KPX Ydieresis Oslash -15 +KPX Ydieresis Otilde -15 +KPX Ydieresis a -92 +KPX Ydieresis aacute -92 +KPX Ydieresis abreve -92 +KPX Ydieresis acircumflex -92 +KPX Ydieresis adieresis -92 +KPX Ydieresis agrave -92 +KPX Ydieresis amacron -92 +KPX Ydieresis aogonek -92 +KPX Ydieresis aring -92 +KPX Ydieresis atilde -92 +KPX Ydieresis colon -65 +KPX Ydieresis comma -92 +KPX Ydieresis e -92 +KPX Ydieresis eacute -92 +KPX Ydieresis ecaron -92 +KPX Ydieresis ecircumflex -92 +KPX Ydieresis edieresis -52 +KPX Ydieresis edotaccent -92 +KPX Ydieresis egrave -52 +KPX Ydieresis emacron -52 +KPX Ydieresis eogonek -92 +KPX Ydieresis hyphen -74 +KPX Ydieresis i -74 +KPX Ydieresis iacute -74 +KPX Ydieresis icircumflex -34 +KPX Ydieresis idieresis -34 +KPX Ydieresis igrave -34 +KPX Ydieresis imacron -34 +KPX Ydieresis iogonek -74 +KPX Ydieresis o -92 +KPX Ydieresis oacute -92 +KPX Ydieresis ocircumflex -92 +KPX Ydieresis odieresis -92 +KPX Ydieresis ograve -92 +KPX Ydieresis ohungarumlaut -92 +KPX Ydieresis omacron -92 +KPX Ydieresis oslash -92 +KPX Ydieresis otilde -92 +KPX Ydieresis period -92 +KPX Ydieresis semicolon -65 +KPX Ydieresis u -92 +KPX Ydieresis uacute -92 +KPX Ydieresis ucircumflex -92 +KPX Ydieresis udieresis -92 +KPX Ydieresis ugrave -92 +KPX Ydieresis uhungarumlaut -92 +KPX Ydieresis umacron -92 +KPX Ydieresis uogonek -92 +KPX Ydieresis uring -92 +KPX a g -10 +KPX a gbreve -10 +KPX a gcommaaccent -10 +KPX aacute g -10 +KPX aacute gbreve -10 +KPX aacute gcommaaccent -10 +KPX abreve g -10 +KPX abreve gbreve -10 +KPX abreve gcommaaccent -10 +KPX acircumflex g -10 +KPX acircumflex gbreve -10 +KPX acircumflex gcommaaccent -10 +KPX adieresis g -10 +KPX adieresis gbreve -10 +KPX adieresis gcommaaccent -10 +KPX agrave g -10 +KPX agrave gbreve -10 +KPX agrave gcommaaccent -10 +KPX amacron g -10 +KPX amacron gbreve -10 +KPX amacron gcommaaccent -10 +KPX aogonek g -10 +KPX aogonek gbreve -10 +KPX aogonek gcommaaccent -10 +KPX aring g -10 +KPX aring gbreve -10 +KPX aring gcommaaccent -10 +KPX atilde g -10 +KPX atilde gbreve -10 +KPX atilde gcommaaccent -10 +KPX b period -40 +KPX b u -20 +KPX b uacute -20 +KPX b ucircumflex -20 +KPX b udieresis -20 +KPX b ugrave -20 +KPX b uhungarumlaut -20 +KPX b umacron -20 +KPX b uogonek -20 +KPX b uring -20 +KPX c h -15 +KPX c k -20 +KPX c kcommaaccent -20 +KPX cacute h -15 +KPX cacute k -20 +KPX cacute kcommaaccent -20 +KPX ccaron h -15 +KPX ccaron k -20 +KPX ccaron kcommaaccent -20 +KPX ccedilla h -15 +KPX ccedilla k -20 +KPX ccedilla kcommaaccent -20 +KPX comma quotedblright -140 +KPX comma quoteright -140 +KPX e comma -10 +KPX e g -40 +KPX e gbreve -40 +KPX e gcommaaccent -40 +KPX e period -15 +KPX e v -15 +KPX e w -15 +KPX e x -20 +KPX e y -30 +KPX e yacute -30 +KPX e ydieresis -30 +KPX eacute comma -10 +KPX eacute g -40 +KPX eacute gbreve -40 +KPX eacute gcommaaccent -40 +KPX eacute period -15 +KPX eacute v -15 +KPX eacute w -15 +KPX eacute x -20 +KPX eacute y -30 +KPX eacute yacute -30 +KPX eacute ydieresis -30 +KPX ecaron comma -10 +KPX ecaron g -40 +KPX ecaron gbreve -40 +KPX ecaron gcommaaccent -40 +KPX ecaron period -15 +KPX ecaron v -15 +KPX ecaron w -15 +KPX ecaron x -20 +KPX ecaron y -30 +KPX ecaron yacute -30 +KPX ecaron ydieresis -30 +KPX ecircumflex comma -10 +KPX ecircumflex g -40 +KPX ecircumflex gbreve -40 +KPX ecircumflex gcommaaccent -40 +KPX ecircumflex period -15 +KPX ecircumflex v -15 +KPX ecircumflex w -15 +KPX ecircumflex x -20 +KPX ecircumflex y -30 +KPX ecircumflex yacute -30 +KPX ecircumflex ydieresis -30 +KPX edieresis comma -10 +KPX edieresis g -40 +KPX edieresis gbreve -40 +KPX edieresis gcommaaccent -40 +KPX edieresis period -15 +KPX edieresis v -15 +KPX edieresis w -15 +KPX edieresis x -20 +KPX edieresis y -30 +KPX edieresis yacute -30 +KPX edieresis ydieresis -30 +KPX edotaccent comma -10 +KPX edotaccent g -40 +KPX edotaccent gbreve -40 +KPX edotaccent gcommaaccent -40 +KPX edotaccent period -15 +KPX edotaccent v -15 +KPX edotaccent w -15 +KPX edotaccent x -20 +KPX edotaccent y -30 +KPX edotaccent yacute -30 +KPX edotaccent ydieresis -30 +KPX egrave comma -10 +KPX egrave g -40 +KPX egrave gbreve -40 +KPX egrave gcommaaccent -40 +KPX egrave period -15 +KPX egrave v -15 +KPX egrave w -15 +KPX egrave x -20 +KPX egrave y -30 +KPX egrave yacute -30 +KPX egrave ydieresis -30 +KPX emacron comma -10 +KPX emacron g -40 +KPX emacron gbreve -40 +KPX emacron gcommaaccent -40 +KPX emacron period -15 +KPX emacron v -15 +KPX emacron w -15 +KPX emacron x -20 +KPX emacron y -30 +KPX emacron yacute -30 +KPX emacron ydieresis -30 +KPX eogonek comma -10 +KPX eogonek g -40 +KPX eogonek gbreve -40 +KPX eogonek gcommaaccent -40 +KPX eogonek period -15 +KPX eogonek v -15 +KPX eogonek w -15 +KPX eogonek x -20 +KPX eogonek y -30 +KPX eogonek yacute -30 +KPX eogonek ydieresis -30 +KPX f comma -10 +KPX f dotlessi -60 +KPX f f -18 +KPX f i -20 +KPX f iogonek -20 +KPX f period -15 +KPX f quoteright 92 +KPX g comma -10 +KPX g e -10 +KPX g eacute -10 +KPX g ecaron -10 +KPX g ecircumflex -10 +KPX g edieresis -10 +KPX g edotaccent -10 +KPX g egrave -10 +KPX g emacron -10 +KPX g eogonek -10 +KPX g g -10 +KPX g gbreve -10 +KPX g gcommaaccent -10 +KPX g period -15 +KPX gbreve comma -10 +KPX gbreve e -10 +KPX gbreve eacute -10 +KPX gbreve ecaron -10 +KPX gbreve ecircumflex -10 +KPX gbreve edieresis -10 +KPX gbreve edotaccent -10 +KPX gbreve egrave -10 +KPX gbreve emacron -10 +KPX gbreve eogonek -10 +KPX gbreve g -10 +KPX gbreve gbreve -10 +KPX gbreve gcommaaccent -10 +KPX gbreve period -15 +KPX gcommaaccent comma -10 +KPX gcommaaccent e -10 +KPX gcommaaccent eacute -10 +KPX gcommaaccent ecaron -10 +KPX gcommaaccent ecircumflex -10 +KPX gcommaaccent edieresis -10 +KPX gcommaaccent edotaccent -10 +KPX gcommaaccent egrave -10 +KPX gcommaaccent emacron -10 +KPX gcommaaccent eogonek -10 +KPX gcommaaccent g -10 +KPX gcommaaccent gbreve -10 +KPX gcommaaccent gcommaaccent -10 +KPX gcommaaccent period -15 +KPX k e -10 +KPX k eacute -10 +KPX k ecaron -10 +KPX k ecircumflex -10 +KPX k edieresis -10 +KPX k edotaccent -10 +KPX k egrave -10 +KPX k emacron -10 +KPX k eogonek -10 +KPX k o -10 +KPX k oacute -10 +KPX k ocircumflex -10 +KPX k odieresis -10 +KPX k ograve -10 +KPX k ohungarumlaut -10 +KPX k omacron -10 +KPX k oslash -10 +KPX k otilde -10 +KPX k y -10 +KPX k yacute -10 +KPX k ydieresis -10 +KPX kcommaaccent e -10 +KPX kcommaaccent eacute -10 +KPX kcommaaccent ecaron -10 +KPX kcommaaccent ecircumflex -10 +KPX kcommaaccent edieresis -10 +KPX kcommaaccent edotaccent -10 +KPX kcommaaccent egrave -10 +KPX kcommaaccent emacron -10 +KPX kcommaaccent eogonek -10 +KPX kcommaaccent o -10 +KPX kcommaaccent oacute -10 +KPX kcommaaccent ocircumflex -10 +KPX kcommaaccent odieresis -10 +KPX kcommaaccent ograve -10 +KPX kcommaaccent ohungarumlaut -10 +KPX kcommaaccent omacron -10 +KPX kcommaaccent oslash -10 +KPX kcommaaccent otilde -10 +KPX kcommaaccent y -10 +KPX kcommaaccent yacute -10 +KPX kcommaaccent ydieresis -10 +KPX n v -40 +KPX nacute v -40 +KPX ncaron v -40 +KPX ncommaaccent v -40 +KPX ntilde v -40 +KPX o g -10 +KPX o gbreve -10 +KPX o gcommaaccent -10 +KPX o v -10 +KPX oacute g -10 +KPX oacute gbreve -10 +KPX oacute gcommaaccent -10 +KPX oacute v -10 +KPX ocircumflex g -10 +KPX ocircumflex gbreve -10 +KPX ocircumflex gcommaaccent -10 +KPX ocircumflex v -10 +KPX odieresis g -10 +KPX odieresis gbreve -10 +KPX odieresis gcommaaccent -10 +KPX odieresis v -10 +KPX ograve g -10 +KPX ograve gbreve -10 +KPX ograve gcommaaccent -10 +KPX ograve v -10 +KPX ohungarumlaut g -10 +KPX ohungarumlaut gbreve -10 +KPX ohungarumlaut gcommaaccent -10 +KPX ohungarumlaut v -10 +KPX omacron g -10 +KPX omacron gbreve -10 +KPX omacron gcommaaccent -10 +KPX omacron v -10 +KPX oslash g -10 +KPX oslash gbreve -10 +KPX oslash gcommaaccent -10 +KPX oslash v -10 +KPX otilde g -10 +KPX otilde gbreve -10 +KPX otilde gcommaaccent -10 +KPX otilde v -10 +KPX period quotedblright -140 +KPX period quoteright -140 +KPX quoteleft quoteleft -111 +KPX quoteright d -25 +KPX quoteright dcroat -25 +KPX quoteright quoteright -111 +KPX quoteright r -25 +KPX quoteright racute -25 +KPX quoteright rcaron -25 +KPX quoteright rcommaaccent -25 +KPX quoteright s -40 +KPX quoteright sacute -40 +KPX quoteright scaron -40 +KPX quoteright scedilla -40 +KPX quoteright scommaaccent -40 +KPX quoteright space -111 +KPX quoteright t -30 +KPX quoteright tcommaaccent -30 +KPX quoteright v -10 +KPX r a -15 +KPX r aacute -15 +KPX r abreve -15 +KPX r acircumflex -15 +KPX r adieresis -15 +KPX r agrave -15 +KPX r amacron -15 +KPX r aogonek -15 +KPX r aring -15 +KPX r atilde -15 +KPX r c -37 +KPX r cacute -37 +KPX r ccaron -37 +KPX r ccedilla -37 +KPX r comma -111 +KPX r d -37 +KPX r dcroat -37 +KPX r e -37 +KPX r eacute -37 +KPX r ecaron -37 +KPX r ecircumflex -37 +KPX r edieresis -37 +KPX r edotaccent -37 +KPX r egrave -37 +KPX r emacron -37 +KPX r eogonek -37 +KPX r g -37 +KPX r gbreve -37 +KPX r gcommaaccent -37 +KPX r hyphen -20 +KPX r o -45 +KPX r oacute -45 +KPX r ocircumflex -45 +KPX r odieresis -45 +KPX r ograve -45 +KPX r ohungarumlaut -45 +KPX r omacron -45 +KPX r oslash -45 +KPX r otilde -45 +KPX r period -111 +KPX r q -37 +KPX r s -10 +KPX r sacute -10 +KPX r scaron -10 +KPX r scedilla -10 +KPX r scommaaccent -10 +KPX racute a -15 +KPX racute aacute -15 +KPX racute abreve -15 +KPX racute acircumflex -15 +KPX racute adieresis -15 +KPX racute agrave -15 +KPX racute amacron -15 +KPX racute aogonek -15 +KPX racute aring -15 +KPX racute atilde -15 +KPX racute c -37 +KPX racute cacute -37 +KPX racute ccaron -37 +KPX racute ccedilla -37 +KPX racute comma -111 +KPX racute d -37 +KPX racute dcroat -37 +KPX racute e -37 +KPX racute eacute -37 +KPX racute ecaron -37 +KPX racute ecircumflex -37 +KPX racute edieresis -37 +KPX racute edotaccent -37 +KPX racute egrave -37 +KPX racute emacron -37 +KPX racute eogonek -37 +KPX racute g -37 +KPX racute gbreve -37 +KPX racute gcommaaccent -37 +KPX racute hyphen -20 +KPX racute o -45 +KPX racute oacute -45 +KPX racute ocircumflex -45 +KPX racute odieresis -45 +KPX racute ograve -45 +KPX racute ohungarumlaut -45 +KPX racute omacron -45 +KPX racute oslash -45 +KPX racute otilde -45 +KPX racute period -111 +KPX racute q -37 +KPX racute s -10 +KPX racute sacute -10 +KPX racute scaron -10 +KPX racute scedilla -10 +KPX racute scommaaccent -10 +KPX rcaron a -15 +KPX rcaron aacute -15 +KPX rcaron abreve -15 +KPX rcaron acircumflex -15 +KPX rcaron adieresis -15 +KPX rcaron agrave -15 +KPX rcaron amacron -15 +KPX rcaron aogonek -15 +KPX rcaron aring -15 +KPX rcaron atilde -15 +KPX rcaron c -37 +KPX rcaron cacute -37 +KPX rcaron ccaron -37 +KPX rcaron ccedilla -37 +KPX rcaron comma -111 +KPX rcaron d -37 +KPX rcaron dcroat -37 +KPX rcaron e -37 +KPX rcaron eacute -37 +KPX rcaron ecaron -37 +KPX rcaron ecircumflex -37 +KPX rcaron edieresis -37 +KPX rcaron edotaccent -37 +KPX rcaron egrave -37 +KPX rcaron emacron -37 +KPX rcaron eogonek -37 +KPX rcaron g -37 +KPX rcaron gbreve -37 +KPX rcaron gcommaaccent -37 +KPX rcaron hyphen -20 +KPX rcaron o -45 +KPX rcaron oacute -45 +KPX rcaron ocircumflex -45 +KPX rcaron odieresis -45 +KPX rcaron ograve -45 +KPX rcaron ohungarumlaut -45 +KPX rcaron omacron -45 +KPX rcaron oslash -45 +KPX rcaron otilde -45 +KPX rcaron period -111 +KPX rcaron q -37 +KPX rcaron s -10 +KPX rcaron sacute -10 +KPX rcaron scaron -10 +KPX rcaron scedilla -10 +KPX rcaron scommaaccent -10 +KPX rcommaaccent a -15 +KPX rcommaaccent aacute -15 +KPX rcommaaccent abreve -15 +KPX rcommaaccent acircumflex -15 +KPX rcommaaccent adieresis -15 +KPX rcommaaccent agrave -15 +KPX rcommaaccent amacron -15 +KPX rcommaaccent aogonek -15 +KPX rcommaaccent aring -15 +KPX rcommaaccent atilde -15 +KPX rcommaaccent c -37 +KPX rcommaaccent cacute -37 +KPX rcommaaccent ccaron -37 +KPX rcommaaccent ccedilla -37 +KPX rcommaaccent comma -111 +KPX rcommaaccent d -37 +KPX rcommaaccent dcroat -37 +KPX rcommaaccent e -37 +KPX rcommaaccent eacute -37 +KPX rcommaaccent ecaron -37 +KPX rcommaaccent ecircumflex -37 +KPX rcommaaccent edieresis -37 +KPX rcommaaccent edotaccent -37 +KPX rcommaaccent egrave -37 +KPX rcommaaccent emacron -37 +KPX rcommaaccent eogonek -37 +KPX rcommaaccent g -37 +KPX rcommaaccent gbreve -37 +KPX rcommaaccent gcommaaccent -37 +KPX rcommaaccent hyphen -20 +KPX rcommaaccent o -45 +KPX rcommaaccent oacute -45 +KPX rcommaaccent ocircumflex -45 +KPX rcommaaccent odieresis -45 +KPX rcommaaccent ograve -45 +KPX rcommaaccent ohungarumlaut -45 +KPX rcommaaccent omacron -45 +KPX rcommaaccent oslash -45 +KPX rcommaaccent otilde -45 +KPX rcommaaccent period -111 +KPX rcommaaccent q -37 +KPX rcommaaccent s -10 +KPX rcommaaccent sacute -10 +KPX rcommaaccent scaron -10 +KPX rcommaaccent scedilla -10 +KPX rcommaaccent scommaaccent -10 +KPX space A -18 +KPX space Aacute -18 +KPX space Abreve -18 +KPX space Acircumflex -18 +KPX space Adieresis -18 +KPX space Agrave -18 +KPX space Amacron -18 +KPX space Aogonek -18 +KPX space Aring -18 +KPX space Atilde -18 +KPX space T -18 +KPX space Tcaron -18 +KPX space Tcommaaccent -18 +KPX space V -35 +KPX space W -40 +KPX space Y -75 +KPX space Yacute -75 +KPX space Ydieresis -75 +KPX v comma -74 +KPX v period -74 +KPX w comma -74 +KPX w period -74 +KPX y comma -55 +KPX y period -55 +KPX yacute comma -55 +KPX yacute period -55 +KPX ydieresis comma -55 +KPX ydieresis period -55 +EndKernPairs +EndKernData +EndFontMetrics diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/PDF/default/templates/fonts/Times-Roman.afm b/buildscripts/PhpDocumentor/phpDocumentor/Converters/PDF/default/templates/fonts/Times-Roman.afm new file mode 100755 index 00000000..a0953f28 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/PDF/default/templates/fonts/Times-Roman.afm @@ -0,0 +1,2419 @@ +StartFontMetrics 4.1 +Comment Copyright (c) 1985, 1987, 1989, 1990, 1993, 1997 Adobe Systems Incorporated. All Rights Reserved. +Comment Creation Date: Thu May 1 12:49:17 1997 +Comment UniqueID 43068 +Comment VMusage 43909 54934 +FontName Times-Roman +FullName Times Roman +FamilyName Times +Weight Roman +ItalicAngle 0 +IsFixedPitch false +CharacterSet ExtendedRoman +FontBBox -168 -218 1000 898 +UnderlinePosition -100 +UnderlineThickness 50 +Version 002.000 +Notice Copyright (c) 1985, 1987, 1989, 1990, 1993, 1997 Adobe Systems Incorporated. All Rights Reserved.Times is a trademark of Linotype-Hell AG and/or its subsidiaries. +EncodingScheme AdobeStandardEncoding +CapHeight 662 +XHeight 450 +Ascender 683 +Descender -217 +StdHW 28 +StdVW 84 +StartCharMetrics 315 +C 32 ; WX 250 ; N space ; B 0 0 0 0 ; +C 33 ; WX 333 ; N exclam ; B 130 -9 238 676 ; +C 34 ; WX 408 ; N quotedbl ; B 77 431 331 676 ; +C 35 ; WX 500 ; N numbersign ; B 5 0 496 662 ; +C 36 ; WX 500 ; N dollar ; B 44 -87 457 727 ; +C 37 ; WX 833 ; N percent ; B 61 -13 772 676 ; +C 38 ; WX 778 ; N ampersand ; B 42 -13 750 676 ; +C 39 ; WX 333 ; N quoteright ; B 79 433 218 676 ; +C 40 ; WX 333 ; N parenleft ; B 48 -177 304 676 ; +C 41 ; WX 333 ; N parenright ; B 29 -177 285 676 ; +C 42 ; WX 500 ; N asterisk ; B 69 265 432 676 ; +C 43 ; WX 564 ; N plus ; B 30 0 534 506 ; +C 44 ; WX 250 ; N comma ; B 56 -141 195 102 ; +C 45 ; WX 333 ; N hyphen ; B 39 194 285 257 ; +C 46 ; WX 250 ; N period ; B 70 -11 181 100 ; +C 47 ; WX 278 ; N slash ; B -9 -14 287 676 ; +C 48 ; WX 500 ; N zero ; B 24 -14 476 676 ; +C 49 ; WX 500 ; N one ; B 111 0 394 676 ; +C 50 ; WX 500 ; N two ; B 30 0 475 676 ; +C 51 ; WX 500 ; N three ; B 43 -14 431 676 ; +C 52 ; WX 500 ; N four ; B 12 0 472 676 ; +C 53 ; WX 500 ; N five ; B 32 -14 438 688 ; +C 54 ; WX 500 ; N six ; B 34 -14 468 684 ; +C 55 ; WX 500 ; N seven ; B 20 -8 449 662 ; +C 56 ; WX 500 ; N eight ; B 56 -14 445 676 ; +C 57 ; WX 500 ; N nine ; B 30 -22 459 676 ; +C 58 ; WX 278 ; N colon ; B 81 -11 192 459 ; +C 59 ; WX 278 ; N semicolon ; B 80 -141 219 459 ; +C 60 ; WX 564 ; N less ; B 28 -8 536 514 ; +C 61 ; WX 564 ; N equal ; B 30 120 534 386 ; +C 62 ; WX 564 ; N greater ; B 28 -8 536 514 ; +C 63 ; WX 444 ; N question ; B 68 -8 414 676 ; +C 64 ; WX 921 ; N at ; B 116 -14 809 676 ; +C 65 ; WX 722 ; N A ; B 15 0 706 674 ; +C 66 ; WX 667 ; N B ; B 17 0 593 662 ; +C 67 ; WX 667 ; N C ; B 28 -14 633 676 ; +C 68 ; WX 722 ; N D ; B 16 0 685 662 ; +C 69 ; WX 611 ; N E ; B 12 0 597 662 ; +C 70 ; WX 556 ; N F ; B 12 0 546 662 ; +C 71 ; WX 722 ; N G ; B 32 -14 709 676 ; +C 72 ; WX 722 ; N H ; B 19 0 702 662 ; +C 73 ; WX 333 ; N I ; B 18 0 315 662 ; +C 74 ; WX 389 ; N J ; B 10 -14 370 662 ; +C 75 ; WX 722 ; N K ; B 34 0 723 662 ; +C 76 ; WX 611 ; N L ; B 12 0 598 662 ; +C 77 ; WX 889 ; N M ; B 12 0 863 662 ; +C 78 ; WX 722 ; N N ; B 12 -11 707 662 ; +C 79 ; WX 722 ; N O ; B 34 -14 688 676 ; +C 80 ; WX 556 ; N P ; B 16 0 542 662 ; +C 81 ; WX 722 ; N Q ; B 34 -178 701 676 ; +C 82 ; WX 667 ; N R ; B 17 0 659 662 ; +C 83 ; WX 556 ; N S ; B 42 -14 491 676 ; +C 84 ; WX 611 ; N T ; B 17 0 593 662 ; +C 85 ; WX 722 ; N U ; B 14 -14 705 662 ; +C 86 ; WX 722 ; N V ; B 16 -11 697 662 ; +C 87 ; WX 944 ; N W ; B 5 -11 932 662 ; +C 88 ; WX 722 ; N X ; B 10 0 704 662 ; +C 89 ; WX 722 ; N Y ; B 22 0 703 662 ; +C 90 ; WX 611 ; N Z ; B 9 0 597 662 ; +C 91 ; WX 333 ; N bracketleft ; B 88 -156 299 662 ; +C 92 ; WX 278 ; N backslash ; B -9 -14 287 676 ; +C 93 ; WX 333 ; N bracketright ; B 34 -156 245 662 ; +C 94 ; WX 469 ; N asciicircum ; B 24 297 446 662 ; +C 95 ; WX 500 ; N underscore ; B 0 -125 500 -75 ; +C 96 ; WX 333 ; N quoteleft ; B 115 433 254 676 ; +C 97 ; WX 444 ; N a ; B 37 -10 442 460 ; +C 98 ; WX 500 ; N b ; B 3 -10 468 683 ; +C 99 ; WX 444 ; N c ; B 25 -10 412 460 ; +C 100 ; WX 500 ; N d ; B 27 -10 491 683 ; +C 101 ; WX 444 ; N e ; B 25 -10 424 460 ; +C 102 ; WX 333 ; N f ; B 20 0 383 683 ; L i fi ; L l fl ; +C 103 ; WX 500 ; N g ; B 28 -218 470 460 ; +C 104 ; WX 500 ; N h ; B 9 0 487 683 ; +C 105 ; WX 278 ; N i ; B 16 0 253 683 ; +C 106 ; WX 278 ; N j ; B -70 -218 194 683 ; +C 107 ; WX 500 ; N k ; B 7 0 505 683 ; +C 108 ; WX 278 ; N l ; B 19 0 257 683 ; +C 109 ; WX 778 ; N m ; B 16 0 775 460 ; +C 110 ; WX 500 ; N n ; B 16 0 485 460 ; +C 111 ; WX 500 ; N o ; B 29 -10 470 460 ; +C 112 ; WX 500 ; N p ; B 5 -217 470 460 ; +C 113 ; WX 500 ; N q ; B 24 -217 488 460 ; +C 114 ; WX 333 ; N r ; B 5 0 335 460 ; +C 115 ; WX 389 ; N s ; B 51 -10 348 460 ; +C 116 ; WX 278 ; N t ; B 13 -10 279 579 ; +C 117 ; WX 500 ; N u ; B 9 -10 479 450 ; +C 118 ; WX 500 ; N v ; B 19 -14 477 450 ; +C 119 ; WX 722 ; N w ; B 21 -14 694 450 ; +C 120 ; WX 500 ; N x ; B 17 0 479 450 ; +C 121 ; WX 500 ; N y ; B 14 -218 475 450 ; +C 122 ; WX 444 ; N z ; B 27 0 418 450 ; +C 123 ; WX 480 ; N braceleft ; B 100 -181 350 680 ; +C 124 ; WX 200 ; N bar ; B 67 -218 133 782 ; +C 125 ; WX 480 ; N braceright ; B 130 -181 380 680 ; +C 126 ; WX 541 ; N asciitilde ; B 40 183 502 323 ; +C 161 ; WX 333 ; N exclamdown ; B 97 -218 205 467 ; +C 162 ; WX 500 ; N cent ; B 53 -138 448 579 ; +C 163 ; WX 500 ; N sterling ; B 12 -8 490 676 ; +C 164 ; WX 167 ; N fraction ; B -168 -14 331 676 ; +C 165 ; WX 500 ; N yen ; B -53 0 512 662 ; +C 166 ; WX 500 ; N florin ; B 7 -189 490 676 ; +C 167 ; WX 500 ; N section ; B 70 -148 426 676 ; +C 168 ; WX 500 ; N currency ; B -22 58 522 602 ; +C 169 ; WX 180 ; N quotesingle ; B 48 431 133 676 ; +C 170 ; WX 444 ; N quotedblleft ; B 43 433 414 676 ; +C 171 ; WX 500 ; N guillemotleft ; B 42 33 456 416 ; +C 172 ; WX 333 ; N guilsinglleft ; B 63 33 285 416 ; +C 173 ; WX 333 ; N guilsinglright ; B 48 33 270 416 ; +C 174 ; WX 556 ; N fi ; B 31 0 521 683 ; +C 175 ; WX 556 ; N fl ; B 32 0 521 683 ; +C 177 ; WX 500 ; N endash ; B 0 201 500 250 ; +C 178 ; WX 500 ; N dagger ; B 59 -149 442 676 ; +C 179 ; WX 500 ; N daggerdbl ; B 58 -153 442 676 ; +C 180 ; WX 250 ; N periodcentered ; B 70 199 181 310 ; +C 182 ; WX 453 ; N paragraph ; B -22 -154 450 662 ; +C 183 ; WX 350 ; N bullet ; B 40 196 310 466 ; +C 184 ; WX 333 ; N quotesinglbase ; B 79 -141 218 102 ; +C 185 ; WX 444 ; N quotedblbase ; B 45 -141 416 102 ; +C 186 ; WX 444 ; N quotedblright ; B 30 433 401 676 ; +C 187 ; WX 500 ; N guillemotright ; B 44 33 458 416 ; +C 188 ; WX 1000 ; N ellipsis ; B 111 -11 888 100 ; +C 189 ; WX 1000 ; N perthousand ; B 7 -19 994 706 ; +C 191 ; WX 444 ; N questiondown ; B 30 -218 376 466 ; +C 193 ; WX 333 ; N grave ; B 19 507 242 678 ; +C 194 ; WX 333 ; N acute ; B 93 507 317 678 ; +C 195 ; WX 333 ; N circumflex ; B 11 507 322 674 ; +C 196 ; WX 333 ; N tilde ; B 1 532 331 638 ; +C 197 ; WX 333 ; N macron ; B 11 547 322 601 ; +C 198 ; WX 333 ; N breve ; B 26 507 307 664 ; +C 199 ; WX 333 ; N dotaccent ; B 118 581 216 681 ; +C 200 ; WX 333 ; N dieresis ; B 18 581 315 681 ; +C 202 ; WX 333 ; N ring ; B 67 512 266 711 ; +C 203 ; WX 333 ; N cedilla ; B 52 -215 261 0 ; +C 205 ; WX 333 ; N hungarumlaut ; B -3 507 377 678 ; +C 206 ; WX 333 ; N ogonek ; B 62 -165 243 0 ; +C 207 ; WX 333 ; N caron ; B 11 507 322 674 ; +C 208 ; WX 1000 ; N emdash ; B 0 201 1000 250 ; +C 225 ; WX 889 ; N AE ; B 0 0 863 662 ; +C 227 ; WX 276 ; N ordfeminine ; B 4 394 270 676 ; +C 232 ; WX 611 ; N Lslash ; B 12 0 598 662 ; +C 233 ; WX 722 ; N Oslash ; B 34 -80 688 734 ; +C 234 ; WX 889 ; N OE ; B 30 -6 885 668 ; +C 235 ; WX 310 ; N ordmasculine ; B 6 394 304 676 ; +C 241 ; WX 667 ; N ae ; B 38 -10 632 460 ; +C 245 ; WX 278 ; N dotlessi ; B 16 0 253 460 ; +C 248 ; WX 278 ; N lslash ; B 19 0 259 683 ; +C 249 ; WX 500 ; N oslash ; B 29 -112 470 551 ; +C 250 ; WX 722 ; N oe ; B 30 -10 690 460 ; +C 251 ; WX 500 ; N germandbls ; B 12 -9 468 683 ; +C -1 ; WX 333 ; N Idieresis ; B 18 0 315 835 ; +C -1 ; WX 444 ; N eacute ; B 25 -10 424 678 ; +C -1 ; WX 444 ; N abreve ; B 37 -10 442 664 ; +C -1 ; WX 500 ; N uhungarumlaut ; B 9 -10 501 678 ; +C -1 ; WX 444 ; N ecaron ; B 25 -10 424 674 ; +C -1 ; WX 722 ; N Ydieresis ; B 22 0 703 835 ; +C -1 ; WX 564 ; N divide ; B 30 -10 534 516 ; +C -1 ; WX 722 ; N Yacute ; B 22 0 703 890 ; +C -1 ; WX 722 ; N Acircumflex ; B 15 0 706 886 ; +C -1 ; WX 444 ; N aacute ; B 37 -10 442 678 ; +C -1 ; WX 722 ; N Ucircumflex ; B 14 -14 705 886 ; +C -1 ; WX 500 ; N yacute ; B 14 -218 475 678 ; +C -1 ; WX 389 ; N scommaaccent ; B 51 -218 348 460 ; +C -1 ; WX 444 ; N ecircumflex ; B 25 -10 424 674 ; +C -1 ; WX 722 ; N Uring ; B 14 -14 705 898 ; +C -1 ; WX 722 ; N Udieresis ; B 14 -14 705 835 ; +C -1 ; WX 444 ; N aogonek ; B 37 -165 469 460 ; +C -1 ; WX 722 ; N Uacute ; B 14 -14 705 890 ; +C -1 ; WX 500 ; N uogonek ; B 9 -155 487 450 ; +C -1 ; WX 611 ; N Edieresis ; B 12 0 597 835 ; +C -1 ; WX 722 ; N Dcroat ; B 16 0 685 662 ; +C -1 ; WX 250 ; N commaaccent ; B 59 -218 184 -50 ; +C -1 ; WX 760 ; N copyright ; B 38 -14 722 676 ; +C -1 ; WX 611 ; N Emacron ; B 12 0 597 813 ; +C -1 ; WX 444 ; N ccaron ; B 25 -10 412 674 ; +C -1 ; WX 444 ; N aring ; B 37 -10 442 711 ; +C -1 ; WX 722 ; N Ncommaaccent ; B 12 -198 707 662 ; +C -1 ; WX 278 ; N lacute ; B 19 0 290 890 ; +C -1 ; WX 444 ; N agrave ; B 37 -10 442 678 ; +C -1 ; WX 611 ; N Tcommaaccent ; B 17 -218 593 662 ; +C -1 ; WX 667 ; N Cacute ; B 28 -14 633 890 ; +C -1 ; WX 444 ; N atilde ; B 37 -10 442 638 ; +C -1 ; WX 611 ; N Edotaccent ; B 12 0 597 835 ; +C -1 ; WX 389 ; N scaron ; B 39 -10 350 674 ; +C -1 ; WX 389 ; N scedilla ; B 51 -215 348 460 ; +C -1 ; WX 278 ; N iacute ; B 16 0 290 678 ; +C -1 ; WX 471 ; N lozenge ; B 13 0 459 724 ; +C -1 ; WX 667 ; N Rcaron ; B 17 0 659 886 ; +C -1 ; WX 722 ; N Gcommaaccent ; B 32 -218 709 676 ; +C -1 ; WX 500 ; N ucircumflex ; B 9 -10 479 674 ; +C -1 ; WX 444 ; N acircumflex ; B 37 -10 442 674 ; +C -1 ; WX 722 ; N Amacron ; B 15 0 706 813 ; +C -1 ; WX 333 ; N rcaron ; B 5 0 335 674 ; +C -1 ; WX 444 ; N ccedilla ; B 25 -215 412 460 ; +C -1 ; WX 611 ; N Zdotaccent ; B 9 0 597 835 ; +C -1 ; WX 556 ; N Thorn ; B 16 0 542 662 ; +C -1 ; WX 722 ; N Omacron ; B 34 -14 688 813 ; +C -1 ; WX 667 ; N Racute ; B 17 0 659 890 ; +C -1 ; WX 556 ; N Sacute ; B 42 -14 491 890 ; +C -1 ; WX 588 ; N dcaron ; B 27 -10 589 695 ; +C -1 ; WX 722 ; N Umacron ; B 14 -14 705 813 ; +C -1 ; WX 500 ; N uring ; B 9 -10 479 711 ; +C -1 ; WX 300 ; N threesuperior ; B 15 262 291 676 ; +C -1 ; WX 722 ; N Ograve ; B 34 -14 688 890 ; +C -1 ; WX 722 ; N Agrave ; B 15 0 706 890 ; +C -1 ; WX 722 ; N Abreve ; B 15 0 706 876 ; +C -1 ; WX 564 ; N multiply ; B 38 8 527 497 ; +C -1 ; WX 500 ; N uacute ; B 9 -10 479 678 ; +C -1 ; WX 611 ; N Tcaron ; B 17 0 593 886 ; +C -1 ; WX 476 ; N partialdiff ; B 17 -38 459 710 ; +C -1 ; WX 500 ; N ydieresis ; B 14 -218 475 623 ; +C -1 ; WX 722 ; N Nacute ; B 12 -11 707 890 ; +C -1 ; WX 278 ; N icircumflex ; B -16 0 295 674 ; +C -1 ; WX 611 ; N Ecircumflex ; B 12 0 597 886 ; +C -1 ; WX 444 ; N adieresis ; B 37 -10 442 623 ; +C -1 ; WX 444 ; N edieresis ; B 25 -10 424 623 ; +C -1 ; WX 444 ; N cacute ; B 25 -10 413 678 ; +C -1 ; WX 500 ; N nacute ; B 16 0 485 678 ; +C -1 ; WX 500 ; N umacron ; B 9 -10 479 601 ; +C -1 ; WX 722 ; N Ncaron ; B 12 -11 707 886 ; +C -1 ; WX 333 ; N Iacute ; B 18 0 317 890 ; +C -1 ; WX 564 ; N plusminus ; B 30 0 534 506 ; +C -1 ; WX 200 ; N brokenbar ; B 67 -143 133 707 ; +C -1 ; WX 760 ; N registered ; B 38 -14 722 676 ; +C -1 ; WX 722 ; N Gbreve ; B 32 -14 709 876 ; +C -1 ; WX 333 ; N Idotaccent ; B 18 0 315 835 ; +C -1 ; WX 600 ; N summation ; B 15 -10 585 706 ; +C -1 ; WX 611 ; N Egrave ; B 12 0 597 890 ; +C -1 ; WX 333 ; N racute ; B 5 0 335 678 ; +C -1 ; WX 500 ; N omacron ; B 29 -10 470 601 ; +C -1 ; WX 611 ; N Zacute ; B 9 0 597 890 ; +C -1 ; WX 611 ; N Zcaron ; B 9 0 597 886 ; +C -1 ; WX 549 ; N greaterequal ; B 26 0 523 666 ; +C -1 ; WX 722 ; N Eth ; B 16 0 685 662 ; +C -1 ; WX 667 ; N Ccedilla ; B 28 -215 633 676 ; +C -1 ; WX 278 ; N lcommaaccent ; B 19 -218 257 683 ; +C -1 ; WX 326 ; N tcaron ; B 13 -10 318 722 ; +C -1 ; WX 444 ; N eogonek ; B 25 -165 424 460 ; +C -1 ; WX 722 ; N Uogonek ; B 14 -165 705 662 ; +C -1 ; WX 722 ; N Aacute ; B 15 0 706 890 ; +C -1 ; WX 722 ; N Adieresis ; B 15 0 706 835 ; +C -1 ; WX 444 ; N egrave ; B 25 -10 424 678 ; +C -1 ; WX 444 ; N zacute ; B 27 0 418 678 ; +C -1 ; WX 278 ; N iogonek ; B 16 -165 265 683 ; +C -1 ; WX 722 ; N Oacute ; B 34 -14 688 890 ; +C -1 ; WX 500 ; N oacute ; B 29 -10 470 678 ; +C -1 ; WX 444 ; N amacron ; B 37 -10 442 601 ; +C -1 ; WX 389 ; N sacute ; B 51 -10 348 678 ; +C -1 ; WX 278 ; N idieresis ; B -9 0 288 623 ; +C -1 ; WX 722 ; N Ocircumflex ; B 34 -14 688 886 ; +C -1 ; WX 722 ; N Ugrave ; B 14 -14 705 890 ; +C -1 ; WX 612 ; N Delta ; B 6 0 608 688 ; +C -1 ; WX 500 ; N thorn ; B 5 -217 470 683 ; +C -1 ; WX 300 ; N twosuperior ; B 1 270 296 676 ; +C -1 ; WX 722 ; N Odieresis ; B 34 -14 688 835 ; +C -1 ; WX 500 ; N mu ; B 36 -218 512 450 ; +C -1 ; WX 278 ; N igrave ; B -8 0 253 678 ; +C -1 ; WX 500 ; N ohungarumlaut ; B 29 -10 491 678 ; +C -1 ; WX 611 ; N Eogonek ; B 12 -165 597 662 ; +C -1 ; WX 500 ; N dcroat ; B 27 -10 500 683 ; +C -1 ; WX 750 ; N threequarters ; B 15 -14 718 676 ; +C -1 ; WX 556 ; N Scedilla ; B 42 -215 491 676 ; +C -1 ; WX 344 ; N lcaron ; B 19 0 347 695 ; +C -1 ; WX 722 ; N Kcommaaccent ; B 34 -198 723 662 ; +C -1 ; WX 611 ; N Lacute ; B 12 0 598 890 ; +C -1 ; WX 980 ; N trademark ; B 30 256 957 662 ; +C -1 ; WX 444 ; N edotaccent ; B 25 -10 424 623 ; +C -1 ; WX 333 ; N Igrave ; B 18 0 315 890 ; +C -1 ; WX 333 ; N Imacron ; B 11 0 322 813 ; +C -1 ; WX 611 ; N Lcaron ; B 12 0 598 676 ; +C -1 ; WX 750 ; N onehalf ; B 31 -14 746 676 ; +C -1 ; WX 549 ; N lessequal ; B 26 0 523 666 ; +C -1 ; WX 500 ; N ocircumflex ; B 29 -10 470 674 ; +C -1 ; WX 500 ; N ntilde ; B 16 0 485 638 ; +C -1 ; WX 722 ; N Uhungarumlaut ; B 14 -14 705 890 ; +C -1 ; WX 611 ; N Eacute ; B 12 0 597 890 ; +C -1 ; WX 444 ; N emacron ; B 25 -10 424 601 ; +C -1 ; WX 500 ; N gbreve ; B 28 -218 470 664 ; +C -1 ; WX 750 ; N onequarter ; B 37 -14 718 676 ; +C -1 ; WX 556 ; N Scaron ; B 42 -14 491 886 ; +C -1 ; WX 556 ; N Scommaaccent ; B 42 -218 491 676 ; +C -1 ; WX 722 ; N Ohungarumlaut ; B 34 -14 688 890 ; +C -1 ; WX 400 ; N degree ; B 57 390 343 676 ; +C -1 ; WX 500 ; N ograve ; B 29 -10 470 678 ; +C -1 ; WX 667 ; N Ccaron ; B 28 -14 633 886 ; +C -1 ; WX 500 ; N ugrave ; B 9 -10 479 678 ; +C -1 ; WX 453 ; N radical ; B 2 -60 452 768 ; +C -1 ; WX 722 ; N Dcaron ; B 16 0 685 886 ; +C -1 ; WX 333 ; N rcommaaccent ; B 5 -218 335 460 ; +C -1 ; WX 722 ; N Ntilde ; B 12 -11 707 850 ; +C -1 ; WX 500 ; N otilde ; B 29 -10 470 638 ; +C -1 ; WX 667 ; N Rcommaaccent ; B 17 -198 659 662 ; +C -1 ; WX 611 ; N Lcommaaccent ; B 12 -218 598 662 ; +C -1 ; WX 722 ; N Atilde ; B 15 0 706 850 ; +C -1 ; WX 722 ; N Aogonek ; B 15 -165 738 674 ; +C -1 ; WX 722 ; N Aring ; B 15 0 706 898 ; +C -1 ; WX 722 ; N Otilde ; B 34 -14 688 850 ; +C -1 ; WX 444 ; N zdotaccent ; B 27 0 418 623 ; +C -1 ; WX 611 ; N Ecaron ; B 12 0 597 886 ; +C -1 ; WX 333 ; N Iogonek ; B 18 -165 315 662 ; +C -1 ; WX 500 ; N kcommaaccent ; B 7 -218 505 683 ; +C -1 ; WX 564 ; N minus ; B 30 220 534 286 ; +C -1 ; WX 333 ; N Icircumflex ; B 11 0 322 886 ; +C -1 ; WX 500 ; N ncaron ; B 16 0 485 674 ; +C -1 ; WX 278 ; N tcommaaccent ; B 13 -218 279 579 ; +C -1 ; WX 564 ; N logicalnot ; B 30 108 534 386 ; +C -1 ; WX 500 ; N odieresis ; B 29 -10 470 623 ; +C -1 ; WX 500 ; N udieresis ; B 9 -10 479 623 ; +C -1 ; WX 549 ; N notequal ; B 12 -31 537 547 ; +C -1 ; WX 500 ; N gcommaaccent ; B 28 -218 470 749 ; +C -1 ; WX 500 ; N eth ; B 29 -10 471 686 ; +C -1 ; WX 444 ; N zcaron ; B 27 0 418 674 ; +C -1 ; WX 500 ; N ncommaaccent ; B 16 -218 485 460 ; +C -1 ; WX 300 ; N onesuperior ; B 57 270 248 676 ; +C -1 ; WX 278 ; N imacron ; B 6 0 271 601 ; +C -1 ; WX 500 ; N Euro ; B 0 0 0 0 ; +EndCharMetrics +StartKernData +StartKernPairs 2073 +KPX A C -40 +KPX A Cacute -40 +KPX A Ccaron -40 +KPX A Ccedilla -40 +KPX A G -40 +KPX A Gbreve -40 +KPX A Gcommaaccent -40 +KPX A O -55 +KPX A Oacute -55 +KPX A Ocircumflex -55 +KPX A Odieresis -55 +KPX A Ograve -55 +KPX A Ohungarumlaut -55 +KPX A Omacron -55 +KPX A Oslash -55 +KPX A Otilde -55 +KPX A Q -55 +KPX A T -111 +KPX A Tcaron -111 +KPX A Tcommaaccent -111 +KPX A U -55 +KPX A Uacute -55 +KPX A Ucircumflex -55 +KPX A Udieresis -55 +KPX A Ugrave -55 +KPX A Uhungarumlaut -55 +KPX A Umacron -55 +KPX A Uogonek -55 +KPX A Uring -55 +KPX A V -135 +KPX A W -90 +KPX A Y -105 +KPX A Yacute -105 +KPX A Ydieresis -105 +KPX A quoteright -111 +KPX A v -74 +KPX A w -92 +KPX A y -92 +KPX A yacute -92 +KPX A ydieresis -92 +KPX Aacute C -40 +KPX Aacute Cacute -40 +KPX Aacute Ccaron -40 +KPX Aacute Ccedilla -40 +KPX Aacute G -40 +KPX Aacute Gbreve -40 +KPX Aacute Gcommaaccent -40 +KPX Aacute O -55 +KPX Aacute Oacute -55 +KPX Aacute Ocircumflex -55 +KPX Aacute Odieresis -55 +KPX Aacute Ograve -55 +KPX Aacute Ohungarumlaut -55 +KPX Aacute Omacron -55 +KPX Aacute Oslash -55 +KPX Aacute Otilde -55 +KPX Aacute Q -55 +KPX Aacute T -111 +KPX Aacute Tcaron -111 +KPX Aacute Tcommaaccent -111 +KPX Aacute U -55 +KPX Aacute Uacute -55 +KPX Aacute Ucircumflex -55 +KPX Aacute Udieresis -55 +KPX Aacute Ugrave -55 +KPX Aacute Uhungarumlaut -55 +KPX Aacute Umacron -55 +KPX Aacute Uogonek -55 +KPX Aacute Uring -55 +KPX Aacute V -135 +KPX Aacute W -90 +KPX Aacute Y -105 +KPX Aacute Yacute -105 +KPX Aacute Ydieresis -105 +KPX Aacute quoteright -111 +KPX Aacute v -74 +KPX Aacute w -92 +KPX Aacute y -92 +KPX Aacute yacute -92 +KPX Aacute ydieresis -92 +KPX Abreve C -40 +KPX Abreve Cacute -40 +KPX Abreve Ccaron -40 +KPX Abreve Ccedilla -40 +KPX Abreve G -40 +KPX Abreve Gbreve -40 +KPX Abreve Gcommaaccent -40 +KPX Abreve O -55 +KPX Abreve Oacute -55 +KPX Abreve Ocircumflex -55 +KPX Abreve Odieresis -55 +KPX Abreve Ograve -55 +KPX Abreve Ohungarumlaut -55 +KPX Abreve Omacron -55 +KPX Abreve Oslash -55 +KPX Abreve Otilde -55 +KPX Abreve Q -55 +KPX Abreve T -111 +KPX Abreve Tcaron -111 +KPX Abreve Tcommaaccent -111 +KPX Abreve U -55 +KPX Abreve Uacute -55 +KPX Abreve Ucircumflex -55 +KPX Abreve Udieresis -55 +KPX Abreve Ugrave -55 +KPX Abreve Uhungarumlaut -55 +KPX Abreve Umacron -55 +KPX Abreve Uogonek -55 +KPX Abreve Uring -55 +KPX Abreve V -135 +KPX Abreve W -90 +KPX Abreve Y -105 +KPX Abreve Yacute -105 +KPX Abreve Ydieresis -105 +KPX Abreve quoteright -111 +KPX Abreve v -74 +KPX Abreve w -92 +KPX Abreve y -92 +KPX Abreve yacute -92 +KPX Abreve ydieresis -92 +KPX Acircumflex C -40 +KPX Acircumflex Cacute -40 +KPX Acircumflex Ccaron -40 +KPX Acircumflex Ccedilla -40 +KPX Acircumflex G -40 +KPX Acircumflex Gbreve -40 +KPX Acircumflex Gcommaaccent -40 +KPX Acircumflex O -55 +KPX Acircumflex Oacute -55 +KPX Acircumflex Ocircumflex -55 +KPX Acircumflex Odieresis -55 +KPX Acircumflex Ograve -55 +KPX Acircumflex Ohungarumlaut -55 +KPX Acircumflex Omacron -55 +KPX Acircumflex Oslash -55 +KPX Acircumflex Otilde -55 +KPX Acircumflex Q -55 +KPX Acircumflex T -111 +KPX Acircumflex Tcaron -111 +KPX Acircumflex Tcommaaccent -111 +KPX Acircumflex U -55 +KPX Acircumflex Uacute -55 +KPX Acircumflex Ucircumflex -55 +KPX Acircumflex Udieresis -55 +KPX Acircumflex Ugrave -55 +KPX Acircumflex Uhungarumlaut -55 +KPX Acircumflex Umacron -55 +KPX Acircumflex Uogonek -55 +KPX Acircumflex Uring -55 +KPX Acircumflex V -135 +KPX Acircumflex W -90 +KPX Acircumflex Y -105 +KPX Acircumflex Yacute -105 +KPX Acircumflex Ydieresis -105 +KPX Acircumflex quoteright -111 +KPX Acircumflex v -74 +KPX Acircumflex w -92 +KPX Acircumflex y -92 +KPX Acircumflex yacute -92 +KPX Acircumflex ydieresis -92 +KPX Adieresis C -40 +KPX Adieresis Cacute -40 +KPX Adieresis Ccaron -40 +KPX Adieresis Ccedilla -40 +KPX Adieresis G -40 +KPX Adieresis Gbreve -40 +KPX Adieresis Gcommaaccent -40 +KPX Adieresis O -55 +KPX Adieresis Oacute -55 +KPX Adieresis Ocircumflex -55 +KPX Adieresis Odieresis -55 +KPX Adieresis Ograve -55 +KPX Adieresis Ohungarumlaut -55 +KPX Adieresis Omacron -55 +KPX Adieresis Oslash -55 +KPX Adieresis Otilde -55 +KPX Adieresis Q -55 +KPX Adieresis T -111 +KPX Adieresis Tcaron -111 +KPX Adieresis Tcommaaccent -111 +KPX Adieresis U -55 +KPX Adieresis Uacute -55 +KPX Adieresis Ucircumflex -55 +KPX Adieresis Udieresis -55 +KPX Adieresis Ugrave -55 +KPX Adieresis Uhungarumlaut -55 +KPX Adieresis Umacron -55 +KPX Adieresis Uogonek -55 +KPX Adieresis Uring -55 +KPX Adieresis V -135 +KPX Adieresis W -90 +KPX Adieresis Y -105 +KPX Adieresis Yacute -105 +KPX Adieresis Ydieresis -105 +KPX Adieresis quoteright -111 +KPX Adieresis v -74 +KPX Adieresis w -92 +KPX Adieresis y -92 +KPX Adieresis yacute -92 +KPX Adieresis ydieresis -92 +KPX Agrave C -40 +KPX Agrave Cacute -40 +KPX Agrave Ccaron -40 +KPX Agrave Ccedilla -40 +KPX Agrave G -40 +KPX Agrave Gbreve -40 +KPX Agrave Gcommaaccent -40 +KPX Agrave O -55 +KPX Agrave Oacute -55 +KPX Agrave Ocircumflex -55 +KPX Agrave Odieresis -55 +KPX Agrave Ograve -55 +KPX Agrave Ohungarumlaut -55 +KPX Agrave Omacron -55 +KPX Agrave Oslash -55 +KPX Agrave Otilde -55 +KPX Agrave Q -55 +KPX Agrave T -111 +KPX Agrave Tcaron -111 +KPX Agrave Tcommaaccent -111 +KPX Agrave U -55 +KPX Agrave Uacute -55 +KPX Agrave Ucircumflex -55 +KPX Agrave Udieresis -55 +KPX Agrave Ugrave -55 +KPX Agrave Uhungarumlaut -55 +KPX Agrave Umacron -55 +KPX Agrave Uogonek -55 +KPX Agrave Uring -55 +KPX Agrave V -135 +KPX Agrave W -90 +KPX Agrave Y -105 +KPX Agrave Yacute -105 +KPX Agrave Ydieresis -105 +KPX Agrave quoteright -111 +KPX Agrave v -74 +KPX Agrave w -92 +KPX Agrave y -92 +KPX Agrave yacute -92 +KPX Agrave ydieresis -92 +KPX Amacron C -40 +KPX Amacron Cacute -40 +KPX Amacron Ccaron -40 +KPX Amacron Ccedilla -40 +KPX Amacron G -40 +KPX Amacron Gbreve -40 +KPX Amacron Gcommaaccent -40 +KPX Amacron O -55 +KPX Amacron Oacute -55 +KPX Amacron Ocircumflex -55 +KPX Amacron Odieresis -55 +KPX Amacron Ograve -55 +KPX Amacron Ohungarumlaut -55 +KPX Amacron Omacron -55 +KPX Amacron Oslash -55 +KPX Amacron Otilde -55 +KPX Amacron Q -55 +KPX Amacron T -111 +KPX Amacron Tcaron -111 +KPX Amacron Tcommaaccent -111 +KPX Amacron U -55 +KPX Amacron Uacute -55 +KPX Amacron Ucircumflex -55 +KPX Amacron Udieresis -55 +KPX Amacron Ugrave -55 +KPX Amacron Uhungarumlaut -55 +KPX Amacron Umacron -55 +KPX Amacron Uogonek -55 +KPX Amacron Uring -55 +KPX Amacron V -135 +KPX Amacron W -90 +KPX Amacron Y -105 +KPX Amacron Yacute -105 +KPX Amacron Ydieresis -105 +KPX Amacron quoteright -111 +KPX Amacron v -74 +KPX Amacron w -92 +KPX Amacron y -92 +KPX Amacron yacute -92 +KPX Amacron ydieresis -92 +KPX Aogonek C -40 +KPX Aogonek Cacute -40 +KPX Aogonek Ccaron -40 +KPX Aogonek Ccedilla -40 +KPX Aogonek G -40 +KPX Aogonek Gbreve -40 +KPX Aogonek Gcommaaccent -40 +KPX Aogonek O -55 +KPX Aogonek Oacute -55 +KPX Aogonek Ocircumflex -55 +KPX Aogonek Odieresis -55 +KPX Aogonek Ograve -55 +KPX Aogonek Ohungarumlaut -55 +KPX Aogonek Omacron -55 +KPX Aogonek Oslash -55 +KPX Aogonek Otilde -55 +KPX Aogonek Q -55 +KPX Aogonek T -111 +KPX Aogonek Tcaron -111 +KPX Aogonek Tcommaaccent -111 +KPX Aogonek U -55 +KPX Aogonek Uacute -55 +KPX Aogonek Ucircumflex -55 +KPX Aogonek Udieresis -55 +KPX Aogonek Ugrave -55 +KPX Aogonek Uhungarumlaut -55 +KPX Aogonek Umacron -55 +KPX Aogonek Uogonek -55 +KPX Aogonek Uring -55 +KPX Aogonek V -135 +KPX Aogonek W -90 +KPX Aogonek Y -105 +KPX Aogonek Yacute -105 +KPX Aogonek Ydieresis -105 +KPX Aogonek quoteright -111 +KPX Aogonek v -74 +KPX Aogonek w -52 +KPX Aogonek y -52 +KPX Aogonek yacute -52 +KPX Aogonek ydieresis -52 +KPX Aring C -40 +KPX Aring Cacute -40 +KPX Aring Ccaron -40 +KPX Aring Ccedilla -40 +KPX Aring G -40 +KPX Aring Gbreve -40 +KPX Aring Gcommaaccent -40 +KPX Aring O -55 +KPX Aring Oacute -55 +KPX Aring Ocircumflex -55 +KPX Aring Odieresis -55 +KPX Aring Ograve -55 +KPX Aring Ohungarumlaut -55 +KPX Aring Omacron -55 +KPX Aring Oslash -55 +KPX Aring Otilde -55 +KPX Aring Q -55 +KPX Aring T -111 +KPX Aring Tcaron -111 +KPX Aring Tcommaaccent -111 +KPX Aring U -55 +KPX Aring Uacute -55 +KPX Aring Ucircumflex -55 +KPX Aring Udieresis -55 +KPX Aring Ugrave -55 +KPX Aring Uhungarumlaut -55 +KPX Aring Umacron -55 +KPX Aring Uogonek -55 +KPX Aring Uring -55 +KPX Aring V -135 +KPX Aring W -90 +KPX Aring Y -105 +KPX Aring Yacute -105 +KPX Aring Ydieresis -105 +KPX Aring quoteright -111 +KPX Aring v -74 +KPX Aring w -92 +KPX Aring y -92 +KPX Aring yacute -92 +KPX Aring ydieresis -92 +KPX Atilde C -40 +KPX Atilde Cacute -40 +KPX Atilde Ccaron -40 +KPX Atilde Ccedilla -40 +KPX Atilde G -40 +KPX Atilde Gbreve -40 +KPX Atilde Gcommaaccent -40 +KPX Atilde O -55 +KPX Atilde Oacute -55 +KPX Atilde Ocircumflex -55 +KPX Atilde Odieresis -55 +KPX Atilde Ograve -55 +KPX Atilde Ohungarumlaut -55 +KPX Atilde Omacron -55 +KPX Atilde Oslash -55 +KPX Atilde Otilde -55 +KPX Atilde Q -55 +KPX Atilde T -111 +KPX Atilde Tcaron -111 +KPX Atilde Tcommaaccent -111 +KPX Atilde U -55 +KPX Atilde Uacute -55 +KPX Atilde Ucircumflex -55 +KPX Atilde Udieresis -55 +KPX Atilde Ugrave -55 +KPX Atilde Uhungarumlaut -55 +KPX Atilde Umacron -55 +KPX Atilde Uogonek -55 +KPX Atilde Uring -55 +KPX Atilde V -135 +KPX Atilde W -90 +KPX Atilde Y -105 +KPX Atilde Yacute -105 +KPX Atilde Ydieresis -105 +KPX Atilde quoteright -111 +KPX Atilde v -74 +KPX Atilde w -92 +KPX Atilde y -92 +KPX Atilde yacute -92 +KPX Atilde ydieresis -92 +KPX B A -35 +KPX B Aacute -35 +KPX B Abreve -35 +KPX B Acircumflex -35 +KPX B Adieresis -35 +KPX B Agrave -35 +KPX B Amacron -35 +KPX B Aogonek -35 +KPX B Aring -35 +KPX B Atilde -35 +KPX B U -10 +KPX B Uacute -10 +KPX B Ucircumflex -10 +KPX B Udieresis -10 +KPX B Ugrave -10 +KPX B Uhungarumlaut -10 +KPX B Umacron -10 +KPX B Uogonek -10 +KPX B Uring -10 +KPX D A -40 +KPX D Aacute -40 +KPX D Abreve -40 +KPX D Acircumflex -40 +KPX D Adieresis -40 +KPX D Agrave -40 +KPX D Amacron -40 +KPX D Aogonek -40 +KPX D Aring -40 +KPX D Atilde -40 +KPX D V -40 +KPX D W -30 +KPX D Y -55 +KPX D Yacute -55 +KPX D Ydieresis -55 +KPX Dcaron A -40 +KPX Dcaron Aacute -40 +KPX Dcaron Abreve -40 +KPX Dcaron Acircumflex -40 +KPX Dcaron Adieresis -40 +KPX Dcaron Agrave -40 +KPX Dcaron Amacron -40 +KPX Dcaron Aogonek -40 +KPX Dcaron Aring -40 +KPX Dcaron Atilde -40 +KPX Dcaron V -40 +KPX Dcaron W -30 +KPX Dcaron Y -55 +KPX Dcaron Yacute -55 +KPX Dcaron Ydieresis -55 +KPX Dcroat A -40 +KPX Dcroat Aacute -40 +KPX Dcroat Abreve -40 +KPX Dcroat Acircumflex -40 +KPX Dcroat Adieresis -40 +KPX Dcroat Agrave -40 +KPX Dcroat Amacron -40 +KPX Dcroat Aogonek -40 +KPX Dcroat Aring -40 +KPX Dcroat Atilde -40 +KPX Dcroat V -40 +KPX Dcroat W -30 +KPX Dcroat Y -55 +KPX Dcroat Yacute -55 +KPX Dcroat Ydieresis -55 +KPX F A -74 +KPX F Aacute -74 +KPX F Abreve -74 +KPX F Acircumflex -74 +KPX F Adieresis -74 +KPX F Agrave -74 +KPX F Amacron -74 +KPX F Aogonek -74 +KPX F Aring -74 +KPX F Atilde -74 +KPX F a -15 +KPX F aacute -15 +KPX F abreve -15 +KPX F acircumflex -15 +KPX F adieresis -15 +KPX F agrave -15 +KPX F amacron -15 +KPX F aogonek -15 +KPX F aring -15 +KPX F atilde -15 +KPX F comma -80 +KPX F o -15 +KPX F oacute -15 +KPX F ocircumflex -15 +KPX F odieresis -15 +KPX F ograve -15 +KPX F ohungarumlaut -15 +KPX F omacron -15 +KPX F oslash -15 +KPX F otilde -15 +KPX F period -80 +KPX J A -60 +KPX J Aacute -60 +KPX J Abreve -60 +KPX J Acircumflex -60 +KPX J Adieresis -60 +KPX J Agrave -60 +KPX J Amacron -60 +KPX J Aogonek -60 +KPX J Aring -60 +KPX J Atilde -60 +KPX K O -30 +KPX K Oacute -30 +KPX K Ocircumflex -30 +KPX K Odieresis -30 +KPX K Ograve -30 +KPX K Ohungarumlaut -30 +KPX K Omacron -30 +KPX K Oslash -30 +KPX K Otilde -30 +KPX K e -25 +KPX K eacute -25 +KPX K ecaron -25 +KPX K ecircumflex -25 +KPX K edieresis -25 +KPX K edotaccent -25 +KPX K egrave -25 +KPX K emacron -25 +KPX K eogonek -25 +KPX K o -35 +KPX K oacute -35 +KPX K ocircumflex -35 +KPX K odieresis -35 +KPX K ograve -35 +KPX K ohungarumlaut -35 +KPX K omacron -35 +KPX K oslash -35 +KPX K otilde -35 +KPX K u -15 +KPX K uacute -15 +KPX K ucircumflex -15 +KPX K udieresis -15 +KPX K ugrave -15 +KPX K uhungarumlaut -15 +KPX K umacron -15 +KPX K uogonek -15 +KPX K uring -15 +KPX K y -25 +KPX K yacute -25 +KPX K ydieresis -25 +KPX Kcommaaccent O -30 +KPX Kcommaaccent Oacute -30 +KPX Kcommaaccent Ocircumflex -30 +KPX Kcommaaccent Odieresis -30 +KPX Kcommaaccent Ograve -30 +KPX Kcommaaccent Ohungarumlaut -30 +KPX Kcommaaccent Omacron -30 +KPX Kcommaaccent Oslash -30 +KPX Kcommaaccent Otilde -30 +KPX Kcommaaccent e -25 +KPX Kcommaaccent eacute -25 +KPX Kcommaaccent ecaron -25 +KPX Kcommaaccent ecircumflex -25 +KPX Kcommaaccent edieresis -25 +KPX Kcommaaccent edotaccent -25 +KPX Kcommaaccent egrave -25 +KPX Kcommaaccent emacron -25 +KPX Kcommaaccent eogonek -25 +KPX Kcommaaccent o -35 +KPX Kcommaaccent oacute -35 +KPX Kcommaaccent ocircumflex -35 +KPX Kcommaaccent odieresis -35 +KPX Kcommaaccent ograve -35 +KPX Kcommaaccent ohungarumlaut -35 +KPX Kcommaaccent omacron -35 +KPX Kcommaaccent oslash -35 +KPX Kcommaaccent otilde -35 +KPX Kcommaaccent u -15 +KPX Kcommaaccent uacute -15 +KPX Kcommaaccent ucircumflex -15 +KPX Kcommaaccent udieresis -15 +KPX Kcommaaccent ugrave -15 +KPX Kcommaaccent uhungarumlaut -15 +KPX Kcommaaccent umacron -15 +KPX Kcommaaccent uogonek -15 +KPX Kcommaaccent uring -15 +KPX Kcommaaccent y -25 +KPX Kcommaaccent yacute -25 +KPX Kcommaaccent ydieresis -25 +KPX L T -92 +KPX L Tcaron -92 +KPX L Tcommaaccent -92 +KPX L V -100 +KPX L W -74 +KPX L Y -100 +KPX L Yacute -100 +KPX L Ydieresis -100 +KPX L quoteright -92 +KPX L y -55 +KPX L yacute -55 +KPX L ydieresis -55 +KPX Lacute T -92 +KPX Lacute Tcaron -92 +KPX Lacute Tcommaaccent -92 +KPX Lacute V -100 +KPX Lacute W -74 +KPX Lacute Y -100 +KPX Lacute Yacute -100 +KPX Lacute Ydieresis -100 +KPX Lacute quoteright -92 +KPX Lacute y -55 +KPX Lacute yacute -55 +KPX Lacute ydieresis -55 +KPX Lcaron quoteright -92 +KPX Lcaron y -55 +KPX Lcaron yacute -55 +KPX Lcaron ydieresis -55 +KPX Lcommaaccent T -92 +KPX Lcommaaccent Tcaron -92 +KPX Lcommaaccent Tcommaaccent -92 +KPX Lcommaaccent V -100 +KPX Lcommaaccent W -74 +KPX Lcommaaccent Y -100 +KPX Lcommaaccent Yacute -100 +KPX Lcommaaccent Ydieresis -100 +KPX Lcommaaccent quoteright -92 +KPX Lcommaaccent y -55 +KPX Lcommaaccent yacute -55 +KPX Lcommaaccent ydieresis -55 +KPX Lslash T -92 +KPX Lslash Tcaron -92 +KPX Lslash Tcommaaccent -92 +KPX Lslash V -100 +KPX Lslash W -74 +KPX Lslash Y -100 +KPX Lslash Yacute -100 +KPX Lslash Ydieresis -100 +KPX Lslash quoteright -92 +KPX Lslash y -55 +KPX Lslash yacute -55 +KPX Lslash ydieresis -55 +KPX N A -35 +KPX N Aacute -35 +KPX N Abreve -35 +KPX N Acircumflex -35 +KPX N Adieresis -35 +KPX N Agrave -35 +KPX N Amacron -35 +KPX N Aogonek -35 +KPX N Aring -35 +KPX N Atilde -35 +KPX Nacute A -35 +KPX Nacute Aacute -35 +KPX Nacute Abreve -35 +KPX Nacute Acircumflex -35 +KPX Nacute Adieresis -35 +KPX Nacute Agrave -35 +KPX Nacute Amacron -35 +KPX Nacute Aogonek -35 +KPX Nacute Aring -35 +KPX Nacute Atilde -35 +KPX Ncaron A -35 +KPX Ncaron Aacute -35 +KPX Ncaron Abreve -35 +KPX Ncaron Acircumflex -35 +KPX Ncaron Adieresis -35 +KPX Ncaron Agrave -35 +KPX Ncaron Amacron -35 +KPX Ncaron Aogonek -35 +KPX Ncaron Aring -35 +KPX Ncaron Atilde -35 +KPX Ncommaaccent A -35 +KPX Ncommaaccent Aacute -35 +KPX Ncommaaccent Abreve -35 +KPX Ncommaaccent Acircumflex -35 +KPX Ncommaaccent Adieresis -35 +KPX Ncommaaccent Agrave -35 +KPX Ncommaaccent Amacron -35 +KPX Ncommaaccent Aogonek -35 +KPX Ncommaaccent Aring -35 +KPX Ncommaaccent Atilde -35 +KPX Ntilde A -35 +KPX Ntilde Aacute -35 +KPX Ntilde Abreve -35 +KPX Ntilde Acircumflex -35 +KPX Ntilde Adieresis -35 +KPX Ntilde Agrave -35 +KPX Ntilde Amacron -35 +KPX Ntilde Aogonek -35 +KPX Ntilde Aring -35 +KPX Ntilde Atilde -35 +KPX O A -35 +KPX O Aacute -35 +KPX O Abreve -35 +KPX O Acircumflex -35 +KPX O Adieresis -35 +KPX O Agrave -35 +KPX O Amacron -35 +KPX O Aogonek -35 +KPX O Aring -35 +KPX O Atilde -35 +KPX O T -40 +KPX O Tcaron -40 +KPX O Tcommaaccent -40 +KPX O V -50 +KPX O W -35 +KPX O X -40 +KPX O Y -50 +KPX O Yacute -50 +KPX O Ydieresis -50 +KPX Oacute A -35 +KPX Oacute Aacute -35 +KPX Oacute Abreve -35 +KPX Oacute Acircumflex -35 +KPX Oacute Adieresis -35 +KPX Oacute Agrave -35 +KPX Oacute Amacron -35 +KPX Oacute Aogonek -35 +KPX Oacute Aring -35 +KPX Oacute Atilde -35 +KPX Oacute T -40 +KPX Oacute Tcaron -40 +KPX Oacute Tcommaaccent -40 +KPX Oacute V -50 +KPX Oacute W -35 +KPX Oacute X -40 +KPX Oacute Y -50 +KPX Oacute Yacute -50 +KPX Oacute Ydieresis -50 +KPX Ocircumflex A -35 +KPX Ocircumflex Aacute -35 +KPX Ocircumflex Abreve -35 +KPX Ocircumflex Acircumflex -35 +KPX Ocircumflex Adieresis -35 +KPX Ocircumflex Agrave -35 +KPX Ocircumflex Amacron -35 +KPX Ocircumflex Aogonek -35 +KPX Ocircumflex Aring -35 +KPX Ocircumflex Atilde -35 +KPX Ocircumflex T -40 +KPX Ocircumflex Tcaron -40 +KPX Ocircumflex Tcommaaccent -40 +KPX Ocircumflex V -50 +KPX Ocircumflex W -35 +KPX Ocircumflex X -40 +KPX Ocircumflex Y -50 +KPX Ocircumflex Yacute -50 +KPX Ocircumflex Ydieresis -50 +KPX Odieresis A -35 +KPX Odieresis Aacute -35 +KPX Odieresis Abreve -35 +KPX Odieresis Acircumflex -35 +KPX Odieresis Adieresis -35 +KPX Odieresis Agrave -35 +KPX Odieresis Amacron -35 +KPX Odieresis Aogonek -35 +KPX Odieresis Aring -35 +KPX Odieresis Atilde -35 +KPX Odieresis T -40 +KPX Odieresis Tcaron -40 +KPX Odieresis Tcommaaccent -40 +KPX Odieresis V -50 +KPX Odieresis W -35 +KPX Odieresis X -40 +KPX Odieresis Y -50 +KPX Odieresis Yacute -50 +KPX Odieresis Ydieresis -50 +KPX Ograve A -35 +KPX Ograve Aacute -35 +KPX Ograve Abreve -35 +KPX Ograve Acircumflex -35 +KPX Ograve Adieresis -35 +KPX Ograve Agrave -35 +KPX Ograve Amacron -35 +KPX Ograve Aogonek -35 +KPX Ograve Aring -35 +KPX Ograve Atilde -35 +KPX Ograve T -40 +KPX Ograve Tcaron -40 +KPX Ograve Tcommaaccent -40 +KPX Ograve V -50 +KPX Ograve W -35 +KPX Ograve X -40 +KPX Ograve Y -50 +KPX Ograve Yacute -50 +KPX Ograve Ydieresis -50 +KPX Ohungarumlaut A -35 +KPX Ohungarumlaut Aacute -35 +KPX Ohungarumlaut Abreve -35 +KPX Ohungarumlaut Acircumflex -35 +KPX Ohungarumlaut Adieresis -35 +KPX Ohungarumlaut Agrave -35 +KPX Ohungarumlaut Amacron -35 +KPX Ohungarumlaut Aogonek -35 +KPX Ohungarumlaut Aring -35 +KPX Ohungarumlaut Atilde -35 +KPX Ohungarumlaut T -40 +KPX Ohungarumlaut Tcaron -40 +KPX Ohungarumlaut Tcommaaccent -40 +KPX Ohungarumlaut V -50 +KPX Ohungarumlaut W -35 +KPX Ohungarumlaut X -40 +KPX Ohungarumlaut Y -50 +KPX Ohungarumlaut Yacute -50 +KPX Ohungarumlaut Ydieresis -50 +KPX Omacron A -35 +KPX Omacron Aacute -35 +KPX Omacron Abreve -35 +KPX Omacron Acircumflex -35 +KPX Omacron Adieresis -35 +KPX Omacron Agrave -35 +KPX Omacron Amacron -35 +KPX Omacron Aogonek -35 +KPX Omacron Aring -35 +KPX Omacron Atilde -35 +KPX Omacron T -40 +KPX Omacron Tcaron -40 +KPX Omacron Tcommaaccent -40 +KPX Omacron V -50 +KPX Omacron W -35 +KPX Omacron X -40 +KPX Omacron Y -50 +KPX Omacron Yacute -50 +KPX Omacron Ydieresis -50 +KPX Oslash A -35 +KPX Oslash Aacute -35 +KPX Oslash Abreve -35 +KPX Oslash Acircumflex -35 +KPX Oslash Adieresis -35 +KPX Oslash Agrave -35 +KPX Oslash Amacron -35 +KPX Oslash Aogonek -35 +KPX Oslash Aring -35 +KPX Oslash Atilde -35 +KPX Oslash T -40 +KPX Oslash Tcaron -40 +KPX Oslash Tcommaaccent -40 +KPX Oslash V -50 +KPX Oslash W -35 +KPX Oslash X -40 +KPX Oslash Y -50 +KPX Oslash Yacute -50 +KPX Oslash Ydieresis -50 +KPX Otilde A -35 +KPX Otilde Aacute -35 +KPX Otilde Abreve -35 +KPX Otilde Acircumflex -35 +KPX Otilde Adieresis -35 +KPX Otilde Agrave -35 +KPX Otilde Amacron -35 +KPX Otilde Aogonek -35 +KPX Otilde Aring -35 +KPX Otilde Atilde -35 +KPX Otilde T -40 +KPX Otilde Tcaron -40 +KPX Otilde Tcommaaccent -40 +KPX Otilde V -50 +KPX Otilde W -35 +KPX Otilde X -40 +KPX Otilde Y -50 +KPX Otilde Yacute -50 +KPX Otilde Ydieresis -50 +KPX P A -92 +KPX P Aacute -92 +KPX P Abreve -92 +KPX P Acircumflex -92 +KPX P Adieresis -92 +KPX P Agrave -92 +KPX P Amacron -92 +KPX P Aogonek -92 +KPX P Aring -92 +KPX P Atilde -92 +KPX P a -15 +KPX P aacute -15 +KPX P abreve -15 +KPX P acircumflex -15 +KPX P adieresis -15 +KPX P agrave -15 +KPX P amacron -15 +KPX P aogonek -15 +KPX P aring -15 +KPX P atilde -15 +KPX P comma -111 +KPX P period -111 +KPX Q U -10 +KPX Q Uacute -10 +KPX Q Ucircumflex -10 +KPX Q Udieresis -10 +KPX Q Ugrave -10 +KPX Q Uhungarumlaut -10 +KPX Q Umacron -10 +KPX Q Uogonek -10 +KPX Q Uring -10 +KPX R O -40 +KPX R Oacute -40 +KPX R Ocircumflex -40 +KPX R Odieresis -40 +KPX R Ograve -40 +KPX R Ohungarumlaut -40 +KPX R Omacron -40 +KPX R Oslash -40 +KPX R Otilde -40 +KPX R T -60 +KPX R Tcaron -60 +KPX R Tcommaaccent -60 +KPX R U -40 +KPX R Uacute -40 +KPX R Ucircumflex -40 +KPX R Udieresis -40 +KPX R Ugrave -40 +KPX R Uhungarumlaut -40 +KPX R Umacron -40 +KPX R Uogonek -40 +KPX R Uring -40 +KPX R V -80 +KPX R W -55 +KPX R Y -65 +KPX R Yacute -65 +KPX R Ydieresis -65 +KPX Racute O -40 +KPX Racute Oacute -40 +KPX Racute Ocircumflex -40 +KPX Racute Odieresis -40 +KPX Racute Ograve -40 +KPX Racute Ohungarumlaut -40 +KPX Racute Omacron -40 +KPX Racute Oslash -40 +KPX Racute Otilde -40 +KPX Racute T -60 +KPX Racute Tcaron -60 +KPX Racute Tcommaaccent -60 +KPX Racute U -40 +KPX Racute Uacute -40 +KPX Racute Ucircumflex -40 +KPX Racute Udieresis -40 +KPX Racute Ugrave -40 +KPX Racute Uhungarumlaut -40 +KPX Racute Umacron -40 +KPX Racute Uogonek -40 +KPX Racute Uring -40 +KPX Racute V -80 +KPX Racute W -55 +KPX Racute Y -65 +KPX Racute Yacute -65 +KPX Racute Ydieresis -65 +KPX Rcaron O -40 +KPX Rcaron Oacute -40 +KPX Rcaron Ocircumflex -40 +KPX Rcaron Odieresis -40 +KPX Rcaron Ograve -40 +KPX Rcaron Ohungarumlaut -40 +KPX Rcaron Omacron -40 +KPX Rcaron Oslash -40 +KPX Rcaron Otilde -40 +KPX Rcaron T -60 +KPX Rcaron Tcaron -60 +KPX Rcaron Tcommaaccent -60 +KPX Rcaron U -40 +KPX Rcaron Uacute -40 +KPX Rcaron Ucircumflex -40 +KPX Rcaron Udieresis -40 +KPX Rcaron Ugrave -40 +KPX Rcaron Uhungarumlaut -40 +KPX Rcaron Umacron -40 +KPX Rcaron Uogonek -40 +KPX Rcaron Uring -40 +KPX Rcaron V -80 +KPX Rcaron W -55 +KPX Rcaron Y -65 +KPX Rcaron Yacute -65 +KPX Rcaron Ydieresis -65 +KPX Rcommaaccent O -40 +KPX Rcommaaccent Oacute -40 +KPX Rcommaaccent Ocircumflex -40 +KPX Rcommaaccent Odieresis -40 +KPX Rcommaaccent Ograve -40 +KPX Rcommaaccent Ohungarumlaut -40 +KPX Rcommaaccent Omacron -40 +KPX Rcommaaccent Oslash -40 +KPX Rcommaaccent Otilde -40 +KPX Rcommaaccent T -60 +KPX Rcommaaccent Tcaron -60 +KPX Rcommaaccent Tcommaaccent -60 +KPX Rcommaaccent U -40 +KPX Rcommaaccent Uacute -40 +KPX Rcommaaccent Ucircumflex -40 +KPX Rcommaaccent Udieresis -40 +KPX Rcommaaccent Ugrave -40 +KPX Rcommaaccent Uhungarumlaut -40 +KPX Rcommaaccent Umacron -40 +KPX Rcommaaccent Uogonek -40 +KPX Rcommaaccent Uring -40 +KPX Rcommaaccent V -80 +KPX Rcommaaccent W -55 +KPX Rcommaaccent Y -65 +KPX Rcommaaccent Yacute -65 +KPX Rcommaaccent Ydieresis -65 +KPX T A -93 +KPX T Aacute -93 +KPX T Abreve -93 +KPX T Acircumflex -93 +KPX T Adieresis -93 +KPX T Agrave -93 +KPX T Amacron -93 +KPX T Aogonek -93 +KPX T Aring -93 +KPX T Atilde -93 +KPX T O -18 +KPX T Oacute -18 +KPX T Ocircumflex -18 +KPX T Odieresis -18 +KPX T Ograve -18 +KPX T Ohungarumlaut -18 +KPX T Omacron -18 +KPX T Oslash -18 +KPX T Otilde -18 +KPX T a -80 +KPX T aacute -80 +KPX T abreve -80 +KPX T acircumflex -80 +KPX T adieresis -40 +KPX T agrave -40 +KPX T amacron -40 +KPX T aogonek -80 +KPX T aring -80 +KPX T atilde -40 +KPX T colon -50 +KPX T comma -74 +KPX T e -70 +KPX T eacute -70 +KPX T ecaron -70 +KPX T ecircumflex -70 +KPX T edieresis -30 +KPX T edotaccent -70 +KPX T egrave -70 +KPX T emacron -30 +KPX T eogonek -70 +KPX T hyphen -92 +KPX T i -35 +KPX T iacute -35 +KPX T iogonek -35 +KPX T o -80 +KPX T oacute -80 +KPX T ocircumflex -80 +KPX T odieresis -80 +KPX T ograve -80 +KPX T ohungarumlaut -80 +KPX T omacron -80 +KPX T oslash -80 +KPX T otilde -80 +KPX T period -74 +KPX T r -35 +KPX T racute -35 +KPX T rcaron -35 +KPX T rcommaaccent -35 +KPX T semicolon -55 +KPX T u -45 +KPX T uacute -45 +KPX T ucircumflex -45 +KPX T udieresis -45 +KPX T ugrave -45 +KPX T uhungarumlaut -45 +KPX T umacron -45 +KPX T uogonek -45 +KPX T uring -45 +KPX T w -80 +KPX T y -80 +KPX T yacute -80 +KPX T ydieresis -80 +KPX Tcaron A -93 +KPX Tcaron Aacute -93 +KPX Tcaron Abreve -93 +KPX Tcaron Acircumflex -93 +KPX Tcaron Adieresis -93 +KPX Tcaron Agrave -93 +KPX Tcaron Amacron -93 +KPX Tcaron Aogonek -93 +KPX Tcaron Aring -93 +KPX Tcaron Atilde -93 +KPX Tcaron O -18 +KPX Tcaron Oacute -18 +KPX Tcaron Ocircumflex -18 +KPX Tcaron Odieresis -18 +KPX Tcaron Ograve -18 +KPX Tcaron Ohungarumlaut -18 +KPX Tcaron Omacron -18 +KPX Tcaron Oslash -18 +KPX Tcaron Otilde -18 +KPX Tcaron a -80 +KPX Tcaron aacute -80 +KPX Tcaron abreve -80 +KPX Tcaron acircumflex -80 +KPX Tcaron adieresis -40 +KPX Tcaron agrave -40 +KPX Tcaron amacron -40 +KPX Tcaron aogonek -80 +KPX Tcaron aring -80 +KPX Tcaron atilde -40 +KPX Tcaron colon -50 +KPX Tcaron comma -74 +KPX Tcaron e -70 +KPX Tcaron eacute -70 +KPX Tcaron ecaron -70 +KPX Tcaron ecircumflex -30 +KPX Tcaron edieresis -30 +KPX Tcaron edotaccent -70 +KPX Tcaron egrave -70 +KPX Tcaron emacron -30 +KPX Tcaron eogonek -70 +KPX Tcaron hyphen -92 +KPX Tcaron i -35 +KPX Tcaron iacute -35 +KPX Tcaron iogonek -35 +KPX Tcaron o -80 +KPX Tcaron oacute -80 +KPX Tcaron ocircumflex -80 +KPX Tcaron odieresis -80 +KPX Tcaron ograve -80 +KPX Tcaron ohungarumlaut -80 +KPX Tcaron omacron -80 +KPX Tcaron oslash -80 +KPX Tcaron otilde -80 +KPX Tcaron period -74 +KPX Tcaron r -35 +KPX Tcaron racute -35 +KPX Tcaron rcaron -35 +KPX Tcaron rcommaaccent -35 +KPX Tcaron semicolon -55 +KPX Tcaron u -45 +KPX Tcaron uacute -45 +KPX Tcaron ucircumflex -45 +KPX Tcaron udieresis -45 +KPX Tcaron ugrave -45 +KPX Tcaron uhungarumlaut -45 +KPX Tcaron umacron -45 +KPX Tcaron uogonek -45 +KPX Tcaron uring -45 +KPX Tcaron w -80 +KPX Tcaron y -80 +KPX Tcaron yacute -80 +KPX Tcaron ydieresis -80 +KPX Tcommaaccent A -93 +KPX Tcommaaccent Aacute -93 +KPX Tcommaaccent Abreve -93 +KPX Tcommaaccent Acircumflex -93 +KPX Tcommaaccent Adieresis -93 +KPX Tcommaaccent Agrave -93 +KPX Tcommaaccent Amacron -93 +KPX Tcommaaccent Aogonek -93 +KPX Tcommaaccent Aring -93 +KPX Tcommaaccent Atilde -93 +KPX Tcommaaccent O -18 +KPX Tcommaaccent Oacute -18 +KPX Tcommaaccent Ocircumflex -18 +KPX Tcommaaccent Odieresis -18 +KPX Tcommaaccent Ograve -18 +KPX Tcommaaccent Ohungarumlaut -18 +KPX Tcommaaccent Omacron -18 +KPX Tcommaaccent Oslash -18 +KPX Tcommaaccent Otilde -18 +KPX Tcommaaccent a -80 +KPX Tcommaaccent aacute -80 +KPX Tcommaaccent abreve -80 +KPX Tcommaaccent acircumflex -80 +KPX Tcommaaccent adieresis -40 +KPX Tcommaaccent agrave -40 +KPX Tcommaaccent amacron -40 +KPX Tcommaaccent aogonek -80 +KPX Tcommaaccent aring -80 +KPX Tcommaaccent atilde -40 +KPX Tcommaaccent colon -50 +KPX Tcommaaccent comma -74 +KPX Tcommaaccent e -70 +KPX Tcommaaccent eacute -70 +KPX Tcommaaccent ecaron -70 +KPX Tcommaaccent ecircumflex -30 +KPX Tcommaaccent edieresis -30 +KPX Tcommaaccent edotaccent -70 +KPX Tcommaaccent egrave -30 +KPX Tcommaaccent emacron -70 +KPX Tcommaaccent eogonek -70 +KPX Tcommaaccent hyphen -92 +KPX Tcommaaccent i -35 +KPX Tcommaaccent iacute -35 +KPX Tcommaaccent iogonek -35 +KPX Tcommaaccent o -80 +KPX Tcommaaccent oacute -80 +KPX Tcommaaccent ocircumflex -80 +KPX Tcommaaccent odieresis -80 +KPX Tcommaaccent ograve -80 +KPX Tcommaaccent ohungarumlaut -80 +KPX Tcommaaccent omacron -80 +KPX Tcommaaccent oslash -80 +KPX Tcommaaccent otilde -80 +KPX Tcommaaccent period -74 +KPX Tcommaaccent r -35 +KPX Tcommaaccent racute -35 +KPX Tcommaaccent rcaron -35 +KPX Tcommaaccent rcommaaccent -35 +KPX Tcommaaccent semicolon -55 +KPX Tcommaaccent u -45 +KPX Tcommaaccent uacute -45 +KPX Tcommaaccent ucircumflex -45 +KPX Tcommaaccent udieresis -45 +KPX Tcommaaccent ugrave -45 +KPX Tcommaaccent uhungarumlaut -45 +KPX Tcommaaccent umacron -45 +KPX Tcommaaccent uogonek -45 +KPX Tcommaaccent uring -45 +KPX Tcommaaccent w -80 +KPX Tcommaaccent y -80 +KPX Tcommaaccent yacute -80 +KPX Tcommaaccent ydieresis -80 +KPX U A -40 +KPX U Aacute -40 +KPX U Abreve -40 +KPX U Acircumflex -40 +KPX U Adieresis -40 +KPX U Agrave -40 +KPX U Amacron -40 +KPX U Aogonek -40 +KPX U Aring -40 +KPX U Atilde -40 +KPX Uacute A -40 +KPX Uacute Aacute -40 +KPX Uacute Abreve -40 +KPX Uacute Acircumflex -40 +KPX Uacute Adieresis -40 +KPX Uacute Agrave -40 +KPX Uacute Amacron -40 +KPX Uacute Aogonek -40 +KPX Uacute Aring -40 +KPX Uacute Atilde -40 +KPX Ucircumflex A -40 +KPX Ucircumflex Aacute -40 +KPX Ucircumflex Abreve -40 +KPX Ucircumflex Acircumflex -40 +KPX Ucircumflex Adieresis -40 +KPX Ucircumflex Agrave -40 +KPX Ucircumflex Amacron -40 +KPX Ucircumflex Aogonek -40 +KPX Ucircumflex Aring -40 +KPX Ucircumflex Atilde -40 +KPX Udieresis A -40 +KPX Udieresis Aacute -40 +KPX Udieresis Abreve -40 +KPX Udieresis Acircumflex -40 +KPX Udieresis Adieresis -40 +KPX Udieresis Agrave -40 +KPX Udieresis Amacron -40 +KPX Udieresis Aogonek -40 +KPX Udieresis Aring -40 +KPX Udieresis Atilde -40 +KPX Ugrave A -40 +KPX Ugrave Aacute -40 +KPX Ugrave Abreve -40 +KPX Ugrave Acircumflex -40 +KPX Ugrave Adieresis -40 +KPX Ugrave Agrave -40 +KPX Ugrave Amacron -40 +KPX Ugrave Aogonek -40 +KPX Ugrave Aring -40 +KPX Ugrave Atilde -40 +KPX Uhungarumlaut A -40 +KPX Uhungarumlaut Aacute -40 +KPX Uhungarumlaut Abreve -40 +KPX Uhungarumlaut Acircumflex -40 +KPX Uhungarumlaut Adieresis -40 +KPX Uhungarumlaut Agrave -40 +KPX Uhungarumlaut Amacron -40 +KPX Uhungarumlaut Aogonek -40 +KPX Uhungarumlaut Aring -40 +KPX Uhungarumlaut Atilde -40 +KPX Umacron A -40 +KPX Umacron Aacute -40 +KPX Umacron Abreve -40 +KPX Umacron Acircumflex -40 +KPX Umacron Adieresis -40 +KPX Umacron Agrave -40 +KPX Umacron Amacron -40 +KPX Umacron Aogonek -40 +KPX Umacron Aring -40 +KPX Umacron Atilde -40 +KPX Uogonek A -40 +KPX Uogonek Aacute -40 +KPX Uogonek Abreve -40 +KPX Uogonek Acircumflex -40 +KPX Uogonek Adieresis -40 +KPX Uogonek Agrave -40 +KPX Uogonek Amacron -40 +KPX Uogonek Aogonek -40 +KPX Uogonek Aring -40 +KPX Uogonek Atilde -40 +KPX Uring A -40 +KPX Uring Aacute -40 +KPX Uring Abreve -40 +KPX Uring Acircumflex -40 +KPX Uring Adieresis -40 +KPX Uring Agrave -40 +KPX Uring Amacron -40 +KPX Uring Aogonek -40 +KPX Uring Aring -40 +KPX Uring Atilde -40 +KPX V A -135 +KPX V Aacute -135 +KPX V Abreve -135 +KPX V Acircumflex -135 +KPX V Adieresis -135 +KPX V Agrave -135 +KPX V Amacron -135 +KPX V Aogonek -135 +KPX V Aring -135 +KPX V Atilde -135 +KPX V G -15 +KPX V Gbreve -15 +KPX V Gcommaaccent -15 +KPX V O -40 +KPX V Oacute -40 +KPX V Ocircumflex -40 +KPX V Odieresis -40 +KPX V Ograve -40 +KPX V Ohungarumlaut -40 +KPX V Omacron -40 +KPX V Oslash -40 +KPX V Otilde -40 +KPX V a -111 +KPX V aacute -111 +KPX V abreve -111 +KPX V acircumflex -71 +KPX V adieresis -71 +KPX V agrave -71 +KPX V amacron -71 +KPX V aogonek -111 +KPX V aring -111 +KPX V atilde -71 +KPX V colon -74 +KPX V comma -129 +KPX V e -111 +KPX V eacute -111 +KPX V ecaron -71 +KPX V ecircumflex -71 +KPX V edieresis -71 +KPX V edotaccent -111 +KPX V egrave -71 +KPX V emacron -71 +KPX V eogonek -111 +KPX V hyphen -100 +KPX V i -60 +KPX V iacute -60 +KPX V icircumflex -20 +KPX V idieresis -20 +KPX V igrave -20 +KPX V imacron -20 +KPX V iogonek -60 +KPX V o -129 +KPX V oacute -129 +KPX V ocircumflex -129 +KPX V odieresis -89 +KPX V ograve -89 +KPX V ohungarumlaut -129 +KPX V omacron -89 +KPX V oslash -129 +KPX V otilde -89 +KPX V period -129 +KPX V semicolon -74 +KPX V u -75 +KPX V uacute -75 +KPX V ucircumflex -75 +KPX V udieresis -75 +KPX V ugrave -75 +KPX V uhungarumlaut -75 +KPX V umacron -75 +KPX V uogonek -75 +KPX V uring -75 +KPX W A -120 +KPX W Aacute -120 +KPX W Abreve -120 +KPX W Acircumflex -120 +KPX W Adieresis -120 +KPX W Agrave -120 +KPX W Amacron -120 +KPX W Aogonek -120 +KPX W Aring -120 +KPX W Atilde -120 +KPX W O -10 +KPX W Oacute -10 +KPX W Ocircumflex -10 +KPX W Odieresis -10 +KPX W Ograve -10 +KPX W Ohungarumlaut -10 +KPX W Omacron -10 +KPX W Oslash -10 +KPX W Otilde -10 +KPX W a -80 +KPX W aacute -80 +KPX W abreve -80 +KPX W acircumflex -80 +KPX W adieresis -80 +KPX W agrave -80 +KPX W amacron -80 +KPX W aogonek -80 +KPX W aring -80 +KPX W atilde -80 +KPX W colon -37 +KPX W comma -92 +KPX W e -80 +KPX W eacute -80 +KPX W ecaron -80 +KPX W ecircumflex -80 +KPX W edieresis -40 +KPX W edotaccent -80 +KPX W egrave -40 +KPX W emacron -40 +KPX W eogonek -80 +KPX W hyphen -65 +KPX W i -40 +KPX W iacute -40 +KPX W iogonek -40 +KPX W o -80 +KPX W oacute -80 +KPX W ocircumflex -80 +KPX W odieresis -80 +KPX W ograve -80 +KPX W ohungarumlaut -80 +KPX W omacron -80 +KPX W oslash -80 +KPX W otilde -80 +KPX W period -92 +KPX W semicolon -37 +KPX W u -50 +KPX W uacute -50 +KPX W ucircumflex -50 +KPX W udieresis -50 +KPX W ugrave -50 +KPX W uhungarumlaut -50 +KPX W umacron -50 +KPX W uogonek -50 +KPX W uring -50 +KPX W y -73 +KPX W yacute -73 +KPX W ydieresis -73 +KPX Y A -120 +KPX Y Aacute -120 +KPX Y Abreve -120 +KPX Y Acircumflex -120 +KPX Y Adieresis -120 +KPX Y Agrave -120 +KPX Y Amacron -120 +KPX Y Aogonek -120 +KPX Y Aring -120 +KPX Y Atilde -120 +KPX Y O -30 +KPX Y Oacute -30 +KPX Y Ocircumflex -30 +KPX Y Odieresis -30 +KPX Y Ograve -30 +KPX Y Ohungarumlaut -30 +KPX Y Omacron -30 +KPX Y Oslash -30 +KPX Y Otilde -30 +KPX Y a -100 +KPX Y aacute -100 +KPX Y abreve -100 +KPX Y acircumflex -100 +KPX Y adieresis -60 +KPX Y agrave -60 +KPX Y amacron -60 +KPX Y aogonek -100 +KPX Y aring -100 +KPX Y atilde -60 +KPX Y colon -92 +KPX Y comma -129 +KPX Y e -100 +KPX Y eacute -100 +KPX Y ecaron -100 +KPX Y ecircumflex -100 +KPX Y edieresis -60 +KPX Y edotaccent -100 +KPX Y egrave -60 +KPX Y emacron -60 +KPX Y eogonek -100 +KPX Y hyphen -111 +KPX Y i -55 +KPX Y iacute -55 +KPX Y iogonek -55 +KPX Y o -110 +KPX Y oacute -110 +KPX Y ocircumflex -110 +KPX Y odieresis -70 +KPX Y ograve -70 +KPX Y ohungarumlaut -110 +KPX Y omacron -70 +KPX Y oslash -110 +KPX Y otilde -70 +KPX Y period -129 +KPX Y semicolon -92 +KPX Y u -111 +KPX Y uacute -111 +KPX Y ucircumflex -111 +KPX Y udieresis -71 +KPX Y ugrave -71 +KPX Y uhungarumlaut -111 +KPX Y umacron -71 +KPX Y uogonek -111 +KPX Y uring -111 +KPX Yacute A -120 +KPX Yacute Aacute -120 +KPX Yacute Abreve -120 +KPX Yacute Acircumflex -120 +KPX Yacute Adieresis -120 +KPX Yacute Agrave -120 +KPX Yacute Amacron -120 +KPX Yacute Aogonek -120 +KPX Yacute Aring -120 +KPX Yacute Atilde -120 +KPX Yacute O -30 +KPX Yacute Oacute -30 +KPX Yacute Ocircumflex -30 +KPX Yacute Odieresis -30 +KPX Yacute Ograve -30 +KPX Yacute Ohungarumlaut -30 +KPX Yacute Omacron -30 +KPX Yacute Oslash -30 +KPX Yacute Otilde -30 +KPX Yacute a -100 +KPX Yacute aacute -100 +KPX Yacute abreve -100 +KPX Yacute acircumflex -100 +KPX Yacute adieresis -60 +KPX Yacute agrave -60 +KPX Yacute amacron -60 +KPX Yacute aogonek -100 +KPX Yacute aring -100 +KPX Yacute atilde -60 +KPX Yacute colon -92 +KPX Yacute comma -129 +KPX Yacute e -100 +KPX Yacute eacute -100 +KPX Yacute ecaron -100 +KPX Yacute ecircumflex -100 +KPX Yacute edieresis -60 +KPX Yacute edotaccent -100 +KPX Yacute egrave -60 +KPX Yacute emacron -60 +KPX Yacute eogonek -100 +KPX Yacute hyphen -111 +KPX Yacute i -55 +KPX Yacute iacute -55 +KPX Yacute iogonek -55 +KPX Yacute o -110 +KPX Yacute oacute -110 +KPX Yacute ocircumflex -110 +KPX Yacute odieresis -70 +KPX Yacute ograve -70 +KPX Yacute ohungarumlaut -110 +KPX Yacute omacron -70 +KPX Yacute oslash -110 +KPX Yacute otilde -70 +KPX Yacute period -129 +KPX Yacute semicolon -92 +KPX Yacute u -111 +KPX Yacute uacute -111 +KPX Yacute ucircumflex -111 +KPX Yacute udieresis -71 +KPX Yacute ugrave -71 +KPX Yacute uhungarumlaut -111 +KPX Yacute umacron -71 +KPX Yacute uogonek -111 +KPX Yacute uring -111 +KPX Ydieresis A -120 +KPX Ydieresis Aacute -120 +KPX Ydieresis Abreve -120 +KPX Ydieresis Acircumflex -120 +KPX Ydieresis Adieresis -120 +KPX Ydieresis Agrave -120 +KPX Ydieresis Amacron -120 +KPX Ydieresis Aogonek -120 +KPX Ydieresis Aring -120 +KPX Ydieresis Atilde -120 +KPX Ydieresis O -30 +KPX Ydieresis Oacute -30 +KPX Ydieresis Ocircumflex -30 +KPX Ydieresis Odieresis -30 +KPX Ydieresis Ograve -30 +KPX Ydieresis Ohungarumlaut -30 +KPX Ydieresis Omacron -30 +KPX Ydieresis Oslash -30 +KPX Ydieresis Otilde -30 +KPX Ydieresis a -100 +KPX Ydieresis aacute -100 +KPX Ydieresis abreve -100 +KPX Ydieresis acircumflex -100 +KPX Ydieresis adieresis -60 +KPX Ydieresis agrave -60 +KPX Ydieresis amacron -60 +KPX Ydieresis aogonek -100 +KPX Ydieresis aring -100 +KPX Ydieresis atilde -100 +KPX Ydieresis colon -92 +KPX Ydieresis comma -129 +KPX Ydieresis e -100 +KPX Ydieresis eacute -100 +KPX Ydieresis ecaron -100 +KPX Ydieresis ecircumflex -100 +KPX Ydieresis edieresis -60 +KPX Ydieresis edotaccent -100 +KPX Ydieresis egrave -60 +KPX Ydieresis emacron -60 +KPX Ydieresis eogonek -100 +KPX Ydieresis hyphen -111 +KPX Ydieresis i -55 +KPX Ydieresis iacute -55 +KPX Ydieresis iogonek -55 +KPX Ydieresis o -110 +KPX Ydieresis oacute -110 +KPX Ydieresis ocircumflex -110 +KPX Ydieresis odieresis -70 +KPX Ydieresis ograve -70 +KPX Ydieresis ohungarumlaut -110 +KPX Ydieresis omacron -70 +KPX Ydieresis oslash -110 +KPX Ydieresis otilde -70 +KPX Ydieresis period -129 +KPX Ydieresis semicolon -92 +KPX Ydieresis u -111 +KPX Ydieresis uacute -111 +KPX Ydieresis ucircumflex -111 +KPX Ydieresis udieresis -71 +KPX Ydieresis ugrave -71 +KPX Ydieresis uhungarumlaut -111 +KPX Ydieresis umacron -71 +KPX Ydieresis uogonek -111 +KPX Ydieresis uring -111 +KPX a v -20 +KPX a w -15 +KPX aacute v -20 +KPX aacute w -15 +KPX abreve v -20 +KPX abreve w -15 +KPX acircumflex v -20 +KPX acircumflex w -15 +KPX adieresis v -20 +KPX adieresis w -15 +KPX agrave v -20 +KPX agrave w -15 +KPX amacron v -20 +KPX amacron w -15 +KPX aogonek v -20 +KPX aogonek w -15 +KPX aring v -20 +KPX aring w -15 +KPX atilde v -20 +KPX atilde w -15 +KPX b period -40 +KPX b u -20 +KPX b uacute -20 +KPX b ucircumflex -20 +KPX b udieresis -20 +KPX b ugrave -20 +KPX b uhungarumlaut -20 +KPX b umacron -20 +KPX b uogonek -20 +KPX b uring -20 +KPX b v -15 +KPX c y -15 +KPX c yacute -15 +KPX c ydieresis -15 +KPX cacute y -15 +KPX cacute yacute -15 +KPX cacute ydieresis -15 +KPX ccaron y -15 +KPX ccaron yacute -15 +KPX ccaron ydieresis -15 +KPX ccedilla y -15 +KPX ccedilla yacute -15 +KPX ccedilla ydieresis -15 +KPX comma quotedblright -70 +KPX comma quoteright -70 +KPX e g -15 +KPX e gbreve -15 +KPX e gcommaaccent -15 +KPX e v -25 +KPX e w -25 +KPX e x -15 +KPX e y -15 +KPX e yacute -15 +KPX e ydieresis -15 +KPX eacute g -15 +KPX eacute gbreve -15 +KPX eacute gcommaaccent -15 +KPX eacute v -25 +KPX eacute w -25 +KPX eacute x -15 +KPX eacute y -15 +KPX eacute yacute -15 +KPX eacute ydieresis -15 +KPX ecaron g -15 +KPX ecaron gbreve -15 +KPX ecaron gcommaaccent -15 +KPX ecaron v -25 +KPX ecaron w -25 +KPX ecaron x -15 +KPX ecaron y -15 +KPX ecaron yacute -15 +KPX ecaron ydieresis -15 +KPX ecircumflex g -15 +KPX ecircumflex gbreve -15 +KPX ecircumflex gcommaaccent -15 +KPX ecircumflex v -25 +KPX ecircumflex w -25 +KPX ecircumflex x -15 +KPX ecircumflex y -15 +KPX ecircumflex yacute -15 +KPX ecircumflex ydieresis -15 +KPX edieresis g -15 +KPX edieresis gbreve -15 +KPX edieresis gcommaaccent -15 +KPX edieresis v -25 +KPX edieresis w -25 +KPX edieresis x -15 +KPX edieresis y -15 +KPX edieresis yacute -15 +KPX edieresis ydieresis -15 +KPX edotaccent g -15 +KPX edotaccent gbreve -15 +KPX edotaccent gcommaaccent -15 +KPX edotaccent v -25 +KPX edotaccent w -25 +KPX edotaccent x -15 +KPX edotaccent y -15 +KPX edotaccent yacute -15 +KPX edotaccent ydieresis -15 +KPX egrave g -15 +KPX egrave gbreve -15 +KPX egrave gcommaaccent -15 +KPX egrave v -25 +KPX egrave w -25 +KPX egrave x -15 +KPX egrave y -15 +KPX egrave yacute -15 +KPX egrave ydieresis -15 +KPX emacron g -15 +KPX emacron gbreve -15 +KPX emacron gcommaaccent -15 +KPX emacron v -25 +KPX emacron w -25 +KPX emacron x -15 +KPX emacron y -15 +KPX emacron yacute -15 +KPX emacron ydieresis -15 +KPX eogonek g -15 +KPX eogonek gbreve -15 +KPX eogonek gcommaaccent -15 +KPX eogonek v -25 +KPX eogonek w -25 +KPX eogonek x -15 +KPX eogonek y -15 +KPX eogonek yacute -15 +KPX eogonek ydieresis -15 +KPX f a -10 +KPX f aacute -10 +KPX f abreve -10 +KPX f acircumflex -10 +KPX f adieresis -10 +KPX f agrave -10 +KPX f amacron -10 +KPX f aogonek -10 +KPX f aring -10 +KPX f atilde -10 +KPX f dotlessi -50 +KPX f f -25 +KPX f i -20 +KPX f iacute -20 +KPX f quoteright 55 +KPX g a -5 +KPX g aacute -5 +KPX g abreve -5 +KPX g acircumflex -5 +KPX g adieresis -5 +KPX g agrave -5 +KPX g amacron -5 +KPX g aogonek -5 +KPX g aring -5 +KPX g atilde -5 +KPX gbreve a -5 +KPX gbreve aacute -5 +KPX gbreve abreve -5 +KPX gbreve acircumflex -5 +KPX gbreve adieresis -5 +KPX gbreve agrave -5 +KPX gbreve amacron -5 +KPX gbreve aogonek -5 +KPX gbreve aring -5 +KPX gbreve atilde -5 +KPX gcommaaccent a -5 +KPX gcommaaccent aacute -5 +KPX gcommaaccent abreve -5 +KPX gcommaaccent acircumflex -5 +KPX gcommaaccent adieresis -5 +KPX gcommaaccent agrave -5 +KPX gcommaaccent amacron -5 +KPX gcommaaccent aogonek -5 +KPX gcommaaccent aring -5 +KPX gcommaaccent atilde -5 +KPX h y -5 +KPX h yacute -5 +KPX h ydieresis -5 +KPX i v -25 +KPX iacute v -25 +KPX icircumflex v -25 +KPX idieresis v -25 +KPX igrave v -25 +KPX imacron v -25 +KPX iogonek v -25 +KPX k e -10 +KPX k eacute -10 +KPX k ecaron -10 +KPX k ecircumflex -10 +KPX k edieresis -10 +KPX k edotaccent -10 +KPX k egrave -10 +KPX k emacron -10 +KPX k eogonek -10 +KPX k o -10 +KPX k oacute -10 +KPX k ocircumflex -10 +KPX k odieresis -10 +KPX k ograve -10 +KPX k ohungarumlaut -10 +KPX k omacron -10 +KPX k oslash -10 +KPX k otilde -10 +KPX k y -15 +KPX k yacute -15 +KPX k ydieresis -15 +KPX kcommaaccent e -10 +KPX kcommaaccent eacute -10 +KPX kcommaaccent ecaron -10 +KPX kcommaaccent ecircumflex -10 +KPX kcommaaccent edieresis -10 +KPX kcommaaccent edotaccent -10 +KPX kcommaaccent egrave -10 +KPX kcommaaccent emacron -10 +KPX kcommaaccent eogonek -10 +KPX kcommaaccent o -10 +KPX kcommaaccent oacute -10 +KPX kcommaaccent ocircumflex -10 +KPX kcommaaccent odieresis -10 +KPX kcommaaccent ograve -10 +KPX kcommaaccent ohungarumlaut -10 +KPX kcommaaccent omacron -10 +KPX kcommaaccent oslash -10 +KPX kcommaaccent otilde -10 +KPX kcommaaccent y -15 +KPX kcommaaccent yacute -15 +KPX kcommaaccent ydieresis -15 +KPX l w -10 +KPX lacute w -10 +KPX lcommaaccent w -10 +KPX lslash w -10 +KPX n v -40 +KPX n y -15 +KPX n yacute -15 +KPX n ydieresis -15 +KPX nacute v -40 +KPX nacute y -15 +KPX nacute yacute -15 +KPX nacute ydieresis -15 +KPX ncaron v -40 +KPX ncaron y -15 +KPX ncaron yacute -15 +KPX ncaron ydieresis -15 +KPX ncommaaccent v -40 +KPX ncommaaccent y -15 +KPX ncommaaccent yacute -15 +KPX ncommaaccent ydieresis -15 +KPX ntilde v -40 +KPX ntilde y -15 +KPX ntilde yacute -15 +KPX ntilde ydieresis -15 +KPX o v -15 +KPX o w -25 +KPX o y -10 +KPX o yacute -10 +KPX o ydieresis -10 +KPX oacute v -15 +KPX oacute w -25 +KPX oacute y -10 +KPX oacute yacute -10 +KPX oacute ydieresis -10 +KPX ocircumflex v -15 +KPX ocircumflex w -25 +KPX ocircumflex y -10 +KPX ocircumflex yacute -10 +KPX ocircumflex ydieresis -10 +KPX odieresis v -15 +KPX odieresis w -25 +KPX odieresis y -10 +KPX odieresis yacute -10 +KPX odieresis ydieresis -10 +KPX ograve v -15 +KPX ograve w -25 +KPX ograve y -10 +KPX ograve yacute -10 +KPX ograve ydieresis -10 +KPX ohungarumlaut v -15 +KPX ohungarumlaut w -25 +KPX ohungarumlaut y -10 +KPX ohungarumlaut yacute -10 +KPX ohungarumlaut ydieresis -10 +KPX omacron v -15 +KPX omacron w -25 +KPX omacron y -10 +KPX omacron yacute -10 +KPX omacron ydieresis -10 +KPX oslash v -15 +KPX oslash w -25 +KPX oslash y -10 +KPX oslash yacute -10 +KPX oslash ydieresis -10 +KPX otilde v -15 +KPX otilde w -25 +KPX otilde y -10 +KPX otilde yacute -10 +KPX otilde ydieresis -10 +KPX p y -10 +KPX p yacute -10 +KPX p ydieresis -10 +KPX period quotedblright -70 +KPX period quoteright -70 +KPX quotedblleft A -80 +KPX quotedblleft Aacute -80 +KPX quotedblleft Abreve -80 +KPX quotedblleft Acircumflex -80 +KPX quotedblleft Adieresis -80 +KPX quotedblleft Agrave -80 +KPX quotedblleft Amacron -80 +KPX quotedblleft Aogonek -80 +KPX quotedblleft Aring -80 +KPX quotedblleft Atilde -80 +KPX quoteleft A -80 +KPX quoteleft Aacute -80 +KPX quoteleft Abreve -80 +KPX quoteleft Acircumflex -80 +KPX quoteleft Adieresis -80 +KPX quoteleft Agrave -80 +KPX quoteleft Amacron -80 +KPX quoteleft Aogonek -80 +KPX quoteleft Aring -80 +KPX quoteleft Atilde -80 +KPX quoteleft quoteleft -74 +KPX quoteright d -50 +KPX quoteright dcroat -50 +KPX quoteright l -10 +KPX quoteright lacute -10 +KPX quoteright lcommaaccent -10 +KPX quoteright lslash -10 +KPX quoteright quoteright -74 +KPX quoteright r -50 +KPX quoteright racute -50 +KPX quoteright rcaron -50 +KPX quoteright rcommaaccent -50 +KPX quoteright s -55 +KPX quoteright sacute -55 +KPX quoteright scaron -55 +KPX quoteright scedilla -55 +KPX quoteright scommaaccent -55 +KPX quoteright space -74 +KPX quoteright t -18 +KPX quoteright tcommaaccent -18 +KPX quoteright v -50 +KPX r comma -40 +KPX r g -18 +KPX r gbreve -18 +KPX r gcommaaccent -18 +KPX r hyphen -20 +KPX r period -55 +KPX racute comma -40 +KPX racute g -18 +KPX racute gbreve -18 +KPX racute gcommaaccent -18 +KPX racute hyphen -20 +KPX racute period -55 +KPX rcaron comma -40 +KPX rcaron g -18 +KPX rcaron gbreve -18 +KPX rcaron gcommaaccent -18 +KPX rcaron hyphen -20 +KPX rcaron period -55 +KPX rcommaaccent comma -40 +KPX rcommaaccent g -18 +KPX rcommaaccent gbreve -18 +KPX rcommaaccent gcommaaccent -18 +KPX rcommaaccent hyphen -20 +KPX rcommaaccent period -55 +KPX space A -55 +KPX space Aacute -55 +KPX space Abreve -55 +KPX space Acircumflex -55 +KPX space Adieresis -55 +KPX space Agrave -55 +KPX space Amacron -55 +KPX space Aogonek -55 +KPX space Aring -55 +KPX space Atilde -55 +KPX space T -18 +KPX space Tcaron -18 +KPX space Tcommaaccent -18 +KPX space V -50 +KPX space W -30 +KPX space Y -90 +KPX space Yacute -90 +KPX space Ydieresis -90 +KPX v a -25 +KPX v aacute -25 +KPX v abreve -25 +KPX v acircumflex -25 +KPX v adieresis -25 +KPX v agrave -25 +KPX v amacron -25 +KPX v aogonek -25 +KPX v aring -25 +KPX v atilde -25 +KPX v comma -65 +KPX v e -15 +KPX v eacute -15 +KPX v ecaron -15 +KPX v ecircumflex -15 +KPX v edieresis -15 +KPX v edotaccent -15 +KPX v egrave -15 +KPX v emacron -15 +KPX v eogonek -15 +KPX v o -20 +KPX v oacute -20 +KPX v ocircumflex -20 +KPX v odieresis -20 +KPX v ograve -20 +KPX v ohungarumlaut -20 +KPX v omacron -20 +KPX v oslash -20 +KPX v otilde -20 +KPX v period -65 +KPX w a -10 +KPX w aacute -10 +KPX w abreve -10 +KPX w acircumflex -10 +KPX w adieresis -10 +KPX w agrave -10 +KPX w amacron -10 +KPX w aogonek -10 +KPX w aring -10 +KPX w atilde -10 +KPX w comma -65 +KPX w o -10 +KPX w oacute -10 +KPX w ocircumflex -10 +KPX w odieresis -10 +KPX w ograve -10 +KPX w ohungarumlaut -10 +KPX w omacron -10 +KPX w oslash -10 +KPX w otilde -10 +KPX w period -65 +KPX x e -15 +KPX x eacute -15 +KPX x ecaron -15 +KPX x ecircumflex -15 +KPX x edieresis -15 +KPX x edotaccent -15 +KPX x egrave -15 +KPX x emacron -15 +KPX x eogonek -15 +KPX y comma -65 +KPX y period -65 +KPX yacute comma -65 +KPX yacute period -65 +KPX ydieresis comma -65 +KPX ydieresis period -65 +EndKernPairs +EndKernData +EndFontMetrics diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/PDF/default/templates/fonts/ZapfDingbats.afm b/buildscripts/PhpDocumentor/phpDocumentor/Converters/PDF/default/templates/fonts/ZapfDingbats.afm new file mode 100755 index 00000000..b2745053 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/PDF/default/templates/fonts/ZapfDingbats.afm @@ -0,0 +1,225 @@ +StartFontMetrics 4.1 +Comment Copyright (c) 1985, 1987, 1988, 1989, 1997 Adobe Systems Incorporated. All Rights Reserved. +Comment Creation Date: Thu May 1 15:14:13 1997 +Comment UniqueID 43082 +Comment VMusage 45775 55535 +FontName ZapfDingbats +FullName ITC Zapf Dingbats +FamilyName ZapfDingbats +Weight Medium +ItalicAngle 0 +IsFixedPitch false +CharacterSet Special +FontBBox -1 -143 981 820 +UnderlinePosition -100 +UnderlineThickness 50 +Version 002.000 +Notice Copyright (c) 1985, 1987, 1988, 1989, 1997 Adobe Systems Incorporated. All Rights Reserved.ITC Zapf Dingbats is a registered trademark of International Typeface Corporation. +EncodingScheme FontSpecific +StdHW 28 +StdVW 90 +StartCharMetrics 202 +C 32 ; WX 278 ; N space ; B 0 0 0 0 ; +C 33 ; WX 974 ; N a1 ; B 35 72 939 621 ; +C 34 ; WX 961 ; N a2 ; B 35 81 927 611 ; +C 35 ; WX 974 ; N a202 ; B 35 72 939 621 ; +C 36 ; WX 980 ; N a3 ; B 35 0 945 692 ; +C 37 ; WX 719 ; N a4 ; B 34 139 685 566 ; +C 38 ; WX 789 ; N a5 ; B 35 -14 755 705 ; +C 39 ; WX 790 ; N a119 ; B 35 -14 755 705 ; +C 40 ; WX 791 ; N a118 ; B 35 -13 761 705 ; +C 41 ; WX 690 ; N a117 ; B 34 138 655 553 ; +C 42 ; WX 960 ; N a11 ; B 35 123 925 568 ; +C 43 ; WX 939 ; N a12 ; B 35 134 904 559 ; +C 44 ; WX 549 ; N a13 ; B 29 -11 516 705 ; +C 45 ; WX 855 ; N a14 ; B 34 59 820 632 ; +C 46 ; WX 911 ; N a15 ; B 35 50 876 642 ; +C 47 ; WX 933 ; N a16 ; B 35 139 899 550 ; +C 48 ; WX 911 ; N a105 ; B 35 50 876 642 ; +C 49 ; WX 945 ; N a17 ; B 35 139 909 553 ; +C 50 ; WX 974 ; N a18 ; B 35 104 938 587 ; +C 51 ; WX 755 ; N a19 ; B 34 -13 721 705 ; +C 52 ; WX 846 ; N a20 ; B 36 -14 811 705 ; +C 53 ; WX 762 ; N a21 ; B 35 0 727 692 ; +C 54 ; WX 761 ; N a22 ; B 35 0 727 692 ; +C 55 ; WX 571 ; N a23 ; B -1 -68 571 661 ; +C 56 ; WX 677 ; N a24 ; B 36 -13 642 705 ; +C 57 ; WX 763 ; N a25 ; B 35 0 728 692 ; +C 58 ; WX 760 ; N a26 ; B 35 0 726 692 ; +C 59 ; WX 759 ; N a27 ; B 35 0 725 692 ; +C 60 ; WX 754 ; N a28 ; B 35 0 720 692 ; +C 61 ; WX 494 ; N a6 ; B 35 0 460 692 ; +C 62 ; WX 552 ; N a7 ; B 35 0 517 692 ; +C 63 ; WX 537 ; N a8 ; B 35 0 503 692 ; +C 64 ; WX 577 ; N a9 ; B 35 96 542 596 ; +C 65 ; WX 692 ; N a10 ; B 35 -14 657 705 ; +C 66 ; WX 786 ; N a29 ; B 35 -14 751 705 ; +C 67 ; WX 788 ; N a30 ; B 35 -14 752 705 ; +C 68 ; WX 788 ; N a31 ; B 35 -14 753 705 ; +C 69 ; WX 790 ; N a32 ; B 35 -14 756 705 ; +C 70 ; WX 793 ; N a33 ; B 35 -13 759 705 ; +C 71 ; WX 794 ; N a34 ; B 35 -13 759 705 ; +C 72 ; WX 816 ; N a35 ; B 35 -14 782 705 ; +C 73 ; WX 823 ; N a36 ; B 35 -14 787 705 ; +C 74 ; WX 789 ; N a37 ; B 35 -14 754 705 ; +C 75 ; WX 841 ; N a38 ; B 35 -14 807 705 ; +C 76 ; WX 823 ; N a39 ; B 35 -14 789 705 ; +C 77 ; WX 833 ; N a40 ; B 35 -14 798 705 ; +C 78 ; WX 816 ; N a41 ; B 35 -13 782 705 ; +C 79 ; WX 831 ; N a42 ; B 35 -14 796 705 ; +C 80 ; WX 923 ; N a43 ; B 35 -14 888 705 ; +C 81 ; WX 744 ; N a44 ; B 35 0 710 692 ; +C 82 ; WX 723 ; N a45 ; B 35 0 688 692 ; +C 83 ; WX 749 ; N a46 ; B 35 0 714 692 ; +C 84 ; WX 790 ; N a47 ; B 34 -14 756 705 ; +C 85 ; WX 792 ; N a48 ; B 35 -14 758 705 ; +C 86 ; WX 695 ; N a49 ; B 35 -14 661 706 ; +C 87 ; WX 776 ; N a50 ; B 35 -6 741 699 ; +C 88 ; WX 768 ; N a51 ; B 35 -7 734 699 ; +C 89 ; WX 792 ; N a52 ; B 35 -14 757 705 ; +C 90 ; WX 759 ; N a53 ; B 35 0 725 692 ; +C 91 ; WX 707 ; N a54 ; B 35 -13 672 704 ; +C 92 ; WX 708 ; N a55 ; B 35 -14 672 705 ; +C 93 ; WX 682 ; N a56 ; B 35 -14 647 705 ; +C 94 ; WX 701 ; N a57 ; B 35 -14 666 705 ; +C 95 ; WX 826 ; N a58 ; B 35 -14 791 705 ; +C 96 ; WX 815 ; N a59 ; B 35 -14 780 705 ; +C 97 ; WX 789 ; N a60 ; B 35 -14 754 705 ; +C 98 ; WX 789 ; N a61 ; B 35 -14 754 705 ; +C 99 ; WX 707 ; N a62 ; B 34 -14 673 705 ; +C 100 ; WX 687 ; N a63 ; B 36 0 651 692 ; +C 101 ; WX 696 ; N a64 ; B 35 0 661 691 ; +C 102 ; WX 689 ; N a65 ; B 35 0 655 692 ; +C 103 ; WX 786 ; N a66 ; B 34 -14 751 705 ; +C 104 ; WX 787 ; N a67 ; B 35 -14 752 705 ; +C 105 ; WX 713 ; N a68 ; B 35 -14 678 705 ; +C 106 ; WX 791 ; N a69 ; B 35 -14 756 705 ; +C 107 ; WX 785 ; N a70 ; B 36 -14 751 705 ; +C 108 ; WX 791 ; N a71 ; B 35 -14 757 705 ; +C 109 ; WX 873 ; N a72 ; B 35 -14 838 705 ; +C 110 ; WX 761 ; N a73 ; B 35 0 726 692 ; +C 111 ; WX 762 ; N a74 ; B 35 0 727 692 ; +C 112 ; WX 762 ; N a203 ; B 35 0 727 692 ; +C 113 ; WX 759 ; N a75 ; B 35 0 725 692 ; +C 114 ; WX 759 ; N a204 ; B 35 0 725 692 ; +C 115 ; WX 892 ; N a76 ; B 35 0 858 705 ; +C 116 ; WX 892 ; N a77 ; B 35 -14 858 692 ; +C 117 ; WX 788 ; N a78 ; B 35 -14 754 705 ; +C 118 ; WX 784 ; N a79 ; B 35 -14 749 705 ; +C 119 ; WX 438 ; N a81 ; B 35 -14 403 705 ; +C 120 ; WX 138 ; N a82 ; B 35 0 104 692 ; +C 121 ; WX 277 ; N a83 ; B 35 0 242 692 ; +C 122 ; WX 415 ; N a84 ; B 35 0 380 692 ; +C 123 ; WX 392 ; N a97 ; B 35 263 357 705 ; +C 124 ; WX 392 ; N a98 ; B 34 263 357 705 ; +C 125 ; WX 668 ; N a99 ; B 35 263 633 705 ; +C 126 ; WX 668 ; N a100 ; B 36 263 634 705 ; +C 128 ; WX 390 ; N a89 ; B 35 -14 356 705 ; +C 129 ; WX 390 ; N a90 ; B 35 -14 355 705 ; +C 130 ; WX 317 ; N a93 ; B 35 0 283 692 ; +C 131 ; WX 317 ; N a94 ; B 35 0 283 692 ; +C 132 ; WX 276 ; N a91 ; B 35 0 242 692 ; +C 133 ; WX 276 ; N a92 ; B 35 0 242 692 ; +C 134 ; WX 509 ; N a205 ; B 35 0 475 692 ; +C 135 ; WX 509 ; N a85 ; B 35 0 475 692 ; +C 136 ; WX 410 ; N a206 ; B 35 0 375 692 ; +C 137 ; WX 410 ; N a86 ; B 35 0 375 692 ; +C 138 ; WX 234 ; N a87 ; B 35 -14 199 705 ; +C 139 ; WX 234 ; N a88 ; B 35 -14 199 705 ; +C 140 ; WX 334 ; N a95 ; B 35 0 299 692 ; +C 141 ; WX 334 ; N a96 ; B 35 0 299 692 ; +C 161 ; WX 732 ; N a101 ; B 35 -143 697 806 ; +C 162 ; WX 544 ; N a102 ; B 56 -14 488 706 ; +C 163 ; WX 544 ; N a103 ; B 34 -14 508 705 ; +C 164 ; WX 910 ; N a104 ; B 35 40 875 651 ; +C 165 ; WX 667 ; N a106 ; B 35 -14 633 705 ; +C 166 ; WX 760 ; N a107 ; B 35 -14 726 705 ; +C 167 ; WX 760 ; N a108 ; B 0 121 758 569 ; +C 168 ; WX 776 ; N a112 ; B 35 0 741 705 ; +C 169 ; WX 595 ; N a111 ; B 34 -14 560 705 ; +C 170 ; WX 694 ; N a110 ; B 35 -14 659 705 ; +C 171 ; WX 626 ; N a109 ; B 34 0 591 705 ; +C 172 ; WX 788 ; N a120 ; B 35 -14 754 705 ; +C 173 ; WX 788 ; N a121 ; B 35 -14 754 705 ; +C 174 ; WX 788 ; N a122 ; B 35 -14 754 705 ; +C 175 ; WX 788 ; N a123 ; B 35 -14 754 705 ; +C 176 ; WX 788 ; N a124 ; B 35 -14 754 705 ; +C 177 ; WX 788 ; N a125 ; B 35 -14 754 705 ; +C 178 ; WX 788 ; N a126 ; B 35 -14 754 705 ; +C 179 ; WX 788 ; N a127 ; B 35 -14 754 705 ; +C 180 ; WX 788 ; N a128 ; B 35 -14 754 705 ; +C 181 ; WX 788 ; N a129 ; B 35 -14 754 705 ; +C 182 ; WX 788 ; N a130 ; B 35 -14 754 705 ; +C 183 ; WX 788 ; N a131 ; B 35 -14 754 705 ; +C 184 ; WX 788 ; N a132 ; B 35 -14 754 705 ; +C 185 ; WX 788 ; N a133 ; B 35 -14 754 705 ; +C 186 ; WX 788 ; N a134 ; B 35 -14 754 705 ; +C 187 ; WX 788 ; N a135 ; B 35 -14 754 705 ; +C 188 ; WX 788 ; N a136 ; B 35 -14 754 705 ; +C 189 ; WX 788 ; N a137 ; B 35 -14 754 705 ; +C 190 ; WX 788 ; N a138 ; B 35 -14 754 705 ; +C 191 ; WX 788 ; N a139 ; B 35 -14 754 705 ; +C 192 ; WX 788 ; N a140 ; B 35 -14 754 705 ; +C 193 ; WX 788 ; N a141 ; B 35 -14 754 705 ; +C 194 ; WX 788 ; N a142 ; B 35 -14 754 705 ; +C 195 ; WX 788 ; N a143 ; B 35 -14 754 705 ; +C 196 ; WX 788 ; N a144 ; B 35 -14 754 705 ; +C 197 ; WX 788 ; N a145 ; B 35 -14 754 705 ; +C 198 ; WX 788 ; N a146 ; B 35 -14 754 705 ; +C 199 ; WX 788 ; N a147 ; B 35 -14 754 705 ; +C 200 ; WX 788 ; N a148 ; B 35 -14 754 705 ; +C 201 ; WX 788 ; N a149 ; B 35 -14 754 705 ; +C 202 ; WX 788 ; N a150 ; B 35 -14 754 705 ; +C 203 ; WX 788 ; N a151 ; B 35 -14 754 705 ; +C 204 ; WX 788 ; N a152 ; B 35 -14 754 705 ; +C 205 ; WX 788 ; N a153 ; B 35 -14 754 705 ; +C 206 ; WX 788 ; N a154 ; B 35 -14 754 705 ; +C 207 ; WX 788 ; N a155 ; B 35 -14 754 705 ; +C 208 ; WX 788 ; N a156 ; B 35 -14 754 705 ; +C 209 ; WX 788 ; N a157 ; B 35 -14 754 705 ; +C 210 ; WX 788 ; N a158 ; B 35 -14 754 705 ; +C 211 ; WX 788 ; N a159 ; B 35 -14 754 705 ; +C 212 ; WX 894 ; N a160 ; B 35 58 860 634 ; +C 213 ; WX 838 ; N a161 ; B 35 152 803 540 ; +C 214 ; WX 1016 ; N a163 ; B 34 152 981 540 ; +C 215 ; WX 458 ; N a164 ; B 35 -127 422 820 ; +C 216 ; WX 748 ; N a196 ; B 35 94 698 597 ; +C 217 ; WX 924 ; N a165 ; B 35 140 890 552 ; +C 218 ; WX 748 ; N a192 ; B 35 94 698 597 ; +C 219 ; WX 918 ; N a166 ; B 35 166 884 526 ; +C 220 ; WX 927 ; N a167 ; B 35 32 892 660 ; +C 221 ; WX 928 ; N a168 ; B 35 129 891 562 ; +C 222 ; WX 928 ; N a169 ; B 35 128 893 563 ; +C 223 ; WX 834 ; N a170 ; B 35 155 799 537 ; +C 224 ; WX 873 ; N a171 ; B 35 93 838 599 ; +C 225 ; WX 828 ; N a172 ; B 35 104 791 588 ; +C 226 ; WX 924 ; N a173 ; B 35 98 889 594 ; +C 227 ; WX 924 ; N a162 ; B 35 98 889 594 ; +C 228 ; WX 917 ; N a174 ; B 35 0 882 692 ; +C 229 ; WX 930 ; N a175 ; B 35 84 896 608 ; +C 230 ; WX 931 ; N a176 ; B 35 84 896 608 ; +C 231 ; WX 463 ; N a177 ; B 35 -99 429 791 ; +C 232 ; WX 883 ; N a178 ; B 35 71 848 623 ; +C 233 ; WX 836 ; N a179 ; B 35 44 802 648 ; +C 234 ; WX 836 ; N a193 ; B 35 44 802 648 ; +C 235 ; WX 867 ; N a180 ; B 35 101 832 591 ; +C 236 ; WX 867 ; N a199 ; B 35 101 832 591 ; +C 237 ; WX 696 ; N a181 ; B 35 44 661 648 ; +C 238 ; WX 696 ; N a200 ; B 35 44 661 648 ; +C 239 ; WX 874 ; N a182 ; B 35 77 840 619 ; +C 241 ; WX 874 ; N a201 ; B 35 73 840 615 ; +C 242 ; WX 760 ; N a183 ; B 35 0 725 692 ; +C 243 ; WX 946 ; N a184 ; B 35 160 911 533 ; +C 244 ; WX 771 ; N a197 ; B 34 37 736 655 ; +C 245 ; WX 865 ; N a185 ; B 35 207 830 481 ; +C 246 ; WX 771 ; N a194 ; B 34 37 736 655 ; +C 247 ; WX 888 ; N a198 ; B 34 -19 853 712 ; +C 248 ; WX 967 ; N a186 ; B 35 124 932 568 ; +C 249 ; WX 888 ; N a195 ; B 34 -19 853 712 ; +C 250 ; WX 831 ; N a187 ; B 35 113 796 579 ; +C 251 ; WX 873 ; N a188 ; B 36 118 838 578 ; +C 252 ; WX 927 ; N a189 ; B 35 150 891 542 ; +C 253 ; WX 970 ; N a190 ; B 35 76 931 616 ; +C 254 ; WX 918 ; N a191 ; B 34 99 884 593 ; +EndCharMetrics +EndFontMetrics diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/PDF/default/templates/fonts/php_Courier-Bold.afm b/buildscripts/PhpDocumentor/phpDocumentor/Converters/PDF/default/templates/fonts/php_Courier-Bold.afm new file mode 100755 index 00000000..320bb21c --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/PDF/default/templates/fonts/php_Courier-Bold.afm @@ -0,0 +1 @@ +a:21:{s:8:"FontName";s:12:"Courier-Bold";s:8:"FullName";s:12:"Courier Bold";s:10:"FamilyName";s:7:"Courier";s:6:"Weight";s:4:"Bold";s:11:"ItalicAngle";s:1:"0";s:12:"IsFixedPitch";s:4:"true";s:12:"CharacterSet";s:13:"ExtendedRoman";s:8:"FontBBox";a:4:{i:0;s:4:"-113";i:1;s:4:"-250";i:2;s:3:"749";i:3;s:3:"801";}s:17:"UnderlinePosition";s:4:"-100";s:18:"UnderlineThickness";s:2:"50";s:7:"Version";s:7:"003.000";s:14:"EncodingScheme";s:21:"AdobeStandardEncoding";s:9:"CapHeight";s:3:"562";s:7:"XHeight";s:3:"439";s:8:"Ascender";s:3:"629";s:9:"Descender";s:4:"-157";s:5:"StdHW";s:2:"84";s:5:"StdVW";s:3:"106";s:16:"StartCharMetrics";s:3:"315";s:1:"C";a:464:{i:32;a:4:{s:1:"C";s:2:"32";s:2:"WX";s:3:"600";s:1:"N";s:5:"space";s:1:"B";a:4:{i:0;s:1:"0";i:1;s:1:"0";i:2;s:1:"0";i:3;s:1:"0";}}s:5:"space";a:4:{s:1:"C";s:2:"32";s:2:"WX";s:3:"600";s:1:"N";s:5:"space";s:1:"B";a:4:{i:0;s:1:"0";i:1;s:1:"0";i:2;s:1:"0";i:3;s:1:"0";}}i:33;a:4:{s:1:"C";s:2:"33";s:2:"WX";s:3:"600";s:1:"N";s:6:"exclam";s:1:"B";a:4:{i:0;s:3:"202";i:1;s:3:"-15";i:2;s:3:"398";i:3;s:3:"572";}}s:6:"exclam";a:4:{s:1:"C";s:2:"33";s:2:"WX";s:3:"600";s:1:"N";s:6:"exclam";s:1:"B";a:4:{i:0;s:3:"202";i:1;s:3:"-15";i:2;s:3:"398";i:3;s:3:"572";}}i:34;a:4:{s:1:"C";s:2:"34";s:2:"WX";s:3:"600";s:1:"N";s:8:"quotedbl";s:1:"B";a:4:{i:0;s:3:"135";i:1;s:3:"277";i:2;s:3:"465";i:3;s:3:"562";}}s:8:"quotedbl";a:4:{s:1:"C";s:2:"34";s:2:"WX";s:3:"600";s:1:"N";s:8:"quotedbl";s:1:"B";a:4:{i:0;s:3:"135";i:1;s:3:"277";i:2;s:3:"465";i:3;s:3:"562";}}i:35;a:4:{s:1:"C";s:2:"35";s:2:"WX";s:3:"600";s:1:"N";s:10:"numbersign";s:1:"B";a:4:{i:0;s:2:"56";i:1;s:3:"-45";i:2;s:3:"544";i:3;s:3:"651";}}s:10:"numbersign";a:4:{s:1:"C";s:2:"35";s:2:"WX";s:3:"600";s:1:"N";s:10:"numbersign";s:1:"B";a:4:{i:0;s:2:"56";i:1;s:3:"-45";i:2;s:3:"544";i:3;s:3:"651";}}i:36;a:4:{s:1:"C";s:2:"36";s:2:"WX";s:3:"600";s:1:"N";s:6:"dollar";s:1:"B";a:4:{i:0;s:2:"82";i:1;s:4:"-126";i:2;s:3:"519";i:3;s:3:"666";}}s:6:"dollar";a:4:{s:1:"C";s:2:"36";s:2:"WX";s:3:"600";s:1:"N";s:6:"dollar";s:1:"B";a:4:{i:0;s:2:"82";i:1;s:4:"-126";i:2;s:3:"519";i:3;s:3:"666";}}i:37;a:4:{s:1:"C";s:2:"37";s:2:"WX";s:3:"600";s:1:"N";s:7:"percent";s:1:"B";a:4:{i:0;s:1:"5";i:1;s:3:"-15";i:2;s:3:"595";i:3;s:3:"616";}}s:7:"percent";a:4:{s:1:"C";s:2:"37";s:2:"WX";s:3:"600";s:1:"N";s:7:"percent";s:1:"B";a:4:{i:0;s:1:"5";i:1;s:3:"-15";i:2;s:3:"595";i:3;s:3:"616";}}i:38;a:4:{s:1:"C";s:2:"38";s:2:"WX";s:3:"600";s:1:"N";s:9:"ampersand";s:1:"B";a:4:{i:0;s:2:"36";i:1;s:3:"-15";i:2;s:3:"546";i:3;s:3:"543";}}s:9:"ampersand";a:4:{s:1:"C";s:2:"38";s:2:"WX";s:3:"600";s:1:"N";s:9:"ampersand";s:1:"B";a:4:{i:0;s:2:"36";i:1;s:3:"-15";i:2;s:3:"546";i:3;s:3:"543";}}i:39;a:4:{s:1:"C";s:2:"39";s:2:"WX";s:3:"600";s:1:"N";s:10:"quoteright";s:1:"B";a:4:{i:0;s:3:"171";i:1;s:3:"277";i:2;s:3:"423";i:3;s:3:"562";}}s:10:"quoteright";a:4:{s:1:"C";s:2:"39";s:2:"WX";s:3:"600";s:1:"N";s:10:"quoteright";s:1:"B";a:4:{i:0;s:3:"171";i:1;s:3:"277";i:2;s:3:"423";i:3;s:3:"562";}}i:40;a:4:{s:1:"C";s:2:"40";s:2:"WX";s:3:"600";s:1:"N";s:9:"parenleft";s:1:"B";a:4:{i:0;s:3:"219";i:1;s:4:"-102";i:2;s:3:"461";i:3;s:3:"616";}}s:9:"parenleft";a:4:{s:1:"C";s:2:"40";s:2:"WX";s:3:"600";s:1:"N";s:9:"parenleft";s:1:"B";a:4:{i:0;s:3:"219";i:1;s:4:"-102";i:2;s:3:"461";i:3;s:3:"616";}}i:41;a:4:{s:1:"C";s:2:"41";s:2:"WX";s:3:"600";s:1:"N";s:10:"parenright";s:1:"B";a:4:{i:0;s:3:"139";i:1;s:4:"-102";i:2;s:3:"381";i:3;s:3:"616";}}s:10:"parenright";a:4:{s:1:"C";s:2:"41";s:2:"WX";s:3:"600";s:1:"N";s:10:"parenright";s:1:"B";a:4:{i:0;s:3:"139";i:1;s:4:"-102";i:2;s:3:"381";i:3;s:3:"616";}}i:42;a:4:{s:1:"C";s:2:"42";s:2:"WX";s:3:"600";s:1:"N";s:8:"asterisk";s:1:"B";a:4:{i:0;s:2:"91";i:1;s:3:"219";i:2;s:3:"509";i:3;s:3:"601";}}s:8:"asterisk";a:4:{s:1:"C";s:2:"42";s:2:"WX";s:3:"600";s:1:"N";s:8:"asterisk";s:1:"B";a:4:{i:0;s:2:"91";i:1;s:3:"219";i:2;s:3:"509";i:3;s:3:"601";}}i:43;a:4:{s:1:"C";s:2:"43";s:2:"WX";s:3:"600";s:1:"N";s:4:"plus";s:1:"B";a:4:{i:0;s:2:"71";i:1;s:2:"39";i:2;s:3:"529";i:3;s:3:"478";}}s:4:"plus";a:4:{s:1:"C";s:2:"43";s:2:"WX";s:3:"600";s:1:"N";s:4:"plus";s:1:"B";a:4:{i:0;s:2:"71";i:1;s:2:"39";i:2;s:3:"529";i:3;s:3:"478";}}i:44;a:4:{s:1:"C";s:2:"44";s:2:"WX";s:3:"600";s:1:"N";s:5:"comma";s:1:"B";a:4:{i:0;s:3:"123";i:1;s:4:"-111";i:2;s:3:"393";i:3;s:3:"174";}}s:5:"comma";a:4:{s:1:"C";s:2:"44";s:2:"WX";s:3:"600";s:1:"N";s:5:"comma";s:1:"B";a:4:{i:0;s:3:"123";i:1;s:4:"-111";i:2;s:3:"393";i:3;s:3:"174";}}i:45;a:4:{s:1:"C";s:2:"45";s:2:"WX";s:3:"600";s:1:"N";s:6:"hyphen";s:1:"B";a:4:{i:0;s:3:"100";i:1;s:3:"203";i:2;s:3:"500";i:3;s:3:"313";}}s:6:"hyphen";a:4:{s:1:"C";s:2:"45";s:2:"WX";s:3:"600";s:1:"N";s:6:"hyphen";s:1:"B";a:4:{i:0;s:3:"100";i:1;s:3:"203";i:2;s:3:"500";i:3;s:3:"313";}}i:46;a:4:{s:1:"C";s:2:"46";s:2:"WX";s:3:"600";s:1:"N";s:6:"period";s:1:"B";a:4:{i:0;s:3:"192";i:1;s:3:"-15";i:2;s:3:"408";i:3;s:3:"171";}}s:6:"period";a:4:{s:1:"C";s:2:"46";s:2:"WX";s:3:"600";s:1:"N";s:6:"period";s:1:"B";a:4:{i:0;s:3:"192";i:1;s:3:"-15";i:2;s:3:"408";i:3;s:3:"171";}}i:47;a:4:{s:1:"C";s:2:"47";s:2:"WX";s:3:"600";s:1:"N";s:5:"slash";s:1:"B";a:4:{i:0;s:2:"98";i:1;s:3:"-77";i:2;s:3:"502";i:3;s:3:"626";}}s:5:"slash";a:4:{s:1:"C";s:2:"47";s:2:"WX";s:3:"600";s:1:"N";s:5:"slash";s:1:"B";a:4:{i:0;s:2:"98";i:1;s:3:"-77";i:2;s:3:"502";i:3;s:3:"626";}}i:48;a:4:{s:1:"C";s:2:"48";s:2:"WX";s:3:"600";s:1:"N";s:4:"zero";s:1:"B";a:4:{i:0;s:2:"87";i:1;s:3:"-15";i:2;s:3:"513";i:3;s:3:"616";}}s:4:"zero";a:4:{s:1:"C";s:2:"48";s:2:"WX";s:3:"600";s:1:"N";s:4:"zero";s:1:"B";a:4:{i:0;s:2:"87";i:1;s:3:"-15";i:2;s:3:"513";i:3;s:3:"616";}}i:49;a:4:{s:1:"C";s:2:"49";s:2:"WX";s:3:"600";s:1:"N";s:3:"one";s:1:"B";a:4:{i:0;s:2:"81";i:1;s:1:"0";i:2;s:3:"539";i:3;s:3:"616";}}s:3:"one";a:4:{s:1:"C";s:2:"49";s:2:"WX";s:3:"600";s:1:"N";s:3:"one";s:1:"B";a:4:{i:0;s:2:"81";i:1;s:1:"0";i:2;s:3:"539";i:3;s:3:"616";}}i:50;a:4:{s:1:"C";s:2:"50";s:2:"WX";s:3:"600";s:1:"N";s:3:"two";s:1:"B";a:4:{i:0;s:2:"61";i:1;s:1:"0";i:2;s:3:"499";i:3;s:3:"616";}}s:3:"two";a:4:{s:1:"C";s:2:"50";s:2:"WX";s:3:"600";s:1:"N";s:3:"two";s:1:"B";a:4:{i:0;s:2:"61";i:1;s:1:"0";i:2;s:3:"499";i:3;s:3:"616";}}i:51;a:4:{s:1:"C";s:2:"51";s:2:"WX";s:3:"600";s:1:"N";s:5:"three";s:1:"B";a:4:{i:0;s:2:"63";i:1;s:3:"-15";i:2;s:3:"501";i:3;s:3:"616";}}s:5:"three";a:4:{s:1:"C";s:2:"51";s:2:"WX";s:3:"600";s:1:"N";s:5:"three";s:1:"B";a:4:{i:0;s:2:"63";i:1;s:3:"-15";i:2;s:3:"501";i:3;s:3:"616";}}i:52;a:4:{s:1:"C";s:2:"52";s:2:"WX";s:3:"600";s:1:"N";s:4:"four";s:1:"B";a:4:{i:0;s:2:"53";i:1;s:1:"0";i:2;s:3:"507";i:3;s:3:"616";}}s:4:"four";a:4:{s:1:"C";s:2:"52";s:2:"WX";s:3:"600";s:1:"N";s:4:"four";s:1:"B";a:4:{i:0;s:2:"53";i:1;s:1:"0";i:2;s:3:"507";i:3;s:3:"616";}}i:53;a:4:{s:1:"C";s:2:"53";s:2:"WX";s:3:"600";s:1:"N";s:4:"five";s:1:"B";a:4:{i:0;s:2:"70";i:1;s:3:"-15";i:2;s:3:"521";i:3;s:3:"601";}}s:4:"five";a:4:{s:1:"C";s:2:"53";s:2:"WX";s:3:"600";s:1:"N";s:4:"five";s:1:"B";a:4:{i:0;s:2:"70";i:1;s:3:"-15";i:2;s:3:"521";i:3;s:3:"601";}}i:54;a:4:{s:1:"C";s:2:"54";s:2:"WX";s:3:"600";s:1:"N";s:3:"six";s:1:"B";a:4:{i:0;s:2:"90";i:1;s:3:"-15";i:2;s:3:"521";i:3;s:3:"616";}}s:3:"six";a:4:{s:1:"C";s:2:"54";s:2:"WX";s:3:"600";s:1:"N";s:3:"six";s:1:"B";a:4:{i:0;s:2:"90";i:1;s:3:"-15";i:2;s:3:"521";i:3;s:3:"616";}}i:55;a:4:{s:1:"C";s:2:"55";s:2:"WX";s:3:"600";s:1:"N";s:5:"seven";s:1:"B";a:4:{i:0;s:2:"55";i:1;s:1:"0";i:2;s:3:"494";i:3;s:3:"601";}}s:5:"seven";a:4:{s:1:"C";s:2:"55";s:2:"WX";s:3:"600";s:1:"N";s:5:"seven";s:1:"B";a:4:{i:0;s:2:"55";i:1;s:1:"0";i:2;s:3:"494";i:3;s:3:"601";}}i:56;a:4:{s:1:"C";s:2:"56";s:2:"WX";s:3:"600";s:1:"N";s:5:"eight";s:1:"B";a:4:{i:0;s:2:"83";i:1;s:3:"-15";i:2;s:3:"517";i:3;s:3:"616";}}s:5:"eight";a:4:{s:1:"C";s:2:"56";s:2:"WX";s:3:"600";s:1:"N";s:5:"eight";s:1:"B";a:4:{i:0;s:2:"83";i:1;s:3:"-15";i:2;s:3:"517";i:3;s:3:"616";}}i:57;a:4:{s:1:"C";s:2:"57";s:2:"WX";s:3:"600";s:1:"N";s:4:"nine";s:1:"B";a:4:{i:0;s:2:"79";i:1;s:3:"-15";i:2;s:3:"510";i:3;s:3:"616";}}s:4:"nine";a:4:{s:1:"C";s:2:"57";s:2:"WX";s:3:"600";s:1:"N";s:4:"nine";s:1:"B";a:4:{i:0;s:2:"79";i:1;s:3:"-15";i:2;s:3:"510";i:3;s:3:"616";}}i:58;a:4:{s:1:"C";s:2:"58";s:2:"WX";s:3:"600";s:1:"N";s:5:"colon";s:1:"B";a:4:{i:0;s:3:"191";i:1;s:3:"-15";i:2;s:3:"407";i:3;s:3:"425";}}s:5:"colon";a:4:{s:1:"C";s:2:"58";s:2:"WX";s:3:"600";s:1:"N";s:5:"colon";s:1:"B";a:4:{i:0;s:3:"191";i:1;s:3:"-15";i:2;s:3:"407";i:3;s:3:"425";}}i:59;a:4:{s:1:"C";s:2:"59";s:2:"WX";s:3:"600";s:1:"N";s:9:"semicolon";s:1:"B";a:4:{i:0;s:3:"123";i:1;s:4:"-111";i:2;s:3:"408";i:3;s:3:"425";}}s:9:"semicolon";a:4:{s:1:"C";s:2:"59";s:2:"WX";s:3:"600";s:1:"N";s:9:"semicolon";s:1:"B";a:4:{i:0;s:3:"123";i:1;s:4:"-111";i:2;s:3:"408";i:3;s:3:"425";}}i:60;a:4:{s:1:"C";s:2:"60";s:2:"WX";s:3:"600";s:1:"N";s:4:"less";s:1:"B";a:4:{i:0;s:2:"66";i:1;s:2:"15";i:2;s:3:"523";i:3;s:3:"501";}}s:4:"less";a:4:{s:1:"C";s:2:"60";s:2:"WX";s:3:"600";s:1:"N";s:4:"less";s:1:"B";a:4:{i:0;s:2:"66";i:1;s:2:"15";i:2;s:3:"523";i:3;s:3:"501";}}i:61;a:4:{s:1:"C";s:2:"61";s:2:"WX";s:3:"600";s:1:"N";s:5:"equal";s:1:"B";a:4:{i:0;s:2:"71";i:1;s:3:"118";i:2;s:3:"529";i:3;s:3:"398";}}s:5:"equal";a:4:{s:1:"C";s:2:"61";s:2:"WX";s:3:"600";s:1:"N";s:5:"equal";s:1:"B";a:4:{i:0;s:2:"71";i:1;s:3:"118";i:2;s:3:"529";i:3;s:3:"398";}}i:62;a:4:{s:1:"C";s:2:"62";s:2:"WX";s:3:"600";s:1:"N";s:7:"greater";s:1:"B";a:4:{i:0;s:2:"77";i:1;s:2:"15";i:2;s:3:"534";i:3;s:3:"501";}}s:7:"greater";a:4:{s:1:"C";s:2:"62";s:2:"WX";s:3:"600";s:1:"N";s:7:"greater";s:1:"B";a:4:{i:0;s:2:"77";i:1;s:2:"15";i:2;s:3:"534";i:3;s:3:"501";}}i:63;a:4:{s:1:"C";s:2:"63";s:2:"WX";s:3:"600";s:1:"N";s:8:"question";s:1:"B";a:4:{i:0;s:2:"98";i:1;s:3:"-14";i:2;s:3:"501";i:3;s:3:"580";}}s:8:"question";a:4:{s:1:"C";s:2:"63";s:2:"WX";s:3:"600";s:1:"N";s:8:"question";s:1:"B";a:4:{i:0;s:2:"98";i:1;s:3:"-14";i:2;s:3:"501";i:3;s:3:"580";}}i:64;a:4:{s:1:"C";s:2:"64";s:2:"WX";s:3:"600";s:1:"N";s:2:"at";s:1:"B";a:4:{i:0;s:2:"16";i:1;s:3:"-15";i:2;s:3:"584";i:3;s:3:"616";}}s:2:"at";a:4:{s:1:"C";s:2:"64";s:2:"WX";s:3:"600";s:1:"N";s:2:"at";s:1:"B";a:4:{i:0;s:2:"16";i:1;s:3:"-15";i:2;s:3:"584";i:3;s:3:"616";}}i:65;a:4:{s:1:"C";s:2:"65";s:2:"WX";s:3:"600";s:1:"N";s:1:"A";s:1:"B";a:4:{i:0;s:2:"-9";i:1;s:1:"0";i:2;s:3:"609";i:3;s:3:"562";}}s:1:"A";a:4:{s:1:"C";s:2:"65";s:2:"WX";s:3:"600";s:1:"N";s:1:"A";s:1:"B";a:4:{i:0;s:2:"-9";i:1;s:1:"0";i:2;s:3:"609";i:3;s:3:"562";}}i:66;a:4:{s:1:"C";s:2:"66";s:2:"WX";s:3:"600";s:1:"N";s:1:"B";s:1:"B";a:4:{i:0;s:2:"30";i:1;s:1:"0";i:2;s:3:"573";i:3;s:3:"562";}}s:1:"B";a:4:{s:1:"C";s:2:"66";s:2:"WX";s:3:"600";s:1:"N";s:1:"B";s:1:"B";a:4:{i:0;s:2:"30";i:1;s:1:"0";i:2;s:3:"573";i:3;s:3:"562";}}i:67;a:4:{s:1:"C";s:2:"67";s:2:"WX";s:3:"600";s:1:"N";s:1:"C";s:1:"B";a:4:{i:0;s:2:"22";i:1;s:3:"-18";i:2;s:3:"560";i:3;s:3:"580";}}s:1:"C";a:4:{s:1:"C";s:2:"67";s:2:"WX";s:3:"600";s:1:"N";s:1:"C";s:1:"B";a:4:{i:0;s:2:"22";i:1;s:3:"-18";i:2;s:3:"560";i:3;s:3:"580";}}i:68;a:4:{s:1:"C";s:2:"68";s:2:"WX";s:3:"600";s:1:"N";s:1:"D";s:1:"B";a:4:{i:0;s:2:"30";i:1;s:1:"0";i:2;s:3:"594";i:3;s:3:"562";}}s:1:"D";a:4:{s:1:"C";s:2:"68";s:2:"WX";s:3:"600";s:1:"N";s:1:"D";s:1:"B";a:4:{i:0;s:2:"30";i:1;s:1:"0";i:2;s:3:"594";i:3;s:3:"562";}}i:69;a:4:{s:1:"C";s:2:"69";s:2:"WX";s:3:"600";s:1:"N";s:1:"E";s:1:"B";a:4:{i:0;s:2:"25";i:1;s:1:"0";i:2;s:3:"560";i:3;s:3:"562";}}s:1:"E";a:4:{s:1:"C";s:2:"69";s:2:"WX";s:3:"600";s:1:"N";s:1:"E";s:1:"B";a:4:{i:0;s:2:"25";i:1;s:1:"0";i:2;s:3:"560";i:3;s:3:"562";}}i:70;a:4:{s:1:"C";s:2:"70";s:2:"WX";s:3:"600";s:1:"N";s:1:"F";s:1:"B";a:4:{i:0;s:2:"39";i:1;s:1:"0";i:2;s:3:"570";i:3;s:3:"562";}}s:1:"F";a:4:{s:1:"C";s:2:"70";s:2:"WX";s:3:"600";s:1:"N";s:1:"F";s:1:"B";a:4:{i:0;s:2:"39";i:1;s:1:"0";i:2;s:3:"570";i:3;s:3:"562";}}i:71;a:4:{s:1:"C";s:2:"71";s:2:"WX";s:3:"600";s:1:"N";s:1:"G";s:1:"B";a:4:{i:0;s:2:"22";i:1;s:3:"-18";i:2;s:3:"594";i:3;s:3:"580";}}s:1:"G";a:4:{s:1:"C";s:2:"71";s:2:"WX";s:3:"600";s:1:"N";s:1:"G";s:1:"B";a:4:{i:0;s:2:"22";i:1;s:3:"-18";i:2;s:3:"594";i:3;s:3:"580";}}i:72;a:4:{s:1:"C";s:2:"72";s:2:"WX";s:3:"600";s:1:"N";s:1:"H";s:1:"B";a:4:{i:0;s:2:"20";i:1;s:1:"0";i:2;s:3:"580";i:3;s:3:"562";}}s:1:"H";a:4:{s:1:"C";s:2:"72";s:2:"WX";s:3:"600";s:1:"N";s:1:"H";s:1:"B";a:4:{i:0;s:2:"20";i:1;s:1:"0";i:2;s:3:"580";i:3;s:3:"562";}}i:73;a:4:{s:1:"C";s:2:"73";s:2:"WX";s:3:"600";s:1:"N";s:1:"I";s:1:"B";a:4:{i:0;s:2:"77";i:1;s:1:"0";i:2;s:3:"523";i:3;s:3:"562";}}s:1:"I";a:4:{s:1:"C";s:2:"73";s:2:"WX";s:3:"600";s:1:"N";s:1:"I";s:1:"B";a:4:{i:0;s:2:"77";i:1;s:1:"0";i:2;s:3:"523";i:3;s:3:"562";}}i:74;a:4:{s:1:"C";s:2:"74";s:2:"WX";s:3:"600";s:1:"N";s:1:"J";s:1:"B";a:4:{i:0;s:2:"37";i:1;s:3:"-18";i:2;s:3:"601";i:3;s:3:"562";}}s:1:"J";a:4:{s:1:"C";s:2:"74";s:2:"WX";s:3:"600";s:1:"N";s:1:"J";s:1:"B";a:4:{i:0;s:2:"37";i:1;s:3:"-18";i:2;s:3:"601";i:3;s:3:"562";}}i:75;a:4:{s:1:"C";s:2:"75";s:2:"WX";s:3:"600";s:1:"N";s:1:"K";s:1:"B";a:4:{i:0;s:2:"21";i:1;s:1:"0";i:2;s:3:"599";i:3;s:3:"562";}}s:1:"K";a:4:{s:1:"C";s:2:"75";s:2:"WX";s:3:"600";s:1:"N";s:1:"K";s:1:"B";a:4:{i:0;s:2:"21";i:1;s:1:"0";i:2;s:3:"599";i:3;s:3:"562";}}i:76;a:4:{s:1:"C";s:2:"76";s:2:"WX";s:3:"600";s:1:"N";s:1:"L";s:1:"B";a:4:{i:0;s:2:"39";i:1;s:1:"0";i:2;s:3:"578";i:3;s:3:"562";}}s:1:"L";a:4:{s:1:"C";s:2:"76";s:2:"WX";s:3:"600";s:1:"N";s:1:"L";s:1:"B";a:4:{i:0;s:2:"39";i:1;s:1:"0";i:2;s:3:"578";i:3;s:3:"562";}}i:77;a:4:{s:1:"C";s:2:"77";s:2:"WX";s:3:"600";s:1:"N";s:1:"M";s:1:"B";a:4:{i:0;s:2:"-2";i:1;s:1:"0";i:2;s:3:"602";i:3;s:3:"562";}}s:1:"M";a:4:{s:1:"C";s:2:"77";s:2:"WX";s:3:"600";s:1:"N";s:1:"M";s:1:"B";a:4:{i:0;s:2:"-2";i:1;s:1:"0";i:2;s:3:"602";i:3;s:3:"562";}}i:78;a:4:{s:1:"C";s:2:"78";s:2:"WX";s:3:"600";s:1:"N";s:1:"N";s:1:"B";a:4:{i:0;s:1:"8";i:1;s:3:"-12";i:2;s:3:"610";i:3;s:3:"562";}}s:1:"N";a:4:{s:1:"C";s:2:"78";s:2:"WX";s:3:"600";s:1:"N";s:1:"N";s:1:"B";a:4:{i:0;s:1:"8";i:1;s:3:"-12";i:2;s:3:"610";i:3;s:3:"562";}}i:79;a:4:{s:1:"C";s:2:"79";s:2:"WX";s:3:"600";s:1:"N";s:1:"O";s:1:"B";a:4:{i:0;s:2:"22";i:1;s:3:"-18";i:2;s:3:"578";i:3;s:3:"580";}}s:1:"O";a:4:{s:1:"C";s:2:"79";s:2:"WX";s:3:"600";s:1:"N";s:1:"O";s:1:"B";a:4:{i:0;s:2:"22";i:1;s:3:"-18";i:2;s:3:"578";i:3;s:3:"580";}}i:80;a:4:{s:1:"C";s:2:"80";s:2:"WX";s:3:"600";s:1:"N";s:1:"P";s:1:"B";a:4:{i:0;s:2:"48";i:1;s:1:"0";i:2;s:3:"559";i:3;s:3:"562";}}s:1:"P";a:4:{s:1:"C";s:2:"80";s:2:"WX";s:3:"600";s:1:"N";s:1:"P";s:1:"B";a:4:{i:0;s:2:"48";i:1;s:1:"0";i:2;s:3:"559";i:3;s:3:"562";}}i:81;a:4:{s:1:"C";s:2:"81";s:2:"WX";s:3:"600";s:1:"N";s:1:"Q";s:1:"B";a:4:{i:0;s:2:"32";i:1;s:4:"-138";i:2;s:3:"578";i:3;s:3:"580";}}s:1:"Q";a:4:{s:1:"C";s:2:"81";s:2:"WX";s:3:"600";s:1:"N";s:1:"Q";s:1:"B";a:4:{i:0;s:2:"32";i:1;s:4:"-138";i:2;s:3:"578";i:3;s:3:"580";}}i:82;a:4:{s:1:"C";s:2:"82";s:2:"WX";s:3:"600";s:1:"N";s:1:"R";s:1:"B";a:4:{i:0;s:2:"24";i:1;s:1:"0";i:2;s:3:"599";i:3;s:3:"562";}}s:1:"R";a:4:{s:1:"C";s:2:"82";s:2:"WX";s:3:"600";s:1:"N";s:1:"R";s:1:"B";a:4:{i:0;s:2:"24";i:1;s:1:"0";i:2;s:3:"599";i:3;s:3:"562";}}i:83;a:4:{s:1:"C";s:2:"83";s:2:"WX";s:3:"600";s:1:"N";s:1:"S";s:1:"B";a:4:{i:0;s:2:"47";i:1;s:3:"-22";i:2;s:3:"553";i:3;s:3:"582";}}s:1:"S";a:4:{s:1:"C";s:2:"83";s:2:"WX";s:3:"600";s:1:"N";s:1:"S";s:1:"B";a:4:{i:0;s:2:"47";i:1;s:3:"-22";i:2;s:3:"553";i:3;s:3:"582";}}i:84;a:4:{s:1:"C";s:2:"84";s:2:"WX";s:3:"600";s:1:"N";s:1:"T";s:1:"B";a:4:{i:0;s:2:"21";i:1;s:1:"0";i:2;s:3:"579";i:3;s:3:"562";}}s:1:"T";a:4:{s:1:"C";s:2:"84";s:2:"WX";s:3:"600";s:1:"N";s:1:"T";s:1:"B";a:4:{i:0;s:2:"21";i:1;s:1:"0";i:2;s:3:"579";i:3;s:3:"562";}}i:85;a:4:{s:1:"C";s:2:"85";s:2:"WX";s:3:"600";s:1:"N";s:1:"U";s:1:"B";a:4:{i:0;s:1:"4";i:1;s:3:"-18";i:2;s:3:"596";i:3;s:3:"562";}}s:1:"U";a:4:{s:1:"C";s:2:"85";s:2:"WX";s:3:"600";s:1:"N";s:1:"U";s:1:"B";a:4:{i:0;s:1:"4";i:1;s:3:"-18";i:2;s:3:"596";i:3;s:3:"562";}}i:86;a:4:{s:1:"C";s:2:"86";s:2:"WX";s:3:"600";s:1:"N";s:1:"V";s:1:"B";a:4:{i:0;s:3:"-13";i:1;s:1:"0";i:2;s:3:"613";i:3;s:3:"562";}}s:1:"V";a:4:{s:1:"C";s:2:"86";s:2:"WX";s:3:"600";s:1:"N";s:1:"V";s:1:"B";a:4:{i:0;s:3:"-13";i:1;s:1:"0";i:2;s:3:"613";i:3;s:3:"562";}}i:87;a:4:{s:1:"C";s:2:"87";s:2:"WX";s:3:"600";s:1:"N";s:1:"W";s:1:"B";a:4:{i:0;s:3:"-18";i:1;s:1:"0";i:2;s:3:"618";i:3;s:3:"562";}}s:1:"W";a:4:{s:1:"C";s:2:"87";s:2:"WX";s:3:"600";s:1:"N";s:1:"W";s:1:"B";a:4:{i:0;s:3:"-18";i:1;s:1:"0";i:2;s:3:"618";i:3;s:3:"562";}}i:88;a:4:{s:1:"C";s:2:"88";s:2:"WX";s:3:"600";s:1:"N";s:1:"X";s:1:"B";a:4:{i:0;s:2:"12";i:1;s:1:"0";i:2;s:3:"588";i:3;s:3:"562";}}s:1:"X";a:4:{s:1:"C";s:2:"88";s:2:"WX";s:3:"600";s:1:"N";s:1:"X";s:1:"B";a:4:{i:0;s:2:"12";i:1;s:1:"0";i:2;s:3:"588";i:3;s:3:"562";}}i:89;a:4:{s:1:"C";s:2:"89";s:2:"WX";s:3:"600";s:1:"N";s:1:"Y";s:1:"B";a:4:{i:0;s:2:"12";i:1;s:1:"0";i:2;s:3:"589";i:3;s:3:"562";}}s:1:"Y";a:4:{s:1:"C";s:2:"89";s:2:"WX";s:3:"600";s:1:"N";s:1:"Y";s:1:"B";a:4:{i:0;s:2:"12";i:1;s:1:"0";i:2;s:3:"589";i:3;s:3:"562";}}i:90;a:4:{s:1:"C";s:2:"90";s:2:"WX";s:3:"600";s:1:"N";s:1:"Z";s:1:"B";a:4:{i:0;s:2:"62";i:1;s:1:"0";i:2;s:3:"539";i:3;s:3:"562";}}s:1:"Z";a:4:{s:1:"C";s:2:"90";s:2:"WX";s:3:"600";s:1:"N";s:1:"Z";s:1:"B";a:4:{i:0;s:2:"62";i:1;s:1:"0";i:2;s:3:"539";i:3;s:3:"562";}}i:91;a:4:{s:1:"C";s:2:"91";s:2:"WX";s:3:"600";s:1:"N";s:11:"bracketleft";s:1:"B";a:4:{i:0;s:3:"245";i:1;s:4:"-102";i:2;s:3:"475";i:3;s:3:"616";}}s:11:"bracketleft";a:4:{s:1:"C";s:2:"91";s:2:"WX";s:3:"600";s:1:"N";s:11:"bracketleft";s:1:"B";a:4:{i:0;s:3:"245";i:1;s:4:"-102";i:2;s:3:"475";i:3;s:3:"616";}}i:92;a:4:{s:1:"C";s:2:"92";s:2:"WX";s:3:"600";s:1:"N";s:9:"backslash";s:1:"B";a:4:{i:0;s:2:"99";i:1;s:3:"-77";i:2;s:3:"503";i:3;s:3:"626";}}s:9:"backslash";a:4:{s:1:"C";s:2:"92";s:2:"WX";s:3:"600";s:1:"N";s:9:"backslash";s:1:"B";a:4:{i:0;s:2:"99";i:1;s:3:"-77";i:2;s:3:"503";i:3;s:3:"626";}}i:93;a:4:{s:1:"C";s:2:"93";s:2:"WX";s:3:"600";s:1:"N";s:12:"bracketright";s:1:"B";a:4:{i:0;s:3:"125";i:1;s:4:"-102";i:2;s:3:"355";i:3;s:3:"616";}}s:12:"bracketright";a:4:{s:1:"C";s:2:"93";s:2:"WX";s:3:"600";s:1:"N";s:12:"bracketright";s:1:"B";a:4:{i:0;s:3:"125";i:1;s:4:"-102";i:2;s:3:"355";i:3;s:3:"616";}}i:94;a:4:{s:1:"C";s:2:"94";s:2:"WX";s:3:"600";s:1:"N";s:11:"asciicircum";s:1:"B";a:4:{i:0;s:3:"108";i:1;s:3:"250";i:2;s:3:"492";i:3;s:3:"616";}}s:11:"asciicircum";a:4:{s:1:"C";s:2:"94";s:2:"WX";s:3:"600";s:1:"N";s:11:"asciicircum";s:1:"B";a:4:{i:0;s:3:"108";i:1;s:3:"250";i:2;s:3:"492";i:3;s:3:"616";}}i:95;a:4:{s:1:"C";s:2:"95";s:2:"WX";s:3:"600";s:1:"N";s:10:"underscore";s:1:"B";a:4:{i:0;s:1:"0";i:1;s:4:"-125";i:2;s:3:"600";i:3;s:3:"-75";}}s:10:"underscore";a:4:{s:1:"C";s:2:"95";s:2:"WX";s:3:"600";s:1:"N";s:10:"underscore";s:1:"B";a:4:{i:0;s:1:"0";i:1;s:4:"-125";i:2;s:3:"600";i:3;s:3:"-75";}}i:96;a:4:{s:1:"C";s:2:"96";s:2:"WX";s:3:"600";s:1:"N";s:9:"quoteleft";s:1:"B";a:4:{i:0;s:3:"178";i:1;s:3:"277";i:2;s:3:"428";i:3;s:3:"562";}}s:9:"quoteleft";a:4:{s:1:"C";s:2:"96";s:2:"WX";s:3:"600";s:1:"N";s:9:"quoteleft";s:1:"B";a:4:{i:0;s:3:"178";i:1;s:3:"277";i:2;s:3:"428";i:3;s:3:"562";}}i:97;a:4:{s:1:"C";s:2:"97";s:2:"WX";s:3:"600";s:1:"N";s:1:"a";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:3:"-15";i:2;s:3:"570";i:3;s:3:"454";}}s:1:"a";a:4:{s:1:"C";s:2:"97";s:2:"WX";s:3:"600";s:1:"N";s:1:"a";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:3:"-15";i:2;s:3:"570";i:3;s:3:"454";}}i:98;a:4:{s:1:"C";s:2:"98";s:2:"WX";s:3:"600";s:1:"N";s:1:"b";s:1:"B";a:4:{i:0;s:1:"0";i:1;s:3:"-15";i:2;s:3:"584";i:3;s:3:"626";}}s:1:"b";a:4:{s:1:"C";s:2:"98";s:2:"WX";s:3:"600";s:1:"N";s:1:"b";s:1:"B";a:4:{i:0;s:1:"0";i:1;s:3:"-15";i:2;s:3:"584";i:3;s:3:"626";}}i:99;a:4:{s:1:"C";s:2:"99";s:2:"WX";s:3:"600";s:1:"N";s:1:"c";s:1:"B";a:4:{i:0;s:2:"40";i:1;s:3:"-15";i:2;s:3:"545";i:3;s:3:"459";}}s:1:"c";a:4:{s:1:"C";s:2:"99";s:2:"WX";s:3:"600";s:1:"N";s:1:"c";s:1:"B";a:4:{i:0;s:2:"40";i:1;s:3:"-15";i:2;s:3:"545";i:3;s:3:"459";}}i:100;a:4:{s:1:"C";s:3:"100";s:2:"WX";s:3:"600";s:1:"N";s:1:"d";s:1:"B";a:4:{i:0;s:2:"20";i:1;s:3:"-15";i:2;s:3:"591";i:3;s:3:"626";}}s:1:"d";a:4:{s:1:"C";s:3:"100";s:2:"WX";s:3:"600";s:1:"N";s:1:"d";s:1:"B";a:4:{i:0;s:2:"20";i:1;s:3:"-15";i:2;s:3:"591";i:3;s:3:"626";}}i:101;a:4:{s:1:"C";s:3:"101";s:2:"WX";s:3:"600";s:1:"N";s:1:"e";s:1:"B";a:4:{i:0;s:2:"40";i:1;s:3:"-15";i:2;s:3:"563";i:3;s:3:"454";}}s:1:"e";a:4:{s:1:"C";s:3:"101";s:2:"WX";s:3:"600";s:1:"N";s:1:"e";s:1:"B";a:4:{i:0;s:2:"40";i:1;s:3:"-15";i:2;s:3:"563";i:3;s:3:"454";}}i:102;a:5:{s:1:"C";s:3:"102";s:2:"WX";s:3:"600";s:1:"N";s:1:"f";s:1:"B";a:4:{i:0;s:2:"83";i:1;s:1:"0";i:2;s:3:"547";i:3;s:3:"626";}s:1:"L";a:2:{i:0;s:1:"l";i:1;s:2:"fl";}}s:1:"f";a:5:{s:1:"C";s:3:"102";s:2:"WX";s:3:"600";s:1:"N";s:1:"f";s:1:"B";a:4:{i:0;s:2:"83";i:1;s:1:"0";i:2;s:3:"547";i:3;s:3:"626";}s:1:"L";a:2:{i:0;s:1:"l";i:1;s:2:"fl";}}i:103;a:4:{s:1:"C";s:3:"103";s:2:"WX";s:3:"600";s:1:"N";s:1:"g";s:1:"B";a:4:{i:0;s:2:"30";i:1;s:4:"-146";i:2;s:3:"580";i:3;s:3:"454";}}s:1:"g";a:4:{s:1:"C";s:3:"103";s:2:"WX";s:3:"600";s:1:"N";s:1:"g";s:1:"B";a:4:{i:0;s:2:"30";i:1;s:4:"-146";i:2;s:3:"580";i:3;s:3:"454";}}i:104;a:4:{s:1:"C";s:3:"104";s:2:"WX";s:3:"600";s:1:"N";s:1:"h";s:1:"B";a:4:{i:0;s:1:"5";i:1;s:1:"0";i:2;s:3:"592";i:3;s:3:"626";}}s:1:"h";a:4:{s:1:"C";s:3:"104";s:2:"WX";s:3:"600";s:1:"N";s:1:"h";s:1:"B";a:4:{i:0;s:1:"5";i:1;s:1:"0";i:2;s:3:"592";i:3;s:3:"626";}}i:105;a:4:{s:1:"C";s:3:"105";s:2:"WX";s:3:"600";s:1:"N";s:1:"i";s:1:"B";a:4:{i:0;s:2:"77";i:1;s:1:"0";i:2;s:3:"523";i:3;s:3:"658";}}s:1:"i";a:4:{s:1:"C";s:3:"105";s:2:"WX";s:3:"600";s:1:"N";s:1:"i";s:1:"B";a:4:{i:0;s:2:"77";i:1;s:1:"0";i:2;s:3:"523";i:3;s:3:"658";}}i:106;a:4:{s:1:"C";s:3:"106";s:2:"WX";s:3:"600";s:1:"N";s:1:"j";s:1:"B";a:4:{i:0;s:2:"63";i:1;s:4:"-146";i:2;s:3:"440";i:3;s:3:"658";}}s:1:"j";a:4:{s:1:"C";s:3:"106";s:2:"WX";s:3:"600";s:1:"N";s:1:"j";s:1:"B";a:4:{i:0;s:2:"63";i:1;s:4:"-146";i:2;s:3:"440";i:3;s:3:"658";}}i:107;a:4:{s:1:"C";s:3:"107";s:2:"WX";s:3:"600";s:1:"N";s:1:"k";s:1:"B";a:4:{i:0;s:2:"20";i:1;s:1:"0";i:2;s:3:"585";i:3;s:3:"626";}}s:1:"k";a:4:{s:1:"C";s:3:"107";s:2:"WX";s:3:"600";s:1:"N";s:1:"k";s:1:"B";a:4:{i:0;s:2:"20";i:1;s:1:"0";i:2;s:3:"585";i:3;s:3:"626";}}i:108;a:4:{s:1:"C";s:3:"108";s:2:"WX";s:3:"600";s:1:"N";s:1:"l";s:1:"B";a:4:{i:0;s:2:"77";i:1;s:1:"0";i:2;s:3:"523";i:3;s:3:"626";}}s:1:"l";a:4:{s:1:"C";s:3:"108";s:2:"WX";s:3:"600";s:1:"N";s:1:"l";s:1:"B";a:4:{i:0;s:2:"77";i:1;s:1:"0";i:2;s:3:"523";i:3;s:3:"626";}}i:109;a:4:{s:1:"C";s:3:"109";s:2:"WX";s:3:"600";s:1:"N";s:1:"m";s:1:"B";a:4:{i:0;s:3:"-22";i:1;s:1:"0";i:2;s:3:"626";i:3;s:3:"454";}}s:1:"m";a:4:{s:1:"C";s:3:"109";s:2:"WX";s:3:"600";s:1:"N";s:1:"m";s:1:"B";a:4:{i:0;s:3:"-22";i:1;s:1:"0";i:2;s:3:"626";i:3;s:3:"454";}}i:110;a:4:{s:1:"C";s:3:"110";s:2:"WX";s:3:"600";s:1:"N";s:1:"n";s:1:"B";a:4:{i:0;s:2:"18";i:1;s:1:"0";i:2;s:3:"592";i:3;s:3:"454";}}s:1:"n";a:4:{s:1:"C";s:3:"110";s:2:"WX";s:3:"600";s:1:"N";s:1:"n";s:1:"B";a:4:{i:0;s:2:"18";i:1;s:1:"0";i:2;s:3:"592";i:3;s:3:"454";}}i:111;a:4:{s:1:"C";s:3:"111";s:2:"WX";s:3:"600";s:1:"N";s:1:"o";s:1:"B";a:4:{i:0;s:2:"30";i:1;s:3:"-15";i:2;s:3:"570";i:3;s:3:"454";}}s:1:"o";a:4:{s:1:"C";s:3:"111";s:2:"WX";s:3:"600";s:1:"N";s:1:"o";s:1:"B";a:4:{i:0;s:2:"30";i:1;s:3:"-15";i:2;s:3:"570";i:3;s:3:"454";}}i:112;a:4:{s:1:"C";s:3:"112";s:2:"WX";s:3:"600";s:1:"N";s:1:"p";s:1:"B";a:4:{i:0;s:2:"-1";i:1;s:4:"-142";i:2;s:3:"570";i:3;s:3:"454";}}s:1:"p";a:4:{s:1:"C";s:3:"112";s:2:"WX";s:3:"600";s:1:"N";s:1:"p";s:1:"B";a:4:{i:0;s:2:"-1";i:1;s:4:"-142";i:2;s:3:"570";i:3;s:3:"454";}}i:113;a:4:{s:1:"C";s:3:"113";s:2:"WX";s:3:"600";s:1:"N";s:1:"q";s:1:"B";a:4:{i:0;s:2:"20";i:1;s:4:"-142";i:2;s:3:"591";i:3;s:3:"454";}}s:1:"q";a:4:{s:1:"C";s:3:"113";s:2:"WX";s:3:"600";s:1:"N";s:1:"q";s:1:"B";a:4:{i:0;s:2:"20";i:1;s:4:"-142";i:2;s:3:"591";i:3;s:3:"454";}}i:114;a:4:{s:1:"C";s:3:"114";s:2:"WX";s:3:"600";s:1:"N";s:1:"r";s:1:"B";a:4:{i:0;s:2:"47";i:1;s:1:"0";i:2;s:3:"580";i:3;s:3:"454";}}s:1:"r";a:4:{s:1:"C";s:3:"114";s:2:"WX";s:3:"600";s:1:"N";s:1:"r";s:1:"B";a:4:{i:0;s:2:"47";i:1;s:1:"0";i:2;s:3:"580";i:3;s:3:"454";}}i:115;a:4:{s:1:"C";s:3:"115";s:2:"WX";s:3:"600";s:1:"N";s:1:"s";s:1:"B";a:4:{i:0;s:2:"68";i:1;s:3:"-17";i:2;s:3:"535";i:3;s:3:"459";}}s:1:"s";a:4:{s:1:"C";s:3:"115";s:2:"WX";s:3:"600";s:1:"N";s:1:"s";s:1:"B";a:4:{i:0;s:2:"68";i:1;s:3:"-17";i:2;s:3:"535";i:3;s:3:"459";}}i:116;a:4:{s:1:"C";s:3:"116";s:2:"WX";s:3:"600";s:1:"N";s:1:"t";s:1:"B";a:4:{i:0;s:2:"47";i:1;s:3:"-15";i:2;s:3:"532";i:3;s:3:"562";}}s:1:"t";a:4:{s:1:"C";s:3:"116";s:2:"WX";s:3:"600";s:1:"N";s:1:"t";s:1:"B";a:4:{i:0;s:2:"47";i:1;s:3:"-15";i:2;s:3:"532";i:3;s:3:"562";}}i:117;a:4:{s:1:"C";s:3:"117";s:2:"WX";s:3:"600";s:1:"N";s:1:"u";s:1:"B";a:4:{i:0;s:2:"-1";i:1;s:3:"-15";i:2;s:3:"569";i:3;s:3:"439";}}s:1:"u";a:4:{s:1:"C";s:3:"117";s:2:"WX";s:3:"600";s:1:"N";s:1:"u";s:1:"B";a:4:{i:0;s:2:"-1";i:1;s:3:"-15";i:2;s:3:"569";i:3;s:3:"439";}}i:118;a:4:{s:1:"C";s:3:"118";s:2:"WX";s:3:"600";s:1:"N";s:1:"v";s:1:"B";a:4:{i:0;s:2:"-1";i:1;s:1:"0";i:2;s:3:"601";i:3;s:3:"439";}}s:1:"v";a:4:{s:1:"C";s:3:"118";s:2:"WX";s:3:"600";s:1:"N";s:1:"v";s:1:"B";a:4:{i:0;s:2:"-1";i:1;s:1:"0";i:2;s:3:"601";i:3;s:3:"439";}}i:119;a:4:{s:1:"C";s:3:"119";s:2:"WX";s:3:"600";s:1:"N";s:1:"w";s:1:"B";a:4:{i:0;s:3:"-18";i:1;s:1:"0";i:2;s:3:"618";i:3;s:3:"439";}}s:1:"w";a:4:{s:1:"C";s:3:"119";s:2:"WX";s:3:"600";s:1:"N";s:1:"w";s:1:"B";a:4:{i:0;s:3:"-18";i:1;s:1:"0";i:2;s:3:"618";i:3;s:3:"439";}}i:120;a:4:{s:1:"C";s:3:"120";s:2:"WX";s:3:"600";s:1:"N";s:1:"x";s:1:"B";a:4:{i:0;s:1:"6";i:1;s:1:"0";i:2;s:3:"594";i:3;s:3:"439";}}s:1:"x";a:4:{s:1:"C";s:3:"120";s:2:"WX";s:3:"600";s:1:"N";s:1:"x";s:1:"B";a:4:{i:0;s:1:"6";i:1;s:1:"0";i:2;s:3:"594";i:3;s:3:"439";}}i:121;a:4:{s:1:"C";s:3:"121";s:2:"WX";s:3:"600";s:1:"N";s:1:"y";s:1:"B";a:4:{i:0;s:2:"-4";i:1;s:4:"-142";i:2;s:3:"601";i:3;s:3:"439";}}s:1:"y";a:4:{s:1:"C";s:3:"121";s:2:"WX";s:3:"600";s:1:"N";s:1:"y";s:1:"B";a:4:{i:0;s:2:"-4";i:1;s:4:"-142";i:2;s:3:"601";i:3;s:3:"439";}}i:122;a:4:{s:1:"C";s:3:"122";s:2:"WX";s:3:"600";s:1:"N";s:1:"z";s:1:"B";a:4:{i:0;s:2:"81";i:1;s:1:"0";i:2;s:3:"520";i:3;s:3:"439";}}s:1:"z";a:4:{s:1:"C";s:3:"122";s:2:"WX";s:3:"600";s:1:"N";s:1:"z";s:1:"B";a:4:{i:0;s:2:"81";i:1;s:1:"0";i:2;s:3:"520";i:3;s:3:"439";}}i:123;a:4:{s:1:"C";s:3:"123";s:2:"WX";s:3:"600";s:1:"N";s:9:"braceleft";s:1:"B";a:4:{i:0;s:3:"160";i:1;s:4:"-102";i:2;s:3:"464";i:3;s:3:"616";}}s:9:"braceleft";a:4:{s:1:"C";s:3:"123";s:2:"WX";s:3:"600";s:1:"N";s:9:"braceleft";s:1:"B";a:4:{i:0;s:3:"160";i:1;s:4:"-102";i:2;s:3:"464";i:3;s:3:"616";}}i:124;a:4:{s:1:"C";s:3:"124";s:2:"WX";s:3:"600";s:1:"N";s:3:"bar";s:1:"B";a:4:{i:0;s:3:"255";i:1;s:4:"-250";i:2;s:3:"345";i:3;s:3:"750";}}s:3:"bar";a:4:{s:1:"C";s:3:"124";s:2:"WX";s:3:"600";s:1:"N";s:3:"bar";s:1:"B";a:4:{i:0;s:3:"255";i:1;s:4:"-250";i:2;s:3:"345";i:3;s:3:"750";}}i:125;a:4:{s:1:"C";s:3:"125";s:2:"WX";s:3:"600";s:1:"N";s:10:"braceright";s:1:"B";a:4:{i:0;s:3:"136";i:1;s:4:"-102";i:2;s:3:"440";i:3;s:3:"616";}}s:10:"braceright";a:4:{s:1:"C";s:3:"125";s:2:"WX";s:3:"600";s:1:"N";s:10:"braceright";s:1:"B";a:4:{i:0;s:3:"136";i:1;s:4:"-102";i:2;s:3:"440";i:3;s:3:"616";}}i:126;a:4:{s:1:"C";s:3:"126";s:2:"WX";s:3:"600";s:1:"N";s:10:"asciitilde";s:1:"B";a:4:{i:0;s:2:"71";i:1;s:3:"153";i:2;s:3:"530";i:3;s:3:"356";}}s:10:"asciitilde";a:4:{s:1:"C";s:3:"126";s:2:"WX";s:3:"600";s:1:"N";s:10:"asciitilde";s:1:"B";a:4:{i:0;s:2:"71";i:1;s:3:"153";i:2;s:3:"530";i:3;s:3:"356";}}i:161;a:4:{s:1:"C";s:3:"161";s:2:"WX";s:3:"600";s:1:"N";s:10:"exclamdown";s:1:"B";a:4:{i:0;s:3:"202";i:1;s:4:"-146";i:2;s:3:"398";i:3;s:3:"449";}}s:10:"exclamdown";a:4:{s:1:"C";s:3:"161";s:2:"WX";s:3:"600";s:1:"N";s:10:"exclamdown";s:1:"B";a:4:{i:0;s:3:"202";i:1;s:4:"-146";i:2;s:3:"398";i:3;s:3:"449";}}i:162;a:4:{s:1:"C";s:3:"162";s:2:"WX";s:3:"600";s:1:"N";s:4:"cent";s:1:"B";a:4:{i:0;s:2:"66";i:1;s:3:"-49";i:2;s:3:"518";i:3;s:3:"614";}}s:4:"cent";a:4:{s:1:"C";s:3:"162";s:2:"WX";s:3:"600";s:1:"N";s:4:"cent";s:1:"B";a:4:{i:0;s:2:"66";i:1;s:3:"-49";i:2;s:3:"518";i:3;s:3:"614";}}i:163;a:4:{s:1:"C";s:3:"163";s:2:"WX";s:3:"600";s:1:"N";s:8:"sterling";s:1:"B";a:4:{i:0;s:2:"72";i:1;s:3:"-28";i:2;s:3:"558";i:3;s:3:"611";}}s:8:"sterling";a:4:{s:1:"C";s:3:"163";s:2:"WX";s:3:"600";s:1:"N";s:8:"sterling";s:1:"B";a:4:{i:0;s:2:"72";i:1;s:3:"-28";i:2;s:3:"558";i:3;s:3:"611";}}i:164;a:4:{s:1:"C";s:3:"164";s:2:"WX";s:3:"600";s:1:"N";s:8:"fraction";s:1:"B";a:4:{i:0;s:2:"25";i:1;s:3:"-60";i:2;s:3:"576";i:3;s:3:"661";}}s:8:"fraction";a:4:{s:1:"C";s:3:"164";s:2:"WX";s:3:"600";s:1:"N";s:8:"fraction";s:1:"B";a:4:{i:0;s:2:"25";i:1;s:3:"-60";i:2;s:3:"576";i:3;s:3:"661";}}i:165;a:4:{s:1:"C";s:3:"165";s:2:"WX";s:3:"600";s:1:"N";s:3:"yen";s:1:"B";a:4:{i:0;s:2:"10";i:1;s:1:"0";i:2;s:3:"590";i:3;s:3:"562";}}s:3:"yen";a:4:{s:1:"C";s:3:"165";s:2:"WX";s:3:"600";s:1:"N";s:3:"yen";s:1:"B";a:4:{i:0;s:2:"10";i:1;s:1:"0";i:2;s:3:"590";i:3;s:3:"562";}}i:166;a:4:{s:1:"C";s:3:"166";s:2:"WX";s:3:"600";s:1:"N";s:6:"florin";s:1:"B";a:4:{i:0;s:3:"-30";i:1;s:4:"-131";i:2;s:3:"572";i:3;s:3:"616";}}s:6:"florin";a:4:{s:1:"C";s:3:"166";s:2:"WX";s:3:"600";s:1:"N";s:6:"florin";s:1:"B";a:4:{i:0;s:3:"-30";i:1;s:4:"-131";i:2;s:3:"572";i:3;s:3:"616";}}i:167;a:4:{s:1:"C";s:3:"167";s:2:"WX";s:3:"600";s:1:"N";s:7:"section";s:1:"B";a:4:{i:0;s:2:"83";i:1;s:3:"-70";i:2;s:3:"517";i:3;s:3:"580";}}s:7:"section";a:4:{s:1:"C";s:3:"167";s:2:"WX";s:3:"600";s:1:"N";s:7:"section";s:1:"B";a:4:{i:0;s:2:"83";i:1;s:3:"-70";i:2;s:3:"517";i:3;s:3:"580";}}i:168;a:4:{s:1:"C";s:3:"168";s:2:"WX";s:3:"600";s:1:"N";s:8:"currency";s:1:"B";a:4:{i:0;s:2:"54";i:1;s:2:"49";i:2;s:3:"546";i:3;s:3:"517";}}s:8:"currency";a:4:{s:1:"C";s:3:"168";s:2:"WX";s:3:"600";s:1:"N";s:8:"currency";s:1:"B";a:4:{i:0;s:2:"54";i:1;s:2:"49";i:2;s:3:"546";i:3;s:3:"517";}}i:169;a:4:{s:1:"C";s:3:"169";s:2:"WX";s:3:"600";s:1:"N";s:11:"quotesingle";s:1:"B";a:4:{i:0;s:3:"227";i:1;s:3:"277";i:2;s:3:"373";i:3;s:3:"562";}}s:11:"quotesingle";a:4:{s:1:"C";s:3:"169";s:2:"WX";s:3:"600";s:1:"N";s:11:"quotesingle";s:1:"B";a:4:{i:0;s:3:"227";i:1;s:3:"277";i:2;s:3:"373";i:3;s:3:"562";}}i:170;a:4:{s:1:"C";s:3:"170";s:2:"WX";s:3:"600";s:1:"N";s:12:"quotedblleft";s:1:"B";a:4:{i:0;s:2:"71";i:1;s:3:"277";i:2;s:3:"535";i:3;s:3:"562";}}s:12:"quotedblleft";a:4:{s:1:"C";s:3:"170";s:2:"WX";s:3:"600";s:1:"N";s:12:"quotedblleft";s:1:"B";a:4:{i:0;s:2:"71";i:1;s:3:"277";i:2;s:3:"535";i:3;s:3:"562";}}i:171;a:4:{s:1:"C";s:3:"171";s:2:"WX";s:3:"600";s:1:"N";s:13:"guillemotleft";s:1:"B";a:4:{i:0;s:1:"8";i:1;s:2:"70";i:2;s:3:"553";i:3;s:3:"446";}}s:13:"guillemotleft";a:4:{s:1:"C";s:3:"171";s:2:"WX";s:3:"600";s:1:"N";s:13:"guillemotleft";s:1:"B";a:4:{i:0;s:1:"8";i:1;s:2:"70";i:2;s:3:"553";i:3;s:3:"446";}}i:172;a:4:{s:1:"C";s:3:"172";s:2:"WX";s:3:"600";s:1:"N";s:13:"guilsinglleft";s:1:"B";a:4:{i:0;s:3:"141";i:1;s:2:"70";i:2;s:3:"459";i:3;s:3:"446";}}s:13:"guilsinglleft";a:4:{s:1:"C";s:3:"172";s:2:"WX";s:3:"600";s:1:"N";s:13:"guilsinglleft";s:1:"B";a:4:{i:0;s:3:"141";i:1;s:2:"70";i:2;s:3:"459";i:3;s:3:"446";}}i:173;a:4:{s:1:"C";s:3:"173";s:2:"WX";s:3:"600";s:1:"N";s:14:"guilsinglright";s:1:"B";a:4:{i:0;s:3:"141";i:1;s:2:"70";i:2;s:3:"459";i:3;s:3:"446";}}s:14:"guilsinglright";a:4:{s:1:"C";s:3:"173";s:2:"WX";s:3:"600";s:1:"N";s:14:"guilsinglright";s:1:"B";a:4:{i:0;s:3:"141";i:1;s:2:"70";i:2;s:3:"459";i:3;s:3:"446";}}i:174;a:4:{s:1:"C";s:3:"174";s:2:"WX";s:3:"600";s:1:"N";s:2:"fi";s:1:"B";a:4:{i:0;s:2:"12";i:1;s:1:"0";i:2;s:3:"593";i:3;s:3:"626";}}s:2:"fi";a:4:{s:1:"C";s:3:"174";s:2:"WX";s:3:"600";s:1:"N";s:2:"fi";s:1:"B";a:4:{i:0;s:2:"12";i:1;s:1:"0";i:2;s:3:"593";i:3;s:3:"626";}}i:175;a:4:{s:1:"C";s:3:"175";s:2:"WX";s:3:"600";s:1:"N";s:2:"fl";s:1:"B";a:4:{i:0;s:2:"12";i:1;s:1:"0";i:2;s:3:"593";i:3;s:3:"626";}}s:2:"fl";a:4:{s:1:"C";s:3:"175";s:2:"WX";s:3:"600";s:1:"N";s:2:"fl";s:1:"B";a:4:{i:0;s:2:"12";i:1;s:1:"0";i:2;s:3:"593";i:3;s:3:"626";}}i:177;a:4:{s:1:"C";s:3:"177";s:2:"WX";s:3:"600";s:1:"N";s:6:"endash";s:1:"B";a:4:{i:0;s:2:"65";i:1;s:3:"203";i:2;s:3:"535";i:3;s:3:"313";}}s:6:"endash";a:4:{s:1:"C";s:3:"177";s:2:"WX";s:3:"600";s:1:"N";s:6:"endash";s:1:"B";a:4:{i:0;s:2:"65";i:1;s:3:"203";i:2;s:3:"535";i:3;s:3:"313";}}i:178;a:4:{s:1:"C";s:3:"178";s:2:"WX";s:3:"600";s:1:"N";s:6:"dagger";s:1:"B";a:4:{i:0;s:3:"106";i:1;s:3:"-70";i:2;s:3:"494";i:3;s:3:"580";}}s:6:"dagger";a:4:{s:1:"C";s:3:"178";s:2:"WX";s:3:"600";s:1:"N";s:6:"dagger";s:1:"B";a:4:{i:0;s:3:"106";i:1;s:3:"-70";i:2;s:3:"494";i:3;s:3:"580";}}i:179;a:4:{s:1:"C";s:3:"179";s:2:"WX";s:3:"600";s:1:"N";s:9:"daggerdbl";s:1:"B";a:4:{i:0;s:3:"106";i:1;s:3:"-70";i:2;s:3:"494";i:3;s:3:"580";}}s:9:"daggerdbl";a:4:{s:1:"C";s:3:"179";s:2:"WX";s:3:"600";s:1:"N";s:9:"daggerdbl";s:1:"B";a:4:{i:0;s:3:"106";i:1;s:3:"-70";i:2;s:3:"494";i:3;s:3:"580";}}i:180;a:4:{s:1:"C";s:3:"180";s:2:"WX";s:3:"600";s:1:"N";s:14:"periodcentered";s:1:"B";a:4:{i:0;s:3:"196";i:1;s:3:"165";i:2;s:3:"404";i:3;s:3:"351";}}s:14:"periodcentered";a:4:{s:1:"C";s:3:"180";s:2:"WX";s:3:"600";s:1:"N";s:14:"periodcentered";s:1:"B";a:4:{i:0;s:3:"196";i:1;s:3:"165";i:2;s:3:"404";i:3;s:3:"351";}}i:182;a:4:{s:1:"C";s:3:"182";s:2:"WX";s:3:"600";s:1:"N";s:9:"paragraph";s:1:"B";a:4:{i:0;s:1:"6";i:1;s:3:"-70";i:2;s:3:"576";i:3;s:3:"580";}}s:9:"paragraph";a:4:{s:1:"C";s:3:"182";s:2:"WX";s:3:"600";s:1:"N";s:9:"paragraph";s:1:"B";a:4:{i:0;s:1:"6";i:1;s:3:"-70";i:2;s:3:"576";i:3;s:3:"580";}}i:183;a:4:{s:1:"C";s:3:"183";s:2:"WX";s:3:"600";s:1:"N";s:6:"bullet";s:1:"B";a:4:{i:0;s:3:"140";i:1;s:3:"132";i:2;s:3:"460";i:3;s:3:"430";}}s:6:"bullet";a:4:{s:1:"C";s:3:"183";s:2:"WX";s:3:"600";s:1:"N";s:6:"bullet";s:1:"B";a:4:{i:0;s:3:"140";i:1;s:3:"132";i:2;s:3:"460";i:3;s:3:"430";}}i:184;a:4:{s:1:"C";s:3:"184";s:2:"WX";s:3:"600";s:1:"N";s:14:"quotesinglbase";s:1:"B";a:4:{i:0;s:3:"175";i:1;s:4:"-142";i:2;s:3:"427";i:3;s:3:"143";}}s:14:"quotesinglbase";a:4:{s:1:"C";s:3:"184";s:2:"WX";s:3:"600";s:1:"N";s:14:"quotesinglbase";s:1:"B";a:4:{i:0;s:3:"175";i:1;s:4:"-142";i:2;s:3:"427";i:3;s:3:"143";}}i:185;a:4:{s:1:"C";s:3:"185";s:2:"WX";s:3:"600";s:1:"N";s:12:"quotedblbase";s:1:"B";a:4:{i:0;s:2:"65";i:1;s:4:"-142";i:2;s:3:"529";i:3;s:3:"143";}}s:12:"quotedblbase";a:4:{s:1:"C";s:3:"185";s:2:"WX";s:3:"600";s:1:"N";s:12:"quotedblbase";s:1:"B";a:4:{i:0;s:2:"65";i:1;s:4:"-142";i:2;s:3:"529";i:3;s:3:"143";}}i:186;a:4:{s:1:"C";s:3:"186";s:2:"WX";s:3:"600";s:1:"N";s:13:"quotedblright";s:1:"B";a:4:{i:0;s:2:"61";i:1;s:3:"277";i:2;s:3:"525";i:3;s:3:"562";}}s:13:"quotedblright";a:4:{s:1:"C";s:3:"186";s:2:"WX";s:3:"600";s:1:"N";s:13:"quotedblright";s:1:"B";a:4:{i:0;s:2:"61";i:1;s:3:"277";i:2;s:3:"525";i:3;s:3:"562";}}i:187;a:4:{s:1:"C";s:3:"187";s:2:"WX";s:3:"600";s:1:"N";s:14:"guillemotright";s:1:"B";a:4:{i:0;s:2:"47";i:1;s:2:"70";i:2;s:3:"592";i:3;s:3:"446";}}s:14:"guillemotright";a:4:{s:1:"C";s:3:"187";s:2:"WX";s:3:"600";s:1:"N";s:14:"guillemotright";s:1:"B";a:4:{i:0;s:2:"47";i:1;s:2:"70";i:2;s:3:"592";i:3;s:3:"446";}}i:188;a:4:{s:1:"C";s:3:"188";s:2:"WX";s:3:"600";s:1:"N";s:8:"ellipsis";s:1:"B";a:4:{i:0;s:2:"26";i:1;s:3:"-15";i:2;s:3:"574";i:3;s:3:"116";}}s:8:"ellipsis";a:4:{s:1:"C";s:3:"188";s:2:"WX";s:3:"600";s:1:"N";s:8:"ellipsis";s:1:"B";a:4:{i:0;s:2:"26";i:1;s:3:"-15";i:2;s:3:"574";i:3;s:3:"116";}}i:189;a:4:{s:1:"C";s:3:"189";s:2:"WX";s:3:"600";s:1:"N";s:11:"perthousand";s:1:"B";a:4:{i:0;s:4:"-113";i:1;s:3:"-15";i:2;s:3:"713";i:3;s:3:"616";}}s:11:"perthousand";a:4:{s:1:"C";s:3:"189";s:2:"WX";s:3:"600";s:1:"N";s:11:"perthousand";s:1:"B";a:4:{i:0;s:4:"-113";i:1;s:3:"-15";i:2;s:3:"713";i:3;s:3:"616";}}i:191;a:4:{s:1:"C";s:3:"191";s:2:"WX";s:3:"600";s:1:"N";s:12:"questiondown";s:1:"B";a:4:{i:0;s:2:"99";i:1;s:4:"-146";i:2;s:3:"502";i:3;s:3:"449";}}s:12:"questiondown";a:4:{s:1:"C";s:3:"191";s:2:"WX";s:3:"600";s:1:"N";s:12:"questiondown";s:1:"B";a:4:{i:0;s:2:"99";i:1;s:4:"-146";i:2;s:3:"502";i:3;s:3:"449";}}i:193;a:4:{s:1:"C";s:3:"193";s:2:"WX";s:3:"600";s:1:"N";s:5:"grave";s:1:"B";a:4:{i:0;s:3:"132";i:1;s:3:"508";i:2;s:3:"395";i:3;s:3:"661";}}s:5:"grave";a:4:{s:1:"C";s:3:"193";s:2:"WX";s:3:"600";s:1:"N";s:5:"grave";s:1:"B";a:4:{i:0;s:3:"132";i:1;s:3:"508";i:2;s:3:"395";i:3;s:3:"661";}}i:194;a:4:{s:1:"C";s:3:"194";s:2:"WX";s:3:"600";s:1:"N";s:5:"acute";s:1:"B";a:4:{i:0;s:3:"205";i:1;s:3:"508";i:2;s:3:"468";i:3;s:3:"661";}}s:5:"acute";a:4:{s:1:"C";s:3:"194";s:2:"WX";s:3:"600";s:1:"N";s:5:"acute";s:1:"B";a:4:{i:0;s:3:"205";i:1;s:3:"508";i:2;s:3:"468";i:3;s:3:"661";}}i:195;a:4:{s:1:"C";s:3:"195";s:2:"WX";s:3:"600";s:1:"N";s:10:"circumflex";s:1:"B";a:4:{i:0;s:3:"103";i:1;s:3:"483";i:2;s:3:"497";i:3;s:3:"657";}}s:10:"circumflex";a:4:{s:1:"C";s:3:"195";s:2:"WX";s:3:"600";s:1:"N";s:10:"circumflex";s:1:"B";a:4:{i:0;s:3:"103";i:1;s:3:"483";i:2;s:3:"497";i:3;s:3:"657";}}i:196;a:4:{s:1:"C";s:3:"196";s:2:"WX";s:3:"600";s:1:"N";s:5:"tilde";s:1:"B";a:4:{i:0;s:2:"89";i:1;s:3:"493";i:2;s:3:"512";i:3;s:3:"636";}}s:5:"tilde";a:4:{s:1:"C";s:3:"196";s:2:"WX";s:3:"600";s:1:"N";s:5:"tilde";s:1:"B";a:4:{i:0;s:2:"89";i:1;s:3:"493";i:2;s:3:"512";i:3;s:3:"636";}}i:197;a:4:{s:1:"C";s:3:"197";s:2:"WX";s:3:"600";s:1:"N";s:6:"macron";s:1:"B";a:4:{i:0;s:2:"88";i:1;s:3:"505";i:2;s:3:"512";i:3;s:3:"585";}}s:6:"macron";a:4:{s:1:"C";s:3:"197";s:2:"WX";s:3:"600";s:1:"N";s:6:"macron";s:1:"B";a:4:{i:0;s:2:"88";i:1;s:3:"505";i:2;s:3:"512";i:3;s:3:"585";}}i:198;a:4:{s:1:"C";s:3:"198";s:2:"WX";s:3:"600";s:1:"N";s:5:"breve";s:1:"B";a:4:{i:0;s:2:"83";i:1;s:3:"468";i:2;s:3:"517";i:3;s:3:"631";}}s:5:"breve";a:4:{s:1:"C";s:3:"198";s:2:"WX";s:3:"600";s:1:"N";s:5:"breve";s:1:"B";a:4:{i:0;s:2:"83";i:1;s:3:"468";i:2;s:3:"517";i:3;s:3:"631";}}i:199;a:4:{s:1:"C";s:3:"199";s:2:"WX";s:3:"600";s:1:"N";s:9:"dotaccent";s:1:"B";a:4:{i:0;s:3:"230";i:1;s:3:"498";i:2;s:3:"370";i:3;s:3:"638";}}s:9:"dotaccent";a:4:{s:1:"C";s:3:"199";s:2:"WX";s:3:"600";s:1:"N";s:9:"dotaccent";s:1:"B";a:4:{i:0;s:3:"230";i:1;s:3:"498";i:2;s:3:"370";i:3;s:3:"638";}}i:200;a:4:{s:1:"C";s:3:"200";s:2:"WX";s:3:"600";s:1:"N";s:8:"dieresis";s:1:"B";a:4:{i:0;s:3:"128";i:1;s:3:"498";i:2;s:3:"472";i:3;s:3:"638";}}s:8:"dieresis";a:4:{s:1:"C";s:3:"200";s:2:"WX";s:3:"600";s:1:"N";s:8:"dieresis";s:1:"B";a:4:{i:0;s:3:"128";i:1;s:3:"498";i:2;s:3:"472";i:3;s:3:"638";}}i:202;a:4:{s:1:"C";s:3:"202";s:2:"WX";s:3:"600";s:1:"N";s:4:"ring";s:1:"B";a:4:{i:0;s:3:"198";i:1;s:3:"481";i:2;s:3:"402";i:3;s:3:"678";}}s:4:"ring";a:4:{s:1:"C";s:3:"202";s:2:"WX";s:3:"600";s:1:"N";s:4:"ring";s:1:"B";a:4:{i:0;s:3:"198";i:1;s:3:"481";i:2;s:3:"402";i:3;s:3:"678";}}i:203;a:4:{s:1:"C";s:3:"203";s:2:"WX";s:3:"600";s:1:"N";s:7:"cedilla";s:1:"B";a:4:{i:0;s:3:"205";i:1;s:4:"-206";i:2;s:3:"387";i:3;s:1:"0";}}s:7:"cedilla";a:4:{s:1:"C";s:3:"203";s:2:"WX";s:3:"600";s:1:"N";s:7:"cedilla";s:1:"B";a:4:{i:0;s:3:"205";i:1;s:4:"-206";i:2;s:3:"387";i:3;s:1:"0";}}i:205;a:4:{s:1:"C";s:3:"205";s:2:"WX";s:3:"600";s:1:"N";s:12:"hungarumlaut";s:1:"B";a:4:{i:0;s:2:"68";i:1;s:3:"488";i:2;s:3:"588";i:3;s:3:"661";}}s:12:"hungarumlaut";a:4:{s:1:"C";s:3:"205";s:2:"WX";s:3:"600";s:1:"N";s:12:"hungarumlaut";s:1:"B";a:4:{i:0;s:2:"68";i:1;s:3:"488";i:2;s:3:"588";i:3;s:3:"661";}}i:206;a:4:{s:1:"C";s:3:"206";s:2:"WX";s:3:"600";s:1:"N";s:6:"ogonek";s:1:"B";a:4:{i:0;s:3:"169";i:1;s:4:"-199";i:2;s:3:"400";i:3;s:1:"0";}}s:6:"ogonek";a:4:{s:1:"C";s:3:"206";s:2:"WX";s:3:"600";s:1:"N";s:6:"ogonek";s:1:"B";a:4:{i:0;s:3:"169";i:1;s:4:"-199";i:2;s:3:"400";i:3;s:1:"0";}}i:207;a:4:{s:1:"C";s:3:"207";s:2:"WX";s:3:"600";s:1:"N";s:5:"caron";s:1:"B";a:4:{i:0;s:3:"103";i:1;s:3:"493";i:2;s:3:"497";i:3;s:3:"667";}}s:5:"caron";a:4:{s:1:"C";s:3:"207";s:2:"WX";s:3:"600";s:1:"N";s:5:"caron";s:1:"B";a:4:{i:0;s:3:"103";i:1;s:3:"493";i:2;s:3:"497";i:3;s:3:"667";}}i:208;a:4:{s:1:"C";s:3:"208";s:2:"WX";s:3:"600";s:1:"N";s:6:"emdash";s:1:"B";a:4:{i:0;s:3:"-10";i:1;s:3:"203";i:2;s:3:"610";i:3;s:3:"313";}}s:6:"emdash";a:4:{s:1:"C";s:3:"208";s:2:"WX";s:3:"600";s:1:"N";s:6:"emdash";s:1:"B";a:4:{i:0;s:3:"-10";i:1;s:3:"203";i:2;s:3:"610";i:3;s:3:"313";}}i:225;a:4:{s:1:"C";s:3:"225";s:2:"WX";s:3:"600";s:1:"N";s:2:"AE";s:1:"B";a:4:{i:0;s:3:"-29";i:1;s:1:"0";i:2;s:3:"602";i:3;s:3:"562";}}s:2:"AE";a:4:{s:1:"C";s:3:"225";s:2:"WX";s:3:"600";s:1:"N";s:2:"AE";s:1:"B";a:4:{i:0;s:3:"-29";i:1;s:1:"0";i:2;s:3:"602";i:3;s:3:"562";}}i:227;a:4:{s:1:"C";s:3:"227";s:2:"WX";s:3:"600";s:1:"N";s:11:"ordfeminine";s:1:"B";a:4:{i:0;s:3:"147";i:1;s:3:"196";i:2;s:3:"453";i:3;s:3:"580";}}s:11:"ordfeminine";a:4:{s:1:"C";s:3:"227";s:2:"WX";s:3:"600";s:1:"N";s:11:"ordfeminine";s:1:"B";a:4:{i:0;s:3:"147";i:1;s:3:"196";i:2;s:3:"453";i:3;s:3:"580";}}i:232;a:4:{s:1:"C";s:3:"232";s:2:"WX";s:3:"600";s:1:"N";s:6:"Lslash";s:1:"B";a:4:{i:0;s:2:"39";i:1;s:1:"0";i:2;s:3:"578";i:3;s:3:"562";}}s:6:"Lslash";a:4:{s:1:"C";s:3:"232";s:2:"WX";s:3:"600";s:1:"N";s:6:"Lslash";s:1:"B";a:4:{i:0;s:2:"39";i:1;s:1:"0";i:2;s:3:"578";i:3;s:3:"562";}}i:233;a:4:{s:1:"C";s:3:"233";s:2:"WX";s:3:"600";s:1:"N";s:6:"Oslash";s:1:"B";a:4:{i:0;s:2:"22";i:1;s:3:"-22";i:2;s:3:"578";i:3;s:3:"584";}}s:6:"Oslash";a:4:{s:1:"C";s:3:"233";s:2:"WX";s:3:"600";s:1:"N";s:6:"Oslash";s:1:"B";a:4:{i:0;s:2:"22";i:1;s:3:"-22";i:2;s:3:"578";i:3;s:3:"584";}}i:234;a:4:{s:1:"C";s:3:"234";s:2:"WX";s:3:"600";s:1:"N";s:2:"OE";s:1:"B";a:4:{i:0;s:3:"-25";i:1;s:1:"0";i:2;s:3:"595";i:3;s:3:"562";}}s:2:"OE";a:4:{s:1:"C";s:3:"234";s:2:"WX";s:3:"600";s:1:"N";s:2:"OE";s:1:"B";a:4:{i:0;s:3:"-25";i:1;s:1:"0";i:2;s:3:"595";i:3;s:3:"562";}}i:235;a:4:{s:1:"C";s:3:"235";s:2:"WX";s:3:"600";s:1:"N";s:12:"ordmasculine";s:1:"B";a:4:{i:0;s:3:"147";i:1;s:3:"196";i:2;s:3:"453";i:3;s:3:"580";}}s:12:"ordmasculine";a:4:{s:1:"C";s:3:"235";s:2:"WX";s:3:"600";s:1:"N";s:12:"ordmasculine";s:1:"B";a:4:{i:0;s:3:"147";i:1;s:3:"196";i:2;s:3:"453";i:3;s:3:"580";}}i:241;a:4:{s:1:"C";s:3:"241";s:2:"WX";s:3:"600";s:1:"N";s:2:"ae";s:1:"B";a:4:{i:0;s:2:"-4";i:1;s:3:"-15";i:2;s:3:"601";i:3;s:3:"454";}}s:2:"ae";a:4:{s:1:"C";s:3:"241";s:2:"WX";s:3:"600";s:1:"N";s:2:"ae";s:1:"B";a:4:{i:0;s:2:"-4";i:1;s:3:"-15";i:2;s:3:"601";i:3;s:3:"454";}}i:245;a:4:{s:1:"C";s:3:"245";s:2:"WX";s:3:"600";s:1:"N";s:8:"dotlessi";s:1:"B";a:4:{i:0;s:2:"77";i:1;s:1:"0";i:2;s:3:"523";i:3;s:3:"439";}}s:8:"dotlessi";a:4:{s:1:"C";s:3:"245";s:2:"WX";s:3:"600";s:1:"N";s:8:"dotlessi";s:1:"B";a:4:{i:0;s:2:"77";i:1;s:1:"0";i:2;s:3:"523";i:3;s:3:"439";}}i:248;a:4:{s:1:"C";s:3:"248";s:2:"WX";s:3:"600";s:1:"N";s:6:"lslash";s:1:"B";a:4:{i:0;s:2:"77";i:1;s:1:"0";i:2;s:3:"523";i:3;s:3:"626";}}s:6:"lslash";a:4:{s:1:"C";s:3:"248";s:2:"WX";s:3:"600";s:1:"N";s:6:"lslash";s:1:"B";a:4:{i:0;s:2:"77";i:1;s:1:"0";i:2;s:3:"523";i:3;s:3:"626";}}i:249;a:4:{s:1:"C";s:3:"249";s:2:"WX";s:3:"600";s:1:"N";s:6:"oslash";s:1:"B";a:4:{i:0;s:2:"30";i:1;s:3:"-24";i:2;s:3:"570";i:3;s:3:"463";}}s:6:"oslash";a:4:{s:1:"C";s:3:"249";s:2:"WX";s:3:"600";s:1:"N";s:6:"oslash";s:1:"B";a:4:{i:0;s:2:"30";i:1;s:3:"-24";i:2;s:3:"570";i:3;s:3:"463";}}i:250;a:4:{s:1:"C";s:3:"250";s:2:"WX";s:3:"600";s:1:"N";s:2:"oe";s:1:"B";a:4:{i:0;s:3:"-18";i:1;s:3:"-15";i:2;s:3:"611";i:3;s:3:"454";}}s:2:"oe";a:4:{s:1:"C";s:3:"250";s:2:"WX";s:3:"600";s:1:"N";s:2:"oe";s:1:"B";a:4:{i:0;s:3:"-18";i:1;s:3:"-15";i:2;s:3:"611";i:3;s:3:"454";}}i:251;a:4:{s:1:"C";s:3:"251";s:2:"WX";s:3:"600";s:1:"N";s:10:"germandbls";s:1:"B";a:4:{i:0;s:2:"22";i:1;s:3:"-15";i:2;s:3:"596";i:3;s:3:"626";}}s:10:"germandbls";a:4:{s:1:"C";s:3:"251";s:2:"WX";s:3:"600";s:1:"N";s:10:"germandbls";s:1:"B";a:4:{i:0;s:2:"22";i:1;s:3:"-15";i:2;s:3:"596";i:3;s:3:"626";}}s:9:"Idieresis";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:9:"Idieresis";s:1:"B";a:4:{i:0;s:2:"77";i:1;s:1:"0";i:2;s:3:"523";i:3;s:3:"761";}}s:6:"eacute";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:6:"eacute";s:1:"B";a:4:{i:0;s:2:"40";i:1;s:3:"-15";i:2;s:3:"563";i:3;s:3:"661";}}s:6:"abreve";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:6:"abreve";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:3:"-15";i:2;s:3:"570";i:3;s:3:"661";}}s:13:"uhungarumlaut";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:13:"uhungarumlaut";s:1:"B";a:4:{i:0;s:2:"-1";i:1;s:3:"-15";i:2;s:3:"628";i:3;s:3:"661";}}s:6:"ecaron";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:6:"ecaron";s:1:"B";a:4:{i:0;s:2:"40";i:1;s:3:"-15";i:2;s:3:"563";i:3;s:3:"667";}}s:9:"Ydieresis";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:9:"Ydieresis";s:1:"B";a:4:{i:0;s:2:"12";i:1;s:1:"0";i:2;s:3:"589";i:3;s:3:"761";}}s:6:"divide";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:6:"divide";s:1:"B";a:4:{i:0;s:2:"71";i:1;s:2:"16";i:2;s:3:"529";i:3;s:3:"500";}}s:6:"Yacute";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:6:"Yacute";s:1:"B";a:4:{i:0;s:2:"12";i:1;s:1:"0";i:2;s:3:"589";i:3;s:3:"784";}}s:11:"Acircumflex";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:11:"Acircumflex";s:1:"B";a:4:{i:0;s:2:"-9";i:1;s:1:"0";i:2;s:3:"609";i:3;s:3:"780";}}s:6:"aacute";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:6:"aacute";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:3:"-15";i:2;s:3:"570";i:3;s:3:"661";}}s:11:"Ucircumflex";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:11:"Ucircumflex";s:1:"B";a:4:{i:0;s:1:"4";i:1;s:3:"-18";i:2;s:3:"596";i:3;s:3:"780";}}s:6:"yacute";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:6:"yacute";s:1:"B";a:4:{i:0;s:2:"-4";i:1;s:4:"-142";i:2;s:3:"601";i:3;s:3:"661";}}s:12:"scommaaccent";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:12:"scommaaccent";s:1:"B";a:4:{i:0;s:2:"68";i:1;s:4:"-250";i:2;s:3:"535";i:3;s:3:"459";}}s:11:"ecircumflex";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:11:"ecircumflex";s:1:"B";a:4:{i:0;s:2:"40";i:1;s:3:"-15";i:2;s:3:"563";i:3;s:3:"657";}}s:5:"Uring";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:5:"Uring";s:1:"B";a:4:{i:0;s:1:"4";i:1;s:3:"-18";i:2;s:3:"596";i:3;s:3:"801";}}s:9:"Udieresis";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:9:"Udieresis";s:1:"B";a:4:{i:0;s:1:"4";i:1;s:3:"-18";i:2;s:3:"596";i:3;s:3:"761";}}s:7:"aogonek";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:7:"aogonek";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:4:"-199";i:2;s:3:"586";i:3;s:3:"454";}}s:6:"Uacute";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:6:"Uacute";s:1:"B";a:4:{i:0;s:1:"4";i:1;s:3:"-18";i:2;s:3:"596";i:3;s:3:"784";}}s:7:"uogonek";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:7:"uogonek";s:1:"B";a:4:{i:0;s:2:"-1";i:1;s:4:"-199";i:2;s:3:"585";i:3;s:3:"439";}}s:9:"Edieresis";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:9:"Edieresis";s:1:"B";a:4:{i:0;s:2:"25";i:1;s:1:"0";i:2;s:3:"560";i:3;s:3:"761";}}s:6:"Dcroat";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:6:"Dcroat";s:1:"B";a:4:{i:0;s:2:"30";i:1;s:1:"0";i:2;s:3:"594";i:3;s:3:"562";}}s:11:"commaaccent";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:11:"commaaccent";s:1:"B";a:4:{i:0;s:3:"205";i:1;s:4:"-250";i:2;s:3:"397";i:3;s:3:"-57";}}s:9:"copyright";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:9:"copyright";s:1:"B";a:4:{i:0;s:1:"0";i:1;s:3:"-18";i:2;s:3:"600";i:3;s:3:"580";}}s:7:"Emacron";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:7:"Emacron";s:1:"B";a:4:{i:0;s:2:"25";i:1;s:1:"0";i:2;s:3:"560";i:3;s:3:"708";}}s:6:"ccaron";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:6:"ccaron";s:1:"B";a:4:{i:0;s:2:"40";i:1;s:3:"-15";i:2;s:3:"545";i:3;s:3:"667";}}s:5:"aring";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:5:"aring";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:3:"-15";i:2;s:3:"570";i:3;s:3:"678";}}s:12:"Ncommaaccent";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:12:"Ncommaaccent";s:1:"B";a:4:{i:0;s:1:"8";i:1;s:4:"-250";i:2;s:3:"610";i:3;s:3:"562";}}s:6:"lacute";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:6:"lacute";s:1:"B";a:4:{i:0;s:2:"77";i:1;s:1:"0";i:2;s:3:"523";i:3;s:3:"801";}}s:6:"agrave";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:6:"agrave";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:3:"-15";i:2;s:3:"570";i:3;s:3:"661";}}s:12:"Tcommaaccent";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:12:"Tcommaaccent";s:1:"B";a:4:{i:0;s:2:"21";i:1;s:4:"-250";i:2;s:3:"579";i:3;s:3:"562";}}s:6:"Cacute";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:6:"Cacute";s:1:"B";a:4:{i:0;s:2:"22";i:1;s:3:"-18";i:2;s:3:"560";i:3;s:3:"784";}}s:6:"atilde";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:6:"atilde";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:3:"-15";i:2;s:3:"570";i:3;s:3:"636";}}s:10:"Edotaccent";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:10:"Edotaccent";s:1:"B";a:4:{i:0;s:2:"25";i:1;s:1:"0";i:2;s:3:"560";i:3;s:3:"761";}}s:6:"scaron";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:6:"scaron";s:1:"B";a:4:{i:0;s:2:"68";i:1;s:3:"-17";i:2;s:3:"535";i:3;s:3:"667";}}s:8:"scedilla";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:8:"scedilla";s:1:"B";a:4:{i:0;s:2:"68";i:1;s:4:"-206";i:2;s:3:"535";i:3;s:3:"459";}}s:6:"iacute";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:6:"iacute";s:1:"B";a:4:{i:0;s:2:"77";i:1;s:1:"0";i:2;s:3:"523";i:3;s:3:"661";}}s:7:"lozenge";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:7:"lozenge";s:1:"B";a:4:{i:0;s:2:"66";i:1;s:1:"0";i:2;s:3:"534";i:3;s:3:"740";}}s:6:"Rcaron";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:6:"Rcaron";s:1:"B";a:4:{i:0;s:2:"24";i:1;s:1:"0";i:2;s:3:"599";i:3;s:3:"790";}}s:12:"Gcommaaccent";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:12:"Gcommaaccent";s:1:"B";a:4:{i:0;s:2:"22";i:1;s:4:"-250";i:2;s:3:"594";i:3;s:3:"580";}}s:11:"ucircumflex";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:11:"ucircumflex";s:1:"B";a:4:{i:0;s:2:"-1";i:1;s:3:"-15";i:2;s:3:"569";i:3;s:3:"657";}}s:11:"acircumflex";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:11:"acircumflex";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:3:"-15";i:2;s:3:"570";i:3;s:3:"657";}}s:7:"Amacron";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:7:"Amacron";s:1:"B";a:4:{i:0;s:2:"-9";i:1;s:1:"0";i:2;s:3:"609";i:3;s:3:"708";}}s:6:"rcaron";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:6:"rcaron";s:1:"B";a:4:{i:0;s:2:"47";i:1;s:1:"0";i:2;s:3:"580";i:3;s:3:"667";}}s:8:"ccedilla";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:8:"ccedilla";s:1:"B";a:4:{i:0;s:2:"40";i:1;s:4:"-206";i:2;s:3:"545";i:3;s:3:"459";}}s:10:"Zdotaccent";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:10:"Zdotaccent";s:1:"B";a:4:{i:0;s:2:"62";i:1;s:1:"0";i:2;s:3:"539";i:3;s:3:"761";}}s:5:"Thorn";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:5:"Thorn";s:1:"B";a:4:{i:0;s:2:"48";i:1;s:1:"0";i:2;s:3:"557";i:3;s:3:"562";}}s:7:"Omacron";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:7:"Omacron";s:1:"B";a:4:{i:0;s:2:"22";i:1;s:3:"-18";i:2;s:3:"578";i:3;s:3:"708";}}s:6:"Racute";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:6:"Racute";s:1:"B";a:4:{i:0;s:2:"24";i:1;s:1:"0";i:2;s:3:"599";i:3;s:3:"784";}}s:6:"Sacute";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:6:"Sacute";s:1:"B";a:4:{i:0;s:2:"47";i:1;s:3:"-22";i:2;s:3:"553";i:3;s:3:"784";}}s:6:"dcaron";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:6:"dcaron";s:1:"B";a:4:{i:0;s:2:"20";i:1;s:3:"-15";i:2;s:3:"727";i:3;s:3:"626";}}s:7:"Umacron";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:7:"Umacron";s:1:"B";a:4:{i:0;s:1:"4";i:1;s:3:"-18";i:2;s:3:"596";i:3;s:3:"708";}}s:5:"uring";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:5:"uring";s:1:"B";a:4:{i:0;s:2:"-1";i:1;s:3:"-15";i:2;s:3:"569";i:3;s:3:"678";}}s:13:"threesuperior";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:13:"threesuperior";s:1:"B";a:4:{i:0;s:3:"138";i:1;s:3:"222";i:2;s:3:"433";i:3;s:3:"616";}}s:6:"Ograve";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:6:"Ograve";s:1:"B";a:4:{i:0;s:2:"22";i:1;s:3:"-18";i:2;s:3:"578";i:3;s:3:"784";}}s:6:"Agrave";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:6:"Agrave";s:1:"B";a:4:{i:0;s:2:"-9";i:1;s:1:"0";i:2;s:3:"609";i:3;s:3:"784";}}s:6:"Abreve";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:6:"Abreve";s:1:"B";a:4:{i:0;s:2:"-9";i:1;s:1:"0";i:2;s:3:"609";i:3;s:3:"784";}}s:8:"multiply";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:8:"multiply";s:1:"B";a:4:{i:0;s:2:"81";i:1;s:2:"39";i:2;s:3:"520";i:3;s:3:"478";}}s:6:"uacute";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:6:"uacute";s:1:"B";a:4:{i:0;s:2:"-1";i:1;s:3:"-15";i:2;s:3:"569";i:3;s:3:"661";}}s:6:"Tcaron";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:6:"Tcaron";s:1:"B";a:4:{i:0;s:2:"21";i:1;s:1:"0";i:2;s:3:"579";i:3;s:3:"790";}}s:11:"partialdiff";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:11:"partialdiff";s:1:"B";a:4:{i:0;s:2:"63";i:1;s:3:"-38";i:2;s:3:"537";i:3;s:3:"728";}}s:9:"ydieresis";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:9:"ydieresis";s:1:"B";a:4:{i:0;s:2:"-4";i:1;s:4:"-142";i:2;s:3:"601";i:3;s:3:"638";}}s:6:"Nacute";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:6:"Nacute";s:1:"B";a:4:{i:0;s:1:"8";i:1;s:3:"-12";i:2;s:3:"610";i:3;s:3:"784";}}s:11:"icircumflex";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:11:"icircumflex";s:1:"B";a:4:{i:0;s:2:"73";i:1;s:1:"0";i:2;s:3:"523";i:3;s:3:"657";}}s:11:"Ecircumflex";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:11:"Ecircumflex";s:1:"B";a:4:{i:0;s:2:"25";i:1;s:1:"0";i:2;s:3:"560";i:3;s:3:"780";}}s:9:"adieresis";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:9:"adieresis";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:3:"-15";i:2;s:3:"570";i:3;s:3:"638";}}s:9:"edieresis";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:9:"edieresis";s:1:"B";a:4:{i:0;s:2:"40";i:1;s:3:"-15";i:2;s:3:"563";i:3;s:3:"638";}}s:6:"cacute";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:6:"cacute";s:1:"B";a:4:{i:0;s:2:"40";i:1;s:3:"-15";i:2;s:3:"545";i:3;s:3:"661";}}s:6:"nacute";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:6:"nacute";s:1:"B";a:4:{i:0;s:2:"18";i:1;s:1:"0";i:2;s:3:"592";i:3;s:3:"661";}}s:7:"umacron";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:7:"umacron";s:1:"B";a:4:{i:0;s:2:"-1";i:1;s:3:"-15";i:2;s:3:"569";i:3;s:3:"585";}}s:6:"Ncaron";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:6:"Ncaron";s:1:"B";a:4:{i:0;s:1:"8";i:1;s:3:"-12";i:2;s:3:"610";i:3;s:3:"790";}}s:6:"Iacute";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:6:"Iacute";s:1:"B";a:4:{i:0;s:2:"77";i:1;s:1:"0";i:2;s:3:"523";i:3;s:3:"784";}}s:9:"plusminus";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:9:"plusminus";s:1:"B";a:4:{i:0;s:2:"71";i:1;s:2:"24";i:2;s:3:"529";i:3;s:3:"515";}}s:9:"brokenbar";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:9:"brokenbar";s:1:"B";a:4:{i:0;s:3:"255";i:1;s:4:"-175";i:2;s:3:"345";i:3;s:3:"675";}}s:10:"registered";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:10:"registered";s:1:"B";a:4:{i:0;s:1:"0";i:1;s:3:"-18";i:2;s:3:"600";i:3;s:3:"580";}}s:6:"Gbreve";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:6:"Gbreve";s:1:"B";a:4:{i:0;s:2:"22";i:1;s:3:"-18";i:2;s:3:"594";i:3;s:3:"784";}}s:10:"Idotaccent";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:10:"Idotaccent";s:1:"B";a:4:{i:0;s:2:"77";i:1;s:1:"0";i:2;s:3:"523";i:3;s:3:"761";}}s:9:"summation";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:9:"summation";s:1:"B";a:4:{i:0;s:2:"15";i:1;s:3:"-10";i:2;s:3:"586";i:3;s:3:"706";}}s:6:"Egrave";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:6:"Egrave";s:1:"B";a:4:{i:0;s:2:"25";i:1;s:1:"0";i:2;s:3:"560";i:3;s:3:"784";}}s:6:"racute";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:6:"racute";s:1:"B";a:4:{i:0;s:2:"47";i:1;s:1:"0";i:2;s:3:"580";i:3;s:3:"661";}}s:7:"omacron";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:7:"omacron";s:1:"B";a:4:{i:0;s:2:"30";i:1;s:3:"-15";i:2;s:3:"570";i:3;s:3:"585";}}s:6:"Zacute";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:6:"Zacute";s:1:"B";a:4:{i:0;s:2:"62";i:1;s:1:"0";i:2;s:3:"539";i:3;s:3:"784";}}s:6:"Zcaron";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:6:"Zcaron";s:1:"B";a:4:{i:0;s:2:"62";i:1;s:1:"0";i:2;s:3:"539";i:3;s:3:"790";}}s:12:"greaterequal";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:12:"greaterequal";s:1:"B";a:4:{i:0;s:2:"26";i:1;s:1:"0";i:2;s:3:"523";i:3;s:3:"696";}}s:3:"Eth";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:3:"Eth";s:1:"B";a:4:{i:0;s:2:"30";i:1;s:1:"0";i:2;s:3:"594";i:3;s:3:"562";}}s:8:"Ccedilla";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:8:"Ccedilla";s:1:"B";a:4:{i:0;s:2:"22";i:1;s:4:"-206";i:2;s:3:"560";i:3;s:3:"580";}}s:12:"lcommaaccent";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:12:"lcommaaccent";s:1:"B";a:4:{i:0;s:2:"77";i:1;s:4:"-250";i:2;s:3:"523";i:3;s:3:"626";}}s:6:"tcaron";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:6:"tcaron";s:1:"B";a:4:{i:0;s:2:"47";i:1;s:3:"-15";i:2;s:3:"532";i:3;s:3:"703";}}s:7:"eogonek";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:7:"eogonek";s:1:"B";a:4:{i:0;s:2:"40";i:1;s:4:"-199";i:2;s:3:"563";i:3;s:3:"454";}}s:7:"Uogonek";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:7:"Uogonek";s:1:"B";a:4:{i:0;s:1:"4";i:1;s:4:"-199";i:2;s:3:"596";i:3;s:3:"562";}}s:6:"Aacute";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:6:"Aacute";s:1:"B";a:4:{i:0;s:2:"-9";i:1;s:1:"0";i:2;s:3:"609";i:3;s:3:"784";}}s:9:"Adieresis";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:9:"Adieresis";s:1:"B";a:4:{i:0;s:2:"-9";i:1;s:1:"0";i:2;s:3:"609";i:3;s:3:"761";}}s:6:"egrave";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:6:"egrave";s:1:"B";a:4:{i:0;s:2:"40";i:1;s:3:"-15";i:2;s:3:"563";i:3;s:3:"661";}}s:6:"zacute";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:6:"zacute";s:1:"B";a:4:{i:0;s:2:"81";i:1;s:1:"0";i:2;s:3:"520";i:3;s:3:"661";}}s:7:"iogonek";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:7:"iogonek";s:1:"B";a:4:{i:0;s:2:"77";i:1;s:4:"-199";i:2;s:3:"523";i:3;s:3:"658";}}s:6:"Oacute";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:6:"Oacute";s:1:"B";a:4:{i:0;s:2:"22";i:1;s:3:"-18";i:2;s:3:"578";i:3;s:3:"784";}}s:6:"oacute";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:6:"oacute";s:1:"B";a:4:{i:0;s:2:"30";i:1;s:3:"-15";i:2;s:3:"570";i:3;s:3:"661";}}s:7:"amacron";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:7:"amacron";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:3:"-15";i:2;s:3:"570";i:3;s:3:"585";}}s:6:"sacute";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:6:"sacute";s:1:"B";a:4:{i:0;s:2:"68";i:1;s:3:"-17";i:2;s:3:"535";i:3;s:3:"661";}}s:9:"idieresis";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:9:"idieresis";s:1:"B";a:4:{i:0;s:2:"77";i:1;s:1:"0";i:2;s:3:"523";i:3;s:3:"618";}}s:11:"Ocircumflex";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:11:"Ocircumflex";s:1:"B";a:4:{i:0;s:2:"22";i:1;s:3:"-18";i:2;s:3:"578";i:3;s:3:"780";}}s:6:"Ugrave";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:6:"Ugrave";s:1:"B";a:4:{i:0;s:1:"4";i:1;s:3:"-18";i:2;s:3:"596";i:3;s:3:"784";}}s:5:"Delta";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:5:"Delta";s:1:"B";a:4:{i:0;s:1:"6";i:1;s:1:"0";i:2;s:3:"594";i:3;s:3:"688";}}s:5:"thorn";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:5:"thorn";s:1:"B";a:4:{i:0;s:3:"-14";i:1;s:4:"-142";i:2;s:3:"570";i:3;s:3:"626";}}s:11:"twosuperior";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:11:"twosuperior";s:1:"B";a:4:{i:0;s:3:"143";i:1;s:3:"230";i:2;s:3:"436";i:3;s:3:"616";}}s:9:"Odieresis";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:9:"Odieresis";s:1:"B";a:4:{i:0;s:2:"22";i:1;s:3:"-18";i:2;s:3:"578";i:3;s:3:"761";}}s:2:"mu";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:2:"mu";s:1:"B";a:4:{i:0;s:2:"-1";i:1;s:4:"-142";i:2;s:3:"569";i:3;s:3:"439";}}s:6:"igrave";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:6:"igrave";s:1:"B";a:4:{i:0;s:2:"77";i:1;s:1:"0";i:2;s:3:"523";i:3;s:3:"661";}}s:13:"ohungarumlaut";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:13:"ohungarumlaut";s:1:"B";a:4:{i:0;s:2:"30";i:1;s:3:"-15";i:2;s:3:"668";i:3;s:3:"661";}}s:7:"Eogonek";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:7:"Eogonek";s:1:"B";a:4:{i:0;s:2:"25";i:1;s:4:"-199";i:2;s:3:"576";i:3;s:3:"562";}}s:6:"dcroat";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:6:"dcroat";s:1:"B";a:4:{i:0;s:2:"20";i:1;s:3:"-15";i:2;s:3:"591";i:3;s:3:"626";}}s:13:"threequarters";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:13:"threequarters";s:1:"B";a:4:{i:0;s:3:"-47";i:1;s:3:"-60";i:2;s:3:"648";i:3;s:3:"661";}}s:8:"Scedilla";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:8:"Scedilla";s:1:"B";a:4:{i:0;s:2:"47";i:1;s:4:"-206";i:2;s:3:"553";i:3;s:3:"582";}}s:6:"lcaron";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:6:"lcaron";s:1:"B";a:4:{i:0;s:2:"77";i:1;s:1:"0";i:2;s:3:"597";i:3;s:3:"626";}}s:12:"Kcommaaccent";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:12:"Kcommaaccent";s:1:"B";a:4:{i:0;s:2:"21";i:1;s:4:"-250";i:2;s:3:"599";i:3;s:3:"562";}}s:6:"Lacute";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:6:"Lacute";s:1:"B";a:4:{i:0;s:2:"39";i:1;s:1:"0";i:2;s:3:"578";i:3;s:3:"784";}}s:9:"trademark";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:9:"trademark";s:1:"B";a:4:{i:0;s:2:"-9";i:1;s:3:"230";i:2;s:3:"749";i:3;s:3:"562";}}s:10:"edotaccent";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:10:"edotaccent";s:1:"B";a:4:{i:0;s:2:"40";i:1;s:3:"-15";i:2;s:3:"563";i:3;s:3:"638";}}s:6:"Igrave";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:6:"Igrave";s:1:"B";a:4:{i:0;s:2:"77";i:1;s:1:"0";i:2;s:3:"523";i:3;s:3:"784";}}s:7:"Imacron";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:7:"Imacron";s:1:"B";a:4:{i:0;s:2:"77";i:1;s:1:"0";i:2;s:3:"523";i:3;s:3:"708";}}s:6:"Lcaron";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:6:"Lcaron";s:1:"B";a:4:{i:0;s:2:"39";i:1;s:1:"0";i:2;s:3:"637";i:3;s:3:"562";}}s:7:"onehalf";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:7:"onehalf";s:1:"B";a:4:{i:0;s:3:"-47";i:1;s:3:"-60";i:2;s:3:"648";i:3;s:3:"661";}}s:9:"lessequal";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:9:"lessequal";s:1:"B";a:4:{i:0;s:2:"26";i:1;s:1:"0";i:2;s:3:"523";i:3;s:3:"696";}}s:11:"ocircumflex";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:11:"ocircumflex";s:1:"B";a:4:{i:0;s:2:"30";i:1;s:3:"-15";i:2;s:3:"570";i:3;s:3:"657";}}s:6:"ntilde";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:6:"ntilde";s:1:"B";a:4:{i:0;s:2:"18";i:1;s:1:"0";i:2;s:3:"592";i:3;s:3:"636";}}s:13:"Uhungarumlaut";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:13:"Uhungarumlaut";s:1:"B";a:4:{i:0;s:1:"4";i:1;s:3:"-18";i:2;s:3:"638";i:3;s:3:"784";}}s:6:"Eacute";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:6:"Eacute";s:1:"B";a:4:{i:0;s:2:"25";i:1;s:1:"0";i:2;s:3:"560";i:3;s:3:"784";}}s:7:"emacron";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:7:"emacron";s:1:"B";a:4:{i:0;s:2:"40";i:1;s:3:"-15";i:2;s:3:"563";i:3;s:3:"585";}}s:6:"gbreve";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:6:"gbreve";s:1:"B";a:4:{i:0;s:2:"30";i:1;s:4:"-146";i:2;s:3:"580";i:3;s:3:"661";}}s:10:"onequarter";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:10:"onequarter";s:1:"B";a:4:{i:0;s:3:"-56";i:1;s:3:"-60";i:2;s:3:"656";i:3;s:3:"661";}}s:6:"Scaron";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:6:"Scaron";s:1:"B";a:4:{i:0;s:2:"47";i:1;s:3:"-22";i:2;s:3:"553";i:3;s:3:"790";}}s:12:"Scommaaccent";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:12:"Scommaaccent";s:1:"B";a:4:{i:0;s:2:"47";i:1;s:4:"-250";i:2;s:3:"553";i:3;s:3:"582";}}s:13:"Ohungarumlaut";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:13:"Ohungarumlaut";s:1:"B";a:4:{i:0;s:2:"22";i:1;s:3:"-18";i:2;s:3:"628";i:3;s:3:"784";}}s:6:"degree";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:6:"degree";s:1:"B";a:4:{i:0;s:2:"86";i:1;s:3:"243";i:2;s:3:"474";i:3;s:3:"616";}}s:6:"ograve";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:6:"ograve";s:1:"B";a:4:{i:0;s:2:"30";i:1;s:3:"-15";i:2;s:3:"570";i:3;s:3:"661";}}s:6:"Ccaron";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:6:"Ccaron";s:1:"B";a:4:{i:0;s:2:"22";i:1;s:3:"-18";i:2;s:3:"560";i:3;s:3:"790";}}s:6:"ugrave";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:6:"ugrave";s:1:"B";a:4:{i:0;s:2:"-1";i:1;s:3:"-15";i:2;s:3:"569";i:3;s:3:"661";}}s:7:"radical";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:7:"radical";s:1:"B";a:4:{i:0;s:3:"-19";i:1;s:4:"-104";i:2;s:3:"473";i:3;s:3:"778";}}s:6:"Dcaron";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:6:"Dcaron";s:1:"B";a:4:{i:0;s:2:"30";i:1;s:1:"0";i:2;s:3:"594";i:3;s:3:"790";}}s:12:"rcommaaccent";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:12:"rcommaaccent";s:1:"B";a:4:{i:0;s:2:"47";i:1;s:4:"-250";i:2;s:3:"580";i:3;s:3:"454";}}s:6:"Ntilde";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:6:"Ntilde";s:1:"B";a:4:{i:0;s:1:"8";i:1;s:3:"-12";i:2;s:3:"610";i:3;s:3:"759";}}s:6:"otilde";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:6:"otilde";s:1:"B";a:4:{i:0;s:2:"30";i:1;s:3:"-15";i:2;s:3:"570";i:3;s:3:"636";}}s:12:"Rcommaaccent";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:12:"Rcommaaccent";s:1:"B";a:4:{i:0;s:2:"24";i:1;s:4:"-250";i:2;s:3:"599";i:3;s:3:"562";}}s:12:"Lcommaaccent";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:12:"Lcommaaccent";s:1:"B";a:4:{i:0;s:2:"39";i:1;s:4:"-250";i:2;s:3:"578";i:3;s:3:"562";}}s:6:"Atilde";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:6:"Atilde";s:1:"B";a:4:{i:0;s:2:"-9";i:1;s:1:"0";i:2;s:3:"609";i:3;s:3:"759";}}s:7:"Aogonek";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:7:"Aogonek";s:1:"B";a:4:{i:0;s:2:"-9";i:1;s:4:"-199";i:2;s:3:"625";i:3;s:3:"562";}}s:5:"Aring";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:5:"Aring";s:1:"B";a:4:{i:0;s:2:"-9";i:1;s:1:"0";i:2;s:3:"609";i:3;s:3:"801";}}s:6:"Otilde";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:6:"Otilde";s:1:"B";a:4:{i:0;s:2:"22";i:1;s:3:"-18";i:2;s:3:"578";i:3;s:3:"759";}}s:10:"zdotaccent";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:10:"zdotaccent";s:1:"B";a:4:{i:0;s:2:"81";i:1;s:1:"0";i:2;s:3:"520";i:3;s:3:"638";}}s:6:"Ecaron";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:6:"Ecaron";s:1:"B";a:4:{i:0;s:2:"25";i:1;s:1:"0";i:2;s:3:"560";i:3;s:3:"790";}}s:7:"Iogonek";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:7:"Iogonek";s:1:"B";a:4:{i:0;s:2:"77";i:1;s:4:"-199";i:2;s:3:"523";i:3;s:3:"562";}}s:12:"kcommaaccent";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:12:"kcommaaccent";s:1:"B";a:4:{i:0;s:2:"20";i:1;s:4:"-250";i:2;s:3:"585";i:3;s:3:"626";}}s:5:"minus";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:5:"minus";s:1:"B";a:4:{i:0;s:2:"71";i:1;s:3:"203";i:2;s:3:"529";i:3;s:3:"313";}}s:11:"Icircumflex";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:11:"Icircumflex";s:1:"B";a:4:{i:0;s:2:"77";i:1;s:1:"0";i:2;s:3:"523";i:3;s:3:"780";}}s:6:"ncaron";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:6:"ncaron";s:1:"B";a:4:{i:0;s:2:"18";i:1;s:1:"0";i:2;s:3:"592";i:3;s:3:"667";}}s:12:"tcommaaccent";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:12:"tcommaaccent";s:1:"B";a:4:{i:0;s:2:"47";i:1;s:4:"-250";i:2;s:3:"532";i:3;s:3:"562";}}s:10:"logicalnot";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:10:"logicalnot";s:1:"B";a:4:{i:0;s:2:"71";i:1;s:3:"103";i:2;s:3:"529";i:3;s:3:"413";}}s:9:"odieresis";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:9:"odieresis";s:1:"B";a:4:{i:0;s:2:"30";i:1;s:3:"-15";i:2;s:3:"570";i:3;s:3:"638";}}s:9:"udieresis";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:9:"udieresis";s:1:"B";a:4:{i:0;s:2:"-1";i:1;s:3:"-15";i:2;s:3:"569";i:3;s:3:"638";}}s:8:"notequal";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:8:"notequal";s:1:"B";a:4:{i:0;s:2:"12";i:1;s:3:"-47";i:2;s:3:"537";i:3;s:3:"563";}}s:12:"gcommaaccent";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:12:"gcommaaccent";s:1:"B";a:4:{i:0;s:2:"30";i:1;s:4:"-146";i:2;s:3:"580";i:3;s:3:"714";}}s:3:"eth";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:3:"eth";s:1:"B";a:4:{i:0;s:2:"58";i:1;s:3:"-27";i:2;s:3:"543";i:3;s:3:"626";}}s:6:"zcaron";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:6:"zcaron";s:1:"B";a:4:{i:0;s:2:"81";i:1;s:1:"0";i:2;s:3:"520";i:3;s:3:"667";}}s:12:"ncommaaccent";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:12:"ncommaaccent";s:1:"B";a:4:{i:0;s:2:"18";i:1;s:4:"-250";i:2;s:3:"592";i:3;s:3:"454";}}s:11:"onesuperior";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:11:"onesuperior";s:1:"B";a:4:{i:0;s:3:"153";i:1;s:3:"230";i:2;s:3:"447";i:3;s:3:"616";}}s:7:"imacron";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:7:"imacron";s:1:"B";a:4:{i:0;s:2:"77";i:1;s:1:"0";i:2;s:3:"523";i:3;s:3:"585";}}s:4:"Euro";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:4:"Euro";s:1:"B";a:4:{i:0;s:1:"0";i:1;s:1:"0";i:2;s:1:"0";i:3;s:1:"0";}}}s:9:"_version_";i:1;}
\ No newline at end of file diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/PDF/default/templates/fonts/php_Courier-BoldOblique.afm b/buildscripts/PhpDocumentor/phpDocumentor/Converters/PDF/default/templates/fonts/php_Courier-BoldOblique.afm new file mode 100755 index 00000000..b5875073 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/PDF/default/templates/fonts/php_Courier-BoldOblique.afm @@ -0,0 +1 @@ +a:21:{s:8:"FontName";s:19:"Courier-BoldOblique";s:8:"FullName";s:20:"Courier Bold Oblique";s:10:"FamilyName";s:7:"Courier";s:6:"Weight";s:4:"Bold";s:11:"ItalicAngle";s:3:"-12";s:12:"IsFixedPitch";s:4:"true";s:12:"CharacterSet";s:13:"ExtendedRoman";s:8:"FontBBox";a:4:{i:0;s:3:"-57";i:1;s:4:"-250";i:2;s:3:"869";i:3;s:3:"801";}s:17:"UnderlinePosition";s:4:"-100";s:18:"UnderlineThickness";s:2:"50";s:7:"Version";s:7:"003.000";s:14:"EncodingScheme";s:21:"AdobeStandardEncoding";s:9:"CapHeight";s:3:"562";s:7:"XHeight";s:3:"439";s:8:"Ascender";s:3:"629";s:9:"Descender";s:4:"-157";s:5:"StdHW";s:2:"84";s:5:"StdVW";s:3:"106";s:16:"StartCharMetrics";s:3:"315";s:1:"C";a:464:{i:32;a:4:{s:1:"C";s:2:"32";s:2:"WX";s:3:"600";s:1:"N";s:5:"space";s:1:"B";a:4:{i:0;s:1:"0";i:1;s:1:"0";i:2;s:1:"0";i:3;s:1:"0";}}s:5:"space";a:4:{s:1:"C";s:2:"32";s:2:"WX";s:3:"600";s:1:"N";s:5:"space";s:1:"B";a:4:{i:0;s:1:"0";i:1;s:1:"0";i:2;s:1:"0";i:3;s:1:"0";}}i:33;a:4:{s:1:"C";s:2:"33";s:2:"WX";s:3:"600";s:1:"N";s:6:"exclam";s:1:"B";a:4:{i:0;s:3:"215";i:1;s:3:"-15";i:2;s:3:"495";i:3;s:3:"572";}}s:6:"exclam";a:4:{s:1:"C";s:2:"33";s:2:"WX";s:3:"600";s:1:"N";s:6:"exclam";s:1:"B";a:4:{i:0;s:3:"215";i:1;s:3:"-15";i:2;s:3:"495";i:3;s:3:"572";}}i:34;a:4:{s:1:"C";s:2:"34";s:2:"WX";s:3:"600";s:1:"N";s:8:"quotedbl";s:1:"B";a:4:{i:0;s:3:"211";i:1;s:3:"277";i:2;s:3:"585";i:3;s:3:"562";}}s:8:"quotedbl";a:4:{s:1:"C";s:2:"34";s:2:"WX";s:3:"600";s:1:"N";s:8:"quotedbl";s:1:"B";a:4:{i:0;s:3:"211";i:1;s:3:"277";i:2;s:3:"585";i:3;s:3:"562";}}i:35;a:4:{s:1:"C";s:2:"35";s:2:"WX";s:3:"600";s:1:"N";s:10:"numbersign";s:1:"B";a:4:{i:0;s:2:"88";i:1;s:3:"-45";i:2;s:3:"641";i:3;s:3:"651";}}s:10:"numbersign";a:4:{s:1:"C";s:2:"35";s:2:"WX";s:3:"600";s:1:"N";s:10:"numbersign";s:1:"B";a:4:{i:0;s:2:"88";i:1;s:3:"-45";i:2;s:3:"641";i:3;s:3:"651";}}i:36;a:4:{s:1:"C";s:2:"36";s:2:"WX";s:3:"600";s:1:"N";s:6:"dollar";s:1:"B";a:4:{i:0;s:2:"87";i:1;s:4:"-126";i:2;s:3:"630";i:3;s:3:"666";}}s:6:"dollar";a:4:{s:1:"C";s:2:"36";s:2:"WX";s:3:"600";s:1:"N";s:6:"dollar";s:1:"B";a:4:{i:0;s:2:"87";i:1;s:4:"-126";i:2;s:3:"630";i:3;s:3:"666";}}i:37;a:4:{s:1:"C";s:2:"37";s:2:"WX";s:3:"600";s:1:"N";s:7:"percent";s:1:"B";a:4:{i:0;s:3:"101";i:1;s:3:"-15";i:2;s:3:"625";i:3;s:3:"616";}}s:7:"percent";a:4:{s:1:"C";s:2:"37";s:2:"WX";s:3:"600";s:1:"N";s:7:"percent";s:1:"B";a:4:{i:0;s:3:"101";i:1;s:3:"-15";i:2;s:3:"625";i:3;s:3:"616";}}i:38;a:4:{s:1:"C";s:2:"38";s:2:"WX";s:3:"600";s:1:"N";s:9:"ampersand";s:1:"B";a:4:{i:0;s:2:"61";i:1;s:3:"-15";i:2;s:3:"595";i:3;s:3:"543";}}s:9:"ampersand";a:4:{s:1:"C";s:2:"38";s:2:"WX";s:3:"600";s:1:"N";s:9:"ampersand";s:1:"B";a:4:{i:0;s:2:"61";i:1;s:3:"-15";i:2;s:3:"595";i:3;s:3:"543";}}i:39;a:4:{s:1:"C";s:2:"39";s:2:"WX";s:3:"600";s:1:"N";s:10:"quoteright";s:1:"B";a:4:{i:0;s:3:"229";i:1;s:3:"277";i:2;s:3:"543";i:3;s:3:"562";}}s:10:"quoteright";a:4:{s:1:"C";s:2:"39";s:2:"WX";s:3:"600";s:1:"N";s:10:"quoteright";s:1:"B";a:4:{i:0;s:3:"229";i:1;s:3:"277";i:2;s:3:"543";i:3;s:3:"562";}}i:40;a:4:{s:1:"C";s:2:"40";s:2:"WX";s:3:"600";s:1:"N";s:9:"parenleft";s:1:"B";a:4:{i:0;s:3:"265";i:1;s:4:"-102";i:2;s:3:"592";i:3;s:3:"616";}}s:9:"parenleft";a:4:{s:1:"C";s:2:"40";s:2:"WX";s:3:"600";s:1:"N";s:9:"parenleft";s:1:"B";a:4:{i:0;s:3:"265";i:1;s:4:"-102";i:2;s:3:"592";i:3;s:3:"616";}}i:41;a:4:{s:1:"C";s:2:"41";s:2:"WX";s:3:"600";s:1:"N";s:10:"parenright";s:1:"B";a:4:{i:0;s:3:"117";i:1;s:4:"-102";i:2;s:3:"444";i:3;s:3:"616";}}s:10:"parenright";a:4:{s:1:"C";s:2:"41";s:2:"WX";s:3:"600";s:1:"N";s:10:"parenright";s:1:"B";a:4:{i:0;s:3:"117";i:1;s:4:"-102";i:2;s:3:"444";i:3;s:3:"616";}}i:42;a:4:{s:1:"C";s:2:"42";s:2:"WX";s:3:"600";s:1:"N";s:8:"asterisk";s:1:"B";a:4:{i:0;s:3:"179";i:1;s:3:"219";i:2;s:3:"598";i:3;s:3:"601";}}s:8:"asterisk";a:4:{s:1:"C";s:2:"42";s:2:"WX";s:3:"600";s:1:"N";s:8:"asterisk";s:1:"B";a:4:{i:0;s:3:"179";i:1;s:3:"219";i:2;s:3:"598";i:3;s:3:"601";}}i:43;a:4:{s:1:"C";s:2:"43";s:2:"WX";s:3:"600";s:1:"N";s:4:"plus";s:1:"B";a:4:{i:0;s:3:"114";i:1;s:2:"39";i:2;s:3:"596";i:3;s:3:"478";}}s:4:"plus";a:4:{s:1:"C";s:2:"43";s:2:"WX";s:3:"600";s:1:"N";s:4:"plus";s:1:"B";a:4:{i:0;s:3:"114";i:1;s:2:"39";i:2;s:3:"596";i:3;s:3:"478";}}i:44;a:4:{s:1:"C";s:2:"44";s:2:"WX";s:3:"600";s:1:"N";s:5:"comma";s:1:"B";a:4:{i:0;s:2:"99";i:1;s:4:"-111";i:2;s:3:"430";i:3;s:3:"174";}}s:5:"comma";a:4:{s:1:"C";s:2:"44";s:2:"WX";s:3:"600";s:1:"N";s:5:"comma";s:1:"B";a:4:{i:0;s:2:"99";i:1;s:4:"-111";i:2;s:3:"430";i:3;s:3:"174";}}i:45;a:4:{s:1:"C";s:2:"45";s:2:"WX";s:3:"600";s:1:"N";s:6:"hyphen";s:1:"B";a:4:{i:0;s:3:"143";i:1;s:3:"203";i:2;s:3:"567";i:3;s:3:"313";}}s:6:"hyphen";a:4:{s:1:"C";s:2:"45";s:2:"WX";s:3:"600";s:1:"N";s:6:"hyphen";s:1:"B";a:4:{i:0;s:3:"143";i:1;s:3:"203";i:2;s:3:"567";i:3;s:3:"313";}}i:46;a:4:{s:1:"C";s:2:"46";s:2:"WX";s:3:"600";s:1:"N";s:6:"period";s:1:"B";a:4:{i:0;s:3:"206";i:1;s:3:"-15";i:2;s:3:"427";i:3;s:3:"171";}}s:6:"period";a:4:{s:1:"C";s:2:"46";s:2:"WX";s:3:"600";s:1:"N";s:6:"period";s:1:"B";a:4:{i:0;s:3:"206";i:1;s:3:"-15";i:2;s:3:"427";i:3;s:3:"171";}}i:47;a:4:{s:1:"C";s:2:"47";s:2:"WX";s:3:"600";s:1:"N";s:5:"slash";s:1:"B";a:4:{i:0;s:2:"90";i:1;s:3:"-77";i:2;s:3:"626";i:3;s:3:"626";}}s:5:"slash";a:4:{s:1:"C";s:2:"47";s:2:"WX";s:3:"600";s:1:"N";s:5:"slash";s:1:"B";a:4:{i:0;s:2:"90";i:1;s:3:"-77";i:2;s:3:"626";i:3;s:3:"626";}}i:48;a:4:{s:1:"C";s:2:"48";s:2:"WX";s:3:"600";s:1:"N";s:4:"zero";s:1:"B";a:4:{i:0;s:3:"135";i:1;s:3:"-15";i:2;s:3:"593";i:3;s:3:"616";}}s:4:"zero";a:4:{s:1:"C";s:2:"48";s:2:"WX";s:3:"600";s:1:"N";s:4:"zero";s:1:"B";a:4:{i:0;s:3:"135";i:1;s:3:"-15";i:2;s:3:"593";i:3;s:3:"616";}}i:49;a:4:{s:1:"C";s:2:"49";s:2:"WX";s:3:"600";s:1:"N";s:3:"one";s:1:"B";a:4:{i:0;s:2:"93";i:1;s:1:"0";i:2;s:3:"562";i:3;s:3:"616";}}s:3:"one";a:4:{s:1:"C";s:2:"49";s:2:"WX";s:3:"600";s:1:"N";s:3:"one";s:1:"B";a:4:{i:0;s:2:"93";i:1;s:1:"0";i:2;s:3:"562";i:3;s:3:"616";}}i:50;a:4:{s:1:"C";s:2:"50";s:2:"WX";s:3:"600";s:1:"N";s:3:"two";s:1:"B";a:4:{i:0;s:2:"61";i:1;s:1:"0";i:2;s:3:"594";i:3;s:3:"616";}}s:3:"two";a:4:{s:1:"C";s:2:"50";s:2:"WX";s:3:"600";s:1:"N";s:3:"two";s:1:"B";a:4:{i:0;s:2:"61";i:1;s:1:"0";i:2;s:3:"594";i:3;s:3:"616";}}i:51;a:4:{s:1:"C";s:2:"51";s:2:"WX";s:3:"600";s:1:"N";s:5:"three";s:1:"B";a:4:{i:0;s:2:"71";i:1;s:3:"-15";i:2;s:3:"571";i:3;s:3:"616";}}s:5:"three";a:4:{s:1:"C";s:2:"51";s:2:"WX";s:3:"600";s:1:"N";s:5:"three";s:1:"B";a:4:{i:0;s:2:"71";i:1;s:3:"-15";i:2;s:3:"571";i:3;s:3:"616";}}i:52;a:4:{s:1:"C";s:2:"52";s:2:"WX";s:3:"600";s:1:"N";s:4:"four";s:1:"B";a:4:{i:0;s:2:"81";i:1;s:1:"0";i:2;s:3:"559";i:3;s:3:"616";}}s:4:"four";a:4:{s:1:"C";s:2:"52";s:2:"WX";s:3:"600";s:1:"N";s:4:"four";s:1:"B";a:4:{i:0;s:2:"81";i:1;s:1:"0";i:2;s:3:"559";i:3;s:3:"616";}}i:53;a:4:{s:1:"C";s:2:"53";s:2:"WX";s:3:"600";s:1:"N";s:4:"five";s:1:"B";a:4:{i:0;s:2:"77";i:1;s:3:"-15";i:2;s:3:"621";i:3;s:3:"601";}}s:4:"five";a:4:{s:1:"C";s:2:"53";s:2:"WX";s:3:"600";s:1:"N";s:4:"five";s:1:"B";a:4:{i:0;s:2:"77";i:1;s:3:"-15";i:2;s:3:"621";i:3;s:3:"601";}}i:54;a:4:{s:1:"C";s:2:"54";s:2:"WX";s:3:"600";s:1:"N";s:3:"six";s:1:"B";a:4:{i:0;s:3:"135";i:1;s:3:"-15";i:2;s:3:"652";i:3;s:3:"616";}}s:3:"six";a:4:{s:1:"C";s:2:"54";s:2:"WX";s:3:"600";s:1:"N";s:3:"six";s:1:"B";a:4:{i:0;s:3:"135";i:1;s:3:"-15";i:2;s:3:"652";i:3;s:3:"616";}}i:55;a:4:{s:1:"C";s:2:"55";s:2:"WX";s:3:"600";s:1:"N";s:5:"seven";s:1:"B";a:4:{i:0;s:3:"147";i:1;s:1:"0";i:2;s:3:"622";i:3;s:3:"601";}}s:5:"seven";a:4:{s:1:"C";s:2:"55";s:2:"WX";s:3:"600";s:1:"N";s:5:"seven";s:1:"B";a:4:{i:0;s:3:"147";i:1;s:1:"0";i:2;s:3:"622";i:3;s:3:"601";}}i:56;a:4:{s:1:"C";s:2:"56";s:2:"WX";s:3:"600";s:1:"N";s:5:"eight";s:1:"B";a:4:{i:0;s:3:"115";i:1;s:3:"-15";i:2;s:3:"604";i:3;s:3:"616";}}s:5:"eight";a:4:{s:1:"C";s:2:"56";s:2:"WX";s:3:"600";s:1:"N";s:5:"eight";s:1:"B";a:4:{i:0;s:3:"115";i:1;s:3:"-15";i:2;s:3:"604";i:3;s:3:"616";}}i:57;a:4:{s:1:"C";s:2:"57";s:2:"WX";s:3:"600";s:1:"N";s:4:"nine";s:1:"B";a:4:{i:0;s:2:"75";i:1;s:3:"-15";i:2;s:3:"592";i:3;s:3:"616";}}s:4:"nine";a:4:{s:1:"C";s:2:"57";s:2:"WX";s:3:"600";s:1:"N";s:4:"nine";s:1:"B";a:4:{i:0;s:2:"75";i:1;s:3:"-15";i:2;s:3:"592";i:3;s:3:"616";}}i:58;a:4:{s:1:"C";s:2:"58";s:2:"WX";s:3:"600";s:1:"N";s:5:"colon";s:1:"B";a:4:{i:0;s:3:"205";i:1;s:3:"-15";i:2;s:3:"480";i:3;s:3:"425";}}s:5:"colon";a:4:{s:1:"C";s:2:"58";s:2:"WX";s:3:"600";s:1:"N";s:5:"colon";s:1:"B";a:4:{i:0;s:3:"205";i:1;s:3:"-15";i:2;s:3:"480";i:3;s:3:"425";}}i:59;a:4:{s:1:"C";s:2:"59";s:2:"WX";s:3:"600";s:1:"N";s:9:"semicolon";s:1:"B";a:4:{i:0;s:2:"99";i:1;s:4:"-111";i:2;s:3:"481";i:3;s:3:"425";}}s:9:"semicolon";a:4:{s:1:"C";s:2:"59";s:2:"WX";s:3:"600";s:1:"N";s:9:"semicolon";s:1:"B";a:4:{i:0;s:2:"99";i:1;s:4:"-111";i:2;s:3:"481";i:3;s:3:"425";}}i:60;a:4:{s:1:"C";s:2:"60";s:2:"WX";s:3:"600";s:1:"N";s:4:"less";s:1:"B";a:4:{i:0;s:3:"120";i:1;s:2:"15";i:2;s:3:"613";i:3;s:3:"501";}}s:4:"less";a:4:{s:1:"C";s:2:"60";s:2:"WX";s:3:"600";s:1:"N";s:4:"less";s:1:"B";a:4:{i:0;s:3:"120";i:1;s:2:"15";i:2;s:3:"613";i:3;s:3:"501";}}i:61;a:4:{s:1:"C";s:2:"61";s:2:"WX";s:3:"600";s:1:"N";s:5:"equal";s:1:"B";a:4:{i:0;s:2:"96";i:1;s:3:"118";i:2;s:3:"614";i:3;s:3:"398";}}s:5:"equal";a:4:{s:1:"C";s:2:"61";s:2:"WX";s:3:"600";s:1:"N";s:5:"equal";s:1:"B";a:4:{i:0;s:2:"96";i:1;s:3:"118";i:2;s:3:"614";i:3;s:3:"398";}}i:62;a:4:{s:1:"C";s:2:"62";s:2:"WX";s:3:"600";s:1:"N";s:7:"greater";s:1:"B";a:4:{i:0;s:2:"97";i:1;s:2:"15";i:2;s:3:"589";i:3;s:3:"501";}}s:7:"greater";a:4:{s:1:"C";s:2:"62";s:2:"WX";s:3:"600";s:1:"N";s:7:"greater";s:1:"B";a:4:{i:0;s:2:"97";i:1;s:2:"15";i:2;s:3:"589";i:3;s:3:"501";}}i:63;a:4:{s:1:"C";s:2:"63";s:2:"WX";s:3:"600";s:1:"N";s:8:"question";s:1:"B";a:4:{i:0;s:3:"183";i:1;s:3:"-14";i:2;s:3:"592";i:3;s:3:"580";}}s:8:"question";a:4:{s:1:"C";s:2:"63";s:2:"WX";s:3:"600";s:1:"N";s:8:"question";s:1:"B";a:4:{i:0;s:3:"183";i:1;s:3:"-14";i:2;s:3:"592";i:3;s:3:"580";}}i:64;a:4:{s:1:"C";s:2:"64";s:2:"WX";s:3:"600";s:1:"N";s:2:"at";s:1:"B";a:4:{i:0;s:2:"65";i:1;s:3:"-15";i:2;s:3:"642";i:3;s:3:"616";}}s:2:"at";a:4:{s:1:"C";s:2:"64";s:2:"WX";s:3:"600";s:1:"N";s:2:"at";s:1:"B";a:4:{i:0;s:2:"65";i:1;s:3:"-15";i:2;s:3:"642";i:3;s:3:"616";}}i:65;a:4:{s:1:"C";s:2:"65";s:2:"WX";s:3:"600";s:1:"N";s:1:"A";s:1:"B";a:4:{i:0;s:2:"-9";i:1;s:1:"0";i:2;s:3:"632";i:3;s:3:"562";}}s:1:"A";a:4:{s:1:"C";s:2:"65";s:2:"WX";s:3:"600";s:1:"N";s:1:"A";s:1:"B";a:4:{i:0;s:2:"-9";i:1;s:1:"0";i:2;s:3:"632";i:3;s:3:"562";}}i:66;a:4:{s:1:"C";s:2:"66";s:2:"WX";s:3:"600";s:1:"N";s:1:"B";s:1:"B";a:4:{i:0;s:2:"30";i:1;s:1:"0";i:2;s:3:"630";i:3;s:3:"562";}}s:1:"B";a:4:{s:1:"C";s:2:"66";s:2:"WX";s:3:"600";s:1:"N";s:1:"B";s:1:"B";a:4:{i:0;s:2:"30";i:1;s:1:"0";i:2;s:3:"630";i:3;s:3:"562";}}i:67;a:4:{s:1:"C";s:2:"67";s:2:"WX";s:3:"600";s:1:"N";s:1:"C";s:1:"B";a:4:{i:0;s:2:"74";i:1;s:3:"-18";i:2;s:3:"675";i:3;s:3:"580";}}s:1:"C";a:4:{s:1:"C";s:2:"67";s:2:"WX";s:3:"600";s:1:"N";s:1:"C";s:1:"B";a:4:{i:0;s:2:"74";i:1;s:3:"-18";i:2;s:3:"675";i:3;s:3:"580";}}i:68;a:4:{s:1:"C";s:2:"68";s:2:"WX";s:3:"600";s:1:"N";s:1:"D";s:1:"B";a:4:{i:0;s:2:"30";i:1;s:1:"0";i:2;s:3:"664";i:3;s:3:"562";}}s:1:"D";a:4:{s:1:"C";s:2:"68";s:2:"WX";s:3:"600";s:1:"N";s:1:"D";s:1:"B";a:4:{i:0;s:2:"30";i:1;s:1:"0";i:2;s:3:"664";i:3;s:3:"562";}}i:69;a:4:{s:1:"C";s:2:"69";s:2:"WX";s:3:"600";s:1:"N";s:1:"E";s:1:"B";a:4:{i:0;s:2:"25";i:1;s:1:"0";i:2;s:3:"670";i:3;s:3:"562";}}s:1:"E";a:4:{s:1:"C";s:2:"69";s:2:"WX";s:3:"600";s:1:"N";s:1:"E";s:1:"B";a:4:{i:0;s:2:"25";i:1;s:1:"0";i:2;s:3:"670";i:3;s:3:"562";}}i:70;a:4:{s:1:"C";s:2:"70";s:2:"WX";s:3:"600";s:1:"N";s:1:"F";s:1:"B";a:4:{i:0;s:2:"39";i:1;s:1:"0";i:2;s:3:"684";i:3;s:3:"562";}}s:1:"F";a:4:{s:1:"C";s:2:"70";s:2:"WX";s:3:"600";s:1:"N";s:1:"F";s:1:"B";a:4:{i:0;s:2:"39";i:1;s:1:"0";i:2;s:3:"684";i:3;s:3:"562";}}i:71;a:4:{s:1:"C";s:2:"71";s:2:"WX";s:3:"600";s:1:"N";s:1:"G";s:1:"B";a:4:{i:0;s:2:"74";i:1;s:3:"-18";i:2;s:3:"675";i:3;s:3:"580";}}s:1:"G";a:4:{s:1:"C";s:2:"71";s:2:"WX";s:3:"600";s:1:"N";s:1:"G";s:1:"B";a:4:{i:0;s:2:"74";i:1;s:3:"-18";i:2;s:3:"675";i:3;s:3:"580";}}i:72;a:4:{s:1:"C";s:2:"72";s:2:"WX";s:3:"600";s:1:"N";s:1:"H";s:1:"B";a:4:{i:0;s:2:"20";i:1;s:1:"0";i:2;s:3:"700";i:3;s:3:"562";}}s:1:"H";a:4:{s:1:"C";s:2:"72";s:2:"WX";s:3:"600";s:1:"N";s:1:"H";s:1:"B";a:4:{i:0;s:2:"20";i:1;s:1:"0";i:2;s:3:"700";i:3;s:3:"562";}}i:73;a:4:{s:1:"C";s:2:"73";s:2:"WX";s:3:"600";s:1:"N";s:1:"I";s:1:"B";a:4:{i:0;s:2:"77";i:1;s:1:"0";i:2;s:3:"643";i:3;s:3:"562";}}s:1:"I";a:4:{s:1:"C";s:2:"73";s:2:"WX";s:3:"600";s:1:"N";s:1:"I";s:1:"B";a:4:{i:0;s:2:"77";i:1;s:1:"0";i:2;s:3:"643";i:3;s:3:"562";}}i:74;a:4:{s:1:"C";s:2:"74";s:2:"WX";s:3:"600";s:1:"N";s:1:"J";s:1:"B";a:4:{i:0;s:2:"58";i:1;s:3:"-18";i:2;s:3:"721";i:3;s:3:"562";}}s:1:"J";a:4:{s:1:"C";s:2:"74";s:2:"WX";s:3:"600";s:1:"N";s:1:"J";s:1:"B";a:4:{i:0;s:2:"58";i:1;s:3:"-18";i:2;s:3:"721";i:3;s:3:"562";}}i:75;a:4:{s:1:"C";s:2:"75";s:2:"WX";s:3:"600";s:1:"N";s:1:"K";s:1:"B";a:4:{i:0;s:2:"21";i:1;s:1:"0";i:2;s:3:"692";i:3;s:3:"562";}}s:1:"K";a:4:{s:1:"C";s:2:"75";s:2:"WX";s:3:"600";s:1:"N";s:1:"K";s:1:"B";a:4:{i:0;s:2:"21";i:1;s:1:"0";i:2;s:3:"692";i:3;s:3:"562";}}i:76;a:4:{s:1:"C";s:2:"76";s:2:"WX";s:3:"600";s:1:"N";s:1:"L";s:1:"B";a:4:{i:0;s:2:"39";i:1;s:1:"0";i:2;s:3:"636";i:3;s:3:"562";}}s:1:"L";a:4:{s:1:"C";s:2:"76";s:2:"WX";s:3:"600";s:1:"N";s:1:"L";s:1:"B";a:4:{i:0;s:2:"39";i:1;s:1:"0";i:2;s:3:"636";i:3;s:3:"562";}}i:77;a:4:{s:1:"C";s:2:"77";s:2:"WX";s:3:"600";s:1:"N";s:1:"M";s:1:"B";a:4:{i:0;s:2:"-2";i:1;s:1:"0";i:2;s:3:"722";i:3;s:3:"562";}}s:1:"M";a:4:{s:1:"C";s:2:"77";s:2:"WX";s:3:"600";s:1:"N";s:1:"M";s:1:"B";a:4:{i:0;s:2:"-2";i:1;s:1:"0";i:2;s:3:"722";i:3;s:3:"562";}}i:78;a:4:{s:1:"C";s:2:"78";s:2:"WX";s:3:"600";s:1:"N";s:1:"N";s:1:"B";a:4:{i:0;s:1:"8";i:1;s:3:"-12";i:2;s:3:"730";i:3;s:3:"562";}}s:1:"N";a:4:{s:1:"C";s:2:"78";s:2:"WX";s:3:"600";s:1:"N";s:1:"N";s:1:"B";a:4:{i:0;s:1:"8";i:1;s:3:"-12";i:2;s:3:"730";i:3;s:3:"562";}}i:79;a:4:{s:1:"C";s:2:"79";s:2:"WX";s:3:"600";s:1:"N";s:1:"O";s:1:"B";a:4:{i:0;s:2:"74";i:1;s:3:"-18";i:2;s:3:"645";i:3;s:3:"580";}}s:1:"O";a:4:{s:1:"C";s:2:"79";s:2:"WX";s:3:"600";s:1:"N";s:1:"O";s:1:"B";a:4:{i:0;s:2:"74";i:1;s:3:"-18";i:2;s:3:"645";i:3;s:3:"580";}}i:80;a:4:{s:1:"C";s:2:"80";s:2:"WX";s:3:"600";s:1:"N";s:1:"P";s:1:"B";a:4:{i:0;s:2:"48";i:1;s:1:"0";i:2;s:3:"643";i:3;s:3:"562";}}s:1:"P";a:4:{s:1:"C";s:2:"80";s:2:"WX";s:3:"600";s:1:"N";s:1:"P";s:1:"B";a:4:{i:0;s:2:"48";i:1;s:1:"0";i:2;s:3:"643";i:3;s:3:"562";}}i:81;a:4:{s:1:"C";s:2:"81";s:2:"WX";s:3:"600";s:1:"N";s:1:"Q";s:1:"B";a:4:{i:0;s:2:"83";i:1;s:4:"-138";i:2;s:3:"636";i:3;s:3:"580";}}s:1:"Q";a:4:{s:1:"C";s:2:"81";s:2:"WX";s:3:"600";s:1:"N";s:1:"Q";s:1:"B";a:4:{i:0;s:2:"83";i:1;s:4:"-138";i:2;s:3:"636";i:3;s:3:"580";}}i:82;a:4:{s:1:"C";s:2:"82";s:2:"WX";s:3:"600";s:1:"N";s:1:"R";s:1:"B";a:4:{i:0;s:2:"24";i:1;s:1:"0";i:2;s:3:"617";i:3;s:3:"562";}}s:1:"R";a:4:{s:1:"C";s:2:"82";s:2:"WX";s:3:"600";s:1:"N";s:1:"R";s:1:"B";a:4:{i:0;s:2:"24";i:1;s:1:"0";i:2;s:3:"617";i:3;s:3:"562";}}i:83;a:4:{s:1:"C";s:2:"83";s:2:"WX";s:3:"600";s:1:"N";s:1:"S";s:1:"B";a:4:{i:0;s:2:"54";i:1;s:3:"-22";i:2;s:3:"673";i:3;s:3:"582";}}s:1:"S";a:4:{s:1:"C";s:2:"83";s:2:"WX";s:3:"600";s:1:"N";s:1:"S";s:1:"B";a:4:{i:0;s:2:"54";i:1;s:3:"-22";i:2;s:3:"673";i:3;s:3:"582";}}i:84;a:4:{s:1:"C";s:2:"84";s:2:"WX";s:3:"600";s:1:"N";s:1:"T";s:1:"B";a:4:{i:0;s:2:"86";i:1;s:1:"0";i:2;s:3:"679";i:3;s:3:"562";}}s:1:"T";a:4:{s:1:"C";s:2:"84";s:2:"WX";s:3:"600";s:1:"N";s:1:"T";s:1:"B";a:4:{i:0;s:2:"86";i:1;s:1:"0";i:2;s:3:"679";i:3;s:3:"562";}}i:85;a:4:{s:1:"C";s:2:"85";s:2:"WX";s:3:"600";s:1:"N";s:1:"U";s:1:"B";a:4:{i:0;s:3:"101";i:1;s:3:"-18";i:2;s:3:"716";i:3;s:3:"562";}}s:1:"U";a:4:{s:1:"C";s:2:"85";s:2:"WX";s:3:"600";s:1:"N";s:1:"U";s:1:"B";a:4:{i:0;s:3:"101";i:1;s:3:"-18";i:2;s:3:"716";i:3;s:3:"562";}}i:86;a:4:{s:1:"C";s:2:"86";s:2:"WX";s:3:"600";s:1:"N";s:1:"V";s:1:"B";a:4:{i:0;s:2:"84";i:1;s:1:"0";i:2;s:3:"733";i:3;s:3:"562";}}s:1:"V";a:4:{s:1:"C";s:2:"86";s:2:"WX";s:3:"600";s:1:"N";s:1:"V";s:1:"B";a:4:{i:0;s:2:"84";i:1;s:1:"0";i:2;s:3:"733";i:3;s:3:"562";}}i:87;a:4:{s:1:"C";s:2:"87";s:2:"WX";s:3:"600";s:1:"N";s:1:"W";s:1:"B";a:4:{i:0;s:2:"79";i:1;s:1:"0";i:2;s:3:"738";i:3;s:3:"562";}}s:1:"W";a:4:{s:1:"C";s:2:"87";s:2:"WX";s:3:"600";s:1:"N";s:1:"W";s:1:"B";a:4:{i:0;s:2:"79";i:1;s:1:"0";i:2;s:3:"738";i:3;s:3:"562";}}i:88;a:4:{s:1:"C";s:2:"88";s:2:"WX";s:3:"600";s:1:"N";s:1:"X";s:1:"B";a:4:{i:0;s:2:"12";i:1;s:1:"0";i:2;s:3:"690";i:3;s:3:"562";}}s:1:"X";a:4:{s:1:"C";s:2:"88";s:2:"WX";s:3:"600";s:1:"N";s:1:"X";s:1:"B";a:4:{i:0;s:2:"12";i:1;s:1:"0";i:2;s:3:"690";i:3;s:3:"562";}}i:89;a:4:{s:1:"C";s:2:"89";s:2:"WX";s:3:"600";s:1:"N";s:1:"Y";s:1:"B";a:4:{i:0;s:3:"109";i:1;s:1:"0";i:2;s:3:"709";i:3;s:3:"562";}}s:1:"Y";a:4:{s:1:"C";s:2:"89";s:2:"WX";s:3:"600";s:1:"N";s:1:"Y";s:1:"B";a:4:{i:0;s:3:"109";i:1;s:1:"0";i:2;s:3:"709";i:3;s:3:"562";}}i:90;a:4:{s:1:"C";s:2:"90";s:2:"WX";s:3:"600";s:1:"N";s:1:"Z";s:1:"B";a:4:{i:0;s:2:"62";i:1;s:1:"0";i:2;s:3:"637";i:3;s:3:"562";}}s:1:"Z";a:4:{s:1:"C";s:2:"90";s:2:"WX";s:3:"600";s:1:"N";s:1:"Z";s:1:"B";a:4:{i:0;s:2:"62";i:1;s:1:"0";i:2;s:3:"637";i:3;s:3:"562";}}i:91;a:4:{s:1:"C";s:2:"91";s:2:"WX";s:3:"600";s:1:"N";s:11:"bracketleft";s:1:"B";a:4:{i:0;s:3:"223";i:1;s:4:"-102";i:2;s:3:"606";i:3;s:3:"616";}}s:11:"bracketleft";a:4:{s:1:"C";s:2:"91";s:2:"WX";s:3:"600";s:1:"N";s:11:"bracketleft";s:1:"B";a:4:{i:0;s:3:"223";i:1;s:4:"-102";i:2;s:3:"606";i:3;s:3:"616";}}i:92;a:4:{s:1:"C";s:2:"92";s:2:"WX";s:3:"600";s:1:"N";s:9:"backslash";s:1:"B";a:4:{i:0;s:3:"222";i:1;s:3:"-77";i:2;s:3:"496";i:3;s:3:"626";}}s:9:"backslash";a:4:{s:1:"C";s:2:"92";s:2:"WX";s:3:"600";s:1:"N";s:9:"backslash";s:1:"B";a:4:{i:0;s:3:"222";i:1;s:3:"-77";i:2;s:3:"496";i:3;s:3:"626";}}i:93;a:4:{s:1:"C";s:2:"93";s:2:"WX";s:3:"600";s:1:"N";s:12:"bracketright";s:1:"B";a:4:{i:0;s:3:"103";i:1;s:4:"-102";i:2;s:3:"486";i:3;s:3:"616";}}s:12:"bracketright";a:4:{s:1:"C";s:2:"93";s:2:"WX";s:3:"600";s:1:"N";s:12:"bracketright";s:1:"B";a:4:{i:0;s:3:"103";i:1;s:4:"-102";i:2;s:3:"486";i:3;s:3:"616";}}i:94;a:4:{s:1:"C";s:2:"94";s:2:"WX";s:3:"600";s:1:"N";s:11:"asciicircum";s:1:"B";a:4:{i:0;s:3:"171";i:1;s:3:"250";i:2;s:3:"556";i:3;s:3:"616";}}s:11:"asciicircum";a:4:{s:1:"C";s:2:"94";s:2:"WX";s:3:"600";s:1:"N";s:11:"asciicircum";s:1:"B";a:4:{i:0;s:3:"171";i:1;s:3:"250";i:2;s:3:"556";i:3;s:3:"616";}}i:95;a:4:{s:1:"C";s:2:"95";s:2:"WX";s:3:"600";s:1:"N";s:10:"underscore";s:1:"B";a:4:{i:0;s:3:"-27";i:1;s:4:"-125";i:2;s:3:"585";i:3;s:3:"-75";}}s:10:"underscore";a:4:{s:1:"C";s:2:"95";s:2:"WX";s:3:"600";s:1:"N";s:10:"underscore";s:1:"B";a:4:{i:0;s:3:"-27";i:1;s:4:"-125";i:2;s:3:"585";i:3;s:3:"-75";}}i:96;a:4:{s:1:"C";s:2:"96";s:2:"WX";s:3:"600";s:1:"N";s:9:"quoteleft";s:1:"B";a:4:{i:0;s:3:"297";i:1;s:3:"277";i:2;s:3:"487";i:3;s:3:"562";}}s:9:"quoteleft";a:4:{s:1:"C";s:2:"96";s:2:"WX";s:3:"600";s:1:"N";s:9:"quoteleft";s:1:"B";a:4:{i:0;s:3:"297";i:1;s:3:"277";i:2;s:3:"487";i:3;s:3:"562";}}i:97;a:4:{s:1:"C";s:2:"97";s:2:"WX";s:3:"600";s:1:"N";s:1:"a";s:1:"B";a:4:{i:0;s:2:"61";i:1;s:3:"-15";i:2;s:3:"593";i:3;s:3:"454";}}s:1:"a";a:4:{s:1:"C";s:2:"97";s:2:"WX";s:3:"600";s:1:"N";s:1:"a";s:1:"B";a:4:{i:0;s:2:"61";i:1;s:3:"-15";i:2;s:3:"593";i:3;s:3:"454";}}i:98;a:4:{s:1:"C";s:2:"98";s:2:"WX";s:3:"600";s:1:"N";s:1:"b";s:1:"B";a:4:{i:0;s:2:"13";i:1;s:3:"-15";i:2;s:3:"636";i:3;s:3:"626";}}s:1:"b";a:4:{s:1:"C";s:2:"98";s:2:"WX";s:3:"600";s:1:"N";s:1:"b";s:1:"B";a:4:{i:0;s:2:"13";i:1;s:3:"-15";i:2;s:3:"636";i:3;s:3:"626";}}i:99;a:4:{s:1:"C";s:2:"99";s:2:"WX";s:3:"600";s:1:"N";s:1:"c";s:1:"B";a:4:{i:0;s:2:"81";i:1;s:3:"-15";i:2;s:3:"631";i:3;s:3:"459";}}s:1:"c";a:4:{s:1:"C";s:2:"99";s:2:"WX";s:3:"600";s:1:"N";s:1:"c";s:1:"B";a:4:{i:0;s:2:"81";i:1;s:3:"-15";i:2;s:3:"631";i:3;s:3:"459";}}i:100;a:4:{s:1:"C";s:3:"100";s:2:"WX";s:3:"600";s:1:"N";s:1:"d";s:1:"B";a:4:{i:0;s:2:"60";i:1;s:3:"-15";i:2;s:3:"645";i:3;s:3:"626";}}s:1:"d";a:4:{s:1:"C";s:3:"100";s:2:"WX";s:3:"600";s:1:"N";s:1:"d";s:1:"B";a:4:{i:0;s:2:"60";i:1;s:3:"-15";i:2;s:3:"645";i:3;s:3:"626";}}i:101;a:4:{s:1:"C";s:3:"101";s:2:"WX";s:3:"600";s:1:"N";s:1:"e";s:1:"B";a:4:{i:0;s:2:"81";i:1;s:3:"-15";i:2;s:3:"605";i:3;s:3:"454";}}s:1:"e";a:4:{s:1:"C";s:3:"101";s:2:"WX";s:3:"600";s:1:"N";s:1:"e";s:1:"B";a:4:{i:0;s:2:"81";i:1;s:3:"-15";i:2;s:3:"605";i:3;s:3:"454";}}i:102;a:5:{s:1:"C";s:3:"102";s:2:"WX";s:3:"600";s:1:"N";s:1:"f";s:1:"B";a:4:{i:0;s:2:"83";i:1;s:1:"0";i:2;s:3:"677";i:3;s:3:"626";}s:1:"L";a:2:{i:0;s:1:"l";i:1;s:2:"fl";}}s:1:"f";a:5:{s:1:"C";s:3:"102";s:2:"WX";s:3:"600";s:1:"N";s:1:"f";s:1:"B";a:4:{i:0;s:2:"83";i:1;s:1:"0";i:2;s:3:"677";i:3;s:3:"626";}s:1:"L";a:2:{i:0;s:1:"l";i:1;s:2:"fl";}}i:103;a:4:{s:1:"C";s:3:"103";s:2:"WX";s:3:"600";s:1:"N";s:1:"g";s:1:"B";a:4:{i:0;s:2:"40";i:1;s:4:"-146";i:2;s:3:"674";i:3;s:3:"454";}}s:1:"g";a:4:{s:1:"C";s:3:"103";s:2:"WX";s:3:"600";s:1:"N";s:1:"g";s:1:"B";a:4:{i:0;s:2:"40";i:1;s:4:"-146";i:2;s:3:"674";i:3;s:3:"454";}}i:104;a:4:{s:1:"C";s:3:"104";s:2:"WX";s:3:"600";s:1:"N";s:1:"h";s:1:"B";a:4:{i:0;s:2:"18";i:1;s:1:"0";i:2;s:3:"615";i:3;s:3:"626";}}s:1:"h";a:4:{s:1:"C";s:3:"104";s:2:"WX";s:3:"600";s:1:"N";s:1:"h";s:1:"B";a:4:{i:0;s:2:"18";i:1;s:1:"0";i:2;s:3:"615";i:3;s:3:"626";}}i:105;a:4:{s:1:"C";s:3:"105";s:2:"WX";s:3:"600";s:1:"N";s:1:"i";s:1:"B";a:4:{i:0;s:2:"77";i:1;s:1:"0";i:2;s:3:"546";i:3;s:3:"658";}}s:1:"i";a:4:{s:1:"C";s:3:"105";s:2:"WX";s:3:"600";s:1:"N";s:1:"i";s:1:"B";a:4:{i:0;s:2:"77";i:1;s:1:"0";i:2;s:3:"546";i:3;s:3:"658";}}i:106;a:4:{s:1:"C";s:3:"106";s:2:"WX";s:3:"600";s:1:"N";s:1:"j";s:1:"B";a:4:{i:0;s:2:"36";i:1;s:4:"-146";i:2;s:3:"580";i:3;s:3:"658";}}s:1:"j";a:4:{s:1:"C";s:3:"106";s:2:"WX";s:3:"600";s:1:"N";s:1:"j";s:1:"B";a:4:{i:0;s:2:"36";i:1;s:4:"-146";i:2;s:3:"580";i:3;s:3:"658";}}i:107;a:4:{s:1:"C";s:3:"107";s:2:"WX";s:3:"600";s:1:"N";s:1:"k";s:1:"B";a:4:{i:0;s:2:"33";i:1;s:1:"0";i:2;s:3:"643";i:3;s:3:"626";}}s:1:"k";a:4:{s:1:"C";s:3:"107";s:2:"WX";s:3:"600";s:1:"N";s:1:"k";s:1:"B";a:4:{i:0;s:2:"33";i:1;s:1:"0";i:2;s:3:"643";i:3;s:3:"626";}}i:108;a:4:{s:1:"C";s:3:"108";s:2:"WX";s:3:"600";s:1:"N";s:1:"l";s:1:"B";a:4:{i:0;s:2:"77";i:1;s:1:"0";i:2;s:3:"546";i:3;s:3:"626";}}s:1:"l";a:4:{s:1:"C";s:3:"108";s:2:"WX";s:3:"600";s:1:"N";s:1:"l";s:1:"B";a:4:{i:0;s:2:"77";i:1;s:1:"0";i:2;s:3:"546";i:3;s:3:"626";}}i:109;a:4:{s:1:"C";s:3:"109";s:2:"WX";s:3:"600";s:1:"N";s:1:"m";s:1:"B";a:4:{i:0;s:3:"-22";i:1;s:1:"0";i:2;s:3:"649";i:3;s:3:"454";}}s:1:"m";a:4:{s:1:"C";s:3:"109";s:2:"WX";s:3:"600";s:1:"N";s:1:"m";s:1:"B";a:4:{i:0;s:3:"-22";i:1;s:1:"0";i:2;s:3:"649";i:3;s:3:"454";}}i:110;a:4:{s:1:"C";s:3:"110";s:2:"WX";s:3:"600";s:1:"N";s:1:"n";s:1:"B";a:4:{i:0;s:2:"18";i:1;s:1:"0";i:2;s:3:"615";i:3;s:3:"454";}}s:1:"n";a:4:{s:1:"C";s:3:"110";s:2:"WX";s:3:"600";s:1:"N";s:1:"n";s:1:"B";a:4:{i:0;s:2:"18";i:1;s:1:"0";i:2;s:3:"615";i:3;s:3:"454";}}i:111;a:4:{s:1:"C";s:3:"111";s:2:"WX";s:3:"600";s:1:"N";s:1:"o";s:1:"B";a:4:{i:0;s:2:"71";i:1;s:3:"-15";i:2;s:3:"622";i:3;s:3:"454";}}s:1:"o";a:4:{s:1:"C";s:3:"111";s:2:"WX";s:3:"600";s:1:"N";s:1:"o";s:1:"B";a:4:{i:0;s:2:"71";i:1;s:3:"-15";i:2;s:3:"622";i:3;s:3:"454";}}i:112;a:4:{s:1:"C";s:3:"112";s:2:"WX";s:3:"600";s:1:"N";s:1:"p";s:1:"B";a:4:{i:0;s:3:"-32";i:1;s:4:"-142";i:2;s:3:"622";i:3;s:3:"454";}}s:1:"p";a:4:{s:1:"C";s:3:"112";s:2:"WX";s:3:"600";s:1:"N";s:1:"p";s:1:"B";a:4:{i:0;s:3:"-32";i:1;s:4:"-142";i:2;s:3:"622";i:3;s:3:"454";}}i:113;a:4:{s:1:"C";s:3:"113";s:2:"WX";s:3:"600";s:1:"N";s:1:"q";s:1:"B";a:4:{i:0;s:2:"60";i:1;s:4:"-142";i:2;s:3:"685";i:3;s:3:"454";}}s:1:"q";a:4:{s:1:"C";s:3:"113";s:2:"WX";s:3:"600";s:1:"N";s:1:"q";s:1:"B";a:4:{i:0;s:2:"60";i:1;s:4:"-142";i:2;s:3:"685";i:3;s:3:"454";}}i:114;a:4:{s:1:"C";s:3:"114";s:2:"WX";s:3:"600";s:1:"N";s:1:"r";s:1:"B";a:4:{i:0;s:2:"47";i:1;s:1:"0";i:2;s:3:"655";i:3;s:3:"454";}}s:1:"r";a:4:{s:1:"C";s:3:"114";s:2:"WX";s:3:"600";s:1:"N";s:1:"r";s:1:"B";a:4:{i:0;s:2:"47";i:1;s:1:"0";i:2;s:3:"655";i:3;s:3:"454";}}i:115;a:4:{s:1:"C";s:3:"115";s:2:"WX";s:3:"600";s:1:"N";s:1:"s";s:1:"B";a:4:{i:0;s:2:"66";i:1;s:3:"-17";i:2;s:3:"608";i:3;s:3:"459";}}s:1:"s";a:4:{s:1:"C";s:3:"115";s:2:"WX";s:3:"600";s:1:"N";s:1:"s";s:1:"B";a:4:{i:0;s:2:"66";i:1;s:3:"-17";i:2;s:3:"608";i:3;s:3:"459";}}i:116;a:4:{s:1:"C";s:3:"116";s:2:"WX";s:3:"600";s:1:"N";s:1:"t";s:1:"B";a:4:{i:0;s:3:"118";i:1;s:3:"-15";i:2;s:3:"567";i:3;s:3:"562";}}s:1:"t";a:4:{s:1:"C";s:3:"116";s:2:"WX";s:3:"600";s:1:"N";s:1:"t";s:1:"B";a:4:{i:0;s:3:"118";i:1;s:3:"-15";i:2;s:3:"567";i:3;s:3:"562";}}i:117;a:4:{s:1:"C";s:3:"117";s:2:"WX";s:3:"600";s:1:"N";s:1:"u";s:1:"B";a:4:{i:0;s:2:"70";i:1;s:3:"-15";i:2;s:3:"592";i:3;s:3:"439";}}s:1:"u";a:4:{s:1:"C";s:3:"117";s:2:"WX";s:3:"600";s:1:"N";s:1:"u";s:1:"B";a:4:{i:0;s:2:"70";i:1;s:3:"-15";i:2;s:3:"592";i:3;s:3:"439";}}i:118;a:4:{s:1:"C";s:3:"118";s:2:"WX";s:3:"600";s:1:"N";s:1:"v";s:1:"B";a:4:{i:0;s:2:"70";i:1;s:1:"0";i:2;s:3:"695";i:3;s:3:"439";}}s:1:"v";a:4:{s:1:"C";s:3:"118";s:2:"WX";s:3:"600";s:1:"N";s:1:"v";s:1:"B";a:4:{i:0;s:2:"70";i:1;s:1:"0";i:2;s:3:"695";i:3;s:3:"439";}}i:119;a:4:{s:1:"C";s:3:"119";s:2:"WX";s:3:"600";s:1:"N";s:1:"w";s:1:"B";a:4:{i:0;s:2:"53";i:1;s:1:"0";i:2;s:3:"712";i:3;s:3:"439";}}s:1:"w";a:4:{s:1:"C";s:3:"119";s:2:"WX";s:3:"600";s:1:"N";s:1:"w";s:1:"B";a:4:{i:0;s:2:"53";i:1;s:1:"0";i:2;s:3:"712";i:3;s:3:"439";}}i:120;a:4:{s:1:"C";s:3:"120";s:2:"WX";s:3:"600";s:1:"N";s:1:"x";s:1:"B";a:4:{i:0;s:1:"6";i:1;s:1:"0";i:2;s:3:"671";i:3;s:3:"439";}}s:1:"x";a:4:{s:1:"C";s:3:"120";s:2:"WX";s:3:"600";s:1:"N";s:1:"x";s:1:"B";a:4:{i:0;s:1:"6";i:1;s:1:"0";i:2;s:3:"671";i:3;s:3:"439";}}i:121;a:4:{s:1:"C";s:3:"121";s:2:"WX";s:3:"600";s:1:"N";s:1:"y";s:1:"B";a:4:{i:0;s:3:"-21";i:1;s:4:"-142";i:2;s:3:"695";i:3;s:3:"439";}}s:1:"y";a:4:{s:1:"C";s:3:"121";s:2:"WX";s:3:"600";s:1:"N";s:1:"y";s:1:"B";a:4:{i:0;s:3:"-21";i:1;s:4:"-142";i:2;s:3:"695";i:3;s:3:"439";}}i:122;a:4:{s:1:"C";s:3:"122";s:2:"WX";s:3:"600";s:1:"N";s:1:"z";s:1:"B";a:4:{i:0;s:2:"81";i:1;s:1:"0";i:2;s:3:"614";i:3;s:3:"439";}}s:1:"z";a:4:{s:1:"C";s:3:"122";s:2:"WX";s:3:"600";s:1:"N";s:1:"z";s:1:"B";a:4:{i:0;s:2:"81";i:1;s:1:"0";i:2;s:3:"614";i:3;s:3:"439";}}i:123;a:4:{s:1:"C";s:3:"123";s:2:"WX";s:3:"600";s:1:"N";s:9:"braceleft";s:1:"B";a:4:{i:0;s:3:"203";i:1;s:4:"-102";i:2;s:3:"595";i:3;s:3:"616";}}s:9:"braceleft";a:4:{s:1:"C";s:3:"123";s:2:"WX";s:3:"600";s:1:"N";s:9:"braceleft";s:1:"B";a:4:{i:0;s:3:"203";i:1;s:4:"-102";i:2;s:3:"595";i:3;s:3:"616";}}i:124;a:4:{s:1:"C";s:3:"124";s:2:"WX";s:3:"600";s:1:"N";s:3:"bar";s:1:"B";a:4:{i:0;s:3:"201";i:1;s:4:"-250";i:2;s:3:"505";i:3;s:3:"750";}}s:3:"bar";a:4:{s:1:"C";s:3:"124";s:2:"WX";s:3:"600";s:1:"N";s:3:"bar";s:1:"B";a:4:{i:0;s:3:"201";i:1;s:4:"-250";i:2;s:3:"505";i:3;s:3:"750";}}i:125;a:4:{s:1:"C";s:3:"125";s:2:"WX";s:3:"600";s:1:"N";s:10:"braceright";s:1:"B";a:4:{i:0;s:3:"114";i:1;s:4:"-102";i:2;s:3:"506";i:3;s:3:"616";}}s:10:"braceright";a:4:{s:1:"C";s:3:"125";s:2:"WX";s:3:"600";s:1:"N";s:10:"braceright";s:1:"B";a:4:{i:0;s:3:"114";i:1;s:4:"-102";i:2;s:3:"506";i:3;s:3:"616";}}i:126;a:4:{s:1:"C";s:3:"126";s:2:"WX";s:3:"600";s:1:"N";s:10:"asciitilde";s:1:"B";a:4:{i:0;s:3:"120";i:1;s:3:"153";i:2;s:3:"590";i:3;s:3:"356";}}s:10:"asciitilde";a:4:{s:1:"C";s:3:"126";s:2:"WX";s:3:"600";s:1:"N";s:10:"asciitilde";s:1:"B";a:4:{i:0;s:3:"120";i:1;s:3:"153";i:2;s:3:"590";i:3;s:3:"356";}}i:161;a:4:{s:1:"C";s:3:"161";s:2:"WX";s:3:"600";s:1:"N";s:10:"exclamdown";s:1:"B";a:4:{i:0;s:3:"196";i:1;s:4:"-146";i:2;s:3:"477";i:3;s:3:"449";}}s:10:"exclamdown";a:4:{s:1:"C";s:3:"161";s:2:"WX";s:3:"600";s:1:"N";s:10:"exclamdown";s:1:"B";a:4:{i:0;s:3:"196";i:1;s:4:"-146";i:2;s:3:"477";i:3;s:3:"449";}}i:162;a:4:{s:1:"C";s:3:"162";s:2:"WX";s:3:"600";s:1:"N";s:4:"cent";s:1:"B";a:4:{i:0;s:3:"121";i:1;s:3:"-49";i:2;s:3:"605";i:3;s:3:"614";}}s:4:"cent";a:4:{s:1:"C";s:3:"162";s:2:"WX";s:3:"600";s:1:"N";s:4:"cent";s:1:"B";a:4:{i:0;s:3:"121";i:1;s:3:"-49";i:2;s:3:"605";i:3;s:3:"614";}}i:163;a:4:{s:1:"C";s:3:"163";s:2:"WX";s:3:"600";s:1:"N";s:8:"sterling";s:1:"B";a:4:{i:0;s:3:"106";i:1;s:3:"-28";i:2;s:3:"650";i:3;s:3:"611";}}s:8:"sterling";a:4:{s:1:"C";s:3:"163";s:2:"WX";s:3:"600";s:1:"N";s:8:"sterling";s:1:"B";a:4:{i:0;s:3:"106";i:1;s:3:"-28";i:2;s:3:"650";i:3;s:3:"611";}}i:164;a:4:{s:1:"C";s:3:"164";s:2:"WX";s:3:"600";s:1:"N";s:8:"fraction";s:1:"B";a:4:{i:0;s:2:"22";i:1;s:3:"-60";i:2;s:3:"708";i:3;s:3:"661";}}s:8:"fraction";a:4:{s:1:"C";s:3:"164";s:2:"WX";s:3:"600";s:1:"N";s:8:"fraction";s:1:"B";a:4:{i:0;s:2:"22";i:1;s:3:"-60";i:2;s:3:"708";i:3;s:3:"661";}}i:165;a:4:{s:1:"C";s:3:"165";s:2:"WX";s:3:"600";s:1:"N";s:3:"yen";s:1:"B";a:4:{i:0;s:2:"98";i:1;s:1:"0";i:2;s:3:"710";i:3;s:3:"562";}}s:3:"yen";a:4:{s:1:"C";s:3:"165";s:2:"WX";s:3:"600";s:1:"N";s:3:"yen";s:1:"B";a:4:{i:0;s:2:"98";i:1;s:1:"0";i:2;s:3:"710";i:3;s:3:"562";}}i:166;a:4:{s:1:"C";s:3:"166";s:2:"WX";s:3:"600";s:1:"N";s:6:"florin";s:1:"B";a:4:{i:0;s:3:"-57";i:1;s:4:"-131";i:2;s:3:"702";i:3;s:3:"616";}}s:6:"florin";a:4:{s:1:"C";s:3:"166";s:2:"WX";s:3:"600";s:1:"N";s:6:"florin";s:1:"B";a:4:{i:0;s:3:"-57";i:1;s:4:"-131";i:2;s:3:"702";i:3;s:3:"616";}}i:167;a:4:{s:1:"C";s:3:"167";s:2:"WX";s:3:"600";s:1:"N";s:7:"section";s:1:"B";a:4:{i:0;s:2:"74";i:1;s:3:"-70";i:2;s:3:"620";i:3;s:3:"580";}}s:7:"section";a:4:{s:1:"C";s:3:"167";s:2:"WX";s:3:"600";s:1:"N";s:7:"section";s:1:"B";a:4:{i:0;s:2:"74";i:1;s:3:"-70";i:2;s:3:"620";i:3;s:3:"580";}}i:168;a:4:{s:1:"C";s:3:"168";s:2:"WX";s:3:"600";s:1:"N";s:8:"currency";s:1:"B";a:4:{i:0;s:2:"77";i:1;s:2:"49";i:2;s:3:"644";i:3;s:3:"517";}}s:8:"currency";a:4:{s:1:"C";s:3:"168";s:2:"WX";s:3:"600";s:1:"N";s:8:"currency";s:1:"B";a:4:{i:0;s:2:"77";i:1;s:2:"49";i:2;s:3:"644";i:3;s:3:"517";}}i:169;a:4:{s:1:"C";s:3:"169";s:2:"WX";s:3:"600";s:1:"N";s:11:"quotesingle";s:1:"B";a:4:{i:0;s:3:"303";i:1;s:3:"277";i:2;s:3:"493";i:3;s:3:"562";}}s:11:"quotesingle";a:4:{s:1:"C";s:3:"169";s:2:"WX";s:3:"600";s:1:"N";s:11:"quotesingle";s:1:"B";a:4:{i:0;s:3:"303";i:1;s:3:"277";i:2;s:3:"493";i:3;s:3:"562";}}i:170;a:4:{s:1:"C";s:3:"170";s:2:"WX";s:3:"600";s:1:"N";s:12:"quotedblleft";s:1:"B";a:4:{i:0;s:3:"190";i:1;s:3:"277";i:2;s:3:"594";i:3;s:3:"562";}}s:12:"quotedblleft";a:4:{s:1:"C";s:3:"170";s:2:"WX";s:3:"600";s:1:"N";s:12:"quotedblleft";s:1:"B";a:4:{i:0;s:3:"190";i:1;s:3:"277";i:2;s:3:"594";i:3;s:3:"562";}}i:171;a:4:{s:1:"C";s:3:"171";s:2:"WX";s:3:"600";s:1:"N";s:13:"guillemotleft";s:1:"B";a:4:{i:0;s:2:"62";i:1;s:2:"70";i:2;s:3:"639";i:3;s:3:"446";}}s:13:"guillemotleft";a:4:{s:1:"C";s:3:"171";s:2:"WX";s:3:"600";s:1:"N";s:13:"guillemotleft";s:1:"B";a:4:{i:0;s:2:"62";i:1;s:2:"70";i:2;s:3:"639";i:3;s:3:"446";}}i:172;a:4:{s:1:"C";s:3:"172";s:2:"WX";s:3:"600";s:1:"N";s:13:"guilsinglleft";s:1:"B";a:4:{i:0;s:3:"195";i:1;s:2:"70";i:2;s:3:"545";i:3;s:3:"446";}}s:13:"guilsinglleft";a:4:{s:1:"C";s:3:"172";s:2:"WX";s:3:"600";s:1:"N";s:13:"guilsinglleft";s:1:"B";a:4:{i:0;s:3:"195";i:1;s:2:"70";i:2;s:3:"545";i:3;s:3:"446";}}i:173;a:4:{s:1:"C";s:3:"173";s:2:"WX";s:3:"600";s:1:"N";s:14:"guilsinglright";s:1:"B";a:4:{i:0;s:3:"165";i:1;s:2:"70";i:2;s:3:"514";i:3;s:3:"446";}}s:14:"guilsinglright";a:4:{s:1:"C";s:3:"173";s:2:"WX";s:3:"600";s:1:"N";s:14:"guilsinglright";s:1:"B";a:4:{i:0;s:3:"165";i:1;s:2:"70";i:2;s:3:"514";i:3;s:3:"446";}}i:174;a:4:{s:1:"C";s:3:"174";s:2:"WX";s:3:"600";s:1:"N";s:2:"fi";s:1:"B";a:4:{i:0;s:2:"12";i:1;s:1:"0";i:2;s:3:"644";i:3;s:3:"626";}}s:2:"fi";a:4:{s:1:"C";s:3:"174";s:2:"WX";s:3:"600";s:1:"N";s:2:"fi";s:1:"B";a:4:{i:0;s:2:"12";i:1;s:1:"0";i:2;s:3:"644";i:3;s:3:"626";}}i:175;a:4:{s:1:"C";s:3:"175";s:2:"WX";s:3:"600";s:1:"N";s:2:"fl";s:1:"B";a:4:{i:0;s:2:"12";i:1;s:1:"0";i:2;s:3:"644";i:3;s:3:"626";}}s:2:"fl";a:4:{s:1:"C";s:3:"175";s:2:"WX";s:3:"600";s:1:"N";s:2:"fl";s:1:"B";a:4:{i:0;s:2:"12";i:1;s:1:"0";i:2;s:3:"644";i:3;s:3:"626";}}i:177;a:4:{s:1:"C";s:3:"177";s:2:"WX";s:3:"600";s:1:"N";s:6:"endash";s:1:"B";a:4:{i:0;s:3:"108";i:1;s:3:"203";i:2;s:3:"602";i:3;s:3:"313";}}s:6:"endash";a:4:{s:1:"C";s:3:"177";s:2:"WX";s:3:"600";s:1:"N";s:6:"endash";s:1:"B";a:4:{i:0;s:3:"108";i:1;s:3:"203";i:2;s:3:"602";i:3;s:3:"313";}}i:178;a:4:{s:1:"C";s:3:"178";s:2:"WX";s:3:"600";s:1:"N";s:6:"dagger";s:1:"B";a:4:{i:0;s:3:"175";i:1;s:3:"-70";i:2;s:3:"586";i:3;s:3:"580";}}s:6:"dagger";a:4:{s:1:"C";s:3:"178";s:2:"WX";s:3:"600";s:1:"N";s:6:"dagger";s:1:"B";a:4:{i:0;s:3:"175";i:1;s:3:"-70";i:2;s:3:"586";i:3;s:3:"580";}}i:179;a:4:{s:1:"C";s:3:"179";s:2:"WX";s:3:"600";s:1:"N";s:9:"daggerdbl";s:1:"B";a:4:{i:0;s:3:"121";i:1;s:3:"-70";i:2;s:3:"587";i:3;s:3:"580";}}s:9:"daggerdbl";a:4:{s:1:"C";s:3:"179";s:2:"WX";s:3:"600";s:1:"N";s:9:"daggerdbl";s:1:"B";a:4:{i:0;s:3:"121";i:1;s:3:"-70";i:2;s:3:"587";i:3;s:3:"580";}}i:180;a:4:{s:1:"C";s:3:"180";s:2:"WX";s:3:"600";s:1:"N";s:14:"periodcentered";s:1:"B";a:4:{i:0;s:3:"248";i:1;s:3:"165";i:2;s:3:"461";i:3;s:3:"351";}}s:14:"periodcentered";a:4:{s:1:"C";s:3:"180";s:2:"WX";s:3:"600";s:1:"N";s:14:"periodcentered";s:1:"B";a:4:{i:0;s:3:"248";i:1;s:3:"165";i:2;s:3:"461";i:3;s:3:"351";}}i:182;a:4:{s:1:"C";s:3:"182";s:2:"WX";s:3:"600";s:1:"N";s:9:"paragraph";s:1:"B";a:4:{i:0;s:2:"61";i:1;s:3:"-70";i:2;s:3:"700";i:3;s:3:"580";}}s:9:"paragraph";a:4:{s:1:"C";s:3:"182";s:2:"WX";s:3:"600";s:1:"N";s:9:"paragraph";s:1:"B";a:4:{i:0;s:2:"61";i:1;s:3:"-70";i:2;s:3:"700";i:3;s:3:"580";}}i:183;a:4:{s:1:"C";s:3:"183";s:2:"WX";s:3:"600";s:1:"N";s:6:"bullet";s:1:"B";a:4:{i:0;s:3:"196";i:1;s:3:"132";i:2;s:3:"523";i:3;s:3:"430";}}s:6:"bullet";a:4:{s:1:"C";s:3:"183";s:2:"WX";s:3:"600";s:1:"N";s:6:"bullet";s:1:"B";a:4:{i:0;s:3:"196";i:1;s:3:"132";i:2;s:3:"523";i:3;s:3:"430";}}i:184;a:4:{s:1:"C";s:3:"184";s:2:"WX";s:3:"600";s:1:"N";s:14:"quotesinglbase";s:1:"B";a:4:{i:0;s:3:"144";i:1;s:4:"-142";i:2;s:3:"458";i:3;s:3:"143";}}s:14:"quotesinglbase";a:4:{s:1:"C";s:3:"184";s:2:"WX";s:3:"600";s:1:"N";s:14:"quotesinglbase";s:1:"B";a:4:{i:0;s:3:"144";i:1;s:4:"-142";i:2;s:3:"458";i:3;s:3:"143";}}i:185;a:4:{s:1:"C";s:3:"185";s:2:"WX";s:3:"600";s:1:"N";s:12:"quotedblbase";s:1:"B";a:4:{i:0;s:2:"34";i:1;s:4:"-142";i:2;s:3:"560";i:3;s:3:"143";}}s:12:"quotedblbase";a:4:{s:1:"C";s:3:"185";s:2:"WX";s:3:"600";s:1:"N";s:12:"quotedblbase";s:1:"B";a:4:{i:0;s:2:"34";i:1;s:4:"-142";i:2;s:3:"560";i:3;s:3:"143";}}i:186;a:4:{s:1:"C";s:3:"186";s:2:"WX";s:3:"600";s:1:"N";s:13:"quotedblright";s:1:"B";a:4:{i:0;s:3:"119";i:1;s:3:"277";i:2;s:3:"645";i:3;s:3:"562";}}s:13:"quotedblright";a:4:{s:1:"C";s:3:"186";s:2:"WX";s:3:"600";s:1:"N";s:13:"quotedblright";s:1:"B";a:4:{i:0;s:3:"119";i:1;s:3:"277";i:2;s:3:"645";i:3;s:3:"562";}}i:187;a:4:{s:1:"C";s:3:"187";s:2:"WX";s:3:"600";s:1:"N";s:14:"guillemotright";s:1:"B";a:4:{i:0;s:2:"71";i:1;s:2:"70";i:2;s:3:"647";i:3;s:3:"446";}}s:14:"guillemotright";a:4:{s:1:"C";s:3:"187";s:2:"WX";s:3:"600";s:1:"N";s:14:"guillemotright";s:1:"B";a:4:{i:0;s:2:"71";i:1;s:2:"70";i:2;s:3:"647";i:3;s:3:"446";}}i:188;a:4:{s:1:"C";s:3:"188";s:2:"WX";s:3:"600";s:1:"N";s:8:"ellipsis";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:3:"-15";i:2;s:3:"587";i:3;s:3:"116";}}s:8:"ellipsis";a:4:{s:1:"C";s:3:"188";s:2:"WX";s:3:"600";s:1:"N";s:8:"ellipsis";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:3:"-15";i:2;s:3:"587";i:3;s:3:"116";}}i:189;a:4:{s:1:"C";s:3:"189";s:2:"WX";s:3:"600";s:1:"N";s:11:"perthousand";s:1:"B";a:4:{i:0;s:3:"-45";i:1;s:3:"-15";i:2;s:3:"743";i:3;s:3:"616";}}s:11:"perthousand";a:4:{s:1:"C";s:3:"189";s:2:"WX";s:3:"600";s:1:"N";s:11:"perthousand";s:1:"B";a:4:{i:0;s:3:"-45";i:1;s:3:"-15";i:2;s:3:"743";i:3;s:3:"616";}}i:191;a:4:{s:1:"C";s:3:"191";s:2:"WX";s:3:"600";s:1:"N";s:12:"questiondown";s:1:"B";a:4:{i:0;s:3:"100";i:1;s:4:"-146";i:2;s:3:"509";i:3;s:3:"449";}}s:12:"questiondown";a:4:{s:1:"C";s:3:"191";s:2:"WX";s:3:"600";s:1:"N";s:12:"questiondown";s:1:"B";a:4:{i:0;s:3:"100";i:1;s:4:"-146";i:2;s:3:"509";i:3;s:3:"449";}}i:193;a:4:{s:1:"C";s:3:"193";s:2:"WX";s:3:"600";s:1:"N";s:5:"grave";s:1:"B";a:4:{i:0;s:3:"272";i:1;s:3:"508";i:2;s:3:"503";i:3;s:3:"661";}}s:5:"grave";a:4:{s:1:"C";s:3:"193";s:2:"WX";s:3:"600";s:1:"N";s:5:"grave";s:1:"B";a:4:{i:0;s:3:"272";i:1;s:3:"508";i:2;s:3:"503";i:3;s:3:"661";}}i:194;a:4:{s:1:"C";s:3:"194";s:2:"WX";s:3:"600";s:1:"N";s:5:"acute";s:1:"B";a:4:{i:0;s:3:"312";i:1;s:3:"508";i:2;s:3:"609";i:3;s:3:"661";}}s:5:"acute";a:4:{s:1:"C";s:3:"194";s:2:"WX";s:3:"600";s:1:"N";s:5:"acute";s:1:"B";a:4:{i:0;s:3:"312";i:1;s:3:"508";i:2;s:3:"609";i:3;s:3:"661";}}i:195;a:4:{s:1:"C";s:3:"195";s:2:"WX";s:3:"600";s:1:"N";s:10:"circumflex";s:1:"B";a:4:{i:0;s:3:"212";i:1;s:3:"483";i:2;s:3:"607";i:3;s:3:"657";}}s:10:"circumflex";a:4:{s:1:"C";s:3:"195";s:2:"WX";s:3:"600";s:1:"N";s:10:"circumflex";s:1:"B";a:4:{i:0;s:3:"212";i:1;s:3:"483";i:2;s:3:"607";i:3;s:3:"657";}}i:196;a:4:{s:1:"C";s:3:"196";s:2:"WX";s:3:"600";s:1:"N";s:5:"tilde";s:1:"B";a:4:{i:0;s:3:"199";i:1;s:3:"493";i:2;s:3:"643";i:3;s:3:"636";}}s:5:"tilde";a:4:{s:1:"C";s:3:"196";s:2:"WX";s:3:"600";s:1:"N";s:5:"tilde";s:1:"B";a:4:{i:0;s:3:"199";i:1;s:3:"493";i:2;s:3:"643";i:3;s:3:"636";}}i:197;a:4:{s:1:"C";s:3:"197";s:2:"WX";s:3:"600";s:1:"N";s:6:"macron";s:1:"B";a:4:{i:0;s:3:"195";i:1;s:3:"505";i:2;s:3:"637";i:3;s:3:"585";}}s:6:"macron";a:4:{s:1:"C";s:3:"197";s:2:"WX";s:3:"600";s:1:"N";s:6:"macron";s:1:"B";a:4:{i:0;s:3:"195";i:1;s:3:"505";i:2;s:3:"637";i:3;s:3:"585";}}i:198;a:4:{s:1:"C";s:3:"198";s:2:"WX";s:3:"600";s:1:"N";s:5:"breve";s:1:"B";a:4:{i:0;s:3:"217";i:1;s:3:"468";i:2;s:3:"652";i:3;s:3:"631";}}s:5:"breve";a:4:{s:1:"C";s:3:"198";s:2:"WX";s:3:"600";s:1:"N";s:5:"breve";s:1:"B";a:4:{i:0;s:3:"217";i:1;s:3:"468";i:2;s:3:"652";i:3;s:3:"631";}}i:199;a:4:{s:1:"C";s:3:"199";s:2:"WX";s:3:"600";s:1:"N";s:9:"dotaccent";s:1:"B";a:4:{i:0;s:3:"348";i:1;s:3:"498";i:2;s:3:"493";i:3;s:3:"638";}}s:9:"dotaccent";a:4:{s:1:"C";s:3:"199";s:2:"WX";s:3:"600";s:1:"N";s:9:"dotaccent";s:1:"B";a:4:{i:0;s:3:"348";i:1;s:3:"498";i:2;s:3:"493";i:3;s:3:"638";}}i:200;a:4:{s:1:"C";s:3:"200";s:2:"WX";s:3:"600";s:1:"N";s:8:"dieresis";s:1:"B";a:4:{i:0;s:3:"246";i:1;s:3:"498";i:2;s:3:"595";i:3;s:3:"638";}}s:8:"dieresis";a:4:{s:1:"C";s:3:"200";s:2:"WX";s:3:"600";s:1:"N";s:8:"dieresis";s:1:"B";a:4:{i:0;s:3:"246";i:1;s:3:"498";i:2;s:3:"595";i:3;s:3:"638";}}i:202;a:4:{s:1:"C";s:3:"202";s:2:"WX";s:3:"600";s:1:"N";s:4:"ring";s:1:"B";a:4:{i:0;s:3:"319";i:1;s:3:"481";i:2;s:3:"528";i:3;s:3:"678";}}s:4:"ring";a:4:{s:1:"C";s:3:"202";s:2:"WX";s:3:"600";s:1:"N";s:4:"ring";s:1:"B";a:4:{i:0;s:3:"319";i:1;s:3:"481";i:2;s:3:"528";i:3;s:3:"678";}}i:203;a:4:{s:1:"C";s:3:"203";s:2:"WX";s:3:"600";s:1:"N";s:7:"cedilla";s:1:"B";a:4:{i:0;s:3:"168";i:1;s:4:"-206";i:2;s:3:"368";i:3;s:1:"0";}}s:7:"cedilla";a:4:{s:1:"C";s:3:"203";s:2:"WX";s:3:"600";s:1:"N";s:7:"cedilla";s:1:"B";a:4:{i:0;s:3:"168";i:1;s:4:"-206";i:2;s:3:"368";i:3;s:1:"0";}}i:205;a:4:{s:1:"C";s:3:"205";s:2:"WX";s:3:"600";s:1:"N";s:12:"hungarumlaut";s:1:"B";a:4:{i:0;s:3:"171";i:1;s:3:"488";i:2;s:3:"729";i:3;s:3:"661";}}s:12:"hungarumlaut";a:4:{s:1:"C";s:3:"205";s:2:"WX";s:3:"600";s:1:"N";s:12:"hungarumlaut";s:1:"B";a:4:{i:0;s:3:"171";i:1;s:3:"488";i:2;s:3:"729";i:3;s:3:"661";}}i:206;a:4:{s:1:"C";s:3:"206";s:2:"WX";s:3:"600";s:1:"N";s:6:"ogonek";s:1:"B";a:4:{i:0;s:3:"143";i:1;s:4:"-199";i:2;s:3:"367";i:3;s:1:"0";}}s:6:"ogonek";a:4:{s:1:"C";s:3:"206";s:2:"WX";s:3:"600";s:1:"N";s:6:"ogonek";s:1:"B";a:4:{i:0;s:3:"143";i:1;s:4:"-199";i:2;s:3:"367";i:3;s:1:"0";}}i:207;a:4:{s:1:"C";s:3:"207";s:2:"WX";s:3:"600";s:1:"N";s:5:"caron";s:1:"B";a:4:{i:0;s:3:"238";i:1;s:3:"493";i:2;s:3:"633";i:3;s:3:"667";}}s:5:"caron";a:4:{s:1:"C";s:3:"207";s:2:"WX";s:3:"600";s:1:"N";s:5:"caron";s:1:"B";a:4:{i:0;s:3:"238";i:1;s:3:"493";i:2;s:3:"633";i:3;s:3:"667";}}i:208;a:4:{s:1:"C";s:3:"208";s:2:"WX";s:3:"600";s:1:"N";s:6:"emdash";s:1:"B";a:4:{i:0;s:2:"33";i:1;s:3:"203";i:2;s:3:"677";i:3;s:3:"313";}}s:6:"emdash";a:4:{s:1:"C";s:3:"208";s:2:"WX";s:3:"600";s:1:"N";s:6:"emdash";s:1:"B";a:4:{i:0;s:2:"33";i:1;s:3:"203";i:2;s:3:"677";i:3;s:3:"313";}}i:225;a:4:{s:1:"C";s:3:"225";s:2:"WX";s:3:"600";s:1:"N";s:2:"AE";s:1:"B";a:4:{i:0;s:3:"-29";i:1;s:1:"0";i:2;s:3:"708";i:3;s:3:"562";}}s:2:"AE";a:4:{s:1:"C";s:3:"225";s:2:"WX";s:3:"600";s:1:"N";s:2:"AE";s:1:"B";a:4:{i:0;s:3:"-29";i:1;s:1:"0";i:2;s:3:"708";i:3;s:3:"562";}}i:227;a:4:{s:1:"C";s:3:"227";s:2:"WX";s:3:"600";s:1:"N";s:11:"ordfeminine";s:1:"B";a:4:{i:0;s:3:"188";i:1;s:3:"196";i:2;s:3:"526";i:3;s:3:"580";}}s:11:"ordfeminine";a:4:{s:1:"C";s:3:"227";s:2:"WX";s:3:"600";s:1:"N";s:11:"ordfeminine";s:1:"B";a:4:{i:0;s:3:"188";i:1;s:3:"196";i:2;s:3:"526";i:3;s:3:"580";}}i:232;a:4:{s:1:"C";s:3:"232";s:2:"WX";s:3:"600";s:1:"N";s:6:"Lslash";s:1:"B";a:4:{i:0;s:2:"39";i:1;s:1:"0";i:2;s:3:"636";i:3;s:3:"562";}}s:6:"Lslash";a:4:{s:1:"C";s:3:"232";s:2:"WX";s:3:"600";s:1:"N";s:6:"Lslash";s:1:"B";a:4:{i:0;s:2:"39";i:1;s:1:"0";i:2;s:3:"636";i:3;s:3:"562";}}i:233;a:4:{s:1:"C";s:3:"233";s:2:"WX";s:3:"600";s:1:"N";s:6:"Oslash";s:1:"B";a:4:{i:0;s:2:"48";i:1;s:3:"-22";i:2;s:3:"673";i:3;s:3:"584";}}s:6:"Oslash";a:4:{s:1:"C";s:3:"233";s:2:"WX";s:3:"600";s:1:"N";s:6:"Oslash";s:1:"B";a:4:{i:0;s:2:"48";i:1;s:3:"-22";i:2;s:3:"673";i:3;s:3:"584";}}i:234;a:4:{s:1:"C";s:3:"234";s:2:"WX";s:3:"600";s:1:"N";s:2:"OE";s:1:"B";a:4:{i:0;s:2:"26";i:1;s:1:"0";i:2;s:3:"701";i:3;s:3:"562";}}s:2:"OE";a:4:{s:1:"C";s:3:"234";s:2:"WX";s:3:"600";s:1:"N";s:2:"OE";s:1:"B";a:4:{i:0;s:2:"26";i:1;s:1:"0";i:2;s:3:"701";i:3;s:3:"562";}}i:235;a:4:{s:1:"C";s:3:"235";s:2:"WX";s:3:"600";s:1:"N";s:12:"ordmasculine";s:1:"B";a:4:{i:0;s:3:"188";i:1;s:3:"196";i:2;s:3:"543";i:3;s:3:"580";}}s:12:"ordmasculine";a:4:{s:1:"C";s:3:"235";s:2:"WX";s:3:"600";s:1:"N";s:12:"ordmasculine";s:1:"B";a:4:{i:0;s:3:"188";i:1;s:3:"196";i:2;s:3:"543";i:3;s:3:"580";}}i:241;a:4:{s:1:"C";s:3:"241";s:2:"WX";s:3:"600";s:1:"N";s:2:"ae";s:1:"B";a:4:{i:0;s:2:"21";i:1;s:3:"-15";i:2;s:3:"652";i:3;s:3:"454";}}s:2:"ae";a:4:{s:1:"C";s:3:"241";s:2:"WX";s:3:"600";s:1:"N";s:2:"ae";s:1:"B";a:4:{i:0;s:2:"21";i:1;s:3:"-15";i:2;s:3:"652";i:3;s:3:"454";}}i:245;a:4:{s:1:"C";s:3:"245";s:2:"WX";s:3:"600";s:1:"N";s:8:"dotlessi";s:1:"B";a:4:{i:0;s:2:"77";i:1;s:1:"0";i:2;s:3:"546";i:3;s:3:"439";}}s:8:"dotlessi";a:4:{s:1:"C";s:3:"245";s:2:"WX";s:3:"600";s:1:"N";s:8:"dotlessi";s:1:"B";a:4:{i:0;s:2:"77";i:1;s:1:"0";i:2;s:3:"546";i:3;s:3:"439";}}i:248;a:4:{s:1:"C";s:3:"248";s:2:"WX";s:3:"600";s:1:"N";s:6:"lslash";s:1:"B";a:4:{i:0;s:2:"77";i:1;s:1:"0";i:2;s:3:"587";i:3;s:3:"626";}}s:6:"lslash";a:4:{s:1:"C";s:3:"248";s:2:"WX";s:3:"600";s:1:"N";s:6:"lslash";s:1:"B";a:4:{i:0;s:2:"77";i:1;s:1:"0";i:2;s:3:"587";i:3;s:3:"626";}}i:249;a:4:{s:1:"C";s:3:"249";s:2:"WX";s:3:"600";s:1:"N";s:6:"oslash";s:1:"B";a:4:{i:0;s:2:"54";i:1;s:3:"-24";i:2;s:3:"638";i:3;s:3:"463";}}s:6:"oslash";a:4:{s:1:"C";s:3:"249";s:2:"WX";s:3:"600";s:1:"N";s:6:"oslash";s:1:"B";a:4:{i:0;s:2:"54";i:1;s:3:"-24";i:2;s:3:"638";i:3;s:3:"463";}}i:250;a:4:{s:1:"C";s:3:"250";s:2:"WX";s:3:"600";s:1:"N";s:2:"oe";s:1:"B";a:4:{i:0;s:2:"18";i:1;s:3:"-15";i:2;s:3:"662";i:3;s:3:"454";}}s:2:"oe";a:4:{s:1:"C";s:3:"250";s:2:"WX";s:3:"600";s:1:"N";s:2:"oe";s:1:"B";a:4:{i:0;s:2:"18";i:1;s:3:"-15";i:2;s:3:"662";i:3;s:3:"454";}}i:251;a:4:{s:1:"C";s:3:"251";s:2:"WX";s:3:"600";s:1:"N";s:10:"germandbls";s:1:"B";a:4:{i:0;s:2:"22";i:1;s:3:"-15";i:2;s:3:"629";i:3;s:3:"626";}}s:10:"germandbls";a:4:{s:1:"C";s:3:"251";s:2:"WX";s:3:"600";s:1:"N";s:10:"germandbls";s:1:"B";a:4:{i:0;s:2:"22";i:1;s:3:"-15";i:2;s:3:"629";i:3;s:3:"626";}}s:9:"Idieresis";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:9:"Idieresis";s:1:"B";a:4:{i:0;s:2:"77";i:1;s:1:"0";i:2;s:3:"643";i:3;s:3:"761";}}s:6:"eacute";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:6:"eacute";s:1:"B";a:4:{i:0;s:2:"81";i:1;s:3:"-15";i:2;s:3:"609";i:3;s:3:"661";}}s:6:"abreve";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:6:"abreve";s:1:"B";a:4:{i:0;s:2:"61";i:1;s:3:"-15";i:2;s:3:"658";i:3;s:3:"661";}}s:13:"uhungarumlaut";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:13:"uhungarumlaut";s:1:"B";a:4:{i:0;s:2:"70";i:1;s:3:"-15";i:2;s:3:"769";i:3;s:3:"661";}}s:6:"ecaron";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:6:"ecaron";s:1:"B";a:4:{i:0;s:2:"81";i:1;s:3:"-15";i:2;s:3:"633";i:3;s:3:"667";}}s:9:"Ydieresis";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:9:"Ydieresis";s:1:"B";a:4:{i:0;s:3:"109";i:1;s:1:"0";i:2;s:3:"709";i:3;s:3:"761";}}s:6:"divide";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:6:"divide";s:1:"B";a:4:{i:0;s:3:"114";i:1;s:2:"16";i:2;s:3:"596";i:3;s:3:"500";}}s:6:"Yacute";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:6:"Yacute";s:1:"B";a:4:{i:0;s:3:"109";i:1;s:1:"0";i:2;s:3:"709";i:3;s:3:"784";}}s:11:"Acircumflex";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:11:"Acircumflex";s:1:"B";a:4:{i:0;s:2:"-9";i:1;s:1:"0";i:2;s:3:"632";i:3;s:3:"780";}}s:6:"aacute";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:6:"aacute";s:1:"B";a:4:{i:0;s:2:"61";i:1;s:3:"-15";i:2;s:3:"609";i:3;s:3:"661";}}s:11:"Ucircumflex";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:11:"Ucircumflex";s:1:"B";a:4:{i:0;s:3:"101";i:1;s:3:"-18";i:2;s:3:"716";i:3;s:3:"780";}}s:6:"yacute";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:6:"yacute";s:1:"B";a:4:{i:0;s:3:"-21";i:1;s:4:"-142";i:2;s:3:"695";i:3;s:3:"661";}}s:12:"scommaaccent";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:12:"scommaaccent";s:1:"B";a:4:{i:0;s:2:"66";i:1;s:4:"-250";i:2;s:3:"608";i:3;s:3:"459";}}s:11:"ecircumflex";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:11:"ecircumflex";s:1:"B";a:4:{i:0;s:2:"81";i:1;s:3:"-15";i:2;s:3:"607";i:3;s:3:"657";}}s:5:"Uring";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:5:"Uring";s:1:"B";a:4:{i:0;s:3:"101";i:1;s:3:"-18";i:2;s:3:"716";i:3;s:3:"801";}}s:9:"Udieresis";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:9:"Udieresis";s:1:"B";a:4:{i:0;s:3:"101";i:1;s:3:"-18";i:2;s:3:"716";i:3;s:3:"761";}}s:7:"aogonek";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:7:"aogonek";s:1:"B";a:4:{i:0;s:2:"61";i:1;s:4:"-199";i:2;s:3:"593";i:3;s:3:"454";}}s:6:"Uacute";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:6:"Uacute";s:1:"B";a:4:{i:0;s:3:"101";i:1;s:3:"-18";i:2;s:3:"716";i:3;s:3:"784";}}s:7:"uogonek";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:7:"uogonek";s:1:"B";a:4:{i:0;s:2:"70";i:1;s:4:"-199";i:2;s:3:"592";i:3;s:3:"439";}}s:9:"Edieresis";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:9:"Edieresis";s:1:"B";a:4:{i:0;s:2:"25";i:1;s:1:"0";i:2;s:3:"670";i:3;s:3:"761";}}s:6:"Dcroat";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:6:"Dcroat";s:1:"B";a:4:{i:0;s:2:"30";i:1;s:1:"0";i:2;s:3:"664";i:3;s:3:"562";}}s:11:"commaaccent";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:11:"commaaccent";s:1:"B";a:4:{i:0;s:3:"151";i:1;s:4:"-250";i:2;s:3:"385";i:3;s:3:"-57";}}s:9:"copyright";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:9:"copyright";s:1:"B";a:4:{i:0;s:2:"53";i:1;s:3:"-18";i:2;s:3:"667";i:3;s:3:"580";}}s:7:"Emacron";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:7:"Emacron";s:1:"B";a:4:{i:0;s:2:"25";i:1;s:1:"0";i:2;s:3:"670";i:3;s:3:"708";}}s:6:"ccaron";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:6:"ccaron";s:1:"B";a:4:{i:0;s:2:"81";i:1;s:3:"-15";i:2;s:3:"633";i:3;s:3:"667";}}s:5:"aring";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:5:"aring";s:1:"B";a:4:{i:0;s:2:"61";i:1;s:3:"-15";i:2;s:3:"593";i:3;s:3:"678";}}s:12:"Ncommaaccent";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:12:"Ncommaaccent";s:1:"B";a:4:{i:0;s:1:"8";i:1;s:4:"-250";i:2;s:3:"730";i:3;s:3:"562";}}s:6:"lacute";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:6:"lacute";s:1:"B";a:4:{i:0;s:2:"77";i:1;s:1:"0";i:2;s:3:"639";i:3;s:3:"801";}}s:6:"agrave";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:6:"agrave";s:1:"B";a:4:{i:0;s:2:"61";i:1;s:3:"-15";i:2;s:3:"593";i:3;s:3:"661";}}s:12:"Tcommaaccent";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:12:"Tcommaaccent";s:1:"B";a:4:{i:0;s:2:"86";i:1;s:4:"-250";i:2;s:3:"679";i:3;s:3:"562";}}s:6:"Cacute";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:6:"Cacute";s:1:"B";a:4:{i:0;s:2:"74";i:1;s:3:"-18";i:2;s:3:"675";i:3;s:3:"784";}}s:6:"atilde";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:6:"atilde";s:1:"B";a:4:{i:0;s:2:"61";i:1;s:3:"-15";i:2;s:3:"643";i:3;s:3:"636";}}s:10:"Edotaccent";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:10:"Edotaccent";s:1:"B";a:4:{i:0;s:2:"25";i:1;s:1:"0";i:2;s:3:"670";i:3;s:3:"761";}}s:6:"scaron";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:6:"scaron";s:1:"B";a:4:{i:0;s:2:"66";i:1;s:3:"-17";i:2;s:3:"633";i:3;s:3:"667";}}s:8:"scedilla";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:8:"scedilla";s:1:"B";a:4:{i:0;s:2:"66";i:1;s:4:"-206";i:2;s:3:"608";i:3;s:3:"459";}}s:6:"iacute";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:6:"iacute";s:1:"B";a:4:{i:0;s:2:"77";i:1;s:1:"0";i:2;s:3:"609";i:3;s:3:"661";}}s:7:"lozenge";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:7:"lozenge";s:1:"B";a:4:{i:0;s:3:"145";i:1;s:1:"0";i:2;s:3:"614";i:3;s:3:"740";}}s:6:"Rcaron";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:6:"Rcaron";s:1:"B";a:4:{i:0;s:2:"24";i:1;s:1:"0";i:2;s:3:"659";i:3;s:3:"790";}}s:12:"Gcommaaccent";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:12:"Gcommaaccent";s:1:"B";a:4:{i:0;s:2:"74";i:1;s:4:"-250";i:2;s:3:"675";i:3;s:3:"580";}}s:11:"ucircumflex";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:11:"ucircumflex";s:1:"B";a:4:{i:0;s:2:"70";i:1;s:3:"-15";i:2;s:3:"597";i:3;s:3:"657";}}s:11:"acircumflex";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:11:"acircumflex";s:1:"B";a:4:{i:0;s:2:"61";i:1;s:3:"-15";i:2;s:3:"607";i:3;s:3:"657";}}s:7:"Amacron";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:7:"Amacron";s:1:"B";a:4:{i:0;s:2:"-9";i:1;s:1:"0";i:2;s:3:"633";i:3;s:3:"708";}}s:6:"rcaron";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:6:"rcaron";s:1:"B";a:4:{i:0;s:2:"47";i:1;s:1:"0";i:2;s:3:"655";i:3;s:3:"667";}}s:8:"ccedilla";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:8:"ccedilla";s:1:"B";a:4:{i:0;s:2:"81";i:1;s:4:"-206";i:2;s:3:"631";i:3;s:3:"459";}}s:10:"Zdotaccent";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:10:"Zdotaccent";s:1:"B";a:4:{i:0;s:2:"62";i:1;s:1:"0";i:2;s:3:"637";i:3;s:3:"761";}}s:5:"Thorn";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:5:"Thorn";s:1:"B";a:4:{i:0;s:2:"48";i:1;s:1:"0";i:2;s:3:"620";i:3;s:3:"562";}}s:7:"Omacron";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:7:"Omacron";s:1:"B";a:4:{i:0;s:2:"74";i:1;s:3:"-18";i:2;s:3:"663";i:3;s:3:"708";}}s:6:"Racute";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:6:"Racute";s:1:"B";a:4:{i:0;s:2:"24";i:1;s:1:"0";i:2;s:3:"665";i:3;s:3:"784";}}s:6:"Sacute";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:6:"Sacute";s:1:"B";a:4:{i:0;s:2:"54";i:1;s:3:"-22";i:2;s:3:"673";i:3;s:3:"784";}}s:6:"dcaron";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:6:"dcaron";s:1:"B";a:4:{i:0;s:2:"60";i:1;s:3:"-15";i:2;s:3:"861";i:3;s:3:"626";}}s:7:"Umacron";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:7:"Umacron";s:1:"B";a:4:{i:0;s:3:"101";i:1;s:3:"-18";i:2;s:3:"716";i:3;s:3:"708";}}s:5:"uring";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:5:"uring";s:1:"B";a:4:{i:0;s:2:"70";i:1;s:3:"-15";i:2;s:3:"592";i:3;s:3:"678";}}s:13:"threesuperior";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:13:"threesuperior";s:1:"B";a:4:{i:0;s:3:"193";i:1;s:3:"222";i:2;s:3:"526";i:3;s:3:"616";}}s:6:"Ograve";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:6:"Ograve";s:1:"B";a:4:{i:0;s:2:"74";i:1;s:3:"-18";i:2;s:3:"645";i:3;s:3:"784";}}s:6:"Agrave";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:6:"Agrave";s:1:"B";a:4:{i:0;s:2:"-9";i:1;s:1:"0";i:2;s:3:"632";i:3;s:3:"784";}}s:6:"Abreve";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:6:"Abreve";s:1:"B";a:4:{i:0;s:2:"-9";i:1;s:1:"0";i:2;s:3:"684";i:3;s:3:"784";}}s:8:"multiply";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:8:"multiply";s:1:"B";a:4:{i:0;s:3:"104";i:1;s:2:"39";i:2;s:3:"606";i:3;s:3:"478";}}s:6:"uacute";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:6:"uacute";s:1:"B";a:4:{i:0;s:2:"70";i:1;s:3:"-15";i:2;s:3:"599";i:3;s:3:"661";}}s:6:"Tcaron";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:6:"Tcaron";s:1:"B";a:4:{i:0;s:2:"86";i:1;s:1:"0";i:2;s:3:"679";i:3;s:3:"790";}}s:11:"partialdiff";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:11:"partialdiff";s:1:"B";a:4:{i:0;s:2:"91";i:1;s:3:"-38";i:2;s:3:"627";i:3;s:3:"728";}}s:9:"ydieresis";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:9:"ydieresis";s:1:"B";a:4:{i:0;s:3:"-21";i:1;s:4:"-142";i:2;s:3:"695";i:3;s:3:"638";}}s:6:"Nacute";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:6:"Nacute";s:1:"B";a:4:{i:0;s:1:"8";i:1;s:3:"-12";i:2;s:3:"730";i:3;s:3:"784";}}s:11:"icircumflex";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:11:"icircumflex";s:1:"B";a:4:{i:0;s:2:"77";i:1;s:1:"0";i:2;s:3:"577";i:3;s:3:"657";}}s:11:"Ecircumflex";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:11:"Ecircumflex";s:1:"B";a:4:{i:0;s:2:"25";i:1;s:1:"0";i:2;s:3:"670";i:3;s:3:"780";}}s:9:"adieresis";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:9:"adieresis";s:1:"B";a:4:{i:0;s:2:"61";i:1;s:3:"-15";i:2;s:3:"595";i:3;s:3:"638";}}s:9:"edieresis";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:9:"edieresis";s:1:"B";a:4:{i:0;s:2:"81";i:1;s:3:"-15";i:2;s:3:"605";i:3;s:3:"638";}}s:6:"cacute";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:6:"cacute";s:1:"B";a:4:{i:0;s:2:"81";i:1;s:3:"-15";i:2;s:3:"649";i:3;s:3:"661";}}s:6:"nacute";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:6:"nacute";s:1:"B";a:4:{i:0;s:2:"18";i:1;s:1:"0";i:2;s:3:"639";i:3;s:3:"661";}}s:7:"umacron";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:7:"umacron";s:1:"B";a:4:{i:0;s:2:"70";i:1;s:3:"-15";i:2;s:3:"637";i:3;s:3:"585";}}s:6:"Ncaron";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:6:"Ncaron";s:1:"B";a:4:{i:0;s:1:"8";i:1;s:3:"-12";i:2;s:3:"730";i:3;s:3:"790";}}s:6:"Iacute";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:6:"Iacute";s:1:"B";a:4:{i:0;s:2:"77";i:1;s:1:"0";i:2;s:3:"643";i:3;s:3:"784";}}s:9:"plusminus";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:9:"plusminus";s:1:"B";a:4:{i:0;s:2:"76";i:1;s:2:"24";i:2;s:3:"614";i:3;s:3:"515";}}s:9:"brokenbar";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:9:"brokenbar";s:1:"B";a:4:{i:0;s:3:"217";i:1;s:4:"-175";i:2;s:3:"489";i:3;s:3:"675";}}s:10:"registered";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:10:"registered";s:1:"B";a:4:{i:0;s:2:"53";i:1;s:3:"-18";i:2;s:3:"667";i:3;s:3:"580";}}s:6:"Gbreve";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:6:"Gbreve";s:1:"B";a:4:{i:0;s:2:"74";i:1;s:3:"-18";i:2;s:3:"684";i:3;s:3:"784";}}s:10:"Idotaccent";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:10:"Idotaccent";s:1:"B";a:4:{i:0;s:2:"77";i:1;s:1:"0";i:2;s:3:"643";i:3;s:3:"761";}}s:9:"summation";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:9:"summation";s:1:"B";a:4:{i:0;s:2:"15";i:1;s:3:"-10";i:2;s:3:"672";i:3;s:3:"706";}}s:6:"Egrave";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:6:"Egrave";s:1:"B";a:4:{i:0;s:2:"25";i:1;s:1:"0";i:2;s:3:"670";i:3;s:3:"784";}}s:6:"racute";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:6:"racute";s:1:"B";a:4:{i:0;s:2:"47";i:1;s:1:"0";i:2;s:3:"655";i:3;s:3:"661";}}s:7:"omacron";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:7:"omacron";s:1:"B";a:4:{i:0;s:2:"71";i:1;s:3:"-15";i:2;s:3:"637";i:3;s:3:"585";}}s:6:"Zacute";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:6:"Zacute";s:1:"B";a:4:{i:0;s:2:"62";i:1;s:1:"0";i:2;s:3:"665";i:3;s:3:"784";}}s:6:"Zcaron";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:6:"Zcaron";s:1:"B";a:4:{i:0;s:2:"62";i:1;s:1:"0";i:2;s:3:"659";i:3;s:3:"790";}}s:12:"greaterequal";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:12:"greaterequal";s:1:"B";a:4:{i:0;s:2:"26";i:1;s:1:"0";i:2;s:3:"627";i:3;s:3:"696";}}s:3:"Eth";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:3:"Eth";s:1:"B";a:4:{i:0;s:2:"30";i:1;s:1:"0";i:2;s:3:"664";i:3;s:3:"562";}}s:8:"Ccedilla";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:8:"Ccedilla";s:1:"B";a:4:{i:0;s:2:"74";i:1;s:4:"-206";i:2;s:3:"675";i:3;s:3:"580";}}s:12:"lcommaaccent";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:12:"lcommaaccent";s:1:"B";a:4:{i:0;s:2:"77";i:1;s:4:"-250";i:2;s:3:"546";i:3;s:3:"626";}}s:6:"tcaron";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:6:"tcaron";s:1:"B";a:4:{i:0;s:3:"118";i:1;s:3:"-15";i:2;s:3:"627";i:3;s:3:"703";}}s:7:"eogonek";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:7:"eogonek";s:1:"B";a:4:{i:0;s:2:"81";i:1;s:4:"-199";i:2;s:3:"605";i:3;s:3:"454";}}s:7:"Uogonek";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:7:"Uogonek";s:1:"B";a:4:{i:0;s:3:"101";i:1;s:4:"-199";i:2;s:3:"716";i:3;s:3:"562";}}s:6:"Aacute";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:6:"Aacute";s:1:"B";a:4:{i:0;s:2:"-9";i:1;s:1:"0";i:2;s:3:"655";i:3;s:3:"784";}}s:9:"Adieresis";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:9:"Adieresis";s:1:"B";a:4:{i:0;s:2:"-9";i:1;s:1:"0";i:2;s:3:"632";i:3;s:3:"761";}}s:6:"egrave";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:6:"egrave";s:1:"B";a:4:{i:0;s:2:"81";i:1;s:3:"-15";i:2;s:3:"605";i:3;s:3:"661";}}s:6:"zacute";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:6:"zacute";s:1:"B";a:4:{i:0;s:2:"81";i:1;s:1:"0";i:2;s:3:"614";i:3;s:3:"661";}}s:7:"iogonek";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:7:"iogonek";s:1:"B";a:4:{i:0;s:2:"77";i:1;s:4:"-199";i:2;s:3:"546";i:3;s:3:"658";}}s:6:"Oacute";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:6:"Oacute";s:1:"B";a:4:{i:0;s:2:"74";i:1;s:3:"-18";i:2;s:3:"645";i:3;s:3:"784";}}s:6:"oacute";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:6:"oacute";s:1:"B";a:4:{i:0;s:2:"71";i:1;s:3:"-15";i:2;s:3:"649";i:3;s:3:"661";}}s:7:"amacron";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:7:"amacron";s:1:"B";a:4:{i:0;s:2:"61";i:1;s:3:"-15";i:2;s:3:"637";i:3;s:3:"585";}}s:6:"sacute";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:6:"sacute";s:1:"B";a:4:{i:0;s:2:"66";i:1;s:3:"-17";i:2;s:3:"609";i:3;s:3:"661";}}s:9:"idieresis";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:9:"idieresis";s:1:"B";a:4:{i:0;s:2:"77";i:1;s:1:"0";i:2;s:3:"561";i:3;s:3:"618";}}s:11:"Ocircumflex";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:11:"Ocircumflex";s:1:"B";a:4:{i:0;s:2:"74";i:1;s:3:"-18";i:2;s:3:"645";i:3;s:3:"780";}}s:6:"Ugrave";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:6:"Ugrave";s:1:"B";a:4:{i:0;s:3:"101";i:1;s:3:"-18";i:2;s:3:"716";i:3;s:3:"784";}}s:5:"Delta";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:5:"Delta";s:1:"B";a:4:{i:0;s:1:"6";i:1;s:1:"0";i:2;s:3:"594";i:3;s:3:"688";}}s:5:"thorn";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:5:"thorn";s:1:"B";a:4:{i:0;s:3:"-32";i:1;s:4:"-142";i:2;s:3:"622";i:3;s:3:"626";}}s:11:"twosuperior";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:11:"twosuperior";s:1:"B";a:4:{i:0;s:3:"191";i:1;s:3:"230";i:2;s:3:"542";i:3;s:3:"616";}}s:9:"Odieresis";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:9:"Odieresis";s:1:"B";a:4:{i:0;s:2:"74";i:1;s:3:"-18";i:2;s:3:"645";i:3;s:3:"761";}}s:2:"mu";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:2:"mu";s:1:"B";a:4:{i:0;s:2:"49";i:1;s:4:"-142";i:2;s:3:"592";i:3;s:3:"439";}}s:6:"igrave";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:6:"igrave";s:1:"B";a:4:{i:0;s:2:"77";i:1;s:1:"0";i:2;s:3:"546";i:3;s:3:"661";}}s:13:"ohungarumlaut";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:13:"ohungarumlaut";s:1:"B";a:4:{i:0;s:2:"71";i:1;s:3:"-15";i:2;s:3:"809";i:3;s:3:"661";}}s:7:"Eogonek";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:7:"Eogonek";s:1:"B";a:4:{i:0;s:2:"25";i:1;s:4:"-199";i:2;s:3:"670";i:3;s:3:"562";}}s:6:"dcroat";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:6:"dcroat";s:1:"B";a:4:{i:0;s:2:"60";i:1;s:3:"-15";i:2;s:3:"712";i:3;s:3:"626";}}s:13:"threequarters";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:13:"threequarters";s:1:"B";a:4:{i:0;s:1:"8";i:1;s:3:"-60";i:2;s:3:"699";i:3;s:3:"661";}}s:8:"Scedilla";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:8:"Scedilla";s:1:"B";a:4:{i:0;s:2:"54";i:1;s:4:"-206";i:2;s:3:"673";i:3;s:3:"582";}}s:6:"lcaron";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:6:"lcaron";s:1:"B";a:4:{i:0;s:2:"77";i:1;s:1:"0";i:2;s:3:"731";i:3;s:3:"626";}}s:12:"Kcommaaccent";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:12:"Kcommaaccent";s:1:"B";a:4:{i:0;s:2:"21";i:1;s:4:"-250";i:2;s:3:"692";i:3;s:3:"562";}}s:6:"Lacute";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:6:"Lacute";s:1:"B";a:4:{i:0;s:2:"39";i:1;s:1:"0";i:2;s:3:"636";i:3;s:3:"784";}}s:9:"trademark";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:9:"trademark";s:1:"B";a:4:{i:0;s:2:"86";i:1;s:3:"230";i:2;s:3:"869";i:3;s:3:"562";}}s:10:"edotaccent";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:10:"edotaccent";s:1:"B";a:4:{i:0;s:2:"81";i:1;s:3:"-15";i:2;s:3:"605";i:3;s:3:"638";}}s:6:"Igrave";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:6:"Igrave";s:1:"B";a:4:{i:0;s:2:"77";i:1;s:1:"0";i:2;s:3:"643";i:3;s:3:"784";}}s:7:"Imacron";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:7:"Imacron";s:1:"B";a:4:{i:0;s:2:"77";i:1;s:1:"0";i:2;s:3:"663";i:3;s:3:"708";}}s:6:"Lcaron";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:6:"Lcaron";s:1:"B";a:4:{i:0;s:2:"39";i:1;s:1:"0";i:2;s:3:"757";i:3;s:3:"562";}}s:7:"onehalf";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:7:"onehalf";s:1:"B";a:4:{i:0;s:2:"22";i:1;s:3:"-60";i:2;s:3:"716";i:3;s:3:"661";}}s:9:"lessequal";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:9:"lessequal";s:1:"B";a:4:{i:0;s:2:"26";i:1;s:1:"0";i:2;s:3:"671";i:3;s:3:"696";}}s:11:"ocircumflex";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:11:"ocircumflex";s:1:"B";a:4:{i:0;s:2:"71";i:1;s:3:"-15";i:2;s:3:"622";i:3;s:3:"657";}}s:6:"ntilde";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:6:"ntilde";s:1:"B";a:4:{i:0;s:2:"18";i:1;s:1:"0";i:2;s:3:"643";i:3;s:3:"636";}}s:13:"Uhungarumlaut";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:13:"Uhungarumlaut";s:1:"B";a:4:{i:0;s:3:"101";i:1;s:3:"-18";i:2;s:3:"805";i:3;s:3:"784";}}s:6:"Eacute";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:6:"Eacute";s:1:"B";a:4:{i:0;s:2:"25";i:1;s:1:"0";i:2;s:3:"670";i:3;s:3:"784";}}s:7:"emacron";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:7:"emacron";s:1:"B";a:4:{i:0;s:2:"81";i:1;s:3:"-15";i:2;s:3:"637";i:3;s:3:"585";}}s:6:"gbreve";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:6:"gbreve";s:1:"B";a:4:{i:0;s:2:"40";i:1;s:4:"-146";i:2;s:3:"674";i:3;s:3:"661";}}s:10:"onequarter";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:10:"onequarter";s:1:"B";a:4:{i:0;s:2:"13";i:1;s:3:"-60";i:2;s:3:"707";i:3;s:3:"661";}}s:6:"Scaron";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:6:"Scaron";s:1:"B";a:4:{i:0;s:2:"54";i:1;s:3:"-22";i:2;s:3:"689";i:3;s:3:"790";}}s:12:"Scommaaccent";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:12:"Scommaaccent";s:1:"B";a:4:{i:0;s:2:"54";i:1;s:4:"-250";i:2;s:3:"673";i:3;s:3:"582";}}s:13:"Ohungarumlaut";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:13:"Ohungarumlaut";s:1:"B";a:4:{i:0;s:2:"74";i:1;s:3:"-18";i:2;s:3:"795";i:3;s:3:"784";}}s:6:"degree";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:6:"degree";s:1:"B";a:4:{i:0;s:3:"173";i:1;s:3:"243";i:2;s:3:"570";i:3;s:3:"616";}}s:6:"ograve";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:6:"ograve";s:1:"B";a:4:{i:0;s:2:"71";i:1;s:3:"-15";i:2;s:3:"622";i:3;s:3:"661";}}s:6:"Ccaron";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:6:"Ccaron";s:1:"B";a:4:{i:0;s:2:"74";i:1;s:3:"-18";i:2;s:3:"689";i:3;s:3:"790";}}s:6:"ugrave";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:6:"ugrave";s:1:"B";a:4:{i:0;s:2:"70";i:1;s:3:"-15";i:2;s:3:"592";i:3;s:3:"661";}}s:7:"radical";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:7:"radical";s:1:"B";a:4:{i:0;s:2:"67";i:1;s:4:"-104";i:2;s:3:"635";i:3;s:3:"778";}}s:6:"Dcaron";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:6:"Dcaron";s:1:"B";a:4:{i:0;s:2:"30";i:1;s:1:"0";i:2;s:3:"664";i:3;s:3:"790";}}s:12:"rcommaaccent";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:12:"rcommaaccent";s:1:"B";a:4:{i:0;s:2:"47";i:1;s:4:"-250";i:2;s:3:"655";i:3;s:3:"454";}}s:6:"Ntilde";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:6:"Ntilde";s:1:"B";a:4:{i:0;s:1:"8";i:1;s:3:"-12";i:2;s:3:"730";i:3;s:3:"759";}}s:6:"otilde";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:6:"otilde";s:1:"B";a:4:{i:0;s:2:"71";i:1;s:3:"-15";i:2;s:3:"643";i:3;s:3:"636";}}s:12:"Rcommaaccent";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:12:"Rcommaaccent";s:1:"B";a:4:{i:0;s:2:"24";i:1;s:4:"-250";i:2;s:3:"617";i:3;s:3:"562";}}s:12:"Lcommaaccent";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:12:"Lcommaaccent";s:1:"B";a:4:{i:0;s:2:"39";i:1;s:4:"-250";i:2;s:3:"636";i:3;s:3:"562";}}s:6:"Atilde";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:6:"Atilde";s:1:"B";a:4:{i:0;s:2:"-9";i:1;s:1:"0";i:2;s:3:"669";i:3;s:3:"759";}}s:7:"Aogonek";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:7:"Aogonek";s:1:"B";a:4:{i:0;s:2:"-9";i:1;s:4:"-199";i:2;s:3:"632";i:3;s:3:"562";}}s:5:"Aring";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:5:"Aring";s:1:"B";a:4:{i:0;s:2:"-9";i:1;s:1:"0";i:2;s:3:"632";i:3;s:3:"801";}}s:6:"Otilde";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:6:"Otilde";s:1:"B";a:4:{i:0;s:2:"74";i:1;s:3:"-18";i:2;s:3:"669";i:3;s:3:"759";}}s:10:"zdotaccent";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:10:"zdotaccent";s:1:"B";a:4:{i:0;s:2:"81";i:1;s:1:"0";i:2;s:3:"614";i:3;s:3:"638";}}s:6:"Ecaron";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:6:"Ecaron";s:1:"B";a:4:{i:0;s:2:"25";i:1;s:1:"0";i:2;s:3:"670";i:3;s:3:"790";}}s:7:"Iogonek";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:7:"Iogonek";s:1:"B";a:4:{i:0;s:2:"77";i:1;s:4:"-199";i:2;s:3:"643";i:3;s:3:"562";}}s:12:"kcommaaccent";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:12:"kcommaaccent";s:1:"B";a:4:{i:0;s:2:"33";i:1;s:4:"-250";i:2;s:3:"643";i:3;s:3:"626";}}s:5:"minus";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:5:"minus";s:1:"B";a:4:{i:0;s:3:"114";i:1;s:3:"203";i:2;s:3:"596";i:3;s:3:"313";}}s:11:"Icircumflex";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:11:"Icircumflex";s:1:"B";a:4:{i:0;s:2:"77";i:1;s:1:"0";i:2;s:3:"643";i:3;s:3:"780";}}s:6:"ncaron";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:6:"ncaron";s:1:"B";a:4:{i:0;s:2:"18";i:1;s:1:"0";i:2;s:3:"633";i:3;s:3:"667";}}s:12:"tcommaaccent";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:12:"tcommaaccent";s:1:"B";a:4:{i:0;s:3:"118";i:1;s:4:"-250";i:2;s:3:"567";i:3;s:3:"562";}}s:10:"logicalnot";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:10:"logicalnot";s:1:"B";a:4:{i:0;s:3:"135";i:1;s:3:"103";i:2;s:3:"617";i:3;s:3:"413";}}s:9:"odieresis";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:9:"odieresis";s:1:"B";a:4:{i:0;s:2:"71";i:1;s:3:"-15";i:2;s:3:"622";i:3;s:3:"638";}}s:9:"udieresis";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:9:"udieresis";s:1:"B";a:4:{i:0;s:2:"70";i:1;s:3:"-15";i:2;s:3:"595";i:3;s:3:"638";}}s:8:"notequal";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:8:"notequal";s:1:"B";a:4:{i:0;s:2:"30";i:1;s:3:"-47";i:2;s:3:"626";i:3;s:3:"563";}}s:12:"gcommaaccent";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:12:"gcommaaccent";s:1:"B";a:4:{i:0;s:2:"40";i:1;s:4:"-146";i:2;s:3:"674";i:3;s:3:"714";}}s:3:"eth";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:3:"eth";s:1:"B";a:4:{i:0;s:2:"93";i:1;s:3:"-27";i:2;s:3:"661";i:3;s:3:"626";}}s:6:"zcaron";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:6:"zcaron";s:1:"B";a:4:{i:0;s:2:"81";i:1;s:1:"0";i:2;s:3:"643";i:3;s:3:"667";}}s:12:"ncommaaccent";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:12:"ncommaaccent";s:1:"B";a:4:{i:0;s:2:"18";i:1;s:4:"-250";i:2;s:3:"615";i:3;s:3:"454";}}s:11:"onesuperior";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:11:"onesuperior";s:1:"B";a:4:{i:0;s:3:"212";i:1;s:3:"230";i:2;s:3:"514";i:3;s:3:"616";}}s:7:"imacron";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:7:"imacron";s:1:"B";a:4:{i:0;s:2:"77";i:1;s:1:"0";i:2;s:3:"575";i:3;s:3:"585";}}s:4:"Euro";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:4:"Euro";s:1:"B";a:4:{i:0;s:1:"0";i:1;s:1:"0";i:2;s:1:"0";i:3;s:1:"0";}}}s:9:"_version_";i:1;}
\ No newline at end of file diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/PDF/default/templates/fonts/php_Courier-Oblique.afm b/buildscripts/PhpDocumentor/phpDocumentor/Converters/PDF/default/templates/fonts/php_Courier-Oblique.afm new file mode 100755 index 00000000..0e2cb5f5 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/PDF/default/templates/fonts/php_Courier-Oblique.afm @@ -0,0 +1 @@ +a:21:{s:8:"FontName";s:15:"Courier-Oblique";s:8:"FullName";s:15:"Courier Oblique";s:10:"FamilyName";s:7:"Courier";s:6:"Weight";s:6:"Medium";s:11:"ItalicAngle";s:3:"-12";s:12:"IsFixedPitch";s:4:"true";s:12:"CharacterSet";s:13:"ExtendedRoman";s:8:"FontBBox";a:4:{i:0;s:3:"-27";i:1;s:4:"-250";i:2;s:3:"849";i:3;s:3:"805";}s:17:"UnderlinePosition";s:4:"-100";s:18:"UnderlineThickness";s:2:"50";s:7:"Version";s:7:"003.000";s:14:"EncodingScheme";s:21:"AdobeStandardEncoding";s:9:"CapHeight";s:3:"562";s:7:"XHeight";s:3:"426";s:8:"Ascender";s:3:"629";s:9:"Descender";s:4:"-157";s:5:"StdHW";s:2:"51";s:5:"StdVW";s:2:"51";s:16:"StartCharMetrics";s:3:"315";s:1:"C";a:464:{i:32;a:4:{s:1:"C";s:2:"32";s:2:"WX";s:3:"600";s:1:"N";s:5:"space";s:1:"B";a:4:{i:0;s:1:"0";i:1;s:1:"0";i:2;s:1:"0";i:3;s:1:"0";}}s:5:"space";a:4:{s:1:"C";s:2:"32";s:2:"WX";s:3:"600";s:1:"N";s:5:"space";s:1:"B";a:4:{i:0;s:1:"0";i:1;s:1:"0";i:2;s:1:"0";i:3;s:1:"0";}}i:33;a:4:{s:1:"C";s:2:"33";s:2:"WX";s:3:"600";s:1:"N";s:6:"exclam";s:1:"B";a:4:{i:0;s:3:"243";i:1;s:3:"-15";i:2;s:3:"464";i:3;s:3:"572";}}s:6:"exclam";a:4:{s:1:"C";s:2:"33";s:2:"WX";s:3:"600";s:1:"N";s:6:"exclam";s:1:"B";a:4:{i:0;s:3:"243";i:1;s:3:"-15";i:2;s:3:"464";i:3;s:3:"572";}}i:34;a:4:{s:1:"C";s:2:"34";s:2:"WX";s:3:"600";s:1:"N";s:8:"quotedbl";s:1:"B";a:4:{i:0;s:3:"273";i:1;s:3:"328";i:2;s:3:"532";i:3;s:3:"562";}}s:8:"quotedbl";a:4:{s:1:"C";s:2:"34";s:2:"WX";s:3:"600";s:1:"N";s:8:"quotedbl";s:1:"B";a:4:{i:0;s:3:"273";i:1;s:3:"328";i:2;s:3:"532";i:3;s:3:"562";}}i:35;a:4:{s:1:"C";s:2:"35";s:2:"WX";s:3:"600";s:1:"N";s:10:"numbersign";s:1:"B";a:4:{i:0;s:3:"133";i:1;s:3:"-32";i:2;s:3:"596";i:3;s:3:"639";}}s:10:"numbersign";a:4:{s:1:"C";s:2:"35";s:2:"WX";s:3:"600";s:1:"N";s:10:"numbersign";s:1:"B";a:4:{i:0;s:3:"133";i:1;s:3:"-32";i:2;s:3:"596";i:3;s:3:"639";}}i:36;a:4:{s:1:"C";s:2:"36";s:2:"WX";s:3:"600";s:1:"N";s:6:"dollar";s:1:"B";a:4:{i:0;s:3:"108";i:1;s:4:"-126";i:2;s:3:"596";i:3;s:3:"662";}}s:6:"dollar";a:4:{s:1:"C";s:2:"36";s:2:"WX";s:3:"600";s:1:"N";s:6:"dollar";s:1:"B";a:4:{i:0;s:3:"108";i:1;s:4:"-126";i:2;s:3:"596";i:3;s:3:"662";}}i:37;a:4:{s:1:"C";s:2:"37";s:2:"WX";s:3:"600";s:1:"N";s:7:"percent";s:1:"B";a:4:{i:0;s:3:"134";i:1;s:3:"-15";i:2;s:3:"599";i:3;s:3:"622";}}s:7:"percent";a:4:{s:1:"C";s:2:"37";s:2:"WX";s:3:"600";s:1:"N";s:7:"percent";s:1:"B";a:4:{i:0;s:3:"134";i:1;s:3:"-15";i:2;s:3:"599";i:3;s:3:"622";}}i:38;a:4:{s:1:"C";s:2:"38";s:2:"WX";s:3:"600";s:1:"N";s:9:"ampersand";s:1:"B";a:4:{i:0;s:2:"87";i:1;s:3:"-15";i:2;s:3:"580";i:3;s:3:"543";}}s:9:"ampersand";a:4:{s:1:"C";s:2:"38";s:2:"WX";s:3:"600";s:1:"N";s:9:"ampersand";s:1:"B";a:4:{i:0;s:2:"87";i:1;s:3:"-15";i:2;s:3:"580";i:3;s:3:"543";}}i:39;a:4:{s:1:"C";s:2:"39";s:2:"WX";s:3:"600";s:1:"N";s:10:"quoteright";s:1:"B";a:4:{i:0;s:3:"283";i:1;s:3:"328";i:2;s:3:"495";i:3;s:3:"562";}}s:10:"quoteright";a:4:{s:1:"C";s:2:"39";s:2:"WX";s:3:"600";s:1:"N";s:10:"quoteright";s:1:"B";a:4:{i:0;s:3:"283";i:1;s:3:"328";i:2;s:3:"495";i:3;s:3:"562";}}i:40;a:4:{s:1:"C";s:2:"40";s:2:"WX";s:3:"600";s:1:"N";s:9:"parenleft";s:1:"B";a:4:{i:0;s:3:"313";i:1;s:4:"-108";i:2;s:3:"572";i:3;s:3:"622";}}s:9:"parenleft";a:4:{s:1:"C";s:2:"40";s:2:"WX";s:3:"600";s:1:"N";s:9:"parenleft";s:1:"B";a:4:{i:0;s:3:"313";i:1;s:4:"-108";i:2;s:3:"572";i:3;s:3:"622";}}i:41;a:4:{s:1:"C";s:2:"41";s:2:"WX";s:3:"600";s:1:"N";s:10:"parenright";s:1:"B";a:4:{i:0;s:3:"137";i:1;s:4:"-108";i:2;s:3:"396";i:3;s:3:"622";}}s:10:"parenright";a:4:{s:1:"C";s:2:"41";s:2:"WX";s:3:"600";s:1:"N";s:10:"parenright";s:1:"B";a:4:{i:0;s:3:"137";i:1;s:4:"-108";i:2;s:3:"396";i:3;s:3:"622";}}i:42;a:4:{s:1:"C";s:2:"42";s:2:"WX";s:3:"600";s:1:"N";s:8:"asterisk";s:1:"B";a:4:{i:0;s:3:"212";i:1;s:3:"257";i:2;s:3:"580";i:3;s:3:"607";}}s:8:"asterisk";a:4:{s:1:"C";s:2:"42";s:2:"WX";s:3:"600";s:1:"N";s:8:"asterisk";s:1:"B";a:4:{i:0;s:3:"212";i:1;s:3:"257";i:2;s:3:"580";i:3;s:3:"607";}}i:43;a:4:{s:1:"C";s:2:"43";s:2:"WX";s:3:"600";s:1:"N";s:4:"plus";s:1:"B";a:4:{i:0;s:3:"129";i:1;s:2:"44";i:2;s:3:"580";i:3;s:3:"470";}}s:4:"plus";a:4:{s:1:"C";s:2:"43";s:2:"WX";s:3:"600";s:1:"N";s:4:"plus";s:1:"B";a:4:{i:0;s:3:"129";i:1;s:2:"44";i:2;s:3:"580";i:3;s:3:"470";}}i:44;a:4:{s:1:"C";s:2:"44";s:2:"WX";s:3:"600";s:1:"N";s:5:"comma";s:1:"B";a:4:{i:0;s:3:"157";i:1;s:4:"-112";i:2;s:3:"370";i:3;s:3:"122";}}s:5:"comma";a:4:{s:1:"C";s:2:"44";s:2:"WX";s:3:"600";s:1:"N";s:5:"comma";s:1:"B";a:4:{i:0;s:3:"157";i:1;s:4:"-112";i:2;s:3:"370";i:3;s:3:"122";}}i:45;a:4:{s:1:"C";s:2:"45";s:2:"WX";s:3:"600";s:1:"N";s:6:"hyphen";s:1:"B";a:4:{i:0;s:3:"152";i:1;s:3:"231";i:2;s:3:"558";i:3;s:3:"285";}}s:6:"hyphen";a:4:{s:1:"C";s:2:"45";s:2:"WX";s:3:"600";s:1:"N";s:6:"hyphen";s:1:"B";a:4:{i:0;s:3:"152";i:1;s:3:"231";i:2;s:3:"558";i:3;s:3:"285";}}i:46;a:4:{s:1:"C";s:2:"46";s:2:"WX";s:3:"600";s:1:"N";s:6:"period";s:1:"B";a:4:{i:0;s:3:"238";i:1;s:3:"-15";i:2;s:3:"382";i:3;s:3:"109";}}s:6:"period";a:4:{s:1:"C";s:2:"46";s:2:"WX";s:3:"600";s:1:"N";s:6:"period";s:1:"B";a:4:{i:0;s:3:"238";i:1;s:3:"-15";i:2;s:3:"382";i:3;s:3:"109";}}i:47;a:4:{s:1:"C";s:2:"47";s:2:"WX";s:3:"600";s:1:"N";s:5:"slash";s:1:"B";a:4:{i:0;s:3:"112";i:1;s:3:"-80";i:2;s:3:"604";i:3;s:3:"629";}}s:5:"slash";a:4:{s:1:"C";s:2:"47";s:2:"WX";s:3:"600";s:1:"N";s:5:"slash";s:1:"B";a:4:{i:0;s:3:"112";i:1;s:3:"-80";i:2;s:3:"604";i:3;s:3:"629";}}i:48;a:4:{s:1:"C";s:2:"48";s:2:"WX";s:3:"600";s:1:"N";s:4:"zero";s:1:"B";a:4:{i:0;s:3:"154";i:1;s:3:"-15";i:2;s:3:"575";i:3;s:3:"622";}}s:4:"zero";a:4:{s:1:"C";s:2:"48";s:2:"WX";s:3:"600";s:1:"N";s:4:"zero";s:1:"B";a:4:{i:0;s:3:"154";i:1;s:3:"-15";i:2;s:3:"575";i:3;s:3:"622";}}i:49;a:4:{s:1:"C";s:2:"49";s:2:"WX";s:3:"600";s:1:"N";s:3:"one";s:1:"B";a:4:{i:0;s:2:"98";i:1;s:1:"0";i:2;s:3:"515";i:3;s:3:"622";}}s:3:"one";a:4:{s:1:"C";s:2:"49";s:2:"WX";s:3:"600";s:1:"N";s:3:"one";s:1:"B";a:4:{i:0;s:2:"98";i:1;s:1:"0";i:2;s:3:"515";i:3;s:3:"622";}}i:50;a:4:{s:1:"C";s:2:"50";s:2:"WX";s:3:"600";s:1:"N";s:3:"two";s:1:"B";a:4:{i:0;s:2:"70";i:1;s:1:"0";i:2;s:3:"568";i:3;s:3:"622";}}s:3:"two";a:4:{s:1:"C";s:2:"50";s:2:"WX";s:3:"600";s:1:"N";s:3:"two";s:1:"B";a:4:{i:0;s:2:"70";i:1;s:1:"0";i:2;s:3:"568";i:3;s:3:"622";}}i:51;a:4:{s:1:"C";s:2:"51";s:2:"WX";s:3:"600";s:1:"N";s:5:"three";s:1:"B";a:4:{i:0;s:2:"82";i:1;s:3:"-15";i:2;s:3:"538";i:3;s:3:"622";}}s:5:"three";a:4:{s:1:"C";s:2:"51";s:2:"WX";s:3:"600";s:1:"N";s:5:"three";s:1:"B";a:4:{i:0;s:2:"82";i:1;s:3:"-15";i:2;s:3:"538";i:3;s:3:"622";}}i:52;a:4:{s:1:"C";s:2:"52";s:2:"WX";s:3:"600";s:1:"N";s:4:"four";s:1:"B";a:4:{i:0;s:3:"108";i:1;s:1:"0";i:2;s:3:"541";i:3;s:3:"622";}}s:4:"four";a:4:{s:1:"C";s:2:"52";s:2:"WX";s:3:"600";s:1:"N";s:4:"four";s:1:"B";a:4:{i:0;s:3:"108";i:1;s:1:"0";i:2;s:3:"541";i:3;s:3:"622";}}i:53;a:4:{s:1:"C";s:2:"53";s:2:"WX";s:3:"600";s:1:"N";s:4:"five";s:1:"B";a:4:{i:0;s:2:"99";i:1;s:3:"-15";i:2;s:3:"589";i:3;s:3:"607";}}s:4:"five";a:4:{s:1:"C";s:2:"53";s:2:"WX";s:3:"600";s:1:"N";s:4:"five";s:1:"B";a:4:{i:0;s:2:"99";i:1;s:3:"-15";i:2;s:3:"589";i:3;s:3:"607";}}i:54;a:4:{s:1:"C";s:2:"54";s:2:"WX";s:3:"600";s:1:"N";s:3:"six";s:1:"B";a:4:{i:0;s:3:"155";i:1;s:3:"-15";i:2;s:3:"629";i:3;s:3:"622";}}s:3:"six";a:4:{s:1:"C";s:2:"54";s:2:"WX";s:3:"600";s:1:"N";s:3:"six";s:1:"B";a:4:{i:0;s:3:"155";i:1;s:3:"-15";i:2;s:3:"629";i:3;s:3:"622";}}i:55;a:4:{s:1:"C";s:2:"55";s:2:"WX";s:3:"600";s:1:"N";s:5:"seven";s:1:"B";a:4:{i:0;s:3:"182";i:1;s:1:"0";i:2;s:3:"612";i:3;s:3:"607";}}s:5:"seven";a:4:{s:1:"C";s:2:"55";s:2:"WX";s:3:"600";s:1:"N";s:5:"seven";s:1:"B";a:4:{i:0;s:3:"182";i:1;s:1:"0";i:2;s:3:"612";i:3;s:3:"607";}}i:56;a:4:{s:1:"C";s:2:"56";s:2:"WX";s:3:"600";s:1:"N";s:5:"eight";s:1:"B";a:4:{i:0;s:3:"132";i:1;s:3:"-15";i:2;s:3:"588";i:3;s:3:"622";}}s:5:"eight";a:4:{s:1:"C";s:2:"56";s:2:"WX";s:3:"600";s:1:"N";s:5:"eight";s:1:"B";a:4:{i:0;s:3:"132";i:1;s:3:"-15";i:2;s:3:"588";i:3;s:3:"622";}}i:57;a:4:{s:1:"C";s:2:"57";s:2:"WX";s:3:"600";s:1:"N";s:4:"nine";s:1:"B";a:4:{i:0;s:2:"93";i:1;s:3:"-15";i:2;s:3:"574";i:3;s:3:"622";}}s:4:"nine";a:4:{s:1:"C";s:2:"57";s:2:"WX";s:3:"600";s:1:"N";s:4:"nine";s:1:"B";a:4:{i:0;s:2:"93";i:1;s:3:"-15";i:2;s:3:"574";i:3;s:3:"622";}}i:58;a:4:{s:1:"C";s:2:"58";s:2:"WX";s:3:"600";s:1:"N";s:5:"colon";s:1:"B";a:4:{i:0;s:3:"238";i:1;s:3:"-15";i:2;s:3:"441";i:3;s:3:"385";}}s:5:"colon";a:4:{s:1:"C";s:2:"58";s:2:"WX";s:3:"600";s:1:"N";s:5:"colon";s:1:"B";a:4:{i:0;s:3:"238";i:1;s:3:"-15";i:2;s:3:"441";i:3;s:3:"385";}}i:59;a:4:{s:1:"C";s:2:"59";s:2:"WX";s:3:"600";s:1:"N";s:9:"semicolon";s:1:"B";a:4:{i:0;s:3:"157";i:1;s:4:"-112";i:2;s:3:"441";i:3;s:3:"385";}}s:9:"semicolon";a:4:{s:1:"C";s:2:"59";s:2:"WX";s:3:"600";s:1:"N";s:9:"semicolon";s:1:"B";a:4:{i:0;s:3:"157";i:1;s:4:"-112";i:2;s:3:"441";i:3;s:3:"385";}}i:60;a:4:{s:1:"C";s:2:"60";s:2:"WX";s:3:"600";s:1:"N";s:4:"less";s:1:"B";a:4:{i:0;s:2:"96";i:1;s:2:"42";i:2;s:3:"610";i:3;s:3:"472";}}s:4:"less";a:4:{s:1:"C";s:2:"60";s:2:"WX";s:3:"600";s:1:"N";s:4:"less";s:1:"B";a:4:{i:0;s:2:"96";i:1;s:2:"42";i:2;s:3:"610";i:3;s:3:"472";}}i:61;a:4:{s:1:"C";s:2:"61";s:2:"WX";s:3:"600";s:1:"N";s:5:"equal";s:1:"B";a:4:{i:0;s:3:"109";i:1;s:3:"138";i:2;s:3:"600";i:3;s:3:"376";}}s:5:"equal";a:4:{s:1:"C";s:2:"61";s:2:"WX";s:3:"600";s:1:"N";s:5:"equal";s:1:"B";a:4:{i:0;s:3:"109";i:1;s:3:"138";i:2;s:3:"600";i:3;s:3:"376";}}i:62;a:4:{s:1:"C";s:2:"62";s:2:"WX";s:3:"600";s:1:"N";s:7:"greater";s:1:"B";a:4:{i:0;s:2:"85";i:1;s:2:"42";i:2;s:3:"599";i:3;s:3:"472";}}s:7:"greater";a:4:{s:1:"C";s:2:"62";s:2:"WX";s:3:"600";s:1:"N";s:7:"greater";s:1:"B";a:4:{i:0;s:2:"85";i:1;s:2:"42";i:2;s:3:"599";i:3;s:3:"472";}}i:63;a:4:{s:1:"C";s:2:"63";s:2:"WX";s:3:"600";s:1:"N";s:8:"question";s:1:"B";a:4:{i:0;s:3:"222";i:1;s:3:"-15";i:2;s:3:"583";i:3;s:3:"572";}}s:8:"question";a:4:{s:1:"C";s:2:"63";s:2:"WX";s:3:"600";s:1:"N";s:8:"question";s:1:"B";a:4:{i:0;s:3:"222";i:1;s:3:"-15";i:2;s:3:"583";i:3;s:3:"572";}}i:64;a:4:{s:1:"C";s:2:"64";s:2:"WX";s:3:"600";s:1:"N";s:2:"at";s:1:"B";a:4:{i:0;s:3:"127";i:1;s:3:"-15";i:2;s:3:"582";i:3;s:3:"622";}}s:2:"at";a:4:{s:1:"C";s:2:"64";s:2:"WX";s:3:"600";s:1:"N";s:2:"at";s:1:"B";a:4:{i:0;s:3:"127";i:1;s:3:"-15";i:2;s:3:"582";i:3;s:3:"622";}}i:65;a:4:{s:1:"C";s:2:"65";s:2:"WX";s:3:"600";s:1:"N";s:1:"A";s:1:"B";a:4:{i:0;s:1:"3";i:1;s:1:"0";i:2;s:3:"607";i:3;s:3:"562";}}s:1:"A";a:4:{s:1:"C";s:2:"65";s:2:"WX";s:3:"600";s:1:"N";s:1:"A";s:1:"B";a:4:{i:0;s:1:"3";i:1;s:1:"0";i:2;s:3:"607";i:3;s:3:"562";}}i:66;a:4:{s:1:"C";s:2:"66";s:2:"WX";s:3:"600";s:1:"N";s:1:"B";s:1:"B";a:4:{i:0;s:2:"43";i:1;s:1:"0";i:2;s:3:"616";i:3;s:3:"562";}}s:1:"B";a:4:{s:1:"C";s:2:"66";s:2:"WX";s:3:"600";s:1:"N";s:1:"B";s:1:"B";a:4:{i:0;s:2:"43";i:1;s:1:"0";i:2;s:3:"616";i:3;s:3:"562";}}i:67;a:4:{s:1:"C";s:2:"67";s:2:"WX";s:3:"600";s:1:"N";s:1:"C";s:1:"B";a:4:{i:0;s:2:"93";i:1;s:3:"-18";i:2;s:3:"655";i:3;s:3:"580";}}s:1:"C";a:4:{s:1:"C";s:2:"67";s:2:"WX";s:3:"600";s:1:"N";s:1:"C";s:1:"B";a:4:{i:0;s:2:"93";i:1;s:3:"-18";i:2;s:3:"655";i:3;s:3:"580";}}i:68;a:4:{s:1:"C";s:2:"68";s:2:"WX";s:3:"600";s:1:"N";s:1:"D";s:1:"B";a:4:{i:0;s:2:"43";i:1;s:1:"0";i:2;s:3:"645";i:3;s:3:"562";}}s:1:"D";a:4:{s:1:"C";s:2:"68";s:2:"WX";s:3:"600";s:1:"N";s:1:"D";s:1:"B";a:4:{i:0;s:2:"43";i:1;s:1:"0";i:2;s:3:"645";i:3;s:3:"562";}}i:69;a:4:{s:1:"C";s:2:"69";s:2:"WX";s:3:"600";s:1:"N";s:1:"E";s:1:"B";a:4:{i:0;s:2:"53";i:1;s:1:"0";i:2;s:3:"660";i:3;s:3:"562";}}s:1:"E";a:4:{s:1:"C";s:2:"69";s:2:"WX";s:3:"600";s:1:"N";s:1:"E";s:1:"B";a:4:{i:0;s:2:"53";i:1;s:1:"0";i:2;s:3:"660";i:3;s:3:"562";}}i:70;a:4:{s:1:"C";s:2:"70";s:2:"WX";s:3:"600";s:1:"N";s:1:"F";s:1:"B";a:4:{i:0;s:2:"53";i:1;s:1:"0";i:2;s:3:"660";i:3;s:3:"562";}}s:1:"F";a:4:{s:1:"C";s:2:"70";s:2:"WX";s:3:"600";s:1:"N";s:1:"F";s:1:"B";a:4:{i:0;s:2:"53";i:1;s:1:"0";i:2;s:3:"660";i:3;s:3:"562";}}i:71;a:4:{s:1:"C";s:2:"71";s:2:"WX";s:3:"600";s:1:"N";s:1:"G";s:1:"B";a:4:{i:0;s:2:"83";i:1;s:3:"-18";i:2;s:3:"645";i:3;s:3:"580";}}s:1:"G";a:4:{s:1:"C";s:2:"71";s:2:"WX";s:3:"600";s:1:"N";s:1:"G";s:1:"B";a:4:{i:0;s:2:"83";i:1;s:3:"-18";i:2;s:3:"645";i:3;s:3:"580";}}i:72;a:4:{s:1:"C";s:2:"72";s:2:"WX";s:3:"600";s:1:"N";s:1:"H";s:1:"B";a:4:{i:0;s:2:"32";i:1;s:1:"0";i:2;s:3:"687";i:3;s:3:"562";}}s:1:"H";a:4:{s:1:"C";s:2:"72";s:2:"WX";s:3:"600";s:1:"N";s:1:"H";s:1:"B";a:4:{i:0;s:2:"32";i:1;s:1:"0";i:2;s:3:"687";i:3;s:3:"562";}}i:73;a:4:{s:1:"C";s:2:"73";s:2:"WX";s:3:"600";s:1:"N";s:1:"I";s:1:"B";a:4:{i:0;s:2:"96";i:1;s:1:"0";i:2;s:3:"623";i:3;s:3:"562";}}s:1:"I";a:4:{s:1:"C";s:2:"73";s:2:"WX";s:3:"600";s:1:"N";s:1:"I";s:1:"B";a:4:{i:0;s:2:"96";i:1;s:1:"0";i:2;s:3:"623";i:3;s:3:"562";}}i:74;a:4:{s:1:"C";s:2:"74";s:2:"WX";s:3:"600";s:1:"N";s:1:"J";s:1:"B";a:4:{i:0;s:2:"52";i:1;s:3:"-18";i:2;s:3:"685";i:3;s:3:"562";}}s:1:"J";a:4:{s:1:"C";s:2:"74";s:2:"WX";s:3:"600";s:1:"N";s:1:"J";s:1:"B";a:4:{i:0;s:2:"52";i:1;s:3:"-18";i:2;s:3:"685";i:3;s:3:"562";}}i:75;a:4:{s:1:"C";s:2:"75";s:2:"WX";s:3:"600";s:1:"N";s:1:"K";s:1:"B";a:4:{i:0;s:2:"38";i:1;s:1:"0";i:2;s:3:"671";i:3;s:3:"562";}}s:1:"K";a:4:{s:1:"C";s:2:"75";s:2:"WX";s:3:"600";s:1:"N";s:1:"K";s:1:"B";a:4:{i:0;s:2:"38";i:1;s:1:"0";i:2;s:3:"671";i:3;s:3:"562";}}i:76;a:4:{s:1:"C";s:2:"76";s:2:"WX";s:3:"600";s:1:"N";s:1:"L";s:1:"B";a:4:{i:0;s:2:"47";i:1;s:1:"0";i:2;s:3:"607";i:3;s:3:"562";}}s:1:"L";a:4:{s:1:"C";s:2:"76";s:2:"WX";s:3:"600";s:1:"N";s:1:"L";s:1:"B";a:4:{i:0;s:2:"47";i:1;s:1:"0";i:2;s:3:"607";i:3;s:3:"562";}}i:77;a:4:{s:1:"C";s:2:"77";s:2:"WX";s:3:"600";s:1:"N";s:1:"M";s:1:"B";a:4:{i:0;s:1:"4";i:1;s:1:"0";i:2;s:3:"715";i:3;s:3:"562";}}s:1:"M";a:4:{s:1:"C";s:2:"77";s:2:"WX";s:3:"600";s:1:"N";s:1:"M";s:1:"B";a:4:{i:0;s:1:"4";i:1;s:1:"0";i:2;s:3:"715";i:3;s:3:"562";}}i:78;a:4:{s:1:"C";s:2:"78";s:2:"WX";s:3:"600";s:1:"N";s:1:"N";s:1:"B";a:4:{i:0;s:1:"7";i:1;s:3:"-13";i:2;s:3:"712";i:3;s:3:"562";}}s:1:"N";a:4:{s:1:"C";s:2:"78";s:2:"WX";s:3:"600";s:1:"N";s:1:"N";s:1:"B";a:4:{i:0;s:1:"7";i:1;s:3:"-13";i:2;s:3:"712";i:3;s:3:"562";}}i:79;a:4:{s:1:"C";s:2:"79";s:2:"WX";s:3:"600";s:1:"N";s:1:"O";s:1:"B";a:4:{i:0;s:2:"94";i:1;s:3:"-18";i:2;s:3:"625";i:3;s:3:"580";}}s:1:"O";a:4:{s:1:"C";s:2:"79";s:2:"WX";s:3:"600";s:1:"N";s:1:"O";s:1:"B";a:4:{i:0;s:2:"94";i:1;s:3:"-18";i:2;s:3:"625";i:3;s:3:"580";}}i:80;a:4:{s:1:"C";s:2:"80";s:2:"WX";s:3:"600";s:1:"N";s:1:"P";s:1:"B";a:4:{i:0;s:2:"79";i:1;s:1:"0";i:2;s:3:"644";i:3;s:3:"562";}}s:1:"P";a:4:{s:1:"C";s:2:"80";s:2:"WX";s:3:"600";s:1:"N";s:1:"P";s:1:"B";a:4:{i:0;s:2:"79";i:1;s:1:"0";i:2;s:3:"644";i:3;s:3:"562";}}i:81;a:4:{s:1:"C";s:2:"81";s:2:"WX";s:3:"600";s:1:"N";s:1:"Q";s:1:"B";a:4:{i:0;s:2:"95";i:1;s:4:"-138";i:2;s:3:"625";i:3;s:3:"580";}}s:1:"Q";a:4:{s:1:"C";s:2:"81";s:2:"WX";s:3:"600";s:1:"N";s:1:"Q";s:1:"B";a:4:{i:0;s:2:"95";i:1;s:4:"-138";i:2;s:3:"625";i:3;s:3:"580";}}i:82;a:4:{s:1:"C";s:2:"82";s:2:"WX";s:3:"600";s:1:"N";s:1:"R";s:1:"B";a:4:{i:0;s:2:"38";i:1;s:1:"0";i:2;s:3:"598";i:3;s:3:"562";}}s:1:"R";a:4:{s:1:"C";s:2:"82";s:2:"WX";s:3:"600";s:1:"N";s:1:"R";s:1:"B";a:4:{i:0;s:2:"38";i:1;s:1:"0";i:2;s:3:"598";i:3;s:3:"562";}}i:83;a:4:{s:1:"C";s:2:"83";s:2:"WX";s:3:"600";s:1:"N";s:1:"S";s:1:"B";a:4:{i:0;s:2:"76";i:1;s:3:"-20";i:2;s:3:"650";i:3;s:3:"580";}}s:1:"S";a:4:{s:1:"C";s:2:"83";s:2:"WX";s:3:"600";s:1:"N";s:1:"S";s:1:"B";a:4:{i:0;s:2:"76";i:1;s:3:"-20";i:2;s:3:"650";i:3;s:3:"580";}}i:84;a:4:{s:1:"C";s:2:"84";s:2:"WX";s:3:"600";s:1:"N";s:1:"T";s:1:"B";a:4:{i:0;s:3:"108";i:1;s:1:"0";i:2;s:3:"665";i:3;s:3:"562";}}s:1:"T";a:4:{s:1:"C";s:2:"84";s:2:"WX";s:3:"600";s:1:"N";s:1:"T";s:1:"B";a:4:{i:0;s:3:"108";i:1;s:1:"0";i:2;s:3:"665";i:3;s:3:"562";}}i:85;a:4:{s:1:"C";s:2:"85";s:2:"WX";s:3:"600";s:1:"N";s:1:"U";s:1:"B";a:4:{i:0;s:3:"125";i:1;s:3:"-18";i:2;s:3:"702";i:3;s:3:"562";}}s:1:"U";a:4:{s:1:"C";s:2:"85";s:2:"WX";s:3:"600";s:1:"N";s:1:"U";s:1:"B";a:4:{i:0;s:3:"125";i:1;s:3:"-18";i:2;s:3:"702";i:3;s:3:"562";}}i:86;a:4:{s:1:"C";s:2:"86";s:2:"WX";s:3:"600";s:1:"N";s:1:"V";s:1:"B";a:4:{i:0;s:3:"105";i:1;s:3:"-13";i:2;s:3:"723";i:3;s:3:"562";}}s:1:"V";a:4:{s:1:"C";s:2:"86";s:2:"WX";s:3:"600";s:1:"N";s:1:"V";s:1:"B";a:4:{i:0;s:3:"105";i:1;s:3:"-13";i:2;s:3:"723";i:3;s:3:"562";}}i:87;a:4:{s:1:"C";s:2:"87";s:2:"WX";s:3:"600";s:1:"N";s:1:"W";s:1:"B";a:4:{i:0;s:3:"106";i:1;s:3:"-13";i:2;s:3:"722";i:3;s:3:"562";}}s:1:"W";a:4:{s:1:"C";s:2:"87";s:2:"WX";s:3:"600";s:1:"N";s:1:"W";s:1:"B";a:4:{i:0;s:3:"106";i:1;s:3:"-13";i:2;s:3:"722";i:3;s:3:"562";}}i:88;a:4:{s:1:"C";s:2:"88";s:2:"WX";s:3:"600";s:1:"N";s:1:"X";s:1:"B";a:4:{i:0;s:2:"23";i:1;s:1:"0";i:2;s:3:"675";i:3;s:3:"562";}}s:1:"X";a:4:{s:1:"C";s:2:"88";s:2:"WX";s:3:"600";s:1:"N";s:1:"X";s:1:"B";a:4:{i:0;s:2:"23";i:1;s:1:"0";i:2;s:3:"675";i:3;s:3:"562";}}i:89;a:4:{s:1:"C";s:2:"89";s:2:"WX";s:3:"600";s:1:"N";s:1:"Y";s:1:"B";a:4:{i:0;s:3:"133";i:1;s:1:"0";i:2;s:3:"695";i:3;s:3:"562";}}s:1:"Y";a:4:{s:1:"C";s:2:"89";s:2:"WX";s:3:"600";s:1:"N";s:1:"Y";s:1:"B";a:4:{i:0;s:3:"133";i:1;s:1:"0";i:2;s:3:"695";i:3;s:3:"562";}}i:90;a:4:{s:1:"C";s:2:"90";s:2:"WX";s:3:"600";s:1:"N";s:1:"Z";s:1:"B";a:4:{i:0;s:2:"86";i:1;s:1:"0";i:2;s:3:"610";i:3;s:3:"562";}}s:1:"Z";a:4:{s:1:"C";s:2:"90";s:2:"WX";s:3:"600";s:1:"N";s:1:"Z";s:1:"B";a:4:{i:0;s:2:"86";i:1;s:1:"0";i:2;s:3:"610";i:3;s:3:"562";}}i:91;a:4:{s:1:"C";s:2:"91";s:2:"WX";s:3:"600";s:1:"N";s:11:"bracketleft";s:1:"B";a:4:{i:0;s:3:"246";i:1;s:4:"-108";i:2;s:3:"574";i:3;s:3:"622";}}s:11:"bracketleft";a:4:{s:1:"C";s:2:"91";s:2:"WX";s:3:"600";s:1:"N";s:11:"bracketleft";s:1:"B";a:4:{i:0;s:3:"246";i:1;s:4:"-108";i:2;s:3:"574";i:3;s:3:"622";}}i:92;a:4:{s:1:"C";s:2:"92";s:2:"WX";s:3:"600";s:1:"N";s:9:"backslash";s:1:"B";a:4:{i:0;s:3:"249";i:1;s:3:"-80";i:2;s:3:"468";i:3;s:3:"629";}}s:9:"backslash";a:4:{s:1:"C";s:2:"92";s:2:"WX";s:3:"600";s:1:"N";s:9:"backslash";s:1:"B";a:4:{i:0;s:3:"249";i:1;s:3:"-80";i:2;s:3:"468";i:3;s:3:"629";}}i:93;a:4:{s:1:"C";s:2:"93";s:2:"WX";s:3:"600";s:1:"N";s:12:"bracketright";s:1:"B";a:4:{i:0;s:3:"135";i:1;s:4:"-108";i:2;s:3:"463";i:3;s:3:"622";}}s:12:"bracketright";a:4:{s:1:"C";s:2:"93";s:2:"WX";s:3:"600";s:1:"N";s:12:"bracketright";s:1:"B";a:4:{i:0;s:3:"135";i:1;s:4:"-108";i:2;s:3:"463";i:3;s:3:"622";}}i:94;a:4:{s:1:"C";s:2:"94";s:2:"WX";s:3:"600";s:1:"N";s:11:"asciicircum";s:1:"B";a:4:{i:0;s:3:"175";i:1;s:3:"354";i:2;s:3:"587";i:3;s:3:"622";}}s:11:"asciicircum";a:4:{s:1:"C";s:2:"94";s:2:"WX";s:3:"600";s:1:"N";s:11:"asciicircum";s:1:"B";a:4:{i:0;s:3:"175";i:1;s:3:"354";i:2;s:3:"587";i:3;s:3:"622";}}i:95;a:4:{s:1:"C";s:2:"95";s:2:"WX";s:3:"600";s:1:"N";s:10:"underscore";s:1:"B";a:4:{i:0;s:3:"-27";i:1;s:4:"-125";i:2;s:3:"584";i:3;s:3:"-75";}}s:10:"underscore";a:4:{s:1:"C";s:2:"95";s:2:"WX";s:3:"600";s:1:"N";s:10:"underscore";s:1:"B";a:4:{i:0;s:3:"-27";i:1;s:4:"-125";i:2;s:3:"584";i:3;s:3:"-75";}}i:96;a:4:{s:1:"C";s:2:"96";s:2:"WX";s:3:"600";s:1:"N";s:9:"quoteleft";s:1:"B";a:4:{i:0;s:3:"343";i:1;s:3:"328";i:2;s:3:"457";i:3;s:3:"562";}}s:9:"quoteleft";a:4:{s:1:"C";s:2:"96";s:2:"WX";s:3:"600";s:1:"N";s:9:"quoteleft";s:1:"B";a:4:{i:0;s:3:"343";i:1;s:3:"328";i:2;s:3:"457";i:3;s:3:"562";}}i:97;a:4:{s:1:"C";s:2:"97";s:2:"WX";s:3:"600";s:1:"N";s:1:"a";s:1:"B";a:4:{i:0;s:2:"76";i:1;s:3:"-15";i:2;s:3:"569";i:3;s:3:"441";}}s:1:"a";a:4:{s:1:"C";s:2:"97";s:2:"WX";s:3:"600";s:1:"N";s:1:"a";s:1:"B";a:4:{i:0;s:2:"76";i:1;s:3:"-15";i:2;s:3:"569";i:3;s:3:"441";}}i:98;a:4:{s:1:"C";s:2:"98";s:2:"WX";s:3:"600";s:1:"N";s:1:"b";s:1:"B";a:4:{i:0;s:2:"29";i:1;s:3:"-15";i:2;s:3:"625";i:3;s:3:"629";}}s:1:"b";a:4:{s:1:"C";s:2:"98";s:2:"WX";s:3:"600";s:1:"N";s:1:"b";s:1:"B";a:4:{i:0;s:2:"29";i:1;s:3:"-15";i:2;s:3:"625";i:3;s:3:"629";}}i:99;a:4:{s:1:"C";s:2:"99";s:2:"WX";s:3:"600";s:1:"N";s:1:"c";s:1:"B";a:4:{i:0;s:3:"106";i:1;s:3:"-15";i:2;s:3:"608";i:3;s:3:"441";}}s:1:"c";a:4:{s:1:"C";s:2:"99";s:2:"WX";s:3:"600";s:1:"N";s:1:"c";s:1:"B";a:4:{i:0;s:3:"106";i:1;s:3:"-15";i:2;s:3:"608";i:3;s:3:"441";}}i:100;a:4:{s:1:"C";s:3:"100";s:2:"WX";s:3:"600";s:1:"N";s:1:"d";s:1:"B";a:4:{i:0;s:2:"85";i:1;s:3:"-15";i:2;s:3:"640";i:3;s:3:"629";}}s:1:"d";a:4:{s:1:"C";s:3:"100";s:2:"WX";s:3:"600";s:1:"N";s:1:"d";s:1:"B";a:4:{i:0;s:2:"85";i:1;s:3:"-15";i:2;s:3:"640";i:3;s:3:"629";}}i:101;a:4:{s:1:"C";s:3:"101";s:2:"WX";s:3:"600";s:1:"N";s:1:"e";s:1:"B";a:4:{i:0;s:3:"106";i:1;s:3:"-15";i:2;s:3:"598";i:3;s:3:"441";}}s:1:"e";a:4:{s:1:"C";s:3:"101";s:2:"WX";s:3:"600";s:1:"N";s:1:"e";s:1:"B";a:4:{i:0;s:3:"106";i:1;s:3:"-15";i:2;s:3:"598";i:3;s:3:"441";}}i:102;a:5:{s:1:"C";s:3:"102";s:2:"WX";s:3:"600";s:1:"N";s:1:"f";s:1:"B";a:4:{i:0;s:3:"114";i:1;s:1:"0";i:2;s:3:"662";i:3;s:3:"629";}s:1:"L";a:2:{i:0;s:1:"l";i:1;s:2:"fl";}}s:1:"f";a:5:{s:1:"C";s:3:"102";s:2:"WX";s:3:"600";s:1:"N";s:1:"f";s:1:"B";a:4:{i:0;s:3:"114";i:1;s:1:"0";i:2;s:3:"662";i:3;s:3:"629";}s:1:"L";a:2:{i:0;s:1:"l";i:1;s:2:"fl";}}i:103;a:4:{s:1:"C";s:3:"103";s:2:"WX";s:3:"600";s:1:"N";s:1:"g";s:1:"B";a:4:{i:0;s:2:"61";i:1;s:4:"-157";i:2;s:3:"657";i:3;s:3:"441";}}s:1:"g";a:4:{s:1:"C";s:3:"103";s:2:"WX";s:3:"600";s:1:"N";s:1:"g";s:1:"B";a:4:{i:0;s:2:"61";i:1;s:4:"-157";i:2;s:3:"657";i:3;s:3:"441";}}i:104;a:4:{s:1:"C";s:3:"104";s:2:"WX";s:3:"600";s:1:"N";s:1:"h";s:1:"B";a:4:{i:0;s:2:"33";i:1;s:1:"0";i:2;s:3:"592";i:3;s:3:"629";}}s:1:"h";a:4:{s:1:"C";s:3:"104";s:2:"WX";s:3:"600";s:1:"N";s:1:"h";s:1:"B";a:4:{i:0;s:2:"33";i:1;s:1:"0";i:2;s:3:"592";i:3;s:3:"629";}}i:105;a:4:{s:1:"C";s:3:"105";s:2:"WX";s:3:"600";s:1:"N";s:1:"i";s:1:"B";a:4:{i:0;s:2:"95";i:1;s:1:"0";i:2;s:3:"515";i:3;s:3:"657";}}s:1:"i";a:4:{s:1:"C";s:3:"105";s:2:"WX";s:3:"600";s:1:"N";s:1:"i";s:1:"B";a:4:{i:0;s:2:"95";i:1;s:1:"0";i:2;s:3:"515";i:3;s:3:"657";}}i:106;a:4:{s:1:"C";s:3:"106";s:2:"WX";s:3:"600";s:1:"N";s:1:"j";s:1:"B";a:4:{i:0;s:2:"52";i:1;s:4:"-157";i:2;s:3:"550";i:3;s:3:"657";}}s:1:"j";a:4:{s:1:"C";s:3:"106";s:2:"WX";s:3:"600";s:1:"N";s:1:"j";s:1:"B";a:4:{i:0;s:2:"52";i:1;s:4:"-157";i:2;s:3:"550";i:3;s:3:"657";}}i:107;a:4:{s:1:"C";s:3:"107";s:2:"WX";s:3:"600";s:1:"N";s:1:"k";s:1:"B";a:4:{i:0;s:2:"58";i:1;s:1:"0";i:2;s:3:"633";i:3;s:3:"629";}}s:1:"k";a:4:{s:1:"C";s:3:"107";s:2:"WX";s:3:"600";s:1:"N";s:1:"k";s:1:"B";a:4:{i:0;s:2:"58";i:1;s:1:"0";i:2;s:3:"633";i:3;s:3:"629";}}i:108;a:4:{s:1:"C";s:3:"108";s:2:"WX";s:3:"600";s:1:"N";s:1:"l";s:1:"B";a:4:{i:0;s:2:"95";i:1;s:1:"0";i:2;s:3:"515";i:3;s:3:"629";}}s:1:"l";a:4:{s:1:"C";s:3:"108";s:2:"WX";s:3:"600";s:1:"N";s:1:"l";s:1:"B";a:4:{i:0;s:2:"95";i:1;s:1:"0";i:2;s:3:"515";i:3;s:3:"629";}}i:109;a:4:{s:1:"C";s:3:"109";s:2:"WX";s:3:"600";s:1:"N";s:1:"m";s:1:"B";a:4:{i:0;s:2:"-5";i:1;s:1:"0";i:2;s:3:"615";i:3;s:3:"441";}}s:1:"m";a:4:{s:1:"C";s:3:"109";s:2:"WX";s:3:"600";s:1:"N";s:1:"m";s:1:"B";a:4:{i:0;s:2:"-5";i:1;s:1:"0";i:2;s:3:"615";i:3;s:3:"441";}}i:110;a:4:{s:1:"C";s:3:"110";s:2:"WX";s:3:"600";s:1:"N";s:1:"n";s:1:"B";a:4:{i:0;s:2:"26";i:1;s:1:"0";i:2;s:3:"585";i:3;s:3:"441";}}s:1:"n";a:4:{s:1:"C";s:3:"110";s:2:"WX";s:3:"600";s:1:"N";s:1:"n";s:1:"B";a:4:{i:0;s:2:"26";i:1;s:1:"0";i:2;s:3:"585";i:3;s:3:"441";}}i:111;a:4:{s:1:"C";s:3:"111";s:2:"WX";s:3:"600";s:1:"N";s:1:"o";s:1:"B";a:4:{i:0;s:3:"102";i:1;s:3:"-15";i:2;s:3:"588";i:3;s:3:"441";}}s:1:"o";a:4:{s:1:"C";s:3:"111";s:2:"WX";s:3:"600";s:1:"N";s:1:"o";s:1:"B";a:4:{i:0;s:3:"102";i:1;s:3:"-15";i:2;s:3:"588";i:3;s:3:"441";}}i:112;a:4:{s:1:"C";s:3:"112";s:2:"WX";s:3:"600";s:1:"N";s:1:"p";s:1:"B";a:4:{i:0;s:3:"-24";i:1;s:4:"-157";i:2;s:3:"605";i:3;s:3:"441";}}s:1:"p";a:4:{s:1:"C";s:3:"112";s:2:"WX";s:3:"600";s:1:"N";s:1:"p";s:1:"B";a:4:{i:0;s:3:"-24";i:1;s:4:"-157";i:2;s:3:"605";i:3;s:3:"441";}}i:113;a:4:{s:1:"C";s:3:"113";s:2:"WX";s:3:"600";s:1:"N";s:1:"q";s:1:"B";a:4:{i:0;s:2:"85";i:1;s:4:"-157";i:2;s:3:"682";i:3;s:3:"441";}}s:1:"q";a:4:{s:1:"C";s:3:"113";s:2:"WX";s:3:"600";s:1:"N";s:1:"q";s:1:"B";a:4:{i:0;s:2:"85";i:1;s:4:"-157";i:2;s:3:"682";i:3;s:3:"441";}}i:114;a:4:{s:1:"C";s:3:"114";s:2:"WX";s:3:"600";s:1:"N";s:1:"r";s:1:"B";a:4:{i:0;s:2:"60";i:1;s:1:"0";i:2;s:3:"636";i:3;s:3:"441";}}s:1:"r";a:4:{s:1:"C";s:3:"114";s:2:"WX";s:3:"600";s:1:"N";s:1:"r";s:1:"B";a:4:{i:0;s:2:"60";i:1;s:1:"0";i:2;s:3:"636";i:3;s:3:"441";}}i:115;a:4:{s:1:"C";s:3:"115";s:2:"WX";s:3:"600";s:1:"N";s:1:"s";s:1:"B";a:4:{i:0;s:2:"78";i:1;s:3:"-15";i:2;s:3:"584";i:3;s:3:"441";}}s:1:"s";a:4:{s:1:"C";s:3:"115";s:2:"WX";s:3:"600";s:1:"N";s:1:"s";s:1:"B";a:4:{i:0;s:2:"78";i:1;s:3:"-15";i:2;s:3:"584";i:3;s:3:"441";}}i:116;a:4:{s:1:"C";s:3:"116";s:2:"WX";s:3:"600";s:1:"N";s:1:"t";s:1:"B";a:4:{i:0;s:3:"167";i:1;s:3:"-15";i:2;s:3:"561";i:3;s:3:"561";}}s:1:"t";a:4:{s:1:"C";s:3:"116";s:2:"WX";s:3:"600";s:1:"N";s:1:"t";s:1:"B";a:4:{i:0;s:3:"167";i:1;s:3:"-15";i:2;s:3:"561";i:3;s:3:"561";}}i:117;a:4:{s:1:"C";s:3:"117";s:2:"WX";s:3:"600";s:1:"N";s:1:"u";s:1:"B";a:4:{i:0;s:3:"101";i:1;s:3:"-15";i:2;s:3:"572";i:3;s:3:"426";}}s:1:"u";a:4:{s:1:"C";s:3:"117";s:2:"WX";s:3:"600";s:1:"N";s:1:"u";s:1:"B";a:4:{i:0;s:3:"101";i:1;s:3:"-15";i:2;s:3:"572";i:3;s:3:"426";}}i:118;a:4:{s:1:"C";s:3:"118";s:2:"WX";s:3:"600";s:1:"N";s:1:"v";s:1:"B";a:4:{i:0;s:2:"90";i:1;s:3:"-10";i:2;s:3:"681";i:3;s:3:"426";}}s:1:"v";a:4:{s:1:"C";s:3:"118";s:2:"WX";s:3:"600";s:1:"N";s:1:"v";s:1:"B";a:4:{i:0;s:2:"90";i:1;s:3:"-10";i:2;s:3:"681";i:3;s:3:"426";}}i:119;a:4:{s:1:"C";s:3:"119";s:2:"WX";s:3:"600";s:1:"N";s:1:"w";s:1:"B";a:4:{i:0;s:2:"76";i:1;s:3:"-10";i:2;s:3:"695";i:3;s:3:"426";}}s:1:"w";a:4:{s:1:"C";s:3:"119";s:2:"WX";s:3:"600";s:1:"N";s:1:"w";s:1:"B";a:4:{i:0;s:2:"76";i:1;s:3:"-10";i:2;s:3:"695";i:3;s:3:"426";}}i:120;a:4:{s:1:"C";s:3:"120";s:2:"WX";s:3:"600";s:1:"N";s:1:"x";s:1:"B";a:4:{i:0;s:2:"20";i:1;s:1:"0";i:2;s:3:"655";i:3;s:3:"426";}}s:1:"x";a:4:{s:1:"C";s:3:"120";s:2:"WX";s:3:"600";s:1:"N";s:1:"x";s:1:"B";a:4:{i:0;s:2:"20";i:1;s:1:"0";i:2;s:3:"655";i:3;s:3:"426";}}i:121;a:4:{s:1:"C";s:3:"121";s:2:"WX";s:3:"600";s:1:"N";s:1:"y";s:1:"B";a:4:{i:0;s:2:"-4";i:1;s:4:"-157";i:2;s:3:"683";i:3;s:3:"426";}}s:1:"y";a:4:{s:1:"C";s:3:"121";s:2:"WX";s:3:"600";s:1:"N";s:1:"y";s:1:"B";a:4:{i:0;s:2:"-4";i:1;s:4:"-157";i:2;s:3:"683";i:3;s:3:"426";}}i:122;a:4:{s:1:"C";s:3:"122";s:2:"WX";s:3:"600";s:1:"N";s:1:"z";s:1:"B";a:4:{i:0;s:2:"99";i:1;s:1:"0";i:2;s:3:"593";i:3;s:3:"426";}}s:1:"z";a:4:{s:1:"C";s:3:"122";s:2:"WX";s:3:"600";s:1:"N";s:1:"z";s:1:"B";a:4:{i:0;s:2:"99";i:1;s:1:"0";i:2;s:3:"593";i:3;s:3:"426";}}i:123;a:4:{s:1:"C";s:3:"123";s:2:"WX";s:3:"600";s:1:"N";s:9:"braceleft";s:1:"B";a:4:{i:0;s:3:"233";i:1;s:4:"-108";i:2;s:3:"569";i:3;s:3:"622";}}s:9:"braceleft";a:4:{s:1:"C";s:3:"123";s:2:"WX";s:3:"600";s:1:"N";s:9:"braceleft";s:1:"B";a:4:{i:0;s:3:"233";i:1;s:4:"-108";i:2;s:3:"569";i:3;s:3:"622";}}i:124;a:4:{s:1:"C";s:3:"124";s:2:"WX";s:3:"600";s:1:"N";s:3:"bar";s:1:"B";a:4:{i:0;s:3:"222";i:1;s:4:"-250";i:2;s:3:"485";i:3;s:3:"750";}}s:3:"bar";a:4:{s:1:"C";s:3:"124";s:2:"WX";s:3:"600";s:1:"N";s:3:"bar";s:1:"B";a:4:{i:0;s:3:"222";i:1;s:4:"-250";i:2;s:3:"485";i:3;s:3:"750";}}i:125;a:4:{s:1:"C";s:3:"125";s:2:"WX";s:3:"600";s:1:"N";s:10:"braceright";s:1:"B";a:4:{i:0;s:3:"140";i:1;s:4:"-108";i:2;s:3:"477";i:3;s:3:"622";}}s:10:"braceright";a:4:{s:1:"C";s:3:"125";s:2:"WX";s:3:"600";s:1:"N";s:10:"braceright";s:1:"B";a:4:{i:0;s:3:"140";i:1;s:4:"-108";i:2;s:3:"477";i:3;s:3:"622";}}i:126;a:4:{s:1:"C";s:3:"126";s:2:"WX";s:3:"600";s:1:"N";s:10:"asciitilde";s:1:"B";a:4:{i:0;s:3:"116";i:1;s:3:"197";i:2;s:3:"600";i:3;s:3:"320";}}s:10:"asciitilde";a:4:{s:1:"C";s:3:"126";s:2:"WX";s:3:"600";s:1:"N";s:10:"asciitilde";s:1:"B";a:4:{i:0;s:3:"116";i:1;s:3:"197";i:2;s:3:"600";i:3;s:3:"320";}}i:161;a:4:{s:1:"C";s:3:"161";s:2:"WX";s:3:"600";s:1:"N";s:10:"exclamdown";s:1:"B";a:4:{i:0;s:3:"225";i:1;s:4:"-157";i:2;s:3:"445";i:3;s:3:"430";}}s:10:"exclamdown";a:4:{s:1:"C";s:3:"161";s:2:"WX";s:3:"600";s:1:"N";s:10:"exclamdown";s:1:"B";a:4:{i:0;s:3:"225";i:1;s:4:"-157";i:2;s:3:"445";i:3;s:3:"430";}}i:162;a:4:{s:1:"C";s:3:"162";s:2:"WX";s:3:"600";s:1:"N";s:4:"cent";s:1:"B";a:4:{i:0;s:3:"151";i:1;s:3:"-49";i:2;s:3:"588";i:3;s:3:"614";}}s:4:"cent";a:4:{s:1:"C";s:3:"162";s:2:"WX";s:3:"600";s:1:"N";s:4:"cent";s:1:"B";a:4:{i:0;s:3:"151";i:1;s:3:"-49";i:2;s:3:"588";i:3;s:3:"614";}}i:163;a:4:{s:1:"C";s:3:"163";s:2:"WX";s:3:"600";s:1:"N";s:8:"sterling";s:1:"B";a:4:{i:0;s:3:"124";i:1;s:3:"-21";i:2;s:3:"621";i:3;s:3:"611";}}s:8:"sterling";a:4:{s:1:"C";s:3:"163";s:2:"WX";s:3:"600";s:1:"N";s:8:"sterling";s:1:"B";a:4:{i:0;s:3:"124";i:1;s:3:"-21";i:2;s:3:"621";i:3;s:3:"611";}}i:164;a:4:{s:1:"C";s:3:"164";s:2:"WX";s:3:"600";s:1:"N";s:8:"fraction";s:1:"B";a:4:{i:0;s:2:"84";i:1;s:3:"-57";i:2;s:3:"646";i:3;s:3:"665";}}s:8:"fraction";a:4:{s:1:"C";s:3:"164";s:2:"WX";s:3:"600";s:1:"N";s:8:"fraction";s:1:"B";a:4:{i:0;s:2:"84";i:1;s:3:"-57";i:2;s:3:"646";i:3;s:3:"665";}}i:165;a:4:{s:1:"C";s:3:"165";s:2:"WX";s:3:"600";s:1:"N";s:3:"yen";s:1:"B";a:4:{i:0;s:3:"120";i:1;s:1:"0";i:2;s:3:"693";i:3;s:3:"562";}}s:3:"yen";a:4:{s:1:"C";s:3:"165";s:2:"WX";s:3:"600";s:1:"N";s:3:"yen";s:1:"B";a:4:{i:0;s:3:"120";i:1;s:1:"0";i:2;s:3:"693";i:3;s:3:"562";}}i:166;a:4:{s:1:"C";s:3:"166";s:2:"WX";s:3:"600";s:1:"N";s:6:"florin";s:1:"B";a:4:{i:0;s:3:"-26";i:1;s:4:"-143";i:2;s:3:"671";i:3;s:3:"622";}}s:6:"florin";a:4:{s:1:"C";s:3:"166";s:2:"WX";s:3:"600";s:1:"N";s:6:"florin";s:1:"B";a:4:{i:0;s:3:"-26";i:1;s:4:"-143";i:2;s:3:"671";i:3;s:3:"622";}}i:167;a:4:{s:1:"C";s:3:"167";s:2:"WX";s:3:"600";s:1:"N";s:7:"section";s:1:"B";a:4:{i:0;s:3:"104";i:1;s:3:"-78";i:2;s:3:"590";i:3;s:3:"580";}}s:7:"section";a:4:{s:1:"C";s:3:"167";s:2:"WX";s:3:"600";s:1:"N";s:7:"section";s:1:"B";a:4:{i:0;s:3:"104";i:1;s:3:"-78";i:2;s:3:"590";i:3;s:3:"580";}}i:168;a:4:{s:1:"C";s:3:"168";s:2:"WX";s:3:"600";s:1:"N";s:8:"currency";s:1:"B";a:4:{i:0;s:2:"94";i:1;s:2:"58";i:2;s:3:"628";i:3;s:3:"506";}}s:8:"currency";a:4:{s:1:"C";s:3:"168";s:2:"WX";s:3:"600";s:1:"N";s:8:"currency";s:1:"B";a:4:{i:0;s:2:"94";i:1;s:2:"58";i:2;s:3:"628";i:3;s:3:"506";}}i:169;a:4:{s:1:"C";s:3:"169";s:2:"WX";s:3:"600";s:1:"N";s:11:"quotesingle";s:1:"B";a:4:{i:0;s:3:"345";i:1;s:3:"328";i:2;s:3:"460";i:3;s:3:"562";}}s:11:"quotesingle";a:4:{s:1:"C";s:3:"169";s:2:"WX";s:3:"600";s:1:"N";s:11:"quotesingle";s:1:"B";a:4:{i:0;s:3:"345";i:1;s:3:"328";i:2;s:3:"460";i:3;s:3:"562";}}i:170;a:4:{s:1:"C";s:3:"170";s:2:"WX";s:3:"600";s:1:"N";s:12:"quotedblleft";s:1:"B";a:4:{i:0;s:3:"262";i:1;s:3:"328";i:2;s:3:"541";i:3;s:3:"562";}}s:12:"quotedblleft";a:4:{s:1:"C";s:3:"170";s:2:"WX";s:3:"600";s:1:"N";s:12:"quotedblleft";s:1:"B";a:4:{i:0;s:3:"262";i:1;s:3:"328";i:2;s:3:"541";i:3;s:3:"562";}}i:171;a:4:{s:1:"C";s:3:"171";s:2:"WX";s:3:"600";s:1:"N";s:13:"guillemotleft";s:1:"B";a:4:{i:0;s:2:"92";i:1;s:2:"70";i:2;s:3:"652";i:3;s:3:"446";}}s:13:"guillemotleft";a:4:{s:1:"C";s:3:"171";s:2:"WX";s:3:"600";s:1:"N";s:13:"guillemotleft";s:1:"B";a:4:{i:0;s:2:"92";i:1;s:2:"70";i:2;s:3:"652";i:3;s:3:"446";}}i:172;a:4:{s:1:"C";s:3:"172";s:2:"WX";s:3:"600";s:1:"N";s:13:"guilsinglleft";s:1:"B";a:4:{i:0;s:3:"204";i:1;s:2:"70";i:2;s:3:"540";i:3;s:3:"446";}}s:13:"guilsinglleft";a:4:{s:1:"C";s:3:"172";s:2:"WX";s:3:"600";s:1:"N";s:13:"guilsinglleft";s:1:"B";a:4:{i:0;s:3:"204";i:1;s:2:"70";i:2;s:3:"540";i:3;s:3:"446";}}i:173;a:4:{s:1:"C";s:3:"173";s:2:"WX";s:3:"600";s:1:"N";s:14:"guilsinglright";s:1:"B";a:4:{i:0;s:3:"170";i:1;s:2:"70";i:2;s:3:"506";i:3;s:3:"446";}}s:14:"guilsinglright";a:4:{s:1:"C";s:3:"173";s:2:"WX";s:3:"600";s:1:"N";s:14:"guilsinglright";s:1:"B";a:4:{i:0;s:3:"170";i:1;s:2:"70";i:2;s:3:"506";i:3;s:3:"446";}}i:174;a:4:{s:1:"C";s:3:"174";s:2:"WX";s:3:"600";s:1:"N";s:2:"fi";s:1:"B";a:4:{i:0;s:1:"3";i:1;s:1:"0";i:2;s:3:"619";i:3;s:3:"629";}}s:2:"fi";a:4:{s:1:"C";s:3:"174";s:2:"WX";s:3:"600";s:1:"N";s:2:"fi";s:1:"B";a:4:{i:0;s:1:"3";i:1;s:1:"0";i:2;s:3:"619";i:3;s:3:"629";}}i:175;a:4:{s:1:"C";s:3:"175";s:2:"WX";s:3:"600";s:1:"N";s:2:"fl";s:1:"B";a:4:{i:0;s:1:"3";i:1;s:1:"0";i:2;s:3:"619";i:3;s:3:"629";}}s:2:"fl";a:4:{s:1:"C";s:3:"175";s:2:"WX";s:3:"600";s:1:"N";s:2:"fl";s:1:"B";a:4:{i:0;s:1:"3";i:1;s:1:"0";i:2;s:3:"619";i:3;s:3:"629";}}i:177;a:4:{s:1:"C";s:3:"177";s:2:"WX";s:3:"600";s:1:"N";s:6:"endash";s:1:"B";a:4:{i:0;s:3:"124";i:1;s:3:"231";i:2;s:3:"586";i:3;s:3:"285";}}s:6:"endash";a:4:{s:1:"C";s:3:"177";s:2:"WX";s:3:"600";s:1:"N";s:6:"endash";s:1:"B";a:4:{i:0;s:3:"124";i:1;s:3:"231";i:2;s:3:"586";i:3;s:3:"285";}}i:178;a:4:{s:1:"C";s:3:"178";s:2:"WX";s:3:"600";s:1:"N";s:6:"dagger";s:1:"B";a:4:{i:0;s:3:"217";i:1;s:3:"-78";i:2;s:3:"546";i:3;s:3:"580";}}s:6:"dagger";a:4:{s:1:"C";s:3:"178";s:2:"WX";s:3:"600";s:1:"N";s:6:"dagger";s:1:"B";a:4:{i:0;s:3:"217";i:1;s:3:"-78";i:2;s:3:"546";i:3;s:3:"580";}}i:179;a:4:{s:1:"C";s:3:"179";s:2:"WX";s:3:"600";s:1:"N";s:9:"daggerdbl";s:1:"B";a:4:{i:0;s:3:"163";i:1;s:3:"-78";i:2;s:3:"546";i:3;s:3:"580";}}s:9:"daggerdbl";a:4:{s:1:"C";s:3:"179";s:2:"WX";s:3:"600";s:1:"N";s:9:"daggerdbl";s:1:"B";a:4:{i:0;s:3:"163";i:1;s:3:"-78";i:2;s:3:"546";i:3;s:3:"580";}}i:180;a:4:{s:1:"C";s:3:"180";s:2:"WX";s:3:"600";s:1:"N";s:14:"periodcentered";s:1:"B";a:4:{i:0;s:3:"275";i:1;s:3:"189";i:2;s:3:"434";i:3;s:3:"327";}}s:14:"periodcentered";a:4:{s:1:"C";s:3:"180";s:2:"WX";s:3:"600";s:1:"N";s:14:"periodcentered";s:1:"B";a:4:{i:0;s:3:"275";i:1;s:3:"189";i:2;s:3:"434";i:3;s:3:"327";}}i:182;a:4:{s:1:"C";s:3:"182";s:2:"WX";s:3:"600";s:1:"N";s:9:"paragraph";s:1:"B";a:4:{i:0;s:3:"100";i:1;s:3:"-78";i:2;s:3:"630";i:3;s:3:"562";}}s:9:"paragraph";a:4:{s:1:"C";s:3:"182";s:2:"WX";s:3:"600";s:1:"N";s:9:"paragraph";s:1:"B";a:4:{i:0;s:3:"100";i:1;s:3:"-78";i:2;s:3:"630";i:3;s:3:"562";}}i:183;a:4:{s:1:"C";s:3:"183";s:2:"WX";s:3:"600";s:1:"N";s:6:"bullet";s:1:"B";a:4:{i:0;s:3:"224";i:1;s:3:"130";i:2;s:3:"485";i:3;s:3:"383";}}s:6:"bullet";a:4:{s:1:"C";s:3:"183";s:2:"WX";s:3:"600";s:1:"N";s:6:"bullet";s:1:"B";a:4:{i:0;s:3:"224";i:1;s:3:"130";i:2;s:3:"485";i:3;s:3:"383";}}i:184;a:4:{s:1:"C";s:3:"184";s:2:"WX";s:3:"600";s:1:"N";s:14:"quotesinglbase";s:1:"B";a:4:{i:0;s:3:"185";i:1;s:4:"-134";i:2;s:3:"397";i:3;s:3:"100";}}s:14:"quotesinglbase";a:4:{s:1:"C";s:3:"184";s:2:"WX";s:3:"600";s:1:"N";s:14:"quotesinglbase";s:1:"B";a:4:{i:0;s:3:"185";i:1;s:4:"-134";i:2;s:3:"397";i:3;s:3:"100";}}i:185;a:4:{s:1:"C";s:3:"185";s:2:"WX";s:3:"600";s:1:"N";s:12:"quotedblbase";s:1:"B";a:4:{i:0;s:3:"115";i:1;s:4:"-134";i:2;s:3:"478";i:3;s:3:"100";}}s:12:"quotedblbase";a:4:{s:1:"C";s:3:"185";s:2:"WX";s:3:"600";s:1:"N";s:12:"quotedblbase";s:1:"B";a:4:{i:0;s:3:"115";i:1;s:4:"-134";i:2;s:3:"478";i:3;s:3:"100";}}i:186;a:4:{s:1:"C";s:3:"186";s:2:"WX";s:3:"600";s:1:"N";s:13:"quotedblright";s:1:"B";a:4:{i:0;s:3:"213";i:1;s:3:"328";i:2;s:3:"576";i:3;s:3:"562";}}s:13:"quotedblright";a:4:{s:1:"C";s:3:"186";s:2:"WX";s:3:"600";s:1:"N";s:13:"quotedblright";s:1:"B";a:4:{i:0;s:3:"213";i:1;s:3:"328";i:2;s:3:"576";i:3;s:3:"562";}}i:187;a:4:{s:1:"C";s:3:"187";s:2:"WX";s:3:"600";s:1:"N";s:14:"guillemotright";s:1:"B";a:4:{i:0;s:2:"58";i:1;s:2:"70";i:2;s:3:"618";i:3;s:3:"446";}}s:14:"guillemotright";a:4:{s:1:"C";s:3:"187";s:2:"WX";s:3:"600";s:1:"N";s:14:"guillemotright";s:1:"B";a:4:{i:0;s:2:"58";i:1;s:2:"70";i:2;s:3:"618";i:3;s:3:"446";}}i:188;a:4:{s:1:"C";s:3:"188";s:2:"WX";s:3:"600";s:1:"N";s:8:"ellipsis";s:1:"B";a:4:{i:0;s:2:"46";i:1;s:3:"-15";i:2;s:3:"575";i:3;s:3:"111";}}s:8:"ellipsis";a:4:{s:1:"C";s:3:"188";s:2:"WX";s:3:"600";s:1:"N";s:8:"ellipsis";s:1:"B";a:4:{i:0;s:2:"46";i:1;s:3:"-15";i:2;s:3:"575";i:3;s:3:"111";}}i:189;a:4:{s:1:"C";s:3:"189";s:2:"WX";s:3:"600";s:1:"N";s:11:"perthousand";s:1:"B";a:4:{i:0;s:2:"59";i:1;s:3:"-15";i:2;s:3:"627";i:3;s:3:"622";}}s:11:"perthousand";a:4:{s:1:"C";s:3:"189";s:2:"WX";s:3:"600";s:1:"N";s:11:"perthousand";s:1:"B";a:4:{i:0;s:2:"59";i:1;s:3:"-15";i:2;s:3:"627";i:3;s:3:"622";}}i:191;a:4:{s:1:"C";s:3:"191";s:2:"WX";s:3:"600";s:1:"N";s:12:"questiondown";s:1:"B";a:4:{i:0;s:3:"105";i:1;s:4:"-157";i:2;s:3:"466";i:3;s:3:"430";}}s:12:"questiondown";a:4:{s:1:"C";s:3:"191";s:2:"WX";s:3:"600";s:1:"N";s:12:"questiondown";s:1:"B";a:4:{i:0;s:3:"105";i:1;s:4:"-157";i:2;s:3:"466";i:3;s:3:"430";}}i:193;a:4:{s:1:"C";s:3:"193";s:2:"WX";s:3:"600";s:1:"N";s:5:"grave";s:1:"B";a:4:{i:0;s:3:"294";i:1;s:3:"497";i:2;s:3:"484";i:3;s:3:"672";}}s:5:"grave";a:4:{s:1:"C";s:3:"193";s:2:"WX";s:3:"600";s:1:"N";s:5:"grave";s:1:"B";a:4:{i:0;s:3:"294";i:1;s:3:"497";i:2;s:3:"484";i:3;s:3:"672";}}i:194;a:4:{s:1:"C";s:3:"194";s:2:"WX";s:3:"600";s:1:"N";s:5:"acute";s:1:"B";a:4:{i:0;s:3:"348";i:1;s:3:"497";i:2;s:3:"612";i:3;s:3:"672";}}s:5:"acute";a:4:{s:1:"C";s:3:"194";s:2:"WX";s:3:"600";s:1:"N";s:5:"acute";s:1:"B";a:4:{i:0;s:3:"348";i:1;s:3:"497";i:2;s:3:"612";i:3;s:3:"672";}}i:195;a:4:{s:1:"C";s:3:"195";s:2:"WX";s:3:"600";s:1:"N";s:10:"circumflex";s:1:"B";a:4:{i:0;s:3:"229";i:1;s:3:"477";i:2;s:3:"581";i:3;s:3:"654";}}s:10:"circumflex";a:4:{s:1:"C";s:3:"195";s:2:"WX";s:3:"600";s:1:"N";s:10:"circumflex";s:1:"B";a:4:{i:0;s:3:"229";i:1;s:3:"477";i:2;s:3:"581";i:3;s:3:"654";}}i:196;a:4:{s:1:"C";s:3:"196";s:2:"WX";s:3:"600";s:1:"N";s:5:"tilde";s:1:"B";a:4:{i:0;s:3:"212";i:1;s:3:"489";i:2;s:3:"629";i:3;s:3:"606";}}s:5:"tilde";a:4:{s:1:"C";s:3:"196";s:2:"WX";s:3:"600";s:1:"N";s:5:"tilde";s:1:"B";a:4:{i:0;s:3:"212";i:1;s:3:"489";i:2;s:3:"629";i:3;s:3:"606";}}i:197;a:4:{s:1:"C";s:3:"197";s:2:"WX";s:3:"600";s:1:"N";s:6:"macron";s:1:"B";a:4:{i:0;s:3:"232";i:1;s:3:"525";i:2;s:3:"600";i:3;s:3:"565";}}s:6:"macron";a:4:{s:1:"C";s:3:"197";s:2:"WX";s:3:"600";s:1:"N";s:6:"macron";s:1:"B";a:4:{i:0;s:3:"232";i:1;s:3:"525";i:2;s:3:"600";i:3;s:3:"565";}}i:198;a:4:{s:1:"C";s:3:"198";s:2:"WX";s:3:"600";s:1:"N";s:5:"breve";s:1:"B";a:4:{i:0;s:3:"279";i:1;s:3:"501";i:2;s:3:"576";i:3;s:3:"609";}}s:5:"breve";a:4:{s:1:"C";s:3:"198";s:2:"WX";s:3:"600";s:1:"N";s:5:"breve";s:1:"B";a:4:{i:0;s:3:"279";i:1;s:3:"501";i:2;s:3:"576";i:3;s:3:"609";}}i:199;a:4:{s:1:"C";s:3:"199";s:2:"WX";s:3:"600";s:1:"N";s:9:"dotaccent";s:1:"B";a:4:{i:0;s:3:"373";i:1;s:3:"537";i:2;s:3:"478";i:3;s:3:"640";}}s:9:"dotaccent";a:4:{s:1:"C";s:3:"199";s:2:"WX";s:3:"600";s:1:"N";s:9:"dotaccent";s:1:"B";a:4:{i:0;s:3:"373";i:1;s:3:"537";i:2;s:3:"478";i:3;s:3:"640";}}i:200;a:4:{s:1:"C";s:3:"200";s:2:"WX";s:3:"600";s:1:"N";s:8:"dieresis";s:1:"B";a:4:{i:0;s:3:"272";i:1;s:3:"537";i:2;s:3:"579";i:3;s:3:"640";}}s:8:"dieresis";a:4:{s:1:"C";s:3:"200";s:2:"WX";s:3:"600";s:1:"N";s:8:"dieresis";s:1:"B";a:4:{i:0;s:3:"272";i:1;s:3:"537";i:2;s:3:"579";i:3;s:3:"640";}}i:202;a:4:{s:1:"C";s:3:"202";s:2:"WX";s:3:"600";s:1:"N";s:4:"ring";s:1:"B";a:4:{i:0;s:3:"332";i:1;s:3:"463";i:2;s:3:"500";i:3;s:3:"627";}}s:4:"ring";a:4:{s:1:"C";s:3:"202";s:2:"WX";s:3:"600";s:1:"N";s:4:"ring";s:1:"B";a:4:{i:0;s:3:"332";i:1;s:3:"463";i:2;s:3:"500";i:3;s:3:"627";}}i:203;a:4:{s:1:"C";s:3:"203";s:2:"WX";s:3:"600";s:1:"N";s:7:"cedilla";s:1:"B";a:4:{i:0;s:3:"197";i:1;s:4:"-151";i:2;s:3:"344";i:3;s:2:"10";}}s:7:"cedilla";a:4:{s:1:"C";s:3:"203";s:2:"WX";s:3:"600";s:1:"N";s:7:"cedilla";s:1:"B";a:4:{i:0;s:3:"197";i:1;s:4:"-151";i:2;s:3:"344";i:3;s:2:"10";}}i:205;a:4:{s:1:"C";s:3:"205";s:2:"WX";s:3:"600";s:1:"N";s:12:"hungarumlaut";s:1:"B";a:4:{i:0;s:3:"239";i:1;s:3:"497";i:2;s:3:"683";i:3;s:3:"672";}}s:12:"hungarumlaut";a:4:{s:1:"C";s:3:"205";s:2:"WX";s:3:"600";s:1:"N";s:12:"hungarumlaut";s:1:"B";a:4:{i:0;s:3:"239";i:1;s:3:"497";i:2;s:3:"683";i:3;s:3:"672";}}i:206;a:4:{s:1:"C";s:3:"206";s:2:"WX";s:3:"600";s:1:"N";s:6:"ogonek";s:1:"B";a:4:{i:0;s:3:"189";i:1;s:4:"-172";i:2;s:3:"377";i:3;s:1:"4";}}s:6:"ogonek";a:4:{s:1:"C";s:3:"206";s:2:"WX";s:3:"600";s:1:"N";s:6:"ogonek";s:1:"B";a:4:{i:0;s:3:"189";i:1;s:4:"-172";i:2;s:3:"377";i:3;s:1:"4";}}i:207;a:4:{s:1:"C";s:3:"207";s:2:"WX";s:3:"600";s:1:"N";s:5:"caron";s:1:"B";a:4:{i:0;s:3:"262";i:1;s:3:"492";i:2;s:3:"614";i:3;s:3:"669";}}s:5:"caron";a:4:{s:1:"C";s:3:"207";s:2:"WX";s:3:"600";s:1:"N";s:5:"caron";s:1:"B";a:4:{i:0;s:3:"262";i:1;s:3:"492";i:2;s:3:"614";i:3;s:3:"669";}}i:208;a:4:{s:1:"C";s:3:"208";s:2:"WX";s:3:"600";s:1:"N";s:6:"emdash";s:1:"B";a:4:{i:0;s:2:"49";i:1;s:3:"231";i:2;s:3:"661";i:3;s:3:"285";}}s:6:"emdash";a:4:{s:1:"C";s:3:"208";s:2:"WX";s:3:"600";s:1:"N";s:6:"emdash";s:1:"B";a:4:{i:0;s:2:"49";i:1;s:3:"231";i:2;s:3:"661";i:3;s:3:"285";}}i:225;a:4:{s:1:"C";s:3:"225";s:2:"WX";s:3:"600";s:1:"N";s:2:"AE";s:1:"B";a:4:{i:0;s:1:"3";i:1;s:1:"0";i:2;s:3:"655";i:3;s:3:"562";}}s:2:"AE";a:4:{s:1:"C";s:3:"225";s:2:"WX";s:3:"600";s:1:"N";s:2:"AE";s:1:"B";a:4:{i:0;s:1:"3";i:1;s:1:"0";i:2;s:3:"655";i:3;s:3:"562";}}i:227;a:4:{s:1:"C";s:3:"227";s:2:"WX";s:3:"600";s:1:"N";s:11:"ordfeminine";s:1:"B";a:4:{i:0;s:3:"209";i:1;s:3:"249";i:2;s:3:"512";i:3;s:3:"580";}}s:11:"ordfeminine";a:4:{s:1:"C";s:3:"227";s:2:"WX";s:3:"600";s:1:"N";s:11:"ordfeminine";s:1:"B";a:4:{i:0;s:3:"209";i:1;s:3:"249";i:2;s:3:"512";i:3;s:3:"580";}}i:232;a:4:{s:1:"C";s:3:"232";s:2:"WX";s:3:"600";s:1:"N";s:6:"Lslash";s:1:"B";a:4:{i:0;s:2:"47";i:1;s:1:"0";i:2;s:3:"607";i:3;s:3:"562";}}s:6:"Lslash";a:4:{s:1:"C";s:3:"232";s:2:"WX";s:3:"600";s:1:"N";s:6:"Lslash";s:1:"B";a:4:{i:0;s:2:"47";i:1;s:1:"0";i:2;s:3:"607";i:3;s:3:"562";}}i:233;a:4:{s:1:"C";s:3:"233";s:2:"WX";s:3:"600";s:1:"N";s:6:"Oslash";s:1:"B";a:4:{i:0;s:2:"94";i:1;s:3:"-80";i:2;s:3:"625";i:3;s:3:"629";}}s:6:"Oslash";a:4:{s:1:"C";s:3:"233";s:2:"WX";s:3:"600";s:1:"N";s:6:"Oslash";s:1:"B";a:4:{i:0;s:2:"94";i:1;s:3:"-80";i:2;s:3:"625";i:3;s:3:"629";}}i:234;a:4:{s:1:"C";s:3:"234";s:2:"WX";s:3:"600";s:1:"N";s:2:"OE";s:1:"B";a:4:{i:0;s:2:"59";i:1;s:1:"0";i:2;s:3:"672";i:3;s:3:"562";}}s:2:"OE";a:4:{s:1:"C";s:3:"234";s:2:"WX";s:3:"600";s:1:"N";s:2:"OE";s:1:"B";a:4:{i:0;s:2:"59";i:1;s:1:"0";i:2;s:3:"672";i:3;s:3:"562";}}i:235;a:4:{s:1:"C";s:3:"235";s:2:"WX";s:3:"600";s:1:"N";s:12:"ordmasculine";s:1:"B";a:4:{i:0;s:3:"210";i:1;s:3:"249";i:2;s:3:"535";i:3;s:3:"580";}}s:12:"ordmasculine";a:4:{s:1:"C";s:3:"235";s:2:"WX";s:3:"600";s:1:"N";s:12:"ordmasculine";s:1:"B";a:4:{i:0;s:3:"210";i:1;s:3:"249";i:2;s:3:"535";i:3;s:3:"580";}}i:241;a:4:{s:1:"C";s:3:"241";s:2:"WX";s:3:"600";s:1:"N";s:2:"ae";s:1:"B";a:4:{i:0;s:2:"41";i:1;s:3:"-15";i:2;s:3:"626";i:3;s:3:"441";}}s:2:"ae";a:4:{s:1:"C";s:3:"241";s:2:"WX";s:3:"600";s:1:"N";s:2:"ae";s:1:"B";a:4:{i:0;s:2:"41";i:1;s:3:"-15";i:2;s:3:"626";i:3;s:3:"441";}}i:245;a:4:{s:1:"C";s:3:"245";s:2:"WX";s:3:"600";s:1:"N";s:8:"dotlessi";s:1:"B";a:4:{i:0;s:2:"95";i:1;s:1:"0";i:2;s:3:"515";i:3;s:3:"426";}}s:8:"dotlessi";a:4:{s:1:"C";s:3:"245";s:2:"WX";s:3:"600";s:1:"N";s:8:"dotlessi";s:1:"B";a:4:{i:0;s:2:"95";i:1;s:1:"0";i:2;s:3:"515";i:3;s:3:"426";}}i:248;a:4:{s:1:"C";s:3:"248";s:2:"WX";s:3:"600";s:1:"N";s:6:"lslash";s:1:"B";a:4:{i:0;s:2:"95";i:1;s:1:"0";i:2;s:3:"587";i:3;s:3:"629";}}s:6:"lslash";a:4:{s:1:"C";s:3:"248";s:2:"WX";s:3:"600";s:1:"N";s:6:"lslash";s:1:"B";a:4:{i:0;s:2:"95";i:1;s:1:"0";i:2;s:3:"587";i:3;s:3:"629";}}i:249;a:4:{s:1:"C";s:3:"249";s:2:"WX";s:3:"600";s:1:"N";s:6:"oslash";s:1:"B";a:4:{i:0;s:3:"102";i:1;s:3:"-80";i:2;s:3:"588";i:3;s:3:"506";}}s:6:"oslash";a:4:{s:1:"C";s:3:"249";s:2:"WX";s:3:"600";s:1:"N";s:6:"oslash";s:1:"B";a:4:{i:0;s:3:"102";i:1;s:3:"-80";i:2;s:3:"588";i:3;s:3:"506";}}i:250;a:4:{s:1:"C";s:3:"250";s:2:"WX";s:3:"600";s:1:"N";s:2:"oe";s:1:"B";a:4:{i:0;s:2:"54";i:1;s:3:"-15";i:2;s:3:"615";i:3;s:3:"441";}}s:2:"oe";a:4:{s:1:"C";s:3:"250";s:2:"WX";s:3:"600";s:1:"N";s:2:"oe";s:1:"B";a:4:{i:0;s:2:"54";i:1;s:3:"-15";i:2;s:3:"615";i:3;s:3:"441";}}i:251;a:4:{s:1:"C";s:3:"251";s:2:"WX";s:3:"600";s:1:"N";s:10:"germandbls";s:1:"B";a:4:{i:0;s:2:"48";i:1;s:3:"-15";i:2;s:3:"617";i:3;s:3:"629";}}s:10:"germandbls";a:4:{s:1:"C";s:3:"251";s:2:"WX";s:3:"600";s:1:"N";s:10:"germandbls";s:1:"B";a:4:{i:0;s:2:"48";i:1;s:3:"-15";i:2;s:3:"617";i:3;s:3:"629";}}s:9:"Idieresis";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:9:"Idieresis";s:1:"B";a:4:{i:0;s:2:"96";i:1;s:1:"0";i:2;s:3:"623";i:3;s:3:"753";}}s:6:"eacute";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:6:"eacute";s:1:"B";a:4:{i:0;s:3:"106";i:1;s:3:"-15";i:2;s:3:"612";i:3;s:3:"672";}}s:6:"abreve";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:6:"abreve";s:1:"B";a:4:{i:0;s:2:"76";i:1;s:3:"-15";i:2;s:3:"576";i:3;s:3:"609";}}s:13:"uhungarumlaut";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:13:"uhungarumlaut";s:1:"B";a:4:{i:0;s:3:"101";i:1;s:3:"-15";i:2;s:3:"723";i:3;s:3:"672";}}s:6:"ecaron";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:6:"ecaron";s:1:"B";a:4:{i:0;s:3:"106";i:1;s:3:"-15";i:2;s:3:"614";i:3;s:3:"669";}}s:9:"Ydieresis";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:9:"Ydieresis";s:1:"B";a:4:{i:0;s:3:"133";i:1;s:1:"0";i:2;s:3:"695";i:3;s:3:"753";}}s:6:"divide";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:6:"divide";s:1:"B";a:4:{i:0;s:3:"136";i:1;s:2:"48";i:2;s:3:"573";i:3;s:3:"467";}}s:6:"Yacute";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:6:"Yacute";s:1:"B";a:4:{i:0;s:3:"133";i:1;s:1:"0";i:2;s:3:"695";i:3;s:3:"805";}}s:11:"Acircumflex";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:11:"Acircumflex";s:1:"B";a:4:{i:0;s:1:"3";i:1;s:1:"0";i:2;s:3:"607";i:3;s:3:"787";}}s:6:"aacute";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:6:"aacute";s:1:"B";a:4:{i:0;s:2:"76";i:1;s:3:"-15";i:2;s:3:"612";i:3;s:3:"672";}}s:11:"Ucircumflex";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:11:"Ucircumflex";s:1:"B";a:4:{i:0;s:3:"125";i:1;s:3:"-18";i:2;s:3:"702";i:3;s:3:"787";}}s:6:"yacute";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:6:"yacute";s:1:"B";a:4:{i:0;s:2:"-4";i:1;s:4:"-157";i:2;s:3:"683";i:3;s:3:"672";}}s:12:"scommaaccent";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:12:"scommaaccent";s:1:"B";a:4:{i:0;s:2:"78";i:1;s:4:"-250";i:2;s:3:"584";i:3;s:3:"441";}}s:11:"ecircumflex";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:11:"ecircumflex";s:1:"B";a:4:{i:0;s:3:"106";i:1;s:3:"-15";i:2;s:3:"598";i:3;s:3:"654";}}s:5:"Uring";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:5:"Uring";s:1:"B";a:4:{i:0;s:3:"125";i:1;s:3:"-18";i:2;s:3:"702";i:3;s:3:"760";}}s:9:"Udieresis";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:9:"Udieresis";s:1:"B";a:4:{i:0;s:3:"125";i:1;s:3:"-18";i:2;s:3:"702";i:3;s:3:"753";}}s:7:"aogonek";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:7:"aogonek";s:1:"B";a:4:{i:0;s:2:"76";i:1;s:4:"-172";i:2;s:3:"569";i:3;s:3:"441";}}s:6:"Uacute";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:6:"Uacute";s:1:"B";a:4:{i:0;s:3:"125";i:1;s:3:"-18";i:2;s:3:"702";i:3;s:3:"805";}}s:7:"uogonek";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:7:"uogonek";s:1:"B";a:4:{i:0;s:3:"101";i:1;s:4:"-172";i:2;s:3:"572";i:3;s:3:"426";}}s:9:"Edieresis";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:9:"Edieresis";s:1:"B";a:4:{i:0;s:2:"53";i:1;s:1:"0";i:2;s:3:"660";i:3;s:3:"753";}}s:6:"Dcroat";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:6:"Dcroat";s:1:"B";a:4:{i:0;s:2:"43";i:1;s:1:"0";i:2;s:3:"645";i:3;s:3:"562";}}s:11:"commaaccent";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:11:"commaaccent";s:1:"B";a:4:{i:0;s:3:"145";i:1;s:4:"-250";i:2;s:3:"323";i:3;s:3:"-58";}}s:9:"copyright";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:9:"copyright";s:1:"B";a:4:{i:0;s:2:"53";i:1;s:3:"-18";i:2;s:3:"667";i:3;s:3:"580";}}s:7:"Emacron";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:7:"Emacron";s:1:"B";a:4:{i:0;s:2:"53";i:1;s:1:"0";i:2;s:3:"660";i:3;s:3:"698";}}s:6:"ccaron";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:6:"ccaron";s:1:"B";a:4:{i:0;s:3:"106";i:1;s:3:"-15";i:2;s:3:"614";i:3;s:3:"669";}}s:5:"aring";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:5:"aring";s:1:"B";a:4:{i:0;s:2:"76";i:1;s:3:"-15";i:2;s:3:"569";i:3;s:3:"627";}}s:12:"Ncommaaccent";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:12:"Ncommaaccent";s:1:"B";a:4:{i:0;s:1:"7";i:1;s:4:"-250";i:2;s:3:"712";i:3;s:3:"562";}}s:6:"lacute";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:6:"lacute";s:1:"B";a:4:{i:0;s:2:"95";i:1;s:1:"0";i:2;s:3:"640";i:3;s:3:"805";}}s:6:"agrave";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:6:"agrave";s:1:"B";a:4:{i:0;s:2:"76";i:1;s:3:"-15";i:2;s:3:"569";i:3;s:3:"672";}}s:12:"Tcommaaccent";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:12:"Tcommaaccent";s:1:"B";a:4:{i:0;s:3:"108";i:1;s:4:"-250";i:2;s:3:"665";i:3;s:3:"562";}}s:6:"Cacute";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:6:"Cacute";s:1:"B";a:4:{i:0;s:2:"93";i:1;s:3:"-18";i:2;s:3:"655";i:3;s:3:"805";}}s:6:"atilde";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:6:"atilde";s:1:"B";a:4:{i:0;s:2:"76";i:1;s:3:"-15";i:2;s:3:"629";i:3;s:3:"606";}}s:10:"Edotaccent";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:10:"Edotaccent";s:1:"B";a:4:{i:0;s:2:"53";i:1;s:1:"0";i:2;s:3:"660";i:3;s:3:"753";}}s:6:"scaron";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:6:"scaron";s:1:"B";a:4:{i:0;s:2:"78";i:1;s:3:"-15";i:2;s:3:"614";i:3;s:3:"669";}}s:8:"scedilla";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:8:"scedilla";s:1:"B";a:4:{i:0;s:2:"78";i:1;s:4:"-151";i:2;s:3:"584";i:3;s:3:"441";}}s:6:"iacute";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:6:"iacute";s:1:"B";a:4:{i:0;s:2:"95";i:1;s:1:"0";i:2;s:3:"612";i:3;s:3:"672";}}s:7:"lozenge";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:7:"lozenge";s:1:"B";a:4:{i:0;s:2:"94";i:1;s:1:"0";i:2;s:3:"519";i:3;s:3:"706";}}s:6:"Rcaron";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:6:"Rcaron";s:1:"B";a:4:{i:0;s:2:"38";i:1;s:1:"0";i:2;s:3:"642";i:3;s:3:"802";}}s:12:"Gcommaaccent";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:12:"Gcommaaccent";s:1:"B";a:4:{i:0;s:2:"83";i:1;s:4:"-250";i:2;s:3:"645";i:3;s:3:"580";}}s:11:"ucircumflex";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:11:"ucircumflex";s:1:"B";a:4:{i:0;s:3:"101";i:1;s:3:"-15";i:2;s:3:"572";i:3;s:3:"654";}}s:11:"acircumflex";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:11:"acircumflex";s:1:"B";a:4:{i:0;s:2:"76";i:1;s:3:"-15";i:2;s:3:"581";i:3;s:3:"654";}}s:7:"Amacron";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:7:"Amacron";s:1:"B";a:4:{i:0;s:1:"3";i:1;s:1:"0";i:2;s:3:"607";i:3;s:3:"698";}}s:6:"rcaron";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:6:"rcaron";s:1:"B";a:4:{i:0;s:2:"60";i:1;s:1:"0";i:2;s:3:"636";i:3;s:3:"669";}}s:8:"ccedilla";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:8:"ccedilla";s:1:"B";a:4:{i:0;s:3:"106";i:1;s:4:"-151";i:2;s:3:"614";i:3;s:3:"441";}}s:10:"Zdotaccent";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:10:"Zdotaccent";s:1:"B";a:4:{i:0;s:2:"86";i:1;s:1:"0";i:2;s:3:"610";i:3;s:3:"753";}}s:5:"Thorn";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:5:"Thorn";s:1:"B";a:4:{i:0;s:2:"79";i:1;s:1:"0";i:2;s:3:"606";i:3;s:3:"562";}}s:7:"Omacron";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:7:"Omacron";s:1:"B";a:4:{i:0;s:2:"94";i:1;s:3:"-18";i:2;s:3:"628";i:3;s:3:"698";}}s:6:"Racute";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:6:"Racute";s:1:"B";a:4:{i:0;s:2:"38";i:1;s:1:"0";i:2;s:3:"670";i:3;s:3:"805";}}s:6:"Sacute";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:6:"Sacute";s:1:"B";a:4:{i:0;s:2:"76";i:1;s:3:"-20";i:2;s:3:"650";i:3;s:3:"805";}}s:6:"dcaron";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:6:"dcaron";s:1:"B";a:4:{i:0;s:2:"85";i:1;s:3:"-15";i:2;s:3:"849";i:3;s:3:"629";}}s:7:"Umacron";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:7:"Umacron";s:1:"B";a:4:{i:0;s:3:"125";i:1;s:3:"-18";i:2;s:3:"702";i:3;s:3:"698";}}s:5:"uring";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:5:"uring";s:1:"B";a:4:{i:0;s:3:"101";i:1;s:3:"-15";i:2;s:3:"572";i:3;s:3:"627";}}s:13:"threesuperior";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:13:"threesuperior";s:1:"B";a:4:{i:0;s:3:"213";i:1;s:3:"240";i:2;s:3:"501";i:3;s:3:"622";}}s:6:"Ograve";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:6:"Ograve";s:1:"B";a:4:{i:0;s:2:"94";i:1;s:3:"-18";i:2;s:3:"625";i:3;s:3:"805";}}s:6:"Agrave";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:6:"Agrave";s:1:"B";a:4:{i:0;s:1:"3";i:1;s:1:"0";i:2;s:3:"607";i:3;s:3:"805";}}s:6:"Abreve";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:6:"Abreve";s:1:"B";a:4:{i:0;s:1:"3";i:1;s:1:"0";i:2;s:3:"607";i:3;s:3:"732";}}s:8:"multiply";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:8:"multiply";s:1:"B";a:4:{i:0;s:3:"103";i:1;s:2:"43";i:2;s:3:"607";i:3;s:3:"470";}}s:6:"uacute";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:6:"uacute";s:1:"B";a:4:{i:0;s:3:"101";i:1;s:3:"-15";i:2;s:3:"602";i:3;s:3:"672";}}s:6:"Tcaron";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:6:"Tcaron";s:1:"B";a:4:{i:0;s:3:"108";i:1;s:1:"0";i:2;s:3:"665";i:3;s:3:"802";}}s:11:"partialdiff";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:11:"partialdiff";s:1:"B";a:4:{i:0;s:2:"45";i:1;s:3:"-38";i:2;s:3:"546";i:3;s:3:"710";}}s:9:"ydieresis";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:9:"ydieresis";s:1:"B";a:4:{i:0;s:2:"-4";i:1;s:4:"-157";i:2;s:3:"683";i:3;s:3:"620";}}s:6:"Nacute";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:6:"Nacute";s:1:"B";a:4:{i:0;s:1:"7";i:1;s:3:"-13";i:2;s:3:"712";i:3;s:3:"805";}}s:11:"icircumflex";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:11:"icircumflex";s:1:"B";a:4:{i:0;s:2:"95";i:1;s:1:"0";i:2;s:3:"551";i:3;s:3:"654";}}s:11:"Ecircumflex";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:11:"Ecircumflex";s:1:"B";a:4:{i:0;s:2:"53";i:1;s:1:"0";i:2;s:3:"660";i:3;s:3:"787";}}s:9:"adieresis";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:9:"adieresis";s:1:"B";a:4:{i:0;s:2:"76";i:1;s:3:"-15";i:2;s:3:"575";i:3;s:3:"620";}}s:9:"edieresis";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:9:"edieresis";s:1:"B";a:4:{i:0;s:3:"106";i:1;s:3:"-15";i:2;s:3:"598";i:3;s:3:"620";}}s:6:"cacute";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:6:"cacute";s:1:"B";a:4:{i:0;s:3:"106";i:1;s:3:"-15";i:2;s:3:"612";i:3;s:3:"672";}}s:6:"nacute";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:6:"nacute";s:1:"B";a:4:{i:0;s:2:"26";i:1;s:1:"0";i:2;s:3:"602";i:3;s:3:"672";}}s:7:"umacron";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:7:"umacron";s:1:"B";a:4:{i:0;s:3:"101";i:1;s:3:"-15";i:2;s:3:"600";i:3;s:3:"565";}}s:6:"Ncaron";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:6:"Ncaron";s:1:"B";a:4:{i:0;s:1:"7";i:1;s:3:"-13";i:2;s:3:"712";i:3;s:3:"802";}}s:6:"Iacute";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:6:"Iacute";s:1:"B";a:4:{i:0;s:2:"96";i:1;s:1:"0";i:2;s:3:"640";i:3;s:3:"805";}}s:9:"plusminus";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:9:"plusminus";s:1:"B";a:4:{i:0;s:2:"96";i:1;s:2:"44";i:2;s:3:"594";i:3;s:3:"558";}}s:9:"brokenbar";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:9:"brokenbar";s:1:"B";a:4:{i:0;s:3:"238";i:1;s:4:"-175";i:2;s:3:"469";i:3;s:3:"675";}}s:10:"registered";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:10:"registered";s:1:"B";a:4:{i:0;s:2:"53";i:1;s:3:"-18";i:2;s:3:"667";i:3;s:3:"580";}}s:6:"Gbreve";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:6:"Gbreve";s:1:"B";a:4:{i:0;s:2:"83";i:1;s:3:"-18";i:2;s:3:"645";i:3;s:3:"732";}}s:10:"Idotaccent";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:10:"Idotaccent";s:1:"B";a:4:{i:0;s:2:"96";i:1;s:1:"0";i:2;s:3:"623";i:3;s:3:"753";}}s:9:"summation";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:9:"summation";s:1:"B";a:4:{i:0;s:2:"15";i:1;s:3:"-10";i:2;s:3:"670";i:3;s:3:"706";}}s:6:"Egrave";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:6:"Egrave";s:1:"B";a:4:{i:0;s:2:"53";i:1;s:1:"0";i:2;s:3:"660";i:3;s:3:"805";}}s:6:"racute";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:6:"racute";s:1:"B";a:4:{i:0;s:2:"60";i:1;s:1:"0";i:2;s:3:"636";i:3;s:3:"672";}}s:7:"omacron";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:7:"omacron";s:1:"B";a:4:{i:0;s:3:"102";i:1;s:3:"-15";i:2;s:3:"600";i:3;s:3:"565";}}s:6:"Zacute";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:6:"Zacute";s:1:"B";a:4:{i:0;s:2:"86";i:1;s:1:"0";i:2;s:3:"670";i:3;s:3:"805";}}s:6:"Zcaron";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:6:"Zcaron";s:1:"B";a:4:{i:0;s:2:"86";i:1;s:1:"0";i:2;s:3:"642";i:3;s:3:"802";}}s:12:"greaterequal";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:12:"greaterequal";s:1:"B";a:4:{i:0;s:2:"98";i:1;s:1:"0";i:2;s:3:"594";i:3;s:3:"710";}}s:3:"Eth";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:3:"Eth";s:1:"B";a:4:{i:0;s:2:"43";i:1;s:1:"0";i:2;s:3:"645";i:3;s:3:"562";}}s:8:"Ccedilla";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:8:"Ccedilla";s:1:"B";a:4:{i:0;s:2:"93";i:1;s:4:"-151";i:2;s:3:"658";i:3;s:3:"580";}}s:12:"lcommaaccent";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:12:"lcommaaccent";s:1:"B";a:4:{i:0;s:2:"95";i:1;s:4:"-250";i:2;s:3:"515";i:3;s:3:"629";}}s:6:"tcaron";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:6:"tcaron";s:1:"B";a:4:{i:0;s:3:"167";i:1;s:3:"-15";i:2;s:3:"587";i:3;s:3:"717";}}s:7:"eogonek";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:7:"eogonek";s:1:"B";a:4:{i:0;s:3:"106";i:1;s:4:"-172";i:2;s:3:"598";i:3;s:3:"441";}}s:7:"Uogonek";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:7:"Uogonek";s:1:"B";a:4:{i:0;s:3:"124";i:1;s:4:"-172";i:2;s:3:"702";i:3;s:3:"562";}}s:6:"Aacute";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:6:"Aacute";s:1:"B";a:4:{i:0;s:1:"3";i:1;s:1:"0";i:2;s:3:"660";i:3;s:3:"805";}}s:9:"Adieresis";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:9:"Adieresis";s:1:"B";a:4:{i:0;s:1:"3";i:1;s:1:"0";i:2;s:3:"607";i:3;s:3:"753";}}s:6:"egrave";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:6:"egrave";s:1:"B";a:4:{i:0;s:3:"106";i:1;s:3:"-15";i:2;s:3:"598";i:3;s:3:"672";}}s:6:"zacute";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:6:"zacute";s:1:"B";a:4:{i:0;s:2:"99";i:1;s:1:"0";i:2;s:3:"612";i:3;s:3:"672";}}s:7:"iogonek";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:7:"iogonek";s:1:"B";a:4:{i:0;s:2:"95";i:1;s:4:"-172";i:2;s:3:"515";i:3;s:3:"657";}}s:6:"Oacute";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:6:"Oacute";s:1:"B";a:4:{i:0;s:2:"94";i:1;s:3:"-18";i:2;s:3:"640";i:3;s:3:"805";}}s:6:"oacute";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:6:"oacute";s:1:"B";a:4:{i:0;s:3:"102";i:1;s:3:"-15";i:2;s:3:"612";i:3;s:3:"672";}}s:7:"amacron";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:7:"amacron";s:1:"B";a:4:{i:0;s:2:"76";i:1;s:3:"-15";i:2;s:3:"600";i:3;s:3:"565";}}s:6:"sacute";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:6:"sacute";s:1:"B";a:4:{i:0;s:2:"78";i:1;s:3:"-15";i:2;s:3:"612";i:3;s:3:"672";}}s:9:"idieresis";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:9:"idieresis";s:1:"B";a:4:{i:0;s:2:"95";i:1;s:1:"0";i:2;s:3:"545";i:3;s:3:"620";}}s:11:"Ocircumflex";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:11:"Ocircumflex";s:1:"B";a:4:{i:0;s:2:"94";i:1;s:3:"-18";i:2;s:3:"625";i:3;s:3:"787";}}s:6:"Ugrave";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:6:"Ugrave";s:1:"B";a:4:{i:0;s:3:"125";i:1;s:3:"-18";i:2;s:3:"702";i:3;s:3:"805";}}s:5:"Delta";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:5:"Delta";s:1:"B";a:4:{i:0;s:1:"6";i:1;s:1:"0";i:2;s:3:"598";i:3;s:3:"688";}}s:5:"thorn";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:5:"thorn";s:1:"B";a:4:{i:0;s:3:"-24";i:1;s:4:"-157";i:2;s:3:"605";i:3;s:3:"629";}}s:11:"twosuperior";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:11:"twosuperior";s:1:"B";a:4:{i:0;s:3:"230";i:1;s:3:"249";i:2;s:3:"535";i:3;s:3:"622";}}s:9:"Odieresis";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:9:"Odieresis";s:1:"B";a:4:{i:0;s:2:"94";i:1;s:3:"-18";i:2;s:3:"625";i:3;s:3:"753";}}s:2:"mu";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:2:"mu";s:1:"B";a:4:{i:0;s:2:"72";i:1;s:4:"-157";i:2;s:3:"572";i:3;s:3:"426";}}s:6:"igrave";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:6:"igrave";s:1:"B";a:4:{i:0;s:2:"95";i:1;s:1:"0";i:2;s:3:"515";i:3;s:3:"672";}}s:13:"ohungarumlaut";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:13:"ohungarumlaut";s:1:"B";a:4:{i:0;s:3:"102";i:1;s:3:"-15";i:2;s:3:"723";i:3;s:3:"672";}}s:7:"Eogonek";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:7:"Eogonek";s:1:"B";a:4:{i:0;s:2:"53";i:1;s:4:"-172";i:2;s:3:"660";i:3;s:3:"562";}}s:6:"dcroat";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:6:"dcroat";s:1:"B";a:4:{i:0;s:2:"85";i:1;s:3:"-15";i:2;s:3:"704";i:3;s:3:"629";}}s:13:"threequarters";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:13:"threequarters";s:1:"B";a:4:{i:0;s:2:"73";i:1;s:3:"-56";i:2;s:3:"659";i:3;s:3:"666";}}s:8:"Scedilla";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:8:"Scedilla";s:1:"B";a:4:{i:0;s:2:"76";i:1;s:4:"-151";i:2;s:3:"650";i:3;s:3:"580";}}s:6:"lcaron";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:6:"lcaron";s:1:"B";a:4:{i:0;s:2:"95";i:1;s:1:"0";i:2;s:3:"667";i:3;s:3:"629";}}s:12:"Kcommaaccent";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:12:"Kcommaaccent";s:1:"B";a:4:{i:0;s:2:"38";i:1;s:4:"-250";i:2;s:3:"671";i:3;s:3:"562";}}s:6:"Lacute";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:6:"Lacute";s:1:"B";a:4:{i:0;s:2:"47";i:1;s:1:"0";i:2;s:3:"607";i:3;s:3:"805";}}s:9:"trademark";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:9:"trademark";s:1:"B";a:4:{i:0;s:2:"75";i:1;s:3:"263";i:2;s:3:"742";i:3;s:3:"562";}}s:10:"edotaccent";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:10:"edotaccent";s:1:"B";a:4:{i:0;s:3:"106";i:1;s:3:"-15";i:2;s:3:"598";i:3;s:3:"620";}}s:6:"Igrave";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:6:"Igrave";s:1:"B";a:4:{i:0;s:2:"96";i:1;s:1:"0";i:2;s:3:"623";i:3;s:3:"805";}}s:7:"Imacron";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:7:"Imacron";s:1:"B";a:4:{i:0;s:2:"96";i:1;s:1:"0";i:2;s:3:"628";i:3;s:3:"698";}}s:6:"Lcaron";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:6:"Lcaron";s:1:"B";a:4:{i:0;s:2:"47";i:1;s:1:"0";i:2;s:3:"632";i:3;s:3:"562";}}s:7:"onehalf";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:7:"onehalf";s:1:"B";a:4:{i:0;s:2:"65";i:1;s:3:"-57";i:2;s:3:"669";i:3;s:3:"665";}}s:9:"lessequal";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:9:"lessequal";s:1:"B";a:4:{i:0;s:2:"98";i:1;s:1:"0";i:2;s:3:"645";i:3;s:3:"710";}}s:11:"ocircumflex";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:11:"ocircumflex";s:1:"B";a:4:{i:0;s:3:"102";i:1;s:3:"-15";i:2;s:3:"588";i:3;s:3:"654";}}s:6:"ntilde";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:6:"ntilde";s:1:"B";a:4:{i:0;s:2:"26";i:1;s:1:"0";i:2;s:3:"629";i:3;s:3:"606";}}s:13:"Uhungarumlaut";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:13:"Uhungarumlaut";s:1:"B";a:4:{i:0;s:3:"125";i:1;s:3:"-18";i:2;s:3:"761";i:3;s:3:"805";}}s:6:"Eacute";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:6:"Eacute";s:1:"B";a:4:{i:0;s:2:"53";i:1;s:1:"0";i:2;s:3:"670";i:3;s:3:"805";}}s:7:"emacron";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:7:"emacron";s:1:"B";a:4:{i:0;s:3:"106";i:1;s:3:"-15";i:2;s:3:"600";i:3;s:3:"565";}}s:6:"gbreve";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:6:"gbreve";s:1:"B";a:4:{i:0;s:2:"61";i:1;s:4:"-157";i:2;s:3:"657";i:3;s:3:"609";}}s:10:"onequarter";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:10:"onequarter";s:1:"B";a:4:{i:0;s:2:"65";i:1;s:3:"-57";i:2;s:3:"674";i:3;s:3:"665";}}s:6:"Scaron";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:6:"Scaron";s:1:"B";a:4:{i:0;s:2:"76";i:1;s:3:"-20";i:2;s:3:"672";i:3;s:3:"802";}}s:12:"Scommaaccent";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:12:"Scommaaccent";s:1:"B";a:4:{i:0;s:2:"76";i:1;s:4:"-250";i:2;s:3:"650";i:3;s:3:"580";}}s:13:"Ohungarumlaut";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:13:"Ohungarumlaut";s:1:"B";a:4:{i:0;s:2:"94";i:1;s:3:"-18";i:2;s:3:"751";i:3;s:3:"805";}}s:6:"degree";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:6:"degree";s:1:"B";a:4:{i:0;s:3:"214";i:1;s:3:"269";i:2;s:3:"576";i:3;s:3:"622";}}s:6:"ograve";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:6:"ograve";s:1:"B";a:4:{i:0;s:3:"102";i:1;s:3:"-15";i:2;s:3:"588";i:3;s:3:"672";}}s:6:"Ccaron";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:6:"Ccaron";s:1:"B";a:4:{i:0;s:2:"93";i:1;s:3:"-18";i:2;s:3:"672";i:3;s:3:"802";}}s:6:"ugrave";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:6:"ugrave";s:1:"B";a:4:{i:0;s:3:"101";i:1;s:3:"-15";i:2;s:3:"572";i:3;s:3:"672";}}s:7:"radical";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:7:"radical";s:1:"B";a:4:{i:0;s:2:"85";i:1;s:3:"-15";i:2;s:3:"765";i:3;s:3:"792";}}s:6:"Dcaron";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:6:"Dcaron";s:1:"B";a:4:{i:0;s:2:"43";i:1;s:1:"0";i:2;s:3:"645";i:3;s:3:"802";}}s:12:"rcommaaccent";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:12:"rcommaaccent";s:1:"B";a:4:{i:0;s:2:"60";i:1;s:4:"-250";i:2;s:3:"636";i:3;s:3:"441";}}s:6:"Ntilde";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:6:"Ntilde";s:1:"B";a:4:{i:0;s:1:"7";i:1;s:3:"-13";i:2;s:3:"712";i:3;s:3:"729";}}s:6:"otilde";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:6:"otilde";s:1:"B";a:4:{i:0;s:3:"102";i:1;s:3:"-15";i:2;s:3:"629";i:3;s:3:"606";}}s:12:"Rcommaaccent";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:12:"Rcommaaccent";s:1:"B";a:4:{i:0;s:2:"38";i:1;s:4:"-250";i:2;s:3:"598";i:3;s:3:"562";}}s:12:"Lcommaaccent";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:12:"Lcommaaccent";s:1:"B";a:4:{i:0;s:2:"47";i:1;s:4:"-250";i:2;s:3:"607";i:3;s:3:"562";}}s:6:"Atilde";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:6:"Atilde";s:1:"B";a:4:{i:0;s:1:"3";i:1;s:1:"0";i:2;s:3:"655";i:3;s:3:"729";}}s:7:"Aogonek";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:7:"Aogonek";s:1:"B";a:4:{i:0;s:1:"3";i:1;s:4:"-172";i:2;s:3:"607";i:3;s:3:"562";}}s:5:"Aring";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:5:"Aring";s:1:"B";a:4:{i:0;s:1:"3";i:1;s:1:"0";i:2;s:3:"607";i:3;s:3:"750";}}s:6:"Otilde";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:6:"Otilde";s:1:"B";a:4:{i:0;s:2:"94";i:1;s:3:"-18";i:2;s:3:"655";i:3;s:3:"729";}}s:10:"zdotaccent";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:10:"zdotaccent";s:1:"B";a:4:{i:0;s:2:"99";i:1;s:1:"0";i:2;s:3:"593";i:3;s:3:"620";}}s:6:"Ecaron";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:6:"Ecaron";s:1:"B";a:4:{i:0;s:2:"53";i:1;s:1:"0";i:2;s:3:"660";i:3;s:3:"802";}}s:7:"Iogonek";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:7:"Iogonek";s:1:"B";a:4:{i:0;s:2:"96";i:1;s:4:"-172";i:2;s:3:"623";i:3;s:3:"562";}}s:12:"kcommaaccent";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:12:"kcommaaccent";s:1:"B";a:4:{i:0;s:2:"58";i:1;s:4:"-250";i:2;s:3:"633";i:3;s:3:"629";}}s:5:"minus";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:5:"minus";s:1:"B";a:4:{i:0;s:3:"129";i:1;s:3:"232";i:2;s:3:"580";i:3;s:3:"283";}}s:11:"Icircumflex";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:11:"Icircumflex";s:1:"B";a:4:{i:0;s:2:"96";i:1;s:1:"0";i:2;s:3:"623";i:3;s:3:"787";}}s:6:"ncaron";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:6:"ncaron";s:1:"B";a:4:{i:0;s:2:"26";i:1;s:1:"0";i:2;s:3:"614";i:3;s:3:"669";}}s:12:"tcommaaccent";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:12:"tcommaaccent";s:1:"B";a:4:{i:0;s:3:"165";i:1;s:4:"-250";i:2;s:3:"561";i:3;s:3:"561";}}s:10:"logicalnot";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:10:"logicalnot";s:1:"B";a:4:{i:0;s:3:"155";i:1;s:3:"108";i:2;s:3:"591";i:3;s:3:"369";}}s:9:"odieresis";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:9:"odieresis";s:1:"B";a:4:{i:0;s:3:"102";i:1;s:3:"-15";i:2;s:3:"588";i:3;s:3:"620";}}s:9:"udieresis";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:9:"udieresis";s:1:"B";a:4:{i:0;s:3:"101";i:1;s:3:"-15";i:2;s:3:"575";i:3;s:3:"620";}}s:8:"notequal";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:8:"notequal";s:1:"B";a:4:{i:0;s:2:"43";i:1;s:3:"-16";i:2;s:3:"621";i:3;s:3:"529";}}s:12:"gcommaaccent";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:12:"gcommaaccent";s:1:"B";a:4:{i:0;s:2:"61";i:1;s:4:"-157";i:2;s:3:"657";i:3;s:3:"708";}}s:3:"eth";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:3:"eth";s:1:"B";a:4:{i:0;s:3:"102";i:1;s:3:"-15";i:2;s:3:"639";i:3;s:3:"629";}}s:6:"zcaron";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:6:"zcaron";s:1:"B";a:4:{i:0;s:2:"99";i:1;s:1:"0";i:2;s:3:"624";i:3;s:3:"669";}}s:12:"ncommaaccent";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:12:"ncommaaccent";s:1:"B";a:4:{i:0;s:2:"26";i:1;s:4:"-250";i:2;s:3:"585";i:3;s:3:"441";}}s:11:"onesuperior";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:11:"onesuperior";s:1:"B";a:4:{i:0;s:3:"231";i:1;s:3:"249";i:2;s:3:"491";i:3;s:3:"622";}}s:7:"imacron";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:7:"imacron";s:1:"B";a:4:{i:0;s:2:"95";i:1;s:1:"0";i:2;s:3:"543";i:3;s:3:"565";}}s:4:"Euro";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:4:"Euro";s:1:"B";a:4:{i:0;s:1:"0";i:1;s:1:"0";i:2;s:1:"0";i:3;s:1:"0";}}}s:9:"_version_";i:1;}
\ No newline at end of file diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/PDF/default/templates/fonts/php_Courier.afm b/buildscripts/PhpDocumentor/phpDocumentor/Converters/PDF/default/templates/fonts/php_Courier.afm new file mode 100755 index 00000000..b68cac60 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/PDF/default/templates/fonts/php_Courier.afm @@ -0,0 +1 @@ +a:21:{s:8:"FontName";s:7:"Courier";s:8:"FullName";s:7:"Courier";s:10:"FamilyName";s:7:"Courier";s:6:"Weight";s:6:"Medium";s:11:"ItalicAngle";s:1:"0";s:12:"IsFixedPitch";s:4:"true";s:12:"CharacterSet";s:13:"ExtendedRoman";s:8:"FontBBox";a:4:{i:0;s:3:"-23";i:1;s:4:"-250";i:2;s:3:"715";i:3;s:3:"805";}s:17:"UnderlinePosition";s:4:"-100";s:18:"UnderlineThickness";s:2:"50";s:7:"Version";s:7:"003.000";s:14:"EncodingScheme";s:21:"AdobeStandardEncoding";s:9:"CapHeight";s:3:"562";s:7:"XHeight";s:3:"426";s:8:"Ascender";s:3:"629";s:9:"Descender";s:4:"-157";s:5:"StdHW";s:2:"51";s:5:"StdVW";s:2:"51";s:16:"StartCharMetrics";s:3:"315";s:1:"C";a:464:{i:32;a:4:{s:1:"C";s:2:"32";s:2:"WX";s:3:"600";s:1:"N";s:5:"space";s:1:"B";a:4:{i:0;s:1:"0";i:1;s:1:"0";i:2;s:1:"0";i:3;s:1:"0";}}s:5:"space";a:4:{s:1:"C";s:2:"32";s:2:"WX";s:3:"600";s:1:"N";s:5:"space";s:1:"B";a:4:{i:0;s:1:"0";i:1;s:1:"0";i:2;s:1:"0";i:3;s:1:"0";}}i:33;a:4:{s:1:"C";s:2:"33";s:2:"WX";s:3:"600";s:1:"N";s:6:"exclam";s:1:"B";a:4:{i:0;s:3:"236";i:1;s:3:"-15";i:2;s:3:"364";i:3;s:3:"572";}}s:6:"exclam";a:4:{s:1:"C";s:2:"33";s:2:"WX";s:3:"600";s:1:"N";s:6:"exclam";s:1:"B";a:4:{i:0;s:3:"236";i:1;s:3:"-15";i:2;s:3:"364";i:3;s:3:"572";}}i:34;a:4:{s:1:"C";s:2:"34";s:2:"WX";s:3:"600";s:1:"N";s:8:"quotedbl";s:1:"B";a:4:{i:0;s:3:"187";i:1;s:3:"328";i:2;s:3:"413";i:3;s:3:"562";}}s:8:"quotedbl";a:4:{s:1:"C";s:2:"34";s:2:"WX";s:3:"600";s:1:"N";s:8:"quotedbl";s:1:"B";a:4:{i:0;s:3:"187";i:1;s:3:"328";i:2;s:3:"413";i:3;s:3:"562";}}i:35;a:4:{s:1:"C";s:2:"35";s:2:"WX";s:3:"600";s:1:"N";s:10:"numbersign";s:1:"B";a:4:{i:0;s:2:"93";i:1;s:3:"-32";i:2;s:3:"507";i:3;s:3:"639";}}s:10:"numbersign";a:4:{s:1:"C";s:2:"35";s:2:"WX";s:3:"600";s:1:"N";s:10:"numbersign";s:1:"B";a:4:{i:0;s:2:"93";i:1;s:3:"-32";i:2;s:3:"507";i:3;s:3:"639";}}i:36;a:4:{s:1:"C";s:2:"36";s:2:"WX";s:3:"600";s:1:"N";s:6:"dollar";s:1:"B";a:4:{i:0;s:3:"105";i:1;s:4:"-126";i:2;s:3:"496";i:3;s:3:"662";}}s:6:"dollar";a:4:{s:1:"C";s:2:"36";s:2:"WX";s:3:"600";s:1:"N";s:6:"dollar";s:1:"B";a:4:{i:0;s:3:"105";i:1;s:4:"-126";i:2;s:3:"496";i:3;s:3:"662";}}i:37;a:4:{s:1:"C";s:2:"37";s:2:"WX";s:3:"600";s:1:"N";s:7:"percent";s:1:"B";a:4:{i:0;s:2:"81";i:1;s:3:"-15";i:2;s:3:"518";i:3;s:3:"622";}}s:7:"percent";a:4:{s:1:"C";s:2:"37";s:2:"WX";s:3:"600";s:1:"N";s:7:"percent";s:1:"B";a:4:{i:0;s:2:"81";i:1;s:3:"-15";i:2;s:3:"518";i:3;s:3:"622";}}i:38;a:4:{s:1:"C";s:2:"38";s:2:"WX";s:3:"600";s:1:"N";s:9:"ampersand";s:1:"B";a:4:{i:0;s:2:"63";i:1;s:3:"-15";i:2;s:3:"538";i:3;s:3:"543";}}s:9:"ampersand";a:4:{s:1:"C";s:2:"38";s:2:"WX";s:3:"600";s:1:"N";s:9:"ampersand";s:1:"B";a:4:{i:0;s:2:"63";i:1;s:3:"-15";i:2;s:3:"538";i:3;s:3:"543";}}i:39;a:4:{s:1:"C";s:2:"39";s:2:"WX";s:3:"600";s:1:"N";s:10:"quoteright";s:1:"B";a:4:{i:0;s:3:"213";i:1;s:3:"328";i:2;s:3:"376";i:3;s:3:"562";}}s:10:"quoteright";a:4:{s:1:"C";s:2:"39";s:2:"WX";s:3:"600";s:1:"N";s:10:"quoteright";s:1:"B";a:4:{i:0;s:3:"213";i:1;s:3:"328";i:2;s:3:"376";i:3;s:3:"562";}}i:40;a:4:{s:1:"C";s:2:"40";s:2:"WX";s:3:"600";s:1:"N";s:9:"parenleft";s:1:"B";a:4:{i:0;s:3:"269";i:1;s:4:"-108";i:2;s:3:"440";i:3;s:3:"622";}}s:9:"parenleft";a:4:{s:1:"C";s:2:"40";s:2:"WX";s:3:"600";s:1:"N";s:9:"parenleft";s:1:"B";a:4:{i:0;s:3:"269";i:1;s:4:"-108";i:2;s:3:"440";i:3;s:3:"622";}}i:41;a:4:{s:1:"C";s:2:"41";s:2:"WX";s:3:"600";s:1:"N";s:10:"parenright";s:1:"B";a:4:{i:0;s:3:"160";i:1;s:4:"-108";i:2;s:3:"331";i:3;s:3:"622";}}s:10:"parenright";a:4:{s:1:"C";s:2:"41";s:2:"WX";s:3:"600";s:1:"N";s:10:"parenright";s:1:"B";a:4:{i:0;s:3:"160";i:1;s:4:"-108";i:2;s:3:"331";i:3;s:3:"622";}}i:42;a:4:{s:1:"C";s:2:"42";s:2:"WX";s:3:"600";s:1:"N";s:8:"asterisk";s:1:"B";a:4:{i:0;s:3:"116";i:1;s:3:"257";i:2;s:3:"484";i:3;s:3:"607";}}s:8:"asterisk";a:4:{s:1:"C";s:2:"42";s:2:"WX";s:3:"600";s:1:"N";s:8:"asterisk";s:1:"B";a:4:{i:0;s:3:"116";i:1;s:3:"257";i:2;s:3:"484";i:3;s:3:"607";}}i:43;a:4:{s:1:"C";s:2:"43";s:2:"WX";s:3:"600";s:1:"N";s:4:"plus";s:1:"B";a:4:{i:0;s:2:"80";i:1;s:2:"44";i:2;s:3:"520";i:3;s:3:"470";}}s:4:"plus";a:4:{s:1:"C";s:2:"43";s:2:"WX";s:3:"600";s:1:"N";s:4:"plus";s:1:"B";a:4:{i:0;s:2:"80";i:1;s:2:"44";i:2;s:3:"520";i:3;s:3:"470";}}i:44;a:4:{s:1:"C";s:2:"44";s:2:"WX";s:3:"600";s:1:"N";s:5:"comma";s:1:"B";a:4:{i:0;s:3:"181";i:1;s:4:"-112";i:2;s:3:"344";i:3;s:3:"122";}}s:5:"comma";a:4:{s:1:"C";s:2:"44";s:2:"WX";s:3:"600";s:1:"N";s:5:"comma";s:1:"B";a:4:{i:0;s:3:"181";i:1;s:4:"-112";i:2;s:3:"344";i:3;s:3:"122";}}i:45;a:4:{s:1:"C";s:2:"45";s:2:"WX";s:3:"600";s:1:"N";s:6:"hyphen";s:1:"B";a:4:{i:0;s:3:"103";i:1;s:3:"231";i:2;s:3:"497";i:3;s:3:"285";}}s:6:"hyphen";a:4:{s:1:"C";s:2:"45";s:2:"WX";s:3:"600";s:1:"N";s:6:"hyphen";s:1:"B";a:4:{i:0;s:3:"103";i:1;s:3:"231";i:2;s:3:"497";i:3;s:3:"285";}}i:46;a:4:{s:1:"C";s:2:"46";s:2:"WX";s:3:"600";s:1:"N";s:6:"period";s:1:"B";a:4:{i:0;s:3:"229";i:1;s:3:"-15";i:2;s:3:"371";i:3;s:3:"109";}}s:6:"period";a:4:{s:1:"C";s:2:"46";s:2:"WX";s:3:"600";s:1:"N";s:6:"period";s:1:"B";a:4:{i:0;s:3:"229";i:1;s:3:"-15";i:2;s:3:"371";i:3;s:3:"109";}}i:47;a:4:{s:1:"C";s:2:"47";s:2:"WX";s:3:"600";s:1:"N";s:5:"slash";s:1:"B";a:4:{i:0;s:3:"125";i:1;s:3:"-80";i:2;s:3:"475";i:3;s:3:"629";}}s:5:"slash";a:4:{s:1:"C";s:2:"47";s:2:"WX";s:3:"600";s:1:"N";s:5:"slash";s:1:"B";a:4:{i:0;s:3:"125";i:1;s:3:"-80";i:2;s:3:"475";i:3;s:3:"629";}}i:48;a:4:{s:1:"C";s:2:"48";s:2:"WX";s:3:"600";s:1:"N";s:4:"zero";s:1:"B";a:4:{i:0;s:3:"106";i:1;s:3:"-15";i:2;s:3:"494";i:3;s:3:"622";}}s:4:"zero";a:4:{s:1:"C";s:2:"48";s:2:"WX";s:3:"600";s:1:"N";s:4:"zero";s:1:"B";a:4:{i:0;s:3:"106";i:1;s:3:"-15";i:2;s:3:"494";i:3;s:3:"622";}}i:49;a:4:{s:1:"C";s:2:"49";s:2:"WX";s:3:"600";s:1:"N";s:3:"one";s:1:"B";a:4:{i:0;s:2:"96";i:1;s:1:"0";i:2;s:3:"505";i:3;s:3:"622";}}s:3:"one";a:4:{s:1:"C";s:2:"49";s:2:"WX";s:3:"600";s:1:"N";s:3:"one";s:1:"B";a:4:{i:0;s:2:"96";i:1;s:1:"0";i:2;s:3:"505";i:3;s:3:"622";}}i:50;a:4:{s:1:"C";s:2:"50";s:2:"WX";s:3:"600";s:1:"N";s:3:"two";s:1:"B";a:4:{i:0;s:2:"70";i:1;s:1:"0";i:2;s:3:"471";i:3;s:3:"622";}}s:3:"two";a:4:{s:1:"C";s:2:"50";s:2:"WX";s:3:"600";s:1:"N";s:3:"two";s:1:"B";a:4:{i:0;s:2:"70";i:1;s:1:"0";i:2;s:3:"471";i:3;s:3:"622";}}i:51;a:4:{s:1:"C";s:2:"51";s:2:"WX";s:3:"600";s:1:"N";s:5:"three";s:1:"B";a:4:{i:0;s:2:"75";i:1;s:3:"-15";i:2;s:3:"466";i:3;s:3:"622";}}s:5:"three";a:4:{s:1:"C";s:2:"51";s:2:"WX";s:3:"600";s:1:"N";s:5:"three";s:1:"B";a:4:{i:0;s:2:"75";i:1;s:3:"-15";i:2;s:3:"466";i:3;s:3:"622";}}i:52;a:4:{s:1:"C";s:2:"52";s:2:"WX";s:3:"600";s:1:"N";s:4:"four";s:1:"B";a:4:{i:0;s:2:"78";i:1;s:1:"0";i:2;s:3:"500";i:3;s:3:"622";}}s:4:"four";a:4:{s:1:"C";s:2:"52";s:2:"WX";s:3:"600";s:1:"N";s:4:"four";s:1:"B";a:4:{i:0;s:2:"78";i:1;s:1:"0";i:2;s:3:"500";i:3;s:3:"622";}}i:53;a:4:{s:1:"C";s:2:"53";s:2:"WX";s:3:"600";s:1:"N";s:4:"five";s:1:"B";a:4:{i:0;s:2:"92";i:1;s:3:"-15";i:2;s:3:"497";i:3;s:3:"607";}}s:4:"five";a:4:{s:1:"C";s:2:"53";s:2:"WX";s:3:"600";s:1:"N";s:4:"five";s:1:"B";a:4:{i:0;s:2:"92";i:1;s:3:"-15";i:2;s:3:"497";i:3;s:3:"607";}}i:54;a:4:{s:1:"C";s:2:"54";s:2:"WX";s:3:"600";s:1:"N";s:3:"six";s:1:"B";a:4:{i:0;s:3:"111";i:1;s:3:"-15";i:2;s:3:"497";i:3;s:3:"622";}}s:3:"six";a:4:{s:1:"C";s:2:"54";s:2:"WX";s:3:"600";s:1:"N";s:3:"six";s:1:"B";a:4:{i:0;s:3:"111";i:1;s:3:"-15";i:2;s:3:"497";i:3;s:3:"622";}}i:55;a:4:{s:1:"C";s:2:"55";s:2:"WX";s:3:"600";s:1:"N";s:5:"seven";s:1:"B";a:4:{i:0;s:2:"82";i:1;s:1:"0";i:2;s:3:"483";i:3;s:3:"607";}}s:5:"seven";a:4:{s:1:"C";s:2:"55";s:2:"WX";s:3:"600";s:1:"N";s:5:"seven";s:1:"B";a:4:{i:0;s:2:"82";i:1;s:1:"0";i:2;s:3:"483";i:3;s:3:"607";}}i:56;a:4:{s:1:"C";s:2:"56";s:2:"WX";s:3:"600";s:1:"N";s:5:"eight";s:1:"B";a:4:{i:0;s:3:"102";i:1;s:3:"-15";i:2;s:3:"498";i:3;s:3:"622";}}s:5:"eight";a:4:{s:1:"C";s:2:"56";s:2:"WX";s:3:"600";s:1:"N";s:5:"eight";s:1:"B";a:4:{i:0;s:3:"102";i:1;s:3:"-15";i:2;s:3:"498";i:3;s:3:"622";}}i:57;a:4:{s:1:"C";s:2:"57";s:2:"WX";s:3:"600";s:1:"N";s:4:"nine";s:1:"B";a:4:{i:0;s:2:"96";i:1;s:3:"-15";i:2;s:3:"489";i:3;s:3:"622";}}s:4:"nine";a:4:{s:1:"C";s:2:"57";s:2:"WX";s:3:"600";s:1:"N";s:4:"nine";s:1:"B";a:4:{i:0;s:2:"96";i:1;s:3:"-15";i:2;s:3:"489";i:3;s:3:"622";}}i:58;a:4:{s:1:"C";s:2:"58";s:2:"WX";s:3:"600";s:1:"N";s:5:"colon";s:1:"B";a:4:{i:0;s:3:"229";i:1;s:3:"-15";i:2;s:3:"371";i:3;s:3:"385";}}s:5:"colon";a:4:{s:1:"C";s:2:"58";s:2:"WX";s:3:"600";s:1:"N";s:5:"colon";s:1:"B";a:4:{i:0;s:3:"229";i:1;s:3:"-15";i:2;s:3:"371";i:3;s:3:"385";}}i:59;a:4:{s:1:"C";s:2:"59";s:2:"WX";s:3:"600";s:1:"N";s:9:"semicolon";s:1:"B";a:4:{i:0;s:3:"181";i:1;s:4:"-112";i:2;s:3:"371";i:3;s:3:"385";}}s:9:"semicolon";a:4:{s:1:"C";s:2:"59";s:2:"WX";s:3:"600";s:1:"N";s:9:"semicolon";s:1:"B";a:4:{i:0;s:3:"181";i:1;s:4:"-112";i:2;s:3:"371";i:3;s:3:"385";}}i:60;a:4:{s:1:"C";s:2:"60";s:2:"WX";s:3:"600";s:1:"N";s:4:"less";s:1:"B";a:4:{i:0;s:2:"41";i:1;s:2:"42";i:2;s:3:"519";i:3;s:3:"472";}}s:4:"less";a:4:{s:1:"C";s:2:"60";s:2:"WX";s:3:"600";s:1:"N";s:4:"less";s:1:"B";a:4:{i:0;s:2:"41";i:1;s:2:"42";i:2;s:3:"519";i:3;s:3:"472";}}i:61;a:4:{s:1:"C";s:2:"61";s:2:"WX";s:3:"600";s:1:"N";s:5:"equal";s:1:"B";a:4:{i:0;s:2:"80";i:1;s:3:"138";i:2;s:3:"520";i:3;s:3:"376";}}s:5:"equal";a:4:{s:1:"C";s:2:"61";s:2:"WX";s:3:"600";s:1:"N";s:5:"equal";s:1:"B";a:4:{i:0;s:2:"80";i:1;s:3:"138";i:2;s:3:"520";i:3;s:3:"376";}}i:62;a:4:{s:1:"C";s:2:"62";s:2:"WX";s:3:"600";s:1:"N";s:7:"greater";s:1:"B";a:4:{i:0;s:2:"66";i:1;s:2:"42";i:2;s:3:"544";i:3;s:3:"472";}}s:7:"greater";a:4:{s:1:"C";s:2:"62";s:2:"WX";s:3:"600";s:1:"N";s:7:"greater";s:1:"B";a:4:{i:0;s:2:"66";i:1;s:2:"42";i:2;s:3:"544";i:3;s:3:"472";}}i:63;a:4:{s:1:"C";s:2:"63";s:2:"WX";s:3:"600";s:1:"N";s:8:"question";s:1:"B";a:4:{i:0;s:3:"129";i:1;s:3:"-15";i:2;s:3:"492";i:3;s:3:"572";}}s:8:"question";a:4:{s:1:"C";s:2:"63";s:2:"WX";s:3:"600";s:1:"N";s:8:"question";s:1:"B";a:4:{i:0;s:3:"129";i:1;s:3:"-15";i:2;s:3:"492";i:3;s:3:"572";}}i:64;a:4:{s:1:"C";s:2:"64";s:2:"WX";s:3:"600";s:1:"N";s:2:"at";s:1:"B";a:4:{i:0;s:2:"77";i:1;s:3:"-15";i:2;s:3:"533";i:3;s:3:"622";}}s:2:"at";a:4:{s:1:"C";s:2:"64";s:2:"WX";s:3:"600";s:1:"N";s:2:"at";s:1:"B";a:4:{i:0;s:2:"77";i:1;s:3:"-15";i:2;s:3:"533";i:3;s:3:"622";}}i:65;a:4:{s:1:"C";s:2:"65";s:2:"WX";s:3:"600";s:1:"N";s:1:"A";s:1:"B";a:4:{i:0;s:1:"3";i:1;s:1:"0";i:2;s:3:"597";i:3;s:3:"562";}}s:1:"A";a:4:{s:1:"C";s:2:"65";s:2:"WX";s:3:"600";s:1:"N";s:1:"A";s:1:"B";a:4:{i:0;s:1:"3";i:1;s:1:"0";i:2;s:3:"597";i:3;s:3:"562";}}i:66;a:4:{s:1:"C";s:2:"66";s:2:"WX";s:3:"600";s:1:"N";s:1:"B";s:1:"B";a:4:{i:0;s:2:"43";i:1;s:1:"0";i:2;s:3:"559";i:3;s:3:"562";}}s:1:"B";a:4:{s:1:"C";s:2:"66";s:2:"WX";s:3:"600";s:1:"N";s:1:"B";s:1:"B";a:4:{i:0;s:2:"43";i:1;s:1:"0";i:2;s:3:"559";i:3;s:3:"562";}}i:67;a:4:{s:1:"C";s:2:"67";s:2:"WX";s:3:"600";s:1:"N";s:1:"C";s:1:"B";a:4:{i:0;s:2:"41";i:1;s:3:"-18";i:2;s:3:"540";i:3;s:3:"580";}}s:1:"C";a:4:{s:1:"C";s:2:"67";s:2:"WX";s:3:"600";s:1:"N";s:1:"C";s:1:"B";a:4:{i:0;s:2:"41";i:1;s:3:"-18";i:2;s:3:"540";i:3;s:3:"580";}}i:68;a:4:{s:1:"C";s:2:"68";s:2:"WX";s:3:"600";s:1:"N";s:1:"D";s:1:"B";a:4:{i:0;s:2:"43";i:1;s:1:"0";i:2;s:3:"574";i:3;s:3:"562";}}s:1:"D";a:4:{s:1:"C";s:2:"68";s:2:"WX";s:3:"600";s:1:"N";s:1:"D";s:1:"B";a:4:{i:0;s:2:"43";i:1;s:1:"0";i:2;s:3:"574";i:3;s:3:"562";}}i:69;a:4:{s:1:"C";s:2:"69";s:2:"WX";s:3:"600";s:1:"N";s:1:"E";s:1:"B";a:4:{i:0;s:2:"53";i:1;s:1:"0";i:2;s:3:"550";i:3;s:3:"562";}}s:1:"E";a:4:{s:1:"C";s:2:"69";s:2:"WX";s:3:"600";s:1:"N";s:1:"E";s:1:"B";a:4:{i:0;s:2:"53";i:1;s:1:"0";i:2;s:3:"550";i:3;s:3:"562";}}i:70;a:4:{s:1:"C";s:2:"70";s:2:"WX";s:3:"600";s:1:"N";s:1:"F";s:1:"B";a:4:{i:0;s:2:"53";i:1;s:1:"0";i:2;s:3:"545";i:3;s:3:"562";}}s:1:"F";a:4:{s:1:"C";s:2:"70";s:2:"WX";s:3:"600";s:1:"N";s:1:"F";s:1:"B";a:4:{i:0;s:2:"53";i:1;s:1:"0";i:2;s:3:"545";i:3;s:3:"562";}}i:71;a:4:{s:1:"C";s:2:"71";s:2:"WX";s:3:"600";s:1:"N";s:1:"G";s:1:"B";a:4:{i:0;s:2:"31";i:1;s:3:"-18";i:2;s:3:"575";i:3;s:3:"580";}}s:1:"G";a:4:{s:1:"C";s:2:"71";s:2:"WX";s:3:"600";s:1:"N";s:1:"G";s:1:"B";a:4:{i:0;s:2:"31";i:1;s:3:"-18";i:2;s:3:"575";i:3;s:3:"580";}}i:72;a:4:{s:1:"C";s:2:"72";s:2:"WX";s:3:"600";s:1:"N";s:1:"H";s:1:"B";a:4:{i:0;s:2:"32";i:1;s:1:"0";i:2;s:3:"568";i:3;s:3:"562";}}s:1:"H";a:4:{s:1:"C";s:2:"72";s:2:"WX";s:3:"600";s:1:"N";s:1:"H";s:1:"B";a:4:{i:0;s:2:"32";i:1;s:1:"0";i:2;s:3:"568";i:3;s:3:"562";}}i:73;a:4:{s:1:"C";s:2:"73";s:2:"WX";s:3:"600";s:1:"N";s:1:"I";s:1:"B";a:4:{i:0;s:2:"96";i:1;s:1:"0";i:2;s:3:"504";i:3;s:3:"562";}}s:1:"I";a:4:{s:1:"C";s:2:"73";s:2:"WX";s:3:"600";s:1:"N";s:1:"I";s:1:"B";a:4:{i:0;s:2:"96";i:1;s:1:"0";i:2;s:3:"504";i:3;s:3:"562";}}i:74;a:4:{s:1:"C";s:2:"74";s:2:"WX";s:3:"600";s:1:"N";s:1:"J";s:1:"B";a:4:{i:0;s:2:"34";i:1;s:3:"-18";i:2;s:3:"566";i:3;s:3:"562";}}s:1:"J";a:4:{s:1:"C";s:2:"74";s:2:"WX";s:3:"600";s:1:"N";s:1:"J";s:1:"B";a:4:{i:0;s:2:"34";i:1;s:3:"-18";i:2;s:3:"566";i:3;s:3:"562";}}i:75;a:4:{s:1:"C";s:2:"75";s:2:"WX";s:3:"600";s:1:"N";s:1:"K";s:1:"B";a:4:{i:0;s:2:"38";i:1;s:1:"0";i:2;s:3:"582";i:3;s:3:"562";}}s:1:"K";a:4:{s:1:"C";s:2:"75";s:2:"WX";s:3:"600";s:1:"N";s:1:"K";s:1:"B";a:4:{i:0;s:2:"38";i:1;s:1:"0";i:2;s:3:"582";i:3;s:3:"562";}}i:76;a:4:{s:1:"C";s:2:"76";s:2:"WX";s:3:"600";s:1:"N";s:1:"L";s:1:"B";a:4:{i:0;s:2:"47";i:1;s:1:"0";i:2;s:3:"554";i:3;s:3:"562";}}s:1:"L";a:4:{s:1:"C";s:2:"76";s:2:"WX";s:3:"600";s:1:"N";s:1:"L";s:1:"B";a:4:{i:0;s:2:"47";i:1;s:1:"0";i:2;s:3:"554";i:3;s:3:"562";}}i:77;a:4:{s:1:"C";s:2:"77";s:2:"WX";s:3:"600";s:1:"N";s:1:"M";s:1:"B";a:4:{i:0;s:1:"4";i:1;s:1:"0";i:2;s:3:"596";i:3;s:3:"562";}}s:1:"M";a:4:{s:1:"C";s:2:"77";s:2:"WX";s:3:"600";s:1:"N";s:1:"M";s:1:"B";a:4:{i:0;s:1:"4";i:1;s:1:"0";i:2;s:3:"596";i:3;s:3:"562";}}i:78;a:4:{s:1:"C";s:2:"78";s:2:"WX";s:3:"600";s:1:"N";s:1:"N";s:1:"B";a:4:{i:0;s:1:"7";i:1;s:3:"-13";i:2;s:3:"593";i:3;s:3:"562";}}s:1:"N";a:4:{s:1:"C";s:2:"78";s:2:"WX";s:3:"600";s:1:"N";s:1:"N";s:1:"B";a:4:{i:0;s:1:"7";i:1;s:3:"-13";i:2;s:3:"593";i:3;s:3:"562";}}i:79;a:4:{s:1:"C";s:2:"79";s:2:"WX";s:3:"600";s:1:"N";s:1:"O";s:1:"B";a:4:{i:0;s:2:"43";i:1;s:3:"-18";i:2;s:3:"557";i:3;s:3:"580";}}s:1:"O";a:4:{s:1:"C";s:2:"79";s:2:"WX";s:3:"600";s:1:"N";s:1:"O";s:1:"B";a:4:{i:0;s:2:"43";i:1;s:3:"-18";i:2;s:3:"557";i:3;s:3:"580";}}i:80;a:4:{s:1:"C";s:2:"80";s:2:"WX";s:3:"600";s:1:"N";s:1:"P";s:1:"B";a:4:{i:0;s:2:"79";i:1;s:1:"0";i:2;s:3:"558";i:3;s:3:"562";}}s:1:"P";a:4:{s:1:"C";s:2:"80";s:2:"WX";s:3:"600";s:1:"N";s:1:"P";s:1:"B";a:4:{i:0;s:2:"79";i:1;s:1:"0";i:2;s:3:"558";i:3;s:3:"562";}}i:81;a:4:{s:1:"C";s:2:"81";s:2:"WX";s:3:"600";s:1:"N";s:1:"Q";s:1:"B";a:4:{i:0;s:2:"43";i:1;s:4:"-138";i:2;s:3:"557";i:3;s:3:"580";}}s:1:"Q";a:4:{s:1:"C";s:2:"81";s:2:"WX";s:3:"600";s:1:"N";s:1:"Q";s:1:"B";a:4:{i:0;s:2:"43";i:1;s:4:"-138";i:2;s:3:"557";i:3;s:3:"580";}}i:82;a:4:{s:1:"C";s:2:"82";s:2:"WX";s:3:"600";s:1:"N";s:1:"R";s:1:"B";a:4:{i:0;s:2:"38";i:1;s:1:"0";i:2;s:3:"588";i:3;s:3:"562";}}s:1:"R";a:4:{s:1:"C";s:2:"82";s:2:"WX";s:3:"600";s:1:"N";s:1:"R";s:1:"B";a:4:{i:0;s:2:"38";i:1;s:1:"0";i:2;s:3:"588";i:3;s:3:"562";}}i:83;a:4:{s:1:"C";s:2:"83";s:2:"WX";s:3:"600";s:1:"N";s:1:"S";s:1:"B";a:4:{i:0;s:2:"72";i:1;s:3:"-20";i:2;s:3:"529";i:3;s:3:"580";}}s:1:"S";a:4:{s:1:"C";s:2:"83";s:2:"WX";s:3:"600";s:1:"N";s:1:"S";s:1:"B";a:4:{i:0;s:2:"72";i:1;s:3:"-20";i:2;s:3:"529";i:3;s:3:"580";}}i:84;a:4:{s:1:"C";s:2:"84";s:2:"WX";s:3:"600";s:1:"N";s:1:"T";s:1:"B";a:4:{i:0;s:2:"38";i:1;s:1:"0";i:2;s:3:"563";i:3;s:3:"562";}}s:1:"T";a:4:{s:1:"C";s:2:"84";s:2:"WX";s:3:"600";s:1:"N";s:1:"T";s:1:"B";a:4:{i:0;s:2:"38";i:1;s:1:"0";i:2;s:3:"563";i:3;s:3:"562";}}i:85;a:4:{s:1:"C";s:2:"85";s:2:"WX";s:3:"600";s:1:"N";s:1:"U";s:1:"B";a:4:{i:0;s:2:"17";i:1;s:3:"-18";i:2;s:3:"583";i:3;s:3:"562";}}s:1:"U";a:4:{s:1:"C";s:2:"85";s:2:"WX";s:3:"600";s:1:"N";s:1:"U";s:1:"B";a:4:{i:0;s:2:"17";i:1;s:3:"-18";i:2;s:3:"583";i:3;s:3:"562";}}i:86;a:4:{s:1:"C";s:2:"86";s:2:"WX";s:3:"600";s:1:"N";s:1:"V";s:1:"B";a:4:{i:0;s:2:"-4";i:1;s:3:"-13";i:2;s:3:"604";i:3;s:3:"562";}}s:1:"V";a:4:{s:1:"C";s:2:"86";s:2:"WX";s:3:"600";s:1:"N";s:1:"V";s:1:"B";a:4:{i:0;s:2:"-4";i:1;s:3:"-13";i:2;s:3:"604";i:3;s:3:"562";}}i:87;a:4:{s:1:"C";s:2:"87";s:2:"WX";s:3:"600";s:1:"N";s:1:"W";s:1:"B";a:4:{i:0;s:2:"-3";i:1;s:3:"-13";i:2;s:3:"603";i:3;s:3:"562";}}s:1:"W";a:4:{s:1:"C";s:2:"87";s:2:"WX";s:3:"600";s:1:"N";s:1:"W";s:1:"B";a:4:{i:0;s:2:"-3";i:1;s:3:"-13";i:2;s:3:"603";i:3;s:3:"562";}}i:88;a:4:{s:1:"C";s:2:"88";s:2:"WX";s:3:"600";s:1:"N";s:1:"X";s:1:"B";a:4:{i:0;s:2:"23";i:1;s:1:"0";i:2;s:3:"577";i:3;s:3:"562";}}s:1:"X";a:4:{s:1:"C";s:2:"88";s:2:"WX";s:3:"600";s:1:"N";s:1:"X";s:1:"B";a:4:{i:0;s:2:"23";i:1;s:1:"0";i:2;s:3:"577";i:3;s:3:"562";}}i:89;a:4:{s:1:"C";s:2:"89";s:2:"WX";s:3:"600";s:1:"N";s:1:"Y";s:1:"B";a:4:{i:0;s:2:"24";i:1;s:1:"0";i:2;s:3:"576";i:3;s:3:"562";}}s:1:"Y";a:4:{s:1:"C";s:2:"89";s:2:"WX";s:3:"600";s:1:"N";s:1:"Y";s:1:"B";a:4:{i:0;s:2:"24";i:1;s:1:"0";i:2;s:3:"576";i:3;s:3:"562";}}i:90;a:4:{s:1:"C";s:2:"90";s:2:"WX";s:3:"600";s:1:"N";s:1:"Z";s:1:"B";a:4:{i:0;s:2:"86";i:1;s:1:"0";i:2;s:3:"514";i:3;s:3:"562";}}s:1:"Z";a:4:{s:1:"C";s:2:"90";s:2:"WX";s:3:"600";s:1:"N";s:1:"Z";s:1:"B";a:4:{i:0;s:2:"86";i:1;s:1:"0";i:2;s:3:"514";i:3;s:3:"562";}}i:91;a:4:{s:1:"C";s:2:"91";s:2:"WX";s:3:"600";s:1:"N";s:11:"bracketleft";s:1:"B";a:4:{i:0;s:3:"269";i:1;s:4:"-108";i:2;s:3:"442";i:3;s:3:"622";}}s:11:"bracketleft";a:4:{s:1:"C";s:2:"91";s:2:"WX";s:3:"600";s:1:"N";s:11:"bracketleft";s:1:"B";a:4:{i:0;s:3:"269";i:1;s:4:"-108";i:2;s:3:"442";i:3;s:3:"622";}}i:92;a:4:{s:1:"C";s:2:"92";s:2:"WX";s:3:"600";s:1:"N";s:9:"backslash";s:1:"B";a:4:{i:0;s:3:"118";i:1;s:3:"-80";i:2;s:3:"482";i:3;s:3:"629";}}s:9:"backslash";a:4:{s:1:"C";s:2:"92";s:2:"WX";s:3:"600";s:1:"N";s:9:"backslash";s:1:"B";a:4:{i:0;s:3:"118";i:1;s:3:"-80";i:2;s:3:"482";i:3;s:3:"629";}}i:93;a:4:{s:1:"C";s:2:"93";s:2:"WX";s:3:"600";s:1:"N";s:12:"bracketright";s:1:"B";a:4:{i:0;s:3:"158";i:1;s:4:"-108";i:2;s:3:"331";i:3;s:3:"622";}}s:12:"bracketright";a:4:{s:1:"C";s:2:"93";s:2:"WX";s:3:"600";s:1:"N";s:12:"bracketright";s:1:"B";a:4:{i:0;s:3:"158";i:1;s:4:"-108";i:2;s:3:"331";i:3;s:3:"622";}}i:94;a:4:{s:1:"C";s:2:"94";s:2:"WX";s:3:"600";s:1:"N";s:11:"asciicircum";s:1:"B";a:4:{i:0;s:2:"94";i:1;s:3:"354";i:2;s:3:"506";i:3;s:3:"622";}}s:11:"asciicircum";a:4:{s:1:"C";s:2:"94";s:2:"WX";s:3:"600";s:1:"N";s:11:"asciicircum";s:1:"B";a:4:{i:0;s:2:"94";i:1;s:3:"354";i:2;s:3:"506";i:3;s:3:"622";}}i:95;a:4:{s:1:"C";s:2:"95";s:2:"WX";s:3:"600";s:1:"N";s:10:"underscore";s:1:"B";a:4:{i:0;s:1:"0";i:1;s:4:"-125";i:2;s:3:"600";i:3;s:3:"-75";}}s:10:"underscore";a:4:{s:1:"C";s:2:"95";s:2:"WX";s:3:"600";s:1:"N";s:10:"underscore";s:1:"B";a:4:{i:0;s:1:"0";i:1;s:4:"-125";i:2;s:3:"600";i:3;s:3:"-75";}}i:96;a:4:{s:1:"C";s:2:"96";s:2:"WX";s:3:"600";s:1:"N";s:9:"quoteleft";s:1:"B";a:4:{i:0;s:3:"224";i:1;s:3:"328";i:2;s:3:"387";i:3;s:3:"562";}}s:9:"quoteleft";a:4:{s:1:"C";s:2:"96";s:2:"WX";s:3:"600";s:1:"N";s:9:"quoteleft";s:1:"B";a:4:{i:0;s:3:"224";i:1;s:3:"328";i:2;s:3:"387";i:3;s:3:"562";}}i:97;a:4:{s:1:"C";s:2:"97";s:2:"WX";s:3:"600";s:1:"N";s:1:"a";s:1:"B";a:4:{i:0;s:2:"53";i:1;s:3:"-15";i:2;s:3:"559";i:3;s:3:"441";}}s:1:"a";a:4:{s:1:"C";s:2:"97";s:2:"WX";s:3:"600";s:1:"N";s:1:"a";s:1:"B";a:4:{i:0;s:2:"53";i:1;s:3:"-15";i:2;s:3:"559";i:3;s:3:"441";}}i:98;a:4:{s:1:"C";s:2:"98";s:2:"WX";s:3:"600";s:1:"N";s:1:"b";s:1:"B";a:4:{i:0;s:2:"14";i:1;s:3:"-15";i:2;s:3:"575";i:3;s:3:"629";}}s:1:"b";a:4:{s:1:"C";s:2:"98";s:2:"WX";s:3:"600";s:1:"N";s:1:"b";s:1:"B";a:4:{i:0;s:2:"14";i:1;s:3:"-15";i:2;s:3:"575";i:3;s:3:"629";}}i:99;a:4:{s:1:"C";s:2:"99";s:2:"WX";s:3:"600";s:1:"N";s:1:"c";s:1:"B";a:4:{i:0;s:2:"66";i:1;s:3:"-15";i:2;s:3:"529";i:3;s:3:"441";}}s:1:"c";a:4:{s:1:"C";s:2:"99";s:2:"WX";s:3:"600";s:1:"N";s:1:"c";s:1:"B";a:4:{i:0;s:2:"66";i:1;s:3:"-15";i:2;s:3:"529";i:3;s:3:"441";}}i:100;a:4:{s:1:"C";s:3:"100";s:2:"WX";s:3:"600";s:1:"N";s:1:"d";s:1:"B";a:4:{i:0;s:2:"45";i:1;s:3:"-15";i:2;s:3:"591";i:3;s:3:"629";}}s:1:"d";a:4:{s:1:"C";s:3:"100";s:2:"WX";s:3:"600";s:1:"N";s:1:"d";s:1:"B";a:4:{i:0;s:2:"45";i:1;s:3:"-15";i:2;s:3:"591";i:3;s:3:"629";}}i:101;a:4:{s:1:"C";s:3:"101";s:2:"WX";s:3:"600";s:1:"N";s:1:"e";s:1:"B";a:4:{i:0;s:2:"66";i:1;s:3:"-15";i:2;s:3:"548";i:3;s:3:"441";}}s:1:"e";a:4:{s:1:"C";s:3:"101";s:2:"WX";s:3:"600";s:1:"N";s:1:"e";s:1:"B";a:4:{i:0;s:2:"66";i:1;s:3:"-15";i:2;s:3:"548";i:3;s:3:"441";}}i:102;a:5:{s:1:"C";s:3:"102";s:2:"WX";s:3:"600";s:1:"N";s:1:"f";s:1:"B";a:4:{i:0;s:3:"114";i:1;s:1:"0";i:2;s:3:"531";i:3;s:3:"629";}s:1:"L";a:2:{i:0;s:1:"l";i:1;s:2:"fl";}}s:1:"f";a:5:{s:1:"C";s:3:"102";s:2:"WX";s:3:"600";s:1:"N";s:1:"f";s:1:"B";a:4:{i:0;s:3:"114";i:1;s:1:"0";i:2;s:3:"531";i:3;s:3:"629";}s:1:"L";a:2:{i:0;s:1:"l";i:1;s:2:"fl";}}i:103;a:4:{s:1:"C";s:3:"103";s:2:"WX";s:3:"600";s:1:"N";s:1:"g";s:1:"B";a:4:{i:0;s:2:"45";i:1;s:4:"-157";i:2;s:3:"566";i:3;s:3:"441";}}s:1:"g";a:4:{s:1:"C";s:3:"103";s:2:"WX";s:3:"600";s:1:"N";s:1:"g";s:1:"B";a:4:{i:0;s:2:"45";i:1;s:4:"-157";i:2;s:3:"566";i:3;s:3:"441";}}i:104;a:4:{s:1:"C";s:3:"104";s:2:"WX";s:3:"600";s:1:"N";s:1:"h";s:1:"B";a:4:{i:0;s:2:"18";i:1;s:1:"0";i:2;s:3:"582";i:3;s:3:"629";}}s:1:"h";a:4:{s:1:"C";s:3:"104";s:2:"WX";s:3:"600";s:1:"N";s:1:"h";s:1:"B";a:4:{i:0;s:2:"18";i:1;s:1:"0";i:2;s:3:"582";i:3;s:3:"629";}}i:105;a:4:{s:1:"C";s:3:"105";s:2:"WX";s:3:"600";s:1:"N";s:1:"i";s:1:"B";a:4:{i:0;s:2:"95";i:1;s:1:"0";i:2;s:3:"505";i:3;s:3:"657";}}s:1:"i";a:4:{s:1:"C";s:3:"105";s:2:"WX";s:3:"600";s:1:"N";s:1:"i";s:1:"B";a:4:{i:0;s:2:"95";i:1;s:1:"0";i:2;s:3:"505";i:3;s:3:"657";}}i:106;a:4:{s:1:"C";s:3:"106";s:2:"WX";s:3:"600";s:1:"N";s:1:"j";s:1:"B";a:4:{i:0;s:2:"82";i:1;s:4:"-157";i:2;s:3:"410";i:3;s:3:"657";}}s:1:"j";a:4:{s:1:"C";s:3:"106";s:2:"WX";s:3:"600";s:1:"N";s:1:"j";s:1:"B";a:4:{i:0;s:2:"82";i:1;s:4:"-157";i:2;s:3:"410";i:3;s:3:"657";}}i:107;a:4:{s:1:"C";s:3:"107";s:2:"WX";s:3:"600";s:1:"N";s:1:"k";s:1:"B";a:4:{i:0;s:2:"43";i:1;s:1:"0";i:2;s:3:"580";i:3;s:3:"629";}}s:1:"k";a:4:{s:1:"C";s:3:"107";s:2:"WX";s:3:"600";s:1:"N";s:1:"k";s:1:"B";a:4:{i:0;s:2:"43";i:1;s:1:"0";i:2;s:3:"580";i:3;s:3:"629";}}i:108;a:4:{s:1:"C";s:3:"108";s:2:"WX";s:3:"600";s:1:"N";s:1:"l";s:1:"B";a:4:{i:0;s:2:"95";i:1;s:1:"0";i:2;s:3:"505";i:3;s:3:"629";}}s:1:"l";a:4:{s:1:"C";s:3:"108";s:2:"WX";s:3:"600";s:1:"N";s:1:"l";s:1:"B";a:4:{i:0;s:2:"95";i:1;s:1:"0";i:2;s:3:"505";i:3;s:3:"629";}}i:109;a:4:{s:1:"C";s:3:"109";s:2:"WX";s:3:"600";s:1:"N";s:1:"m";s:1:"B";a:4:{i:0;s:2:"-5";i:1;s:1:"0";i:2;s:3:"605";i:3;s:3:"441";}}s:1:"m";a:4:{s:1:"C";s:3:"109";s:2:"WX";s:3:"600";s:1:"N";s:1:"m";s:1:"B";a:4:{i:0;s:2:"-5";i:1;s:1:"0";i:2;s:3:"605";i:3;s:3:"441";}}i:110;a:4:{s:1:"C";s:3:"110";s:2:"WX";s:3:"600";s:1:"N";s:1:"n";s:1:"B";a:4:{i:0;s:2:"26";i:1;s:1:"0";i:2;s:3:"575";i:3;s:3:"441";}}s:1:"n";a:4:{s:1:"C";s:3:"110";s:2:"WX";s:3:"600";s:1:"N";s:1:"n";s:1:"B";a:4:{i:0;s:2:"26";i:1;s:1:"0";i:2;s:3:"575";i:3;s:3:"441";}}i:111;a:4:{s:1:"C";s:3:"111";s:2:"WX";s:3:"600";s:1:"N";s:1:"o";s:1:"B";a:4:{i:0;s:2:"62";i:1;s:3:"-15";i:2;s:3:"538";i:3;s:3:"441";}}s:1:"o";a:4:{s:1:"C";s:3:"111";s:2:"WX";s:3:"600";s:1:"N";s:1:"o";s:1:"B";a:4:{i:0;s:2:"62";i:1;s:3:"-15";i:2;s:3:"538";i:3;s:3:"441";}}i:112;a:4:{s:1:"C";s:3:"112";s:2:"WX";s:3:"600";s:1:"N";s:1:"p";s:1:"B";a:4:{i:0;s:1:"9";i:1;s:4:"-157";i:2;s:3:"555";i:3;s:3:"441";}}s:1:"p";a:4:{s:1:"C";s:3:"112";s:2:"WX";s:3:"600";s:1:"N";s:1:"p";s:1:"B";a:4:{i:0;s:1:"9";i:1;s:4:"-157";i:2;s:3:"555";i:3;s:3:"441";}}i:113;a:4:{s:1:"C";s:3:"113";s:2:"WX";s:3:"600";s:1:"N";s:1:"q";s:1:"B";a:4:{i:0;s:2:"45";i:1;s:4:"-157";i:2;s:3:"591";i:3;s:3:"441";}}s:1:"q";a:4:{s:1:"C";s:3:"113";s:2:"WX";s:3:"600";s:1:"N";s:1:"q";s:1:"B";a:4:{i:0;s:2:"45";i:1;s:4:"-157";i:2;s:3:"591";i:3;s:3:"441";}}i:114;a:4:{s:1:"C";s:3:"114";s:2:"WX";s:3:"600";s:1:"N";s:1:"r";s:1:"B";a:4:{i:0;s:2:"60";i:1;s:1:"0";i:2;s:3:"559";i:3;s:3:"441";}}s:1:"r";a:4:{s:1:"C";s:3:"114";s:2:"WX";s:3:"600";s:1:"N";s:1:"r";s:1:"B";a:4:{i:0;s:2:"60";i:1;s:1:"0";i:2;s:3:"559";i:3;s:3:"441";}}i:115;a:4:{s:1:"C";s:3:"115";s:2:"WX";s:3:"600";s:1:"N";s:1:"s";s:1:"B";a:4:{i:0;s:2:"80";i:1;s:3:"-15";i:2;s:3:"513";i:3;s:3:"441";}}s:1:"s";a:4:{s:1:"C";s:3:"115";s:2:"WX";s:3:"600";s:1:"N";s:1:"s";s:1:"B";a:4:{i:0;s:2:"80";i:1;s:3:"-15";i:2;s:3:"513";i:3;s:3:"441";}}i:116;a:4:{s:1:"C";s:3:"116";s:2:"WX";s:3:"600";s:1:"N";s:1:"t";s:1:"B";a:4:{i:0;s:2:"87";i:1;s:3:"-15";i:2;s:3:"530";i:3;s:3:"561";}}s:1:"t";a:4:{s:1:"C";s:3:"116";s:2:"WX";s:3:"600";s:1:"N";s:1:"t";s:1:"B";a:4:{i:0;s:2:"87";i:1;s:3:"-15";i:2;s:3:"530";i:3;s:3:"561";}}i:117;a:4:{s:1:"C";s:3:"117";s:2:"WX";s:3:"600";s:1:"N";s:1:"u";s:1:"B";a:4:{i:0;s:2:"21";i:1;s:3:"-15";i:2;s:3:"562";i:3;s:3:"426";}}s:1:"u";a:4:{s:1:"C";s:3:"117";s:2:"WX";s:3:"600";s:1:"N";s:1:"u";s:1:"B";a:4:{i:0;s:2:"21";i:1;s:3:"-15";i:2;s:3:"562";i:3;s:3:"426";}}i:118;a:4:{s:1:"C";s:3:"118";s:2:"WX";s:3:"600";s:1:"N";s:1:"v";s:1:"B";a:4:{i:0;s:2:"10";i:1;s:3:"-10";i:2;s:3:"590";i:3;s:3:"426";}}s:1:"v";a:4:{s:1:"C";s:3:"118";s:2:"WX";s:3:"600";s:1:"N";s:1:"v";s:1:"B";a:4:{i:0;s:2:"10";i:1;s:3:"-10";i:2;s:3:"590";i:3;s:3:"426";}}i:119;a:4:{s:1:"C";s:3:"119";s:2:"WX";s:3:"600";s:1:"N";s:1:"w";s:1:"B";a:4:{i:0;s:2:"-4";i:1;s:3:"-10";i:2;s:3:"604";i:3;s:3:"426";}}s:1:"w";a:4:{s:1:"C";s:3:"119";s:2:"WX";s:3:"600";s:1:"N";s:1:"w";s:1:"B";a:4:{i:0;s:2:"-4";i:1;s:3:"-10";i:2;s:3:"604";i:3;s:3:"426";}}i:120;a:4:{s:1:"C";s:3:"120";s:2:"WX";s:3:"600";s:1:"N";s:1:"x";s:1:"B";a:4:{i:0;s:2:"20";i:1;s:1:"0";i:2;s:3:"580";i:3;s:3:"426";}}s:1:"x";a:4:{s:1:"C";s:3:"120";s:2:"WX";s:3:"600";s:1:"N";s:1:"x";s:1:"B";a:4:{i:0;s:2:"20";i:1;s:1:"0";i:2;s:3:"580";i:3;s:3:"426";}}i:121;a:4:{s:1:"C";s:3:"121";s:2:"WX";s:3:"600";s:1:"N";s:1:"y";s:1:"B";a:4:{i:0;s:1:"7";i:1;s:4:"-157";i:2;s:3:"592";i:3;s:3:"426";}}s:1:"y";a:4:{s:1:"C";s:3:"121";s:2:"WX";s:3:"600";s:1:"N";s:1:"y";s:1:"B";a:4:{i:0;s:1:"7";i:1;s:4:"-157";i:2;s:3:"592";i:3;s:3:"426";}}i:122;a:4:{s:1:"C";s:3:"122";s:2:"WX";s:3:"600";s:1:"N";s:1:"z";s:1:"B";a:4:{i:0;s:2:"99";i:1;s:1:"0";i:2;s:3:"502";i:3;s:3:"426";}}s:1:"z";a:4:{s:1:"C";s:3:"122";s:2:"WX";s:3:"600";s:1:"N";s:1:"z";s:1:"B";a:4:{i:0;s:2:"99";i:1;s:1:"0";i:2;s:3:"502";i:3;s:3:"426";}}i:123;a:4:{s:1:"C";s:3:"123";s:2:"WX";s:3:"600";s:1:"N";s:9:"braceleft";s:1:"B";a:4:{i:0;s:3:"182";i:1;s:4:"-108";i:2;s:3:"437";i:3;s:3:"622";}}s:9:"braceleft";a:4:{s:1:"C";s:3:"123";s:2:"WX";s:3:"600";s:1:"N";s:9:"braceleft";s:1:"B";a:4:{i:0;s:3:"182";i:1;s:4:"-108";i:2;s:3:"437";i:3;s:3:"622";}}i:124;a:4:{s:1:"C";s:3:"124";s:2:"WX";s:3:"600";s:1:"N";s:3:"bar";s:1:"B";a:4:{i:0;s:3:"275";i:1;s:4:"-250";i:2;s:3:"326";i:3;s:3:"750";}}s:3:"bar";a:4:{s:1:"C";s:3:"124";s:2:"WX";s:3:"600";s:1:"N";s:3:"bar";s:1:"B";a:4:{i:0;s:3:"275";i:1;s:4:"-250";i:2;s:3:"326";i:3;s:3:"750";}}i:125;a:4:{s:1:"C";s:3:"125";s:2:"WX";s:3:"600";s:1:"N";s:10:"braceright";s:1:"B";a:4:{i:0;s:3:"163";i:1;s:4:"-108";i:2;s:3:"418";i:3;s:3:"622";}}s:10:"braceright";a:4:{s:1:"C";s:3:"125";s:2:"WX";s:3:"600";s:1:"N";s:10:"braceright";s:1:"B";a:4:{i:0;s:3:"163";i:1;s:4:"-108";i:2;s:3:"418";i:3;s:3:"622";}}i:126;a:4:{s:1:"C";s:3:"126";s:2:"WX";s:3:"600";s:1:"N";s:10:"asciitilde";s:1:"B";a:4:{i:0;s:2:"63";i:1;s:3:"197";i:2;s:3:"540";i:3;s:3:"320";}}s:10:"asciitilde";a:4:{s:1:"C";s:3:"126";s:2:"WX";s:3:"600";s:1:"N";s:10:"asciitilde";s:1:"B";a:4:{i:0;s:2:"63";i:1;s:3:"197";i:2;s:3:"540";i:3;s:3:"320";}}i:161;a:4:{s:1:"C";s:3:"161";s:2:"WX";s:3:"600";s:1:"N";s:10:"exclamdown";s:1:"B";a:4:{i:0;s:3:"236";i:1;s:4:"-157";i:2;s:3:"364";i:3;s:3:"430";}}s:10:"exclamdown";a:4:{s:1:"C";s:3:"161";s:2:"WX";s:3:"600";s:1:"N";s:10:"exclamdown";s:1:"B";a:4:{i:0;s:3:"236";i:1;s:4:"-157";i:2;s:3:"364";i:3;s:3:"430";}}i:162;a:4:{s:1:"C";s:3:"162";s:2:"WX";s:3:"600";s:1:"N";s:4:"cent";s:1:"B";a:4:{i:0;s:2:"96";i:1;s:3:"-49";i:2;s:3:"500";i:3;s:3:"614";}}s:4:"cent";a:4:{s:1:"C";s:3:"162";s:2:"WX";s:3:"600";s:1:"N";s:4:"cent";s:1:"B";a:4:{i:0;s:2:"96";i:1;s:3:"-49";i:2;s:3:"500";i:3;s:3:"614";}}i:163;a:4:{s:1:"C";s:3:"163";s:2:"WX";s:3:"600";s:1:"N";s:8:"sterling";s:1:"B";a:4:{i:0;s:2:"84";i:1;s:3:"-21";i:2;s:3:"521";i:3;s:3:"611";}}s:8:"sterling";a:4:{s:1:"C";s:3:"163";s:2:"WX";s:3:"600";s:1:"N";s:8:"sterling";s:1:"B";a:4:{i:0;s:2:"84";i:1;s:3:"-21";i:2;s:3:"521";i:3;s:3:"611";}}i:164;a:4:{s:1:"C";s:3:"164";s:2:"WX";s:3:"600";s:1:"N";s:8:"fraction";s:1:"B";a:4:{i:0;s:2:"92";i:1;s:3:"-57";i:2;s:3:"509";i:3;s:3:"665";}}s:8:"fraction";a:4:{s:1:"C";s:3:"164";s:2:"WX";s:3:"600";s:1:"N";s:8:"fraction";s:1:"B";a:4:{i:0;s:2:"92";i:1;s:3:"-57";i:2;s:3:"509";i:3;s:3:"665";}}i:165;a:4:{s:1:"C";s:3:"165";s:2:"WX";s:3:"600";s:1:"N";s:3:"yen";s:1:"B";a:4:{i:0;s:2:"26";i:1;s:1:"0";i:2;s:3:"574";i:3;s:3:"562";}}s:3:"yen";a:4:{s:1:"C";s:3:"165";s:2:"WX";s:3:"600";s:1:"N";s:3:"yen";s:1:"B";a:4:{i:0;s:2:"26";i:1;s:1:"0";i:2;s:3:"574";i:3;s:3:"562";}}i:166;a:4:{s:1:"C";s:3:"166";s:2:"WX";s:3:"600";s:1:"N";s:6:"florin";s:1:"B";a:4:{i:0;s:1:"4";i:1;s:4:"-143";i:2;s:3:"539";i:3;s:3:"622";}}s:6:"florin";a:4:{s:1:"C";s:3:"166";s:2:"WX";s:3:"600";s:1:"N";s:6:"florin";s:1:"B";a:4:{i:0;s:1:"4";i:1;s:4:"-143";i:2;s:3:"539";i:3;s:3:"622";}}i:167;a:4:{s:1:"C";s:3:"167";s:2:"WX";s:3:"600";s:1:"N";s:7:"section";s:1:"B";a:4:{i:0;s:3:"113";i:1;s:3:"-78";i:2;s:3:"488";i:3;s:3:"580";}}s:7:"section";a:4:{s:1:"C";s:3:"167";s:2:"WX";s:3:"600";s:1:"N";s:7:"section";s:1:"B";a:4:{i:0;s:3:"113";i:1;s:3:"-78";i:2;s:3:"488";i:3;s:3:"580";}}i:168;a:4:{s:1:"C";s:3:"168";s:2:"WX";s:3:"600";s:1:"N";s:8:"currency";s:1:"B";a:4:{i:0;s:2:"73";i:1;s:2:"58";i:2;s:3:"527";i:3;s:3:"506";}}s:8:"currency";a:4:{s:1:"C";s:3:"168";s:2:"WX";s:3:"600";s:1:"N";s:8:"currency";s:1:"B";a:4:{i:0;s:2:"73";i:1;s:2:"58";i:2;s:3:"527";i:3;s:3:"506";}}i:169;a:4:{s:1:"C";s:3:"169";s:2:"WX";s:3:"600";s:1:"N";s:11:"quotesingle";s:1:"B";a:4:{i:0;s:3:"259";i:1;s:3:"328";i:2;s:3:"341";i:3;s:3:"562";}}s:11:"quotesingle";a:4:{s:1:"C";s:3:"169";s:2:"WX";s:3:"600";s:1:"N";s:11:"quotesingle";s:1:"B";a:4:{i:0;s:3:"259";i:1;s:3:"328";i:2;s:3:"341";i:3;s:3:"562";}}i:170;a:4:{s:1:"C";s:3:"170";s:2:"WX";s:3:"600";s:1:"N";s:12:"quotedblleft";s:1:"B";a:4:{i:0;s:3:"143";i:1;s:3:"328";i:2;s:3:"471";i:3;s:3:"562";}}s:12:"quotedblleft";a:4:{s:1:"C";s:3:"170";s:2:"WX";s:3:"600";s:1:"N";s:12:"quotedblleft";s:1:"B";a:4:{i:0;s:3:"143";i:1;s:3:"328";i:2;s:3:"471";i:3;s:3:"562";}}i:171;a:4:{s:1:"C";s:3:"171";s:2:"WX";s:3:"600";s:1:"N";s:13:"guillemotleft";s:1:"B";a:4:{i:0;s:2:"37";i:1;s:2:"70";i:2;s:3:"563";i:3;s:3:"446";}}s:13:"guillemotleft";a:4:{s:1:"C";s:3:"171";s:2:"WX";s:3:"600";s:1:"N";s:13:"guillemotleft";s:1:"B";a:4:{i:0;s:2:"37";i:1;s:2:"70";i:2;s:3:"563";i:3;s:3:"446";}}i:172;a:4:{s:1:"C";s:3:"172";s:2:"WX";s:3:"600";s:1:"N";s:13:"guilsinglleft";s:1:"B";a:4:{i:0;s:3:"149";i:1;s:2:"70";i:2;s:3:"451";i:3;s:3:"446";}}s:13:"guilsinglleft";a:4:{s:1:"C";s:3:"172";s:2:"WX";s:3:"600";s:1:"N";s:13:"guilsinglleft";s:1:"B";a:4:{i:0;s:3:"149";i:1;s:2:"70";i:2;s:3:"451";i:3;s:3:"446";}}i:173;a:4:{s:1:"C";s:3:"173";s:2:"WX";s:3:"600";s:1:"N";s:14:"guilsinglright";s:1:"B";a:4:{i:0;s:3:"149";i:1;s:2:"70";i:2;s:3:"451";i:3;s:3:"446";}}s:14:"guilsinglright";a:4:{s:1:"C";s:3:"173";s:2:"WX";s:3:"600";s:1:"N";s:14:"guilsinglright";s:1:"B";a:4:{i:0;s:3:"149";i:1;s:2:"70";i:2;s:3:"451";i:3;s:3:"446";}}i:174;a:4:{s:1:"C";s:3:"174";s:2:"WX";s:3:"600";s:1:"N";s:2:"fi";s:1:"B";a:4:{i:0;s:1:"3";i:1;s:1:"0";i:2;s:3:"597";i:3;s:3:"629";}}s:2:"fi";a:4:{s:1:"C";s:3:"174";s:2:"WX";s:3:"600";s:1:"N";s:2:"fi";s:1:"B";a:4:{i:0;s:1:"3";i:1;s:1:"0";i:2;s:3:"597";i:3;s:3:"629";}}i:175;a:4:{s:1:"C";s:3:"175";s:2:"WX";s:3:"600";s:1:"N";s:2:"fl";s:1:"B";a:4:{i:0;s:1:"3";i:1;s:1:"0";i:2;s:3:"597";i:3;s:3:"629";}}s:2:"fl";a:4:{s:1:"C";s:3:"175";s:2:"WX";s:3:"600";s:1:"N";s:2:"fl";s:1:"B";a:4:{i:0;s:1:"3";i:1;s:1:"0";i:2;s:3:"597";i:3;s:3:"629";}}i:177;a:4:{s:1:"C";s:3:"177";s:2:"WX";s:3:"600";s:1:"N";s:6:"endash";s:1:"B";a:4:{i:0;s:2:"75";i:1;s:3:"231";i:2;s:3:"525";i:3;s:3:"285";}}s:6:"endash";a:4:{s:1:"C";s:3:"177";s:2:"WX";s:3:"600";s:1:"N";s:6:"endash";s:1:"B";a:4:{i:0;s:2:"75";i:1;s:3:"231";i:2;s:3:"525";i:3;s:3:"285";}}i:178;a:4:{s:1:"C";s:3:"178";s:2:"WX";s:3:"600";s:1:"N";s:6:"dagger";s:1:"B";a:4:{i:0;s:3:"141";i:1;s:3:"-78";i:2;s:3:"459";i:3;s:3:"580";}}s:6:"dagger";a:4:{s:1:"C";s:3:"178";s:2:"WX";s:3:"600";s:1:"N";s:6:"dagger";s:1:"B";a:4:{i:0;s:3:"141";i:1;s:3:"-78";i:2;s:3:"459";i:3;s:3:"580";}}i:179;a:4:{s:1:"C";s:3:"179";s:2:"WX";s:3:"600";s:1:"N";s:9:"daggerdbl";s:1:"B";a:4:{i:0;s:3:"141";i:1;s:3:"-78";i:2;s:3:"459";i:3;s:3:"580";}}s:9:"daggerdbl";a:4:{s:1:"C";s:3:"179";s:2:"WX";s:3:"600";s:1:"N";s:9:"daggerdbl";s:1:"B";a:4:{i:0;s:3:"141";i:1;s:3:"-78";i:2;s:3:"459";i:3;s:3:"580";}}i:180;a:4:{s:1:"C";s:3:"180";s:2:"WX";s:3:"600";s:1:"N";s:14:"periodcentered";s:1:"B";a:4:{i:0;s:3:"222";i:1;s:3:"189";i:2;s:3:"378";i:3;s:3:"327";}}s:14:"periodcentered";a:4:{s:1:"C";s:3:"180";s:2:"WX";s:3:"600";s:1:"N";s:14:"periodcentered";s:1:"B";a:4:{i:0;s:3:"222";i:1;s:3:"189";i:2;s:3:"378";i:3;s:3:"327";}}i:182;a:4:{s:1:"C";s:3:"182";s:2:"WX";s:3:"600";s:1:"N";s:9:"paragraph";s:1:"B";a:4:{i:0;s:2:"50";i:1;s:3:"-78";i:2;s:3:"511";i:3;s:3:"562";}}s:9:"paragraph";a:4:{s:1:"C";s:3:"182";s:2:"WX";s:3:"600";s:1:"N";s:9:"paragraph";s:1:"B";a:4:{i:0;s:2:"50";i:1;s:3:"-78";i:2;s:3:"511";i:3;s:3:"562";}}i:183;a:4:{s:1:"C";s:3:"183";s:2:"WX";s:3:"600";s:1:"N";s:6:"bullet";s:1:"B";a:4:{i:0;s:3:"172";i:1;s:3:"130";i:2;s:3:"428";i:3;s:3:"383";}}s:6:"bullet";a:4:{s:1:"C";s:3:"183";s:2:"WX";s:3:"600";s:1:"N";s:6:"bullet";s:1:"B";a:4:{i:0;s:3:"172";i:1;s:3:"130";i:2;s:3:"428";i:3;s:3:"383";}}i:184;a:4:{s:1:"C";s:3:"184";s:2:"WX";s:3:"600";s:1:"N";s:14:"quotesinglbase";s:1:"B";a:4:{i:0;s:3:"213";i:1;s:4:"-134";i:2;s:3:"376";i:3;s:3:"100";}}s:14:"quotesinglbase";a:4:{s:1:"C";s:3:"184";s:2:"WX";s:3:"600";s:1:"N";s:14:"quotesinglbase";s:1:"B";a:4:{i:0;s:3:"213";i:1;s:4:"-134";i:2;s:3:"376";i:3;s:3:"100";}}i:185;a:4:{s:1:"C";s:3:"185";s:2:"WX";s:3:"600";s:1:"N";s:12:"quotedblbase";s:1:"B";a:4:{i:0;s:3:"143";i:1;s:4:"-134";i:2;s:3:"457";i:3;s:3:"100";}}s:12:"quotedblbase";a:4:{s:1:"C";s:3:"185";s:2:"WX";s:3:"600";s:1:"N";s:12:"quotedblbase";s:1:"B";a:4:{i:0;s:3:"143";i:1;s:4:"-134";i:2;s:3:"457";i:3;s:3:"100";}}i:186;a:4:{s:1:"C";s:3:"186";s:2:"WX";s:3:"600";s:1:"N";s:13:"quotedblright";s:1:"B";a:4:{i:0;s:3:"143";i:1;s:3:"328";i:2;s:3:"457";i:3;s:3:"562";}}s:13:"quotedblright";a:4:{s:1:"C";s:3:"186";s:2:"WX";s:3:"600";s:1:"N";s:13:"quotedblright";s:1:"B";a:4:{i:0;s:3:"143";i:1;s:3:"328";i:2;s:3:"457";i:3;s:3:"562";}}i:187;a:4:{s:1:"C";s:3:"187";s:2:"WX";s:3:"600";s:1:"N";s:14:"guillemotright";s:1:"B";a:4:{i:0;s:2:"37";i:1;s:2:"70";i:2;s:3:"563";i:3;s:3:"446";}}s:14:"guillemotright";a:4:{s:1:"C";s:3:"187";s:2:"WX";s:3:"600";s:1:"N";s:14:"guillemotright";s:1:"B";a:4:{i:0;s:2:"37";i:1;s:2:"70";i:2;s:3:"563";i:3;s:3:"446";}}i:188;a:4:{s:1:"C";s:3:"188";s:2:"WX";s:3:"600";s:1:"N";s:8:"ellipsis";s:1:"B";a:4:{i:0;s:2:"37";i:1;s:3:"-15";i:2;s:3:"563";i:3;s:3:"111";}}s:8:"ellipsis";a:4:{s:1:"C";s:3:"188";s:2:"WX";s:3:"600";s:1:"N";s:8:"ellipsis";s:1:"B";a:4:{i:0;s:2:"37";i:1;s:3:"-15";i:2;s:3:"563";i:3;s:3:"111";}}i:189;a:4:{s:1:"C";s:3:"189";s:2:"WX";s:3:"600";s:1:"N";s:11:"perthousand";s:1:"B";a:4:{i:0;s:1:"3";i:1;s:3:"-15";i:2;s:3:"600";i:3;s:3:"622";}}s:11:"perthousand";a:4:{s:1:"C";s:3:"189";s:2:"WX";s:3:"600";s:1:"N";s:11:"perthousand";s:1:"B";a:4:{i:0;s:1:"3";i:1;s:3:"-15";i:2;s:3:"600";i:3;s:3:"622";}}i:191;a:4:{s:1:"C";s:3:"191";s:2:"WX";s:3:"600";s:1:"N";s:12:"questiondown";s:1:"B";a:4:{i:0;s:3:"108";i:1;s:4:"-157";i:2;s:3:"471";i:3;s:3:"430";}}s:12:"questiondown";a:4:{s:1:"C";s:3:"191";s:2:"WX";s:3:"600";s:1:"N";s:12:"questiondown";s:1:"B";a:4:{i:0;s:3:"108";i:1;s:4:"-157";i:2;s:3:"471";i:3;s:3:"430";}}i:193;a:4:{s:1:"C";s:3:"193";s:2:"WX";s:3:"600";s:1:"N";s:5:"grave";s:1:"B";a:4:{i:0;s:3:"151";i:1;s:3:"497";i:2;s:3:"378";i:3;s:3:"672";}}s:5:"grave";a:4:{s:1:"C";s:3:"193";s:2:"WX";s:3:"600";s:1:"N";s:5:"grave";s:1:"B";a:4:{i:0;s:3:"151";i:1;s:3:"497";i:2;s:3:"378";i:3;s:3:"672";}}i:194;a:4:{s:1:"C";s:3:"194";s:2:"WX";s:3:"600";s:1:"N";s:5:"acute";s:1:"B";a:4:{i:0;s:3:"242";i:1;s:3:"497";i:2;s:3:"469";i:3;s:3:"672";}}s:5:"acute";a:4:{s:1:"C";s:3:"194";s:2:"WX";s:3:"600";s:1:"N";s:5:"acute";s:1:"B";a:4:{i:0;s:3:"242";i:1;s:3:"497";i:2;s:3:"469";i:3;s:3:"672";}}i:195;a:4:{s:1:"C";s:3:"195";s:2:"WX";s:3:"600";s:1:"N";s:10:"circumflex";s:1:"B";a:4:{i:0;s:3:"124";i:1;s:3:"477";i:2;s:3:"476";i:3;s:3:"654";}}s:10:"circumflex";a:4:{s:1:"C";s:3:"195";s:2:"WX";s:3:"600";s:1:"N";s:10:"circumflex";s:1:"B";a:4:{i:0;s:3:"124";i:1;s:3:"477";i:2;s:3:"476";i:3;s:3:"654";}}i:196;a:4:{s:1:"C";s:3:"196";s:2:"WX";s:3:"600";s:1:"N";s:5:"tilde";s:1:"B";a:4:{i:0;s:3:"105";i:1;s:3:"489";i:2;s:3:"503";i:3;s:3:"606";}}s:5:"tilde";a:4:{s:1:"C";s:3:"196";s:2:"WX";s:3:"600";s:1:"N";s:5:"tilde";s:1:"B";a:4:{i:0;s:3:"105";i:1;s:3:"489";i:2;s:3:"503";i:3;s:3:"606";}}i:197;a:4:{s:1:"C";s:3:"197";s:2:"WX";s:3:"600";s:1:"N";s:6:"macron";s:1:"B";a:4:{i:0;s:3:"120";i:1;s:3:"525";i:2;s:3:"480";i:3;s:3:"565";}}s:6:"macron";a:4:{s:1:"C";s:3:"197";s:2:"WX";s:3:"600";s:1:"N";s:6:"macron";s:1:"B";a:4:{i:0;s:3:"120";i:1;s:3:"525";i:2;s:3:"480";i:3;s:3:"565";}}i:198;a:4:{s:1:"C";s:3:"198";s:2:"WX";s:3:"600";s:1:"N";s:5:"breve";s:1:"B";a:4:{i:0;s:3:"153";i:1;s:3:"501";i:2;s:3:"447";i:3;s:3:"609";}}s:5:"breve";a:4:{s:1:"C";s:3:"198";s:2:"WX";s:3:"600";s:1:"N";s:5:"breve";s:1:"B";a:4:{i:0;s:3:"153";i:1;s:3:"501";i:2;s:3:"447";i:3;s:3:"609";}}i:199;a:4:{s:1:"C";s:3:"199";s:2:"WX";s:3:"600";s:1:"N";s:9:"dotaccent";s:1:"B";a:4:{i:0;s:3:"249";i:1;s:3:"537";i:2;s:3:"352";i:3;s:3:"640";}}s:9:"dotaccent";a:4:{s:1:"C";s:3:"199";s:2:"WX";s:3:"600";s:1:"N";s:9:"dotaccent";s:1:"B";a:4:{i:0;s:3:"249";i:1;s:3:"537";i:2;s:3:"352";i:3;s:3:"640";}}i:200;a:4:{s:1:"C";s:3:"200";s:2:"WX";s:3:"600";s:1:"N";s:8:"dieresis";s:1:"B";a:4:{i:0;s:3:"148";i:1;s:3:"537";i:2;s:3:"453";i:3;s:3:"640";}}s:8:"dieresis";a:4:{s:1:"C";s:3:"200";s:2:"WX";s:3:"600";s:1:"N";s:8:"dieresis";s:1:"B";a:4:{i:0;s:3:"148";i:1;s:3:"537";i:2;s:3:"453";i:3;s:3:"640";}}i:202;a:4:{s:1:"C";s:3:"202";s:2:"WX";s:3:"600";s:1:"N";s:4:"ring";s:1:"B";a:4:{i:0;s:3:"218";i:1;s:3:"463";i:2;s:3:"382";i:3;s:3:"627";}}s:4:"ring";a:4:{s:1:"C";s:3:"202";s:2:"WX";s:3:"600";s:1:"N";s:4:"ring";s:1:"B";a:4:{i:0;s:3:"218";i:1;s:3:"463";i:2;s:3:"382";i:3;s:3:"627";}}i:203;a:4:{s:1:"C";s:3:"203";s:2:"WX";s:3:"600";s:1:"N";s:7:"cedilla";s:1:"B";a:4:{i:0;s:3:"224";i:1;s:4:"-151";i:2;s:3:"362";i:3;s:2:"10";}}s:7:"cedilla";a:4:{s:1:"C";s:3:"203";s:2:"WX";s:3:"600";s:1:"N";s:7:"cedilla";s:1:"B";a:4:{i:0;s:3:"224";i:1;s:4:"-151";i:2;s:3:"362";i:3;s:2:"10";}}i:205;a:4:{s:1:"C";s:3:"205";s:2:"WX";s:3:"600";s:1:"N";s:12:"hungarumlaut";s:1:"B";a:4:{i:0;s:3:"133";i:1;s:3:"497";i:2;s:3:"540";i:3;s:3:"672";}}s:12:"hungarumlaut";a:4:{s:1:"C";s:3:"205";s:2:"WX";s:3:"600";s:1:"N";s:12:"hungarumlaut";s:1:"B";a:4:{i:0;s:3:"133";i:1;s:3:"497";i:2;s:3:"540";i:3;s:3:"672";}}i:206;a:4:{s:1:"C";s:3:"206";s:2:"WX";s:3:"600";s:1:"N";s:6:"ogonek";s:1:"B";a:4:{i:0;s:3:"211";i:1;s:4:"-172";i:2;s:3:"407";i:3;s:1:"4";}}s:6:"ogonek";a:4:{s:1:"C";s:3:"206";s:2:"WX";s:3:"600";s:1:"N";s:6:"ogonek";s:1:"B";a:4:{i:0;s:3:"211";i:1;s:4:"-172";i:2;s:3:"407";i:3;s:1:"4";}}i:207;a:4:{s:1:"C";s:3:"207";s:2:"WX";s:3:"600";s:1:"N";s:5:"caron";s:1:"B";a:4:{i:0;s:3:"124";i:1;s:3:"492";i:2;s:3:"476";i:3;s:3:"669";}}s:5:"caron";a:4:{s:1:"C";s:3:"207";s:2:"WX";s:3:"600";s:1:"N";s:5:"caron";s:1:"B";a:4:{i:0;s:3:"124";i:1;s:3:"492";i:2;s:3:"476";i:3;s:3:"669";}}i:208;a:4:{s:1:"C";s:3:"208";s:2:"WX";s:3:"600";s:1:"N";s:6:"emdash";s:1:"B";a:4:{i:0;s:1:"0";i:1;s:3:"231";i:2;s:3:"600";i:3;s:3:"285";}}s:6:"emdash";a:4:{s:1:"C";s:3:"208";s:2:"WX";s:3:"600";s:1:"N";s:6:"emdash";s:1:"B";a:4:{i:0;s:1:"0";i:1;s:3:"231";i:2;s:3:"600";i:3;s:3:"285";}}i:225;a:4:{s:1:"C";s:3:"225";s:2:"WX";s:3:"600";s:1:"N";s:2:"AE";s:1:"B";a:4:{i:0;s:1:"3";i:1;s:1:"0";i:2;s:3:"550";i:3;s:3:"562";}}s:2:"AE";a:4:{s:1:"C";s:3:"225";s:2:"WX";s:3:"600";s:1:"N";s:2:"AE";s:1:"B";a:4:{i:0;s:1:"3";i:1;s:1:"0";i:2;s:3:"550";i:3;s:3:"562";}}i:227;a:4:{s:1:"C";s:3:"227";s:2:"WX";s:3:"600";s:1:"N";s:11:"ordfeminine";s:1:"B";a:4:{i:0;s:3:"156";i:1;s:3:"249";i:2;s:3:"442";i:3;s:3:"580";}}s:11:"ordfeminine";a:4:{s:1:"C";s:3:"227";s:2:"WX";s:3:"600";s:1:"N";s:11:"ordfeminine";s:1:"B";a:4:{i:0;s:3:"156";i:1;s:3:"249";i:2;s:3:"442";i:3;s:3:"580";}}i:232;a:4:{s:1:"C";s:3:"232";s:2:"WX";s:3:"600";s:1:"N";s:6:"Lslash";s:1:"B";a:4:{i:0;s:2:"47";i:1;s:1:"0";i:2;s:3:"554";i:3;s:3:"562";}}s:6:"Lslash";a:4:{s:1:"C";s:3:"232";s:2:"WX";s:3:"600";s:1:"N";s:6:"Lslash";s:1:"B";a:4:{i:0;s:2:"47";i:1;s:1:"0";i:2;s:3:"554";i:3;s:3:"562";}}i:233;a:4:{s:1:"C";s:3:"233";s:2:"WX";s:3:"600";s:1:"N";s:6:"Oslash";s:1:"B";a:4:{i:0;s:2:"43";i:1;s:3:"-80";i:2;s:3:"557";i:3;s:3:"629";}}s:6:"Oslash";a:4:{s:1:"C";s:3:"233";s:2:"WX";s:3:"600";s:1:"N";s:6:"Oslash";s:1:"B";a:4:{i:0;s:2:"43";i:1;s:3:"-80";i:2;s:3:"557";i:3;s:3:"629";}}i:234;a:4:{s:1:"C";s:3:"234";s:2:"WX";s:3:"600";s:1:"N";s:2:"OE";s:1:"B";a:4:{i:0;s:1:"7";i:1;s:1:"0";i:2;s:3:"567";i:3;s:3:"562";}}s:2:"OE";a:4:{s:1:"C";s:3:"234";s:2:"WX";s:3:"600";s:1:"N";s:2:"OE";s:1:"B";a:4:{i:0;s:1:"7";i:1;s:1:"0";i:2;s:3:"567";i:3;s:3:"562";}}i:235;a:4:{s:1:"C";s:3:"235";s:2:"WX";s:3:"600";s:1:"N";s:12:"ordmasculine";s:1:"B";a:4:{i:0;s:3:"157";i:1;s:3:"249";i:2;s:3:"443";i:3;s:3:"580";}}s:12:"ordmasculine";a:4:{s:1:"C";s:3:"235";s:2:"WX";s:3:"600";s:1:"N";s:12:"ordmasculine";s:1:"B";a:4:{i:0;s:3:"157";i:1;s:3:"249";i:2;s:3:"443";i:3;s:3:"580";}}i:241;a:4:{s:1:"C";s:3:"241";s:2:"WX";s:3:"600";s:1:"N";s:2:"ae";s:1:"B";a:4:{i:0;s:2:"19";i:1;s:3:"-15";i:2;s:3:"570";i:3;s:3:"441";}}s:2:"ae";a:4:{s:1:"C";s:3:"241";s:2:"WX";s:3:"600";s:1:"N";s:2:"ae";s:1:"B";a:4:{i:0;s:2:"19";i:1;s:3:"-15";i:2;s:3:"570";i:3;s:3:"441";}}i:245;a:4:{s:1:"C";s:3:"245";s:2:"WX";s:3:"600";s:1:"N";s:8:"dotlessi";s:1:"B";a:4:{i:0;s:2:"95";i:1;s:1:"0";i:2;s:3:"505";i:3;s:3:"426";}}s:8:"dotlessi";a:4:{s:1:"C";s:3:"245";s:2:"WX";s:3:"600";s:1:"N";s:8:"dotlessi";s:1:"B";a:4:{i:0;s:2:"95";i:1;s:1:"0";i:2;s:3:"505";i:3;s:3:"426";}}i:248;a:4:{s:1:"C";s:3:"248";s:2:"WX";s:3:"600";s:1:"N";s:6:"lslash";s:1:"B";a:4:{i:0;s:2:"95";i:1;s:1:"0";i:2;s:3:"505";i:3;s:3:"629";}}s:6:"lslash";a:4:{s:1:"C";s:3:"248";s:2:"WX";s:3:"600";s:1:"N";s:6:"lslash";s:1:"B";a:4:{i:0;s:2:"95";i:1;s:1:"0";i:2;s:3:"505";i:3;s:3:"629";}}i:249;a:4:{s:1:"C";s:3:"249";s:2:"WX";s:3:"600";s:1:"N";s:6:"oslash";s:1:"B";a:4:{i:0;s:2:"62";i:1;s:3:"-80";i:2;s:3:"538";i:3;s:3:"506";}}s:6:"oslash";a:4:{s:1:"C";s:3:"249";s:2:"WX";s:3:"600";s:1:"N";s:6:"oslash";s:1:"B";a:4:{i:0;s:2:"62";i:1;s:3:"-80";i:2;s:3:"538";i:3;s:3:"506";}}i:250;a:4:{s:1:"C";s:3:"250";s:2:"WX";s:3:"600";s:1:"N";s:2:"oe";s:1:"B";a:4:{i:0;s:2:"19";i:1;s:3:"-15";i:2;s:3:"559";i:3;s:3:"441";}}s:2:"oe";a:4:{s:1:"C";s:3:"250";s:2:"WX";s:3:"600";s:1:"N";s:2:"oe";s:1:"B";a:4:{i:0;s:2:"19";i:1;s:3:"-15";i:2;s:3:"559";i:3;s:3:"441";}}i:251;a:4:{s:1:"C";s:3:"251";s:2:"WX";s:3:"600";s:1:"N";s:10:"germandbls";s:1:"B";a:4:{i:0;s:2:"48";i:1;s:3:"-15";i:2;s:3:"588";i:3;s:3:"629";}}s:10:"germandbls";a:4:{s:1:"C";s:3:"251";s:2:"WX";s:3:"600";s:1:"N";s:10:"germandbls";s:1:"B";a:4:{i:0;s:2:"48";i:1;s:3:"-15";i:2;s:3:"588";i:3;s:3:"629";}}s:9:"Idieresis";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:9:"Idieresis";s:1:"B";a:4:{i:0;s:2:"96";i:1;s:1:"0";i:2;s:3:"504";i:3;s:3:"753";}}s:6:"eacute";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:6:"eacute";s:1:"B";a:4:{i:0;s:2:"66";i:1;s:3:"-15";i:2;s:3:"548";i:3;s:3:"672";}}s:6:"abreve";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:6:"abreve";s:1:"B";a:4:{i:0;s:2:"53";i:1;s:3:"-15";i:2;s:3:"559";i:3;s:3:"609";}}s:13:"uhungarumlaut";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:13:"uhungarumlaut";s:1:"B";a:4:{i:0;s:2:"21";i:1;s:3:"-15";i:2;s:3:"580";i:3;s:3:"672";}}s:6:"ecaron";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:6:"ecaron";s:1:"B";a:4:{i:0;s:2:"66";i:1;s:3:"-15";i:2;s:3:"548";i:3;s:3:"669";}}s:9:"Ydieresis";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:9:"Ydieresis";s:1:"B";a:4:{i:0;s:2:"24";i:1;s:1:"0";i:2;s:3:"576";i:3;s:3:"753";}}s:6:"divide";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:6:"divide";s:1:"B";a:4:{i:0;s:2:"87";i:1;s:2:"48";i:2;s:3:"513";i:3;s:3:"467";}}s:6:"Yacute";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:6:"Yacute";s:1:"B";a:4:{i:0;s:2:"24";i:1;s:1:"0";i:2;s:3:"576";i:3;s:3:"805";}}s:11:"Acircumflex";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:11:"Acircumflex";s:1:"B";a:4:{i:0;s:1:"3";i:1;s:1:"0";i:2;s:3:"597";i:3;s:3:"787";}}s:6:"aacute";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:6:"aacute";s:1:"B";a:4:{i:0;s:2:"53";i:1;s:3:"-15";i:2;s:3:"559";i:3;s:3:"672";}}s:11:"Ucircumflex";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:11:"Ucircumflex";s:1:"B";a:4:{i:0;s:2:"17";i:1;s:3:"-18";i:2;s:3:"583";i:3;s:3:"787";}}s:6:"yacute";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:6:"yacute";s:1:"B";a:4:{i:0;s:1:"7";i:1;s:4:"-157";i:2;s:3:"592";i:3;s:3:"672";}}s:12:"scommaaccent";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:12:"scommaaccent";s:1:"B";a:4:{i:0;s:2:"80";i:1;s:4:"-250";i:2;s:3:"513";i:3;s:3:"441";}}s:11:"ecircumflex";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:11:"ecircumflex";s:1:"B";a:4:{i:0;s:2:"66";i:1;s:3:"-15";i:2;s:3:"548";i:3;s:3:"654";}}s:5:"Uring";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:5:"Uring";s:1:"B";a:4:{i:0;s:2:"17";i:1;s:3:"-18";i:2;s:3:"583";i:3;s:3:"760";}}s:9:"Udieresis";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:9:"Udieresis";s:1:"B";a:4:{i:0;s:2:"17";i:1;s:3:"-18";i:2;s:3:"583";i:3;s:3:"753";}}s:7:"aogonek";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:7:"aogonek";s:1:"B";a:4:{i:0;s:2:"53";i:1;s:4:"-172";i:2;s:3:"587";i:3;s:3:"441";}}s:6:"Uacute";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:6:"Uacute";s:1:"B";a:4:{i:0;s:2:"17";i:1;s:3:"-18";i:2;s:3:"583";i:3;s:3:"805";}}s:7:"uogonek";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:7:"uogonek";s:1:"B";a:4:{i:0;s:2:"21";i:1;s:4:"-172";i:2;s:3:"590";i:3;s:3:"426";}}s:9:"Edieresis";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:9:"Edieresis";s:1:"B";a:4:{i:0;s:2:"53";i:1;s:1:"0";i:2;s:3:"550";i:3;s:3:"753";}}s:6:"Dcroat";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:6:"Dcroat";s:1:"B";a:4:{i:0;s:2:"30";i:1;s:1:"0";i:2;s:3:"574";i:3;s:3:"562";}}s:11:"commaaccent";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:11:"commaaccent";s:1:"B";a:4:{i:0;s:3:"198";i:1;s:4:"-250";i:2;s:3:"335";i:3;s:3:"-58";}}s:9:"copyright";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:9:"copyright";s:1:"B";a:4:{i:0;s:1:"0";i:1;s:3:"-18";i:2;s:3:"600";i:3;s:3:"580";}}s:7:"Emacron";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:7:"Emacron";s:1:"B";a:4:{i:0;s:2:"53";i:1;s:1:"0";i:2;s:3:"550";i:3;s:3:"698";}}s:6:"ccaron";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:6:"ccaron";s:1:"B";a:4:{i:0;s:2:"66";i:1;s:3:"-15";i:2;s:3:"529";i:3;s:3:"669";}}s:5:"aring";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:5:"aring";s:1:"B";a:4:{i:0;s:2:"53";i:1;s:3:"-15";i:2;s:3:"559";i:3;s:3:"627";}}s:12:"Ncommaaccent";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:12:"Ncommaaccent";s:1:"B";a:4:{i:0;s:1:"7";i:1;s:4:"-250";i:2;s:3:"593";i:3;s:3:"562";}}s:6:"lacute";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:6:"lacute";s:1:"B";a:4:{i:0;s:2:"95";i:1;s:1:"0";i:2;s:3:"505";i:3;s:3:"805";}}s:6:"agrave";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:6:"agrave";s:1:"B";a:4:{i:0;s:2:"53";i:1;s:3:"-15";i:2;s:3:"559";i:3;s:3:"672";}}s:12:"Tcommaaccent";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:12:"Tcommaaccent";s:1:"B";a:4:{i:0;s:2:"38";i:1;s:4:"-250";i:2;s:3:"563";i:3;s:3:"562";}}s:6:"Cacute";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:6:"Cacute";s:1:"B";a:4:{i:0;s:2:"41";i:1;s:3:"-18";i:2;s:3:"540";i:3;s:3:"805";}}s:6:"atilde";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:6:"atilde";s:1:"B";a:4:{i:0;s:2:"53";i:1;s:3:"-15";i:2;s:3:"559";i:3;s:3:"606";}}s:10:"Edotaccent";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:10:"Edotaccent";s:1:"B";a:4:{i:0;s:2:"53";i:1;s:1:"0";i:2;s:3:"550";i:3;s:3:"753";}}s:6:"scaron";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:6:"scaron";s:1:"B";a:4:{i:0;s:2:"80";i:1;s:3:"-15";i:2;s:3:"513";i:3;s:3:"669";}}s:8:"scedilla";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:8:"scedilla";s:1:"B";a:4:{i:0;s:2:"80";i:1;s:4:"-151";i:2;s:3:"513";i:3;s:3:"441";}}s:6:"iacute";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:6:"iacute";s:1:"B";a:4:{i:0;s:2:"95";i:1;s:1:"0";i:2;s:3:"505";i:3;s:3:"672";}}s:7:"lozenge";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:7:"lozenge";s:1:"B";a:4:{i:0;s:2:"18";i:1;s:1:"0";i:2;s:3:"443";i:3;s:3:"706";}}s:6:"Rcaron";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:6:"Rcaron";s:1:"B";a:4:{i:0;s:2:"38";i:1;s:1:"0";i:2;s:3:"588";i:3;s:3:"802";}}s:12:"Gcommaaccent";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:12:"Gcommaaccent";s:1:"B";a:4:{i:0;s:2:"31";i:1;s:4:"-250";i:2;s:3:"575";i:3;s:3:"580";}}s:11:"ucircumflex";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:11:"ucircumflex";s:1:"B";a:4:{i:0;s:2:"21";i:1;s:3:"-15";i:2;s:3:"562";i:3;s:3:"654";}}s:11:"acircumflex";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:11:"acircumflex";s:1:"B";a:4:{i:0;s:2:"53";i:1;s:3:"-15";i:2;s:3:"559";i:3;s:3:"654";}}s:7:"Amacron";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:7:"Amacron";s:1:"B";a:4:{i:0;s:1:"3";i:1;s:1:"0";i:2;s:3:"597";i:3;s:3:"698";}}s:6:"rcaron";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:6:"rcaron";s:1:"B";a:4:{i:0;s:2:"60";i:1;s:1:"0";i:2;s:3:"559";i:3;s:3:"669";}}s:8:"ccedilla";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:8:"ccedilla";s:1:"B";a:4:{i:0;s:2:"66";i:1;s:4:"-151";i:2;s:3:"529";i:3;s:3:"441";}}s:10:"Zdotaccent";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:10:"Zdotaccent";s:1:"B";a:4:{i:0;s:2:"86";i:1;s:1:"0";i:2;s:3:"514";i:3;s:3:"753";}}s:5:"Thorn";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:5:"Thorn";s:1:"B";a:4:{i:0;s:2:"79";i:1;s:1:"0";i:2;s:3:"538";i:3;s:3:"562";}}s:7:"Omacron";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:7:"Omacron";s:1:"B";a:4:{i:0;s:2:"43";i:1;s:3:"-18";i:2;s:3:"557";i:3;s:3:"698";}}s:6:"Racute";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:6:"Racute";s:1:"B";a:4:{i:0;s:2:"38";i:1;s:1:"0";i:2;s:3:"588";i:3;s:3:"805";}}s:6:"Sacute";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:6:"Sacute";s:1:"B";a:4:{i:0;s:2:"72";i:1;s:3:"-20";i:2;s:3:"529";i:3;s:3:"805";}}s:6:"dcaron";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:6:"dcaron";s:1:"B";a:4:{i:0;s:2:"45";i:1;s:3:"-15";i:2;s:3:"715";i:3;s:3:"629";}}s:7:"Umacron";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:7:"Umacron";s:1:"B";a:4:{i:0;s:2:"17";i:1;s:3:"-18";i:2;s:3:"583";i:3;s:3:"698";}}s:5:"uring";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:5:"uring";s:1:"B";a:4:{i:0;s:2:"21";i:1;s:3:"-15";i:2;s:3:"562";i:3;s:3:"627";}}s:13:"threesuperior";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:13:"threesuperior";s:1:"B";a:4:{i:0;s:3:"155";i:1;s:3:"240";i:2;s:3:"406";i:3;s:3:"622";}}s:6:"Ograve";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:6:"Ograve";s:1:"B";a:4:{i:0;s:2:"43";i:1;s:3:"-18";i:2;s:3:"557";i:3;s:3:"805";}}s:6:"Agrave";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:6:"Agrave";s:1:"B";a:4:{i:0;s:1:"3";i:1;s:1:"0";i:2;s:3:"597";i:3;s:3:"805";}}s:6:"Abreve";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:6:"Abreve";s:1:"B";a:4:{i:0;s:1:"3";i:1;s:1:"0";i:2;s:3:"597";i:3;s:3:"732";}}s:8:"multiply";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:8:"multiply";s:1:"B";a:4:{i:0;s:2:"87";i:1;s:2:"43";i:2;s:3:"515";i:3;s:3:"470";}}s:6:"uacute";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:6:"uacute";s:1:"B";a:4:{i:0;s:2:"21";i:1;s:3:"-15";i:2;s:3:"562";i:3;s:3:"672";}}s:6:"Tcaron";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:6:"Tcaron";s:1:"B";a:4:{i:0;s:2:"38";i:1;s:1:"0";i:2;s:3:"563";i:3;s:3:"802";}}s:11:"partialdiff";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:11:"partialdiff";s:1:"B";a:4:{i:0;s:2:"17";i:1;s:3:"-38";i:2;s:3:"459";i:3;s:3:"710";}}s:9:"ydieresis";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:9:"ydieresis";s:1:"B";a:4:{i:0;s:1:"7";i:1;s:4:"-157";i:2;s:3:"592";i:3;s:3:"620";}}s:6:"Nacute";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:6:"Nacute";s:1:"B";a:4:{i:0;s:1:"7";i:1;s:3:"-13";i:2;s:3:"593";i:3;s:3:"805";}}s:11:"icircumflex";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:11:"icircumflex";s:1:"B";a:4:{i:0;s:2:"94";i:1;s:1:"0";i:2;s:3:"505";i:3;s:3:"654";}}s:11:"Ecircumflex";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:11:"Ecircumflex";s:1:"B";a:4:{i:0;s:2:"53";i:1;s:1:"0";i:2;s:3:"550";i:3;s:3:"787";}}s:9:"adieresis";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:9:"adieresis";s:1:"B";a:4:{i:0;s:2:"53";i:1;s:3:"-15";i:2;s:3:"559";i:3;s:3:"620";}}s:9:"edieresis";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:9:"edieresis";s:1:"B";a:4:{i:0;s:2:"66";i:1;s:3:"-15";i:2;s:3:"548";i:3;s:3:"620";}}s:6:"cacute";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:6:"cacute";s:1:"B";a:4:{i:0;s:2:"66";i:1;s:3:"-15";i:2;s:3:"529";i:3;s:3:"672";}}s:6:"nacute";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:6:"nacute";s:1:"B";a:4:{i:0;s:2:"26";i:1;s:1:"0";i:2;s:3:"575";i:3;s:3:"672";}}s:7:"umacron";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:7:"umacron";s:1:"B";a:4:{i:0;s:2:"21";i:1;s:3:"-15";i:2;s:3:"562";i:3;s:3:"565";}}s:6:"Ncaron";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:6:"Ncaron";s:1:"B";a:4:{i:0;s:1:"7";i:1;s:3:"-13";i:2;s:3:"593";i:3;s:3:"802";}}s:6:"Iacute";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:6:"Iacute";s:1:"B";a:4:{i:0;s:2:"96";i:1;s:1:"0";i:2;s:3:"504";i:3;s:3:"805";}}s:9:"plusminus";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:9:"plusminus";s:1:"B";a:4:{i:0;s:2:"87";i:1;s:2:"44";i:2;s:3:"513";i:3;s:3:"558";}}s:9:"brokenbar";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:9:"brokenbar";s:1:"B";a:4:{i:0;s:3:"275";i:1;s:4:"-175";i:2;s:3:"326";i:3;s:3:"675";}}s:10:"registered";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:10:"registered";s:1:"B";a:4:{i:0;s:1:"0";i:1;s:3:"-18";i:2;s:3:"600";i:3;s:3:"580";}}s:6:"Gbreve";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:6:"Gbreve";s:1:"B";a:4:{i:0;s:2:"31";i:1;s:3:"-18";i:2;s:3:"575";i:3;s:3:"732";}}s:10:"Idotaccent";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:10:"Idotaccent";s:1:"B";a:4:{i:0;s:2:"96";i:1;s:1:"0";i:2;s:3:"504";i:3;s:3:"753";}}s:9:"summation";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:9:"summation";s:1:"B";a:4:{i:0;s:2:"15";i:1;s:3:"-10";i:2;s:3:"585";i:3;s:3:"706";}}s:6:"Egrave";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:6:"Egrave";s:1:"B";a:4:{i:0;s:2:"53";i:1;s:1:"0";i:2;s:3:"550";i:3;s:3:"805";}}s:6:"racute";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:6:"racute";s:1:"B";a:4:{i:0;s:2:"60";i:1;s:1:"0";i:2;s:3:"559";i:3;s:3:"672";}}s:7:"omacron";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:7:"omacron";s:1:"B";a:4:{i:0;s:2:"62";i:1;s:3:"-15";i:2;s:3:"538";i:3;s:3:"565";}}s:6:"Zacute";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:6:"Zacute";s:1:"B";a:4:{i:0;s:2:"86";i:1;s:1:"0";i:2;s:3:"514";i:3;s:3:"805";}}s:6:"Zcaron";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:6:"Zcaron";s:1:"B";a:4:{i:0;s:2:"86";i:1;s:1:"0";i:2;s:3:"514";i:3;s:3:"802";}}s:12:"greaterequal";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:12:"greaterequal";s:1:"B";a:4:{i:0;s:2:"98";i:1;s:1:"0";i:2;s:3:"502";i:3;s:3:"710";}}s:3:"Eth";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:3:"Eth";s:1:"B";a:4:{i:0;s:2:"30";i:1;s:1:"0";i:2;s:3:"574";i:3;s:3:"562";}}s:8:"Ccedilla";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:8:"Ccedilla";s:1:"B";a:4:{i:0;s:2:"41";i:1;s:4:"-151";i:2;s:3:"540";i:3;s:3:"580";}}s:12:"lcommaaccent";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:12:"lcommaaccent";s:1:"B";a:4:{i:0;s:2:"95";i:1;s:4:"-250";i:2;s:3:"505";i:3;s:3:"629";}}s:6:"tcaron";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:6:"tcaron";s:1:"B";a:4:{i:0;s:2:"87";i:1;s:3:"-15";i:2;s:3:"530";i:3;s:3:"717";}}s:7:"eogonek";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:7:"eogonek";s:1:"B";a:4:{i:0;s:2:"66";i:1;s:4:"-172";i:2;s:3:"548";i:3;s:3:"441";}}s:7:"Uogonek";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:7:"Uogonek";s:1:"B";a:4:{i:0;s:2:"17";i:1;s:4:"-172";i:2;s:3:"583";i:3;s:3:"562";}}s:6:"Aacute";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:6:"Aacute";s:1:"B";a:4:{i:0;s:1:"3";i:1;s:1:"0";i:2;s:3:"597";i:3;s:3:"805";}}s:9:"Adieresis";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:9:"Adieresis";s:1:"B";a:4:{i:0;s:1:"3";i:1;s:1:"0";i:2;s:3:"597";i:3;s:3:"753";}}s:6:"egrave";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:6:"egrave";s:1:"B";a:4:{i:0;s:2:"66";i:1;s:3:"-15";i:2;s:3:"548";i:3;s:3:"672";}}s:6:"zacute";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:6:"zacute";s:1:"B";a:4:{i:0;s:2:"99";i:1;s:1:"0";i:2;s:3:"502";i:3;s:3:"672";}}s:7:"iogonek";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:7:"iogonek";s:1:"B";a:4:{i:0;s:2:"95";i:1;s:4:"-172";i:2;s:3:"505";i:3;s:3:"657";}}s:6:"Oacute";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:6:"Oacute";s:1:"B";a:4:{i:0;s:2:"43";i:1;s:3:"-18";i:2;s:3:"557";i:3;s:3:"805";}}s:6:"oacute";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:6:"oacute";s:1:"B";a:4:{i:0;s:2:"62";i:1;s:3:"-15";i:2;s:3:"538";i:3;s:3:"672";}}s:7:"amacron";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:7:"amacron";s:1:"B";a:4:{i:0;s:2:"53";i:1;s:3:"-15";i:2;s:3:"559";i:3;s:3:"565";}}s:6:"sacute";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:6:"sacute";s:1:"B";a:4:{i:0;s:2:"80";i:1;s:3:"-15";i:2;s:3:"513";i:3;s:3:"672";}}s:9:"idieresis";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:9:"idieresis";s:1:"B";a:4:{i:0;s:2:"95";i:1;s:1:"0";i:2;s:3:"505";i:3;s:3:"620";}}s:11:"Ocircumflex";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:11:"Ocircumflex";s:1:"B";a:4:{i:0;s:2:"43";i:1;s:3:"-18";i:2;s:3:"557";i:3;s:3:"787";}}s:6:"Ugrave";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:6:"Ugrave";s:1:"B";a:4:{i:0;s:2:"17";i:1;s:3:"-18";i:2;s:3:"583";i:3;s:3:"805";}}s:5:"Delta";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:5:"Delta";s:1:"B";a:4:{i:0;s:1:"6";i:1;s:1:"0";i:2;s:3:"598";i:3;s:3:"688";}}s:5:"thorn";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:5:"thorn";s:1:"B";a:4:{i:0;s:2:"-6";i:1;s:4:"-157";i:2;s:3:"555";i:3;s:3:"629";}}s:11:"twosuperior";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:11:"twosuperior";s:1:"B";a:4:{i:0;s:3:"177";i:1;s:3:"249";i:2;s:3:"424";i:3;s:3:"622";}}s:9:"Odieresis";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:9:"Odieresis";s:1:"B";a:4:{i:0;s:2:"43";i:1;s:3:"-18";i:2;s:3:"557";i:3;s:3:"753";}}s:2:"mu";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:2:"mu";s:1:"B";a:4:{i:0;s:2:"21";i:1;s:4:"-157";i:2;s:3:"562";i:3;s:3:"426";}}s:6:"igrave";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:6:"igrave";s:1:"B";a:4:{i:0;s:2:"95";i:1;s:1:"0";i:2;s:3:"505";i:3;s:3:"672";}}s:13:"ohungarumlaut";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:13:"ohungarumlaut";s:1:"B";a:4:{i:0;s:2:"62";i:1;s:3:"-15";i:2;s:3:"580";i:3;s:3:"672";}}s:7:"Eogonek";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:7:"Eogonek";s:1:"B";a:4:{i:0;s:2:"53";i:1;s:4:"-172";i:2;s:3:"561";i:3;s:3:"562";}}s:6:"dcroat";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:6:"dcroat";s:1:"B";a:4:{i:0;s:2:"45";i:1;s:3:"-15";i:2;s:3:"591";i:3;s:3:"629";}}s:13:"threequarters";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:13:"threequarters";s:1:"B";a:4:{i:0;s:1:"8";i:1;s:3:"-56";i:2;s:3:"593";i:3;s:3:"666";}}s:8:"Scedilla";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:8:"Scedilla";s:1:"B";a:4:{i:0;s:2:"72";i:1;s:4:"-151";i:2;s:3:"529";i:3;s:3:"580";}}s:6:"lcaron";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:6:"lcaron";s:1:"B";a:4:{i:0;s:2:"95";i:1;s:1:"0";i:2;s:3:"533";i:3;s:3:"629";}}s:12:"Kcommaaccent";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:12:"Kcommaaccent";s:1:"B";a:4:{i:0;s:2:"38";i:1;s:4:"-250";i:2;s:3:"582";i:3;s:3:"562";}}s:6:"Lacute";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:6:"Lacute";s:1:"B";a:4:{i:0;s:2:"47";i:1;s:1:"0";i:2;s:3:"554";i:3;s:3:"805";}}s:9:"trademark";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:9:"trademark";s:1:"B";a:4:{i:0;s:3:"-23";i:1;s:3:"263";i:2;s:3:"623";i:3;s:3:"562";}}s:10:"edotaccent";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:10:"edotaccent";s:1:"B";a:4:{i:0;s:2:"66";i:1;s:3:"-15";i:2;s:3:"548";i:3;s:3:"620";}}s:6:"Igrave";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:6:"Igrave";s:1:"B";a:4:{i:0;s:2:"96";i:1;s:1:"0";i:2;s:3:"504";i:3;s:3:"805";}}s:7:"Imacron";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:7:"Imacron";s:1:"B";a:4:{i:0;s:2:"96";i:1;s:1:"0";i:2;s:3:"504";i:3;s:3:"698";}}s:6:"Lcaron";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:6:"Lcaron";s:1:"B";a:4:{i:0;s:2:"47";i:1;s:1:"0";i:2;s:3:"554";i:3;s:3:"562";}}s:7:"onehalf";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:7:"onehalf";s:1:"B";a:4:{i:0;s:1:"0";i:1;s:3:"-57";i:2;s:3:"611";i:3;s:3:"665";}}s:9:"lessequal";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:9:"lessequal";s:1:"B";a:4:{i:0;s:2:"98";i:1;s:1:"0";i:2;s:3:"502";i:3;s:3:"710";}}s:11:"ocircumflex";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:11:"ocircumflex";s:1:"B";a:4:{i:0;s:2:"62";i:1;s:3:"-15";i:2;s:3:"538";i:3;s:3:"654";}}s:6:"ntilde";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:6:"ntilde";s:1:"B";a:4:{i:0;s:2:"26";i:1;s:1:"0";i:2;s:3:"575";i:3;s:3:"606";}}s:13:"Uhungarumlaut";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:13:"Uhungarumlaut";s:1:"B";a:4:{i:0;s:2:"17";i:1;s:3:"-18";i:2;s:3:"590";i:3;s:3:"805";}}s:6:"Eacute";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:6:"Eacute";s:1:"B";a:4:{i:0;s:2:"53";i:1;s:1:"0";i:2;s:3:"550";i:3;s:3:"805";}}s:7:"emacron";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:7:"emacron";s:1:"B";a:4:{i:0;s:2:"66";i:1;s:3:"-15";i:2;s:3:"548";i:3;s:3:"565";}}s:6:"gbreve";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:6:"gbreve";s:1:"B";a:4:{i:0;s:2:"45";i:1;s:4:"-157";i:2;s:3:"566";i:3;s:3:"609";}}s:10:"onequarter";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:10:"onequarter";s:1:"B";a:4:{i:0;s:1:"0";i:1;s:3:"-57";i:2;s:3:"600";i:3;s:3:"665";}}s:6:"Scaron";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:6:"Scaron";s:1:"B";a:4:{i:0;s:2:"72";i:1;s:3:"-20";i:2;s:3:"529";i:3;s:3:"802";}}s:12:"Scommaaccent";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:12:"Scommaaccent";s:1:"B";a:4:{i:0;s:2:"72";i:1;s:4:"-250";i:2;s:3:"529";i:3;s:3:"580";}}s:13:"Ohungarumlaut";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:13:"Ohungarumlaut";s:1:"B";a:4:{i:0;s:2:"43";i:1;s:3:"-18";i:2;s:3:"580";i:3;s:3:"805";}}s:6:"degree";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:6:"degree";s:1:"B";a:4:{i:0;s:3:"123";i:1;s:3:"269";i:2;s:3:"477";i:3;s:3:"622";}}s:6:"ograve";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:6:"ograve";s:1:"B";a:4:{i:0;s:2:"62";i:1;s:3:"-15";i:2;s:3:"538";i:3;s:3:"672";}}s:6:"Ccaron";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:6:"Ccaron";s:1:"B";a:4:{i:0;s:2:"41";i:1;s:3:"-18";i:2;s:3:"540";i:3;s:3:"802";}}s:6:"ugrave";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:6:"ugrave";s:1:"B";a:4:{i:0;s:2:"21";i:1;s:3:"-15";i:2;s:3:"562";i:3;s:3:"672";}}s:7:"radical";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:7:"radical";s:1:"B";a:4:{i:0;s:1:"3";i:1;s:3:"-15";i:2;s:3:"597";i:3;s:3:"792";}}s:6:"Dcaron";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:6:"Dcaron";s:1:"B";a:4:{i:0;s:2:"43";i:1;s:1:"0";i:2;s:3:"574";i:3;s:3:"802";}}s:12:"rcommaaccent";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:12:"rcommaaccent";s:1:"B";a:4:{i:0;s:2:"60";i:1;s:4:"-250";i:2;s:3:"559";i:3;s:3:"441";}}s:6:"Ntilde";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:6:"Ntilde";s:1:"B";a:4:{i:0;s:1:"7";i:1;s:3:"-13";i:2;s:3:"593";i:3;s:3:"729";}}s:6:"otilde";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:6:"otilde";s:1:"B";a:4:{i:0;s:2:"62";i:1;s:3:"-15";i:2;s:3:"538";i:3;s:3:"606";}}s:12:"Rcommaaccent";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:12:"Rcommaaccent";s:1:"B";a:4:{i:0;s:2:"38";i:1;s:4:"-250";i:2;s:3:"588";i:3;s:3:"562";}}s:12:"Lcommaaccent";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:12:"Lcommaaccent";s:1:"B";a:4:{i:0;s:2:"47";i:1;s:4:"-250";i:2;s:3:"554";i:3;s:3:"562";}}s:6:"Atilde";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:6:"Atilde";s:1:"B";a:4:{i:0;s:1:"3";i:1;s:1:"0";i:2;s:3:"597";i:3;s:3:"729";}}s:7:"Aogonek";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:7:"Aogonek";s:1:"B";a:4:{i:0;s:1:"3";i:1;s:4:"-172";i:2;s:3:"608";i:3;s:3:"562";}}s:5:"Aring";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:5:"Aring";s:1:"B";a:4:{i:0;s:1:"3";i:1;s:1:"0";i:2;s:3:"597";i:3;s:3:"750";}}s:6:"Otilde";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:6:"Otilde";s:1:"B";a:4:{i:0;s:2:"43";i:1;s:3:"-18";i:2;s:3:"557";i:3;s:3:"729";}}s:10:"zdotaccent";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:10:"zdotaccent";s:1:"B";a:4:{i:0;s:2:"99";i:1;s:1:"0";i:2;s:3:"502";i:3;s:3:"620";}}s:6:"Ecaron";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:6:"Ecaron";s:1:"B";a:4:{i:0;s:2:"53";i:1;s:1:"0";i:2;s:3:"550";i:3;s:3:"802";}}s:7:"Iogonek";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:7:"Iogonek";s:1:"B";a:4:{i:0;s:2:"96";i:1;s:4:"-172";i:2;s:3:"504";i:3;s:3:"562";}}s:12:"kcommaaccent";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:12:"kcommaaccent";s:1:"B";a:4:{i:0;s:2:"43";i:1;s:4:"-250";i:2;s:3:"580";i:3;s:3:"629";}}s:5:"minus";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:5:"minus";s:1:"B";a:4:{i:0;s:2:"80";i:1;s:3:"232";i:2;s:3:"520";i:3;s:3:"283";}}s:11:"Icircumflex";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:11:"Icircumflex";s:1:"B";a:4:{i:0;s:2:"96";i:1;s:1:"0";i:2;s:3:"504";i:3;s:3:"787";}}s:6:"ncaron";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:6:"ncaron";s:1:"B";a:4:{i:0;s:2:"26";i:1;s:1:"0";i:2;s:3:"575";i:3;s:3:"669";}}s:12:"tcommaaccent";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:12:"tcommaaccent";s:1:"B";a:4:{i:0;s:2:"87";i:1;s:4:"-250";i:2;s:3:"530";i:3;s:3:"561";}}s:10:"logicalnot";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:10:"logicalnot";s:1:"B";a:4:{i:0;s:2:"87";i:1;s:3:"108";i:2;s:3:"513";i:3;s:3:"369";}}s:9:"odieresis";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:9:"odieresis";s:1:"B";a:4:{i:0;s:2:"62";i:1;s:3:"-15";i:2;s:3:"538";i:3;s:3:"620";}}s:9:"udieresis";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:9:"udieresis";s:1:"B";a:4:{i:0;s:2:"21";i:1;s:3:"-15";i:2;s:3:"562";i:3;s:3:"620";}}s:8:"notequal";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:8:"notequal";s:1:"B";a:4:{i:0;s:2:"15";i:1;s:3:"-16";i:2;s:3:"540";i:3;s:3:"529";}}s:12:"gcommaaccent";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:12:"gcommaaccent";s:1:"B";a:4:{i:0;s:2:"45";i:1;s:4:"-157";i:2;s:3:"566";i:3;s:3:"708";}}s:3:"eth";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:3:"eth";s:1:"B";a:4:{i:0;s:2:"62";i:1;s:3:"-15";i:2;s:3:"538";i:3;s:3:"629";}}s:6:"zcaron";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:6:"zcaron";s:1:"B";a:4:{i:0;s:2:"99";i:1;s:1:"0";i:2;s:3:"502";i:3;s:3:"669";}}s:12:"ncommaaccent";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:12:"ncommaaccent";s:1:"B";a:4:{i:0;s:2:"26";i:1;s:4:"-250";i:2;s:3:"575";i:3;s:3:"441";}}s:11:"onesuperior";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:11:"onesuperior";s:1:"B";a:4:{i:0;s:3:"172";i:1;s:3:"249";i:2;s:3:"428";i:3;s:3:"622";}}s:7:"imacron";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:7:"imacron";s:1:"B";a:4:{i:0;s:2:"95";i:1;s:1:"0";i:2;s:3:"505";i:3;s:3:"565";}}s:4:"Euro";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:4:"Euro";s:1:"B";a:4:{i:0;s:1:"0";i:1;s:1:"0";i:2;s:1:"0";i:3;s:1:"0";}}}s:9:"_version_";i:1;}
\ No newline at end of file diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/PDF/default/templates/fonts/php_Helvetica-Bold.afm b/buildscripts/PhpDocumentor/phpDocumentor/Converters/PDF/default/templates/fonts/php_Helvetica-Bold.afm new file mode 100755 index 00000000..9b466fd0 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/PDF/default/templates/fonts/php_Helvetica-Bold.afm @@ -0,0 +1 @@ +a:22:{s:8:"FontName";s:14:"Helvetica-Bold";s:8:"FullName";s:14:"Helvetica Bold";s:10:"FamilyName";s:9:"Helvetica";s:6:"Weight";s:4:"Bold";s:11:"ItalicAngle";s:1:"0";s:12:"IsFixedPitch";s:5:"false";s:12:"CharacterSet";s:13:"ExtendedRoman";s:8:"FontBBox";a:4:{i:0;s:4:"-170";i:1;s:4:"-228";i:2;s:4:"1003";i:3;s:3:"962";}s:17:"UnderlinePosition";s:4:"-100";s:18:"UnderlineThickness";s:2:"50";s:7:"Version";s:7:"002.000";s:14:"EncodingScheme";s:21:"AdobeStandardEncoding";s:9:"CapHeight";s:3:"718";s:7:"XHeight";s:3:"532";s:8:"Ascender";s:3:"718";s:9:"Descender";s:4:"-207";s:5:"StdHW";s:3:"118";s:5:"StdVW";s:3:"140";s:16:"StartCharMetrics";s:3:"315";s:1:"C";a:464:{i:32;a:4:{s:1:"C";s:2:"32";s:2:"WX";s:3:"278";s:1:"N";s:5:"space";s:1:"B";a:4:{i:0;s:1:"0";i:1;s:1:"0";i:2;s:1:"0";i:3;s:1:"0";}}s:5:"space";a:4:{s:1:"C";s:2:"32";s:2:"WX";s:3:"278";s:1:"N";s:5:"space";s:1:"B";a:4:{i:0;s:1:"0";i:1;s:1:"0";i:2;s:1:"0";i:3;s:1:"0";}}i:33;a:4:{s:1:"C";s:2:"33";s:2:"WX";s:3:"333";s:1:"N";s:6:"exclam";s:1:"B";a:4:{i:0;s:2:"90";i:1;s:1:"0";i:2;s:3:"244";i:3;s:3:"718";}}s:6:"exclam";a:4:{s:1:"C";s:2:"33";s:2:"WX";s:3:"333";s:1:"N";s:6:"exclam";s:1:"B";a:4:{i:0;s:2:"90";i:1;s:1:"0";i:2;s:3:"244";i:3;s:3:"718";}}i:34;a:4:{s:1:"C";s:2:"34";s:2:"WX";s:3:"474";s:1:"N";s:8:"quotedbl";s:1:"B";a:4:{i:0;s:2:"98";i:1;s:3:"447";i:2;s:3:"376";i:3;s:3:"718";}}s:8:"quotedbl";a:4:{s:1:"C";s:2:"34";s:2:"WX";s:3:"474";s:1:"N";s:8:"quotedbl";s:1:"B";a:4:{i:0;s:2:"98";i:1;s:3:"447";i:2;s:3:"376";i:3;s:3:"718";}}i:35;a:4:{s:1:"C";s:2:"35";s:2:"WX";s:3:"556";s:1:"N";s:10:"numbersign";s:1:"B";a:4:{i:0;s:2:"18";i:1;s:1:"0";i:2;s:3:"538";i:3;s:3:"698";}}s:10:"numbersign";a:4:{s:1:"C";s:2:"35";s:2:"WX";s:3:"556";s:1:"N";s:10:"numbersign";s:1:"B";a:4:{i:0;s:2:"18";i:1;s:1:"0";i:2;s:3:"538";i:3;s:3:"698";}}i:36;a:4:{s:1:"C";s:2:"36";s:2:"WX";s:3:"556";s:1:"N";s:6:"dollar";s:1:"B";a:4:{i:0;s:2:"30";i:1;s:4:"-115";i:2;s:3:"523";i:3;s:3:"775";}}s:6:"dollar";a:4:{s:1:"C";s:2:"36";s:2:"WX";s:3:"556";s:1:"N";s:6:"dollar";s:1:"B";a:4:{i:0;s:2:"30";i:1;s:4:"-115";i:2;s:3:"523";i:3;s:3:"775";}}i:37;a:4:{s:1:"C";s:2:"37";s:2:"WX";s:3:"889";s:1:"N";s:7:"percent";s:1:"B";a:4:{i:0;s:2:"28";i:1;s:3:"-19";i:2;s:3:"861";i:3;s:3:"710";}}s:7:"percent";a:4:{s:1:"C";s:2:"37";s:2:"WX";s:3:"889";s:1:"N";s:7:"percent";s:1:"B";a:4:{i:0;s:2:"28";i:1;s:3:"-19";i:2;s:3:"861";i:3;s:3:"710";}}i:38;a:4:{s:1:"C";s:2:"38";s:2:"WX";s:3:"722";s:1:"N";s:9:"ampersand";s:1:"B";a:4:{i:0;s:2:"54";i:1;s:3:"-19";i:2;s:3:"701";i:3;s:3:"718";}}s:9:"ampersand";a:4:{s:1:"C";s:2:"38";s:2:"WX";s:3:"722";s:1:"N";s:9:"ampersand";s:1:"B";a:4:{i:0;s:2:"54";i:1;s:3:"-19";i:2;s:3:"701";i:3;s:3:"718";}}i:39;a:4:{s:1:"C";s:2:"39";s:2:"WX";s:3:"278";s:1:"N";s:10:"quoteright";s:1:"B";a:4:{i:0;s:2:"69";i:1;s:3:"445";i:2;s:3:"209";i:3;s:3:"718";}}s:10:"quoteright";a:4:{s:1:"C";s:2:"39";s:2:"WX";s:3:"278";s:1:"N";s:10:"quoteright";s:1:"B";a:4:{i:0;s:2:"69";i:1;s:3:"445";i:2;s:3:"209";i:3;s:3:"718";}}i:40;a:4:{s:1:"C";s:2:"40";s:2:"WX";s:3:"333";s:1:"N";s:9:"parenleft";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:4:"-208";i:2;s:3:"314";i:3;s:3:"734";}}s:9:"parenleft";a:4:{s:1:"C";s:2:"40";s:2:"WX";s:3:"333";s:1:"N";s:9:"parenleft";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:4:"-208";i:2;s:3:"314";i:3;s:3:"734";}}i:41;a:4:{s:1:"C";s:2:"41";s:2:"WX";s:3:"333";s:1:"N";s:10:"parenright";s:1:"B";a:4:{i:0;s:2:"19";i:1;s:4:"-208";i:2;s:3:"298";i:3;s:3:"734";}}s:10:"parenright";a:4:{s:1:"C";s:2:"41";s:2:"WX";s:3:"333";s:1:"N";s:10:"parenright";s:1:"B";a:4:{i:0;s:2:"19";i:1;s:4:"-208";i:2;s:3:"298";i:3;s:3:"734";}}i:42;a:4:{s:1:"C";s:2:"42";s:2:"WX";s:3:"389";s:1:"N";s:8:"asterisk";s:1:"B";a:4:{i:0;s:2:"27";i:1;s:3:"387";i:2;s:3:"362";i:3;s:3:"718";}}s:8:"asterisk";a:4:{s:1:"C";s:2:"42";s:2:"WX";s:3:"389";s:1:"N";s:8:"asterisk";s:1:"B";a:4:{i:0;s:2:"27";i:1;s:3:"387";i:2;s:3:"362";i:3;s:3:"718";}}i:43;a:4:{s:1:"C";s:2:"43";s:2:"WX";s:3:"584";s:1:"N";s:4:"plus";s:1:"B";a:4:{i:0;s:2:"40";i:1;s:1:"0";i:2;s:3:"544";i:3;s:3:"506";}}s:4:"plus";a:4:{s:1:"C";s:2:"43";s:2:"WX";s:3:"584";s:1:"N";s:4:"plus";s:1:"B";a:4:{i:0;s:2:"40";i:1;s:1:"0";i:2;s:3:"544";i:3;s:3:"506";}}i:44;a:4:{s:1:"C";s:2:"44";s:2:"WX";s:3:"278";s:1:"N";s:5:"comma";s:1:"B";a:4:{i:0;s:2:"64";i:1;s:4:"-168";i:2;s:3:"214";i:3;s:3:"146";}}s:5:"comma";a:4:{s:1:"C";s:2:"44";s:2:"WX";s:3:"278";s:1:"N";s:5:"comma";s:1:"B";a:4:{i:0;s:2:"64";i:1;s:4:"-168";i:2;s:3:"214";i:3;s:3:"146";}}i:45;a:4:{s:1:"C";s:2:"45";s:2:"WX";s:3:"333";s:1:"N";s:6:"hyphen";s:1:"B";a:4:{i:0;s:2:"27";i:1;s:3:"215";i:2;s:3:"306";i:3;s:3:"345";}}s:6:"hyphen";a:4:{s:1:"C";s:2:"45";s:2:"WX";s:3:"333";s:1:"N";s:6:"hyphen";s:1:"B";a:4:{i:0;s:2:"27";i:1;s:3:"215";i:2;s:3:"306";i:3;s:3:"345";}}i:46;a:4:{s:1:"C";s:2:"46";s:2:"WX";s:3:"278";s:1:"N";s:6:"period";s:1:"B";a:4:{i:0;s:2:"64";i:1;s:1:"0";i:2;s:3:"214";i:3;s:3:"146";}}s:6:"period";a:4:{s:1:"C";s:2:"46";s:2:"WX";s:3:"278";s:1:"N";s:6:"period";s:1:"B";a:4:{i:0;s:2:"64";i:1;s:1:"0";i:2;s:3:"214";i:3;s:3:"146";}}i:47;a:4:{s:1:"C";s:2:"47";s:2:"WX";s:3:"278";s:1:"N";s:5:"slash";s:1:"B";a:4:{i:0;s:3:"-33";i:1;s:3:"-19";i:2;s:3:"311";i:3;s:3:"737";}}s:5:"slash";a:4:{s:1:"C";s:2:"47";s:2:"WX";s:3:"278";s:1:"N";s:5:"slash";s:1:"B";a:4:{i:0;s:3:"-33";i:1;s:3:"-19";i:2;s:3:"311";i:3;s:3:"737";}}i:48;a:4:{s:1:"C";s:2:"48";s:2:"WX";s:3:"556";s:1:"N";s:4:"zero";s:1:"B";a:4:{i:0;s:2:"32";i:1;s:3:"-19";i:2;s:3:"524";i:3;s:3:"710";}}s:4:"zero";a:4:{s:1:"C";s:2:"48";s:2:"WX";s:3:"556";s:1:"N";s:4:"zero";s:1:"B";a:4:{i:0;s:2:"32";i:1;s:3:"-19";i:2;s:3:"524";i:3;s:3:"710";}}i:49;a:4:{s:1:"C";s:2:"49";s:2:"WX";s:3:"556";s:1:"N";s:3:"one";s:1:"B";a:4:{i:0;s:2:"69";i:1;s:1:"0";i:2;s:3:"378";i:3;s:3:"710";}}s:3:"one";a:4:{s:1:"C";s:2:"49";s:2:"WX";s:3:"556";s:1:"N";s:3:"one";s:1:"B";a:4:{i:0;s:2:"69";i:1;s:1:"0";i:2;s:3:"378";i:3;s:3:"710";}}i:50;a:4:{s:1:"C";s:2:"50";s:2:"WX";s:3:"556";s:1:"N";s:3:"two";s:1:"B";a:4:{i:0;s:2:"26";i:1;s:1:"0";i:2;s:3:"511";i:3;s:3:"710";}}s:3:"two";a:4:{s:1:"C";s:2:"50";s:2:"WX";s:3:"556";s:1:"N";s:3:"two";s:1:"B";a:4:{i:0;s:2:"26";i:1;s:1:"0";i:2;s:3:"511";i:3;s:3:"710";}}i:51;a:4:{s:1:"C";s:2:"51";s:2:"WX";s:3:"556";s:1:"N";s:5:"three";s:1:"B";a:4:{i:0;s:2:"27";i:1;s:3:"-19";i:2;s:3:"516";i:3;s:3:"710";}}s:5:"three";a:4:{s:1:"C";s:2:"51";s:2:"WX";s:3:"556";s:1:"N";s:5:"three";s:1:"B";a:4:{i:0;s:2:"27";i:1;s:3:"-19";i:2;s:3:"516";i:3;s:3:"710";}}i:52;a:4:{s:1:"C";s:2:"52";s:2:"WX";s:3:"556";s:1:"N";s:4:"four";s:1:"B";a:4:{i:0;s:2:"27";i:1;s:1:"0";i:2;s:3:"526";i:3;s:3:"710";}}s:4:"four";a:4:{s:1:"C";s:2:"52";s:2:"WX";s:3:"556";s:1:"N";s:4:"four";s:1:"B";a:4:{i:0;s:2:"27";i:1;s:1:"0";i:2;s:3:"526";i:3;s:3:"710";}}i:53;a:4:{s:1:"C";s:2:"53";s:2:"WX";s:3:"556";s:1:"N";s:4:"five";s:1:"B";a:4:{i:0;s:2:"27";i:1;s:3:"-19";i:2;s:3:"516";i:3;s:3:"698";}}s:4:"five";a:4:{s:1:"C";s:2:"53";s:2:"WX";s:3:"556";s:1:"N";s:4:"five";s:1:"B";a:4:{i:0;s:2:"27";i:1;s:3:"-19";i:2;s:3:"516";i:3;s:3:"698";}}i:54;a:4:{s:1:"C";s:2:"54";s:2:"WX";s:3:"556";s:1:"N";s:3:"six";s:1:"B";a:4:{i:0;s:2:"31";i:1;s:3:"-19";i:2;s:3:"520";i:3;s:3:"710";}}s:3:"six";a:4:{s:1:"C";s:2:"54";s:2:"WX";s:3:"556";s:1:"N";s:3:"six";s:1:"B";a:4:{i:0;s:2:"31";i:1;s:3:"-19";i:2;s:3:"520";i:3;s:3:"710";}}i:55;a:4:{s:1:"C";s:2:"55";s:2:"WX";s:3:"556";s:1:"N";s:5:"seven";s:1:"B";a:4:{i:0;s:2:"25";i:1;s:1:"0";i:2;s:3:"528";i:3;s:3:"698";}}s:5:"seven";a:4:{s:1:"C";s:2:"55";s:2:"WX";s:3:"556";s:1:"N";s:5:"seven";s:1:"B";a:4:{i:0;s:2:"25";i:1;s:1:"0";i:2;s:3:"528";i:3;s:3:"698";}}i:56;a:4:{s:1:"C";s:2:"56";s:2:"WX";s:3:"556";s:1:"N";s:5:"eight";s:1:"B";a:4:{i:0;s:2:"32";i:1;s:3:"-19";i:2;s:3:"524";i:3;s:3:"710";}}s:5:"eight";a:4:{s:1:"C";s:2:"56";s:2:"WX";s:3:"556";s:1:"N";s:5:"eight";s:1:"B";a:4:{i:0;s:2:"32";i:1;s:3:"-19";i:2;s:3:"524";i:3;s:3:"710";}}i:57;a:4:{s:1:"C";s:2:"57";s:2:"WX";s:3:"556";s:1:"N";s:4:"nine";s:1:"B";a:4:{i:0;s:2:"30";i:1;s:3:"-19";i:2;s:3:"522";i:3;s:3:"710";}}s:4:"nine";a:4:{s:1:"C";s:2:"57";s:2:"WX";s:3:"556";s:1:"N";s:4:"nine";s:1:"B";a:4:{i:0;s:2:"30";i:1;s:3:"-19";i:2;s:3:"522";i:3;s:3:"710";}}i:58;a:4:{s:1:"C";s:2:"58";s:2:"WX";s:3:"333";s:1:"N";s:5:"colon";s:1:"B";a:4:{i:0;s:2:"92";i:1;s:1:"0";i:2;s:3:"242";i:3;s:3:"512";}}s:5:"colon";a:4:{s:1:"C";s:2:"58";s:2:"WX";s:3:"333";s:1:"N";s:5:"colon";s:1:"B";a:4:{i:0;s:2:"92";i:1;s:1:"0";i:2;s:3:"242";i:3;s:3:"512";}}i:59;a:4:{s:1:"C";s:2:"59";s:2:"WX";s:3:"333";s:1:"N";s:9:"semicolon";s:1:"B";a:4:{i:0;s:2:"92";i:1;s:4:"-168";i:2;s:3:"242";i:3;s:3:"512";}}s:9:"semicolon";a:4:{s:1:"C";s:2:"59";s:2:"WX";s:3:"333";s:1:"N";s:9:"semicolon";s:1:"B";a:4:{i:0;s:2:"92";i:1;s:4:"-168";i:2;s:3:"242";i:3;s:3:"512";}}i:60;a:4:{s:1:"C";s:2:"60";s:2:"WX";s:3:"584";s:1:"N";s:4:"less";s:1:"B";a:4:{i:0;s:2:"38";i:1;s:2:"-8";i:2;s:3:"546";i:3;s:3:"514";}}s:4:"less";a:4:{s:1:"C";s:2:"60";s:2:"WX";s:3:"584";s:1:"N";s:4:"less";s:1:"B";a:4:{i:0;s:2:"38";i:1;s:2:"-8";i:2;s:3:"546";i:3;s:3:"514";}}i:61;a:4:{s:1:"C";s:2:"61";s:2:"WX";s:3:"584";s:1:"N";s:5:"equal";s:1:"B";a:4:{i:0;s:2:"40";i:1;s:2:"87";i:2;s:3:"544";i:3;s:3:"419";}}s:5:"equal";a:4:{s:1:"C";s:2:"61";s:2:"WX";s:3:"584";s:1:"N";s:5:"equal";s:1:"B";a:4:{i:0;s:2:"40";i:1;s:2:"87";i:2;s:3:"544";i:3;s:3:"419";}}i:62;a:4:{s:1:"C";s:2:"62";s:2:"WX";s:3:"584";s:1:"N";s:7:"greater";s:1:"B";a:4:{i:0;s:2:"38";i:1;s:2:"-8";i:2;s:3:"546";i:3;s:3:"514";}}s:7:"greater";a:4:{s:1:"C";s:2:"62";s:2:"WX";s:3:"584";s:1:"N";s:7:"greater";s:1:"B";a:4:{i:0;s:2:"38";i:1;s:2:"-8";i:2;s:3:"546";i:3;s:3:"514";}}i:63;a:4:{s:1:"C";s:2:"63";s:2:"WX";s:3:"611";s:1:"N";s:8:"question";s:1:"B";a:4:{i:0;s:2:"60";i:1;s:1:"0";i:2;s:3:"556";i:3;s:3:"727";}}s:8:"question";a:4:{s:1:"C";s:2:"63";s:2:"WX";s:3:"611";s:1:"N";s:8:"question";s:1:"B";a:4:{i:0;s:2:"60";i:1;s:1:"0";i:2;s:3:"556";i:3;s:3:"727";}}i:64;a:4:{s:1:"C";s:2:"64";s:2:"WX";s:3:"975";s:1:"N";s:2:"at";s:1:"B";a:4:{i:0;s:3:"118";i:1;s:3:"-19";i:2;s:3:"856";i:3;s:3:"737";}}s:2:"at";a:4:{s:1:"C";s:2:"64";s:2:"WX";s:3:"975";s:1:"N";s:2:"at";s:1:"B";a:4:{i:0;s:3:"118";i:1;s:3:"-19";i:2;s:3:"856";i:3;s:3:"737";}}i:65;a:4:{s:1:"C";s:2:"65";s:2:"WX";s:3:"722";s:1:"N";s:1:"A";s:1:"B";a:4:{i:0;s:2:"20";i:1;s:1:"0";i:2;s:3:"702";i:3;s:3:"718";}}s:1:"A";a:4:{s:1:"C";s:2:"65";s:2:"WX";s:3:"722";s:1:"N";s:1:"A";s:1:"B";a:4:{i:0;s:2:"20";i:1;s:1:"0";i:2;s:3:"702";i:3;s:3:"718";}}i:66;a:4:{s:1:"C";s:2:"66";s:2:"WX";s:3:"722";s:1:"N";s:1:"B";s:1:"B";a:4:{i:0;s:2:"76";i:1;s:1:"0";i:2;s:3:"669";i:3;s:3:"718";}}s:1:"B";a:4:{s:1:"C";s:2:"66";s:2:"WX";s:3:"722";s:1:"N";s:1:"B";s:1:"B";a:4:{i:0;s:2:"76";i:1;s:1:"0";i:2;s:3:"669";i:3;s:3:"718";}}i:67;a:4:{s:1:"C";s:2:"67";s:2:"WX";s:3:"722";s:1:"N";s:1:"C";s:1:"B";a:4:{i:0;s:2:"44";i:1;s:3:"-19";i:2;s:3:"684";i:3;s:3:"737";}}s:1:"C";a:4:{s:1:"C";s:2:"67";s:2:"WX";s:3:"722";s:1:"N";s:1:"C";s:1:"B";a:4:{i:0;s:2:"44";i:1;s:3:"-19";i:2;s:3:"684";i:3;s:3:"737";}}i:68;a:4:{s:1:"C";s:2:"68";s:2:"WX";s:3:"722";s:1:"N";s:1:"D";s:1:"B";a:4:{i:0;s:2:"76";i:1;s:1:"0";i:2;s:3:"685";i:3;s:3:"718";}}s:1:"D";a:4:{s:1:"C";s:2:"68";s:2:"WX";s:3:"722";s:1:"N";s:1:"D";s:1:"B";a:4:{i:0;s:2:"76";i:1;s:1:"0";i:2;s:3:"685";i:3;s:3:"718";}}i:69;a:4:{s:1:"C";s:2:"69";s:2:"WX";s:3:"667";s:1:"N";s:1:"E";s:1:"B";a:4:{i:0;s:2:"76";i:1;s:1:"0";i:2;s:3:"621";i:3;s:3:"718";}}s:1:"E";a:4:{s:1:"C";s:2:"69";s:2:"WX";s:3:"667";s:1:"N";s:1:"E";s:1:"B";a:4:{i:0;s:2:"76";i:1;s:1:"0";i:2;s:3:"621";i:3;s:3:"718";}}i:70;a:4:{s:1:"C";s:2:"70";s:2:"WX";s:3:"611";s:1:"N";s:1:"F";s:1:"B";a:4:{i:0;s:2:"76";i:1;s:1:"0";i:2;s:3:"587";i:3;s:3:"718";}}s:1:"F";a:4:{s:1:"C";s:2:"70";s:2:"WX";s:3:"611";s:1:"N";s:1:"F";s:1:"B";a:4:{i:0;s:2:"76";i:1;s:1:"0";i:2;s:3:"587";i:3;s:3:"718";}}i:71;a:4:{s:1:"C";s:2:"71";s:2:"WX";s:3:"778";s:1:"N";s:1:"G";s:1:"B";a:4:{i:0;s:2:"44";i:1;s:3:"-19";i:2;s:3:"713";i:3;s:3:"737";}}s:1:"G";a:4:{s:1:"C";s:2:"71";s:2:"WX";s:3:"778";s:1:"N";s:1:"G";s:1:"B";a:4:{i:0;s:2:"44";i:1;s:3:"-19";i:2;s:3:"713";i:3;s:3:"737";}}i:72;a:4:{s:1:"C";s:2:"72";s:2:"WX";s:3:"722";s:1:"N";s:1:"H";s:1:"B";a:4:{i:0;s:2:"71";i:1;s:1:"0";i:2;s:3:"651";i:3;s:3:"718";}}s:1:"H";a:4:{s:1:"C";s:2:"72";s:2:"WX";s:3:"722";s:1:"N";s:1:"H";s:1:"B";a:4:{i:0;s:2:"71";i:1;s:1:"0";i:2;s:3:"651";i:3;s:3:"718";}}i:73;a:4:{s:1:"C";s:2:"73";s:2:"WX";s:3:"278";s:1:"N";s:1:"I";s:1:"B";a:4:{i:0;s:2:"64";i:1;s:1:"0";i:2;s:3:"214";i:3;s:3:"718";}}s:1:"I";a:4:{s:1:"C";s:2:"73";s:2:"WX";s:3:"278";s:1:"N";s:1:"I";s:1:"B";a:4:{i:0;s:2:"64";i:1;s:1:"0";i:2;s:3:"214";i:3;s:3:"718";}}i:74;a:4:{s:1:"C";s:2:"74";s:2:"WX";s:3:"556";s:1:"N";s:1:"J";s:1:"B";a:4:{i:0;s:2:"22";i:1;s:3:"-18";i:2;s:3:"484";i:3;s:3:"718";}}s:1:"J";a:4:{s:1:"C";s:2:"74";s:2:"WX";s:3:"556";s:1:"N";s:1:"J";s:1:"B";a:4:{i:0;s:2:"22";i:1;s:3:"-18";i:2;s:3:"484";i:3;s:3:"718";}}i:75;a:4:{s:1:"C";s:2:"75";s:2:"WX";s:3:"722";s:1:"N";s:1:"K";s:1:"B";a:4:{i:0;s:2:"87";i:1;s:1:"0";i:2;s:3:"722";i:3;s:3:"718";}}s:1:"K";a:4:{s:1:"C";s:2:"75";s:2:"WX";s:3:"722";s:1:"N";s:1:"K";s:1:"B";a:4:{i:0;s:2:"87";i:1;s:1:"0";i:2;s:3:"722";i:3;s:3:"718";}}i:76;a:4:{s:1:"C";s:2:"76";s:2:"WX";s:3:"611";s:1:"N";s:1:"L";s:1:"B";a:4:{i:0;s:2:"76";i:1;s:1:"0";i:2;s:3:"583";i:3;s:3:"718";}}s:1:"L";a:4:{s:1:"C";s:2:"76";s:2:"WX";s:3:"611";s:1:"N";s:1:"L";s:1:"B";a:4:{i:0;s:2:"76";i:1;s:1:"0";i:2;s:3:"583";i:3;s:3:"718";}}i:77;a:4:{s:1:"C";s:2:"77";s:2:"WX";s:3:"833";s:1:"N";s:1:"M";s:1:"B";a:4:{i:0;s:2:"69";i:1;s:1:"0";i:2;s:3:"765";i:3;s:3:"718";}}s:1:"M";a:4:{s:1:"C";s:2:"77";s:2:"WX";s:3:"833";s:1:"N";s:1:"M";s:1:"B";a:4:{i:0;s:2:"69";i:1;s:1:"0";i:2;s:3:"765";i:3;s:3:"718";}}i:78;a:4:{s:1:"C";s:2:"78";s:2:"WX";s:3:"722";s:1:"N";s:1:"N";s:1:"B";a:4:{i:0;s:2:"69";i:1;s:1:"0";i:2;s:3:"654";i:3;s:3:"718";}}s:1:"N";a:4:{s:1:"C";s:2:"78";s:2:"WX";s:3:"722";s:1:"N";s:1:"N";s:1:"B";a:4:{i:0;s:2:"69";i:1;s:1:"0";i:2;s:3:"654";i:3;s:3:"718";}}i:79;a:4:{s:1:"C";s:2:"79";s:2:"WX";s:3:"778";s:1:"N";s:1:"O";s:1:"B";a:4:{i:0;s:2:"44";i:1;s:3:"-19";i:2;s:3:"734";i:3;s:3:"737";}}s:1:"O";a:4:{s:1:"C";s:2:"79";s:2:"WX";s:3:"778";s:1:"N";s:1:"O";s:1:"B";a:4:{i:0;s:2:"44";i:1;s:3:"-19";i:2;s:3:"734";i:3;s:3:"737";}}i:80;a:4:{s:1:"C";s:2:"80";s:2:"WX";s:3:"667";s:1:"N";s:1:"P";s:1:"B";a:4:{i:0;s:2:"76";i:1;s:1:"0";i:2;s:3:"627";i:3;s:3:"718";}}s:1:"P";a:4:{s:1:"C";s:2:"80";s:2:"WX";s:3:"667";s:1:"N";s:1:"P";s:1:"B";a:4:{i:0;s:2:"76";i:1;s:1:"0";i:2;s:3:"627";i:3;s:3:"718";}}i:81;a:4:{s:1:"C";s:2:"81";s:2:"WX";s:3:"778";s:1:"N";s:1:"Q";s:1:"B";a:4:{i:0;s:2:"44";i:1;s:3:"-52";i:2;s:3:"737";i:3;s:3:"737";}}s:1:"Q";a:4:{s:1:"C";s:2:"81";s:2:"WX";s:3:"778";s:1:"N";s:1:"Q";s:1:"B";a:4:{i:0;s:2:"44";i:1;s:3:"-52";i:2;s:3:"737";i:3;s:3:"737";}}i:82;a:4:{s:1:"C";s:2:"82";s:2:"WX";s:3:"722";s:1:"N";s:1:"R";s:1:"B";a:4:{i:0;s:2:"76";i:1;s:1:"0";i:2;s:3:"677";i:3;s:3:"718";}}s:1:"R";a:4:{s:1:"C";s:2:"82";s:2:"WX";s:3:"722";s:1:"N";s:1:"R";s:1:"B";a:4:{i:0;s:2:"76";i:1;s:1:"0";i:2;s:3:"677";i:3;s:3:"718";}}i:83;a:4:{s:1:"C";s:2:"83";s:2:"WX";s:3:"667";s:1:"N";s:1:"S";s:1:"B";a:4:{i:0;s:2:"39";i:1;s:3:"-19";i:2;s:3:"629";i:3;s:3:"737";}}s:1:"S";a:4:{s:1:"C";s:2:"83";s:2:"WX";s:3:"667";s:1:"N";s:1:"S";s:1:"B";a:4:{i:0;s:2:"39";i:1;s:3:"-19";i:2;s:3:"629";i:3;s:3:"737";}}i:84;a:4:{s:1:"C";s:2:"84";s:2:"WX";s:3:"611";s:1:"N";s:1:"T";s:1:"B";a:4:{i:0;s:2:"14";i:1;s:1:"0";i:2;s:3:"598";i:3;s:3:"718";}}s:1:"T";a:4:{s:1:"C";s:2:"84";s:2:"WX";s:3:"611";s:1:"N";s:1:"T";s:1:"B";a:4:{i:0;s:2:"14";i:1;s:1:"0";i:2;s:3:"598";i:3;s:3:"718";}}i:85;a:4:{s:1:"C";s:2:"85";s:2:"WX";s:3:"722";s:1:"N";s:1:"U";s:1:"B";a:4:{i:0;s:2:"72";i:1;s:3:"-19";i:2;s:3:"651";i:3;s:3:"718";}}s:1:"U";a:4:{s:1:"C";s:2:"85";s:2:"WX";s:3:"722";s:1:"N";s:1:"U";s:1:"B";a:4:{i:0;s:2:"72";i:1;s:3:"-19";i:2;s:3:"651";i:3;s:3:"718";}}i:86;a:4:{s:1:"C";s:2:"86";s:2:"WX";s:3:"667";s:1:"N";s:1:"V";s:1:"B";a:4:{i:0;s:2:"19";i:1;s:1:"0";i:2;s:3:"648";i:3;s:3:"718";}}s:1:"V";a:4:{s:1:"C";s:2:"86";s:2:"WX";s:3:"667";s:1:"N";s:1:"V";s:1:"B";a:4:{i:0;s:2:"19";i:1;s:1:"0";i:2;s:3:"648";i:3;s:3:"718";}}i:87;a:4:{s:1:"C";s:2:"87";s:2:"WX";s:3:"944";s:1:"N";s:1:"W";s:1:"B";a:4:{i:0;s:2:"16";i:1;s:1:"0";i:2;s:3:"929";i:3;s:3:"718";}}s:1:"W";a:4:{s:1:"C";s:2:"87";s:2:"WX";s:3:"944";s:1:"N";s:1:"W";s:1:"B";a:4:{i:0;s:2:"16";i:1;s:1:"0";i:2;s:3:"929";i:3;s:3:"718";}}i:88;a:4:{s:1:"C";s:2:"88";s:2:"WX";s:3:"667";s:1:"N";s:1:"X";s:1:"B";a:4:{i:0;s:2:"14";i:1;s:1:"0";i:2;s:3:"653";i:3;s:3:"718";}}s:1:"X";a:4:{s:1:"C";s:2:"88";s:2:"WX";s:3:"667";s:1:"N";s:1:"X";s:1:"B";a:4:{i:0;s:2:"14";i:1;s:1:"0";i:2;s:3:"653";i:3;s:3:"718";}}i:89;a:4:{s:1:"C";s:2:"89";s:2:"WX";s:3:"667";s:1:"N";s:1:"Y";s:1:"B";a:4:{i:0;s:2:"15";i:1;s:1:"0";i:2;s:3:"653";i:3;s:3:"718";}}s:1:"Y";a:4:{s:1:"C";s:2:"89";s:2:"WX";s:3:"667";s:1:"N";s:1:"Y";s:1:"B";a:4:{i:0;s:2:"15";i:1;s:1:"0";i:2;s:3:"653";i:3;s:3:"718";}}i:90;a:4:{s:1:"C";s:2:"90";s:2:"WX";s:3:"611";s:1:"N";s:1:"Z";s:1:"B";a:4:{i:0;s:2:"25";i:1;s:1:"0";i:2;s:3:"586";i:3;s:3:"718";}}s:1:"Z";a:4:{s:1:"C";s:2:"90";s:2:"WX";s:3:"611";s:1:"N";s:1:"Z";s:1:"B";a:4:{i:0;s:2:"25";i:1;s:1:"0";i:2;s:3:"586";i:3;s:3:"718";}}i:91;a:4:{s:1:"C";s:2:"91";s:2:"WX";s:3:"333";s:1:"N";s:11:"bracketleft";s:1:"B";a:4:{i:0;s:2:"63";i:1;s:4:"-196";i:2;s:3:"309";i:3;s:3:"722";}}s:11:"bracketleft";a:4:{s:1:"C";s:2:"91";s:2:"WX";s:3:"333";s:1:"N";s:11:"bracketleft";s:1:"B";a:4:{i:0;s:2:"63";i:1;s:4:"-196";i:2;s:3:"309";i:3;s:3:"722";}}i:92;a:4:{s:1:"C";s:2:"92";s:2:"WX";s:3:"278";s:1:"N";s:9:"backslash";s:1:"B";a:4:{i:0;s:3:"-33";i:1;s:3:"-19";i:2;s:3:"311";i:3;s:3:"737";}}s:9:"backslash";a:4:{s:1:"C";s:2:"92";s:2:"WX";s:3:"278";s:1:"N";s:9:"backslash";s:1:"B";a:4:{i:0;s:3:"-33";i:1;s:3:"-19";i:2;s:3:"311";i:3;s:3:"737";}}i:93;a:4:{s:1:"C";s:2:"93";s:2:"WX";s:3:"333";s:1:"N";s:12:"bracketright";s:1:"B";a:4:{i:0;s:2:"24";i:1;s:4:"-196";i:2;s:3:"270";i:3;s:3:"722";}}s:12:"bracketright";a:4:{s:1:"C";s:2:"93";s:2:"WX";s:3:"333";s:1:"N";s:12:"bracketright";s:1:"B";a:4:{i:0;s:2:"24";i:1;s:4:"-196";i:2;s:3:"270";i:3;s:3:"722";}}i:94;a:4:{s:1:"C";s:2:"94";s:2:"WX";s:3:"584";s:1:"N";s:11:"asciicircum";s:1:"B";a:4:{i:0;s:2:"62";i:1;s:3:"323";i:2;s:3:"522";i:3;s:3:"698";}}s:11:"asciicircum";a:4:{s:1:"C";s:2:"94";s:2:"WX";s:3:"584";s:1:"N";s:11:"asciicircum";s:1:"B";a:4:{i:0;s:2:"62";i:1;s:3:"323";i:2;s:3:"522";i:3;s:3:"698";}}i:95;a:4:{s:1:"C";s:2:"95";s:2:"WX";s:3:"556";s:1:"N";s:10:"underscore";s:1:"B";a:4:{i:0;s:1:"0";i:1;s:4:"-125";i:2;s:3:"556";i:3;s:3:"-75";}}s:10:"underscore";a:4:{s:1:"C";s:2:"95";s:2:"WX";s:3:"556";s:1:"N";s:10:"underscore";s:1:"B";a:4:{i:0;s:1:"0";i:1;s:4:"-125";i:2;s:3:"556";i:3;s:3:"-75";}}i:96;a:4:{s:1:"C";s:2:"96";s:2:"WX";s:3:"278";s:1:"N";s:9:"quoteleft";s:1:"B";a:4:{i:0;s:2:"69";i:1;s:3:"454";i:2;s:3:"209";i:3;s:3:"727";}}s:9:"quoteleft";a:4:{s:1:"C";s:2:"96";s:2:"WX";s:3:"278";s:1:"N";s:9:"quoteleft";s:1:"B";a:4:{i:0;s:2:"69";i:1;s:3:"454";i:2;s:3:"209";i:3;s:3:"727";}}i:97;a:4:{s:1:"C";s:2:"97";s:2:"WX";s:3:"556";s:1:"N";s:1:"a";s:1:"B";a:4:{i:0;s:2:"29";i:1;s:3:"-14";i:2;s:3:"527";i:3;s:3:"546";}}s:1:"a";a:4:{s:1:"C";s:2:"97";s:2:"WX";s:3:"556";s:1:"N";s:1:"a";s:1:"B";a:4:{i:0;s:2:"29";i:1;s:3:"-14";i:2;s:3:"527";i:3;s:3:"546";}}i:98;a:4:{s:1:"C";s:2:"98";s:2:"WX";s:3:"611";s:1:"N";s:1:"b";s:1:"B";a:4:{i:0;s:2:"61";i:1;s:3:"-14";i:2;s:3:"578";i:3;s:3:"718";}}s:1:"b";a:4:{s:1:"C";s:2:"98";s:2:"WX";s:3:"611";s:1:"N";s:1:"b";s:1:"B";a:4:{i:0;s:2:"61";i:1;s:3:"-14";i:2;s:3:"578";i:3;s:3:"718";}}i:99;a:4:{s:1:"C";s:2:"99";s:2:"WX";s:3:"556";s:1:"N";s:1:"c";s:1:"B";a:4:{i:0;s:2:"34";i:1;s:3:"-14";i:2;s:3:"524";i:3;s:3:"546";}}s:1:"c";a:4:{s:1:"C";s:2:"99";s:2:"WX";s:3:"556";s:1:"N";s:1:"c";s:1:"B";a:4:{i:0;s:2:"34";i:1;s:3:"-14";i:2;s:3:"524";i:3;s:3:"546";}}i:100;a:4:{s:1:"C";s:3:"100";s:2:"WX";s:3:"611";s:1:"N";s:1:"d";s:1:"B";a:4:{i:0;s:2:"34";i:1;s:3:"-14";i:2;s:3:"551";i:3;s:3:"718";}}s:1:"d";a:4:{s:1:"C";s:3:"100";s:2:"WX";s:3:"611";s:1:"N";s:1:"d";s:1:"B";a:4:{i:0;s:2:"34";i:1;s:3:"-14";i:2;s:3:"551";i:3;s:3:"718";}}i:101;a:4:{s:1:"C";s:3:"101";s:2:"WX";s:3:"556";s:1:"N";s:1:"e";s:1:"B";a:4:{i:0;s:2:"23";i:1;s:3:"-14";i:2;s:3:"528";i:3;s:3:"546";}}s:1:"e";a:4:{s:1:"C";s:3:"101";s:2:"WX";s:3:"556";s:1:"N";s:1:"e";s:1:"B";a:4:{i:0;s:2:"23";i:1;s:3:"-14";i:2;s:3:"528";i:3;s:3:"546";}}i:102;a:5:{s:1:"C";s:3:"102";s:2:"WX";s:3:"333";s:1:"N";s:1:"f";s:1:"B";a:4:{i:0;s:2:"10";i:1;s:1:"0";i:2;s:3:"318";i:3;s:3:"727";}s:1:"L";a:2:{i:0;s:1:"l";i:1;s:2:"fl";}}s:1:"f";a:5:{s:1:"C";s:3:"102";s:2:"WX";s:3:"333";s:1:"N";s:1:"f";s:1:"B";a:4:{i:0;s:2:"10";i:1;s:1:"0";i:2;s:3:"318";i:3;s:3:"727";}s:1:"L";a:2:{i:0;s:1:"l";i:1;s:2:"fl";}}i:103;a:4:{s:1:"C";s:3:"103";s:2:"WX";s:3:"611";s:1:"N";s:1:"g";s:1:"B";a:4:{i:0;s:2:"40";i:1;s:4:"-217";i:2;s:3:"553";i:3;s:3:"546";}}s:1:"g";a:4:{s:1:"C";s:3:"103";s:2:"WX";s:3:"611";s:1:"N";s:1:"g";s:1:"B";a:4:{i:0;s:2:"40";i:1;s:4:"-217";i:2;s:3:"553";i:3;s:3:"546";}}i:104;a:4:{s:1:"C";s:3:"104";s:2:"WX";s:3:"611";s:1:"N";s:1:"h";s:1:"B";a:4:{i:0;s:2:"65";i:1;s:1:"0";i:2;s:3:"546";i:3;s:3:"718";}}s:1:"h";a:4:{s:1:"C";s:3:"104";s:2:"WX";s:3:"611";s:1:"N";s:1:"h";s:1:"B";a:4:{i:0;s:2:"65";i:1;s:1:"0";i:2;s:3:"546";i:3;s:3:"718";}}i:105;a:4:{s:1:"C";s:3:"105";s:2:"WX";s:3:"278";s:1:"N";s:1:"i";s:1:"B";a:4:{i:0;s:2:"69";i:1;s:1:"0";i:2;s:3:"209";i:3;s:3:"725";}}s:1:"i";a:4:{s:1:"C";s:3:"105";s:2:"WX";s:3:"278";s:1:"N";s:1:"i";s:1:"B";a:4:{i:0;s:2:"69";i:1;s:1:"0";i:2;s:3:"209";i:3;s:3:"725";}}i:106;a:4:{s:1:"C";s:3:"106";s:2:"WX";s:3:"278";s:1:"N";s:1:"j";s:1:"B";a:4:{i:0;s:1:"3";i:1;s:4:"-214";i:2;s:3:"209";i:3;s:3:"725";}}s:1:"j";a:4:{s:1:"C";s:3:"106";s:2:"WX";s:3:"278";s:1:"N";s:1:"j";s:1:"B";a:4:{i:0;s:1:"3";i:1;s:4:"-214";i:2;s:3:"209";i:3;s:3:"725";}}i:107;a:4:{s:1:"C";s:3:"107";s:2:"WX";s:3:"556";s:1:"N";s:1:"k";s:1:"B";a:4:{i:0;s:2:"69";i:1;s:1:"0";i:2;s:3:"562";i:3;s:3:"718";}}s:1:"k";a:4:{s:1:"C";s:3:"107";s:2:"WX";s:3:"556";s:1:"N";s:1:"k";s:1:"B";a:4:{i:0;s:2:"69";i:1;s:1:"0";i:2;s:3:"562";i:3;s:3:"718";}}i:108;a:4:{s:1:"C";s:3:"108";s:2:"WX";s:3:"278";s:1:"N";s:1:"l";s:1:"B";a:4:{i:0;s:2:"69";i:1;s:1:"0";i:2;s:3:"209";i:3;s:3:"718";}}s:1:"l";a:4:{s:1:"C";s:3:"108";s:2:"WX";s:3:"278";s:1:"N";s:1:"l";s:1:"B";a:4:{i:0;s:2:"69";i:1;s:1:"0";i:2;s:3:"209";i:3;s:3:"718";}}i:109;a:4:{s:1:"C";s:3:"109";s:2:"WX";s:3:"889";s:1:"N";s:1:"m";s:1:"B";a:4:{i:0;s:2:"64";i:1;s:1:"0";i:2;s:3:"826";i:3;s:3:"546";}}s:1:"m";a:4:{s:1:"C";s:3:"109";s:2:"WX";s:3:"889";s:1:"N";s:1:"m";s:1:"B";a:4:{i:0;s:2:"64";i:1;s:1:"0";i:2;s:3:"826";i:3;s:3:"546";}}i:110;a:4:{s:1:"C";s:3:"110";s:2:"WX";s:3:"611";s:1:"N";s:1:"n";s:1:"B";a:4:{i:0;s:2:"65";i:1;s:1:"0";i:2;s:3:"546";i:3;s:3:"546";}}s:1:"n";a:4:{s:1:"C";s:3:"110";s:2:"WX";s:3:"611";s:1:"N";s:1:"n";s:1:"B";a:4:{i:0;s:2:"65";i:1;s:1:"0";i:2;s:3:"546";i:3;s:3:"546";}}i:111;a:4:{s:1:"C";s:3:"111";s:2:"WX";s:3:"611";s:1:"N";s:1:"o";s:1:"B";a:4:{i:0;s:2:"34";i:1;s:3:"-14";i:2;s:3:"578";i:3;s:3:"546";}}s:1:"o";a:4:{s:1:"C";s:3:"111";s:2:"WX";s:3:"611";s:1:"N";s:1:"o";s:1:"B";a:4:{i:0;s:2:"34";i:1;s:3:"-14";i:2;s:3:"578";i:3;s:3:"546";}}i:112;a:4:{s:1:"C";s:3:"112";s:2:"WX";s:3:"611";s:1:"N";s:1:"p";s:1:"B";a:4:{i:0;s:2:"62";i:1;s:4:"-207";i:2;s:3:"578";i:3;s:3:"546";}}s:1:"p";a:4:{s:1:"C";s:3:"112";s:2:"WX";s:3:"611";s:1:"N";s:1:"p";s:1:"B";a:4:{i:0;s:2:"62";i:1;s:4:"-207";i:2;s:3:"578";i:3;s:3:"546";}}i:113;a:4:{s:1:"C";s:3:"113";s:2:"WX";s:3:"611";s:1:"N";s:1:"q";s:1:"B";a:4:{i:0;s:2:"34";i:1;s:4:"-207";i:2;s:3:"552";i:3;s:3:"546";}}s:1:"q";a:4:{s:1:"C";s:3:"113";s:2:"WX";s:3:"611";s:1:"N";s:1:"q";s:1:"B";a:4:{i:0;s:2:"34";i:1;s:4:"-207";i:2;s:3:"552";i:3;s:3:"546";}}i:114;a:4:{s:1:"C";s:3:"114";s:2:"WX";s:3:"389";s:1:"N";s:1:"r";s:1:"B";a:4:{i:0;s:2:"64";i:1;s:1:"0";i:2;s:3:"373";i:3;s:3:"546";}}s:1:"r";a:4:{s:1:"C";s:3:"114";s:2:"WX";s:3:"389";s:1:"N";s:1:"r";s:1:"B";a:4:{i:0;s:2:"64";i:1;s:1:"0";i:2;s:3:"373";i:3;s:3:"546";}}i:115;a:4:{s:1:"C";s:3:"115";s:2:"WX";s:3:"556";s:1:"N";s:1:"s";s:1:"B";a:4:{i:0;s:2:"30";i:1;s:3:"-14";i:2;s:3:"519";i:3;s:3:"546";}}s:1:"s";a:4:{s:1:"C";s:3:"115";s:2:"WX";s:3:"556";s:1:"N";s:1:"s";s:1:"B";a:4:{i:0;s:2:"30";i:1;s:3:"-14";i:2;s:3:"519";i:3;s:3:"546";}}i:116;a:4:{s:1:"C";s:3:"116";s:2:"WX";s:3:"333";s:1:"N";s:1:"t";s:1:"B";a:4:{i:0;s:2:"10";i:1;s:2:"-6";i:2;s:3:"309";i:3;s:3:"676";}}s:1:"t";a:4:{s:1:"C";s:3:"116";s:2:"WX";s:3:"333";s:1:"N";s:1:"t";s:1:"B";a:4:{i:0;s:2:"10";i:1;s:2:"-6";i:2;s:3:"309";i:3;s:3:"676";}}i:117;a:4:{s:1:"C";s:3:"117";s:2:"WX";s:3:"611";s:1:"N";s:1:"u";s:1:"B";a:4:{i:0;s:2:"66";i:1;s:3:"-14";i:2;s:3:"545";i:3;s:3:"532";}}s:1:"u";a:4:{s:1:"C";s:3:"117";s:2:"WX";s:3:"611";s:1:"N";s:1:"u";s:1:"B";a:4:{i:0;s:2:"66";i:1;s:3:"-14";i:2;s:3:"545";i:3;s:3:"532";}}i:118;a:4:{s:1:"C";s:3:"118";s:2:"WX";s:3:"556";s:1:"N";s:1:"v";s:1:"B";a:4:{i:0;s:2:"13";i:1;s:1:"0";i:2;s:3:"543";i:3;s:3:"532";}}s:1:"v";a:4:{s:1:"C";s:3:"118";s:2:"WX";s:3:"556";s:1:"N";s:1:"v";s:1:"B";a:4:{i:0;s:2:"13";i:1;s:1:"0";i:2;s:3:"543";i:3;s:3:"532";}}i:119;a:4:{s:1:"C";s:3:"119";s:2:"WX";s:3:"778";s:1:"N";s:1:"w";s:1:"B";a:4:{i:0;s:2:"10";i:1;s:1:"0";i:2;s:3:"769";i:3;s:3:"532";}}s:1:"w";a:4:{s:1:"C";s:3:"119";s:2:"WX";s:3:"778";s:1:"N";s:1:"w";s:1:"B";a:4:{i:0;s:2:"10";i:1;s:1:"0";i:2;s:3:"769";i:3;s:3:"532";}}i:120;a:4:{s:1:"C";s:3:"120";s:2:"WX";s:3:"556";s:1:"N";s:1:"x";s:1:"B";a:4:{i:0;s:2:"15";i:1;s:1:"0";i:2;s:3:"541";i:3;s:3:"532";}}s:1:"x";a:4:{s:1:"C";s:3:"120";s:2:"WX";s:3:"556";s:1:"N";s:1:"x";s:1:"B";a:4:{i:0;s:2:"15";i:1;s:1:"0";i:2;s:3:"541";i:3;s:3:"532";}}i:121;a:4:{s:1:"C";s:3:"121";s:2:"WX";s:3:"556";s:1:"N";s:1:"y";s:1:"B";a:4:{i:0;s:2:"10";i:1;s:4:"-214";i:2;s:3:"539";i:3;s:3:"532";}}s:1:"y";a:4:{s:1:"C";s:3:"121";s:2:"WX";s:3:"556";s:1:"N";s:1:"y";s:1:"B";a:4:{i:0;s:2:"10";i:1;s:4:"-214";i:2;s:3:"539";i:3;s:3:"532";}}i:122;a:4:{s:1:"C";s:3:"122";s:2:"WX";s:3:"500";s:1:"N";s:1:"z";s:1:"B";a:4:{i:0;s:2:"20";i:1;s:1:"0";i:2;s:3:"480";i:3;s:3:"532";}}s:1:"z";a:4:{s:1:"C";s:3:"122";s:2:"WX";s:3:"500";s:1:"N";s:1:"z";s:1:"B";a:4:{i:0;s:2:"20";i:1;s:1:"0";i:2;s:3:"480";i:3;s:3:"532";}}i:123;a:4:{s:1:"C";s:3:"123";s:2:"WX";s:3:"389";s:1:"N";s:9:"braceleft";s:1:"B";a:4:{i:0;s:2:"48";i:1;s:4:"-196";i:2;s:3:"365";i:3;s:3:"722";}}s:9:"braceleft";a:4:{s:1:"C";s:3:"123";s:2:"WX";s:3:"389";s:1:"N";s:9:"braceleft";s:1:"B";a:4:{i:0;s:2:"48";i:1;s:4:"-196";i:2;s:3:"365";i:3;s:3:"722";}}i:124;a:4:{s:1:"C";s:3:"124";s:2:"WX";s:3:"280";s:1:"N";s:3:"bar";s:1:"B";a:4:{i:0;s:2:"84";i:1;s:4:"-225";i:2;s:3:"196";i:3;s:3:"775";}}s:3:"bar";a:4:{s:1:"C";s:3:"124";s:2:"WX";s:3:"280";s:1:"N";s:3:"bar";s:1:"B";a:4:{i:0;s:2:"84";i:1;s:4:"-225";i:2;s:3:"196";i:3;s:3:"775";}}i:125;a:4:{s:1:"C";s:3:"125";s:2:"WX";s:3:"389";s:1:"N";s:10:"braceright";s:1:"B";a:4:{i:0;s:2:"24";i:1;s:4:"-196";i:2;s:3:"341";i:3;s:3:"722";}}s:10:"braceright";a:4:{s:1:"C";s:3:"125";s:2:"WX";s:3:"389";s:1:"N";s:10:"braceright";s:1:"B";a:4:{i:0;s:2:"24";i:1;s:4:"-196";i:2;s:3:"341";i:3;s:3:"722";}}i:126;a:4:{s:1:"C";s:3:"126";s:2:"WX";s:3:"584";s:1:"N";s:10:"asciitilde";s:1:"B";a:4:{i:0;s:2:"61";i:1;s:3:"163";i:2;s:3:"523";i:3;s:3:"343";}}s:10:"asciitilde";a:4:{s:1:"C";s:3:"126";s:2:"WX";s:3:"584";s:1:"N";s:10:"asciitilde";s:1:"B";a:4:{i:0;s:2:"61";i:1;s:3:"163";i:2;s:3:"523";i:3;s:3:"343";}}i:161;a:4:{s:1:"C";s:3:"161";s:2:"WX";s:3:"333";s:1:"N";s:10:"exclamdown";s:1:"B";a:4:{i:0;s:2:"90";i:1;s:4:"-186";i:2;s:3:"244";i:3;s:3:"532";}}s:10:"exclamdown";a:4:{s:1:"C";s:3:"161";s:2:"WX";s:3:"333";s:1:"N";s:10:"exclamdown";s:1:"B";a:4:{i:0;s:2:"90";i:1;s:4:"-186";i:2;s:3:"244";i:3;s:3:"532";}}i:162;a:4:{s:1:"C";s:3:"162";s:2:"WX";s:3:"556";s:1:"N";s:4:"cent";s:1:"B";a:4:{i:0;s:2:"34";i:1;s:4:"-118";i:2;s:3:"524";i:3;s:3:"628";}}s:4:"cent";a:4:{s:1:"C";s:3:"162";s:2:"WX";s:3:"556";s:1:"N";s:4:"cent";s:1:"B";a:4:{i:0;s:2:"34";i:1;s:4:"-118";i:2;s:3:"524";i:3;s:3:"628";}}i:163;a:4:{s:1:"C";s:3:"163";s:2:"WX";s:3:"556";s:1:"N";s:8:"sterling";s:1:"B";a:4:{i:0;s:2:"28";i:1;s:3:"-16";i:2;s:3:"541";i:3;s:3:"718";}}s:8:"sterling";a:4:{s:1:"C";s:3:"163";s:2:"WX";s:3:"556";s:1:"N";s:8:"sterling";s:1:"B";a:4:{i:0;s:2:"28";i:1;s:3:"-16";i:2;s:3:"541";i:3;s:3:"718";}}i:164;a:4:{s:1:"C";s:3:"164";s:2:"WX";s:3:"167";s:1:"N";s:8:"fraction";s:1:"B";a:4:{i:0;s:4:"-170";i:1;s:3:"-19";i:2;s:3:"336";i:3;s:3:"710";}}s:8:"fraction";a:4:{s:1:"C";s:3:"164";s:2:"WX";s:3:"167";s:1:"N";s:8:"fraction";s:1:"B";a:4:{i:0;s:4:"-170";i:1;s:3:"-19";i:2;s:3:"336";i:3;s:3:"710";}}i:165;a:4:{s:1:"C";s:3:"165";s:2:"WX";s:3:"556";s:1:"N";s:3:"yen";s:1:"B";a:4:{i:0;s:2:"-9";i:1;s:1:"0";i:2;s:3:"565";i:3;s:3:"698";}}s:3:"yen";a:4:{s:1:"C";s:3:"165";s:2:"WX";s:3:"556";s:1:"N";s:3:"yen";s:1:"B";a:4:{i:0;s:2:"-9";i:1;s:1:"0";i:2;s:3:"565";i:3;s:3:"698";}}i:166;a:4:{s:1:"C";s:3:"166";s:2:"WX";s:3:"556";s:1:"N";s:6:"florin";s:1:"B";a:4:{i:0;s:3:"-10";i:1;s:4:"-210";i:2;s:3:"516";i:3;s:3:"737";}}s:6:"florin";a:4:{s:1:"C";s:3:"166";s:2:"WX";s:3:"556";s:1:"N";s:6:"florin";s:1:"B";a:4:{i:0;s:3:"-10";i:1;s:4:"-210";i:2;s:3:"516";i:3;s:3:"737";}}i:167;a:4:{s:1:"C";s:3:"167";s:2:"WX";s:3:"556";s:1:"N";s:7:"section";s:1:"B";a:4:{i:0;s:2:"34";i:1;s:4:"-184";i:2;s:3:"522";i:3;s:3:"727";}}s:7:"section";a:4:{s:1:"C";s:3:"167";s:2:"WX";s:3:"556";s:1:"N";s:7:"section";s:1:"B";a:4:{i:0;s:2:"34";i:1;s:4:"-184";i:2;s:3:"522";i:3;s:3:"727";}}i:168;a:4:{s:1:"C";s:3:"168";s:2:"WX";s:3:"556";s:1:"N";s:8:"currency";s:1:"B";a:4:{i:0;s:2:"-3";i:1;s:2:"76";i:2;s:3:"559";i:3;s:3:"636";}}s:8:"currency";a:4:{s:1:"C";s:3:"168";s:2:"WX";s:3:"556";s:1:"N";s:8:"currency";s:1:"B";a:4:{i:0;s:2:"-3";i:1;s:2:"76";i:2;s:3:"559";i:3;s:3:"636";}}i:169;a:4:{s:1:"C";s:3:"169";s:2:"WX";s:3:"238";s:1:"N";s:11:"quotesingle";s:1:"B";a:4:{i:0;s:2:"70";i:1;s:3:"447";i:2;s:3:"168";i:3;s:3:"718";}}s:11:"quotesingle";a:4:{s:1:"C";s:3:"169";s:2:"WX";s:3:"238";s:1:"N";s:11:"quotesingle";s:1:"B";a:4:{i:0;s:2:"70";i:1;s:3:"447";i:2;s:3:"168";i:3;s:3:"718";}}i:170;a:4:{s:1:"C";s:3:"170";s:2:"WX";s:3:"500";s:1:"N";s:12:"quotedblleft";s:1:"B";a:4:{i:0;s:2:"64";i:1;s:3:"454";i:2;s:3:"436";i:3;s:3:"727";}}s:12:"quotedblleft";a:4:{s:1:"C";s:3:"170";s:2:"WX";s:3:"500";s:1:"N";s:12:"quotedblleft";s:1:"B";a:4:{i:0;s:2:"64";i:1;s:3:"454";i:2;s:3:"436";i:3;s:3:"727";}}i:171;a:4:{s:1:"C";s:3:"171";s:2:"WX";s:3:"556";s:1:"N";s:13:"guillemotleft";s:1:"B";a:4:{i:0;s:2:"88";i:1;s:2:"76";i:2;s:3:"468";i:3;s:3:"484";}}s:13:"guillemotleft";a:4:{s:1:"C";s:3:"171";s:2:"WX";s:3:"556";s:1:"N";s:13:"guillemotleft";s:1:"B";a:4:{i:0;s:2:"88";i:1;s:2:"76";i:2;s:3:"468";i:3;s:3:"484";}}i:172;a:4:{s:1:"C";s:3:"172";s:2:"WX";s:3:"333";s:1:"N";s:13:"guilsinglleft";s:1:"B";a:4:{i:0;s:2:"83";i:1;s:2:"76";i:2;s:3:"250";i:3;s:3:"484";}}s:13:"guilsinglleft";a:4:{s:1:"C";s:3:"172";s:2:"WX";s:3:"333";s:1:"N";s:13:"guilsinglleft";s:1:"B";a:4:{i:0;s:2:"83";i:1;s:2:"76";i:2;s:3:"250";i:3;s:3:"484";}}i:173;a:4:{s:1:"C";s:3:"173";s:2:"WX";s:3:"333";s:1:"N";s:14:"guilsinglright";s:1:"B";a:4:{i:0;s:2:"83";i:1;s:2:"76";i:2;s:3:"250";i:3;s:3:"484";}}s:14:"guilsinglright";a:4:{s:1:"C";s:3:"173";s:2:"WX";s:3:"333";s:1:"N";s:14:"guilsinglright";s:1:"B";a:4:{i:0;s:2:"83";i:1;s:2:"76";i:2;s:3:"250";i:3;s:3:"484";}}i:174;a:4:{s:1:"C";s:3:"174";s:2:"WX";s:3:"611";s:1:"N";s:2:"fi";s:1:"B";a:4:{i:0;s:2:"10";i:1;s:1:"0";i:2;s:3:"542";i:3;s:3:"727";}}s:2:"fi";a:4:{s:1:"C";s:3:"174";s:2:"WX";s:3:"611";s:1:"N";s:2:"fi";s:1:"B";a:4:{i:0;s:2:"10";i:1;s:1:"0";i:2;s:3:"542";i:3;s:3:"727";}}i:175;a:4:{s:1:"C";s:3:"175";s:2:"WX";s:3:"611";s:1:"N";s:2:"fl";s:1:"B";a:4:{i:0;s:2:"10";i:1;s:1:"0";i:2;s:3:"542";i:3;s:3:"727";}}s:2:"fl";a:4:{s:1:"C";s:3:"175";s:2:"WX";s:3:"611";s:1:"N";s:2:"fl";s:1:"B";a:4:{i:0;s:2:"10";i:1;s:1:"0";i:2;s:3:"542";i:3;s:3:"727";}}i:177;a:4:{s:1:"C";s:3:"177";s:2:"WX";s:3:"556";s:1:"N";s:6:"endash";s:1:"B";a:4:{i:0;s:1:"0";i:1;s:3:"227";i:2;s:3:"556";i:3;s:3:"333";}}s:6:"endash";a:4:{s:1:"C";s:3:"177";s:2:"WX";s:3:"556";s:1:"N";s:6:"endash";s:1:"B";a:4:{i:0;s:1:"0";i:1;s:3:"227";i:2;s:3:"556";i:3;s:3:"333";}}i:178;a:4:{s:1:"C";s:3:"178";s:2:"WX";s:3:"556";s:1:"N";s:6:"dagger";s:1:"B";a:4:{i:0;s:2:"36";i:1;s:4:"-171";i:2;s:3:"520";i:3;s:3:"718";}}s:6:"dagger";a:4:{s:1:"C";s:3:"178";s:2:"WX";s:3:"556";s:1:"N";s:6:"dagger";s:1:"B";a:4:{i:0;s:2:"36";i:1;s:4:"-171";i:2;s:3:"520";i:3;s:3:"718";}}i:179;a:4:{s:1:"C";s:3:"179";s:2:"WX";s:3:"556";s:1:"N";s:9:"daggerdbl";s:1:"B";a:4:{i:0;s:2:"36";i:1;s:4:"-171";i:2;s:3:"520";i:3;s:3:"718";}}s:9:"daggerdbl";a:4:{s:1:"C";s:3:"179";s:2:"WX";s:3:"556";s:1:"N";s:9:"daggerdbl";s:1:"B";a:4:{i:0;s:2:"36";i:1;s:4:"-171";i:2;s:3:"520";i:3;s:3:"718";}}i:180;a:4:{s:1:"C";s:3:"180";s:2:"WX";s:3:"278";s:1:"N";s:14:"periodcentered";s:1:"B";a:4:{i:0;s:2:"58";i:1;s:3:"172";i:2;s:3:"220";i:3;s:3:"334";}}s:14:"periodcentered";a:4:{s:1:"C";s:3:"180";s:2:"WX";s:3:"278";s:1:"N";s:14:"periodcentered";s:1:"B";a:4:{i:0;s:2:"58";i:1;s:3:"172";i:2;s:3:"220";i:3;s:3:"334";}}i:182;a:4:{s:1:"C";s:3:"182";s:2:"WX";s:3:"556";s:1:"N";s:9:"paragraph";s:1:"B";a:4:{i:0;s:2:"-8";i:1;s:4:"-191";i:2;s:3:"539";i:3;s:3:"700";}}s:9:"paragraph";a:4:{s:1:"C";s:3:"182";s:2:"WX";s:3:"556";s:1:"N";s:9:"paragraph";s:1:"B";a:4:{i:0;s:2:"-8";i:1;s:4:"-191";i:2;s:3:"539";i:3;s:3:"700";}}i:183;a:4:{s:1:"C";s:3:"183";s:2:"WX";s:3:"350";s:1:"N";s:6:"bullet";s:1:"B";a:4:{i:0;s:2:"10";i:1;s:3:"194";i:2;s:3:"340";i:3;s:3:"524";}}s:6:"bullet";a:4:{s:1:"C";s:3:"183";s:2:"WX";s:3:"350";s:1:"N";s:6:"bullet";s:1:"B";a:4:{i:0;s:2:"10";i:1;s:3:"194";i:2;s:3:"340";i:3;s:3:"524";}}i:184;a:4:{s:1:"C";s:3:"184";s:2:"WX";s:3:"278";s:1:"N";s:14:"quotesinglbase";s:1:"B";a:4:{i:0;s:2:"69";i:1;s:4:"-146";i:2;s:3:"209";i:3;s:3:"127";}}s:14:"quotesinglbase";a:4:{s:1:"C";s:3:"184";s:2:"WX";s:3:"278";s:1:"N";s:14:"quotesinglbase";s:1:"B";a:4:{i:0;s:2:"69";i:1;s:4:"-146";i:2;s:3:"209";i:3;s:3:"127";}}i:185;a:4:{s:1:"C";s:3:"185";s:2:"WX";s:3:"500";s:1:"N";s:12:"quotedblbase";s:1:"B";a:4:{i:0;s:2:"64";i:1;s:4:"-146";i:2;s:3:"436";i:3;s:3:"127";}}s:12:"quotedblbase";a:4:{s:1:"C";s:3:"185";s:2:"WX";s:3:"500";s:1:"N";s:12:"quotedblbase";s:1:"B";a:4:{i:0;s:2:"64";i:1;s:4:"-146";i:2;s:3:"436";i:3;s:3:"127";}}i:186;a:4:{s:1:"C";s:3:"186";s:2:"WX";s:3:"500";s:1:"N";s:13:"quotedblright";s:1:"B";a:4:{i:0;s:2:"64";i:1;s:3:"445";i:2;s:3:"436";i:3;s:3:"718";}}s:13:"quotedblright";a:4:{s:1:"C";s:3:"186";s:2:"WX";s:3:"500";s:1:"N";s:13:"quotedblright";s:1:"B";a:4:{i:0;s:2:"64";i:1;s:3:"445";i:2;s:3:"436";i:3;s:3:"718";}}i:187;a:4:{s:1:"C";s:3:"187";s:2:"WX";s:3:"556";s:1:"N";s:14:"guillemotright";s:1:"B";a:4:{i:0;s:2:"88";i:1;s:2:"76";i:2;s:3:"468";i:3;s:3:"484";}}s:14:"guillemotright";a:4:{s:1:"C";s:3:"187";s:2:"WX";s:3:"556";s:1:"N";s:14:"guillemotright";s:1:"B";a:4:{i:0;s:2:"88";i:1;s:2:"76";i:2;s:3:"468";i:3;s:3:"484";}}i:188;a:4:{s:1:"C";s:3:"188";s:2:"WX";s:4:"1000";s:1:"N";s:8:"ellipsis";s:1:"B";a:4:{i:0;s:2:"92";i:1;s:1:"0";i:2;s:3:"908";i:3;s:3:"146";}}s:8:"ellipsis";a:4:{s:1:"C";s:3:"188";s:2:"WX";s:4:"1000";s:1:"N";s:8:"ellipsis";s:1:"B";a:4:{i:0;s:2:"92";i:1;s:1:"0";i:2;s:3:"908";i:3;s:3:"146";}}i:189;a:4:{s:1:"C";s:3:"189";s:2:"WX";s:4:"1000";s:1:"N";s:11:"perthousand";s:1:"B";a:4:{i:0;s:2:"-3";i:1;s:3:"-19";i:2;s:4:"1003";i:3;s:3:"710";}}s:11:"perthousand";a:4:{s:1:"C";s:3:"189";s:2:"WX";s:4:"1000";s:1:"N";s:11:"perthousand";s:1:"B";a:4:{i:0;s:2:"-3";i:1;s:3:"-19";i:2;s:4:"1003";i:3;s:3:"710";}}i:191;a:4:{s:1:"C";s:3:"191";s:2:"WX";s:3:"611";s:1:"N";s:12:"questiondown";s:1:"B";a:4:{i:0;s:2:"55";i:1;s:4:"-195";i:2;s:3:"551";i:3;s:3:"532";}}s:12:"questiondown";a:4:{s:1:"C";s:3:"191";s:2:"WX";s:3:"611";s:1:"N";s:12:"questiondown";s:1:"B";a:4:{i:0;s:2:"55";i:1;s:4:"-195";i:2;s:3:"551";i:3;s:3:"532";}}i:193;a:4:{s:1:"C";s:3:"193";s:2:"WX";s:3:"333";s:1:"N";s:5:"grave";s:1:"B";a:4:{i:0;s:3:"-23";i:1;s:3:"604";i:2;s:3:"225";i:3;s:3:"750";}}s:5:"grave";a:4:{s:1:"C";s:3:"193";s:2:"WX";s:3:"333";s:1:"N";s:5:"grave";s:1:"B";a:4:{i:0;s:3:"-23";i:1;s:3:"604";i:2;s:3:"225";i:3;s:3:"750";}}i:194;a:4:{s:1:"C";s:3:"194";s:2:"WX";s:3:"333";s:1:"N";s:5:"acute";s:1:"B";a:4:{i:0;s:3:"108";i:1;s:3:"604";i:2;s:3:"356";i:3;s:3:"750";}}s:5:"acute";a:4:{s:1:"C";s:3:"194";s:2:"WX";s:3:"333";s:1:"N";s:5:"acute";s:1:"B";a:4:{i:0;s:3:"108";i:1;s:3:"604";i:2;s:3:"356";i:3;s:3:"750";}}i:195;a:4:{s:1:"C";s:3:"195";s:2:"WX";s:3:"333";s:1:"N";s:10:"circumflex";s:1:"B";a:4:{i:0;s:3:"-10";i:1;s:3:"604";i:2;s:3:"343";i:3;s:3:"750";}}s:10:"circumflex";a:4:{s:1:"C";s:3:"195";s:2:"WX";s:3:"333";s:1:"N";s:10:"circumflex";s:1:"B";a:4:{i:0;s:3:"-10";i:1;s:3:"604";i:2;s:3:"343";i:3;s:3:"750";}}i:196;a:4:{s:1:"C";s:3:"196";s:2:"WX";s:3:"333";s:1:"N";s:5:"tilde";s:1:"B";a:4:{i:0;s:3:"-17";i:1;s:3:"610";i:2;s:3:"350";i:3;s:3:"737";}}s:5:"tilde";a:4:{s:1:"C";s:3:"196";s:2:"WX";s:3:"333";s:1:"N";s:5:"tilde";s:1:"B";a:4:{i:0;s:3:"-17";i:1;s:3:"610";i:2;s:3:"350";i:3;s:3:"737";}}i:197;a:4:{s:1:"C";s:3:"197";s:2:"WX";s:3:"333";s:1:"N";s:6:"macron";s:1:"B";a:4:{i:0;s:2:"-6";i:1;s:3:"604";i:2;s:3:"339";i:3;s:3:"678";}}s:6:"macron";a:4:{s:1:"C";s:3:"197";s:2:"WX";s:3:"333";s:1:"N";s:6:"macron";s:1:"B";a:4:{i:0;s:2:"-6";i:1;s:3:"604";i:2;s:3:"339";i:3;s:3:"678";}}i:198;a:4:{s:1:"C";s:3:"198";s:2:"WX";s:3:"333";s:1:"N";s:5:"breve";s:1:"B";a:4:{i:0;s:2:"-2";i:1;s:3:"604";i:2;s:3:"335";i:3;s:3:"750";}}s:5:"breve";a:4:{s:1:"C";s:3:"198";s:2:"WX";s:3:"333";s:1:"N";s:5:"breve";s:1:"B";a:4:{i:0;s:2:"-2";i:1;s:3:"604";i:2;s:3:"335";i:3;s:3:"750";}}i:199;a:4:{s:1:"C";s:3:"199";s:2:"WX";s:3:"333";s:1:"N";s:9:"dotaccent";s:1:"B";a:4:{i:0;s:3:"104";i:1;s:3:"614";i:2;s:3:"230";i:3;s:3:"729";}}s:9:"dotaccent";a:4:{s:1:"C";s:3:"199";s:2:"WX";s:3:"333";s:1:"N";s:9:"dotaccent";s:1:"B";a:4:{i:0;s:3:"104";i:1;s:3:"614";i:2;s:3:"230";i:3;s:3:"729";}}i:200;a:4:{s:1:"C";s:3:"200";s:2:"WX";s:3:"333";s:1:"N";s:8:"dieresis";s:1:"B";a:4:{i:0;s:1:"6";i:1;s:3:"614";i:2;s:3:"327";i:3;s:3:"729";}}s:8:"dieresis";a:4:{s:1:"C";s:3:"200";s:2:"WX";s:3:"333";s:1:"N";s:8:"dieresis";s:1:"B";a:4:{i:0;s:1:"6";i:1;s:3:"614";i:2;s:3:"327";i:3;s:3:"729";}}i:202;a:4:{s:1:"C";s:3:"202";s:2:"WX";s:3:"333";s:1:"N";s:4:"ring";s:1:"B";a:4:{i:0;s:2:"59";i:1;s:3:"568";i:2;s:3:"275";i:3;s:3:"776";}}s:4:"ring";a:4:{s:1:"C";s:3:"202";s:2:"WX";s:3:"333";s:1:"N";s:4:"ring";s:1:"B";a:4:{i:0;s:2:"59";i:1;s:3:"568";i:2;s:3:"275";i:3;s:3:"776";}}i:203;a:4:{s:1:"C";s:3:"203";s:2:"WX";s:3:"333";s:1:"N";s:7:"cedilla";s:1:"B";a:4:{i:0;s:1:"6";i:1;s:4:"-228";i:2;s:3:"245";i:3;s:1:"0";}}s:7:"cedilla";a:4:{s:1:"C";s:3:"203";s:2:"WX";s:3:"333";s:1:"N";s:7:"cedilla";s:1:"B";a:4:{i:0;s:1:"6";i:1;s:4:"-228";i:2;s:3:"245";i:3;s:1:"0";}}i:205;a:4:{s:1:"C";s:3:"205";s:2:"WX";s:3:"333";s:1:"N";s:12:"hungarumlaut";s:1:"B";a:4:{i:0;s:1:"9";i:1;s:3:"604";i:2;s:3:"486";i:3;s:3:"750";}}s:12:"hungarumlaut";a:4:{s:1:"C";s:3:"205";s:2:"WX";s:3:"333";s:1:"N";s:12:"hungarumlaut";s:1:"B";a:4:{i:0;s:1:"9";i:1;s:3:"604";i:2;s:3:"486";i:3;s:3:"750";}}i:206;a:4:{s:1:"C";s:3:"206";s:2:"WX";s:3:"333";s:1:"N";s:6:"ogonek";s:1:"B";a:4:{i:0;s:2:"71";i:1;s:4:"-228";i:2;s:3:"304";i:3;s:1:"0";}}s:6:"ogonek";a:4:{s:1:"C";s:3:"206";s:2:"WX";s:3:"333";s:1:"N";s:6:"ogonek";s:1:"B";a:4:{i:0;s:2:"71";i:1;s:4:"-228";i:2;s:3:"304";i:3;s:1:"0";}}i:207;a:4:{s:1:"C";s:3:"207";s:2:"WX";s:3:"333";s:1:"N";s:5:"caron";s:1:"B";a:4:{i:0;s:3:"-10";i:1;s:3:"604";i:2;s:3:"343";i:3;s:3:"750";}}s:5:"caron";a:4:{s:1:"C";s:3:"207";s:2:"WX";s:3:"333";s:1:"N";s:5:"caron";s:1:"B";a:4:{i:0;s:3:"-10";i:1;s:3:"604";i:2;s:3:"343";i:3;s:3:"750";}}i:208;a:4:{s:1:"C";s:3:"208";s:2:"WX";s:4:"1000";s:1:"N";s:6:"emdash";s:1:"B";a:4:{i:0;s:1:"0";i:1;s:3:"227";i:2;s:4:"1000";i:3;s:3:"333";}}s:6:"emdash";a:4:{s:1:"C";s:3:"208";s:2:"WX";s:4:"1000";s:1:"N";s:6:"emdash";s:1:"B";a:4:{i:0;s:1:"0";i:1;s:3:"227";i:2;s:4:"1000";i:3;s:3:"333";}}i:225;a:4:{s:1:"C";s:3:"225";s:2:"WX";s:4:"1000";s:1:"N";s:2:"AE";s:1:"B";a:4:{i:0;s:1:"5";i:1;s:1:"0";i:2;s:3:"954";i:3;s:3:"718";}}s:2:"AE";a:4:{s:1:"C";s:3:"225";s:2:"WX";s:4:"1000";s:1:"N";s:2:"AE";s:1:"B";a:4:{i:0;s:1:"5";i:1;s:1:"0";i:2;s:3:"954";i:3;s:3:"718";}}i:227;a:4:{s:1:"C";s:3:"227";s:2:"WX";s:3:"370";s:1:"N";s:11:"ordfeminine";s:1:"B";a:4:{i:0;s:2:"22";i:1;s:3:"401";i:2;s:3:"347";i:3;s:3:"737";}}s:11:"ordfeminine";a:4:{s:1:"C";s:3:"227";s:2:"WX";s:3:"370";s:1:"N";s:11:"ordfeminine";s:1:"B";a:4:{i:0;s:2:"22";i:1;s:3:"401";i:2;s:3:"347";i:3;s:3:"737";}}i:232;a:4:{s:1:"C";s:3:"232";s:2:"WX";s:3:"611";s:1:"N";s:6:"Lslash";s:1:"B";a:4:{i:0;s:3:"-20";i:1;s:1:"0";i:2;s:3:"583";i:3;s:3:"718";}}s:6:"Lslash";a:4:{s:1:"C";s:3:"232";s:2:"WX";s:3:"611";s:1:"N";s:6:"Lslash";s:1:"B";a:4:{i:0;s:3:"-20";i:1;s:1:"0";i:2;s:3:"583";i:3;s:3:"718";}}i:233;a:4:{s:1:"C";s:3:"233";s:2:"WX";s:3:"778";s:1:"N";s:6:"Oslash";s:1:"B";a:4:{i:0;s:2:"33";i:1;s:3:"-27";i:2;s:3:"744";i:3;s:3:"745";}}s:6:"Oslash";a:4:{s:1:"C";s:3:"233";s:2:"WX";s:3:"778";s:1:"N";s:6:"Oslash";s:1:"B";a:4:{i:0;s:2:"33";i:1;s:3:"-27";i:2;s:3:"744";i:3;s:3:"745";}}i:234;a:4:{s:1:"C";s:3:"234";s:2:"WX";s:4:"1000";s:1:"N";s:2:"OE";s:1:"B";a:4:{i:0;s:2:"37";i:1;s:3:"-19";i:2;s:3:"961";i:3;s:3:"737";}}s:2:"OE";a:4:{s:1:"C";s:3:"234";s:2:"WX";s:4:"1000";s:1:"N";s:2:"OE";s:1:"B";a:4:{i:0;s:2:"37";i:1;s:3:"-19";i:2;s:3:"961";i:3;s:3:"737";}}i:235;a:4:{s:1:"C";s:3:"235";s:2:"WX";s:3:"365";s:1:"N";s:12:"ordmasculine";s:1:"B";a:4:{i:0;s:1:"6";i:1;s:3:"401";i:2;s:3:"360";i:3;s:3:"737";}}s:12:"ordmasculine";a:4:{s:1:"C";s:3:"235";s:2:"WX";s:3:"365";s:1:"N";s:12:"ordmasculine";s:1:"B";a:4:{i:0;s:1:"6";i:1;s:3:"401";i:2;s:3:"360";i:3;s:3:"737";}}i:241;a:4:{s:1:"C";s:3:"241";s:2:"WX";s:3:"889";s:1:"N";s:2:"ae";s:1:"B";a:4:{i:0;s:2:"29";i:1;s:3:"-14";i:2;s:3:"858";i:3;s:3:"546";}}s:2:"ae";a:4:{s:1:"C";s:3:"241";s:2:"WX";s:3:"889";s:1:"N";s:2:"ae";s:1:"B";a:4:{i:0;s:2:"29";i:1;s:3:"-14";i:2;s:3:"858";i:3;s:3:"546";}}i:245;a:4:{s:1:"C";s:3:"245";s:2:"WX";s:3:"278";s:1:"N";s:8:"dotlessi";s:1:"B";a:4:{i:0;s:2:"69";i:1;s:1:"0";i:2;s:3:"209";i:3;s:3:"532";}}s:8:"dotlessi";a:4:{s:1:"C";s:3:"245";s:2:"WX";s:3:"278";s:1:"N";s:8:"dotlessi";s:1:"B";a:4:{i:0;s:2:"69";i:1;s:1:"0";i:2;s:3:"209";i:3;s:3:"532";}}i:248;a:4:{s:1:"C";s:3:"248";s:2:"WX";s:3:"278";s:1:"N";s:6:"lslash";s:1:"B";a:4:{i:0;s:3:"-18";i:1;s:1:"0";i:2;s:3:"296";i:3;s:3:"718";}}s:6:"lslash";a:4:{s:1:"C";s:3:"248";s:2:"WX";s:3:"278";s:1:"N";s:6:"lslash";s:1:"B";a:4:{i:0;s:3:"-18";i:1;s:1:"0";i:2;s:3:"296";i:3;s:3:"718";}}i:249;a:4:{s:1:"C";s:3:"249";s:2:"WX";s:3:"611";s:1:"N";s:6:"oslash";s:1:"B";a:4:{i:0;s:2:"22";i:1;s:3:"-29";i:2;s:3:"589";i:3;s:3:"560";}}s:6:"oslash";a:4:{s:1:"C";s:3:"249";s:2:"WX";s:3:"611";s:1:"N";s:6:"oslash";s:1:"B";a:4:{i:0;s:2:"22";i:1;s:3:"-29";i:2;s:3:"589";i:3;s:3:"560";}}i:250;a:4:{s:1:"C";s:3:"250";s:2:"WX";s:3:"944";s:1:"N";s:2:"oe";s:1:"B";a:4:{i:0;s:2:"34";i:1;s:3:"-14";i:2;s:3:"912";i:3;s:3:"546";}}s:2:"oe";a:4:{s:1:"C";s:3:"250";s:2:"WX";s:3:"944";s:1:"N";s:2:"oe";s:1:"B";a:4:{i:0;s:2:"34";i:1;s:3:"-14";i:2;s:3:"912";i:3;s:3:"546";}}i:251;a:4:{s:1:"C";s:3:"251";s:2:"WX";s:3:"611";s:1:"N";s:10:"germandbls";s:1:"B";a:4:{i:0;s:2:"69";i:1;s:3:"-14";i:2;s:3:"579";i:3;s:3:"731";}}s:10:"germandbls";a:4:{s:1:"C";s:3:"251";s:2:"WX";s:3:"611";s:1:"N";s:10:"germandbls";s:1:"B";a:4:{i:0;s:2:"69";i:1;s:3:"-14";i:2;s:3:"579";i:3;s:3:"731";}}s:9:"Idieresis";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"278";s:1:"N";s:9:"Idieresis";s:1:"B";a:4:{i:0;s:3:"-21";i:1;s:1:"0";i:2;s:3:"300";i:3;s:3:"915";}}s:6:"eacute";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"556";s:1:"N";s:6:"eacute";s:1:"B";a:4:{i:0;s:2:"23";i:1;s:3:"-14";i:2;s:3:"528";i:3;s:3:"750";}}s:6:"abreve";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"556";s:1:"N";s:6:"abreve";s:1:"B";a:4:{i:0;s:2:"29";i:1;s:3:"-14";i:2;s:3:"527";i:3;s:3:"750";}}s:13:"uhungarumlaut";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"611";s:1:"N";s:13:"uhungarumlaut";s:1:"B";a:4:{i:0;s:2:"66";i:1;s:3:"-14";i:2;s:3:"625";i:3;s:3:"750";}}s:6:"ecaron";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"556";s:1:"N";s:6:"ecaron";s:1:"B";a:4:{i:0;s:2:"23";i:1;s:3:"-14";i:2;s:3:"528";i:3;s:3:"750";}}s:9:"Ydieresis";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"667";s:1:"N";s:9:"Ydieresis";s:1:"B";a:4:{i:0;s:2:"15";i:1;s:1:"0";i:2;s:3:"653";i:3;s:3:"915";}}s:6:"divide";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"584";s:1:"N";s:6:"divide";s:1:"B";a:4:{i:0;s:2:"40";i:1;s:3:"-42";i:2;s:3:"544";i:3;s:3:"548";}}s:6:"Yacute";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"667";s:1:"N";s:6:"Yacute";s:1:"B";a:4:{i:0;s:2:"15";i:1;s:1:"0";i:2;s:3:"653";i:3;s:3:"936";}}s:11:"Acircumflex";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"722";s:1:"N";s:11:"Acircumflex";s:1:"B";a:4:{i:0;s:2:"20";i:1;s:1:"0";i:2;s:3:"702";i:3;s:3:"936";}}s:6:"aacute";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"556";s:1:"N";s:6:"aacute";s:1:"B";a:4:{i:0;s:2:"29";i:1;s:3:"-14";i:2;s:3:"527";i:3;s:3:"750";}}s:11:"Ucircumflex";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"722";s:1:"N";s:11:"Ucircumflex";s:1:"B";a:4:{i:0;s:2:"72";i:1;s:3:"-19";i:2;s:3:"651";i:3;s:3:"936";}}s:6:"yacute";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"556";s:1:"N";s:6:"yacute";s:1:"B";a:4:{i:0;s:2:"10";i:1;s:4:"-214";i:2;s:3:"539";i:3;s:3:"750";}}s:12:"scommaaccent";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"556";s:1:"N";s:12:"scommaaccent";s:1:"B";a:4:{i:0;s:2:"30";i:1;s:4:"-228";i:2;s:3:"519";i:3;s:3:"546";}}s:11:"ecircumflex";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"556";s:1:"N";s:11:"ecircumflex";s:1:"B";a:4:{i:0;s:2:"23";i:1;s:3:"-14";i:2;s:3:"528";i:3;s:3:"750";}}s:5:"Uring";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"722";s:1:"N";s:5:"Uring";s:1:"B";a:4:{i:0;s:2:"72";i:1;s:3:"-19";i:2;s:3:"651";i:3;s:3:"962";}}s:9:"Udieresis";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"722";s:1:"N";s:9:"Udieresis";s:1:"B";a:4:{i:0;s:2:"72";i:1;s:3:"-19";i:2;s:3:"651";i:3;s:3:"915";}}s:7:"aogonek";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"556";s:1:"N";s:7:"aogonek";s:1:"B";a:4:{i:0;s:2:"29";i:1;s:4:"-224";i:2;s:3:"545";i:3;s:3:"546";}}s:6:"Uacute";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"722";s:1:"N";s:6:"Uacute";s:1:"B";a:4:{i:0;s:2:"72";i:1;s:3:"-19";i:2;s:3:"651";i:3;s:3:"936";}}s:7:"uogonek";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"611";s:1:"N";s:7:"uogonek";s:1:"B";a:4:{i:0;s:2:"66";i:1;s:4:"-228";i:2;s:3:"545";i:3;s:3:"532";}}s:9:"Edieresis";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"667";s:1:"N";s:9:"Edieresis";s:1:"B";a:4:{i:0;s:2:"76";i:1;s:1:"0";i:2;s:3:"621";i:3;s:3:"915";}}s:6:"Dcroat";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"722";s:1:"N";s:6:"Dcroat";s:1:"B";a:4:{i:0;s:2:"-5";i:1;s:1:"0";i:2;s:3:"685";i:3;s:3:"718";}}s:11:"commaaccent";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"250";s:1:"N";s:11:"commaaccent";s:1:"B";a:4:{i:0;s:2:"64";i:1;s:4:"-228";i:2;s:3:"199";i:3;s:3:"-50";}}s:9:"copyright";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"737";s:1:"N";s:9:"copyright";s:1:"B";a:4:{i:0;s:3:"-11";i:1;s:3:"-19";i:2;s:3:"749";i:3;s:3:"737";}}s:7:"Emacron";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"667";s:1:"N";s:7:"Emacron";s:1:"B";a:4:{i:0;s:2:"76";i:1;s:1:"0";i:2;s:3:"621";i:3;s:3:"864";}}s:6:"ccaron";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"556";s:1:"N";s:6:"ccaron";s:1:"B";a:4:{i:0;s:2:"34";i:1;s:3:"-14";i:2;s:3:"524";i:3;s:3:"750";}}s:5:"aring";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"556";s:1:"N";s:5:"aring";s:1:"B";a:4:{i:0;s:2:"29";i:1;s:3:"-14";i:2;s:3:"527";i:3;s:3:"776";}}s:12:"Ncommaaccent";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"722";s:1:"N";s:12:"Ncommaaccent";s:1:"B";a:4:{i:0;s:2:"69";i:1;s:4:"-228";i:2;s:3:"654";i:3;s:3:"718";}}s:6:"lacute";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"278";s:1:"N";s:6:"lacute";s:1:"B";a:4:{i:0;s:2:"69";i:1;s:1:"0";i:2;s:3:"329";i:3;s:3:"936";}}s:6:"agrave";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"556";s:1:"N";s:6:"agrave";s:1:"B";a:4:{i:0;s:2:"29";i:1;s:3:"-14";i:2;s:3:"527";i:3;s:3:"750";}}s:12:"Tcommaaccent";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"611";s:1:"N";s:12:"Tcommaaccent";s:1:"B";a:4:{i:0;s:2:"14";i:1;s:4:"-228";i:2;s:3:"598";i:3;s:3:"718";}}s:6:"Cacute";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"722";s:1:"N";s:6:"Cacute";s:1:"B";a:4:{i:0;s:2:"44";i:1;s:3:"-19";i:2;s:3:"684";i:3;s:3:"936";}}s:6:"atilde";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"556";s:1:"N";s:6:"atilde";s:1:"B";a:4:{i:0;s:2:"29";i:1;s:3:"-14";i:2;s:3:"527";i:3;s:3:"737";}}s:10:"Edotaccent";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"667";s:1:"N";s:10:"Edotaccent";s:1:"B";a:4:{i:0;s:2:"76";i:1;s:1:"0";i:2;s:3:"621";i:3;s:3:"915";}}s:6:"scaron";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"556";s:1:"N";s:6:"scaron";s:1:"B";a:4:{i:0;s:2:"30";i:1;s:3:"-14";i:2;s:3:"519";i:3;s:3:"750";}}s:8:"scedilla";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"556";s:1:"N";s:8:"scedilla";s:1:"B";a:4:{i:0;s:2:"30";i:1;s:4:"-228";i:2;s:3:"519";i:3;s:3:"546";}}s:6:"iacute";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"278";s:1:"N";s:6:"iacute";s:1:"B";a:4:{i:0;s:2:"69";i:1;s:1:"0";i:2;s:3:"329";i:3;s:3:"750";}}s:7:"lozenge";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"494";s:1:"N";s:7:"lozenge";s:1:"B";a:4:{i:0;s:2:"10";i:1;s:1:"0";i:2;s:3:"484";i:3;s:3:"745";}}s:6:"Rcaron";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"722";s:1:"N";s:6:"Rcaron";s:1:"B";a:4:{i:0;s:2:"76";i:1;s:1:"0";i:2;s:3:"677";i:3;s:3:"936";}}s:12:"Gcommaaccent";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"778";s:1:"N";s:12:"Gcommaaccent";s:1:"B";a:4:{i:0;s:2:"44";i:1;s:4:"-228";i:2;s:3:"713";i:3;s:3:"737";}}s:11:"ucircumflex";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"611";s:1:"N";s:11:"ucircumflex";s:1:"B";a:4:{i:0;s:2:"66";i:1;s:3:"-14";i:2;s:3:"545";i:3;s:3:"750";}}s:11:"acircumflex";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"556";s:1:"N";s:11:"acircumflex";s:1:"B";a:4:{i:0;s:2:"29";i:1;s:3:"-14";i:2;s:3:"527";i:3;s:3:"750";}}s:7:"Amacron";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"722";s:1:"N";s:7:"Amacron";s:1:"B";a:4:{i:0;s:2:"20";i:1;s:1:"0";i:2;s:3:"702";i:3;s:3:"864";}}s:6:"rcaron";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"389";s:1:"N";s:6:"rcaron";s:1:"B";a:4:{i:0;s:2:"18";i:1;s:1:"0";i:2;s:3:"373";i:3;s:3:"750";}}s:8:"ccedilla";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"556";s:1:"N";s:8:"ccedilla";s:1:"B";a:4:{i:0;s:2:"34";i:1;s:4:"-228";i:2;s:3:"524";i:3;s:3:"546";}}s:10:"Zdotaccent";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"611";s:1:"N";s:10:"Zdotaccent";s:1:"B";a:4:{i:0;s:2:"25";i:1;s:1:"0";i:2;s:3:"586";i:3;s:3:"915";}}s:5:"Thorn";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"667";s:1:"N";s:5:"Thorn";s:1:"B";a:4:{i:0;s:2:"76";i:1;s:1:"0";i:2;s:3:"627";i:3;s:3:"718";}}s:7:"Omacron";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"778";s:1:"N";s:7:"Omacron";s:1:"B";a:4:{i:0;s:2:"44";i:1;s:3:"-19";i:2;s:3:"734";i:3;s:3:"864";}}s:6:"Racute";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"722";s:1:"N";s:6:"Racute";s:1:"B";a:4:{i:0;s:2:"76";i:1;s:1:"0";i:2;s:3:"677";i:3;s:3:"936";}}s:6:"Sacute";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"667";s:1:"N";s:6:"Sacute";s:1:"B";a:4:{i:0;s:2:"39";i:1;s:3:"-19";i:2;s:3:"629";i:3;s:3:"936";}}s:6:"dcaron";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"743";s:1:"N";s:6:"dcaron";s:1:"B";a:4:{i:0;s:2:"34";i:1;s:3:"-14";i:2;s:3:"750";i:3;s:3:"718";}}s:7:"Umacron";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"722";s:1:"N";s:7:"Umacron";s:1:"B";a:4:{i:0;s:2:"72";i:1;s:3:"-19";i:2;s:3:"651";i:3;s:3:"864";}}s:5:"uring";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"611";s:1:"N";s:5:"uring";s:1:"B";a:4:{i:0;s:2:"66";i:1;s:3:"-14";i:2;s:3:"545";i:3;s:3:"776";}}s:13:"threesuperior";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"333";s:1:"N";s:13:"threesuperior";s:1:"B";a:4:{i:0;s:1:"8";i:1;s:3:"271";i:2;s:3:"326";i:3;s:3:"710";}}s:6:"Ograve";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"778";s:1:"N";s:6:"Ograve";s:1:"B";a:4:{i:0;s:2:"44";i:1;s:3:"-19";i:2;s:3:"734";i:3;s:3:"936";}}s:6:"Agrave";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"722";s:1:"N";s:6:"Agrave";s:1:"B";a:4:{i:0;s:2:"20";i:1;s:1:"0";i:2;s:3:"702";i:3;s:3:"936";}}s:6:"Abreve";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"722";s:1:"N";s:6:"Abreve";s:1:"B";a:4:{i:0;s:2:"20";i:1;s:1:"0";i:2;s:3:"702";i:3;s:3:"936";}}s:8:"multiply";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"584";s:1:"N";s:8:"multiply";s:1:"B";a:4:{i:0;s:2:"40";i:1;s:1:"1";i:2;s:3:"545";i:3;s:3:"505";}}s:6:"uacute";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"611";s:1:"N";s:6:"uacute";s:1:"B";a:4:{i:0;s:2:"66";i:1;s:3:"-14";i:2;s:3:"545";i:3;s:3:"750";}}s:6:"Tcaron";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"611";s:1:"N";s:6:"Tcaron";s:1:"B";a:4:{i:0;s:2:"14";i:1;s:1:"0";i:2;s:3:"598";i:3;s:3:"936";}}s:11:"partialdiff";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"494";s:1:"N";s:11:"partialdiff";s:1:"B";a:4:{i:0;s:2:"11";i:1;s:3:"-21";i:2;s:3:"494";i:3;s:3:"750";}}s:9:"ydieresis";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"556";s:1:"N";s:9:"ydieresis";s:1:"B";a:4:{i:0;s:2:"10";i:1;s:4:"-214";i:2;s:3:"539";i:3;s:3:"729";}}s:6:"Nacute";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"722";s:1:"N";s:6:"Nacute";s:1:"B";a:4:{i:0;s:2:"69";i:1;s:1:"0";i:2;s:3:"654";i:3;s:3:"936";}}s:11:"icircumflex";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"278";s:1:"N";s:11:"icircumflex";s:1:"B";a:4:{i:0;s:3:"-37";i:1;s:1:"0";i:2;s:3:"316";i:3;s:3:"750";}}s:11:"Ecircumflex";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"667";s:1:"N";s:11:"Ecircumflex";s:1:"B";a:4:{i:0;s:2:"76";i:1;s:1:"0";i:2;s:3:"621";i:3;s:3:"936";}}s:9:"adieresis";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"556";s:1:"N";s:9:"adieresis";s:1:"B";a:4:{i:0;s:2:"29";i:1;s:3:"-14";i:2;s:3:"527";i:3;s:3:"729";}}s:9:"edieresis";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"556";s:1:"N";s:9:"edieresis";s:1:"B";a:4:{i:0;s:2:"23";i:1;s:3:"-14";i:2;s:3:"528";i:3;s:3:"729";}}s:6:"cacute";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"556";s:1:"N";s:6:"cacute";s:1:"B";a:4:{i:0;s:2:"34";i:1;s:3:"-14";i:2;s:3:"524";i:3;s:3:"750";}}s:6:"nacute";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"611";s:1:"N";s:6:"nacute";s:1:"B";a:4:{i:0;s:2:"65";i:1;s:1:"0";i:2;s:3:"546";i:3;s:3:"750";}}s:7:"umacron";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"611";s:1:"N";s:7:"umacron";s:1:"B";a:4:{i:0;s:2:"66";i:1;s:3:"-14";i:2;s:3:"545";i:3;s:3:"678";}}s:6:"Ncaron";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"722";s:1:"N";s:6:"Ncaron";s:1:"B";a:4:{i:0;s:2:"69";i:1;s:1:"0";i:2;s:3:"654";i:3;s:3:"936";}}s:6:"Iacute";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"278";s:1:"N";s:6:"Iacute";s:1:"B";a:4:{i:0;s:2:"64";i:1;s:1:"0";i:2;s:3:"329";i:3;s:3:"936";}}s:9:"plusminus";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"584";s:1:"N";s:9:"plusminus";s:1:"B";a:4:{i:0;s:2:"40";i:1;s:1:"0";i:2;s:3:"544";i:3;s:3:"506";}}s:9:"brokenbar";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"280";s:1:"N";s:9:"brokenbar";s:1:"B";a:4:{i:0;s:2:"84";i:1;s:4:"-150";i:2;s:3:"196";i:3;s:3:"700";}}s:10:"registered";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"737";s:1:"N";s:10:"registered";s:1:"B";a:4:{i:0;s:3:"-11";i:1;s:3:"-19";i:2;s:3:"748";i:3;s:3:"737";}}s:6:"Gbreve";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"778";s:1:"N";s:6:"Gbreve";s:1:"B";a:4:{i:0;s:2:"44";i:1;s:3:"-19";i:2;s:3:"713";i:3;s:3:"936";}}s:10:"Idotaccent";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"278";s:1:"N";s:10:"Idotaccent";s:1:"B";a:4:{i:0;s:2:"64";i:1;s:1:"0";i:2;s:3:"214";i:3;s:3:"915";}}s:9:"summation";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:9:"summation";s:1:"B";a:4:{i:0;s:2:"14";i:1;s:3:"-10";i:2;s:3:"585";i:3;s:3:"706";}}s:6:"Egrave";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"667";s:1:"N";s:6:"Egrave";s:1:"B";a:4:{i:0;s:2:"76";i:1;s:1:"0";i:2;s:3:"621";i:3;s:3:"936";}}s:6:"racute";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"389";s:1:"N";s:6:"racute";s:1:"B";a:4:{i:0;s:2:"64";i:1;s:1:"0";i:2;s:3:"384";i:3;s:3:"750";}}s:7:"omacron";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"611";s:1:"N";s:7:"omacron";s:1:"B";a:4:{i:0;s:2:"34";i:1;s:3:"-14";i:2;s:3:"578";i:3;s:3:"678";}}s:6:"Zacute";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"611";s:1:"N";s:6:"Zacute";s:1:"B";a:4:{i:0;s:2:"25";i:1;s:1:"0";i:2;s:3:"586";i:3;s:3:"936";}}s:6:"Zcaron";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"611";s:1:"N";s:6:"Zcaron";s:1:"B";a:4:{i:0;s:2:"25";i:1;s:1:"0";i:2;s:3:"586";i:3;s:3:"936";}}s:12:"greaterequal";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"549";s:1:"N";s:12:"greaterequal";s:1:"B";a:4:{i:0;s:2:"26";i:1;s:1:"0";i:2;s:3:"523";i:3;s:3:"704";}}s:3:"Eth";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"722";s:1:"N";s:3:"Eth";s:1:"B";a:4:{i:0;s:2:"-5";i:1;s:1:"0";i:2;s:3:"685";i:3;s:3:"718";}}s:8:"Ccedilla";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"722";s:1:"N";s:8:"Ccedilla";s:1:"B";a:4:{i:0;s:2:"44";i:1;s:4:"-228";i:2;s:3:"684";i:3;s:3:"737";}}s:12:"lcommaaccent";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"278";s:1:"N";s:12:"lcommaaccent";s:1:"B";a:4:{i:0;s:2:"69";i:1;s:4:"-228";i:2;s:3:"213";i:3;s:3:"718";}}s:6:"tcaron";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"389";s:1:"N";s:6:"tcaron";s:1:"B";a:4:{i:0;s:2:"10";i:1;s:2:"-6";i:2;s:3:"421";i:3;s:3:"878";}}s:7:"eogonek";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"556";s:1:"N";s:7:"eogonek";s:1:"B";a:4:{i:0;s:2:"23";i:1;s:4:"-228";i:2;s:3:"528";i:3;s:3:"546";}}s:7:"Uogonek";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"722";s:1:"N";s:7:"Uogonek";s:1:"B";a:4:{i:0;s:2:"72";i:1;s:4:"-228";i:2;s:3:"651";i:3;s:3:"718";}}s:6:"Aacute";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"722";s:1:"N";s:6:"Aacute";s:1:"B";a:4:{i:0;s:2:"20";i:1;s:1:"0";i:2;s:3:"702";i:3;s:3:"936";}}s:9:"Adieresis";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"722";s:1:"N";s:9:"Adieresis";s:1:"B";a:4:{i:0;s:2:"20";i:1;s:1:"0";i:2;s:3:"702";i:3;s:3:"915";}}s:6:"egrave";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"556";s:1:"N";s:6:"egrave";s:1:"B";a:4:{i:0;s:2:"23";i:1;s:3:"-14";i:2;s:3:"528";i:3;s:3:"750";}}s:6:"zacute";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"500";s:1:"N";s:6:"zacute";s:1:"B";a:4:{i:0;s:2:"20";i:1;s:1:"0";i:2;s:3:"480";i:3;s:3:"750";}}s:7:"iogonek";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"278";s:1:"N";s:7:"iogonek";s:1:"B";a:4:{i:0;s:2:"16";i:1;s:4:"-224";i:2;s:3:"249";i:3;s:3:"725";}}s:6:"Oacute";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"778";s:1:"N";s:6:"Oacute";s:1:"B";a:4:{i:0;s:2:"44";i:1;s:3:"-19";i:2;s:3:"734";i:3;s:3:"936";}}s:6:"oacute";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"611";s:1:"N";s:6:"oacute";s:1:"B";a:4:{i:0;s:2:"34";i:1;s:3:"-14";i:2;s:3:"578";i:3;s:3:"750";}}s:7:"amacron";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"556";s:1:"N";s:7:"amacron";s:1:"B";a:4:{i:0;s:2:"29";i:1;s:3:"-14";i:2;s:3:"527";i:3;s:3:"678";}}s:6:"sacute";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"556";s:1:"N";s:6:"sacute";s:1:"B";a:4:{i:0;s:2:"30";i:1;s:3:"-14";i:2;s:3:"519";i:3;s:3:"750";}}s:9:"idieresis";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"278";s:1:"N";s:9:"idieresis";s:1:"B";a:4:{i:0;s:3:"-21";i:1;s:1:"0";i:2;s:3:"300";i:3;s:3:"729";}}s:11:"Ocircumflex";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"778";s:1:"N";s:11:"Ocircumflex";s:1:"B";a:4:{i:0;s:2:"44";i:1;s:3:"-19";i:2;s:3:"734";i:3;s:3:"936";}}s:6:"Ugrave";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"722";s:1:"N";s:6:"Ugrave";s:1:"B";a:4:{i:0;s:2:"72";i:1;s:3:"-19";i:2;s:3:"651";i:3;s:3:"936";}}s:5:"Delta";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"612";s:1:"N";s:5:"Delta";s:1:"B";a:4:{i:0;s:1:"6";i:1;s:1:"0";i:2;s:3:"608";i:3;s:3:"688";}}s:5:"thorn";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"611";s:1:"N";s:5:"thorn";s:1:"B";a:4:{i:0;s:2:"62";i:1;s:4:"-208";i:2;s:3:"578";i:3;s:3:"718";}}s:11:"twosuperior";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"333";s:1:"N";s:11:"twosuperior";s:1:"B";a:4:{i:0;s:1:"9";i:1;s:3:"283";i:2;s:3:"324";i:3;s:3:"710";}}s:9:"Odieresis";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"778";s:1:"N";s:9:"Odieresis";s:1:"B";a:4:{i:0;s:2:"44";i:1;s:3:"-19";i:2;s:3:"734";i:3;s:3:"915";}}s:2:"mu";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"611";s:1:"N";s:2:"mu";s:1:"B";a:4:{i:0;s:2:"66";i:1;s:4:"-207";i:2;s:3:"545";i:3;s:3:"532";}}s:6:"igrave";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"278";s:1:"N";s:6:"igrave";s:1:"B";a:4:{i:0;s:3:"-50";i:1;s:1:"0";i:2;s:3:"209";i:3;s:3:"750";}}s:13:"ohungarumlaut";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"611";s:1:"N";s:13:"ohungarumlaut";s:1:"B";a:4:{i:0;s:2:"34";i:1;s:3:"-14";i:2;s:3:"625";i:3;s:3:"750";}}s:7:"Eogonek";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"667";s:1:"N";s:7:"Eogonek";s:1:"B";a:4:{i:0;s:2:"76";i:1;s:4:"-224";i:2;s:3:"639";i:3;s:3:"718";}}s:6:"dcroat";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"611";s:1:"N";s:6:"dcroat";s:1:"B";a:4:{i:0;s:2:"34";i:1;s:3:"-14";i:2;s:3:"650";i:3;s:3:"718";}}s:13:"threequarters";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"834";s:1:"N";s:13:"threequarters";s:1:"B";a:4:{i:0;s:2:"16";i:1;s:3:"-19";i:2;s:3:"799";i:3;s:3:"710";}}s:8:"Scedilla";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"667";s:1:"N";s:8:"Scedilla";s:1:"B";a:4:{i:0;s:2:"39";i:1;s:4:"-228";i:2;s:3:"629";i:3;s:3:"737";}}s:6:"lcaron";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"400";s:1:"N";s:6:"lcaron";s:1:"B";a:4:{i:0;s:2:"69";i:1;s:1:"0";i:2;s:3:"408";i:3;s:3:"718";}}s:12:"Kcommaaccent";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"722";s:1:"N";s:12:"Kcommaaccent";s:1:"B";a:4:{i:0;s:2:"87";i:1;s:4:"-228";i:2;s:3:"722";i:3;s:3:"718";}}s:6:"Lacute";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"611";s:1:"N";s:6:"Lacute";s:1:"B";a:4:{i:0;s:2:"76";i:1;s:1:"0";i:2;s:3:"583";i:3;s:3:"936";}}s:9:"trademark";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:4:"1000";s:1:"N";s:9:"trademark";s:1:"B";a:4:{i:0;s:2:"44";i:1;s:3:"306";i:2;s:3:"956";i:3;s:3:"718";}}s:10:"edotaccent";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"556";s:1:"N";s:10:"edotaccent";s:1:"B";a:4:{i:0;s:2:"23";i:1;s:3:"-14";i:2;s:3:"528";i:3;s:3:"729";}}s:6:"Igrave";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"278";s:1:"N";s:6:"Igrave";s:1:"B";a:4:{i:0;s:3:"-50";i:1;s:1:"0";i:2;s:3:"214";i:3;s:3:"936";}}s:7:"Imacron";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"278";s:1:"N";s:7:"Imacron";s:1:"B";a:4:{i:0;s:3:"-33";i:1;s:1:"0";i:2;s:3:"312";i:3;s:3:"864";}}s:6:"Lcaron";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"611";s:1:"N";s:6:"Lcaron";s:1:"B";a:4:{i:0;s:2:"76";i:1;s:1:"0";i:2;s:3:"583";i:3;s:3:"718";}}s:7:"onehalf";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"834";s:1:"N";s:7:"onehalf";s:1:"B";a:4:{i:0;s:2:"26";i:1;s:3:"-19";i:2;s:3:"794";i:3;s:3:"710";}}s:9:"lessequal";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"549";s:1:"N";s:9:"lessequal";s:1:"B";a:4:{i:0;s:2:"29";i:1;s:1:"0";i:2;s:3:"526";i:3;s:3:"704";}}s:11:"ocircumflex";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"611";s:1:"N";s:11:"ocircumflex";s:1:"B";a:4:{i:0;s:2:"34";i:1;s:3:"-14";i:2;s:3:"578";i:3;s:3:"750";}}s:6:"ntilde";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"611";s:1:"N";s:6:"ntilde";s:1:"B";a:4:{i:0;s:2:"65";i:1;s:1:"0";i:2;s:3:"546";i:3;s:3:"737";}}s:13:"Uhungarumlaut";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"722";s:1:"N";s:13:"Uhungarumlaut";s:1:"B";a:4:{i:0;s:2:"72";i:1;s:3:"-19";i:2;s:3:"681";i:3;s:3:"936";}}s:6:"Eacute";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"667";s:1:"N";s:6:"Eacute";s:1:"B";a:4:{i:0;s:2:"76";i:1;s:1:"0";i:2;s:3:"621";i:3;s:3:"936";}}s:7:"emacron";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"556";s:1:"N";s:7:"emacron";s:1:"B";a:4:{i:0;s:2:"23";i:1;s:3:"-14";i:2;s:3:"528";i:3;s:3:"678";}}s:6:"gbreve";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"611";s:1:"N";s:6:"gbreve";s:1:"B";a:4:{i:0;s:2:"40";i:1;s:4:"-217";i:2;s:3:"553";i:3;s:3:"750";}}s:10:"onequarter";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"834";s:1:"N";s:10:"onequarter";s:1:"B";a:4:{i:0;s:2:"26";i:1;s:3:"-19";i:2;s:3:"766";i:3;s:3:"710";}}s:6:"Scaron";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"667";s:1:"N";s:6:"Scaron";s:1:"B";a:4:{i:0;s:2:"39";i:1;s:3:"-19";i:2;s:3:"629";i:3;s:3:"936";}}s:12:"Scommaaccent";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"667";s:1:"N";s:12:"Scommaaccent";s:1:"B";a:4:{i:0;s:2:"39";i:1;s:4:"-228";i:2;s:3:"629";i:3;s:3:"737";}}s:13:"Ohungarumlaut";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"778";s:1:"N";s:13:"Ohungarumlaut";s:1:"B";a:4:{i:0;s:2:"44";i:1;s:3:"-19";i:2;s:3:"734";i:3;s:3:"936";}}s:6:"degree";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"400";s:1:"N";s:6:"degree";s:1:"B";a:4:{i:0;s:2:"57";i:1;s:3:"426";i:2;s:3:"343";i:3;s:3:"712";}}s:6:"ograve";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"611";s:1:"N";s:6:"ograve";s:1:"B";a:4:{i:0;s:2:"34";i:1;s:3:"-14";i:2;s:3:"578";i:3;s:3:"750";}}s:6:"Ccaron";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"722";s:1:"N";s:6:"Ccaron";s:1:"B";a:4:{i:0;s:2:"44";i:1;s:3:"-19";i:2;s:3:"684";i:3;s:3:"936";}}s:6:"ugrave";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"611";s:1:"N";s:6:"ugrave";s:1:"B";a:4:{i:0;s:2:"66";i:1;s:3:"-14";i:2;s:3:"545";i:3;s:3:"750";}}s:7:"radical";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"549";s:1:"N";s:7:"radical";s:1:"B";a:4:{i:0;s:2:"10";i:1;s:3:"-46";i:2;s:3:"512";i:3;s:3:"850";}}s:6:"Dcaron";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"722";s:1:"N";s:6:"Dcaron";s:1:"B";a:4:{i:0;s:2:"76";i:1;s:1:"0";i:2;s:3:"685";i:3;s:3:"936";}}s:12:"rcommaaccent";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"389";s:1:"N";s:12:"rcommaaccent";s:1:"B";a:4:{i:0;s:2:"64";i:1;s:4:"-228";i:2;s:3:"373";i:3;s:3:"546";}}s:6:"Ntilde";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"722";s:1:"N";s:6:"Ntilde";s:1:"B";a:4:{i:0;s:2:"69";i:1;s:1:"0";i:2;s:3:"654";i:3;s:3:"923";}}s:6:"otilde";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"611";s:1:"N";s:6:"otilde";s:1:"B";a:4:{i:0;s:2:"34";i:1;s:3:"-14";i:2;s:3:"578";i:3;s:3:"737";}}s:12:"Rcommaaccent";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"722";s:1:"N";s:12:"Rcommaaccent";s:1:"B";a:4:{i:0;s:2:"76";i:1;s:4:"-228";i:2;s:3:"677";i:3;s:3:"718";}}s:12:"Lcommaaccent";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"611";s:1:"N";s:12:"Lcommaaccent";s:1:"B";a:4:{i:0;s:2:"76";i:1;s:4:"-228";i:2;s:3:"583";i:3;s:3:"718";}}s:6:"Atilde";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"722";s:1:"N";s:6:"Atilde";s:1:"B";a:4:{i:0;s:2:"20";i:1;s:1:"0";i:2;s:3:"702";i:3;s:3:"923";}}s:7:"Aogonek";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"722";s:1:"N";s:7:"Aogonek";s:1:"B";a:4:{i:0;s:2:"20";i:1;s:4:"-224";i:2;s:3:"742";i:3;s:3:"718";}}s:5:"Aring";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"722";s:1:"N";s:5:"Aring";s:1:"B";a:4:{i:0;s:2:"20";i:1;s:1:"0";i:2;s:3:"702";i:3;s:3:"962";}}s:6:"Otilde";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"778";s:1:"N";s:6:"Otilde";s:1:"B";a:4:{i:0;s:2:"44";i:1;s:3:"-19";i:2;s:3:"734";i:3;s:3:"923";}}s:10:"zdotaccent";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"500";s:1:"N";s:10:"zdotaccent";s:1:"B";a:4:{i:0;s:2:"20";i:1;s:1:"0";i:2;s:3:"480";i:3;s:3:"729";}}s:6:"Ecaron";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"667";s:1:"N";s:6:"Ecaron";s:1:"B";a:4:{i:0;s:2:"76";i:1;s:1:"0";i:2;s:3:"621";i:3;s:3:"936";}}s:7:"Iogonek";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"278";s:1:"N";s:7:"Iogonek";s:1:"B";a:4:{i:0;s:3:"-11";i:1;s:4:"-228";i:2;s:3:"222";i:3;s:3:"718";}}s:12:"kcommaaccent";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"556";s:1:"N";s:12:"kcommaaccent";s:1:"B";a:4:{i:0;s:2:"69";i:1;s:4:"-228";i:2;s:3:"562";i:3;s:3:"718";}}s:5:"minus";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"584";s:1:"N";s:5:"minus";s:1:"B";a:4:{i:0;s:2:"40";i:1;s:3:"197";i:2;s:3:"544";i:3;s:3:"309";}}s:11:"Icircumflex";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"278";s:1:"N";s:11:"Icircumflex";s:1:"B";a:4:{i:0;s:3:"-37";i:1;s:1:"0";i:2;s:3:"316";i:3;s:3:"936";}}s:6:"ncaron";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"611";s:1:"N";s:6:"ncaron";s:1:"B";a:4:{i:0;s:2:"65";i:1;s:1:"0";i:2;s:3:"546";i:3;s:3:"750";}}s:12:"tcommaaccent";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"333";s:1:"N";s:12:"tcommaaccent";s:1:"B";a:4:{i:0;s:2:"10";i:1;s:4:"-228";i:2;s:3:"309";i:3;s:3:"676";}}s:10:"logicalnot";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"584";s:1:"N";s:10:"logicalnot";s:1:"B";a:4:{i:0;s:2:"40";i:1;s:3:"108";i:2;s:3:"544";i:3;s:3:"419";}}s:9:"odieresis";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"611";s:1:"N";s:9:"odieresis";s:1:"B";a:4:{i:0;s:2:"34";i:1;s:3:"-14";i:2;s:3:"578";i:3;s:3:"729";}}s:9:"udieresis";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"611";s:1:"N";s:9:"udieresis";s:1:"B";a:4:{i:0;s:2:"66";i:1;s:3:"-14";i:2;s:3:"545";i:3;s:3:"729";}}s:8:"notequal";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"549";s:1:"N";s:8:"notequal";s:1:"B";a:4:{i:0;s:2:"15";i:1;s:3:"-49";i:2;s:3:"540";i:3;s:3:"570";}}s:12:"gcommaaccent";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"611";s:1:"N";s:12:"gcommaaccent";s:1:"B";a:4:{i:0;s:2:"40";i:1;s:4:"-217";i:2;s:3:"553";i:3;s:3:"850";}}s:3:"eth";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"611";s:1:"N";s:3:"eth";s:1:"B";a:4:{i:0;s:2:"34";i:1;s:3:"-14";i:2;s:3:"578";i:3;s:3:"737";}}s:6:"zcaron";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"500";s:1:"N";s:6:"zcaron";s:1:"B";a:4:{i:0;s:2:"20";i:1;s:1:"0";i:2;s:3:"480";i:3;s:3:"750";}}s:12:"ncommaaccent";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"611";s:1:"N";s:12:"ncommaaccent";s:1:"B";a:4:{i:0;s:2:"65";i:1;s:4:"-228";i:2;s:3:"546";i:3;s:3:"546";}}s:11:"onesuperior";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"333";s:1:"N";s:11:"onesuperior";s:1:"B";a:4:{i:0;s:2:"26";i:1;s:3:"283";i:2;s:3:"237";i:3;s:3:"710";}}s:7:"imacron";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"278";s:1:"N";s:7:"imacron";s:1:"B";a:4:{i:0;s:2:"-8";i:1;s:1:"0";i:2;s:3:"285";i:3;s:3:"678";}}s:4:"Euro";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"556";s:1:"N";s:4:"Euro";s:1:"B";a:4:{i:0;s:1:"0";i:1;s:1:"0";i:2;s:1:"0";i:3;s:1:"0";}}}s:3:"KPX";a:134:{s:1:"A";a:48:{s:1:"C";s:3:"-40";s:6:"Cacute";s:3:"-40";s:6:"Ccaron";s:3:"-40";s:8:"Ccedilla";s:3:"-40";s:1:"G";s:3:"-50";s:6:"Gbreve";s:3:"-50";s:12:"Gcommaaccent";s:3:"-50";s:1:"O";s:3:"-40";s:6:"Oacute";s:3:"-40";s:11:"Ocircumflex";s:3:"-40";s:9:"Odieresis";s:3:"-40";s:6:"Ograve";s:3:"-40";s:13:"Ohungarumlaut";s:3:"-40";s:7:"Omacron";s:3:"-40";s:6:"Oslash";s:3:"-40";s:6:"Otilde";s:3:"-40";s:1:"Q";s:3:"-40";s:1:"T";s:3:"-90";s:6:"Tcaron";s:3:"-90";s:12:"Tcommaaccent";s:3:"-90";s:1:"U";s:3:"-50";s:6:"Uacute";s:3:"-50";s:11:"Ucircumflex";s:3:"-50";s:9:"Udieresis";s:3:"-50";s:6:"Ugrave";s:3:"-50";s:13:"Uhungarumlaut";s:3:"-50";s:7:"Umacron";s:3:"-50";s:7:"Uogonek";s:3:"-50";s:5:"Uring";s:3:"-50";s:1:"V";s:3:"-80";s:1:"W";s:3:"-60";s:1:"Y";s:4:"-110";s:6:"Yacute";s:4:"-110";s:9:"Ydieresis";s:4:"-110";s:1:"u";s:3:"-30";s:6:"uacute";s:3:"-30";s:11:"ucircumflex";s:3:"-30";s:9:"udieresis";s:3:"-30";s:6:"ugrave";s:3:"-30";s:13:"uhungarumlaut";s:3:"-30";s:7:"umacron";s:3:"-30";s:7:"uogonek";s:3:"-30";s:5:"uring";s:3:"-30";s:1:"v";s:3:"-40";s:1:"w";s:3:"-30";s:1:"y";s:3:"-30";s:6:"yacute";s:3:"-30";s:9:"ydieresis";s:3:"-30";}s:6:"Aacute";a:48:{s:1:"C";s:3:"-40";s:6:"Cacute";s:3:"-40";s:6:"Ccaron";s:3:"-40";s:8:"Ccedilla";s:3:"-40";s:1:"G";s:3:"-50";s:6:"Gbreve";s:3:"-50";s:12:"Gcommaaccent";s:3:"-50";s:1:"O";s:3:"-40";s:6:"Oacute";s:3:"-40";s:11:"Ocircumflex";s:3:"-40";s:9:"Odieresis";s:3:"-40";s:6:"Ograve";s:3:"-40";s:13:"Ohungarumlaut";s:3:"-40";s:7:"Omacron";s:3:"-40";s:6:"Oslash";s:3:"-40";s:6:"Otilde";s:3:"-40";s:1:"Q";s:3:"-40";s:1:"T";s:3:"-90";s:6:"Tcaron";s:3:"-90";s:12:"Tcommaaccent";s:3:"-90";s:1:"U";s:3:"-50";s:6:"Uacute";s:3:"-50";s:11:"Ucircumflex";s:3:"-50";s:9:"Udieresis";s:3:"-50";s:6:"Ugrave";s:3:"-50";s:13:"Uhungarumlaut";s:3:"-50";s:7:"Umacron";s:3:"-50";s:7:"Uogonek";s:3:"-50";s:5:"Uring";s:3:"-50";s:1:"V";s:3:"-80";s:1:"W";s:3:"-60";s:1:"Y";s:4:"-110";s:6:"Yacute";s:4:"-110";s:9:"Ydieresis";s:4:"-110";s:1:"u";s:3:"-30";s:6:"uacute";s:3:"-30";s:11:"ucircumflex";s:3:"-30";s:9:"udieresis";s:3:"-30";s:6:"ugrave";s:3:"-30";s:13:"uhungarumlaut";s:3:"-30";s:7:"umacron";s:3:"-30";s:7:"uogonek";s:3:"-30";s:5:"uring";s:3:"-30";s:1:"v";s:3:"-40";s:1:"w";s:3:"-30";s:1:"y";s:3:"-30";s:6:"yacute";s:3:"-30";s:9:"ydieresis";s:3:"-30";}s:6:"Abreve";a:48:{s:1:"C";s:3:"-40";s:6:"Cacute";s:3:"-40";s:6:"Ccaron";s:3:"-40";s:8:"Ccedilla";s:3:"-40";s:1:"G";s:3:"-50";s:6:"Gbreve";s:3:"-50";s:12:"Gcommaaccent";s:3:"-50";s:1:"O";s:3:"-40";s:6:"Oacute";s:3:"-40";s:11:"Ocircumflex";s:3:"-40";s:9:"Odieresis";s:3:"-40";s:6:"Ograve";s:3:"-40";s:13:"Ohungarumlaut";s:3:"-40";s:7:"Omacron";s:3:"-40";s:6:"Oslash";s:3:"-40";s:6:"Otilde";s:3:"-40";s:1:"Q";s:3:"-40";s:1:"T";s:3:"-90";s:6:"Tcaron";s:3:"-90";s:12:"Tcommaaccent";s:3:"-90";s:1:"U";s:3:"-50";s:6:"Uacute";s:3:"-50";s:11:"Ucircumflex";s:3:"-50";s:9:"Udieresis";s:3:"-50";s:6:"Ugrave";s:3:"-50";s:13:"Uhungarumlaut";s:3:"-50";s:7:"Umacron";s:3:"-50";s:7:"Uogonek";s:3:"-50";s:5:"Uring";s:3:"-50";s:1:"V";s:3:"-80";s:1:"W";s:3:"-60";s:1:"Y";s:4:"-110";s:6:"Yacute";s:4:"-110";s:9:"Ydieresis";s:4:"-110";s:1:"u";s:3:"-30";s:6:"uacute";s:3:"-30";s:11:"ucircumflex";s:3:"-30";s:9:"udieresis";s:3:"-30";s:6:"ugrave";s:3:"-30";s:13:"uhungarumlaut";s:3:"-30";s:7:"umacron";s:3:"-30";s:7:"uogonek";s:3:"-30";s:5:"uring";s:3:"-30";s:1:"v";s:3:"-40";s:1:"w";s:3:"-30";s:1:"y";s:3:"-30";s:6:"yacute";s:3:"-30";s:9:"ydieresis";s:3:"-30";}s:11:"Acircumflex";a:48:{s:1:"C";s:3:"-40";s:6:"Cacute";s:3:"-40";s:6:"Ccaron";s:3:"-40";s:8:"Ccedilla";s:3:"-40";s:1:"G";s:3:"-50";s:6:"Gbreve";s:3:"-50";s:12:"Gcommaaccent";s:3:"-50";s:1:"O";s:3:"-40";s:6:"Oacute";s:3:"-40";s:11:"Ocircumflex";s:3:"-40";s:9:"Odieresis";s:3:"-40";s:6:"Ograve";s:3:"-40";s:13:"Ohungarumlaut";s:3:"-40";s:7:"Omacron";s:3:"-40";s:6:"Oslash";s:3:"-40";s:6:"Otilde";s:3:"-40";s:1:"Q";s:3:"-40";s:1:"T";s:3:"-90";s:6:"Tcaron";s:3:"-90";s:12:"Tcommaaccent";s:3:"-90";s:1:"U";s:3:"-50";s:6:"Uacute";s:3:"-50";s:11:"Ucircumflex";s:3:"-50";s:9:"Udieresis";s:3:"-50";s:6:"Ugrave";s:3:"-50";s:13:"Uhungarumlaut";s:3:"-50";s:7:"Umacron";s:3:"-50";s:7:"Uogonek";s:3:"-50";s:5:"Uring";s:3:"-50";s:1:"V";s:3:"-80";s:1:"W";s:3:"-60";s:1:"Y";s:4:"-110";s:6:"Yacute";s:4:"-110";s:9:"Ydieresis";s:4:"-110";s:1:"u";s:3:"-30";s:6:"uacute";s:3:"-30";s:11:"ucircumflex";s:3:"-30";s:9:"udieresis";s:3:"-30";s:6:"ugrave";s:3:"-30";s:13:"uhungarumlaut";s:3:"-30";s:7:"umacron";s:3:"-30";s:7:"uogonek";s:3:"-30";s:5:"uring";s:3:"-30";s:1:"v";s:3:"-40";s:1:"w";s:3:"-30";s:1:"y";s:3:"-30";s:6:"yacute";s:3:"-30";s:9:"ydieresis";s:3:"-30";}s:9:"Adieresis";a:48:{s:1:"C";s:3:"-40";s:6:"Cacute";s:3:"-40";s:6:"Ccaron";s:3:"-40";s:8:"Ccedilla";s:3:"-40";s:1:"G";s:3:"-50";s:6:"Gbreve";s:3:"-50";s:12:"Gcommaaccent";s:3:"-50";s:1:"O";s:3:"-40";s:6:"Oacute";s:3:"-40";s:11:"Ocircumflex";s:3:"-40";s:9:"Odieresis";s:3:"-40";s:6:"Ograve";s:3:"-40";s:13:"Ohungarumlaut";s:3:"-40";s:7:"Omacron";s:3:"-40";s:6:"Oslash";s:3:"-40";s:6:"Otilde";s:3:"-40";s:1:"Q";s:3:"-40";s:1:"T";s:3:"-90";s:6:"Tcaron";s:3:"-90";s:12:"Tcommaaccent";s:3:"-90";s:1:"U";s:3:"-50";s:6:"Uacute";s:3:"-50";s:11:"Ucircumflex";s:3:"-50";s:9:"Udieresis";s:3:"-50";s:6:"Ugrave";s:3:"-50";s:13:"Uhungarumlaut";s:3:"-50";s:7:"Umacron";s:3:"-50";s:7:"Uogonek";s:3:"-50";s:5:"Uring";s:3:"-50";s:1:"V";s:3:"-80";s:1:"W";s:3:"-60";s:1:"Y";s:4:"-110";s:6:"Yacute";s:4:"-110";s:9:"Ydieresis";s:4:"-110";s:1:"u";s:3:"-30";s:6:"uacute";s:3:"-30";s:11:"ucircumflex";s:3:"-30";s:9:"udieresis";s:3:"-30";s:6:"ugrave";s:3:"-30";s:13:"uhungarumlaut";s:3:"-30";s:7:"umacron";s:3:"-30";s:7:"uogonek";s:3:"-30";s:5:"uring";s:3:"-30";s:1:"v";s:3:"-40";s:1:"w";s:3:"-30";s:1:"y";s:3:"-30";s:6:"yacute";s:3:"-30";s:9:"ydieresis";s:3:"-30";}s:6:"Agrave";a:48:{s:1:"C";s:3:"-40";s:6:"Cacute";s:3:"-40";s:6:"Ccaron";s:3:"-40";s:8:"Ccedilla";s:3:"-40";s:1:"G";s:3:"-50";s:6:"Gbreve";s:3:"-50";s:12:"Gcommaaccent";s:3:"-50";s:1:"O";s:3:"-40";s:6:"Oacute";s:3:"-40";s:11:"Ocircumflex";s:3:"-40";s:9:"Odieresis";s:3:"-40";s:6:"Ograve";s:3:"-40";s:13:"Ohungarumlaut";s:3:"-40";s:7:"Omacron";s:3:"-40";s:6:"Oslash";s:3:"-40";s:6:"Otilde";s:3:"-40";s:1:"Q";s:3:"-40";s:1:"T";s:3:"-90";s:6:"Tcaron";s:3:"-90";s:12:"Tcommaaccent";s:3:"-90";s:1:"U";s:3:"-50";s:6:"Uacute";s:3:"-50";s:11:"Ucircumflex";s:3:"-50";s:9:"Udieresis";s:3:"-50";s:6:"Ugrave";s:3:"-50";s:13:"Uhungarumlaut";s:3:"-50";s:7:"Umacron";s:3:"-50";s:7:"Uogonek";s:3:"-50";s:5:"Uring";s:3:"-50";s:1:"V";s:3:"-80";s:1:"W";s:3:"-60";s:1:"Y";s:4:"-110";s:6:"Yacute";s:4:"-110";s:9:"Ydieresis";s:4:"-110";s:1:"u";s:3:"-30";s:6:"uacute";s:3:"-30";s:11:"ucircumflex";s:3:"-30";s:9:"udieresis";s:3:"-30";s:6:"ugrave";s:3:"-30";s:13:"uhungarumlaut";s:3:"-30";s:7:"umacron";s:3:"-30";s:7:"uogonek";s:3:"-30";s:5:"uring";s:3:"-30";s:1:"v";s:3:"-40";s:1:"w";s:3:"-30";s:1:"y";s:3:"-30";s:6:"yacute";s:3:"-30";s:9:"ydieresis";s:3:"-30";}s:7:"Amacron";a:48:{s:1:"C";s:3:"-40";s:6:"Cacute";s:3:"-40";s:6:"Ccaron";s:3:"-40";s:8:"Ccedilla";s:3:"-40";s:1:"G";s:3:"-50";s:6:"Gbreve";s:3:"-50";s:12:"Gcommaaccent";s:3:"-50";s:1:"O";s:3:"-40";s:6:"Oacute";s:3:"-40";s:11:"Ocircumflex";s:3:"-40";s:9:"Odieresis";s:3:"-40";s:6:"Ograve";s:3:"-40";s:13:"Ohungarumlaut";s:3:"-40";s:7:"Omacron";s:3:"-40";s:6:"Oslash";s:3:"-40";s:6:"Otilde";s:3:"-40";s:1:"Q";s:3:"-40";s:1:"T";s:3:"-90";s:6:"Tcaron";s:3:"-90";s:12:"Tcommaaccent";s:3:"-90";s:1:"U";s:3:"-50";s:6:"Uacute";s:3:"-50";s:11:"Ucircumflex";s:3:"-50";s:9:"Udieresis";s:3:"-50";s:6:"Ugrave";s:3:"-50";s:13:"Uhungarumlaut";s:3:"-50";s:7:"Umacron";s:3:"-50";s:7:"Uogonek";s:3:"-50";s:5:"Uring";s:3:"-50";s:1:"V";s:3:"-80";s:1:"W";s:3:"-60";s:1:"Y";s:4:"-110";s:6:"Yacute";s:4:"-110";s:9:"Ydieresis";s:4:"-110";s:1:"u";s:3:"-30";s:6:"uacute";s:3:"-30";s:11:"ucircumflex";s:3:"-30";s:9:"udieresis";s:3:"-30";s:6:"ugrave";s:3:"-30";s:13:"uhungarumlaut";s:3:"-30";s:7:"umacron";s:3:"-30";s:7:"uogonek";s:3:"-30";s:5:"uring";s:3:"-30";s:1:"v";s:3:"-40";s:1:"w";s:3:"-30";s:1:"y";s:3:"-30";s:6:"yacute";s:3:"-30";s:9:"ydieresis";s:3:"-30";}s:7:"Aogonek";a:48:{s:1:"C";s:3:"-40";s:6:"Cacute";s:3:"-40";s:6:"Ccaron";s:3:"-40";s:8:"Ccedilla";s:3:"-40";s:1:"G";s:3:"-50";s:6:"Gbreve";s:3:"-50";s:12:"Gcommaaccent";s:3:"-50";s:1:"O";s:3:"-40";s:6:"Oacute";s:3:"-40";s:11:"Ocircumflex";s:3:"-40";s:9:"Odieresis";s:3:"-40";s:6:"Ograve";s:3:"-40";s:13:"Ohungarumlaut";s:3:"-40";s:7:"Omacron";s:3:"-40";s:6:"Oslash";s:3:"-40";s:6:"Otilde";s:3:"-40";s:1:"Q";s:3:"-40";s:1:"T";s:3:"-90";s:6:"Tcaron";s:3:"-90";s:12:"Tcommaaccent";s:3:"-90";s:1:"U";s:3:"-50";s:6:"Uacute";s:3:"-50";s:11:"Ucircumflex";s:3:"-50";s:9:"Udieresis";s:3:"-50";s:6:"Ugrave";s:3:"-50";s:13:"Uhungarumlaut";s:3:"-50";s:7:"Umacron";s:3:"-50";s:7:"Uogonek";s:3:"-50";s:5:"Uring";s:3:"-50";s:1:"V";s:3:"-80";s:1:"W";s:3:"-60";s:1:"Y";s:4:"-110";s:6:"Yacute";s:4:"-110";s:9:"Ydieresis";s:4:"-110";s:1:"u";s:3:"-30";s:6:"uacute";s:3:"-30";s:11:"ucircumflex";s:3:"-30";s:9:"udieresis";s:3:"-30";s:6:"ugrave";s:3:"-30";s:13:"uhungarumlaut";s:3:"-30";s:7:"umacron";s:3:"-30";s:7:"uogonek";s:3:"-30";s:5:"uring";s:3:"-30";s:1:"v";s:3:"-40";s:1:"w";s:3:"-30";s:1:"y";s:3:"-30";s:6:"yacute";s:3:"-30";s:9:"ydieresis";s:3:"-30";}s:5:"Aring";a:48:{s:1:"C";s:3:"-40";s:6:"Cacute";s:3:"-40";s:6:"Ccaron";s:3:"-40";s:8:"Ccedilla";s:3:"-40";s:1:"G";s:3:"-50";s:6:"Gbreve";s:3:"-50";s:12:"Gcommaaccent";s:3:"-50";s:1:"O";s:3:"-40";s:6:"Oacute";s:3:"-40";s:11:"Ocircumflex";s:3:"-40";s:9:"Odieresis";s:3:"-40";s:6:"Ograve";s:3:"-40";s:13:"Ohungarumlaut";s:3:"-40";s:7:"Omacron";s:3:"-40";s:6:"Oslash";s:3:"-40";s:6:"Otilde";s:3:"-40";s:1:"Q";s:3:"-40";s:1:"T";s:3:"-90";s:6:"Tcaron";s:3:"-90";s:12:"Tcommaaccent";s:3:"-90";s:1:"U";s:3:"-50";s:6:"Uacute";s:3:"-50";s:11:"Ucircumflex";s:3:"-50";s:9:"Udieresis";s:3:"-50";s:6:"Ugrave";s:3:"-50";s:13:"Uhungarumlaut";s:3:"-50";s:7:"Umacron";s:3:"-50";s:7:"Uogonek";s:3:"-50";s:5:"Uring";s:3:"-50";s:1:"V";s:3:"-80";s:1:"W";s:3:"-60";s:1:"Y";s:4:"-110";s:6:"Yacute";s:4:"-110";s:9:"Ydieresis";s:4:"-110";s:1:"u";s:3:"-30";s:6:"uacute";s:3:"-30";s:11:"ucircumflex";s:3:"-30";s:9:"udieresis";s:3:"-30";s:6:"ugrave";s:3:"-30";s:13:"uhungarumlaut";s:3:"-30";s:7:"umacron";s:3:"-30";s:7:"uogonek";s:3:"-30";s:5:"uring";s:3:"-30";s:1:"v";s:3:"-40";s:1:"w";s:3:"-30";s:1:"y";s:3:"-30";s:6:"yacute";s:3:"-30";s:9:"ydieresis";s:3:"-30";}s:6:"Atilde";a:48:{s:1:"C";s:3:"-40";s:6:"Cacute";s:3:"-40";s:6:"Ccaron";s:3:"-40";s:8:"Ccedilla";s:3:"-40";s:1:"G";s:3:"-50";s:6:"Gbreve";s:3:"-50";s:12:"Gcommaaccent";s:3:"-50";s:1:"O";s:3:"-40";s:6:"Oacute";s:3:"-40";s:11:"Ocircumflex";s:3:"-40";s:9:"Odieresis";s:3:"-40";s:6:"Ograve";s:3:"-40";s:13:"Ohungarumlaut";s:3:"-40";s:7:"Omacron";s:3:"-40";s:6:"Oslash";s:3:"-40";s:6:"Otilde";s:3:"-40";s:1:"Q";s:3:"-40";s:1:"T";s:3:"-90";s:6:"Tcaron";s:3:"-90";s:12:"Tcommaaccent";s:3:"-90";s:1:"U";s:3:"-50";s:6:"Uacute";s:3:"-50";s:11:"Ucircumflex";s:3:"-50";s:9:"Udieresis";s:3:"-50";s:6:"Ugrave";s:3:"-50";s:13:"Uhungarumlaut";s:3:"-50";s:7:"Umacron";s:3:"-50";s:7:"Uogonek";s:3:"-50";s:5:"Uring";s:3:"-50";s:1:"V";s:3:"-80";s:1:"W";s:3:"-60";s:1:"Y";s:4:"-110";s:6:"Yacute";s:4:"-110";s:9:"Ydieresis";s:4:"-110";s:1:"u";s:3:"-30";s:6:"uacute";s:3:"-30";s:11:"ucircumflex";s:3:"-30";s:9:"udieresis";s:3:"-30";s:6:"ugrave";s:3:"-30";s:13:"uhungarumlaut";s:3:"-30";s:7:"umacron";s:3:"-30";s:7:"uogonek";s:3:"-30";s:5:"uring";s:3:"-30";s:1:"v";s:3:"-40";s:1:"w";s:3:"-30";s:1:"y";s:3:"-30";s:6:"yacute";s:3:"-30";s:9:"ydieresis";s:3:"-30";}s:1:"B";a:19:{s:1:"A";s:3:"-30";s:6:"Aacute";s:3:"-30";s:6:"Abreve";s:3:"-30";s:11:"Acircumflex";s:3:"-30";s:9:"Adieresis";s:3:"-30";s:6:"Agrave";s:3:"-30";s:7:"Amacron";s:3:"-30";s:7:"Aogonek";s:3:"-30";s:5:"Aring";s:3:"-30";s:6:"Atilde";s:3:"-30";s:1:"U";s:3:"-10";s:6:"Uacute";s:3:"-10";s:11:"Ucircumflex";s:3:"-10";s:9:"Udieresis";s:3:"-10";s:6:"Ugrave";s:3:"-10";s:13:"Uhungarumlaut";s:3:"-10";s:7:"Umacron";s:3:"-10";s:7:"Uogonek";s:3:"-10";s:5:"Uring";s:3:"-10";}s:1:"D";a:17:{s:1:"A";s:3:"-40";s:6:"Aacute";s:3:"-40";s:6:"Abreve";s:3:"-40";s:11:"Acircumflex";s:3:"-40";s:9:"Adieresis";s:3:"-40";s:6:"Agrave";s:3:"-40";s:7:"Amacron";s:3:"-40";s:7:"Aogonek";s:3:"-40";s:5:"Aring";s:3:"-40";s:6:"Atilde";s:3:"-40";s:1:"V";s:3:"-40";s:1:"W";s:3:"-40";s:1:"Y";s:3:"-70";s:6:"Yacute";s:3:"-70";s:9:"Ydieresis";s:3:"-70";s:5:"comma";s:3:"-30";s:6:"period";s:3:"-30";}s:6:"Dcaron";a:17:{s:1:"A";s:3:"-40";s:6:"Aacute";s:3:"-40";s:6:"Abreve";s:3:"-40";s:11:"Acircumflex";s:3:"-40";s:9:"Adieresis";s:3:"-40";s:6:"Agrave";s:3:"-40";s:7:"Amacron";s:3:"-40";s:7:"Aogonek";s:3:"-40";s:5:"Aring";s:3:"-40";s:6:"Atilde";s:3:"-40";s:1:"V";s:3:"-40";s:1:"W";s:3:"-40";s:1:"Y";s:3:"-70";s:6:"Yacute";s:3:"-70";s:9:"Ydieresis";s:3:"-70";s:5:"comma";s:3:"-30";s:6:"period";s:3:"-30";}s:6:"Dcroat";a:17:{s:1:"A";s:3:"-40";s:6:"Aacute";s:3:"-40";s:6:"Abreve";s:3:"-40";s:11:"Acircumflex";s:3:"-40";s:9:"Adieresis";s:3:"-40";s:6:"Agrave";s:3:"-40";s:7:"Amacron";s:3:"-40";s:7:"Aogonek";s:3:"-40";s:5:"Aring";s:3:"-40";s:6:"Atilde";s:3:"-40";s:1:"V";s:3:"-40";s:1:"W";s:3:"-40";s:1:"Y";s:3:"-70";s:6:"Yacute";s:3:"-70";s:9:"Ydieresis";s:3:"-70";s:5:"comma";s:3:"-30";s:6:"period";s:3:"-30";}s:1:"F";a:22:{s:1:"A";s:3:"-80";s:6:"Aacute";s:3:"-80";s:6:"Abreve";s:3:"-80";s:11:"Acircumflex";s:3:"-80";s:9:"Adieresis";s:3:"-80";s:6:"Agrave";s:3:"-80";s:7:"Amacron";s:3:"-80";s:7:"Aogonek";s:3:"-80";s:5:"Aring";s:3:"-80";s:6:"Atilde";s:3:"-80";s:1:"a";s:3:"-20";s:6:"aacute";s:3:"-20";s:6:"abreve";s:3:"-20";s:11:"acircumflex";s:3:"-20";s:9:"adieresis";s:3:"-20";s:6:"agrave";s:3:"-20";s:7:"amacron";s:3:"-20";s:7:"aogonek";s:3:"-20";s:5:"aring";s:3:"-20";s:6:"atilde";s:3:"-20";s:5:"comma";s:4:"-100";s:6:"period";s:4:"-100";}s:1:"J";a:21:{s:1:"A";s:3:"-20";s:6:"Aacute";s:3:"-20";s:6:"Abreve";s:3:"-20";s:11:"Acircumflex";s:3:"-20";s:9:"Adieresis";s:3:"-20";s:6:"Agrave";s:3:"-20";s:7:"Amacron";s:3:"-20";s:7:"Aogonek";s:3:"-20";s:5:"Aring";s:3:"-20";s:6:"Atilde";s:3:"-20";s:5:"comma";s:3:"-20";s:6:"period";s:3:"-20";s:1:"u";s:3:"-20";s:6:"uacute";s:3:"-20";s:11:"ucircumflex";s:3:"-20";s:9:"udieresis";s:3:"-20";s:6:"ugrave";s:3:"-20";s:13:"uhungarumlaut";s:3:"-20";s:7:"umacron";s:3:"-20";s:7:"uogonek";s:3:"-20";s:5:"uring";s:3:"-20";}s:1:"K";a:39:{s:1:"O";s:3:"-30";s:6:"Oacute";s:3:"-30";s:11:"Ocircumflex";s:3:"-30";s:9:"Odieresis";s:3:"-30";s:6:"Ograve";s:3:"-30";s:13:"Ohungarumlaut";s:3:"-30";s:7:"Omacron";s:3:"-30";s:6:"Oslash";s:3:"-30";s:6:"Otilde";s:3:"-30";s:1:"e";s:3:"-15";s:6:"eacute";s:3:"-15";s:6:"ecaron";s:3:"-15";s:11:"ecircumflex";s:3:"-15";s:9:"edieresis";s:3:"-15";s:10:"edotaccent";s:3:"-15";s:6:"egrave";s:3:"-15";s:7:"emacron";s:3:"-15";s:7:"eogonek";s:3:"-15";s:1:"o";s:3:"-35";s:6:"oacute";s:3:"-35";s:11:"ocircumflex";s:3:"-35";s:9:"odieresis";s:3:"-35";s:6:"ograve";s:3:"-35";s:13:"ohungarumlaut";s:3:"-35";s:7:"omacron";s:3:"-35";s:6:"oslash";s:3:"-35";s:6:"otilde";s:3:"-35";s:1:"u";s:3:"-30";s:6:"uacute";s:3:"-30";s:11:"ucircumflex";s:3:"-30";s:9:"udieresis";s:3:"-30";s:6:"ugrave";s:3:"-30";s:13:"uhungarumlaut";s:3:"-30";s:7:"umacron";s:3:"-30";s:7:"uogonek";s:3:"-30";s:5:"uring";s:3:"-30";s:1:"y";s:3:"-40";s:6:"yacute";s:3:"-40";s:9:"ydieresis";s:3:"-40";}s:12:"Kcommaaccent";a:39:{s:1:"O";s:3:"-30";s:6:"Oacute";s:3:"-30";s:11:"Ocircumflex";s:3:"-30";s:9:"Odieresis";s:3:"-30";s:6:"Ograve";s:3:"-30";s:13:"Ohungarumlaut";s:3:"-30";s:7:"Omacron";s:3:"-30";s:6:"Oslash";s:3:"-30";s:6:"Otilde";s:3:"-30";s:1:"e";s:3:"-15";s:6:"eacute";s:3:"-15";s:6:"ecaron";s:3:"-15";s:11:"ecircumflex";s:3:"-15";s:9:"edieresis";s:3:"-15";s:10:"edotaccent";s:3:"-15";s:6:"egrave";s:3:"-15";s:7:"emacron";s:3:"-15";s:7:"eogonek";s:3:"-15";s:1:"o";s:3:"-35";s:6:"oacute";s:3:"-35";s:11:"ocircumflex";s:3:"-35";s:9:"odieresis";s:3:"-35";s:6:"ograve";s:3:"-35";s:13:"ohungarumlaut";s:3:"-35";s:7:"omacron";s:3:"-35";s:6:"oslash";s:3:"-35";s:6:"otilde";s:3:"-35";s:1:"u";s:3:"-30";s:6:"uacute";s:3:"-30";s:11:"ucircumflex";s:3:"-30";s:9:"udieresis";s:3:"-30";s:6:"ugrave";s:3:"-30";s:13:"uhungarumlaut";s:3:"-30";s:7:"umacron";s:3:"-30";s:7:"uogonek";s:3:"-30";s:5:"uring";s:3:"-30";s:1:"y";s:3:"-40";s:6:"yacute";s:3:"-40";s:9:"ydieresis";s:3:"-40";}s:1:"L";a:13:{s:1:"T";s:3:"-90";s:6:"Tcaron";s:3:"-90";s:12:"Tcommaaccent";s:3:"-90";s:1:"V";s:4:"-110";s:1:"W";s:3:"-80";s:1:"Y";s:4:"-120";s:6:"Yacute";s:4:"-120";s:9:"Ydieresis";s:4:"-120";s:13:"quotedblright";s:4:"-140";s:10:"quoteright";s:4:"-140";s:1:"y";s:3:"-30";s:6:"yacute";s:3:"-30";s:9:"ydieresis";s:3:"-30";}s:6:"Lacute";a:13:{s:1:"T";s:3:"-90";s:6:"Tcaron";s:3:"-90";s:12:"Tcommaaccent";s:3:"-90";s:1:"V";s:4:"-110";s:1:"W";s:3:"-80";s:1:"Y";s:4:"-120";s:6:"Yacute";s:4:"-120";s:9:"Ydieresis";s:4:"-120";s:13:"quotedblright";s:4:"-140";s:10:"quoteright";s:4:"-140";s:1:"y";s:3:"-30";s:6:"yacute";s:3:"-30";s:9:"ydieresis";s:3:"-30";}s:12:"Lcommaaccent";a:13:{s:1:"T";s:3:"-90";s:6:"Tcaron";s:3:"-90";s:12:"Tcommaaccent";s:3:"-90";s:1:"V";s:4:"-110";s:1:"W";s:3:"-80";s:1:"Y";s:4:"-120";s:6:"Yacute";s:4:"-120";s:9:"Ydieresis";s:4:"-120";s:13:"quotedblright";s:4:"-140";s:10:"quoteright";s:4:"-140";s:1:"y";s:3:"-30";s:6:"yacute";s:3:"-30";s:9:"ydieresis";s:3:"-30";}s:6:"Lslash";a:13:{s:1:"T";s:3:"-90";s:6:"Tcaron";s:3:"-90";s:12:"Tcommaaccent";s:3:"-90";s:1:"V";s:4:"-110";s:1:"W";s:3:"-80";s:1:"Y";s:4:"-120";s:6:"Yacute";s:4:"-120";s:9:"Ydieresis";s:4:"-120";s:13:"quotedblright";s:4:"-140";s:10:"quoteright";s:4:"-140";s:1:"y";s:3:"-30";s:6:"yacute";s:3:"-30";s:9:"ydieresis";s:3:"-30";}s:1:"O";a:21:{s:1:"A";s:3:"-50";s:6:"Aacute";s:3:"-50";s:6:"Abreve";s:3:"-50";s:11:"Acircumflex";s:3:"-50";s:9:"Adieresis";s:3:"-50";s:6:"Agrave";s:3:"-50";s:7:"Amacron";s:3:"-50";s:7:"Aogonek";s:3:"-50";s:5:"Aring";s:3:"-50";s:6:"Atilde";s:3:"-50";s:1:"T";s:3:"-40";s:6:"Tcaron";s:3:"-40";s:12:"Tcommaaccent";s:3:"-40";s:1:"V";s:3:"-50";s:1:"W";s:3:"-50";s:1:"X";s:3:"-50";s:1:"Y";s:3:"-70";s:6:"Yacute";s:3:"-70";s:9:"Ydieresis";s:3:"-70";s:5:"comma";s:3:"-40";s:6:"period";s:3:"-40";}s:6:"Oacute";a:21:{s:1:"A";s:3:"-50";s:6:"Aacute";s:3:"-50";s:6:"Abreve";s:3:"-50";s:11:"Acircumflex";s:3:"-50";s:9:"Adieresis";s:3:"-50";s:6:"Agrave";s:3:"-50";s:7:"Amacron";s:3:"-50";s:7:"Aogonek";s:3:"-50";s:5:"Aring";s:3:"-50";s:6:"Atilde";s:3:"-50";s:1:"T";s:3:"-40";s:6:"Tcaron";s:3:"-40";s:12:"Tcommaaccent";s:3:"-40";s:1:"V";s:3:"-50";s:1:"W";s:3:"-50";s:1:"X";s:3:"-50";s:1:"Y";s:3:"-70";s:6:"Yacute";s:3:"-70";s:9:"Ydieresis";s:3:"-70";s:5:"comma";s:3:"-40";s:6:"period";s:3:"-40";}s:11:"Ocircumflex";a:21:{s:1:"A";s:3:"-50";s:6:"Aacute";s:3:"-50";s:6:"Abreve";s:3:"-50";s:11:"Acircumflex";s:3:"-50";s:9:"Adieresis";s:3:"-50";s:6:"Agrave";s:3:"-50";s:7:"Amacron";s:3:"-50";s:7:"Aogonek";s:3:"-50";s:5:"Aring";s:3:"-50";s:6:"Atilde";s:3:"-50";s:1:"T";s:3:"-40";s:6:"Tcaron";s:3:"-40";s:12:"Tcommaaccent";s:3:"-40";s:1:"V";s:3:"-50";s:1:"W";s:3:"-50";s:1:"X";s:3:"-50";s:1:"Y";s:3:"-70";s:6:"Yacute";s:3:"-70";s:9:"Ydieresis";s:3:"-70";s:5:"comma";s:3:"-40";s:6:"period";s:3:"-40";}s:9:"Odieresis";a:21:{s:1:"A";s:3:"-50";s:6:"Aacute";s:3:"-50";s:6:"Abreve";s:3:"-50";s:11:"Acircumflex";s:3:"-50";s:9:"Adieresis";s:3:"-50";s:6:"Agrave";s:3:"-50";s:7:"Amacron";s:3:"-50";s:7:"Aogonek";s:3:"-50";s:5:"Aring";s:3:"-50";s:6:"Atilde";s:3:"-50";s:1:"T";s:3:"-40";s:6:"Tcaron";s:3:"-40";s:12:"Tcommaaccent";s:3:"-40";s:1:"V";s:3:"-50";s:1:"W";s:3:"-50";s:1:"X";s:3:"-50";s:1:"Y";s:3:"-70";s:6:"Yacute";s:3:"-70";s:9:"Ydieresis";s:3:"-70";s:5:"comma";s:3:"-40";s:6:"period";s:3:"-40";}s:6:"Ograve";a:21:{s:1:"A";s:3:"-50";s:6:"Aacute";s:3:"-50";s:6:"Abreve";s:3:"-50";s:11:"Acircumflex";s:3:"-50";s:9:"Adieresis";s:3:"-50";s:6:"Agrave";s:3:"-50";s:7:"Amacron";s:3:"-50";s:7:"Aogonek";s:3:"-50";s:5:"Aring";s:3:"-50";s:6:"Atilde";s:3:"-50";s:1:"T";s:3:"-40";s:6:"Tcaron";s:3:"-40";s:12:"Tcommaaccent";s:3:"-40";s:1:"V";s:3:"-50";s:1:"W";s:3:"-50";s:1:"X";s:3:"-50";s:1:"Y";s:3:"-70";s:6:"Yacute";s:3:"-70";s:9:"Ydieresis";s:3:"-70";s:5:"comma";s:3:"-40";s:6:"period";s:3:"-40";}s:13:"Ohungarumlaut";a:21:{s:1:"A";s:3:"-50";s:6:"Aacute";s:3:"-50";s:6:"Abreve";s:3:"-50";s:11:"Acircumflex";s:3:"-50";s:9:"Adieresis";s:3:"-50";s:6:"Agrave";s:3:"-50";s:7:"Amacron";s:3:"-50";s:7:"Aogonek";s:3:"-50";s:5:"Aring";s:3:"-50";s:6:"Atilde";s:3:"-50";s:1:"T";s:3:"-40";s:6:"Tcaron";s:3:"-40";s:12:"Tcommaaccent";s:3:"-40";s:1:"V";s:3:"-50";s:1:"W";s:3:"-50";s:1:"X";s:3:"-50";s:1:"Y";s:3:"-70";s:6:"Yacute";s:3:"-70";s:9:"Ydieresis";s:3:"-70";s:5:"comma";s:3:"-40";s:6:"period";s:3:"-40";}s:7:"Omacron";a:21:{s:1:"A";s:3:"-50";s:6:"Aacute";s:3:"-50";s:6:"Abreve";s:3:"-50";s:11:"Acircumflex";s:3:"-50";s:9:"Adieresis";s:3:"-50";s:6:"Agrave";s:3:"-50";s:7:"Amacron";s:3:"-50";s:7:"Aogonek";s:3:"-50";s:5:"Aring";s:3:"-50";s:6:"Atilde";s:3:"-50";s:1:"T";s:3:"-40";s:6:"Tcaron";s:3:"-40";s:12:"Tcommaaccent";s:3:"-40";s:1:"V";s:3:"-50";s:1:"W";s:3:"-50";s:1:"X";s:3:"-50";s:1:"Y";s:3:"-70";s:6:"Yacute";s:3:"-70";s:9:"Ydieresis";s:3:"-70";s:5:"comma";s:3:"-40";s:6:"period";s:3:"-40";}s:6:"Oslash";a:21:{s:1:"A";s:3:"-50";s:6:"Aacute";s:3:"-50";s:6:"Abreve";s:3:"-50";s:11:"Acircumflex";s:3:"-50";s:9:"Adieresis";s:3:"-50";s:6:"Agrave";s:3:"-50";s:7:"Amacron";s:3:"-50";s:7:"Aogonek";s:3:"-50";s:5:"Aring";s:3:"-50";s:6:"Atilde";s:3:"-50";s:1:"T";s:3:"-40";s:6:"Tcaron";s:3:"-40";s:12:"Tcommaaccent";s:3:"-40";s:1:"V";s:3:"-50";s:1:"W";s:3:"-50";s:1:"X";s:3:"-50";s:1:"Y";s:3:"-70";s:6:"Yacute";s:3:"-70";s:9:"Ydieresis";s:3:"-70";s:5:"comma";s:3:"-40";s:6:"period";s:3:"-40";}s:6:"Otilde";a:21:{s:1:"A";s:3:"-50";s:6:"Aacute";s:3:"-50";s:6:"Abreve";s:3:"-50";s:11:"Acircumflex";s:3:"-50";s:9:"Adieresis";s:3:"-50";s:6:"Agrave";s:3:"-50";s:7:"Amacron";s:3:"-50";s:7:"Aogonek";s:3:"-50";s:5:"Aring";s:3:"-50";s:6:"Atilde";s:3:"-50";s:1:"T";s:3:"-40";s:6:"Tcaron";s:3:"-40";s:12:"Tcommaaccent";s:3:"-40";s:1:"V";s:3:"-50";s:1:"W";s:3:"-50";s:1:"X";s:3:"-50";s:1:"Y";s:3:"-70";s:6:"Yacute";s:3:"-70";s:9:"Ydieresis";s:3:"-70";s:5:"comma";s:3:"-40";s:6:"period";s:3:"-40";}s:1:"P";a:40:{s:1:"A";s:4:"-100";s:6:"Aacute";s:4:"-100";s:6:"Abreve";s:4:"-100";s:11:"Acircumflex";s:4:"-100";s:9:"Adieresis";s:4:"-100";s:6:"Agrave";s:4:"-100";s:7:"Amacron";s:4:"-100";s:7:"Aogonek";s:4:"-100";s:5:"Aring";s:4:"-100";s:6:"Atilde";s:4:"-100";s:1:"a";s:3:"-30";s:6:"aacute";s:3:"-30";s:6:"abreve";s:3:"-30";s:11:"acircumflex";s:3:"-30";s:9:"adieresis";s:3:"-30";s:6:"agrave";s:3:"-30";s:7:"amacron";s:3:"-30";s:7:"aogonek";s:3:"-30";s:5:"aring";s:3:"-30";s:6:"atilde";s:3:"-30";s:5:"comma";s:4:"-120";s:1:"e";s:3:"-30";s:6:"eacute";s:3:"-30";s:6:"ecaron";s:3:"-30";s:11:"ecircumflex";s:3:"-30";s:9:"edieresis";s:3:"-30";s:10:"edotaccent";s:3:"-30";s:6:"egrave";s:3:"-30";s:7:"emacron";s:3:"-30";s:7:"eogonek";s:3:"-30";s:1:"o";s:3:"-40";s:6:"oacute";s:3:"-40";s:11:"ocircumflex";s:3:"-40";s:9:"odieresis";s:3:"-40";s:6:"ograve";s:3:"-40";s:13:"ohungarumlaut";s:3:"-40";s:7:"omacron";s:3:"-40";s:6:"oslash";s:3:"-40";s:6:"otilde";s:3:"-40";s:6:"period";s:4:"-120";}s:1:"Q";a:11:{s:1:"U";s:3:"-10";s:6:"Uacute";s:3:"-10";s:11:"Ucircumflex";s:3:"-10";s:9:"Udieresis";s:3:"-10";s:6:"Ugrave";s:3:"-10";s:13:"Uhungarumlaut";s:3:"-10";s:7:"Umacron";s:3:"-10";s:7:"Uogonek";s:3:"-10";s:5:"Uring";s:3:"-10";s:5:"comma";s:2:"20";s:6:"period";s:2:"20";}s:1:"R";a:26:{s:1:"O";s:3:"-20";s:6:"Oacute";s:3:"-20";s:11:"Ocircumflex";s:3:"-20";s:9:"Odieresis";s:3:"-20";s:6:"Ograve";s:3:"-20";s:13:"Ohungarumlaut";s:3:"-20";s:7:"Omacron";s:3:"-20";s:6:"Oslash";s:3:"-20";s:6:"Otilde";s:3:"-20";s:1:"T";s:3:"-20";s:6:"Tcaron";s:3:"-20";s:12:"Tcommaaccent";s:3:"-20";s:1:"U";s:3:"-20";s:6:"Uacute";s:3:"-20";s:11:"Ucircumflex";s:3:"-20";s:9:"Udieresis";s:3:"-20";s:6:"Ugrave";s:3:"-20";s:13:"Uhungarumlaut";s:3:"-20";s:7:"Umacron";s:3:"-20";s:7:"Uogonek";s:3:"-20";s:5:"Uring";s:3:"-20";s:1:"V";s:3:"-50";s:1:"W";s:3:"-40";s:1:"Y";s:3:"-50";s:6:"Yacute";s:3:"-50";s:9:"Ydieresis";s:3:"-50";}s:6:"Racute";a:26:{s:1:"O";s:3:"-20";s:6:"Oacute";s:3:"-20";s:11:"Ocircumflex";s:3:"-20";s:9:"Odieresis";s:3:"-20";s:6:"Ograve";s:3:"-20";s:13:"Ohungarumlaut";s:3:"-20";s:7:"Omacron";s:3:"-20";s:6:"Oslash";s:3:"-20";s:6:"Otilde";s:3:"-20";s:1:"T";s:3:"-20";s:6:"Tcaron";s:3:"-20";s:12:"Tcommaaccent";s:3:"-20";s:1:"U";s:3:"-20";s:6:"Uacute";s:3:"-20";s:11:"Ucircumflex";s:3:"-20";s:9:"Udieresis";s:3:"-20";s:6:"Ugrave";s:3:"-20";s:13:"Uhungarumlaut";s:3:"-20";s:7:"Umacron";s:3:"-20";s:7:"Uogonek";s:3:"-20";s:5:"Uring";s:3:"-20";s:1:"V";s:3:"-50";s:1:"W";s:3:"-40";s:1:"Y";s:3:"-50";s:6:"Yacute";s:3:"-50";s:9:"Ydieresis";s:3:"-50";}s:6:"Rcaron";a:26:{s:1:"O";s:3:"-20";s:6:"Oacute";s:3:"-20";s:11:"Ocircumflex";s:3:"-20";s:9:"Odieresis";s:3:"-20";s:6:"Ograve";s:3:"-20";s:13:"Ohungarumlaut";s:3:"-20";s:7:"Omacron";s:3:"-20";s:6:"Oslash";s:3:"-20";s:6:"Otilde";s:3:"-20";s:1:"T";s:3:"-20";s:6:"Tcaron";s:3:"-20";s:12:"Tcommaaccent";s:3:"-20";s:1:"U";s:3:"-20";s:6:"Uacute";s:3:"-20";s:11:"Ucircumflex";s:3:"-20";s:9:"Udieresis";s:3:"-20";s:6:"Ugrave";s:3:"-20";s:13:"Uhungarumlaut";s:3:"-20";s:7:"Umacron";s:3:"-20";s:7:"Uogonek";s:3:"-20";s:5:"Uring";s:3:"-20";s:1:"V";s:3:"-50";s:1:"W";s:3:"-40";s:1:"Y";s:3:"-50";s:6:"Yacute";s:3:"-50";s:9:"Ydieresis";s:3:"-50";}s:12:"Rcommaaccent";a:26:{s:1:"O";s:3:"-20";s:6:"Oacute";s:3:"-20";s:11:"Ocircumflex";s:3:"-20";s:9:"Odieresis";s:3:"-20";s:6:"Ograve";s:3:"-20";s:13:"Ohungarumlaut";s:3:"-20";s:7:"Omacron";s:3:"-20";s:6:"Oslash";s:3:"-20";s:6:"Otilde";s:3:"-20";s:1:"T";s:3:"-20";s:6:"Tcaron";s:3:"-20";s:12:"Tcommaaccent";s:3:"-20";s:1:"U";s:3:"-20";s:6:"Uacute";s:3:"-20";s:11:"Ucircumflex";s:3:"-20";s:9:"Udieresis";s:3:"-20";s:6:"Ugrave";s:3:"-20";s:13:"Uhungarumlaut";s:3:"-20";s:7:"Umacron";s:3:"-20";s:7:"Uogonek";s:3:"-20";s:5:"Uring";s:3:"-20";s:1:"V";s:3:"-50";s:1:"W";s:3:"-40";s:1:"Y";s:3:"-50";s:6:"Yacute";s:3:"-50";s:9:"Ydieresis";s:3:"-50";}s:1:"T";a:68:{s:1:"A";s:3:"-90";s:6:"Aacute";s:3:"-90";s:6:"Abreve";s:3:"-90";s:11:"Acircumflex";s:3:"-90";s:9:"Adieresis";s:3:"-90";s:6:"Agrave";s:3:"-90";s:7:"Amacron";s:3:"-90";s:7:"Aogonek";s:3:"-90";s:5:"Aring";s:3:"-90";s:6:"Atilde";s:3:"-90";s:1:"O";s:3:"-40";s:6:"Oacute";s:3:"-40";s:11:"Ocircumflex";s:3:"-40";s:9:"Odieresis";s:3:"-40";s:6:"Ograve";s:3:"-40";s:13:"Ohungarumlaut";s:3:"-40";s:7:"Omacron";s:3:"-40";s:6:"Oslash";s:3:"-40";s:6:"Otilde";s:3:"-40";s:1:"a";s:3:"-80";s:6:"aacute";s:3:"-80";s:6:"abreve";s:3:"-80";s:11:"acircumflex";s:3:"-80";s:9:"adieresis";s:3:"-80";s:6:"agrave";s:3:"-80";s:7:"amacron";s:3:"-80";s:7:"aogonek";s:3:"-80";s:5:"aring";s:3:"-80";s:6:"atilde";s:3:"-80";s:5:"colon";s:3:"-40";s:5:"comma";s:3:"-80";s:1:"e";s:3:"-60";s:6:"eacute";s:3:"-60";s:6:"ecaron";s:3:"-60";s:11:"ecircumflex";s:3:"-60";s:9:"edieresis";s:3:"-60";s:10:"edotaccent";s:3:"-60";s:6:"egrave";s:3:"-60";s:7:"emacron";s:3:"-60";s:7:"eogonek";s:3:"-60";s:6:"hyphen";s:4:"-120";s:1:"o";s:3:"-80";s:6:"oacute";s:3:"-80";s:11:"ocircumflex";s:3:"-80";s:9:"odieresis";s:3:"-80";s:6:"ograve";s:3:"-80";s:13:"ohungarumlaut";s:3:"-80";s:7:"omacron";s:3:"-80";s:6:"oslash";s:3:"-80";s:6:"otilde";s:3:"-80";s:6:"period";s:3:"-80";s:1:"r";s:3:"-80";s:6:"racute";s:3:"-80";s:12:"rcommaaccent";s:3:"-80";s:9:"semicolon";s:3:"-40";s:1:"u";s:3:"-90";s:6:"uacute";s:3:"-90";s:11:"ucircumflex";s:3:"-90";s:9:"udieresis";s:3:"-90";s:6:"ugrave";s:3:"-90";s:13:"uhungarumlaut";s:3:"-90";s:7:"umacron";s:3:"-90";s:7:"uogonek";s:3:"-90";s:5:"uring";s:3:"-90";s:1:"w";s:3:"-60";s:1:"y";s:3:"-60";s:6:"yacute";s:3:"-60";s:9:"ydieresis";s:3:"-60";}s:6:"Tcaron";a:68:{s:1:"A";s:3:"-90";s:6:"Aacute";s:3:"-90";s:6:"Abreve";s:3:"-90";s:11:"Acircumflex";s:3:"-90";s:9:"Adieresis";s:3:"-90";s:6:"Agrave";s:3:"-90";s:7:"Amacron";s:3:"-90";s:7:"Aogonek";s:3:"-90";s:5:"Aring";s:3:"-90";s:6:"Atilde";s:3:"-90";s:1:"O";s:3:"-40";s:6:"Oacute";s:3:"-40";s:11:"Ocircumflex";s:3:"-40";s:9:"Odieresis";s:3:"-40";s:6:"Ograve";s:3:"-40";s:13:"Ohungarumlaut";s:3:"-40";s:7:"Omacron";s:3:"-40";s:6:"Oslash";s:3:"-40";s:6:"Otilde";s:3:"-40";s:1:"a";s:3:"-80";s:6:"aacute";s:3:"-80";s:6:"abreve";s:3:"-80";s:11:"acircumflex";s:3:"-80";s:9:"adieresis";s:3:"-80";s:6:"agrave";s:3:"-80";s:7:"amacron";s:3:"-80";s:7:"aogonek";s:3:"-80";s:5:"aring";s:3:"-80";s:6:"atilde";s:3:"-80";s:5:"colon";s:3:"-40";s:5:"comma";s:3:"-80";s:1:"e";s:3:"-60";s:6:"eacute";s:3:"-60";s:6:"ecaron";s:3:"-60";s:11:"ecircumflex";s:3:"-60";s:9:"edieresis";s:3:"-60";s:10:"edotaccent";s:3:"-60";s:6:"egrave";s:3:"-60";s:7:"emacron";s:3:"-60";s:7:"eogonek";s:3:"-60";s:6:"hyphen";s:4:"-120";s:1:"o";s:3:"-80";s:6:"oacute";s:3:"-80";s:11:"ocircumflex";s:3:"-80";s:9:"odieresis";s:3:"-80";s:6:"ograve";s:3:"-80";s:13:"ohungarumlaut";s:3:"-80";s:7:"omacron";s:3:"-80";s:6:"oslash";s:3:"-80";s:6:"otilde";s:3:"-80";s:6:"period";s:3:"-80";s:1:"r";s:3:"-80";s:6:"racute";s:3:"-80";s:12:"rcommaaccent";s:3:"-80";s:9:"semicolon";s:3:"-40";s:1:"u";s:3:"-90";s:6:"uacute";s:3:"-90";s:11:"ucircumflex";s:3:"-90";s:9:"udieresis";s:3:"-90";s:6:"ugrave";s:3:"-90";s:13:"uhungarumlaut";s:3:"-90";s:7:"umacron";s:3:"-90";s:7:"uogonek";s:3:"-90";s:5:"uring";s:3:"-90";s:1:"w";s:3:"-60";s:1:"y";s:3:"-60";s:6:"yacute";s:3:"-60";s:9:"ydieresis";s:3:"-60";}s:12:"Tcommaaccent";a:68:{s:1:"A";s:3:"-90";s:6:"Aacute";s:3:"-90";s:6:"Abreve";s:3:"-90";s:11:"Acircumflex";s:3:"-90";s:9:"Adieresis";s:3:"-90";s:6:"Agrave";s:3:"-90";s:7:"Amacron";s:3:"-90";s:7:"Aogonek";s:3:"-90";s:5:"Aring";s:3:"-90";s:6:"Atilde";s:3:"-90";s:1:"O";s:3:"-40";s:6:"Oacute";s:3:"-40";s:11:"Ocircumflex";s:3:"-40";s:9:"Odieresis";s:3:"-40";s:6:"Ograve";s:3:"-40";s:13:"Ohungarumlaut";s:3:"-40";s:7:"Omacron";s:3:"-40";s:6:"Oslash";s:3:"-40";s:6:"Otilde";s:3:"-40";s:1:"a";s:3:"-80";s:6:"aacute";s:3:"-80";s:6:"abreve";s:3:"-80";s:11:"acircumflex";s:3:"-80";s:9:"adieresis";s:3:"-80";s:6:"agrave";s:3:"-80";s:7:"amacron";s:3:"-80";s:7:"aogonek";s:3:"-80";s:5:"aring";s:3:"-80";s:6:"atilde";s:3:"-80";s:5:"colon";s:3:"-40";s:5:"comma";s:3:"-80";s:1:"e";s:3:"-60";s:6:"eacute";s:3:"-60";s:6:"ecaron";s:3:"-60";s:11:"ecircumflex";s:3:"-60";s:9:"edieresis";s:3:"-60";s:10:"edotaccent";s:3:"-60";s:6:"egrave";s:3:"-60";s:7:"emacron";s:3:"-60";s:7:"eogonek";s:3:"-60";s:6:"hyphen";s:4:"-120";s:1:"o";s:3:"-80";s:6:"oacute";s:3:"-80";s:11:"ocircumflex";s:3:"-80";s:9:"odieresis";s:3:"-80";s:6:"ograve";s:3:"-80";s:13:"ohungarumlaut";s:3:"-80";s:7:"omacron";s:3:"-80";s:6:"oslash";s:3:"-80";s:6:"otilde";s:3:"-80";s:6:"period";s:3:"-80";s:1:"r";s:3:"-80";s:6:"racute";s:3:"-80";s:12:"rcommaaccent";s:3:"-80";s:9:"semicolon";s:3:"-40";s:1:"u";s:3:"-90";s:6:"uacute";s:3:"-90";s:11:"ucircumflex";s:3:"-90";s:9:"udieresis";s:3:"-90";s:6:"ugrave";s:3:"-90";s:13:"uhungarumlaut";s:3:"-90";s:7:"umacron";s:3:"-90";s:7:"uogonek";s:3:"-90";s:5:"uring";s:3:"-90";s:1:"w";s:3:"-60";s:1:"y";s:3:"-60";s:6:"yacute";s:3:"-60";s:9:"ydieresis";s:3:"-60";}s:1:"U";a:12:{s:1:"A";s:3:"-50";s:6:"Aacute";s:3:"-50";s:6:"Abreve";s:3:"-50";s:11:"Acircumflex";s:3:"-50";s:9:"Adieresis";s:3:"-50";s:6:"Agrave";s:3:"-50";s:7:"Amacron";s:3:"-50";s:7:"Aogonek";s:3:"-50";s:5:"Aring";s:3:"-50";s:6:"Atilde";s:3:"-50";s:5:"comma";s:3:"-30";s:6:"period";s:3:"-30";}s:6:"Uacute";a:12:{s:1:"A";s:3:"-50";s:6:"Aacute";s:3:"-50";s:6:"Abreve";s:3:"-50";s:11:"Acircumflex";s:3:"-50";s:9:"Adieresis";s:3:"-50";s:6:"Agrave";s:3:"-50";s:7:"Amacron";s:3:"-50";s:7:"Aogonek";s:3:"-50";s:5:"Aring";s:3:"-50";s:6:"Atilde";s:3:"-50";s:5:"comma";s:3:"-30";s:6:"period";s:3:"-30";}s:11:"Ucircumflex";a:12:{s:1:"A";s:3:"-50";s:6:"Aacute";s:3:"-50";s:6:"Abreve";s:3:"-50";s:11:"Acircumflex";s:3:"-50";s:9:"Adieresis";s:3:"-50";s:6:"Agrave";s:3:"-50";s:7:"Amacron";s:3:"-50";s:7:"Aogonek";s:3:"-50";s:5:"Aring";s:3:"-50";s:6:"Atilde";s:3:"-50";s:5:"comma";s:3:"-30";s:6:"period";s:3:"-30";}s:9:"Udieresis";a:12:{s:1:"A";s:3:"-50";s:6:"Aacute";s:3:"-50";s:6:"Abreve";s:3:"-50";s:11:"Acircumflex";s:3:"-50";s:9:"Adieresis";s:3:"-50";s:6:"Agrave";s:3:"-50";s:7:"Amacron";s:3:"-50";s:7:"Aogonek";s:3:"-50";s:5:"Aring";s:3:"-50";s:6:"Atilde";s:3:"-50";s:5:"comma";s:3:"-30";s:6:"period";s:3:"-30";}s:6:"Ugrave";a:12:{s:1:"A";s:3:"-50";s:6:"Aacute";s:3:"-50";s:6:"Abreve";s:3:"-50";s:11:"Acircumflex";s:3:"-50";s:9:"Adieresis";s:3:"-50";s:6:"Agrave";s:3:"-50";s:7:"Amacron";s:3:"-50";s:7:"Aogonek";s:3:"-50";s:5:"Aring";s:3:"-50";s:6:"Atilde";s:3:"-50";s:5:"comma";s:3:"-30";s:6:"period";s:3:"-30";}s:13:"Uhungarumlaut";a:12:{s:1:"A";s:3:"-50";s:6:"Aacute";s:3:"-50";s:6:"Abreve";s:3:"-50";s:11:"Acircumflex";s:3:"-50";s:9:"Adieresis";s:3:"-50";s:6:"Agrave";s:3:"-50";s:7:"Amacron";s:3:"-50";s:7:"Aogonek";s:3:"-50";s:5:"Aring";s:3:"-50";s:6:"Atilde";s:3:"-50";s:5:"comma";s:3:"-30";s:6:"period";s:3:"-30";}s:7:"Umacron";a:12:{s:1:"A";s:3:"-50";s:6:"Aacute";s:3:"-50";s:6:"Abreve";s:3:"-50";s:11:"Acircumflex";s:3:"-50";s:9:"Adieresis";s:3:"-50";s:6:"Agrave";s:3:"-50";s:7:"Amacron";s:3:"-50";s:7:"Aogonek";s:3:"-50";s:5:"Aring";s:3:"-50";s:6:"Atilde";s:3:"-50";s:5:"comma";s:3:"-30";s:6:"period";s:3:"-30";}s:7:"Uogonek";a:12:{s:1:"A";s:3:"-50";s:6:"Aacute";s:3:"-50";s:6:"Abreve";s:3:"-50";s:11:"Acircumflex";s:3:"-50";s:9:"Adieresis";s:3:"-50";s:6:"Agrave";s:3:"-50";s:7:"Amacron";s:3:"-50";s:7:"Aogonek";s:3:"-50";s:5:"Aring";s:3:"-50";s:6:"Atilde";s:3:"-50";s:5:"comma";s:3:"-30";s:6:"period";s:3:"-30";}s:5:"Uring";a:12:{s:1:"A";s:3:"-50";s:6:"Aacute";s:3:"-50";s:6:"Abreve";s:3:"-50";s:11:"Acircumflex";s:3:"-50";s:9:"Adieresis";s:3:"-50";s:6:"Agrave";s:3:"-50";s:7:"Amacron";s:3:"-50";s:7:"Aogonek";s:3:"-50";s:5:"Aring";s:3:"-50";s:6:"Atilde";s:3:"-50";s:5:"comma";s:3:"-30";s:6:"period";s:3:"-30";}s:1:"V";a:64:{s:1:"A";s:3:"-80";s:6:"Aacute";s:3:"-80";s:6:"Abreve";s:3:"-80";s:11:"Acircumflex";s:3:"-80";s:9:"Adieresis";s:3:"-80";s:6:"Agrave";s:3:"-80";s:7:"Amacron";s:3:"-80";s:7:"Aogonek";s:3:"-80";s:5:"Aring";s:3:"-80";s:6:"Atilde";s:3:"-80";s:1:"G";s:3:"-50";s:6:"Gbreve";s:3:"-50";s:12:"Gcommaaccent";s:3:"-50";s:1:"O";s:3:"-50";s:6:"Oacute";s:3:"-50";s:11:"Ocircumflex";s:3:"-50";s:9:"Odieresis";s:3:"-50";s:6:"Ograve";s:3:"-50";s:13:"Ohungarumlaut";s:3:"-50";s:7:"Omacron";s:3:"-50";s:6:"Oslash";s:3:"-50";s:6:"Otilde";s:3:"-50";s:1:"a";s:3:"-60";s:6:"aacute";s:3:"-60";s:6:"abreve";s:3:"-60";s:11:"acircumflex";s:3:"-60";s:9:"adieresis";s:3:"-60";s:6:"agrave";s:3:"-60";s:7:"amacron";s:3:"-60";s:7:"aogonek";s:3:"-60";s:5:"aring";s:3:"-60";s:6:"atilde";s:3:"-60";s:5:"colon";s:3:"-40";s:5:"comma";s:4:"-120";s:1:"e";s:3:"-50";s:6:"eacute";s:3:"-50";s:6:"ecaron";s:3:"-50";s:11:"ecircumflex";s:3:"-50";s:9:"edieresis";s:3:"-50";s:10:"edotaccent";s:3:"-50";s:6:"egrave";s:3:"-50";s:7:"emacron";s:3:"-50";s:7:"eogonek";s:3:"-50";s:6:"hyphen";s:3:"-80";s:1:"o";s:3:"-90";s:6:"oacute";s:3:"-90";s:11:"ocircumflex";s:3:"-90";s:9:"odieresis";s:3:"-90";s:6:"ograve";s:3:"-90";s:13:"ohungarumlaut";s:3:"-90";s:7:"omacron";s:3:"-90";s:6:"oslash";s:3:"-90";s:6:"otilde";s:3:"-90";s:6:"period";s:4:"-120";s:9:"semicolon";s:3:"-40";s:1:"u";s:3:"-60";s:6:"uacute";s:3:"-60";s:11:"ucircumflex";s:3:"-60";s:9:"udieresis";s:3:"-60";s:6:"ugrave";s:3:"-60";s:13:"uhungarumlaut";s:3:"-60";s:7:"umacron";s:3:"-60";s:7:"uogonek";s:3:"-60";s:5:"uring";s:3:"-60";}s:1:"W";a:64:{s:1:"A";s:3:"-60";s:6:"Aacute";s:3:"-60";s:6:"Abreve";s:3:"-60";s:11:"Acircumflex";s:3:"-60";s:9:"Adieresis";s:3:"-60";s:6:"Agrave";s:3:"-60";s:7:"Amacron";s:3:"-60";s:7:"Aogonek";s:3:"-60";s:5:"Aring";s:3:"-60";s:6:"Atilde";s:3:"-60";s:1:"O";s:3:"-20";s:6:"Oacute";s:3:"-20";s:11:"Ocircumflex";s:3:"-20";s:9:"Odieresis";s:3:"-20";s:6:"Ograve";s:3:"-20";s:13:"Ohungarumlaut";s:3:"-20";s:7:"Omacron";s:3:"-20";s:6:"Oslash";s:3:"-20";s:6:"Otilde";s:3:"-20";s:1:"a";s:3:"-40";s:6:"aacute";s:3:"-40";s:6:"abreve";s:3:"-40";s:11:"acircumflex";s:3:"-40";s:9:"adieresis";s:3:"-40";s:6:"agrave";s:3:"-40";s:7:"amacron";s:3:"-40";s:7:"aogonek";s:3:"-40";s:5:"aring";s:3:"-40";s:6:"atilde";s:3:"-40";s:5:"colon";s:3:"-10";s:5:"comma";s:3:"-80";s:1:"e";s:3:"-35";s:6:"eacute";s:3:"-35";s:6:"ecaron";s:3:"-35";s:11:"ecircumflex";s:3:"-35";s:9:"edieresis";s:3:"-35";s:10:"edotaccent";s:3:"-35";s:6:"egrave";s:3:"-35";s:7:"emacron";s:3:"-35";s:7:"eogonek";s:3:"-35";s:6:"hyphen";s:3:"-40";s:1:"o";s:3:"-60";s:6:"oacute";s:3:"-60";s:11:"ocircumflex";s:3:"-60";s:9:"odieresis";s:3:"-60";s:6:"ograve";s:3:"-60";s:13:"ohungarumlaut";s:3:"-60";s:7:"omacron";s:3:"-60";s:6:"oslash";s:3:"-60";s:6:"otilde";s:3:"-60";s:6:"period";s:3:"-80";s:9:"semicolon";s:3:"-10";s:1:"u";s:3:"-45";s:6:"uacute";s:3:"-45";s:11:"ucircumflex";s:3:"-45";s:9:"udieresis";s:3:"-45";s:6:"ugrave";s:3:"-45";s:13:"uhungarumlaut";s:3:"-45";s:7:"umacron";s:3:"-45";s:7:"uogonek";s:3:"-45";s:5:"uring";s:3:"-45";s:1:"y";s:3:"-20";s:6:"yacute";s:3:"-20";s:9:"ydieresis";s:3:"-20";}s:1:"Y";a:60:{s:1:"A";s:4:"-110";s:6:"Aacute";s:4:"-110";s:6:"Abreve";s:4:"-110";s:11:"Acircumflex";s:4:"-110";s:9:"Adieresis";s:4:"-110";s:6:"Agrave";s:4:"-110";s:7:"Amacron";s:4:"-110";s:7:"Aogonek";s:4:"-110";s:5:"Aring";s:4:"-110";s:6:"Atilde";s:4:"-110";s:1:"O";s:3:"-70";s:6:"Oacute";s:3:"-70";s:11:"Ocircumflex";s:3:"-70";s:9:"Odieresis";s:3:"-70";s:6:"Ograve";s:3:"-70";s:13:"Ohungarumlaut";s:3:"-70";s:7:"Omacron";s:3:"-70";s:6:"Oslash";s:3:"-70";s:6:"Otilde";s:3:"-70";s:1:"a";s:3:"-90";s:6:"aacute";s:3:"-90";s:6:"abreve";s:3:"-90";s:11:"acircumflex";s:3:"-90";s:9:"adieresis";s:3:"-90";s:6:"agrave";s:3:"-90";s:7:"amacron";s:3:"-90";s:7:"aogonek";s:3:"-90";s:5:"aring";s:3:"-90";s:6:"atilde";s:3:"-90";s:5:"colon";s:3:"-50";s:5:"comma";s:4:"-100";s:1:"e";s:3:"-80";s:6:"eacute";s:3:"-80";s:6:"ecaron";s:3:"-80";s:11:"ecircumflex";s:3:"-80";s:9:"edieresis";s:3:"-80";s:10:"edotaccent";s:3:"-80";s:6:"egrave";s:3:"-80";s:7:"emacron";s:3:"-80";s:7:"eogonek";s:3:"-80";s:1:"o";s:4:"-100";s:6:"oacute";s:4:"-100";s:11:"ocircumflex";s:4:"-100";s:9:"odieresis";s:4:"-100";s:6:"ograve";s:4:"-100";s:13:"ohungarumlaut";s:4:"-100";s:7:"omacron";s:4:"-100";s:6:"oslash";s:4:"-100";s:6:"otilde";s:4:"-100";s:6:"period";s:4:"-100";s:9:"semicolon";s:3:"-50";s:1:"u";s:4:"-100";s:6:"uacute";s:4:"-100";s:11:"ucircumflex";s:4:"-100";s:9:"udieresis";s:4:"-100";s:6:"ugrave";s:4:"-100";s:13:"uhungarumlaut";s:4:"-100";s:7:"umacron";s:4:"-100";s:7:"uogonek";s:4:"-100";s:5:"uring";s:4:"-100";}s:6:"Yacute";a:60:{s:1:"A";s:4:"-110";s:6:"Aacute";s:4:"-110";s:6:"Abreve";s:4:"-110";s:11:"Acircumflex";s:4:"-110";s:9:"Adieresis";s:4:"-110";s:6:"Agrave";s:4:"-110";s:7:"Amacron";s:4:"-110";s:7:"Aogonek";s:4:"-110";s:5:"Aring";s:4:"-110";s:6:"Atilde";s:4:"-110";s:1:"O";s:3:"-70";s:6:"Oacute";s:3:"-70";s:11:"Ocircumflex";s:3:"-70";s:9:"Odieresis";s:3:"-70";s:6:"Ograve";s:3:"-70";s:13:"Ohungarumlaut";s:3:"-70";s:7:"Omacron";s:3:"-70";s:6:"Oslash";s:3:"-70";s:6:"Otilde";s:3:"-70";s:1:"a";s:3:"-90";s:6:"aacute";s:3:"-90";s:6:"abreve";s:3:"-90";s:11:"acircumflex";s:3:"-90";s:9:"adieresis";s:3:"-90";s:6:"agrave";s:3:"-90";s:7:"amacron";s:3:"-90";s:7:"aogonek";s:3:"-90";s:5:"aring";s:3:"-90";s:6:"atilde";s:3:"-90";s:5:"colon";s:3:"-50";s:5:"comma";s:4:"-100";s:1:"e";s:3:"-80";s:6:"eacute";s:3:"-80";s:6:"ecaron";s:3:"-80";s:11:"ecircumflex";s:3:"-80";s:9:"edieresis";s:3:"-80";s:10:"edotaccent";s:3:"-80";s:6:"egrave";s:3:"-80";s:7:"emacron";s:3:"-80";s:7:"eogonek";s:3:"-80";s:1:"o";s:4:"-100";s:6:"oacute";s:4:"-100";s:11:"ocircumflex";s:4:"-100";s:9:"odieresis";s:4:"-100";s:6:"ograve";s:4:"-100";s:13:"ohungarumlaut";s:4:"-100";s:7:"omacron";s:4:"-100";s:6:"oslash";s:4:"-100";s:6:"otilde";s:4:"-100";s:6:"period";s:4:"-100";s:9:"semicolon";s:3:"-50";s:1:"u";s:4:"-100";s:6:"uacute";s:4:"-100";s:11:"ucircumflex";s:4:"-100";s:9:"udieresis";s:4:"-100";s:6:"ugrave";s:4:"-100";s:13:"uhungarumlaut";s:4:"-100";s:7:"umacron";s:4:"-100";s:7:"uogonek";s:4:"-100";s:5:"uring";s:4:"-100";}s:9:"Ydieresis";a:60:{s:1:"A";s:4:"-110";s:6:"Aacute";s:4:"-110";s:6:"Abreve";s:4:"-110";s:11:"Acircumflex";s:4:"-110";s:9:"Adieresis";s:4:"-110";s:6:"Agrave";s:4:"-110";s:7:"Amacron";s:4:"-110";s:7:"Aogonek";s:4:"-110";s:5:"Aring";s:4:"-110";s:6:"Atilde";s:4:"-110";s:1:"O";s:3:"-70";s:6:"Oacute";s:3:"-70";s:11:"Ocircumflex";s:3:"-70";s:9:"Odieresis";s:3:"-70";s:6:"Ograve";s:3:"-70";s:13:"Ohungarumlaut";s:3:"-70";s:7:"Omacron";s:3:"-70";s:6:"Oslash";s:3:"-70";s:6:"Otilde";s:3:"-70";s:1:"a";s:3:"-90";s:6:"aacute";s:3:"-90";s:6:"abreve";s:3:"-90";s:11:"acircumflex";s:3:"-90";s:9:"adieresis";s:3:"-90";s:6:"agrave";s:3:"-90";s:7:"amacron";s:3:"-90";s:7:"aogonek";s:3:"-90";s:5:"aring";s:3:"-90";s:6:"atilde";s:3:"-90";s:5:"colon";s:3:"-50";s:5:"comma";s:4:"-100";s:1:"e";s:3:"-80";s:6:"eacute";s:3:"-80";s:6:"ecaron";s:3:"-80";s:11:"ecircumflex";s:3:"-80";s:9:"edieresis";s:3:"-80";s:10:"edotaccent";s:3:"-80";s:6:"egrave";s:3:"-80";s:7:"emacron";s:3:"-80";s:7:"eogonek";s:3:"-80";s:1:"o";s:4:"-100";s:6:"oacute";s:4:"-100";s:11:"ocircumflex";s:4:"-100";s:9:"odieresis";s:4:"-100";s:6:"ograve";s:4:"-100";s:13:"ohungarumlaut";s:4:"-100";s:7:"omacron";s:4:"-100";s:6:"oslash";s:4:"-100";s:6:"otilde";s:4:"-100";s:6:"period";s:4:"-100";s:9:"semicolon";s:3:"-50";s:1:"u";s:4:"-100";s:6:"uacute";s:4:"-100";s:11:"ucircumflex";s:4:"-100";s:9:"udieresis";s:4:"-100";s:6:"ugrave";s:4:"-100";s:13:"uhungarumlaut";s:4:"-100";s:7:"umacron";s:4:"-100";s:7:"uogonek";s:4:"-100";s:5:"uring";s:4:"-100";}s:1:"a";a:8:{s:1:"g";s:3:"-10";s:6:"gbreve";s:3:"-10";s:12:"gcommaaccent";s:3:"-10";s:1:"v";s:3:"-15";s:1:"w";s:3:"-15";s:1:"y";s:3:"-20";s:6:"yacute";s:3:"-20";s:9:"ydieresis";s:3:"-20";}s:6:"aacute";a:8:{s:1:"g";s:3:"-10";s:6:"gbreve";s:3:"-10";s:12:"gcommaaccent";s:3:"-10";s:1:"v";s:3:"-15";s:1:"w";s:3:"-15";s:1:"y";s:3:"-20";s:6:"yacute";s:3:"-20";s:9:"ydieresis";s:3:"-20";}s:6:"abreve";a:8:{s:1:"g";s:3:"-10";s:6:"gbreve";s:3:"-10";s:12:"gcommaaccent";s:3:"-10";s:1:"v";s:3:"-15";s:1:"w";s:3:"-15";s:1:"y";s:3:"-20";s:6:"yacute";s:3:"-20";s:9:"ydieresis";s:3:"-20";}s:11:"acircumflex";a:8:{s:1:"g";s:3:"-10";s:6:"gbreve";s:3:"-10";s:12:"gcommaaccent";s:3:"-10";s:1:"v";s:3:"-15";s:1:"w";s:3:"-15";s:1:"y";s:3:"-20";s:6:"yacute";s:3:"-20";s:9:"ydieresis";s:3:"-20";}s:9:"adieresis";a:8:{s:1:"g";s:3:"-10";s:6:"gbreve";s:3:"-10";s:12:"gcommaaccent";s:3:"-10";s:1:"v";s:3:"-15";s:1:"w";s:3:"-15";s:1:"y";s:3:"-20";s:6:"yacute";s:3:"-20";s:9:"ydieresis";s:3:"-20";}s:6:"agrave";a:8:{s:1:"g";s:3:"-10";s:6:"gbreve";s:3:"-10";s:12:"gcommaaccent";s:3:"-10";s:1:"v";s:3:"-15";s:1:"w";s:3:"-15";s:1:"y";s:3:"-20";s:6:"yacute";s:3:"-20";s:9:"ydieresis";s:3:"-20";}s:7:"amacron";a:8:{s:1:"g";s:3:"-10";s:6:"gbreve";s:3:"-10";s:12:"gcommaaccent";s:3:"-10";s:1:"v";s:3:"-15";s:1:"w";s:3:"-15";s:1:"y";s:3:"-20";s:6:"yacute";s:3:"-20";s:9:"ydieresis";s:3:"-20";}s:7:"aogonek";a:8:{s:1:"g";s:3:"-10";s:6:"gbreve";s:3:"-10";s:12:"gcommaaccent";s:3:"-10";s:1:"v";s:3:"-15";s:1:"w";s:3:"-15";s:1:"y";s:3:"-20";s:6:"yacute";s:3:"-20";s:9:"ydieresis";s:3:"-20";}s:5:"aring";a:8:{s:1:"g";s:3:"-10";s:6:"gbreve";s:3:"-10";s:12:"gcommaaccent";s:3:"-10";s:1:"v";s:3:"-15";s:1:"w";s:3:"-15";s:1:"y";s:3:"-20";s:6:"yacute";s:3:"-20";s:9:"ydieresis";s:3:"-20";}s:6:"atilde";a:8:{s:1:"g";s:3:"-10";s:6:"gbreve";s:3:"-10";s:12:"gcommaaccent";s:3:"-10";s:1:"v";s:3:"-15";s:1:"w";s:3:"-15";s:1:"y";s:3:"-20";s:6:"yacute";s:3:"-20";s:9:"ydieresis";s:3:"-20";}s:1:"b";a:17:{s:1:"l";s:3:"-10";s:6:"lacute";s:3:"-10";s:12:"lcommaaccent";s:3:"-10";s:6:"lslash";s:3:"-10";s:1:"u";s:3:"-20";s:6:"uacute";s:3:"-20";s:11:"ucircumflex";s:3:"-20";s:9:"udieresis";s:3:"-20";s:6:"ugrave";s:3:"-20";s:13:"uhungarumlaut";s:3:"-20";s:7:"umacron";s:3:"-20";s:7:"uogonek";s:3:"-20";s:5:"uring";s:3:"-20";s:1:"v";s:3:"-20";s:1:"y";s:3:"-20";s:6:"yacute";s:3:"-20";s:9:"ydieresis";s:3:"-20";}s:1:"c";a:10:{s:1:"h";s:3:"-10";s:1:"k";s:3:"-20";s:12:"kcommaaccent";s:3:"-20";s:1:"l";s:3:"-20";s:6:"lacute";s:3:"-20";s:12:"lcommaaccent";s:3:"-20";s:6:"lslash";s:3:"-20";s:1:"y";s:3:"-10";s:6:"yacute";s:3:"-10";s:9:"ydieresis";s:3:"-10";}s:6:"cacute";a:10:{s:1:"h";s:3:"-10";s:1:"k";s:3:"-20";s:12:"kcommaaccent";s:3:"-20";s:1:"l";s:3:"-20";s:6:"lacute";s:3:"-20";s:12:"lcommaaccent";s:3:"-20";s:6:"lslash";s:3:"-20";s:1:"y";s:3:"-10";s:6:"yacute";s:3:"-10";s:9:"ydieresis";s:3:"-10";}s:6:"ccaron";a:10:{s:1:"h";s:3:"-10";s:1:"k";s:3:"-20";s:12:"kcommaaccent";s:3:"-20";s:1:"l";s:3:"-20";s:6:"lacute";s:3:"-20";s:12:"lcommaaccent";s:3:"-20";s:6:"lslash";s:3:"-20";s:1:"y";s:3:"-10";s:6:"yacute";s:3:"-10";s:9:"ydieresis";s:3:"-10";}s:8:"ccedilla";a:10:{s:1:"h";s:3:"-10";s:1:"k";s:3:"-20";s:12:"kcommaaccent";s:3:"-20";s:1:"l";s:3:"-20";s:6:"lacute";s:3:"-20";s:12:"lcommaaccent";s:3:"-20";s:6:"lslash";s:3:"-20";s:1:"y";s:3:"-10";s:6:"yacute";s:3:"-10";s:9:"ydieresis";s:3:"-10";}s:5:"colon";a:1:{s:5:"space";s:3:"-40";}s:5:"comma";a:3:{s:13:"quotedblright";s:4:"-120";s:10:"quoteright";s:4:"-120";s:5:"space";s:3:"-40";}s:1:"d";a:7:{s:1:"d";s:3:"-10";s:6:"dcroat";s:3:"-10";s:1:"v";s:3:"-15";s:1:"w";s:3:"-15";s:1:"y";s:3:"-15";s:6:"yacute";s:3:"-15";s:9:"ydieresis";s:3:"-15";}s:6:"dcroat";a:7:{s:1:"d";s:3:"-10";s:6:"dcroat";s:3:"-10";s:1:"v";s:3:"-15";s:1:"w";s:3:"-15";s:1:"y";s:3:"-15";s:6:"yacute";s:3:"-15";s:9:"ydieresis";s:3:"-15";}s:1:"e";a:8:{s:5:"comma";s:2:"10";s:6:"period";s:2:"20";s:1:"v";s:3:"-15";s:1:"w";s:3:"-15";s:1:"x";s:3:"-15";s:1:"y";s:3:"-15";s:6:"yacute";s:3:"-15";s:9:"ydieresis";s:3:"-15";}s:6:"eacute";a:8:{s:5:"comma";s:2:"10";s:6:"period";s:2:"20";s:1:"v";s:3:"-15";s:1:"w";s:3:"-15";s:1:"x";s:3:"-15";s:1:"y";s:3:"-15";s:6:"yacute";s:3:"-15";s:9:"ydieresis";s:3:"-15";}s:6:"ecaron";a:8:{s:5:"comma";s:2:"10";s:6:"period";s:2:"20";s:1:"v";s:3:"-15";s:1:"w";s:3:"-15";s:1:"x";s:3:"-15";s:1:"y";s:3:"-15";s:6:"yacute";s:3:"-15";s:9:"ydieresis";s:3:"-15";}s:11:"ecircumflex";a:8:{s:5:"comma";s:2:"10";s:6:"period";s:2:"20";s:1:"v";s:3:"-15";s:1:"w";s:3:"-15";s:1:"x";s:3:"-15";s:1:"y";s:3:"-15";s:6:"yacute";s:3:"-15";s:9:"ydieresis";s:3:"-15";}s:9:"edieresis";a:8:{s:5:"comma";s:2:"10";s:6:"period";s:2:"20";s:1:"v";s:3:"-15";s:1:"w";s:3:"-15";s:1:"x";s:3:"-15";s:1:"y";s:3:"-15";s:6:"yacute";s:3:"-15";s:9:"ydieresis";s:3:"-15";}s:10:"edotaccent";a:8:{s:5:"comma";s:2:"10";s:6:"period";s:2:"20";s:1:"v";s:3:"-15";s:1:"w";s:3:"-15";s:1:"x";s:3:"-15";s:1:"y";s:3:"-15";s:6:"yacute";s:3:"-15";s:9:"ydieresis";s:3:"-15";}s:6:"egrave";a:8:{s:5:"comma";s:2:"10";s:6:"period";s:2:"20";s:1:"v";s:3:"-15";s:1:"w";s:3:"-15";s:1:"x";s:3:"-15";s:1:"y";s:3:"-15";s:6:"yacute";s:3:"-15";s:9:"ydieresis";s:3:"-15";}s:7:"emacron";a:8:{s:5:"comma";s:2:"10";s:6:"period";s:2:"20";s:1:"v";s:3:"-15";s:1:"w";s:3:"-15";s:1:"x";s:3:"-15";s:1:"y";s:3:"-15";s:6:"yacute";s:3:"-15";s:9:"ydieresis";s:3:"-15";}s:7:"eogonek";a:8:{s:5:"comma";s:2:"10";s:6:"period";s:2:"20";s:1:"v";s:3:"-15";s:1:"w";s:3:"-15";s:1:"x";s:3:"-15";s:1:"y";s:3:"-15";s:6:"yacute";s:3:"-15";s:9:"ydieresis";s:3:"-15";}s:1:"f";a:22:{s:5:"comma";s:3:"-10";s:1:"e";s:3:"-10";s:6:"eacute";s:3:"-10";s:6:"ecaron";s:3:"-10";s:11:"ecircumflex";s:3:"-10";s:9:"edieresis";s:3:"-10";s:10:"edotaccent";s:3:"-10";s:6:"egrave";s:3:"-10";s:7:"emacron";s:3:"-10";s:7:"eogonek";s:3:"-10";s:1:"o";s:3:"-20";s:6:"oacute";s:3:"-20";s:11:"ocircumflex";s:3:"-20";s:9:"odieresis";s:3:"-20";s:6:"ograve";s:3:"-20";s:13:"ohungarumlaut";s:3:"-20";s:7:"omacron";s:3:"-20";s:6:"oslash";s:3:"-20";s:6:"otilde";s:3:"-20";s:6:"period";s:3:"-10";s:13:"quotedblright";s:2:"30";s:10:"quoteright";s:2:"30";}s:1:"g";a:12:{s:1:"e";s:2:"10";s:6:"eacute";s:2:"10";s:6:"ecaron";s:2:"10";s:11:"ecircumflex";s:2:"10";s:9:"edieresis";s:2:"10";s:10:"edotaccent";s:2:"10";s:6:"egrave";s:2:"10";s:7:"emacron";s:2:"10";s:7:"eogonek";s:2:"10";s:1:"g";s:3:"-10";s:6:"gbreve";s:3:"-10";s:12:"gcommaaccent";s:3:"-10";}s:6:"gbreve";a:12:{s:1:"e";s:2:"10";s:6:"eacute";s:2:"10";s:6:"ecaron";s:2:"10";s:11:"ecircumflex";s:2:"10";s:9:"edieresis";s:2:"10";s:10:"edotaccent";s:2:"10";s:6:"egrave";s:2:"10";s:7:"emacron";s:2:"10";s:7:"eogonek";s:2:"10";s:1:"g";s:3:"-10";s:6:"gbreve";s:3:"-10";s:12:"gcommaaccent";s:3:"-10";}s:12:"gcommaaccent";a:12:{s:1:"e";s:2:"10";s:6:"eacute";s:2:"10";s:6:"ecaron";s:2:"10";s:11:"ecircumflex";s:2:"10";s:9:"edieresis";s:2:"10";s:10:"edotaccent";s:2:"10";s:6:"egrave";s:2:"10";s:7:"emacron";s:2:"10";s:7:"eogonek";s:2:"10";s:1:"g";s:3:"-10";s:6:"gbreve";s:3:"-10";s:12:"gcommaaccent";s:3:"-10";}s:1:"h";a:3:{s:1:"y";s:3:"-20";s:6:"yacute";s:3:"-20";s:9:"ydieresis";s:3:"-20";}s:1:"k";a:9:{s:1:"o";s:3:"-15";s:6:"oacute";s:3:"-15";s:11:"ocircumflex";s:3:"-15";s:9:"odieresis";s:3:"-15";s:6:"ograve";s:3:"-15";s:13:"ohungarumlaut";s:3:"-15";s:7:"omacron";s:3:"-15";s:6:"oslash";s:3:"-15";s:6:"otilde";s:3:"-15";}s:12:"kcommaaccent";a:9:{s:1:"o";s:3:"-15";s:6:"oacute";s:3:"-15";s:11:"ocircumflex";s:3:"-15";s:9:"odieresis";s:3:"-15";s:6:"ograve";s:3:"-15";s:13:"ohungarumlaut";s:3:"-15";s:7:"omacron";s:3:"-15";s:6:"oslash";s:3:"-15";s:6:"otilde";s:3:"-15";}s:1:"l";a:4:{s:1:"w";s:3:"-15";s:1:"y";s:3:"-15";s:6:"yacute";s:3:"-15";s:9:"ydieresis";s:3:"-15";}s:6:"lacute";a:4:{s:1:"w";s:3:"-15";s:1:"y";s:3:"-15";s:6:"yacute";s:3:"-15";s:9:"ydieresis";s:3:"-15";}s:12:"lcommaaccent";a:4:{s:1:"w";s:3:"-15";s:1:"y";s:3:"-15";s:6:"yacute";s:3:"-15";s:9:"ydieresis";s:3:"-15";}s:6:"lslash";a:4:{s:1:"w";s:3:"-15";s:1:"y";s:3:"-15";s:6:"yacute";s:3:"-15";s:9:"ydieresis";s:3:"-15";}s:1:"m";a:12:{s:1:"u";s:3:"-20";s:6:"uacute";s:3:"-20";s:11:"ucircumflex";s:3:"-20";s:9:"udieresis";s:3:"-20";s:6:"ugrave";s:3:"-20";s:13:"uhungarumlaut";s:3:"-20";s:7:"umacron";s:3:"-20";s:7:"uogonek";s:3:"-20";s:5:"uring";s:3:"-20";s:1:"y";s:3:"-30";s:6:"yacute";s:3:"-30";s:9:"ydieresis";s:3:"-30";}s:1:"n";a:13:{s:1:"u";s:3:"-10";s:6:"uacute";s:3:"-10";s:11:"ucircumflex";s:3:"-10";s:9:"udieresis";s:3:"-10";s:6:"ugrave";s:3:"-10";s:13:"uhungarumlaut";s:3:"-10";s:7:"umacron";s:3:"-10";s:7:"uogonek";s:3:"-10";s:5:"uring";s:3:"-10";s:1:"v";s:3:"-40";s:1:"y";s:3:"-20";s:6:"yacute";s:3:"-20";s:9:"ydieresis";s:3:"-20";}s:6:"nacute";a:13:{s:1:"u";s:3:"-10";s:6:"uacute";s:3:"-10";s:11:"ucircumflex";s:3:"-10";s:9:"udieresis";s:3:"-10";s:6:"ugrave";s:3:"-10";s:13:"uhungarumlaut";s:3:"-10";s:7:"umacron";s:3:"-10";s:7:"uogonek";s:3:"-10";s:5:"uring";s:3:"-10";s:1:"v";s:3:"-40";s:1:"y";s:3:"-20";s:6:"yacute";s:3:"-20";s:9:"ydieresis";s:3:"-20";}s:6:"ncaron";a:13:{s:1:"u";s:3:"-10";s:6:"uacute";s:3:"-10";s:11:"ucircumflex";s:3:"-10";s:9:"udieresis";s:3:"-10";s:6:"ugrave";s:3:"-10";s:13:"uhungarumlaut";s:3:"-10";s:7:"umacron";s:3:"-10";s:7:"uogonek";s:3:"-10";s:5:"uring";s:3:"-10";s:1:"v";s:3:"-40";s:1:"y";s:3:"-20";s:6:"yacute";s:3:"-20";s:9:"ydieresis";s:3:"-20";}s:12:"ncommaaccent";a:13:{s:1:"u";s:3:"-10";s:6:"uacute";s:3:"-10";s:11:"ucircumflex";s:3:"-10";s:9:"udieresis";s:3:"-10";s:6:"ugrave";s:3:"-10";s:13:"uhungarumlaut";s:3:"-10";s:7:"umacron";s:3:"-10";s:7:"uogonek";s:3:"-10";s:5:"uring";s:3:"-10";s:1:"v";s:3:"-40";s:1:"y";s:3:"-20";s:6:"yacute";s:3:"-20";s:9:"ydieresis";s:3:"-20";}s:6:"ntilde";a:13:{s:1:"u";s:3:"-10";s:6:"uacute";s:3:"-10";s:11:"ucircumflex";s:3:"-10";s:9:"udieresis";s:3:"-10";s:6:"ugrave";s:3:"-10";s:13:"uhungarumlaut";s:3:"-10";s:7:"umacron";s:3:"-10";s:7:"uogonek";s:3:"-10";s:5:"uring";s:3:"-10";s:1:"v";s:3:"-40";s:1:"y";s:3:"-20";s:6:"yacute";s:3:"-20";s:9:"ydieresis";s:3:"-20";}s:1:"o";a:6:{s:1:"v";s:3:"-20";s:1:"w";s:3:"-15";s:1:"x";s:3:"-30";s:1:"y";s:3:"-20";s:6:"yacute";s:3:"-20";s:9:"ydieresis";s:3:"-20";}s:6:"oacute";a:6:{s:1:"v";s:3:"-20";s:1:"w";s:3:"-15";s:1:"x";s:3:"-30";s:1:"y";s:3:"-20";s:6:"yacute";s:3:"-20";s:9:"ydieresis";s:3:"-20";}s:11:"ocircumflex";a:6:{s:1:"v";s:3:"-20";s:1:"w";s:3:"-15";s:1:"x";s:3:"-30";s:1:"y";s:3:"-20";s:6:"yacute";s:3:"-20";s:9:"ydieresis";s:3:"-20";}s:9:"odieresis";a:6:{s:1:"v";s:3:"-20";s:1:"w";s:3:"-15";s:1:"x";s:3:"-30";s:1:"y";s:3:"-20";s:6:"yacute";s:3:"-20";s:9:"ydieresis";s:3:"-20";}s:6:"ograve";a:6:{s:1:"v";s:3:"-20";s:1:"w";s:3:"-15";s:1:"x";s:3:"-30";s:1:"y";s:3:"-20";s:6:"yacute";s:3:"-20";s:9:"ydieresis";s:3:"-20";}s:13:"ohungarumlaut";a:6:{s:1:"v";s:3:"-20";s:1:"w";s:3:"-15";s:1:"x";s:3:"-30";s:1:"y";s:3:"-20";s:6:"yacute";s:3:"-20";s:9:"ydieresis";s:3:"-20";}s:7:"omacron";a:6:{s:1:"v";s:3:"-20";s:1:"w";s:3:"-15";s:1:"x";s:3:"-30";s:1:"y";s:3:"-20";s:6:"yacute";s:3:"-20";s:9:"ydieresis";s:3:"-20";}s:6:"oslash";a:6:{s:1:"v";s:3:"-20";s:1:"w";s:3:"-15";s:1:"x";s:3:"-30";s:1:"y";s:3:"-20";s:6:"yacute";s:3:"-20";s:9:"ydieresis";s:3:"-20";}s:6:"otilde";a:6:{s:1:"v";s:3:"-20";s:1:"w";s:3:"-15";s:1:"x";s:3:"-30";s:1:"y";s:3:"-20";s:6:"yacute";s:3:"-20";s:9:"ydieresis";s:3:"-20";}s:1:"p";a:3:{s:1:"y";s:3:"-15";s:6:"yacute";s:3:"-15";s:9:"ydieresis";s:3:"-15";}s:6:"period";a:3:{s:13:"quotedblright";s:4:"-120";s:10:"quoteright";s:4:"-120";s:5:"space";s:3:"-40";}s:13:"quotedblright";a:1:{s:5:"space";s:3:"-80";}s:9:"quoteleft";a:1:{s:9:"quoteleft";s:3:"-46";}s:10:"quoteright";a:18:{s:1:"d";s:3:"-80";s:6:"dcroat";s:3:"-80";s:1:"l";s:3:"-20";s:6:"lacute";s:3:"-20";s:12:"lcommaaccent";s:3:"-20";s:6:"lslash";s:3:"-20";s:10:"quoteright";s:3:"-46";s:1:"r";s:3:"-40";s:6:"racute";s:3:"-40";s:6:"rcaron";s:3:"-40";s:12:"rcommaaccent";s:3:"-40";s:1:"s";s:3:"-60";s:6:"sacute";s:3:"-60";s:6:"scaron";s:3:"-60";s:8:"scedilla";s:3:"-60";s:12:"scommaaccent";s:3:"-60";s:5:"space";s:3:"-80";s:1:"v";s:3:"-20";}s:1:"r";a:33:{s:1:"c";s:3:"-20";s:6:"cacute";s:3:"-20";s:6:"ccaron";s:3:"-20";s:8:"ccedilla";s:3:"-20";s:5:"comma";s:3:"-60";s:1:"d";s:3:"-20";s:6:"dcroat";s:3:"-20";s:1:"g";s:3:"-15";s:6:"gbreve";s:3:"-15";s:12:"gcommaaccent";s:3:"-15";s:6:"hyphen";s:3:"-20";s:1:"o";s:3:"-20";s:6:"oacute";s:3:"-20";s:11:"ocircumflex";s:3:"-20";s:9:"odieresis";s:3:"-20";s:6:"ograve";s:3:"-20";s:13:"ohungarumlaut";s:3:"-20";s:7:"omacron";s:3:"-20";s:6:"oslash";s:3:"-20";s:6:"otilde";s:3:"-20";s:6:"period";s:3:"-60";s:1:"q";s:3:"-20";s:1:"s";s:3:"-15";s:6:"sacute";s:3:"-15";s:6:"scaron";s:3:"-15";s:8:"scedilla";s:3:"-15";s:12:"scommaaccent";s:3:"-15";s:1:"t";s:2:"20";s:12:"tcommaaccent";s:2:"20";s:1:"v";s:2:"10";s:1:"y";s:2:"10";s:6:"yacute";s:2:"10";s:9:"ydieresis";s:2:"10";}s:6:"racute";a:33:{s:1:"c";s:3:"-20";s:6:"cacute";s:3:"-20";s:6:"ccaron";s:3:"-20";s:8:"ccedilla";s:3:"-20";s:5:"comma";s:3:"-60";s:1:"d";s:3:"-20";s:6:"dcroat";s:3:"-20";s:1:"g";s:3:"-15";s:6:"gbreve";s:3:"-15";s:12:"gcommaaccent";s:3:"-15";s:6:"hyphen";s:3:"-20";s:1:"o";s:3:"-20";s:6:"oacute";s:3:"-20";s:11:"ocircumflex";s:3:"-20";s:9:"odieresis";s:3:"-20";s:6:"ograve";s:3:"-20";s:13:"ohungarumlaut";s:3:"-20";s:7:"omacron";s:3:"-20";s:6:"oslash";s:3:"-20";s:6:"otilde";s:3:"-20";s:6:"period";s:3:"-60";s:1:"q";s:3:"-20";s:1:"s";s:3:"-15";s:6:"sacute";s:3:"-15";s:6:"scaron";s:3:"-15";s:8:"scedilla";s:3:"-15";s:12:"scommaaccent";s:3:"-15";s:1:"t";s:2:"20";s:12:"tcommaaccent";s:2:"20";s:1:"v";s:2:"10";s:1:"y";s:2:"10";s:6:"yacute";s:2:"10";s:9:"ydieresis";s:2:"10";}s:6:"rcaron";a:33:{s:1:"c";s:3:"-20";s:6:"cacute";s:3:"-20";s:6:"ccaron";s:3:"-20";s:8:"ccedilla";s:3:"-20";s:5:"comma";s:3:"-60";s:1:"d";s:3:"-20";s:6:"dcroat";s:3:"-20";s:1:"g";s:3:"-15";s:6:"gbreve";s:3:"-15";s:12:"gcommaaccent";s:3:"-15";s:6:"hyphen";s:3:"-20";s:1:"o";s:3:"-20";s:6:"oacute";s:3:"-20";s:11:"ocircumflex";s:3:"-20";s:9:"odieresis";s:3:"-20";s:6:"ograve";s:3:"-20";s:13:"ohungarumlaut";s:3:"-20";s:7:"omacron";s:3:"-20";s:6:"oslash";s:3:"-20";s:6:"otilde";s:3:"-20";s:6:"period";s:3:"-60";s:1:"q";s:3:"-20";s:1:"s";s:3:"-15";s:6:"sacute";s:3:"-15";s:6:"scaron";s:3:"-15";s:8:"scedilla";s:3:"-15";s:12:"scommaaccent";s:3:"-15";s:1:"t";s:2:"20";s:12:"tcommaaccent";s:2:"20";s:1:"v";s:2:"10";s:1:"y";s:2:"10";s:6:"yacute";s:2:"10";s:9:"ydieresis";s:2:"10";}s:12:"rcommaaccent";a:33:{s:1:"c";s:3:"-20";s:6:"cacute";s:3:"-20";s:6:"ccaron";s:3:"-20";s:8:"ccedilla";s:3:"-20";s:5:"comma";s:3:"-60";s:1:"d";s:3:"-20";s:6:"dcroat";s:3:"-20";s:1:"g";s:3:"-15";s:6:"gbreve";s:3:"-15";s:12:"gcommaaccent";s:3:"-15";s:6:"hyphen";s:3:"-20";s:1:"o";s:3:"-20";s:6:"oacute";s:3:"-20";s:11:"ocircumflex";s:3:"-20";s:9:"odieresis";s:3:"-20";s:6:"ograve";s:3:"-20";s:13:"ohungarumlaut";s:3:"-20";s:7:"omacron";s:3:"-20";s:6:"oslash";s:3:"-20";s:6:"otilde";s:3:"-20";s:6:"period";s:3:"-60";s:1:"q";s:3:"-20";s:1:"s";s:3:"-15";s:6:"sacute";s:3:"-15";s:6:"scaron";s:3:"-15";s:8:"scedilla";s:3:"-15";s:12:"scommaaccent";s:3:"-15";s:1:"t";s:2:"20";s:12:"tcommaaccent";s:2:"20";s:1:"v";s:2:"10";s:1:"y";s:2:"10";s:6:"yacute";s:2:"10";s:9:"ydieresis";s:2:"10";}s:1:"s";a:1:{s:1:"w";s:3:"-15";}s:6:"sacute";a:1:{s:1:"w";s:3:"-15";}s:6:"scaron";a:1:{s:1:"w";s:3:"-15";}s:8:"scedilla";a:1:{s:1:"w";s:3:"-15";}s:12:"scommaaccent";a:1:{s:1:"w";s:3:"-15";}s:9:"semicolon";a:1:{s:5:"space";s:3:"-40";}s:5:"space";a:10:{s:1:"T";s:4:"-100";s:6:"Tcaron";s:4:"-100";s:12:"Tcommaaccent";s:4:"-100";s:1:"V";s:3:"-80";s:1:"W";s:3:"-80";s:1:"Y";s:4:"-120";s:6:"Yacute";s:4:"-120";s:9:"Ydieresis";s:4:"-120";s:12:"quotedblleft";s:3:"-80";s:9:"quoteleft";s:3:"-60";}s:1:"v";a:21:{s:1:"a";s:3:"-20";s:6:"aacute";s:3:"-20";s:6:"abreve";s:3:"-20";s:11:"acircumflex";s:3:"-20";s:9:"adieresis";s:3:"-20";s:6:"agrave";s:3:"-20";s:7:"amacron";s:3:"-20";s:7:"aogonek";s:3:"-20";s:5:"aring";s:3:"-20";s:6:"atilde";s:3:"-20";s:5:"comma";s:3:"-80";s:1:"o";s:3:"-30";s:6:"oacute";s:3:"-30";s:11:"ocircumflex";s:3:"-30";s:9:"odieresis";s:3:"-30";s:6:"ograve";s:3:"-30";s:13:"ohungarumlaut";s:3:"-30";s:7:"omacron";s:3:"-30";s:6:"oslash";s:3:"-30";s:6:"otilde";s:3:"-30";s:6:"period";s:3:"-80";}s:1:"w";a:11:{s:5:"comma";s:3:"-40";s:1:"o";s:3:"-20";s:6:"oacute";s:3:"-20";s:11:"ocircumflex";s:3:"-20";s:9:"odieresis";s:3:"-20";s:6:"ograve";s:3:"-20";s:13:"ohungarumlaut";s:3:"-20";s:7:"omacron";s:3:"-20";s:6:"oslash";s:3:"-20";s:6:"otilde";s:3:"-20";s:6:"period";s:3:"-40";}s:1:"x";a:9:{s:1:"e";s:3:"-10";s:6:"eacute";s:3:"-10";s:6:"ecaron";s:3:"-10";s:11:"ecircumflex";s:3:"-10";s:9:"edieresis";s:3:"-10";s:10:"edotaccent";s:3:"-10";s:6:"egrave";s:3:"-10";s:7:"emacron";s:3:"-10";s:7:"eogonek";s:3:"-10";}s:1:"y";a:30:{s:1:"a";s:3:"-30";s:6:"aacute";s:3:"-30";s:6:"abreve";s:3:"-30";s:11:"acircumflex";s:3:"-30";s:9:"adieresis";s:3:"-30";s:6:"agrave";s:3:"-30";s:7:"amacron";s:3:"-30";s:7:"aogonek";s:3:"-30";s:5:"aring";s:3:"-30";s:6:"atilde";s:3:"-30";s:5:"comma";s:3:"-80";s:1:"e";s:3:"-10";s:6:"eacute";s:3:"-10";s:6:"ecaron";s:3:"-10";s:11:"ecircumflex";s:3:"-10";s:9:"edieresis";s:3:"-10";s:10:"edotaccent";s:3:"-10";s:6:"egrave";s:3:"-10";s:7:"emacron";s:3:"-10";s:7:"eogonek";s:3:"-10";s:1:"o";s:3:"-25";s:6:"oacute";s:3:"-25";s:11:"ocircumflex";s:3:"-25";s:9:"odieresis";s:3:"-25";s:6:"ograve";s:3:"-25";s:13:"ohungarumlaut";s:3:"-25";s:7:"omacron";s:3:"-25";s:6:"oslash";s:3:"-25";s:6:"otilde";s:3:"-25";s:6:"period";s:3:"-80";}s:6:"yacute";a:30:{s:1:"a";s:3:"-30";s:6:"aacute";s:3:"-30";s:6:"abreve";s:3:"-30";s:11:"acircumflex";s:3:"-30";s:9:"adieresis";s:3:"-30";s:6:"agrave";s:3:"-30";s:7:"amacron";s:3:"-30";s:7:"aogonek";s:3:"-30";s:5:"aring";s:3:"-30";s:6:"atilde";s:3:"-30";s:5:"comma";s:3:"-80";s:1:"e";s:3:"-10";s:6:"eacute";s:3:"-10";s:6:"ecaron";s:3:"-10";s:11:"ecircumflex";s:3:"-10";s:9:"edieresis";s:3:"-10";s:10:"edotaccent";s:3:"-10";s:6:"egrave";s:3:"-10";s:7:"emacron";s:3:"-10";s:7:"eogonek";s:3:"-10";s:1:"o";s:3:"-25";s:6:"oacute";s:3:"-25";s:11:"ocircumflex";s:3:"-25";s:9:"odieresis";s:3:"-25";s:6:"ograve";s:3:"-25";s:13:"ohungarumlaut";s:3:"-25";s:7:"omacron";s:3:"-25";s:6:"oslash";s:3:"-25";s:6:"otilde";s:3:"-25";s:6:"period";s:3:"-80";}s:9:"ydieresis";a:30:{s:1:"a";s:3:"-30";s:6:"aacute";s:3:"-30";s:6:"abreve";s:3:"-30";s:11:"acircumflex";s:3:"-30";s:9:"adieresis";s:3:"-30";s:6:"agrave";s:3:"-30";s:7:"amacron";s:3:"-30";s:7:"aogonek";s:3:"-30";s:5:"aring";s:3:"-30";s:6:"atilde";s:3:"-30";s:5:"comma";s:3:"-80";s:1:"e";s:3:"-10";s:6:"eacute";s:3:"-10";s:6:"ecaron";s:3:"-10";s:11:"ecircumflex";s:3:"-10";s:9:"edieresis";s:3:"-10";s:10:"edotaccent";s:3:"-10";s:6:"egrave";s:3:"-10";s:7:"emacron";s:3:"-10";s:7:"eogonek";s:3:"-10";s:1:"o";s:3:"-25";s:6:"oacute";s:3:"-25";s:11:"ocircumflex";s:3:"-25";s:9:"odieresis";s:3:"-25";s:6:"ograve";s:3:"-25";s:13:"ohungarumlaut";s:3:"-25";s:7:"omacron";s:3:"-25";s:6:"oslash";s:3:"-25";s:6:"otilde";s:3:"-25";s:6:"period";s:3:"-80";}s:1:"z";a:9:{s:1:"e";s:2:"10";s:6:"eacute";s:2:"10";s:6:"ecaron";s:2:"10";s:11:"ecircumflex";s:2:"10";s:9:"edieresis";s:2:"10";s:10:"edotaccent";s:2:"10";s:6:"egrave";s:2:"10";s:7:"emacron";s:2:"10";s:7:"eogonek";s:2:"10";}s:6:"zacute";a:9:{s:1:"e";s:2:"10";s:6:"eacute";s:2:"10";s:6:"ecaron";s:2:"10";s:11:"ecircumflex";s:2:"10";s:9:"edieresis";s:2:"10";s:10:"edotaccent";s:2:"10";s:6:"egrave";s:2:"10";s:7:"emacron";s:2:"10";s:7:"eogonek";s:2:"10";}s:6:"zcaron";a:9:{s:1:"e";s:2:"10";s:6:"eacute";s:2:"10";s:6:"ecaron";s:2:"10";s:11:"ecircumflex";s:2:"10";s:9:"edieresis";s:2:"10";s:10:"edotaccent";s:2:"10";s:6:"egrave";s:2:"10";s:7:"emacron";s:2:"10";s:7:"eogonek";s:2:"10";}s:10:"zdotaccent";a:9:{s:1:"e";s:2:"10";s:6:"eacute";s:2:"10";s:6:"ecaron";s:2:"10";s:11:"ecircumflex";s:2:"10";s:9:"edieresis";s:2:"10";s:10:"edotaccent";s:2:"10";s:6:"egrave";s:2:"10";s:7:"emacron";s:2:"10";s:7:"eogonek";s:2:"10";}}s:9:"_version_";i:1;}
\ No newline at end of file diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/PDF/default/templates/fonts/php_Helvetica-BoldOblique.afm b/buildscripts/PhpDocumentor/phpDocumentor/Converters/PDF/default/templates/fonts/php_Helvetica-BoldOblique.afm new file mode 100755 index 00000000..7f869f37 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/PDF/default/templates/fonts/php_Helvetica-BoldOblique.afm @@ -0,0 +1 @@ +a:22:{s:8:"FontName";s:21:"Helvetica-BoldOblique";s:8:"FullName";s:22:"Helvetica Bold Oblique";s:10:"FamilyName";s:9:"Helvetica";s:6:"Weight";s:4:"Bold";s:11:"ItalicAngle";s:3:"-12";s:12:"IsFixedPitch";s:5:"false";s:12:"CharacterSet";s:13:"ExtendedRoman";s:8:"FontBBox";a:4:{i:0;s:4:"-174";i:1;s:4:"-228";i:2;s:4:"1114";i:3;s:3:"962";}s:17:"UnderlinePosition";s:4:"-100";s:18:"UnderlineThickness";s:2:"50";s:7:"Version";s:7:"002.000";s:14:"EncodingScheme";s:21:"AdobeStandardEncoding";s:9:"CapHeight";s:3:"718";s:7:"XHeight";s:3:"532";s:8:"Ascender";s:3:"718";s:9:"Descender";s:4:"-207";s:5:"StdHW";s:3:"118";s:5:"StdVW";s:3:"140";s:16:"StartCharMetrics";s:3:"315";s:1:"C";a:464:{i:32;a:4:{s:1:"C";s:2:"32";s:2:"WX";s:3:"278";s:1:"N";s:5:"space";s:1:"B";a:4:{i:0;s:1:"0";i:1;s:1:"0";i:2;s:1:"0";i:3;s:1:"0";}}s:5:"space";a:4:{s:1:"C";s:2:"32";s:2:"WX";s:3:"278";s:1:"N";s:5:"space";s:1:"B";a:4:{i:0;s:1:"0";i:1;s:1:"0";i:2;s:1:"0";i:3;s:1:"0";}}i:33;a:4:{s:1:"C";s:2:"33";s:2:"WX";s:3:"333";s:1:"N";s:6:"exclam";s:1:"B";a:4:{i:0;s:2:"94";i:1;s:1:"0";i:2;s:3:"397";i:3;s:3:"718";}}s:6:"exclam";a:4:{s:1:"C";s:2:"33";s:2:"WX";s:3:"333";s:1:"N";s:6:"exclam";s:1:"B";a:4:{i:0;s:2:"94";i:1;s:1:"0";i:2;s:3:"397";i:3;s:3:"718";}}i:34;a:4:{s:1:"C";s:2:"34";s:2:"WX";s:3:"474";s:1:"N";s:8:"quotedbl";s:1:"B";a:4:{i:0;s:3:"193";i:1;s:3:"447";i:2;s:3:"529";i:3;s:3:"718";}}s:8:"quotedbl";a:4:{s:1:"C";s:2:"34";s:2:"WX";s:3:"474";s:1:"N";s:8:"quotedbl";s:1:"B";a:4:{i:0;s:3:"193";i:1;s:3:"447";i:2;s:3:"529";i:3;s:3:"718";}}i:35;a:4:{s:1:"C";s:2:"35";s:2:"WX";s:3:"556";s:1:"N";s:10:"numbersign";s:1:"B";a:4:{i:0;s:2:"60";i:1;s:1:"0";i:2;s:3:"644";i:3;s:3:"698";}}s:10:"numbersign";a:4:{s:1:"C";s:2:"35";s:2:"WX";s:3:"556";s:1:"N";s:10:"numbersign";s:1:"B";a:4:{i:0;s:2:"60";i:1;s:1:"0";i:2;s:3:"644";i:3;s:3:"698";}}i:36;a:4:{s:1:"C";s:2:"36";s:2:"WX";s:3:"556";s:1:"N";s:6:"dollar";s:1:"B";a:4:{i:0;s:2:"67";i:1;s:4:"-115";i:2;s:3:"622";i:3;s:3:"775";}}s:6:"dollar";a:4:{s:1:"C";s:2:"36";s:2:"WX";s:3:"556";s:1:"N";s:6:"dollar";s:1:"B";a:4:{i:0;s:2:"67";i:1;s:4:"-115";i:2;s:3:"622";i:3;s:3:"775";}}i:37;a:4:{s:1:"C";s:2:"37";s:2:"WX";s:3:"889";s:1:"N";s:7:"percent";s:1:"B";a:4:{i:0;s:3:"136";i:1;s:3:"-19";i:2;s:3:"901";i:3;s:3:"710";}}s:7:"percent";a:4:{s:1:"C";s:2:"37";s:2:"WX";s:3:"889";s:1:"N";s:7:"percent";s:1:"B";a:4:{i:0;s:3:"136";i:1;s:3:"-19";i:2;s:3:"901";i:3;s:3:"710";}}i:38;a:4:{s:1:"C";s:2:"38";s:2:"WX";s:3:"722";s:1:"N";s:9:"ampersand";s:1:"B";a:4:{i:0;s:2:"89";i:1;s:3:"-19";i:2;s:3:"732";i:3;s:3:"718";}}s:9:"ampersand";a:4:{s:1:"C";s:2:"38";s:2:"WX";s:3:"722";s:1:"N";s:9:"ampersand";s:1:"B";a:4:{i:0;s:2:"89";i:1;s:3:"-19";i:2;s:3:"732";i:3;s:3:"718";}}i:39;a:4:{s:1:"C";s:2:"39";s:2:"WX";s:3:"278";s:1:"N";s:10:"quoteright";s:1:"B";a:4:{i:0;s:3:"167";i:1;s:3:"445";i:2;s:3:"362";i:3;s:3:"718";}}s:10:"quoteright";a:4:{s:1:"C";s:2:"39";s:2:"WX";s:3:"278";s:1:"N";s:10:"quoteright";s:1:"B";a:4:{i:0;s:3:"167";i:1;s:3:"445";i:2;s:3:"362";i:3;s:3:"718";}}i:40;a:4:{s:1:"C";s:2:"40";s:2:"WX";s:3:"333";s:1:"N";s:9:"parenleft";s:1:"B";a:4:{i:0;s:2:"76";i:1;s:4:"-208";i:2;s:3:"470";i:3;s:3:"734";}}s:9:"parenleft";a:4:{s:1:"C";s:2:"40";s:2:"WX";s:3:"333";s:1:"N";s:9:"parenleft";s:1:"B";a:4:{i:0;s:2:"76";i:1;s:4:"-208";i:2;s:3:"470";i:3;s:3:"734";}}i:41;a:4:{s:1:"C";s:2:"41";s:2:"WX";s:3:"333";s:1:"N";s:10:"parenright";s:1:"B";a:4:{i:0;s:3:"-25";i:1;s:4:"-208";i:2;s:3:"369";i:3;s:3:"734";}}s:10:"parenright";a:4:{s:1:"C";s:2:"41";s:2:"WX";s:3:"333";s:1:"N";s:10:"parenright";s:1:"B";a:4:{i:0;s:3:"-25";i:1;s:4:"-208";i:2;s:3:"369";i:3;s:3:"734";}}i:42;a:4:{s:1:"C";s:2:"42";s:2:"WX";s:3:"389";s:1:"N";s:8:"asterisk";s:1:"B";a:4:{i:0;s:3:"146";i:1;s:3:"387";i:2;s:3:"481";i:3;s:3:"718";}}s:8:"asterisk";a:4:{s:1:"C";s:2:"42";s:2:"WX";s:3:"389";s:1:"N";s:8:"asterisk";s:1:"B";a:4:{i:0;s:3:"146";i:1;s:3:"387";i:2;s:3:"481";i:3;s:3:"718";}}i:43;a:4:{s:1:"C";s:2:"43";s:2:"WX";s:3:"584";s:1:"N";s:4:"plus";s:1:"B";a:4:{i:0;s:2:"82";i:1;s:1:"0";i:2;s:3:"610";i:3;s:3:"506";}}s:4:"plus";a:4:{s:1:"C";s:2:"43";s:2:"WX";s:3:"584";s:1:"N";s:4:"plus";s:1:"B";a:4:{i:0;s:2:"82";i:1;s:1:"0";i:2;s:3:"610";i:3;s:3:"506";}}i:44;a:4:{s:1:"C";s:2:"44";s:2:"WX";s:3:"278";s:1:"N";s:5:"comma";s:1:"B";a:4:{i:0;s:2:"28";i:1;s:4:"-168";i:2;s:3:"245";i:3;s:3:"146";}}s:5:"comma";a:4:{s:1:"C";s:2:"44";s:2:"WX";s:3:"278";s:1:"N";s:5:"comma";s:1:"B";a:4:{i:0;s:2:"28";i:1;s:4:"-168";i:2;s:3:"245";i:3;s:3:"146";}}i:45;a:4:{s:1:"C";s:2:"45";s:2:"WX";s:3:"333";s:1:"N";s:6:"hyphen";s:1:"B";a:4:{i:0;s:2:"73";i:1;s:3:"215";i:2;s:3:"379";i:3;s:3:"345";}}s:6:"hyphen";a:4:{s:1:"C";s:2:"45";s:2:"WX";s:3:"333";s:1:"N";s:6:"hyphen";s:1:"B";a:4:{i:0;s:2:"73";i:1;s:3:"215";i:2;s:3:"379";i:3;s:3:"345";}}i:46;a:4:{s:1:"C";s:2:"46";s:2:"WX";s:3:"278";s:1:"N";s:6:"period";s:1:"B";a:4:{i:0;s:2:"64";i:1;s:1:"0";i:2;s:3:"245";i:3;s:3:"146";}}s:6:"period";a:4:{s:1:"C";s:2:"46";s:2:"WX";s:3:"278";s:1:"N";s:6:"period";s:1:"B";a:4:{i:0;s:2:"64";i:1;s:1:"0";i:2;s:3:"245";i:3;s:3:"146";}}i:47;a:4:{s:1:"C";s:2:"47";s:2:"WX";s:3:"278";s:1:"N";s:5:"slash";s:1:"B";a:4:{i:0;s:3:"-37";i:1;s:3:"-19";i:2;s:3:"468";i:3;s:3:"737";}}s:5:"slash";a:4:{s:1:"C";s:2:"47";s:2:"WX";s:3:"278";s:1:"N";s:5:"slash";s:1:"B";a:4:{i:0;s:3:"-37";i:1;s:3:"-19";i:2;s:3:"468";i:3;s:3:"737";}}i:48;a:4:{s:1:"C";s:2:"48";s:2:"WX";s:3:"556";s:1:"N";s:4:"zero";s:1:"B";a:4:{i:0;s:2:"86";i:1;s:3:"-19";i:2;s:3:"617";i:3;s:3:"710";}}s:4:"zero";a:4:{s:1:"C";s:2:"48";s:2:"WX";s:3:"556";s:1:"N";s:4:"zero";s:1:"B";a:4:{i:0;s:2:"86";i:1;s:3:"-19";i:2;s:3:"617";i:3;s:3:"710";}}i:49;a:4:{s:1:"C";s:2:"49";s:2:"WX";s:3:"556";s:1:"N";s:3:"one";s:1:"B";a:4:{i:0;s:3:"173";i:1;s:1:"0";i:2;s:3:"529";i:3;s:3:"710";}}s:3:"one";a:4:{s:1:"C";s:2:"49";s:2:"WX";s:3:"556";s:1:"N";s:3:"one";s:1:"B";a:4:{i:0;s:3:"173";i:1;s:1:"0";i:2;s:3:"529";i:3;s:3:"710";}}i:50;a:4:{s:1:"C";s:2:"50";s:2:"WX";s:3:"556";s:1:"N";s:3:"two";s:1:"B";a:4:{i:0;s:2:"26";i:1;s:1:"0";i:2;s:3:"619";i:3;s:3:"710";}}s:3:"two";a:4:{s:1:"C";s:2:"50";s:2:"WX";s:3:"556";s:1:"N";s:3:"two";s:1:"B";a:4:{i:0;s:2:"26";i:1;s:1:"0";i:2;s:3:"619";i:3;s:3:"710";}}i:51;a:4:{s:1:"C";s:2:"51";s:2:"WX";s:3:"556";s:1:"N";s:5:"three";s:1:"B";a:4:{i:0;s:2:"65";i:1;s:3:"-19";i:2;s:3:"608";i:3;s:3:"710";}}s:5:"three";a:4:{s:1:"C";s:2:"51";s:2:"WX";s:3:"556";s:1:"N";s:5:"three";s:1:"B";a:4:{i:0;s:2:"65";i:1;s:3:"-19";i:2;s:3:"608";i:3;s:3:"710";}}i:52;a:4:{s:1:"C";s:2:"52";s:2:"WX";s:3:"556";s:1:"N";s:4:"four";s:1:"B";a:4:{i:0;s:2:"60";i:1;s:1:"0";i:2;s:3:"598";i:3;s:3:"710";}}s:4:"four";a:4:{s:1:"C";s:2:"52";s:2:"WX";s:3:"556";s:1:"N";s:4:"four";s:1:"B";a:4:{i:0;s:2:"60";i:1;s:1:"0";i:2;s:3:"598";i:3;s:3:"710";}}i:53;a:4:{s:1:"C";s:2:"53";s:2:"WX";s:3:"556";s:1:"N";s:4:"five";s:1:"B";a:4:{i:0;s:2:"64";i:1;s:3:"-19";i:2;s:3:"636";i:3;s:3:"698";}}s:4:"five";a:4:{s:1:"C";s:2:"53";s:2:"WX";s:3:"556";s:1:"N";s:4:"five";s:1:"B";a:4:{i:0;s:2:"64";i:1;s:3:"-19";i:2;s:3:"636";i:3;s:3:"698";}}i:54;a:4:{s:1:"C";s:2:"54";s:2:"WX";s:3:"556";s:1:"N";s:3:"six";s:1:"B";a:4:{i:0;s:2:"85";i:1;s:3:"-19";i:2;s:3:"619";i:3;s:3:"710";}}s:3:"six";a:4:{s:1:"C";s:2:"54";s:2:"WX";s:3:"556";s:1:"N";s:3:"six";s:1:"B";a:4:{i:0;s:2:"85";i:1;s:3:"-19";i:2;s:3:"619";i:3;s:3:"710";}}i:55;a:4:{s:1:"C";s:2:"55";s:2:"WX";s:3:"556";s:1:"N";s:5:"seven";s:1:"B";a:4:{i:0;s:3:"125";i:1;s:1:"0";i:2;s:3:"676";i:3;s:3:"698";}}s:5:"seven";a:4:{s:1:"C";s:2:"55";s:2:"WX";s:3:"556";s:1:"N";s:5:"seven";s:1:"B";a:4:{i:0;s:3:"125";i:1;s:1:"0";i:2;s:3:"676";i:3;s:3:"698";}}i:56;a:4:{s:1:"C";s:2:"56";s:2:"WX";s:3:"556";s:1:"N";s:5:"eight";s:1:"B";a:4:{i:0;s:2:"69";i:1;s:3:"-19";i:2;s:3:"616";i:3;s:3:"710";}}s:5:"eight";a:4:{s:1:"C";s:2:"56";s:2:"WX";s:3:"556";s:1:"N";s:5:"eight";s:1:"B";a:4:{i:0;s:2:"69";i:1;s:3:"-19";i:2;s:3:"616";i:3;s:3:"710";}}i:57;a:4:{s:1:"C";s:2:"57";s:2:"WX";s:3:"556";s:1:"N";s:4:"nine";s:1:"B";a:4:{i:0;s:2:"78";i:1;s:3:"-19";i:2;s:3:"615";i:3;s:3:"710";}}s:4:"nine";a:4:{s:1:"C";s:2:"57";s:2:"WX";s:3:"556";s:1:"N";s:4:"nine";s:1:"B";a:4:{i:0;s:2:"78";i:1;s:3:"-19";i:2;s:3:"615";i:3;s:3:"710";}}i:58;a:4:{s:1:"C";s:2:"58";s:2:"WX";s:3:"333";s:1:"N";s:5:"colon";s:1:"B";a:4:{i:0;s:2:"92";i:1;s:1:"0";i:2;s:3:"351";i:3;s:3:"512";}}s:5:"colon";a:4:{s:1:"C";s:2:"58";s:2:"WX";s:3:"333";s:1:"N";s:5:"colon";s:1:"B";a:4:{i:0;s:2:"92";i:1;s:1:"0";i:2;s:3:"351";i:3;s:3:"512";}}i:59;a:4:{s:1:"C";s:2:"59";s:2:"WX";s:3:"333";s:1:"N";s:9:"semicolon";s:1:"B";a:4:{i:0;s:2:"56";i:1;s:4:"-168";i:2;s:3:"351";i:3;s:3:"512";}}s:9:"semicolon";a:4:{s:1:"C";s:2:"59";s:2:"WX";s:3:"333";s:1:"N";s:9:"semicolon";s:1:"B";a:4:{i:0;s:2:"56";i:1;s:4:"-168";i:2;s:3:"351";i:3;s:3:"512";}}i:60;a:4:{s:1:"C";s:2:"60";s:2:"WX";s:3:"584";s:1:"N";s:4:"less";s:1:"B";a:4:{i:0;s:2:"82";i:1;s:2:"-8";i:2;s:3:"655";i:3;s:3:"514";}}s:4:"less";a:4:{s:1:"C";s:2:"60";s:2:"WX";s:3:"584";s:1:"N";s:4:"less";s:1:"B";a:4:{i:0;s:2:"82";i:1;s:2:"-8";i:2;s:3:"655";i:3;s:3:"514";}}i:61;a:4:{s:1:"C";s:2:"61";s:2:"WX";s:3:"584";s:1:"N";s:5:"equal";s:1:"B";a:4:{i:0;s:2:"58";i:1;s:2:"87";i:2;s:3:"633";i:3;s:3:"419";}}s:5:"equal";a:4:{s:1:"C";s:2:"61";s:2:"WX";s:3:"584";s:1:"N";s:5:"equal";s:1:"B";a:4:{i:0;s:2:"58";i:1;s:2:"87";i:2;s:3:"633";i:3;s:3:"419";}}i:62;a:4:{s:1:"C";s:2:"62";s:2:"WX";s:3:"584";s:1:"N";s:7:"greater";s:1:"B";a:4:{i:0;s:2:"36";i:1;s:2:"-8";i:2;s:3:"609";i:3;s:3:"514";}}s:7:"greater";a:4:{s:1:"C";s:2:"62";s:2:"WX";s:3:"584";s:1:"N";s:7:"greater";s:1:"B";a:4:{i:0;s:2:"36";i:1;s:2:"-8";i:2;s:3:"609";i:3;s:3:"514";}}i:63;a:4:{s:1:"C";s:2:"63";s:2:"WX";s:3:"611";s:1:"N";s:8:"question";s:1:"B";a:4:{i:0;s:3:"165";i:1;s:1:"0";i:2;s:3:"671";i:3;s:3:"727";}}s:8:"question";a:4:{s:1:"C";s:2:"63";s:2:"WX";s:3:"611";s:1:"N";s:8:"question";s:1:"B";a:4:{i:0;s:3:"165";i:1;s:1:"0";i:2;s:3:"671";i:3;s:3:"727";}}i:64;a:4:{s:1:"C";s:2:"64";s:2:"WX";s:3:"975";s:1:"N";s:2:"at";s:1:"B";a:4:{i:0;s:3:"186";i:1;s:3:"-19";i:2;s:3:"954";i:3;s:3:"737";}}s:2:"at";a:4:{s:1:"C";s:2:"64";s:2:"WX";s:3:"975";s:1:"N";s:2:"at";s:1:"B";a:4:{i:0;s:3:"186";i:1;s:3:"-19";i:2;s:3:"954";i:3;s:3:"737";}}i:65;a:4:{s:1:"C";s:2:"65";s:2:"WX";s:3:"722";s:1:"N";s:1:"A";s:1:"B";a:4:{i:0;s:2:"20";i:1;s:1:"0";i:2;s:3:"702";i:3;s:3:"718";}}s:1:"A";a:4:{s:1:"C";s:2:"65";s:2:"WX";s:3:"722";s:1:"N";s:1:"A";s:1:"B";a:4:{i:0;s:2:"20";i:1;s:1:"0";i:2;s:3:"702";i:3;s:3:"718";}}i:66;a:4:{s:1:"C";s:2:"66";s:2:"WX";s:3:"722";s:1:"N";s:1:"B";s:1:"B";a:4:{i:0;s:2:"76";i:1;s:1:"0";i:2;s:3:"764";i:3;s:3:"718";}}s:1:"B";a:4:{s:1:"C";s:2:"66";s:2:"WX";s:3:"722";s:1:"N";s:1:"B";s:1:"B";a:4:{i:0;s:2:"76";i:1;s:1:"0";i:2;s:3:"764";i:3;s:3:"718";}}i:67;a:4:{s:1:"C";s:2:"67";s:2:"WX";s:3:"722";s:1:"N";s:1:"C";s:1:"B";a:4:{i:0;s:3:"107";i:1;s:3:"-19";i:2;s:3:"789";i:3;s:3:"737";}}s:1:"C";a:4:{s:1:"C";s:2:"67";s:2:"WX";s:3:"722";s:1:"N";s:1:"C";s:1:"B";a:4:{i:0;s:3:"107";i:1;s:3:"-19";i:2;s:3:"789";i:3;s:3:"737";}}i:68;a:4:{s:1:"C";s:2:"68";s:2:"WX";s:3:"722";s:1:"N";s:1:"D";s:1:"B";a:4:{i:0;s:2:"76";i:1;s:1:"0";i:2;s:3:"777";i:3;s:3:"718";}}s:1:"D";a:4:{s:1:"C";s:2:"68";s:2:"WX";s:3:"722";s:1:"N";s:1:"D";s:1:"B";a:4:{i:0;s:2:"76";i:1;s:1:"0";i:2;s:3:"777";i:3;s:3:"718";}}i:69;a:4:{s:1:"C";s:2:"69";s:2:"WX";s:3:"667";s:1:"N";s:1:"E";s:1:"B";a:4:{i:0;s:2:"76";i:1;s:1:"0";i:2;s:3:"757";i:3;s:3:"718";}}s:1:"E";a:4:{s:1:"C";s:2:"69";s:2:"WX";s:3:"667";s:1:"N";s:1:"E";s:1:"B";a:4:{i:0;s:2:"76";i:1;s:1:"0";i:2;s:3:"757";i:3;s:3:"718";}}i:70;a:4:{s:1:"C";s:2:"70";s:2:"WX";s:3:"611";s:1:"N";s:1:"F";s:1:"B";a:4:{i:0;s:2:"76";i:1;s:1:"0";i:2;s:3:"740";i:3;s:3:"718";}}s:1:"F";a:4:{s:1:"C";s:2:"70";s:2:"WX";s:3:"611";s:1:"N";s:1:"F";s:1:"B";a:4:{i:0;s:2:"76";i:1;s:1:"0";i:2;s:3:"740";i:3;s:3:"718";}}i:71;a:4:{s:1:"C";s:2:"71";s:2:"WX";s:3:"778";s:1:"N";s:1:"G";s:1:"B";a:4:{i:0;s:3:"108";i:1;s:3:"-19";i:2;s:3:"817";i:3;s:3:"737";}}s:1:"G";a:4:{s:1:"C";s:2:"71";s:2:"WX";s:3:"778";s:1:"N";s:1:"G";s:1:"B";a:4:{i:0;s:3:"108";i:1;s:3:"-19";i:2;s:3:"817";i:3;s:3:"737";}}i:72;a:4:{s:1:"C";s:2:"72";s:2:"WX";s:3:"722";s:1:"N";s:1:"H";s:1:"B";a:4:{i:0;s:2:"71";i:1;s:1:"0";i:2;s:3:"804";i:3;s:3:"718";}}s:1:"H";a:4:{s:1:"C";s:2:"72";s:2:"WX";s:3:"722";s:1:"N";s:1:"H";s:1:"B";a:4:{i:0;s:2:"71";i:1;s:1:"0";i:2;s:3:"804";i:3;s:3:"718";}}i:73;a:4:{s:1:"C";s:2:"73";s:2:"WX";s:3:"278";s:1:"N";s:1:"I";s:1:"B";a:4:{i:0;s:2:"64";i:1;s:1:"0";i:2;s:3:"367";i:3;s:3:"718";}}s:1:"I";a:4:{s:1:"C";s:2:"73";s:2:"WX";s:3:"278";s:1:"N";s:1:"I";s:1:"B";a:4:{i:0;s:2:"64";i:1;s:1:"0";i:2;s:3:"367";i:3;s:3:"718";}}i:74;a:4:{s:1:"C";s:2:"74";s:2:"WX";s:3:"556";s:1:"N";s:1:"J";s:1:"B";a:4:{i:0;s:2:"60";i:1;s:3:"-18";i:2;s:3:"637";i:3;s:3:"718";}}s:1:"J";a:4:{s:1:"C";s:2:"74";s:2:"WX";s:3:"556";s:1:"N";s:1:"J";s:1:"B";a:4:{i:0;s:2:"60";i:1;s:3:"-18";i:2;s:3:"637";i:3;s:3:"718";}}i:75;a:4:{s:1:"C";s:2:"75";s:2:"WX";s:3:"722";s:1:"N";s:1:"K";s:1:"B";a:4:{i:0;s:2:"87";i:1;s:1:"0";i:2;s:3:"858";i:3;s:3:"718";}}s:1:"K";a:4:{s:1:"C";s:2:"75";s:2:"WX";s:3:"722";s:1:"N";s:1:"K";s:1:"B";a:4:{i:0;s:2:"87";i:1;s:1:"0";i:2;s:3:"858";i:3;s:3:"718";}}i:76;a:4:{s:1:"C";s:2:"76";s:2:"WX";s:3:"611";s:1:"N";s:1:"L";s:1:"B";a:4:{i:0;s:2:"76";i:1;s:1:"0";i:2;s:3:"611";i:3;s:3:"718";}}s:1:"L";a:4:{s:1:"C";s:2:"76";s:2:"WX";s:3:"611";s:1:"N";s:1:"L";s:1:"B";a:4:{i:0;s:2:"76";i:1;s:1:"0";i:2;s:3:"611";i:3;s:3:"718";}}i:77;a:4:{s:1:"C";s:2:"77";s:2:"WX";s:3:"833";s:1:"N";s:1:"M";s:1:"B";a:4:{i:0;s:2:"69";i:1;s:1:"0";i:2;s:3:"918";i:3;s:3:"718";}}s:1:"M";a:4:{s:1:"C";s:2:"77";s:2:"WX";s:3:"833";s:1:"N";s:1:"M";s:1:"B";a:4:{i:0;s:2:"69";i:1;s:1:"0";i:2;s:3:"918";i:3;s:3:"718";}}i:78;a:4:{s:1:"C";s:2:"78";s:2:"WX";s:3:"722";s:1:"N";s:1:"N";s:1:"B";a:4:{i:0;s:2:"69";i:1;s:1:"0";i:2;s:3:"807";i:3;s:3:"718";}}s:1:"N";a:4:{s:1:"C";s:2:"78";s:2:"WX";s:3:"722";s:1:"N";s:1:"N";s:1:"B";a:4:{i:0;s:2:"69";i:1;s:1:"0";i:2;s:3:"807";i:3;s:3:"718";}}i:79;a:4:{s:1:"C";s:2:"79";s:2:"WX";s:3:"778";s:1:"N";s:1:"O";s:1:"B";a:4:{i:0;s:3:"107";i:1;s:3:"-19";i:2;s:3:"823";i:3;s:3:"737";}}s:1:"O";a:4:{s:1:"C";s:2:"79";s:2:"WX";s:3:"778";s:1:"N";s:1:"O";s:1:"B";a:4:{i:0;s:3:"107";i:1;s:3:"-19";i:2;s:3:"823";i:3;s:3:"737";}}i:80;a:4:{s:1:"C";s:2:"80";s:2:"WX";s:3:"667";s:1:"N";s:1:"P";s:1:"B";a:4:{i:0;s:2:"76";i:1;s:1:"0";i:2;s:3:"738";i:3;s:3:"718";}}s:1:"P";a:4:{s:1:"C";s:2:"80";s:2:"WX";s:3:"667";s:1:"N";s:1:"P";s:1:"B";a:4:{i:0;s:2:"76";i:1;s:1:"0";i:2;s:3:"738";i:3;s:3:"718";}}i:81;a:4:{s:1:"C";s:2:"81";s:2:"WX";s:3:"778";s:1:"N";s:1:"Q";s:1:"B";a:4:{i:0;s:3:"107";i:1;s:3:"-52";i:2;s:3:"823";i:3;s:3:"737";}}s:1:"Q";a:4:{s:1:"C";s:2:"81";s:2:"WX";s:3:"778";s:1:"N";s:1:"Q";s:1:"B";a:4:{i:0;s:3:"107";i:1;s:3:"-52";i:2;s:3:"823";i:3;s:3:"737";}}i:82;a:4:{s:1:"C";s:2:"82";s:2:"WX";s:3:"722";s:1:"N";s:1:"R";s:1:"B";a:4:{i:0;s:2:"76";i:1;s:1:"0";i:2;s:3:"778";i:3;s:3:"718";}}s:1:"R";a:4:{s:1:"C";s:2:"82";s:2:"WX";s:3:"722";s:1:"N";s:1:"R";s:1:"B";a:4:{i:0;s:2:"76";i:1;s:1:"0";i:2;s:3:"778";i:3;s:3:"718";}}i:83;a:4:{s:1:"C";s:2:"83";s:2:"WX";s:3:"667";s:1:"N";s:1:"S";s:1:"B";a:4:{i:0;s:2:"81";i:1;s:3:"-19";i:2;s:3:"718";i:3;s:3:"737";}}s:1:"S";a:4:{s:1:"C";s:2:"83";s:2:"WX";s:3:"667";s:1:"N";s:1:"S";s:1:"B";a:4:{i:0;s:2:"81";i:1;s:3:"-19";i:2;s:3:"718";i:3;s:3:"737";}}i:84;a:4:{s:1:"C";s:2:"84";s:2:"WX";s:3:"611";s:1:"N";s:1:"T";s:1:"B";a:4:{i:0;s:3:"140";i:1;s:1:"0";i:2;s:3:"751";i:3;s:3:"718";}}s:1:"T";a:4:{s:1:"C";s:2:"84";s:2:"WX";s:3:"611";s:1:"N";s:1:"T";s:1:"B";a:4:{i:0;s:3:"140";i:1;s:1:"0";i:2;s:3:"751";i:3;s:3:"718";}}i:85;a:4:{s:1:"C";s:2:"85";s:2:"WX";s:3:"722";s:1:"N";s:1:"U";s:1:"B";a:4:{i:0;s:3:"116";i:1;s:3:"-19";i:2;s:3:"804";i:3;s:3:"718";}}s:1:"U";a:4:{s:1:"C";s:2:"85";s:2:"WX";s:3:"722";s:1:"N";s:1:"U";s:1:"B";a:4:{i:0;s:3:"116";i:1;s:3:"-19";i:2;s:3:"804";i:3;s:3:"718";}}i:86;a:4:{s:1:"C";s:2:"86";s:2:"WX";s:3:"667";s:1:"N";s:1:"V";s:1:"B";a:4:{i:0;s:3:"172";i:1;s:1:"0";i:2;s:3:"801";i:3;s:3:"718";}}s:1:"V";a:4:{s:1:"C";s:2:"86";s:2:"WX";s:3:"667";s:1:"N";s:1:"V";s:1:"B";a:4:{i:0;s:3:"172";i:1;s:1:"0";i:2;s:3:"801";i:3;s:3:"718";}}i:87;a:4:{s:1:"C";s:2:"87";s:2:"WX";s:3:"944";s:1:"N";s:1:"W";s:1:"B";a:4:{i:0;s:3:"169";i:1;s:1:"0";i:2;s:4:"1082";i:3;s:3:"718";}}s:1:"W";a:4:{s:1:"C";s:2:"87";s:2:"WX";s:3:"944";s:1:"N";s:1:"W";s:1:"B";a:4:{i:0;s:3:"169";i:1;s:1:"0";i:2;s:4:"1082";i:3;s:3:"718";}}i:88;a:4:{s:1:"C";s:2:"88";s:2:"WX";s:3:"667";s:1:"N";s:1:"X";s:1:"B";a:4:{i:0;s:2:"14";i:1;s:1:"0";i:2;s:3:"791";i:3;s:3:"718";}}s:1:"X";a:4:{s:1:"C";s:2:"88";s:2:"WX";s:3:"667";s:1:"N";s:1:"X";s:1:"B";a:4:{i:0;s:2:"14";i:1;s:1:"0";i:2;s:3:"791";i:3;s:3:"718";}}i:89;a:4:{s:1:"C";s:2:"89";s:2:"WX";s:3:"667";s:1:"N";s:1:"Y";s:1:"B";a:4:{i:0;s:3:"168";i:1;s:1:"0";i:2;s:3:"806";i:3;s:3:"718";}}s:1:"Y";a:4:{s:1:"C";s:2:"89";s:2:"WX";s:3:"667";s:1:"N";s:1:"Y";s:1:"B";a:4:{i:0;s:3:"168";i:1;s:1:"0";i:2;s:3:"806";i:3;s:3:"718";}}i:90;a:4:{s:1:"C";s:2:"90";s:2:"WX";s:3:"611";s:1:"N";s:1:"Z";s:1:"B";a:4:{i:0;s:2:"25";i:1;s:1:"0";i:2;s:3:"737";i:3;s:3:"718";}}s:1:"Z";a:4:{s:1:"C";s:2:"90";s:2:"WX";s:3:"611";s:1:"N";s:1:"Z";s:1:"B";a:4:{i:0;s:2:"25";i:1;s:1:"0";i:2;s:3:"737";i:3;s:3:"718";}}i:91;a:4:{s:1:"C";s:2:"91";s:2:"WX";s:3:"333";s:1:"N";s:11:"bracketleft";s:1:"B";a:4:{i:0;s:2:"21";i:1;s:4:"-196";i:2;s:3:"462";i:3;s:3:"722";}}s:11:"bracketleft";a:4:{s:1:"C";s:2:"91";s:2:"WX";s:3:"333";s:1:"N";s:11:"bracketleft";s:1:"B";a:4:{i:0;s:2:"21";i:1;s:4:"-196";i:2;s:3:"462";i:3;s:3:"722";}}i:92;a:4:{s:1:"C";s:2:"92";s:2:"WX";s:3:"278";s:1:"N";s:9:"backslash";s:1:"B";a:4:{i:0;s:3:"124";i:1;s:3:"-19";i:2;s:3:"307";i:3;s:3:"737";}}s:9:"backslash";a:4:{s:1:"C";s:2:"92";s:2:"WX";s:3:"278";s:1:"N";s:9:"backslash";s:1:"B";a:4:{i:0;s:3:"124";i:1;s:3:"-19";i:2;s:3:"307";i:3;s:3:"737";}}i:93;a:4:{s:1:"C";s:2:"93";s:2:"WX";s:3:"333";s:1:"N";s:12:"bracketright";s:1:"B";a:4:{i:0;s:3:"-18";i:1;s:4:"-196";i:2;s:3:"423";i:3;s:3:"722";}}s:12:"bracketright";a:4:{s:1:"C";s:2:"93";s:2:"WX";s:3:"333";s:1:"N";s:12:"bracketright";s:1:"B";a:4:{i:0;s:3:"-18";i:1;s:4:"-196";i:2;s:3:"423";i:3;s:3:"722";}}i:94;a:4:{s:1:"C";s:2:"94";s:2:"WX";s:3:"584";s:1:"N";s:11:"asciicircum";s:1:"B";a:4:{i:0;s:3:"131";i:1;s:3:"323";i:2;s:3:"591";i:3;s:3:"698";}}s:11:"asciicircum";a:4:{s:1:"C";s:2:"94";s:2:"WX";s:3:"584";s:1:"N";s:11:"asciicircum";s:1:"B";a:4:{i:0;s:3:"131";i:1;s:3:"323";i:2;s:3:"591";i:3;s:3:"698";}}i:95;a:4:{s:1:"C";s:2:"95";s:2:"WX";s:3:"556";s:1:"N";s:10:"underscore";s:1:"B";a:4:{i:0;s:3:"-27";i:1;s:4:"-125";i:2;s:3:"540";i:3;s:3:"-75";}}s:10:"underscore";a:4:{s:1:"C";s:2:"95";s:2:"WX";s:3:"556";s:1:"N";s:10:"underscore";s:1:"B";a:4:{i:0;s:3:"-27";i:1;s:4:"-125";i:2;s:3:"540";i:3;s:3:"-75";}}i:96;a:4:{s:1:"C";s:2:"96";s:2:"WX";s:3:"278";s:1:"N";s:9:"quoteleft";s:1:"B";a:4:{i:0;s:3:"165";i:1;s:3:"454";i:2;s:3:"361";i:3;s:3:"727";}}s:9:"quoteleft";a:4:{s:1:"C";s:2:"96";s:2:"WX";s:3:"278";s:1:"N";s:9:"quoteleft";s:1:"B";a:4:{i:0;s:3:"165";i:1;s:3:"454";i:2;s:3:"361";i:3;s:3:"727";}}i:97;a:4:{s:1:"C";s:2:"97";s:2:"WX";s:3:"556";s:1:"N";s:1:"a";s:1:"B";a:4:{i:0;s:2:"55";i:1;s:3:"-14";i:2;s:3:"583";i:3;s:3:"546";}}s:1:"a";a:4:{s:1:"C";s:2:"97";s:2:"WX";s:3:"556";s:1:"N";s:1:"a";s:1:"B";a:4:{i:0;s:2:"55";i:1;s:3:"-14";i:2;s:3:"583";i:3;s:3:"546";}}i:98;a:4:{s:1:"C";s:2:"98";s:2:"WX";s:3:"611";s:1:"N";s:1:"b";s:1:"B";a:4:{i:0;s:2:"61";i:1;s:3:"-14";i:2;s:3:"645";i:3;s:3:"718";}}s:1:"b";a:4:{s:1:"C";s:2:"98";s:2:"WX";s:3:"611";s:1:"N";s:1:"b";s:1:"B";a:4:{i:0;s:2:"61";i:1;s:3:"-14";i:2;s:3:"645";i:3;s:3:"718";}}i:99;a:4:{s:1:"C";s:2:"99";s:2:"WX";s:3:"556";s:1:"N";s:1:"c";s:1:"B";a:4:{i:0;s:2:"79";i:1;s:3:"-14";i:2;s:3:"599";i:3;s:3:"546";}}s:1:"c";a:4:{s:1:"C";s:2:"99";s:2:"WX";s:3:"556";s:1:"N";s:1:"c";s:1:"B";a:4:{i:0;s:2:"79";i:1;s:3:"-14";i:2;s:3:"599";i:3;s:3:"546";}}i:100;a:4:{s:1:"C";s:3:"100";s:2:"WX";s:3:"611";s:1:"N";s:1:"d";s:1:"B";a:4:{i:0;s:2:"82";i:1;s:3:"-14";i:2;s:3:"704";i:3;s:3:"718";}}s:1:"d";a:4:{s:1:"C";s:3:"100";s:2:"WX";s:3:"611";s:1:"N";s:1:"d";s:1:"B";a:4:{i:0;s:2:"82";i:1;s:3:"-14";i:2;s:3:"704";i:3;s:3:"718";}}i:101;a:4:{s:1:"C";s:3:"101";s:2:"WX";s:3:"556";s:1:"N";s:1:"e";s:1:"B";a:4:{i:0;s:2:"70";i:1;s:3:"-14";i:2;s:3:"593";i:3;s:3:"546";}}s:1:"e";a:4:{s:1:"C";s:3:"101";s:2:"WX";s:3:"556";s:1:"N";s:1:"e";s:1:"B";a:4:{i:0;s:2:"70";i:1;s:3:"-14";i:2;s:3:"593";i:3;s:3:"546";}}i:102;a:5:{s:1:"C";s:3:"102";s:2:"WX";s:3:"333";s:1:"N";s:1:"f";s:1:"B";a:4:{i:0;s:2:"87";i:1;s:1:"0";i:2;s:3:"469";i:3;s:3:"727";}s:1:"L";a:2:{i:0;s:1:"l";i:1;s:2:"fl";}}s:1:"f";a:5:{s:1:"C";s:3:"102";s:2:"WX";s:3:"333";s:1:"N";s:1:"f";s:1:"B";a:4:{i:0;s:2:"87";i:1;s:1:"0";i:2;s:3:"469";i:3;s:3:"727";}s:1:"L";a:2:{i:0;s:1:"l";i:1;s:2:"fl";}}i:103;a:4:{s:1:"C";s:3:"103";s:2:"WX";s:3:"611";s:1:"N";s:1:"g";s:1:"B";a:4:{i:0;s:2:"38";i:1;s:4:"-217";i:2;s:3:"666";i:3;s:3:"546";}}s:1:"g";a:4:{s:1:"C";s:3:"103";s:2:"WX";s:3:"611";s:1:"N";s:1:"g";s:1:"B";a:4:{i:0;s:2:"38";i:1;s:4:"-217";i:2;s:3:"666";i:3;s:3:"546";}}i:104;a:4:{s:1:"C";s:3:"104";s:2:"WX";s:3:"611";s:1:"N";s:1:"h";s:1:"B";a:4:{i:0;s:2:"65";i:1;s:1:"0";i:2;s:3:"629";i:3;s:3:"718";}}s:1:"h";a:4:{s:1:"C";s:3:"104";s:2:"WX";s:3:"611";s:1:"N";s:1:"h";s:1:"B";a:4:{i:0;s:2:"65";i:1;s:1:"0";i:2;s:3:"629";i:3;s:3:"718";}}i:105;a:4:{s:1:"C";s:3:"105";s:2:"WX";s:3:"278";s:1:"N";s:1:"i";s:1:"B";a:4:{i:0;s:2:"69";i:1;s:1:"0";i:2;s:3:"363";i:3;s:3:"725";}}s:1:"i";a:4:{s:1:"C";s:3:"105";s:2:"WX";s:3:"278";s:1:"N";s:1:"i";s:1:"B";a:4:{i:0;s:2:"69";i:1;s:1:"0";i:2;s:3:"363";i:3;s:3:"725";}}i:106;a:4:{s:1:"C";s:3:"106";s:2:"WX";s:3:"278";s:1:"N";s:1:"j";s:1:"B";a:4:{i:0;s:3:"-42";i:1;s:4:"-214";i:2;s:3:"363";i:3;s:3:"725";}}s:1:"j";a:4:{s:1:"C";s:3:"106";s:2:"WX";s:3:"278";s:1:"N";s:1:"j";s:1:"B";a:4:{i:0;s:3:"-42";i:1;s:4:"-214";i:2;s:3:"363";i:3;s:3:"725";}}i:107;a:4:{s:1:"C";s:3:"107";s:2:"WX";s:3:"556";s:1:"N";s:1:"k";s:1:"B";a:4:{i:0;s:2:"69";i:1;s:1:"0";i:2;s:3:"670";i:3;s:3:"718";}}s:1:"k";a:4:{s:1:"C";s:3:"107";s:2:"WX";s:3:"556";s:1:"N";s:1:"k";s:1:"B";a:4:{i:0;s:2:"69";i:1;s:1:"0";i:2;s:3:"670";i:3;s:3:"718";}}i:108;a:4:{s:1:"C";s:3:"108";s:2:"WX";s:3:"278";s:1:"N";s:1:"l";s:1:"B";a:4:{i:0;s:2:"69";i:1;s:1:"0";i:2;s:3:"362";i:3;s:3:"718";}}s:1:"l";a:4:{s:1:"C";s:3:"108";s:2:"WX";s:3:"278";s:1:"N";s:1:"l";s:1:"B";a:4:{i:0;s:2:"69";i:1;s:1:"0";i:2;s:3:"362";i:3;s:3:"718";}}i:109;a:4:{s:1:"C";s:3:"109";s:2:"WX";s:3:"889";s:1:"N";s:1:"m";s:1:"B";a:4:{i:0;s:2:"64";i:1;s:1:"0";i:2;s:3:"909";i:3;s:3:"546";}}s:1:"m";a:4:{s:1:"C";s:3:"109";s:2:"WX";s:3:"889";s:1:"N";s:1:"m";s:1:"B";a:4:{i:0;s:2:"64";i:1;s:1:"0";i:2;s:3:"909";i:3;s:3:"546";}}i:110;a:4:{s:1:"C";s:3:"110";s:2:"WX";s:3:"611";s:1:"N";s:1:"n";s:1:"B";a:4:{i:0;s:2:"65";i:1;s:1:"0";i:2;s:3:"629";i:3;s:3:"546";}}s:1:"n";a:4:{s:1:"C";s:3:"110";s:2:"WX";s:3:"611";s:1:"N";s:1:"n";s:1:"B";a:4:{i:0;s:2:"65";i:1;s:1:"0";i:2;s:3:"629";i:3;s:3:"546";}}i:111;a:4:{s:1:"C";s:3:"111";s:2:"WX";s:3:"611";s:1:"N";s:1:"o";s:1:"B";a:4:{i:0;s:2:"82";i:1;s:3:"-14";i:2;s:3:"643";i:3;s:3:"546";}}s:1:"o";a:4:{s:1:"C";s:3:"111";s:2:"WX";s:3:"611";s:1:"N";s:1:"o";s:1:"B";a:4:{i:0;s:2:"82";i:1;s:3:"-14";i:2;s:3:"643";i:3;s:3:"546";}}i:112;a:4:{s:1:"C";s:3:"112";s:2:"WX";s:3:"611";s:1:"N";s:1:"p";s:1:"B";a:4:{i:0;s:2:"18";i:1;s:4:"-207";i:2;s:3:"645";i:3;s:3:"546";}}s:1:"p";a:4:{s:1:"C";s:3:"112";s:2:"WX";s:3:"611";s:1:"N";s:1:"p";s:1:"B";a:4:{i:0;s:2:"18";i:1;s:4:"-207";i:2;s:3:"645";i:3;s:3:"546";}}i:113;a:4:{s:1:"C";s:3:"113";s:2:"WX";s:3:"611";s:1:"N";s:1:"q";s:1:"B";a:4:{i:0;s:2:"80";i:1;s:4:"-207";i:2;s:3:"665";i:3;s:3:"546";}}s:1:"q";a:4:{s:1:"C";s:3:"113";s:2:"WX";s:3:"611";s:1:"N";s:1:"q";s:1:"B";a:4:{i:0;s:2:"80";i:1;s:4:"-207";i:2;s:3:"665";i:3;s:3:"546";}}i:114;a:4:{s:1:"C";s:3:"114";s:2:"WX";s:3:"389";s:1:"N";s:1:"r";s:1:"B";a:4:{i:0;s:2:"64";i:1;s:1:"0";i:2;s:3:"489";i:3;s:3:"546";}}s:1:"r";a:4:{s:1:"C";s:3:"114";s:2:"WX";s:3:"389";s:1:"N";s:1:"r";s:1:"B";a:4:{i:0;s:2:"64";i:1;s:1:"0";i:2;s:3:"489";i:3;s:3:"546";}}i:115;a:4:{s:1:"C";s:3:"115";s:2:"WX";s:3:"556";s:1:"N";s:1:"s";s:1:"B";a:4:{i:0;s:2:"63";i:1;s:3:"-14";i:2;s:3:"584";i:3;s:3:"546";}}s:1:"s";a:4:{s:1:"C";s:3:"115";s:2:"WX";s:3:"556";s:1:"N";s:1:"s";s:1:"B";a:4:{i:0;s:2:"63";i:1;s:3:"-14";i:2;s:3:"584";i:3;s:3:"546";}}i:116;a:4:{s:1:"C";s:3:"116";s:2:"WX";s:3:"333";s:1:"N";s:1:"t";s:1:"B";a:4:{i:0;s:3:"100";i:1;s:2:"-6";i:2;s:3:"422";i:3;s:3:"676";}}s:1:"t";a:4:{s:1:"C";s:3:"116";s:2:"WX";s:3:"333";s:1:"N";s:1:"t";s:1:"B";a:4:{i:0;s:3:"100";i:1;s:2:"-6";i:2;s:3:"422";i:3;s:3:"676";}}i:117;a:4:{s:1:"C";s:3:"117";s:2:"WX";s:3:"611";s:1:"N";s:1:"u";s:1:"B";a:4:{i:0;s:2:"98";i:1;s:3:"-14";i:2;s:3:"658";i:3;s:3:"532";}}s:1:"u";a:4:{s:1:"C";s:3:"117";s:2:"WX";s:3:"611";s:1:"N";s:1:"u";s:1:"B";a:4:{i:0;s:2:"98";i:1;s:3:"-14";i:2;s:3:"658";i:3;s:3:"532";}}i:118;a:4:{s:1:"C";s:3:"118";s:2:"WX";s:3:"556";s:1:"N";s:1:"v";s:1:"B";a:4:{i:0;s:3:"126";i:1;s:1:"0";i:2;s:3:"656";i:3;s:3:"532";}}s:1:"v";a:4:{s:1:"C";s:3:"118";s:2:"WX";s:3:"556";s:1:"N";s:1:"v";s:1:"B";a:4:{i:0;s:3:"126";i:1;s:1:"0";i:2;s:3:"656";i:3;s:3:"532";}}i:119;a:4:{s:1:"C";s:3:"119";s:2:"WX";s:3:"778";s:1:"N";s:1:"w";s:1:"B";a:4:{i:0;s:3:"123";i:1;s:1:"0";i:2;s:3:"882";i:3;s:3:"532";}}s:1:"w";a:4:{s:1:"C";s:3:"119";s:2:"WX";s:3:"778";s:1:"N";s:1:"w";s:1:"B";a:4:{i:0;s:3:"123";i:1;s:1:"0";i:2;s:3:"882";i:3;s:3:"532";}}i:120;a:4:{s:1:"C";s:3:"120";s:2:"WX";s:3:"556";s:1:"N";s:1:"x";s:1:"B";a:4:{i:0;s:2:"15";i:1;s:1:"0";i:2;s:3:"648";i:3;s:3:"532";}}s:1:"x";a:4:{s:1:"C";s:3:"120";s:2:"WX";s:3:"556";s:1:"N";s:1:"x";s:1:"B";a:4:{i:0;s:2:"15";i:1;s:1:"0";i:2;s:3:"648";i:3;s:3:"532";}}i:121;a:4:{s:1:"C";s:3:"121";s:2:"WX";s:3:"556";s:1:"N";s:1:"y";s:1:"B";a:4:{i:0;s:2:"42";i:1;s:4:"-214";i:2;s:3:"652";i:3;s:3:"532";}}s:1:"y";a:4:{s:1:"C";s:3:"121";s:2:"WX";s:3:"556";s:1:"N";s:1:"y";s:1:"B";a:4:{i:0;s:2:"42";i:1;s:4:"-214";i:2;s:3:"652";i:3;s:3:"532";}}i:122;a:4:{s:1:"C";s:3:"122";s:2:"WX";s:3:"500";s:1:"N";s:1:"z";s:1:"B";a:4:{i:0;s:2:"20";i:1;s:1:"0";i:2;s:3:"583";i:3;s:3:"532";}}s:1:"z";a:4:{s:1:"C";s:3:"122";s:2:"WX";s:3:"500";s:1:"N";s:1:"z";s:1:"B";a:4:{i:0;s:2:"20";i:1;s:1:"0";i:2;s:3:"583";i:3;s:3:"532";}}i:123;a:4:{s:1:"C";s:3:"123";s:2:"WX";s:3:"389";s:1:"N";s:9:"braceleft";s:1:"B";a:4:{i:0;s:2:"94";i:1;s:4:"-196";i:2;s:3:"518";i:3;s:3:"722";}}s:9:"braceleft";a:4:{s:1:"C";s:3:"123";s:2:"WX";s:3:"389";s:1:"N";s:9:"braceleft";s:1:"B";a:4:{i:0;s:2:"94";i:1;s:4:"-196";i:2;s:3:"518";i:3;s:3:"722";}}i:124;a:4:{s:1:"C";s:3:"124";s:2:"WX";s:3:"280";s:1:"N";s:3:"bar";s:1:"B";a:4:{i:0;s:2:"36";i:1;s:4:"-225";i:2;s:3:"361";i:3;s:3:"775";}}s:3:"bar";a:4:{s:1:"C";s:3:"124";s:2:"WX";s:3:"280";s:1:"N";s:3:"bar";s:1:"B";a:4:{i:0;s:2:"36";i:1;s:4:"-225";i:2;s:3:"361";i:3;s:3:"775";}}i:125;a:4:{s:1:"C";s:3:"125";s:2:"WX";s:3:"389";s:1:"N";s:10:"braceright";s:1:"B";a:4:{i:0;s:3:"-18";i:1;s:4:"-196";i:2;s:3:"407";i:3;s:3:"722";}}s:10:"braceright";a:4:{s:1:"C";s:3:"125";s:2:"WX";s:3:"389";s:1:"N";s:10:"braceright";s:1:"B";a:4:{i:0;s:3:"-18";i:1;s:4:"-196";i:2;s:3:"407";i:3;s:3:"722";}}i:126;a:4:{s:1:"C";s:3:"126";s:2:"WX";s:3:"584";s:1:"N";s:10:"asciitilde";s:1:"B";a:4:{i:0;s:3:"115";i:1;s:3:"163";i:2;s:3:"577";i:3;s:3:"343";}}s:10:"asciitilde";a:4:{s:1:"C";s:3:"126";s:2:"WX";s:3:"584";s:1:"N";s:10:"asciitilde";s:1:"B";a:4:{i:0;s:3:"115";i:1;s:3:"163";i:2;s:3:"577";i:3;s:3:"343";}}i:161;a:4:{s:1:"C";s:3:"161";s:2:"WX";s:3:"333";s:1:"N";s:10:"exclamdown";s:1:"B";a:4:{i:0;s:2:"50";i:1;s:4:"-186";i:2;s:3:"353";i:3;s:3:"532";}}s:10:"exclamdown";a:4:{s:1:"C";s:3:"161";s:2:"WX";s:3:"333";s:1:"N";s:10:"exclamdown";s:1:"B";a:4:{i:0;s:2:"50";i:1;s:4:"-186";i:2;s:3:"353";i:3;s:3:"532";}}i:162;a:4:{s:1:"C";s:3:"162";s:2:"WX";s:3:"556";s:1:"N";s:4:"cent";s:1:"B";a:4:{i:0;s:2:"79";i:1;s:4:"-118";i:2;s:3:"599";i:3;s:3:"628";}}s:4:"cent";a:4:{s:1:"C";s:3:"162";s:2:"WX";s:3:"556";s:1:"N";s:4:"cent";s:1:"B";a:4:{i:0;s:2:"79";i:1;s:4:"-118";i:2;s:3:"599";i:3;s:3:"628";}}i:163;a:4:{s:1:"C";s:3:"163";s:2:"WX";s:3:"556";s:1:"N";s:8:"sterling";s:1:"B";a:4:{i:0;s:2:"50";i:1;s:3:"-16";i:2;s:3:"635";i:3;s:3:"718";}}s:8:"sterling";a:4:{s:1:"C";s:3:"163";s:2:"WX";s:3:"556";s:1:"N";s:8:"sterling";s:1:"B";a:4:{i:0;s:2:"50";i:1;s:3:"-16";i:2;s:3:"635";i:3;s:3:"718";}}i:164;a:4:{s:1:"C";s:3:"164";s:2:"WX";s:3:"167";s:1:"N";s:8:"fraction";s:1:"B";a:4:{i:0;s:4:"-174";i:1;s:3:"-19";i:2;s:3:"487";i:3;s:3:"710";}}s:8:"fraction";a:4:{s:1:"C";s:3:"164";s:2:"WX";s:3:"167";s:1:"N";s:8:"fraction";s:1:"B";a:4:{i:0;s:4:"-174";i:1;s:3:"-19";i:2;s:3:"487";i:3;s:3:"710";}}i:165;a:4:{s:1:"C";s:3:"165";s:2:"WX";s:3:"556";s:1:"N";s:3:"yen";s:1:"B";a:4:{i:0;s:2:"60";i:1;s:1:"0";i:2;s:3:"713";i:3;s:3:"698";}}s:3:"yen";a:4:{s:1:"C";s:3:"165";s:2:"WX";s:3:"556";s:1:"N";s:3:"yen";s:1:"B";a:4:{i:0;s:2:"60";i:1;s:1:"0";i:2;s:3:"713";i:3;s:3:"698";}}i:166;a:4:{s:1:"C";s:3:"166";s:2:"WX";s:3:"556";s:1:"N";s:6:"florin";s:1:"B";a:4:{i:0;s:3:"-50";i:1;s:4:"-210";i:2;s:3:"669";i:3;s:3:"737";}}s:6:"florin";a:4:{s:1:"C";s:3:"166";s:2:"WX";s:3:"556";s:1:"N";s:6:"florin";s:1:"B";a:4:{i:0;s:3:"-50";i:1;s:4:"-210";i:2;s:3:"669";i:3;s:3:"737";}}i:167;a:4:{s:1:"C";s:3:"167";s:2:"WX";s:3:"556";s:1:"N";s:7:"section";s:1:"B";a:4:{i:0;s:2:"61";i:1;s:4:"-184";i:2;s:3:"598";i:3;s:3:"727";}}s:7:"section";a:4:{s:1:"C";s:3:"167";s:2:"WX";s:3:"556";s:1:"N";s:7:"section";s:1:"B";a:4:{i:0;s:2:"61";i:1;s:4:"-184";i:2;s:3:"598";i:3;s:3:"727";}}i:168;a:4:{s:1:"C";s:3:"168";s:2:"WX";s:3:"556";s:1:"N";s:8:"currency";s:1:"B";a:4:{i:0;s:2:"27";i:1;s:2:"76";i:2;s:3:"680";i:3;s:3:"636";}}s:8:"currency";a:4:{s:1:"C";s:3:"168";s:2:"WX";s:3:"556";s:1:"N";s:8:"currency";s:1:"B";a:4:{i:0;s:2:"27";i:1;s:2:"76";i:2;s:3:"680";i:3;s:3:"636";}}i:169;a:4:{s:1:"C";s:3:"169";s:2:"WX";s:3:"238";s:1:"N";s:11:"quotesingle";s:1:"B";a:4:{i:0;s:3:"165";i:1;s:3:"447";i:2;s:3:"321";i:3;s:3:"718";}}s:11:"quotesingle";a:4:{s:1:"C";s:3:"169";s:2:"WX";s:3:"238";s:1:"N";s:11:"quotesingle";s:1:"B";a:4:{i:0;s:3:"165";i:1;s:3:"447";i:2;s:3:"321";i:3;s:3:"718";}}i:170;a:4:{s:1:"C";s:3:"170";s:2:"WX";s:3:"500";s:1:"N";s:12:"quotedblleft";s:1:"B";a:4:{i:0;s:3:"160";i:1;s:3:"454";i:2;s:3:"588";i:3;s:3:"727";}}s:12:"quotedblleft";a:4:{s:1:"C";s:3:"170";s:2:"WX";s:3:"500";s:1:"N";s:12:"quotedblleft";s:1:"B";a:4:{i:0;s:3:"160";i:1;s:3:"454";i:2;s:3:"588";i:3;s:3:"727";}}i:171;a:4:{s:1:"C";s:3:"171";s:2:"WX";s:3:"556";s:1:"N";s:13:"guillemotleft";s:1:"B";a:4:{i:0;s:3:"135";i:1;s:2:"76";i:2;s:3:"571";i:3;s:3:"484";}}s:13:"guillemotleft";a:4:{s:1:"C";s:3:"171";s:2:"WX";s:3:"556";s:1:"N";s:13:"guillemotleft";s:1:"B";a:4:{i:0;s:3:"135";i:1;s:2:"76";i:2;s:3:"571";i:3;s:3:"484";}}i:172;a:4:{s:1:"C";s:3:"172";s:2:"WX";s:3:"333";s:1:"N";s:13:"guilsinglleft";s:1:"B";a:4:{i:0;s:3:"130";i:1;s:2:"76";i:2;s:3:"353";i:3;s:3:"484";}}s:13:"guilsinglleft";a:4:{s:1:"C";s:3:"172";s:2:"WX";s:3:"333";s:1:"N";s:13:"guilsinglleft";s:1:"B";a:4:{i:0;s:3:"130";i:1;s:2:"76";i:2;s:3:"353";i:3;s:3:"484";}}i:173;a:4:{s:1:"C";s:3:"173";s:2:"WX";s:3:"333";s:1:"N";s:14:"guilsinglright";s:1:"B";a:4:{i:0;s:2:"99";i:1;s:2:"76";i:2;s:3:"322";i:3;s:3:"484";}}s:14:"guilsinglright";a:4:{s:1:"C";s:3:"173";s:2:"WX";s:3:"333";s:1:"N";s:14:"guilsinglright";s:1:"B";a:4:{i:0;s:2:"99";i:1;s:2:"76";i:2;s:3:"322";i:3;s:3:"484";}}i:174;a:4:{s:1:"C";s:3:"174";s:2:"WX";s:3:"611";s:1:"N";s:2:"fi";s:1:"B";a:4:{i:0;s:2:"87";i:1;s:1:"0";i:2;s:3:"696";i:3;s:3:"727";}}s:2:"fi";a:4:{s:1:"C";s:3:"174";s:2:"WX";s:3:"611";s:1:"N";s:2:"fi";s:1:"B";a:4:{i:0;s:2:"87";i:1;s:1:"0";i:2;s:3:"696";i:3;s:3:"727";}}i:175;a:4:{s:1:"C";s:3:"175";s:2:"WX";s:3:"611";s:1:"N";s:2:"fl";s:1:"B";a:4:{i:0;s:2:"87";i:1;s:1:"0";i:2;s:3:"695";i:3;s:3:"727";}}s:2:"fl";a:4:{s:1:"C";s:3:"175";s:2:"WX";s:3:"611";s:1:"N";s:2:"fl";s:1:"B";a:4:{i:0;s:2:"87";i:1;s:1:"0";i:2;s:3:"695";i:3;s:3:"727";}}i:177;a:4:{s:1:"C";s:3:"177";s:2:"WX";s:3:"556";s:1:"N";s:6:"endash";s:1:"B";a:4:{i:0;s:2:"48";i:1;s:3:"227";i:2;s:3:"627";i:3;s:3:"333";}}s:6:"endash";a:4:{s:1:"C";s:3:"177";s:2:"WX";s:3:"556";s:1:"N";s:6:"endash";s:1:"B";a:4:{i:0;s:2:"48";i:1;s:3:"227";i:2;s:3:"627";i:3;s:3:"333";}}i:178;a:4:{s:1:"C";s:3:"178";s:2:"WX";s:3:"556";s:1:"N";s:6:"dagger";s:1:"B";a:4:{i:0;s:3:"118";i:1;s:4:"-171";i:2;s:3:"626";i:3;s:3:"718";}}s:6:"dagger";a:4:{s:1:"C";s:3:"178";s:2:"WX";s:3:"556";s:1:"N";s:6:"dagger";s:1:"B";a:4:{i:0;s:3:"118";i:1;s:4:"-171";i:2;s:3:"626";i:3;s:3:"718";}}i:179;a:4:{s:1:"C";s:3:"179";s:2:"WX";s:3:"556";s:1:"N";s:9:"daggerdbl";s:1:"B";a:4:{i:0;s:2:"46";i:1;s:4:"-171";i:2;s:3:"628";i:3;s:3:"718";}}s:9:"daggerdbl";a:4:{s:1:"C";s:3:"179";s:2:"WX";s:3:"556";s:1:"N";s:9:"daggerdbl";s:1:"B";a:4:{i:0;s:2:"46";i:1;s:4:"-171";i:2;s:3:"628";i:3;s:3:"718";}}i:180;a:4:{s:1:"C";s:3:"180";s:2:"WX";s:3:"278";s:1:"N";s:14:"periodcentered";s:1:"B";a:4:{i:0;s:3:"110";i:1;s:3:"172";i:2;s:3:"276";i:3;s:3:"334";}}s:14:"periodcentered";a:4:{s:1:"C";s:3:"180";s:2:"WX";s:3:"278";s:1:"N";s:14:"periodcentered";s:1:"B";a:4:{i:0;s:3:"110";i:1;s:3:"172";i:2;s:3:"276";i:3;s:3:"334";}}i:182;a:4:{s:1:"C";s:3:"182";s:2:"WX";s:3:"556";s:1:"N";s:9:"paragraph";s:1:"B";a:4:{i:0;s:2:"98";i:1;s:4:"-191";i:2;s:3:"688";i:3;s:3:"700";}}s:9:"paragraph";a:4:{s:1:"C";s:3:"182";s:2:"WX";s:3:"556";s:1:"N";s:9:"paragraph";s:1:"B";a:4:{i:0;s:2:"98";i:1;s:4:"-191";i:2;s:3:"688";i:3;s:3:"700";}}i:183;a:4:{s:1:"C";s:3:"183";s:2:"WX";s:3:"350";s:1:"N";s:6:"bullet";s:1:"B";a:4:{i:0;s:2:"83";i:1;s:3:"194";i:2;s:3:"420";i:3;s:3:"524";}}s:6:"bullet";a:4:{s:1:"C";s:3:"183";s:2:"WX";s:3:"350";s:1:"N";s:6:"bullet";s:1:"B";a:4:{i:0;s:2:"83";i:1;s:3:"194";i:2;s:3:"420";i:3;s:3:"524";}}i:184;a:4:{s:1:"C";s:3:"184";s:2:"WX";s:3:"278";s:1:"N";s:14:"quotesinglbase";s:1:"B";a:4:{i:0;s:2:"41";i:1;s:4:"-146";i:2;s:3:"236";i:3;s:3:"127";}}s:14:"quotesinglbase";a:4:{s:1:"C";s:3:"184";s:2:"WX";s:3:"278";s:1:"N";s:14:"quotesinglbase";s:1:"B";a:4:{i:0;s:2:"41";i:1;s:4:"-146";i:2;s:3:"236";i:3;s:3:"127";}}i:185;a:4:{s:1:"C";s:3:"185";s:2:"WX";s:3:"500";s:1:"N";s:12:"quotedblbase";s:1:"B";a:4:{i:0;s:2:"36";i:1;s:4:"-146";i:2;s:3:"463";i:3;s:3:"127";}}s:12:"quotedblbase";a:4:{s:1:"C";s:3:"185";s:2:"WX";s:3:"500";s:1:"N";s:12:"quotedblbase";s:1:"B";a:4:{i:0;s:2:"36";i:1;s:4:"-146";i:2;s:3:"463";i:3;s:3:"127";}}i:186;a:4:{s:1:"C";s:3:"186";s:2:"WX";s:3:"500";s:1:"N";s:13:"quotedblright";s:1:"B";a:4:{i:0;s:3:"162";i:1;s:3:"445";i:2;s:3:"589";i:3;s:3:"718";}}s:13:"quotedblright";a:4:{s:1:"C";s:3:"186";s:2:"WX";s:3:"500";s:1:"N";s:13:"quotedblright";s:1:"B";a:4:{i:0;s:3:"162";i:1;s:3:"445";i:2;s:3:"589";i:3;s:3:"718";}}i:187;a:4:{s:1:"C";s:3:"187";s:2:"WX";s:3:"556";s:1:"N";s:14:"guillemotright";s:1:"B";a:4:{i:0;s:3:"104";i:1;s:2:"76";i:2;s:3:"540";i:3;s:3:"484";}}s:14:"guillemotright";a:4:{s:1:"C";s:3:"187";s:2:"WX";s:3:"556";s:1:"N";s:14:"guillemotright";s:1:"B";a:4:{i:0;s:3:"104";i:1;s:2:"76";i:2;s:3:"540";i:3;s:3:"484";}}i:188;a:4:{s:1:"C";s:3:"188";s:2:"WX";s:4:"1000";s:1:"N";s:8:"ellipsis";s:1:"B";a:4:{i:0;s:2:"92";i:1;s:1:"0";i:2;s:3:"939";i:3;s:3:"146";}}s:8:"ellipsis";a:4:{s:1:"C";s:3:"188";s:2:"WX";s:4:"1000";s:1:"N";s:8:"ellipsis";s:1:"B";a:4:{i:0;s:2:"92";i:1;s:1:"0";i:2;s:3:"939";i:3;s:3:"146";}}i:189;a:4:{s:1:"C";s:3:"189";s:2:"WX";s:4:"1000";s:1:"N";s:11:"perthousand";s:1:"B";a:4:{i:0;s:2:"76";i:1;s:3:"-19";i:2;s:4:"1038";i:3;s:3:"710";}}s:11:"perthousand";a:4:{s:1:"C";s:3:"189";s:2:"WX";s:4:"1000";s:1:"N";s:11:"perthousand";s:1:"B";a:4:{i:0;s:2:"76";i:1;s:3:"-19";i:2;s:4:"1038";i:3;s:3:"710";}}i:191;a:4:{s:1:"C";s:3:"191";s:2:"WX";s:3:"611";s:1:"N";s:12:"questiondown";s:1:"B";a:4:{i:0;s:2:"53";i:1;s:4:"-195";i:2;s:3:"559";i:3;s:3:"532";}}s:12:"questiondown";a:4:{s:1:"C";s:3:"191";s:2:"WX";s:3:"611";s:1:"N";s:12:"questiondown";s:1:"B";a:4:{i:0;s:2:"53";i:1;s:4:"-195";i:2;s:3:"559";i:3;s:3:"532";}}i:193;a:4:{s:1:"C";s:3:"193";s:2:"WX";s:3:"333";s:1:"N";s:5:"grave";s:1:"B";a:4:{i:0;s:3:"136";i:1;s:3:"604";i:2;s:3:"353";i:3;s:3:"750";}}s:5:"grave";a:4:{s:1:"C";s:3:"193";s:2:"WX";s:3:"333";s:1:"N";s:5:"grave";s:1:"B";a:4:{i:0;s:3:"136";i:1;s:3:"604";i:2;s:3:"353";i:3;s:3:"750";}}i:194;a:4:{s:1:"C";s:3:"194";s:2:"WX";s:3:"333";s:1:"N";s:5:"acute";s:1:"B";a:4:{i:0;s:3:"236";i:1;s:3:"604";i:2;s:3:"515";i:3;s:3:"750";}}s:5:"acute";a:4:{s:1:"C";s:3:"194";s:2:"WX";s:3:"333";s:1:"N";s:5:"acute";s:1:"B";a:4:{i:0;s:3:"236";i:1;s:3:"604";i:2;s:3:"515";i:3;s:3:"750";}}i:195;a:4:{s:1:"C";s:3:"195";s:2:"WX";s:3:"333";s:1:"N";s:10:"circumflex";s:1:"B";a:4:{i:0;s:3:"118";i:1;s:3:"604";i:2;s:3:"471";i:3;s:3:"750";}}s:10:"circumflex";a:4:{s:1:"C";s:3:"195";s:2:"WX";s:3:"333";s:1:"N";s:10:"circumflex";s:1:"B";a:4:{i:0;s:3:"118";i:1;s:3:"604";i:2;s:3:"471";i:3;s:3:"750";}}i:196;a:4:{s:1:"C";s:3:"196";s:2:"WX";s:3:"333";s:1:"N";s:5:"tilde";s:1:"B";a:4:{i:0;s:3:"113";i:1;s:3:"610";i:2;s:3:"507";i:3;s:3:"737";}}s:5:"tilde";a:4:{s:1:"C";s:3:"196";s:2:"WX";s:3:"333";s:1:"N";s:5:"tilde";s:1:"B";a:4:{i:0;s:3:"113";i:1;s:3:"610";i:2;s:3:"507";i:3;s:3:"737";}}i:197;a:4:{s:1:"C";s:3:"197";s:2:"WX";s:3:"333";s:1:"N";s:6:"macron";s:1:"B";a:4:{i:0;s:3:"122";i:1;s:3:"604";i:2;s:3:"483";i:3;s:3:"678";}}s:6:"macron";a:4:{s:1:"C";s:3:"197";s:2:"WX";s:3:"333";s:1:"N";s:6:"macron";s:1:"B";a:4:{i:0;s:3:"122";i:1;s:3:"604";i:2;s:3:"483";i:3;s:3:"678";}}i:198;a:4:{s:1:"C";s:3:"198";s:2:"WX";s:3:"333";s:1:"N";s:5:"breve";s:1:"B";a:4:{i:0;s:3:"156";i:1;s:3:"604";i:2;s:3:"494";i:3;s:3:"750";}}s:5:"breve";a:4:{s:1:"C";s:3:"198";s:2:"WX";s:3:"333";s:1:"N";s:5:"breve";s:1:"B";a:4:{i:0;s:3:"156";i:1;s:3:"604";i:2;s:3:"494";i:3;s:3:"750";}}i:199;a:4:{s:1:"C";s:3:"199";s:2:"WX";s:3:"333";s:1:"N";s:9:"dotaccent";s:1:"B";a:4:{i:0;s:3:"235";i:1;s:3:"614";i:2;s:3:"385";i:3;s:3:"729";}}s:9:"dotaccent";a:4:{s:1:"C";s:3:"199";s:2:"WX";s:3:"333";s:1:"N";s:9:"dotaccent";s:1:"B";a:4:{i:0;s:3:"235";i:1;s:3:"614";i:2;s:3:"385";i:3;s:3:"729";}}i:200;a:4:{s:1:"C";s:3:"200";s:2:"WX";s:3:"333";s:1:"N";s:8:"dieresis";s:1:"B";a:4:{i:0;s:3:"137";i:1;s:3:"614";i:2;s:3:"482";i:3;s:3:"729";}}s:8:"dieresis";a:4:{s:1:"C";s:3:"200";s:2:"WX";s:3:"333";s:1:"N";s:8:"dieresis";s:1:"B";a:4:{i:0;s:3:"137";i:1;s:3:"614";i:2;s:3:"482";i:3;s:3:"729";}}i:202;a:4:{s:1:"C";s:3:"202";s:2:"WX";s:3:"333";s:1:"N";s:4:"ring";s:1:"B";a:4:{i:0;s:3:"200";i:1;s:3:"568";i:2;s:3:"420";i:3;s:3:"776";}}s:4:"ring";a:4:{s:1:"C";s:3:"202";s:2:"WX";s:3:"333";s:1:"N";s:4:"ring";s:1:"B";a:4:{i:0;s:3:"200";i:1;s:3:"568";i:2;s:3:"420";i:3;s:3:"776";}}i:203;a:4:{s:1:"C";s:3:"203";s:2:"WX";s:3:"333";s:1:"N";s:7:"cedilla";s:1:"B";a:4:{i:0;s:3:"-37";i:1;s:4:"-228";i:2;s:3:"220";i:3;s:1:"0";}}s:7:"cedilla";a:4:{s:1:"C";s:3:"203";s:2:"WX";s:3:"333";s:1:"N";s:7:"cedilla";s:1:"B";a:4:{i:0;s:3:"-37";i:1;s:4:"-228";i:2;s:3:"220";i:3;s:1:"0";}}i:205;a:4:{s:1:"C";s:3:"205";s:2:"WX";s:3:"333";s:1:"N";s:12:"hungarumlaut";s:1:"B";a:4:{i:0;s:3:"137";i:1;s:3:"604";i:2;s:3:"645";i:3;s:3:"750";}}s:12:"hungarumlaut";a:4:{s:1:"C";s:3:"205";s:2:"WX";s:3:"333";s:1:"N";s:12:"hungarumlaut";s:1:"B";a:4:{i:0;s:3:"137";i:1;s:3:"604";i:2;s:3:"645";i:3;s:3:"750";}}i:206;a:4:{s:1:"C";s:3:"206";s:2:"WX";s:3:"333";s:1:"N";s:6:"ogonek";s:1:"B";a:4:{i:0;s:2:"41";i:1;s:4:"-228";i:2;s:3:"264";i:3;s:1:"0";}}s:6:"ogonek";a:4:{s:1:"C";s:3:"206";s:2:"WX";s:3:"333";s:1:"N";s:6:"ogonek";s:1:"B";a:4:{i:0;s:2:"41";i:1;s:4:"-228";i:2;s:3:"264";i:3;s:1:"0";}}i:207;a:4:{s:1:"C";s:3:"207";s:2:"WX";s:3:"333";s:1:"N";s:5:"caron";s:1:"B";a:4:{i:0;s:3:"149";i:1;s:3:"604";i:2;s:3:"502";i:3;s:3:"750";}}s:5:"caron";a:4:{s:1:"C";s:3:"207";s:2:"WX";s:3:"333";s:1:"N";s:5:"caron";s:1:"B";a:4:{i:0;s:3:"149";i:1;s:3:"604";i:2;s:3:"502";i:3;s:3:"750";}}i:208;a:4:{s:1:"C";s:3:"208";s:2:"WX";s:4:"1000";s:1:"N";s:6:"emdash";s:1:"B";a:4:{i:0;s:2:"48";i:1;s:3:"227";i:2;s:4:"1071";i:3;s:3:"333";}}s:6:"emdash";a:4:{s:1:"C";s:3:"208";s:2:"WX";s:4:"1000";s:1:"N";s:6:"emdash";s:1:"B";a:4:{i:0;s:2:"48";i:1;s:3:"227";i:2;s:4:"1071";i:3;s:3:"333";}}i:225;a:4:{s:1:"C";s:3:"225";s:2:"WX";s:4:"1000";s:1:"N";s:2:"AE";s:1:"B";a:4:{i:0;s:1:"5";i:1;s:1:"0";i:2;s:4:"1100";i:3;s:3:"718";}}s:2:"AE";a:4:{s:1:"C";s:3:"225";s:2:"WX";s:4:"1000";s:1:"N";s:2:"AE";s:1:"B";a:4:{i:0;s:1:"5";i:1;s:1:"0";i:2;s:4:"1100";i:3;s:3:"718";}}i:227;a:4:{s:1:"C";s:3:"227";s:2:"WX";s:3:"370";s:1:"N";s:11:"ordfeminine";s:1:"B";a:4:{i:0;s:3:"125";i:1;s:3:"401";i:2;s:3:"465";i:3;s:3:"737";}}s:11:"ordfeminine";a:4:{s:1:"C";s:3:"227";s:2:"WX";s:3:"370";s:1:"N";s:11:"ordfeminine";s:1:"B";a:4:{i:0;s:3:"125";i:1;s:3:"401";i:2;s:3:"465";i:3;s:3:"737";}}i:232;a:4:{s:1:"C";s:3:"232";s:2:"WX";s:3:"611";s:1:"N";s:6:"Lslash";s:1:"B";a:4:{i:0;s:2:"34";i:1;s:1:"0";i:2;s:3:"611";i:3;s:3:"718";}}s:6:"Lslash";a:4:{s:1:"C";s:3:"232";s:2:"WX";s:3:"611";s:1:"N";s:6:"Lslash";s:1:"B";a:4:{i:0;s:2:"34";i:1;s:1:"0";i:2;s:3:"611";i:3;s:3:"718";}}i:233;a:4:{s:1:"C";s:3:"233";s:2:"WX";s:3:"778";s:1:"N";s:6:"Oslash";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:3:"-27";i:2;s:3:"894";i:3;s:3:"745";}}s:6:"Oslash";a:4:{s:1:"C";s:3:"233";s:2:"WX";s:3:"778";s:1:"N";s:6:"Oslash";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:3:"-27";i:2;s:3:"894";i:3;s:3:"745";}}i:234;a:4:{s:1:"C";s:3:"234";s:2:"WX";s:4:"1000";s:1:"N";s:2:"OE";s:1:"B";a:4:{i:0;s:2:"99";i:1;s:3:"-19";i:2;s:4:"1114";i:3;s:3:"737";}}s:2:"OE";a:4:{s:1:"C";s:3:"234";s:2:"WX";s:4:"1000";s:1:"N";s:2:"OE";s:1:"B";a:4:{i:0;s:2:"99";i:1;s:3:"-19";i:2;s:4:"1114";i:3;s:3:"737";}}i:235;a:4:{s:1:"C";s:3:"235";s:2:"WX";s:3:"365";s:1:"N";s:12:"ordmasculine";s:1:"B";a:4:{i:0;s:3:"123";i:1;s:3:"401";i:2;s:3:"485";i:3;s:3:"737";}}s:12:"ordmasculine";a:4:{s:1:"C";s:3:"235";s:2:"WX";s:3:"365";s:1:"N";s:12:"ordmasculine";s:1:"B";a:4:{i:0;s:3:"123";i:1;s:3:"401";i:2;s:3:"485";i:3;s:3:"737";}}i:241;a:4:{s:1:"C";s:3:"241";s:2:"WX";s:3:"889";s:1:"N";s:2:"ae";s:1:"B";a:4:{i:0;s:2:"56";i:1;s:3:"-14";i:2;s:3:"923";i:3;s:3:"546";}}s:2:"ae";a:4:{s:1:"C";s:3:"241";s:2:"WX";s:3:"889";s:1:"N";s:2:"ae";s:1:"B";a:4:{i:0;s:2:"56";i:1;s:3:"-14";i:2;s:3:"923";i:3;s:3:"546";}}i:245;a:4:{s:1:"C";s:3:"245";s:2:"WX";s:3:"278";s:1:"N";s:8:"dotlessi";s:1:"B";a:4:{i:0;s:2:"69";i:1;s:1:"0";i:2;s:3:"322";i:3;s:3:"532";}}s:8:"dotlessi";a:4:{s:1:"C";s:3:"245";s:2:"WX";s:3:"278";s:1:"N";s:8:"dotlessi";s:1:"B";a:4:{i:0;s:2:"69";i:1;s:1:"0";i:2;s:3:"322";i:3;s:3:"532";}}i:248;a:4:{s:1:"C";s:3:"248";s:2:"WX";s:3:"278";s:1:"N";s:6:"lslash";s:1:"B";a:4:{i:0;s:2:"40";i:1;s:1:"0";i:2;s:3:"407";i:3;s:3:"718";}}s:6:"lslash";a:4:{s:1:"C";s:3:"248";s:2:"WX";s:3:"278";s:1:"N";s:6:"lslash";s:1:"B";a:4:{i:0;s:2:"40";i:1;s:1:"0";i:2;s:3:"407";i:3;s:3:"718";}}i:249;a:4:{s:1:"C";s:3:"249";s:2:"WX";s:3:"611";s:1:"N";s:6:"oslash";s:1:"B";a:4:{i:0;s:2:"22";i:1;s:3:"-29";i:2;s:3:"701";i:3;s:3:"560";}}s:6:"oslash";a:4:{s:1:"C";s:3:"249";s:2:"WX";s:3:"611";s:1:"N";s:6:"oslash";s:1:"B";a:4:{i:0;s:2:"22";i:1;s:3:"-29";i:2;s:3:"701";i:3;s:3:"560";}}i:250;a:4:{s:1:"C";s:3:"250";s:2:"WX";s:3:"944";s:1:"N";s:2:"oe";s:1:"B";a:4:{i:0;s:2:"82";i:1;s:3:"-14";i:2;s:3:"977";i:3;s:3:"546";}}s:2:"oe";a:4:{s:1:"C";s:3:"250";s:2:"WX";s:3:"944";s:1:"N";s:2:"oe";s:1:"B";a:4:{i:0;s:2:"82";i:1;s:3:"-14";i:2;s:3:"977";i:3;s:3:"546";}}i:251;a:4:{s:1:"C";s:3:"251";s:2:"WX";s:3:"611";s:1:"N";s:10:"germandbls";s:1:"B";a:4:{i:0;s:2:"69";i:1;s:3:"-14";i:2;s:3:"657";i:3;s:3:"731";}}s:10:"germandbls";a:4:{s:1:"C";s:3:"251";s:2:"WX";s:3:"611";s:1:"N";s:10:"germandbls";s:1:"B";a:4:{i:0;s:2:"69";i:1;s:3:"-14";i:2;s:3:"657";i:3;s:3:"731";}}s:9:"Idieresis";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"278";s:1:"N";s:9:"Idieresis";s:1:"B";a:4:{i:0;s:2:"64";i:1;s:1:"0";i:2;s:3:"494";i:3;s:3:"915";}}s:6:"eacute";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"556";s:1:"N";s:6:"eacute";s:1:"B";a:4:{i:0;s:2:"70";i:1;s:3:"-14";i:2;s:3:"627";i:3;s:3:"750";}}s:6:"abreve";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"556";s:1:"N";s:6:"abreve";s:1:"B";a:4:{i:0;s:2:"55";i:1;s:3:"-14";i:2;s:3:"606";i:3;s:3:"750";}}s:13:"uhungarumlaut";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"611";s:1:"N";s:13:"uhungarumlaut";s:1:"B";a:4:{i:0;s:2:"98";i:1;s:3:"-14";i:2;s:3:"784";i:3;s:3:"750";}}s:6:"ecaron";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"556";s:1:"N";s:6:"ecaron";s:1:"B";a:4:{i:0;s:2:"70";i:1;s:3:"-14";i:2;s:3:"614";i:3;s:3:"750";}}s:9:"Ydieresis";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"667";s:1:"N";s:9:"Ydieresis";s:1:"B";a:4:{i:0;s:3:"168";i:1;s:1:"0";i:2;s:3:"806";i:3;s:3:"915";}}s:6:"divide";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"584";s:1:"N";s:6:"divide";s:1:"B";a:4:{i:0;s:2:"82";i:1;s:3:"-42";i:2;s:3:"610";i:3;s:3:"548";}}s:6:"Yacute";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"667";s:1:"N";s:6:"Yacute";s:1:"B";a:4:{i:0;s:3:"168";i:1;s:1:"0";i:2;s:3:"806";i:3;s:3:"936";}}s:11:"Acircumflex";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"722";s:1:"N";s:11:"Acircumflex";s:1:"B";a:4:{i:0;s:2:"20";i:1;s:1:"0";i:2;s:3:"706";i:3;s:3:"936";}}s:6:"aacute";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"556";s:1:"N";s:6:"aacute";s:1:"B";a:4:{i:0;s:2:"55";i:1;s:3:"-14";i:2;s:3:"627";i:3;s:3:"750";}}s:11:"Ucircumflex";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"722";s:1:"N";s:11:"Ucircumflex";s:1:"B";a:4:{i:0;s:3:"116";i:1;s:3:"-19";i:2;s:3:"804";i:3;s:3:"936";}}s:6:"yacute";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"556";s:1:"N";s:6:"yacute";s:1:"B";a:4:{i:0;s:2:"42";i:1;s:4:"-214";i:2;s:3:"652";i:3;s:3:"750";}}s:12:"scommaaccent";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"556";s:1:"N";s:12:"scommaaccent";s:1:"B";a:4:{i:0;s:2:"63";i:1;s:4:"-228";i:2;s:3:"584";i:3;s:3:"546";}}s:11:"ecircumflex";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"556";s:1:"N";s:11:"ecircumflex";s:1:"B";a:4:{i:0;s:2:"70";i:1;s:3:"-14";i:2;s:3:"593";i:3;s:3:"750";}}s:5:"Uring";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"722";s:1:"N";s:5:"Uring";s:1:"B";a:4:{i:0;s:3:"116";i:1;s:3:"-19";i:2;s:3:"804";i:3;s:3:"962";}}s:9:"Udieresis";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"722";s:1:"N";s:9:"Udieresis";s:1:"B";a:4:{i:0;s:3:"116";i:1;s:3:"-19";i:2;s:3:"804";i:3;s:3:"915";}}s:7:"aogonek";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"556";s:1:"N";s:7:"aogonek";s:1:"B";a:4:{i:0;s:2:"55";i:1;s:4:"-224";i:2;s:3:"583";i:3;s:3:"546";}}s:6:"Uacute";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"722";s:1:"N";s:6:"Uacute";s:1:"B";a:4:{i:0;s:3:"116";i:1;s:3:"-19";i:2;s:3:"804";i:3;s:3:"936";}}s:7:"uogonek";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"611";s:1:"N";s:7:"uogonek";s:1:"B";a:4:{i:0;s:2:"98";i:1;s:4:"-228";i:2;s:3:"658";i:3;s:3:"532";}}s:9:"Edieresis";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"667";s:1:"N";s:9:"Edieresis";s:1:"B";a:4:{i:0;s:2:"76";i:1;s:1:"0";i:2;s:3:"757";i:3;s:3:"915";}}s:6:"Dcroat";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"722";s:1:"N";s:6:"Dcroat";s:1:"B";a:4:{i:0;s:2:"62";i:1;s:1:"0";i:2;s:3:"777";i:3;s:3:"718";}}s:11:"commaaccent";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"250";s:1:"N";s:11:"commaaccent";s:1:"B";a:4:{i:0;s:2:"16";i:1;s:4:"-228";i:2;s:3:"188";i:3;s:3:"-50";}}s:9:"copyright";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"737";s:1:"N";s:9:"copyright";s:1:"B";a:4:{i:0;s:2:"56";i:1;s:3:"-19";i:2;s:3:"835";i:3;s:3:"737";}}s:7:"Emacron";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"667";s:1:"N";s:7:"Emacron";s:1:"B";a:4:{i:0;s:2:"76";i:1;s:1:"0";i:2;s:3:"757";i:3;s:3:"864";}}s:6:"ccaron";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"556";s:1:"N";s:6:"ccaron";s:1:"B";a:4:{i:0;s:2:"79";i:1;s:3:"-14";i:2;s:3:"614";i:3;s:3:"750";}}s:5:"aring";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"556";s:1:"N";s:5:"aring";s:1:"B";a:4:{i:0;s:2:"55";i:1;s:3:"-14";i:2;s:3:"583";i:3;s:3:"776";}}s:12:"Ncommaaccent";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"722";s:1:"N";s:12:"Ncommaaccent";s:1:"B";a:4:{i:0;s:2:"69";i:1;s:4:"-228";i:2;s:3:"807";i:3;s:3:"718";}}s:6:"lacute";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"278";s:1:"N";s:6:"lacute";s:1:"B";a:4:{i:0;s:2:"69";i:1;s:1:"0";i:2;s:3:"528";i:3;s:3:"936";}}s:6:"agrave";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"556";s:1:"N";s:6:"agrave";s:1:"B";a:4:{i:0;s:2:"55";i:1;s:3:"-14";i:2;s:3:"583";i:3;s:3:"750";}}s:12:"Tcommaaccent";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"611";s:1:"N";s:12:"Tcommaaccent";s:1:"B";a:4:{i:0;s:3:"140";i:1;s:4:"-228";i:2;s:3:"751";i:3;s:3:"718";}}s:6:"Cacute";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"722";s:1:"N";s:6:"Cacute";s:1:"B";a:4:{i:0;s:3:"107";i:1;s:3:"-19";i:2;s:3:"789";i:3;s:3:"936";}}s:6:"atilde";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"556";s:1:"N";s:6:"atilde";s:1:"B";a:4:{i:0;s:2:"55";i:1;s:3:"-14";i:2;s:3:"619";i:3;s:3:"737";}}s:10:"Edotaccent";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"667";s:1:"N";s:10:"Edotaccent";s:1:"B";a:4:{i:0;s:2:"76";i:1;s:1:"0";i:2;s:3:"757";i:3;s:3:"915";}}s:6:"scaron";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"556";s:1:"N";s:6:"scaron";s:1:"B";a:4:{i:0;s:2:"63";i:1;s:3:"-14";i:2;s:3:"614";i:3;s:3:"750";}}s:8:"scedilla";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"556";s:1:"N";s:8:"scedilla";s:1:"B";a:4:{i:0;s:2:"63";i:1;s:4:"-228";i:2;s:3:"584";i:3;s:3:"546";}}s:6:"iacute";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"278";s:1:"N";s:6:"iacute";s:1:"B";a:4:{i:0;s:2:"69";i:1;s:1:"0";i:2;s:3:"488";i:3;s:3:"750";}}s:7:"lozenge";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"494";s:1:"N";s:7:"lozenge";s:1:"B";a:4:{i:0;s:2:"90";i:1;s:1:"0";i:2;s:3:"564";i:3;s:3:"745";}}s:6:"Rcaron";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"722";s:1:"N";s:6:"Rcaron";s:1:"B";a:4:{i:0;s:2:"76";i:1;s:1:"0";i:2;s:3:"778";i:3;s:3:"936";}}s:12:"Gcommaaccent";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"778";s:1:"N";s:12:"Gcommaaccent";s:1:"B";a:4:{i:0;s:3:"108";i:1;s:4:"-228";i:2;s:3:"817";i:3;s:3:"737";}}s:11:"ucircumflex";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"611";s:1:"N";s:11:"ucircumflex";s:1:"B";a:4:{i:0;s:2:"98";i:1;s:3:"-14";i:2;s:3:"658";i:3;s:3:"750";}}s:11:"acircumflex";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"556";s:1:"N";s:11:"acircumflex";s:1:"B";a:4:{i:0;s:2:"55";i:1;s:3:"-14";i:2;s:3:"583";i:3;s:3:"750";}}s:7:"Amacron";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"722";s:1:"N";s:7:"Amacron";s:1:"B";a:4:{i:0;s:2:"20";i:1;s:1:"0";i:2;s:3:"718";i:3;s:3:"864";}}s:6:"rcaron";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"389";s:1:"N";s:6:"rcaron";s:1:"B";a:4:{i:0;s:2:"64";i:1;s:1:"0";i:2;s:3:"530";i:3;s:3:"750";}}s:8:"ccedilla";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"556";s:1:"N";s:8:"ccedilla";s:1:"B";a:4:{i:0;s:2:"79";i:1;s:4:"-228";i:2;s:3:"599";i:3;s:3:"546";}}s:10:"Zdotaccent";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"611";s:1:"N";s:10:"Zdotaccent";s:1:"B";a:4:{i:0;s:2:"25";i:1;s:1:"0";i:2;s:3:"737";i:3;s:3:"915";}}s:5:"Thorn";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"667";s:1:"N";s:5:"Thorn";s:1:"B";a:4:{i:0;s:2:"76";i:1;s:1:"0";i:2;s:3:"716";i:3;s:3:"718";}}s:7:"Omacron";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"778";s:1:"N";s:7:"Omacron";s:1:"B";a:4:{i:0;s:3:"107";i:1;s:3:"-19";i:2;s:3:"823";i:3;s:3:"864";}}s:6:"Racute";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"722";s:1:"N";s:6:"Racute";s:1:"B";a:4:{i:0;s:2:"76";i:1;s:1:"0";i:2;s:3:"778";i:3;s:3:"936";}}s:6:"Sacute";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"667";s:1:"N";s:6:"Sacute";s:1:"B";a:4:{i:0;s:2:"81";i:1;s:3:"-19";i:2;s:3:"722";i:3;s:3:"936";}}s:6:"dcaron";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"743";s:1:"N";s:6:"dcaron";s:1:"B";a:4:{i:0;s:2:"82";i:1;s:3:"-14";i:2;s:3:"903";i:3;s:3:"718";}}s:7:"Umacron";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"722";s:1:"N";s:7:"Umacron";s:1:"B";a:4:{i:0;s:3:"116";i:1;s:3:"-19";i:2;s:3:"804";i:3;s:3:"864";}}s:5:"uring";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"611";s:1:"N";s:5:"uring";s:1:"B";a:4:{i:0;s:2:"98";i:1;s:3:"-14";i:2;s:3:"658";i:3;s:3:"776";}}s:13:"threesuperior";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"333";s:1:"N";s:13:"threesuperior";s:1:"B";a:4:{i:0;s:2:"91";i:1;s:3:"271";i:2;s:3:"441";i:3;s:3:"710";}}s:6:"Ograve";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"778";s:1:"N";s:6:"Ograve";s:1:"B";a:4:{i:0;s:3:"107";i:1;s:3:"-19";i:2;s:3:"823";i:3;s:3:"936";}}s:6:"Agrave";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"722";s:1:"N";s:6:"Agrave";s:1:"B";a:4:{i:0;s:2:"20";i:1;s:1:"0";i:2;s:3:"702";i:3;s:3:"936";}}s:6:"Abreve";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"722";s:1:"N";s:6:"Abreve";s:1:"B";a:4:{i:0;s:2:"20";i:1;s:1:"0";i:2;s:3:"729";i:3;s:3:"936";}}s:8:"multiply";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"584";s:1:"N";s:8:"multiply";s:1:"B";a:4:{i:0;s:2:"57";i:1;s:1:"1";i:2;s:3:"635";i:3;s:3:"505";}}s:6:"uacute";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"611";s:1:"N";s:6:"uacute";s:1:"B";a:4:{i:0;s:2:"98";i:1;s:3:"-14";i:2;s:3:"658";i:3;s:3:"750";}}s:6:"Tcaron";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"611";s:1:"N";s:6:"Tcaron";s:1:"B";a:4:{i:0;s:3:"140";i:1;s:1:"0";i:2;s:3:"751";i:3;s:3:"936";}}s:11:"partialdiff";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"494";s:1:"N";s:11:"partialdiff";s:1:"B";a:4:{i:0;s:2:"43";i:1;s:3:"-21";i:2;s:3:"585";i:3;s:3:"750";}}s:9:"ydieresis";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"556";s:1:"N";s:9:"ydieresis";s:1:"B";a:4:{i:0;s:2:"42";i:1;s:4:"-214";i:2;s:3:"652";i:3;s:3:"729";}}s:6:"Nacute";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"722";s:1:"N";s:6:"Nacute";s:1:"B";a:4:{i:0;s:2:"69";i:1;s:1:"0";i:2;s:3:"807";i:3;s:3:"936";}}s:11:"icircumflex";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"278";s:1:"N";s:11:"icircumflex";s:1:"B";a:4:{i:0;s:2:"69";i:1;s:1:"0";i:2;s:3:"444";i:3;s:3:"750";}}s:11:"Ecircumflex";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"667";s:1:"N";s:11:"Ecircumflex";s:1:"B";a:4:{i:0;s:2:"76";i:1;s:1:"0";i:2;s:3:"757";i:3;s:3:"936";}}s:9:"adieresis";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"556";s:1:"N";s:9:"adieresis";s:1:"B";a:4:{i:0;s:2:"55";i:1;s:3:"-14";i:2;s:3:"594";i:3;s:3:"729";}}s:9:"edieresis";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"556";s:1:"N";s:9:"edieresis";s:1:"B";a:4:{i:0;s:2:"70";i:1;s:3:"-14";i:2;s:3:"594";i:3;s:3:"729";}}s:6:"cacute";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"556";s:1:"N";s:6:"cacute";s:1:"B";a:4:{i:0;s:2:"79";i:1;s:3:"-14";i:2;s:3:"627";i:3;s:3:"750";}}s:6:"nacute";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"611";s:1:"N";s:6:"nacute";s:1:"B";a:4:{i:0;s:2:"65";i:1;s:1:"0";i:2;s:3:"654";i:3;s:3:"750";}}s:7:"umacron";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"611";s:1:"N";s:7:"umacron";s:1:"B";a:4:{i:0;s:2:"98";i:1;s:3:"-14";i:2;s:3:"658";i:3;s:3:"678";}}s:6:"Ncaron";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"722";s:1:"N";s:6:"Ncaron";s:1:"B";a:4:{i:0;s:2:"69";i:1;s:1:"0";i:2;s:3:"807";i:3;s:3:"936";}}s:6:"Iacute";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"278";s:1:"N";s:6:"Iacute";s:1:"B";a:4:{i:0;s:2:"64";i:1;s:1:"0";i:2;s:3:"528";i:3;s:3:"936";}}s:9:"plusminus";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"584";s:1:"N";s:9:"plusminus";s:1:"B";a:4:{i:0;s:2:"40";i:1;s:1:"0";i:2;s:3:"625";i:3;s:3:"506";}}s:9:"brokenbar";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"280";s:1:"N";s:9:"brokenbar";s:1:"B";a:4:{i:0;s:2:"52";i:1;s:4:"-150";i:2;s:3:"345";i:3;s:3:"700";}}s:10:"registered";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"737";s:1:"N";s:10:"registered";s:1:"B";a:4:{i:0;s:2:"55";i:1;s:3:"-19";i:2;s:3:"834";i:3;s:3:"737";}}s:6:"Gbreve";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"778";s:1:"N";s:6:"Gbreve";s:1:"B";a:4:{i:0;s:3:"108";i:1;s:3:"-19";i:2;s:3:"817";i:3;s:3:"936";}}s:10:"Idotaccent";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"278";s:1:"N";s:10:"Idotaccent";s:1:"B";a:4:{i:0;s:2:"64";i:1;s:1:"0";i:2;s:3:"397";i:3;s:3:"915";}}s:9:"summation";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:9:"summation";s:1:"B";a:4:{i:0;s:2:"14";i:1;s:3:"-10";i:2;s:3:"670";i:3;s:3:"706";}}s:6:"Egrave";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"667";s:1:"N";s:6:"Egrave";s:1:"B";a:4:{i:0;s:2:"76";i:1;s:1:"0";i:2;s:3:"757";i:3;s:3:"936";}}s:6:"racute";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"389";s:1:"N";s:6:"racute";s:1:"B";a:4:{i:0;s:2:"64";i:1;s:1:"0";i:2;s:3:"543";i:3;s:3:"750";}}s:7:"omacron";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"611";s:1:"N";s:7:"omacron";s:1:"B";a:4:{i:0;s:2:"82";i:1;s:3:"-14";i:2;s:3:"643";i:3;s:3:"678";}}s:6:"Zacute";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"611";s:1:"N";s:6:"Zacute";s:1:"B";a:4:{i:0;s:2:"25";i:1;s:1:"0";i:2;s:3:"737";i:3;s:3:"936";}}s:6:"Zcaron";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"611";s:1:"N";s:6:"Zcaron";s:1:"B";a:4:{i:0;s:2:"25";i:1;s:1:"0";i:2;s:3:"737";i:3;s:3:"936";}}s:12:"greaterequal";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"549";s:1:"N";s:12:"greaterequal";s:1:"B";a:4:{i:0;s:2:"26";i:1;s:1:"0";i:2;s:3:"629";i:3;s:3:"704";}}s:3:"Eth";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"722";s:1:"N";s:3:"Eth";s:1:"B";a:4:{i:0;s:2:"62";i:1;s:1:"0";i:2;s:3:"777";i:3;s:3:"718";}}s:8:"Ccedilla";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"722";s:1:"N";s:8:"Ccedilla";s:1:"B";a:4:{i:0;s:3:"107";i:1;s:4:"-228";i:2;s:3:"789";i:3;s:3:"737";}}s:12:"lcommaaccent";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"278";s:1:"N";s:12:"lcommaaccent";s:1:"B";a:4:{i:0;s:2:"30";i:1;s:4:"-228";i:2;s:3:"362";i:3;s:3:"718";}}s:6:"tcaron";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"389";s:1:"N";s:6:"tcaron";s:1:"B";a:4:{i:0;s:3:"100";i:1;s:2:"-6";i:2;s:3:"608";i:3;s:3:"878";}}s:7:"eogonek";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"556";s:1:"N";s:7:"eogonek";s:1:"B";a:4:{i:0;s:2:"70";i:1;s:4:"-228";i:2;s:3:"593";i:3;s:3:"546";}}s:7:"Uogonek";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"722";s:1:"N";s:7:"Uogonek";s:1:"B";a:4:{i:0;s:3:"116";i:1;s:4:"-228";i:2;s:3:"804";i:3;s:3:"718";}}s:6:"Aacute";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"722";s:1:"N";s:6:"Aacute";s:1:"B";a:4:{i:0;s:2:"20";i:1;s:1:"0";i:2;s:3:"750";i:3;s:3:"936";}}s:9:"Adieresis";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"722";s:1:"N";s:9:"Adieresis";s:1:"B";a:4:{i:0;s:2:"20";i:1;s:1:"0";i:2;s:3:"716";i:3;s:3:"915";}}s:6:"egrave";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"556";s:1:"N";s:6:"egrave";s:1:"B";a:4:{i:0;s:2:"70";i:1;s:3:"-14";i:2;s:3:"593";i:3;s:3:"750";}}s:6:"zacute";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"500";s:1:"N";s:6:"zacute";s:1:"B";a:4:{i:0;s:2:"20";i:1;s:1:"0";i:2;s:3:"599";i:3;s:3:"750";}}s:7:"iogonek";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"278";s:1:"N";s:7:"iogonek";s:1:"B";a:4:{i:0;s:3:"-14";i:1;s:4:"-224";i:2;s:3:"363";i:3;s:3:"725";}}s:6:"Oacute";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"778";s:1:"N";s:6:"Oacute";s:1:"B";a:4:{i:0;s:3:"107";i:1;s:3:"-19";i:2;s:3:"823";i:3;s:3:"936";}}s:6:"oacute";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"611";s:1:"N";s:6:"oacute";s:1:"B";a:4:{i:0;s:2:"82";i:1;s:3:"-14";i:2;s:3:"654";i:3;s:3:"750";}}s:7:"amacron";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"556";s:1:"N";s:7:"amacron";s:1:"B";a:4:{i:0;s:2:"55";i:1;s:3:"-14";i:2;s:3:"595";i:3;s:3:"678";}}s:6:"sacute";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"556";s:1:"N";s:6:"sacute";s:1:"B";a:4:{i:0;s:2:"63";i:1;s:3:"-14";i:2;s:3:"627";i:3;s:3:"750";}}s:9:"idieresis";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"278";s:1:"N";s:9:"idieresis";s:1:"B";a:4:{i:0;s:2:"69";i:1;s:1:"0";i:2;s:3:"455";i:3;s:3:"729";}}s:11:"Ocircumflex";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"778";s:1:"N";s:11:"Ocircumflex";s:1:"B";a:4:{i:0;s:3:"107";i:1;s:3:"-19";i:2;s:3:"823";i:3;s:3:"936";}}s:6:"Ugrave";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"722";s:1:"N";s:6:"Ugrave";s:1:"B";a:4:{i:0;s:3:"116";i:1;s:3:"-19";i:2;s:3:"804";i:3;s:3:"936";}}s:5:"Delta";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"612";s:1:"N";s:5:"Delta";s:1:"B";a:4:{i:0;s:1:"6";i:1;s:1:"0";i:2;s:3:"608";i:3;s:3:"688";}}s:5:"thorn";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"611";s:1:"N";s:5:"thorn";s:1:"B";a:4:{i:0;s:2:"18";i:1;s:4:"-208";i:2;s:3:"645";i:3;s:3:"718";}}s:11:"twosuperior";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"333";s:1:"N";s:11:"twosuperior";s:1:"B";a:4:{i:0;s:2:"69";i:1;s:3:"283";i:2;s:3:"449";i:3;s:3:"710";}}s:9:"Odieresis";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"778";s:1:"N";s:9:"Odieresis";s:1:"B";a:4:{i:0;s:3:"107";i:1;s:3:"-19";i:2;s:3:"823";i:3;s:3:"915";}}s:2:"mu";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"611";s:1:"N";s:2:"mu";s:1:"B";a:4:{i:0;s:2:"22";i:1;s:4:"-207";i:2;s:3:"658";i:3;s:3:"532";}}s:6:"igrave";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"278";s:1:"N";s:6:"igrave";s:1:"B";a:4:{i:0;s:2:"69";i:1;s:1:"0";i:2;s:3:"326";i:3;s:3:"750";}}s:13:"ohungarumlaut";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"611";s:1:"N";s:13:"ohungarumlaut";s:1:"B";a:4:{i:0;s:2:"82";i:1;s:3:"-14";i:2;s:3:"784";i:3;s:3:"750";}}s:7:"Eogonek";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"667";s:1:"N";s:7:"Eogonek";s:1:"B";a:4:{i:0;s:2:"76";i:1;s:4:"-224";i:2;s:3:"757";i:3;s:3:"718";}}s:6:"dcroat";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"611";s:1:"N";s:6:"dcroat";s:1:"B";a:4:{i:0;s:2:"82";i:1;s:3:"-14";i:2;s:3:"789";i:3;s:3:"718";}}s:13:"threequarters";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"834";s:1:"N";s:13:"threequarters";s:1:"B";a:4:{i:0;s:2:"99";i:1;s:3:"-19";i:2;s:3:"839";i:3;s:3:"710";}}s:8:"Scedilla";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"667";s:1:"N";s:8:"Scedilla";s:1:"B";a:4:{i:0;s:2:"81";i:1;s:4:"-228";i:2;s:3:"718";i:3;s:3:"737";}}s:6:"lcaron";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"400";s:1:"N";s:6:"lcaron";s:1:"B";a:4:{i:0;s:2:"69";i:1;s:1:"0";i:2;s:3:"561";i:3;s:3:"718";}}s:12:"Kcommaaccent";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"722";s:1:"N";s:12:"Kcommaaccent";s:1:"B";a:4:{i:0;s:2:"87";i:1;s:4:"-228";i:2;s:3:"858";i:3;s:3:"718";}}s:6:"Lacute";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"611";s:1:"N";s:6:"Lacute";s:1:"B";a:4:{i:0;s:2:"76";i:1;s:1:"0";i:2;s:3:"611";i:3;s:3:"936";}}s:9:"trademark";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:4:"1000";s:1:"N";s:9:"trademark";s:1:"B";a:4:{i:0;s:3:"179";i:1;s:3:"306";i:2;s:4:"1109";i:3;s:3:"718";}}s:10:"edotaccent";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"556";s:1:"N";s:10:"edotaccent";s:1:"B";a:4:{i:0;s:2:"70";i:1;s:3:"-14";i:2;s:3:"593";i:3;s:3:"729";}}s:6:"Igrave";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"278";s:1:"N";s:6:"Igrave";s:1:"B";a:4:{i:0;s:2:"64";i:1;s:1:"0";i:2;s:3:"367";i:3;s:3:"936";}}s:7:"Imacron";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"278";s:1:"N";s:7:"Imacron";s:1:"B";a:4:{i:0;s:2:"64";i:1;s:1:"0";i:2;s:3:"496";i:3;s:3:"864";}}s:6:"Lcaron";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"611";s:1:"N";s:6:"Lcaron";s:1:"B";a:4:{i:0;s:2:"76";i:1;s:1:"0";i:2;s:3:"643";i:3;s:3:"718";}}s:7:"onehalf";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"834";s:1:"N";s:7:"onehalf";s:1:"B";a:4:{i:0;s:3:"132";i:1;s:3:"-19";i:2;s:3:"858";i:3;s:3:"710";}}s:9:"lessequal";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"549";s:1:"N";s:9:"lessequal";s:1:"B";a:4:{i:0;s:2:"29";i:1;s:1:"0";i:2;s:3:"676";i:3;s:3:"704";}}s:11:"ocircumflex";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"611";s:1:"N";s:11:"ocircumflex";s:1:"B";a:4:{i:0;s:2:"82";i:1;s:3:"-14";i:2;s:3:"643";i:3;s:3:"750";}}s:6:"ntilde";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"611";s:1:"N";s:6:"ntilde";s:1:"B";a:4:{i:0;s:2:"65";i:1;s:1:"0";i:2;s:3:"646";i:3;s:3:"737";}}s:13:"Uhungarumlaut";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"722";s:1:"N";s:13:"Uhungarumlaut";s:1:"B";a:4:{i:0;s:3:"116";i:1;s:3:"-19";i:2;s:3:"880";i:3;s:3:"936";}}s:6:"Eacute";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"667";s:1:"N";s:6:"Eacute";s:1:"B";a:4:{i:0;s:2:"76";i:1;s:1:"0";i:2;s:3:"757";i:3;s:3:"936";}}s:7:"emacron";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"556";s:1:"N";s:7:"emacron";s:1:"B";a:4:{i:0;s:2:"70";i:1;s:3:"-14";i:2;s:3:"595";i:3;s:3:"678";}}s:6:"gbreve";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"611";s:1:"N";s:6:"gbreve";s:1:"B";a:4:{i:0;s:2:"38";i:1;s:4:"-217";i:2;s:3:"666";i:3;s:3:"750";}}s:10:"onequarter";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"834";s:1:"N";s:10:"onequarter";s:1:"B";a:4:{i:0;s:3:"132";i:1;s:3:"-19";i:2;s:3:"806";i:3;s:3:"710";}}s:6:"Scaron";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"667";s:1:"N";s:6:"Scaron";s:1:"B";a:4:{i:0;s:2:"81";i:1;s:3:"-19";i:2;s:3:"718";i:3;s:3:"936";}}s:12:"Scommaaccent";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"667";s:1:"N";s:12:"Scommaaccent";s:1:"B";a:4:{i:0;s:2:"81";i:1;s:4:"-228";i:2;s:3:"718";i:3;s:3:"737";}}s:13:"Ohungarumlaut";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"778";s:1:"N";s:13:"Ohungarumlaut";s:1:"B";a:4:{i:0;s:3:"107";i:1;s:3:"-19";i:2;s:3:"908";i:3;s:3:"936";}}s:6:"degree";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"400";s:1:"N";s:6:"degree";s:1:"B";a:4:{i:0;s:3:"175";i:1;s:3:"426";i:2;s:3:"467";i:3;s:3:"712";}}s:6:"ograve";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"611";s:1:"N";s:6:"ograve";s:1:"B";a:4:{i:0;s:2:"82";i:1;s:3:"-14";i:2;s:3:"643";i:3;s:3:"750";}}s:6:"Ccaron";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"722";s:1:"N";s:6:"Ccaron";s:1:"B";a:4:{i:0;s:3:"107";i:1;s:3:"-19";i:2;s:3:"789";i:3;s:3:"936";}}s:6:"ugrave";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"611";s:1:"N";s:6:"ugrave";s:1:"B";a:4:{i:0;s:2:"98";i:1;s:3:"-14";i:2;s:3:"658";i:3;s:3:"750";}}s:7:"radical";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"549";s:1:"N";s:7:"radical";s:1:"B";a:4:{i:0;s:3:"112";i:1;s:3:"-46";i:2;s:3:"689";i:3;s:3:"850";}}s:6:"Dcaron";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"722";s:1:"N";s:6:"Dcaron";s:1:"B";a:4:{i:0;s:2:"76";i:1;s:1:"0";i:2;s:3:"777";i:3;s:3:"936";}}s:12:"rcommaaccent";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"389";s:1:"N";s:12:"rcommaaccent";s:1:"B";a:4:{i:0;s:2:"26";i:1;s:4:"-228";i:2;s:3:"489";i:3;s:3:"546";}}s:6:"Ntilde";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"722";s:1:"N";s:6:"Ntilde";s:1:"B";a:4:{i:0;s:2:"69";i:1;s:1:"0";i:2;s:3:"807";i:3;s:3:"923";}}s:6:"otilde";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"611";s:1:"N";s:6:"otilde";s:1:"B";a:4:{i:0;s:2:"82";i:1;s:3:"-14";i:2;s:3:"646";i:3;s:3:"737";}}s:12:"Rcommaaccent";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"722";s:1:"N";s:12:"Rcommaaccent";s:1:"B";a:4:{i:0;s:2:"76";i:1;s:4:"-228";i:2;s:3:"778";i:3;s:3:"718";}}s:12:"Lcommaaccent";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"611";s:1:"N";s:12:"Lcommaaccent";s:1:"B";a:4:{i:0;s:2:"76";i:1;s:4:"-228";i:2;s:3:"611";i:3;s:3:"718";}}s:6:"Atilde";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"722";s:1:"N";s:6:"Atilde";s:1:"B";a:4:{i:0;s:2:"20";i:1;s:1:"0";i:2;s:3:"741";i:3;s:3:"923";}}s:7:"Aogonek";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"722";s:1:"N";s:7:"Aogonek";s:1:"B";a:4:{i:0;s:2:"20";i:1;s:4:"-224";i:2;s:3:"702";i:3;s:3:"718";}}s:5:"Aring";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"722";s:1:"N";s:5:"Aring";s:1:"B";a:4:{i:0;s:2:"20";i:1;s:1:"0";i:2;s:3:"702";i:3;s:3:"962";}}s:6:"Otilde";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"778";s:1:"N";s:6:"Otilde";s:1:"B";a:4:{i:0;s:3:"107";i:1;s:3:"-19";i:2;s:3:"823";i:3;s:3:"923";}}s:10:"zdotaccent";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"500";s:1:"N";s:10:"zdotaccent";s:1:"B";a:4:{i:0;s:2:"20";i:1;s:1:"0";i:2;s:3:"583";i:3;s:3:"729";}}s:6:"Ecaron";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"667";s:1:"N";s:6:"Ecaron";s:1:"B";a:4:{i:0;s:2:"76";i:1;s:1:"0";i:2;s:3:"757";i:3;s:3:"936";}}s:7:"Iogonek";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"278";s:1:"N";s:7:"Iogonek";s:1:"B";a:4:{i:0;s:3:"-41";i:1;s:4:"-228";i:2;s:3:"367";i:3;s:3:"718";}}s:12:"kcommaaccent";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"556";s:1:"N";s:12:"kcommaaccent";s:1:"B";a:4:{i:0;s:2:"69";i:1;s:4:"-228";i:2;s:3:"670";i:3;s:3:"718";}}s:5:"minus";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"584";s:1:"N";s:5:"minus";s:1:"B";a:4:{i:0;s:2:"82";i:1;s:3:"197";i:2;s:3:"610";i:3;s:3:"309";}}s:11:"Icircumflex";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"278";s:1:"N";s:11:"Icircumflex";s:1:"B";a:4:{i:0;s:2:"64";i:1;s:1:"0";i:2;s:3:"484";i:3;s:3:"936";}}s:6:"ncaron";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"611";s:1:"N";s:6:"ncaron";s:1:"B";a:4:{i:0;s:2:"65";i:1;s:1:"0";i:2;s:3:"641";i:3;s:3:"750";}}s:12:"tcommaaccent";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"333";s:1:"N";s:12:"tcommaaccent";s:1:"B";a:4:{i:0;s:2:"58";i:1;s:4:"-228";i:2;s:3:"422";i:3;s:3:"676";}}s:10:"logicalnot";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"584";s:1:"N";s:10:"logicalnot";s:1:"B";a:4:{i:0;s:3:"105";i:1;s:3:"108";i:2;s:3:"633";i:3;s:3:"419";}}s:9:"odieresis";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"611";s:1:"N";s:9:"odieresis";s:1:"B";a:4:{i:0;s:2:"82";i:1;s:3:"-14";i:2;s:3:"643";i:3;s:3:"729";}}s:9:"udieresis";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"611";s:1:"N";s:9:"udieresis";s:1:"B";a:4:{i:0;s:2:"98";i:1;s:3:"-14";i:2;s:3:"658";i:3;s:3:"729";}}s:8:"notequal";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"549";s:1:"N";s:8:"notequal";s:1:"B";a:4:{i:0;s:2:"32";i:1;s:3:"-49";i:2;s:3:"630";i:3;s:3:"570";}}s:12:"gcommaaccent";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"611";s:1:"N";s:12:"gcommaaccent";s:1:"B";a:4:{i:0;s:2:"38";i:1;s:4:"-217";i:2;s:3:"666";i:3;s:3:"850";}}s:3:"eth";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"611";s:1:"N";s:3:"eth";s:1:"B";a:4:{i:0;s:2:"82";i:1;s:3:"-14";i:2;s:3:"670";i:3;s:3:"737";}}s:6:"zcaron";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"500";s:1:"N";s:6:"zcaron";s:1:"B";a:4:{i:0;s:2:"20";i:1;s:1:"0";i:2;s:3:"586";i:3;s:3:"750";}}s:12:"ncommaaccent";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"611";s:1:"N";s:12:"ncommaaccent";s:1:"B";a:4:{i:0;s:2:"65";i:1;s:4:"-228";i:2;s:3:"629";i:3;s:3:"546";}}s:11:"onesuperior";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"333";s:1:"N";s:11:"onesuperior";s:1:"B";a:4:{i:0;s:3:"148";i:1;s:3:"283";i:2;s:3:"388";i:3;s:3:"710";}}s:7:"imacron";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"278";s:1:"N";s:7:"imacron";s:1:"B";a:4:{i:0;s:2:"69";i:1;s:1:"0";i:2;s:3:"429";i:3;s:3:"678";}}s:4:"Euro";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"556";s:1:"N";s:4:"Euro";s:1:"B";a:4:{i:0;s:1:"0";i:1;s:1:"0";i:2;s:1:"0";i:3;s:1:"0";}}}s:3:"KPX";a:134:{s:1:"A";a:48:{s:1:"C";s:3:"-40";s:6:"Cacute";s:3:"-40";s:6:"Ccaron";s:3:"-40";s:8:"Ccedilla";s:3:"-40";s:1:"G";s:3:"-50";s:6:"Gbreve";s:3:"-50";s:12:"Gcommaaccent";s:3:"-50";s:1:"O";s:3:"-40";s:6:"Oacute";s:3:"-40";s:11:"Ocircumflex";s:3:"-40";s:9:"Odieresis";s:3:"-40";s:6:"Ograve";s:3:"-40";s:13:"Ohungarumlaut";s:3:"-40";s:7:"Omacron";s:3:"-40";s:6:"Oslash";s:3:"-40";s:6:"Otilde";s:3:"-40";s:1:"Q";s:3:"-40";s:1:"T";s:3:"-90";s:6:"Tcaron";s:3:"-90";s:12:"Tcommaaccent";s:3:"-90";s:1:"U";s:3:"-50";s:6:"Uacute";s:3:"-50";s:11:"Ucircumflex";s:3:"-50";s:9:"Udieresis";s:3:"-50";s:6:"Ugrave";s:3:"-50";s:13:"Uhungarumlaut";s:3:"-50";s:7:"Umacron";s:3:"-50";s:7:"Uogonek";s:3:"-50";s:5:"Uring";s:3:"-50";s:1:"V";s:3:"-80";s:1:"W";s:3:"-60";s:1:"Y";s:4:"-110";s:6:"Yacute";s:4:"-110";s:9:"Ydieresis";s:4:"-110";s:1:"u";s:3:"-30";s:6:"uacute";s:3:"-30";s:11:"ucircumflex";s:3:"-30";s:9:"udieresis";s:3:"-30";s:6:"ugrave";s:3:"-30";s:13:"uhungarumlaut";s:3:"-30";s:7:"umacron";s:3:"-30";s:7:"uogonek";s:3:"-30";s:5:"uring";s:3:"-30";s:1:"v";s:3:"-40";s:1:"w";s:3:"-30";s:1:"y";s:3:"-30";s:6:"yacute";s:3:"-30";s:9:"ydieresis";s:3:"-30";}s:6:"Aacute";a:48:{s:1:"C";s:3:"-40";s:6:"Cacute";s:3:"-40";s:6:"Ccaron";s:3:"-40";s:8:"Ccedilla";s:3:"-40";s:1:"G";s:3:"-50";s:6:"Gbreve";s:3:"-50";s:12:"Gcommaaccent";s:3:"-50";s:1:"O";s:3:"-40";s:6:"Oacute";s:3:"-40";s:11:"Ocircumflex";s:3:"-40";s:9:"Odieresis";s:3:"-40";s:6:"Ograve";s:3:"-40";s:13:"Ohungarumlaut";s:3:"-40";s:7:"Omacron";s:3:"-40";s:6:"Oslash";s:3:"-40";s:6:"Otilde";s:3:"-40";s:1:"Q";s:3:"-40";s:1:"T";s:3:"-90";s:6:"Tcaron";s:3:"-90";s:12:"Tcommaaccent";s:3:"-90";s:1:"U";s:3:"-50";s:6:"Uacute";s:3:"-50";s:11:"Ucircumflex";s:3:"-50";s:9:"Udieresis";s:3:"-50";s:6:"Ugrave";s:3:"-50";s:13:"Uhungarumlaut";s:3:"-50";s:7:"Umacron";s:3:"-50";s:7:"Uogonek";s:3:"-50";s:5:"Uring";s:3:"-50";s:1:"V";s:3:"-80";s:1:"W";s:3:"-60";s:1:"Y";s:4:"-110";s:6:"Yacute";s:4:"-110";s:9:"Ydieresis";s:4:"-110";s:1:"u";s:3:"-30";s:6:"uacute";s:3:"-30";s:11:"ucircumflex";s:3:"-30";s:9:"udieresis";s:3:"-30";s:6:"ugrave";s:3:"-30";s:13:"uhungarumlaut";s:3:"-30";s:7:"umacron";s:3:"-30";s:7:"uogonek";s:3:"-30";s:5:"uring";s:3:"-30";s:1:"v";s:3:"-40";s:1:"w";s:3:"-30";s:1:"y";s:3:"-30";s:6:"yacute";s:3:"-30";s:9:"ydieresis";s:3:"-30";}s:6:"Abreve";a:48:{s:1:"C";s:3:"-40";s:6:"Cacute";s:3:"-40";s:6:"Ccaron";s:3:"-40";s:8:"Ccedilla";s:3:"-40";s:1:"G";s:3:"-50";s:6:"Gbreve";s:3:"-50";s:12:"Gcommaaccent";s:3:"-50";s:1:"O";s:3:"-40";s:6:"Oacute";s:3:"-40";s:11:"Ocircumflex";s:3:"-40";s:9:"Odieresis";s:3:"-40";s:6:"Ograve";s:3:"-40";s:13:"Ohungarumlaut";s:3:"-40";s:7:"Omacron";s:3:"-40";s:6:"Oslash";s:3:"-40";s:6:"Otilde";s:3:"-40";s:1:"Q";s:3:"-40";s:1:"T";s:3:"-90";s:6:"Tcaron";s:3:"-90";s:12:"Tcommaaccent";s:3:"-90";s:1:"U";s:3:"-50";s:6:"Uacute";s:3:"-50";s:11:"Ucircumflex";s:3:"-50";s:9:"Udieresis";s:3:"-50";s:6:"Ugrave";s:3:"-50";s:13:"Uhungarumlaut";s:3:"-50";s:7:"Umacron";s:3:"-50";s:7:"Uogonek";s:3:"-50";s:5:"Uring";s:3:"-50";s:1:"V";s:3:"-80";s:1:"W";s:3:"-60";s:1:"Y";s:4:"-110";s:6:"Yacute";s:4:"-110";s:9:"Ydieresis";s:4:"-110";s:1:"u";s:3:"-30";s:6:"uacute";s:3:"-30";s:11:"ucircumflex";s:3:"-30";s:9:"udieresis";s:3:"-30";s:6:"ugrave";s:3:"-30";s:13:"uhungarumlaut";s:3:"-30";s:7:"umacron";s:3:"-30";s:7:"uogonek";s:3:"-30";s:5:"uring";s:3:"-30";s:1:"v";s:3:"-40";s:1:"w";s:3:"-30";s:1:"y";s:3:"-30";s:6:"yacute";s:3:"-30";s:9:"ydieresis";s:3:"-30";}s:11:"Acircumflex";a:48:{s:1:"C";s:3:"-40";s:6:"Cacute";s:3:"-40";s:6:"Ccaron";s:3:"-40";s:8:"Ccedilla";s:3:"-40";s:1:"G";s:3:"-50";s:6:"Gbreve";s:3:"-50";s:12:"Gcommaaccent";s:3:"-50";s:1:"O";s:3:"-40";s:6:"Oacute";s:3:"-40";s:11:"Ocircumflex";s:3:"-40";s:9:"Odieresis";s:3:"-40";s:6:"Ograve";s:3:"-40";s:13:"Ohungarumlaut";s:3:"-40";s:7:"Omacron";s:3:"-40";s:6:"Oslash";s:3:"-40";s:6:"Otilde";s:3:"-40";s:1:"Q";s:3:"-40";s:1:"T";s:3:"-90";s:6:"Tcaron";s:3:"-90";s:12:"Tcommaaccent";s:3:"-90";s:1:"U";s:3:"-50";s:6:"Uacute";s:3:"-50";s:11:"Ucircumflex";s:3:"-50";s:9:"Udieresis";s:3:"-50";s:6:"Ugrave";s:3:"-50";s:13:"Uhungarumlaut";s:3:"-50";s:7:"Umacron";s:3:"-50";s:7:"Uogonek";s:3:"-50";s:5:"Uring";s:3:"-50";s:1:"V";s:3:"-80";s:1:"W";s:3:"-60";s:1:"Y";s:4:"-110";s:6:"Yacute";s:4:"-110";s:9:"Ydieresis";s:4:"-110";s:1:"u";s:3:"-30";s:6:"uacute";s:3:"-30";s:11:"ucircumflex";s:3:"-30";s:9:"udieresis";s:3:"-30";s:6:"ugrave";s:3:"-30";s:13:"uhungarumlaut";s:3:"-30";s:7:"umacron";s:3:"-30";s:7:"uogonek";s:3:"-30";s:5:"uring";s:3:"-30";s:1:"v";s:3:"-40";s:1:"w";s:3:"-30";s:1:"y";s:3:"-30";s:6:"yacute";s:3:"-30";s:9:"ydieresis";s:3:"-30";}s:9:"Adieresis";a:48:{s:1:"C";s:3:"-40";s:6:"Cacute";s:3:"-40";s:6:"Ccaron";s:3:"-40";s:8:"Ccedilla";s:3:"-40";s:1:"G";s:3:"-50";s:6:"Gbreve";s:3:"-50";s:12:"Gcommaaccent";s:3:"-50";s:1:"O";s:3:"-40";s:6:"Oacute";s:3:"-40";s:11:"Ocircumflex";s:3:"-40";s:9:"Odieresis";s:3:"-40";s:6:"Ograve";s:3:"-40";s:13:"Ohungarumlaut";s:3:"-40";s:7:"Omacron";s:3:"-40";s:6:"Oslash";s:3:"-40";s:6:"Otilde";s:3:"-40";s:1:"Q";s:3:"-40";s:1:"T";s:3:"-90";s:6:"Tcaron";s:3:"-90";s:12:"Tcommaaccent";s:3:"-90";s:1:"U";s:3:"-50";s:6:"Uacute";s:3:"-50";s:11:"Ucircumflex";s:3:"-50";s:9:"Udieresis";s:3:"-50";s:6:"Ugrave";s:3:"-50";s:13:"Uhungarumlaut";s:3:"-50";s:7:"Umacron";s:3:"-50";s:7:"Uogonek";s:3:"-50";s:5:"Uring";s:3:"-50";s:1:"V";s:3:"-80";s:1:"W";s:3:"-60";s:1:"Y";s:4:"-110";s:6:"Yacute";s:4:"-110";s:9:"Ydieresis";s:4:"-110";s:1:"u";s:3:"-30";s:6:"uacute";s:3:"-30";s:11:"ucircumflex";s:3:"-30";s:9:"udieresis";s:3:"-30";s:6:"ugrave";s:3:"-30";s:13:"uhungarumlaut";s:3:"-30";s:7:"umacron";s:3:"-30";s:7:"uogonek";s:3:"-30";s:5:"uring";s:3:"-30";s:1:"v";s:3:"-40";s:1:"w";s:3:"-30";s:1:"y";s:3:"-30";s:6:"yacute";s:3:"-30";s:9:"ydieresis";s:3:"-30";}s:6:"Agrave";a:48:{s:1:"C";s:3:"-40";s:6:"Cacute";s:3:"-40";s:6:"Ccaron";s:3:"-40";s:8:"Ccedilla";s:3:"-40";s:1:"G";s:3:"-50";s:6:"Gbreve";s:3:"-50";s:12:"Gcommaaccent";s:3:"-50";s:1:"O";s:3:"-40";s:6:"Oacute";s:3:"-40";s:11:"Ocircumflex";s:3:"-40";s:9:"Odieresis";s:3:"-40";s:6:"Ograve";s:3:"-40";s:13:"Ohungarumlaut";s:3:"-40";s:7:"Omacron";s:3:"-40";s:6:"Oslash";s:3:"-40";s:6:"Otilde";s:3:"-40";s:1:"Q";s:3:"-40";s:1:"T";s:3:"-90";s:6:"Tcaron";s:3:"-90";s:12:"Tcommaaccent";s:3:"-90";s:1:"U";s:3:"-50";s:6:"Uacute";s:3:"-50";s:11:"Ucircumflex";s:3:"-50";s:9:"Udieresis";s:3:"-50";s:6:"Ugrave";s:3:"-50";s:13:"Uhungarumlaut";s:3:"-50";s:7:"Umacron";s:3:"-50";s:7:"Uogonek";s:3:"-50";s:5:"Uring";s:3:"-50";s:1:"V";s:3:"-80";s:1:"W";s:3:"-60";s:1:"Y";s:4:"-110";s:6:"Yacute";s:4:"-110";s:9:"Ydieresis";s:4:"-110";s:1:"u";s:3:"-30";s:6:"uacute";s:3:"-30";s:11:"ucircumflex";s:3:"-30";s:9:"udieresis";s:3:"-30";s:6:"ugrave";s:3:"-30";s:13:"uhungarumlaut";s:3:"-30";s:7:"umacron";s:3:"-30";s:7:"uogonek";s:3:"-30";s:5:"uring";s:3:"-30";s:1:"v";s:3:"-40";s:1:"w";s:3:"-30";s:1:"y";s:3:"-30";s:6:"yacute";s:3:"-30";s:9:"ydieresis";s:3:"-30";}s:7:"Amacron";a:48:{s:1:"C";s:3:"-40";s:6:"Cacute";s:3:"-40";s:6:"Ccaron";s:3:"-40";s:8:"Ccedilla";s:3:"-40";s:1:"G";s:3:"-50";s:6:"Gbreve";s:3:"-50";s:12:"Gcommaaccent";s:3:"-50";s:1:"O";s:3:"-40";s:6:"Oacute";s:3:"-40";s:11:"Ocircumflex";s:3:"-40";s:9:"Odieresis";s:3:"-40";s:6:"Ograve";s:3:"-40";s:13:"Ohungarumlaut";s:3:"-40";s:7:"Omacron";s:3:"-40";s:6:"Oslash";s:3:"-40";s:6:"Otilde";s:3:"-40";s:1:"Q";s:3:"-40";s:1:"T";s:3:"-90";s:6:"Tcaron";s:3:"-90";s:12:"Tcommaaccent";s:3:"-90";s:1:"U";s:3:"-50";s:6:"Uacute";s:3:"-50";s:11:"Ucircumflex";s:3:"-50";s:9:"Udieresis";s:3:"-50";s:6:"Ugrave";s:3:"-50";s:13:"Uhungarumlaut";s:3:"-50";s:7:"Umacron";s:3:"-50";s:7:"Uogonek";s:3:"-50";s:5:"Uring";s:3:"-50";s:1:"V";s:3:"-80";s:1:"W";s:3:"-60";s:1:"Y";s:4:"-110";s:6:"Yacute";s:4:"-110";s:9:"Ydieresis";s:4:"-110";s:1:"u";s:3:"-30";s:6:"uacute";s:3:"-30";s:11:"ucircumflex";s:3:"-30";s:9:"udieresis";s:3:"-30";s:6:"ugrave";s:3:"-30";s:13:"uhungarumlaut";s:3:"-30";s:7:"umacron";s:3:"-30";s:7:"uogonek";s:3:"-30";s:5:"uring";s:3:"-30";s:1:"v";s:3:"-40";s:1:"w";s:3:"-30";s:1:"y";s:3:"-30";s:6:"yacute";s:3:"-30";s:9:"ydieresis";s:3:"-30";}s:7:"Aogonek";a:48:{s:1:"C";s:3:"-40";s:6:"Cacute";s:3:"-40";s:6:"Ccaron";s:3:"-40";s:8:"Ccedilla";s:3:"-40";s:1:"G";s:3:"-50";s:6:"Gbreve";s:3:"-50";s:12:"Gcommaaccent";s:3:"-50";s:1:"O";s:3:"-40";s:6:"Oacute";s:3:"-40";s:11:"Ocircumflex";s:3:"-40";s:9:"Odieresis";s:3:"-40";s:6:"Ograve";s:3:"-40";s:13:"Ohungarumlaut";s:3:"-40";s:7:"Omacron";s:3:"-40";s:6:"Oslash";s:3:"-40";s:6:"Otilde";s:3:"-40";s:1:"Q";s:3:"-40";s:1:"T";s:3:"-90";s:6:"Tcaron";s:3:"-90";s:12:"Tcommaaccent";s:3:"-90";s:1:"U";s:3:"-50";s:6:"Uacute";s:3:"-50";s:11:"Ucircumflex";s:3:"-50";s:9:"Udieresis";s:3:"-50";s:6:"Ugrave";s:3:"-50";s:13:"Uhungarumlaut";s:3:"-50";s:7:"Umacron";s:3:"-50";s:7:"Uogonek";s:3:"-50";s:5:"Uring";s:3:"-50";s:1:"V";s:3:"-80";s:1:"W";s:3:"-60";s:1:"Y";s:4:"-110";s:6:"Yacute";s:4:"-110";s:9:"Ydieresis";s:4:"-110";s:1:"u";s:3:"-30";s:6:"uacute";s:3:"-30";s:11:"ucircumflex";s:3:"-30";s:9:"udieresis";s:3:"-30";s:6:"ugrave";s:3:"-30";s:13:"uhungarumlaut";s:3:"-30";s:7:"umacron";s:3:"-30";s:7:"uogonek";s:3:"-30";s:5:"uring";s:3:"-30";s:1:"v";s:3:"-40";s:1:"w";s:3:"-30";s:1:"y";s:3:"-30";s:6:"yacute";s:3:"-30";s:9:"ydieresis";s:3:"-30";}s:5:"Aring";a:48:{s:1:"C";s:3:"-40";s:6:"Cacute";s:3:"-40";s:6:"Ccaron";s:3:"-40";s:8:"Ccedilla";s:3:"-40";s:1:"G";s:3:"-50";s:6:"Gbreve";s:3:"-50";s:12:"Gcommaaccent";s:3:"-50";s:1:"O";s:3:"-40";s:6:"Oacute";s:3:"-40";s:11:"Ocircumflex";s:3:"-40";s:9:"Odieresis";s:3:"-40";s:6:"Ograve";s:3:"-40";s:13:"Ohungarumlaut";s:3:"-40";s:7:"Omacron";s:3:"-40";s:6:"Oslash";s:3:"-40";s:6:"Otilde";s:3:"-40";s:1:"Q";s:3:"-40";s:1:"T";s:3:"-90";s:6:"Tcaron";s:3:"-90";s:12:"Tcommaaccent";s:3:"-90";s:1:"U";s:3:"-50";s:6:"Uacute";s:3:"-50";s:11:"Ucircumflex";s:3:"-50";s:9:"Udieresis";s:3:"-50";s:6:"Ugrave";s:3:"-50";s:13:"Uhungarumlaut";s:3:"-50";s:7:"Umacron";s:3:"-50";s:7:"Uogonek";s:3:"-50";s:5:"Uring";s:3:"-50";s:1:"V";s:3:"-80";s:1:"W";s:3:"-60";s:1:"Y";s:4:"-110";s:6:"Yacute";s:4:"-110";s:9:"Ydieresis";s:4:"-110";s:1:"u";s:3:"-30";s:6:"uacute";s:3:"-30";s:11:"ucircumflex";s:3:"-30";s:9:"udieresis";s:3:"-30";s:6:"ugrave";s:3:"-30";s:13:"uhungarumlaut";s:3:"-30";s:7:"umacron";s:3:"-30";s:7:"uogonek";s:3:"-30";s:5:"uring";s:3:"-30";s:1:"v";s:3:"-40";s:1:"w";s:3:"-30";s:1:"y";s:3:"-30";s:6:"yacute";s:3:"-30";s:9:"ydieresis";s:3:"-30";}s:6:"Atilde";a:48:{s:1:"C";s:3:"-40";s:6:"Cacute";s:3:"-40";s:6:"Ccaron";s:3:"-40";s:8:"Ccedilla";s:3:"-40";s:1:"G";s:3:"-50";s:6:"Gbreve";s:3:"-50";s:12:"Gcommaaccent";s:3:"-50";s:1:"O";s:3:"-40";s:6:"Oacute";s:3:"-40";s:11:"Ocircumflex";s:3:"-40";s:9:"Odieresis";s:3:"-40";s:6:"Ograve";s:3:"-40";s:13:"Ohungarumlaut";s:3:"-40";s:7:"Omacron";s:3:"-40";s:6:"Oslash";s:3:"-40";s:6:"Otilde";s:3:"-40";s:1:"Q";s:3:"-40";s:1:"T";s:3:"-90";s:6:"Tcaron";s:3:"-90";s:12:"Tcommaaccent";s:3:"-90";s:1:"U";s:3:"-50";s:6:"Uacute";s:3:"-50";s:11:"Ucircumflex";s:3:"-50";s:9:"Udieresis";s:3:"-50";s:6:"Ugrave";s:3:"-50";s:13:"Uhungarumlaut";s:3:"-50";s:7:"Umacron";s:3:"-50";s:7:"Uogonek";s:3:"-50";s:5:"Uring";s:3:"-50";s:1:"V";s:3:"-80";s:1:"W";s:3:"-60";s:1:"Y";s:4:"-110";s:6:"Yacute";s:4:"-110";s:9:"Ydieresis";s:4:"-110";s:1:"u";s:3:"-30";s:6:"uacute";s:3:"-30";s:11:"ucircumflex";s:3:"-30";s:9:"udieresis";s:3:"-30";s:6:"ugrave";s:3:"-30";s:13:"uhungarumlaut";s:3:"-30";s:7:"umacron";s:3:"-30";s:7:"uogonek";s:3:"-30";s:5:"uring";s:3:"-30";s:1:"v";s:3:"-40";s:1:"w";s:3:"-30";s:1:"y";s:3:"-30";s:6:"yacute";s:3:"-30";s:9:"ydieresis";s:3:"-30";}s:1:"B";a:19:{s:1:"A";s:3:"-30";s:6:"Aacute";s:3:"-30";s:6:"Abreve";s:3:"-30";s:11:"Acircumflex";s:3:"-30";s:9:"Adieresis";s:3:"-30";s:6:"Agrave";s:3:"-30";s:7:"Amacron";s:3:"-30";s:7:"Aogonek";s:3:"-30";s:5:"Aring";s:3:"-30";s:6:"Atilde";s:3:"-30";s:1:"U";s:3:"-10";s:6:"Uacute";s:3:"-10";s:11:"Ucircumflex";s:3:"-10";s:9:"Udieresis";s:3:"-10";s:6:"Ugrave";s:3:"-10";s:13:"Uhungarumlaut";s:3:"-10";s:7:"Umacron";s:3:"-10";s:7:"Uogonek";s:3:"-10";s:5:"Uring";s:3:"-10";}s:1:"D";a:17:{s:1:"A";s:3:"-40";s:6:"Aacute";s:3:"-40";s:6:"Abreve";s:3:"-40";s:11:"Acircumflex";s:3:"-40";s:9:"Adieresis";s:3:"-40";s:6:"Agrave";s:3:"-40";s:7:"Amacron";s:3:"-40";s:7:"Aogonek";s:3:"-40";s:5:"Aring";s:3:"-40";s:6:"Atilde";s:3:"-40";s:1:"V";s:3:"-40";s:1:"W";s:3:"-40";s:1:"Y";s:3:"-70";s:6:"Yacute";s:3:"-70";s:9:"Ydieresis";s:3:"-70";s:5:"comma";s:3:"-30";s:6:"period";s:3:"-30";}s:6:"Dcaron";a:17:{s:1:"A";s:3:"-40";s:6:"Aacute";s:3:"-40";s:6:"Abreve";s:3:"-40";s:11:"Acircumflex";s:3:"-40";s:9:"Adieresis";s:3:"-40";s:6:"Agrave";s:3:"-40";s:7:"Amacron";s:3:"-40";s:7:"Aogonek";s:3:"-40";s:5:"Aring";s:3:"-40";s:6:"Atilde";s:3:"-40";s:1:"V";s:3:"-40";s:1:"W";s:3:"-40";s:1:"Y";s:3:"-70";s:6:"Yacute";s:3:"-70";s:9:"Ydieresis";s:3:"-70";s:5:"comma";s:3:"-30";s:6:"period";s:3:"-30";}s:6:"Dcroat";a:17:{s:1:"A";s:3:"-40";s:6:"Aacute";s:3:"-40";s:6:"Abreve";s:3:"-40";s:11:"Acircumflex";s:3:"-40";s:9:"Adieresis";s:3:"-40";s:6:"Agrave";s:3:"-40";s:7:"Amacron";s:3:"-40";s:7:"Aogonek";s:3:"-40";s:5:"Aring";s:3:"-40";s:6:"Atilde";s:3:"-40";s:1:"V";s:3:"-40";s:1:"W";s:3:"-40";s:1:"Y";s:3:"-70";s:6:"Yacute";s:3:"-70";s:9:"Ydieresis";s:3:"-70";s:5:"comma";s:3:"-30";s:6:"period";s:3:"-30";}s:1:"F";a:22:{s:1:"A";s:3:"-80";s:6:"Aacute";s:3:"-80";s:6:"Abreve";s:3:"-80";s:11:"Acircumflex";s:3:"-80";s:9:"Adieresis";s:3:"-80";s:6:"Agrave";s:3:"-80";s:7:"Amacron";s:3:"-80";s:7:"Aogonek";s:3:"-80";s:5:"Aring";s:3:"-80";s:6:"Atilde";s:3:"-80";s:1:"a";s:3:"-20";s:6:"aacute";s:3:"-20";s:6:"abreve";s:3:"-20";s:11:"acircumflex";s:3:"-20";s:9:"adieresis";s:3:"-20";s:6:"agrave";s:3:"-20";s:7:"amacron";s:3:"-20";s:7:"aogonek";s:3:"-20";s:5:"aring";s:3:"-20";s:6:"atilde";s:3:"-20";s:5:"comma";s:4:"-100";s:6:"period";s:4:"-100";}s:1:"J";a:21:{s:1:"A";s:3:"-20";s:6:"Aacute";s:3:"-20";s:6:"Abreve";s:3:"-20";s:11:"Acircumflex";s:3:"-20";s:9:"Adieresis";s:3:"-20";s:6:"Agrave";s:3:"-20";s:7:"Amacron";s:3:"-20";s:7:"Aogonek";s:3:"-20";s:5:"Aring";s:3:"-20";s:6:"Atilde";s:3:"-20";s:5:"comma";s:3:"-20";s:6:"period";s:3:"-20";s:1:"u";s:3:"-20";s:6:"uacute";s:3:"-20";s:11:"ucircumflex";s:3:"-20";s:9:"udieresis";s:3:"-20";s:6:"ugrave";s:3:"-20";s:13:"uhungarumlaut";s:3:"-20";s:7:"umacron";s:3:"-20";s:7:"uogonek";s:3:"-20";s:5:"uring";s:3:"-20";}s:1:"K";a:39:{s:1:"O";s:3:"-30";s:6:"Oacute";s:3:"-30";s:11:"Ocircumflex";s:3:"-30";s:9:"Odieresis";s:3:"-30";s:6:"Ograve";s:3:"-30";s:13:"Ohungarumlaut";s:3:"-30";s:7:"Omacron";s:3:"-30";s:6:"Oslash";s:3:"-30";s:6:"Otilde";s:3:"-30";s:1:"e";s:3:"-15";s:6:"eacute";s:3:"-15";s:6:"ecaron";s:3:"-15";s:11:"ecircumflex";s:3:"-15";s:9:"edieresis";s:3:"-15";s:10:"edotaccent";s:3:"-15";s:6:"egrave";s:3:"-15";s:7:"emacron";s:3:"-15";s:7:"eogonek";s:3:"-15";s:1:"o";s:3:"-35";s:6:"oacute";s:3:"-35";s:11:"ocircumflex";s:3:"-35";s:9:"odieresis";s:3:"-35";s:6:"ograve";s:3:"-35";s:13:"ohungarumlaut";s:3:"-35";s:7:"omacron";s:3:"-35";s:6:"oslash";s:3:"-35";s:6:"otilde";s:3:"-35";s:1:"u";s:3:"-30";s:6:"uacute";s:3:"-30";s:11:"ucircumflex";s:3:"-30";s:9:"udieresis";s:3:"-30";s:6:"ugrave";s:3:"-30";s:13:"uhungarumlaut";s:3:"-30";s:7:"umacron";s:3:"-30";s:7:"uogonek";s:3:"-30";s:5:"uring";s:3:"-30";s:1:"y";s:3:"-40";s:6:"yacute";s:3:"-40";s:9:"ydieresis";s:3:"-40";}s:12:"Kcommaaccent";a:39:{s:1:"O";s:3:"-30";s:6:"Oacute";s:3:"-30";s:11:"Ocircumflex";s:3:"-30";s:9:"Odieresis";s:3:"-30";s:6:"Ograve";s:3:"-30";s:13:"Ohungarumlaut";s:3:"-30";s:7:"Omacron";s:3:"-30";s:6:"Oslash";s:3:"-30";s:6:"Otilde";s:3:"-30";s:1:"e";s:3:"-15";s:6:"eacute";s:3:"-15";s:6:"ecaron";s:3:"-15";s:11:"ecircumflex";s:3:"-15";s:9:"edieresis";s:3:"-15";s:10:"edotaccent";s:3:"-15";s:6:"egrave";s:3:"-15";s:7:"emacron";s:3:"-15";s:7:"eogonek";s:3:"-15";s:1:"o";s:3:"-35";s:6:"oacute";s:3:"-35";s:11:"ocircumflex";s:3:"-35";s:9:"odieresis";s:3:"-35";s:6:"ograve";s:3:"-35";s:13:"ohungarumlaut";s:3:"-35";s:7:"omacron";s:3:"-35";s:6:"oslash";s:3:"-35";s:6:"otilde";s:3:"-35";s:1:"u";s:3:"-30";s:6:"uacute";s:3:"-30";s:11:"ucircumflex";s:3:"-30";s:9:"udieresis";s:3:"-30";s:6:"ugrave";s:3:"-30";s:13:"uhungarumlaut";s:3:"-30";s:7:"umacron";s:3:"-30";s:7:"uogonek";s:3:"-30";s:5:"uring";s:3:"-30";s:1:"y";s:3:"-40";s:6:"yacute";s:3:"-40";s:9:"ydieresis";s:3:"-40";}s:1:"L";a:13:{s:1:"T";s:3:"-90";s:6:"Tcaron";s:3:"-90";s:12:"Tcommaaccent";s:3:"-90";s:1:"V";s:4:"-110";s:1:"W";s:3:"-80";s:1:"Y";s:4:"-120";s:6:"Yacute";s:4:"-120";s:9:"Ydieresis";s:4:"-120";s:13:"quotedblright";s:4:"-140";s:10:"quoteright";s:4:"-140";s:1:"y";s:3:"-30";s:6:"yacute";s:3:"-30";s:9:"ydieresis";s:3:"-30";}s:6:"Lacute";a:13:{s:1:"T";s:3:"-90";s:6:"Tcaron";s:3:"-90";s:12:"Tcommaaccent";s:3:"-90";s:1:"V";s:4:"-110";s:1:"W";s:3:"-80";s:1:"Y";s:4:"-120";s:6:"Yacute";s:4:"-120";s:9:"Ydieresis";s:4:"-120";s:13:"quotedblright";s:4:"-140";s:10:"quoteright";s:4:"-140";s:1:"y";s:3:"-30";s:6:"yacute";s:3:"-30";s:9:"ydieresis";s:3:"-30";}s:12:"Lcommaaccent";a:13:{s:1:"T";s:3:"-90";s:6:"Tcaron";s:3:"-90";s:12:"Tcommaaccent";s:3:"-90";s:1:"V";s:4:"-110";s:1:"W";s:3:"-80";s:1:"Y";s:4:"-120";s:6:"Yacute";s:4:"-120";s:9:"Ydieresis";s:4:"-120";s:13:"quotedblright";s:4:"-140";s:10:"quoteright";s:4:"-140";s:1:"y";s:3:"-30";s:6:"yacute";s:3:"-30";s:9:"ydieresis";s:3:"-30";}s:6:"Lslash";a:13:{s:1:"T";s:3:"-90";s:6:"Tcaron";s:3:"-90";s:12:"Tcommaaccent";s:3:"-90";s:1:"V";s:4:"-110";s:1:"W";s:3:"-80";s:1:"Y";s:4:"-120";s:6:"Yacute";s:4:"-120";s:9:"Ydieresis";s:4:"-120";s:13:"quotedblright";s:4:"-140";s:10:"quoteright";s:4:"-140";s:1:"y";s:3:"-30";s:6:"yacute";s:3:"-30";s:9:"ydieresis";s:3:"-30";}s:1:"O";a:21:{s:1:"A";s:3:"-50";s:6:"Aacute";s:3:"-50";s:6:"Abreve";s:3:"-50";s:11:"Acircumflex";s:3:"-50";s:9:"Adieresis";s:3:"-50";s:6:"Agrave";s:3:"-50";s:7:"Amacron";s:3:"-50";s:7:"Aogonek";s:3:"-50";s:5:"Aring";s:3:"-50";s:6:"Atilde";s:3:"-50";s:1:"T";s:3:"-40";s:6:"Tcaron";s:3:"-40";s:12:"Tcommaaccent";s:3:"-40";s:1:"V";s:3:"-50";s:1:"W";s:3:"-50";s:1:"X";s:3:"-50";s:1:"Y";s:3:"-70";s:6:"Yacute";s:3:"-70";s:9:"Ydieresis";s:3:"-70";s:5:"comma";s:3:"-40";s:6:"period";s:3:"-40";}s:6:"Oacute";a:21:{s:1:"A";s:3:"-50";s:6:"Aacute";s:3:"-50";s:6:"Abreve";s:3:"-50";s:11:"Acircumflex";s:3:"-50";s:9:"Adieresis";s:3:"-50";s:6:"Agrave";s:3:"-50";s:7:"Amacron";s:3:"-50";s:7:"Aogonek";s:3:"-50";s:5:"Aring";s:3:"-50";s:6:"Atilde";s:3:"-50";s:1:"T";s:3:"-40";s:6:"Tcaron";s:3:"-40";s:12:"Tcommaaccent";s:3:"-40";s:1:"V";s:3:"-50";s:1:"W";s:3:"-50";s:1:"X";s:3:"-50";s:1:"Y";s:3:"-70";s:6:"Yacute";s:3:"-70";s:9:"Ydieresis";s:3:"-70";s:5:"comma";s:3:"-40";s:6:"period";s:3:"-40";}s:11:"Ocircumflex";a:21:{s:1:"A";s:3:"-50";s:6:"Aacute";s:3:"-50";s:6:"Abreve";s:3:"-50";s:11:"Acircumflex";s:3:"-50";s:9:"Adieresis";s:3:"-50";s:6:"Agrave";s:3:"-50";s:7:"Amacron";s:3:"-50";s:7:"Aogonek";s:3:"-50";s:5:"Aring";s:3:"-50";s:6:"Atilde";s:3:"-50";s:1:"T";s:3:"-40";s:6:"Tcaron";s:3:"-40";s:12:"Tcommaaccent";s:3:"-40";s:1:"V";s:3:"-50";s:1:"W";s:3:"-50";s:1:"X";s:3:"-50";s:1:"Y";s:3:"-70";s:6:"Yacute";s:3:"-70";s:9:"Ydieresis";s:3:"-70";s:5:"comma";s:3:"-40";s:6:"period";s:3:"-40";}s:9:"Odieresis";a:21:{s:1:"A";s:3:"-50";s:6:"Aacute";s:3:"-50";s:6:"Abreve";s:3:"-50";s:11:"Acircumflex";s:3:"-50";s:9:"Adieresis";s:3:"-50";s:6:"Agrave";s:3:"-50";s:7:"Amacron";s:3:"-50";s:7:"Aogonek";s:3:"-50";s:5:"Aring";s:3:"-50";s:6:"Atilde";s:3:"-50";s:1:"T";s:3:"-40";s:6:"Tcaron";s:3:"-40";s:12:"Tcommaaccent";s:3:"-40";s:1:"V";s:3:"-50";s:1:"W";s:3:"-50";s:1:"X";s:3:"-50";s:1:"Y";s:3:"-70";s:6:"Yacute";s:3:"-70";s:9:"Ydieresis";s:3:"-70";s:5:"comma";s:3:"-40";s:6:"period";s:3:"-40";}s:6:"Ograve";a:21:{s:1:"A";s:3:"-50";s:6:"Aacute";s:3:"-50";s:6:"Abreve";s:3:"-50";s:11:"Acircumflex";s:3:"-50";s:9:"Adieresis";s:3:"-50";s:6:"Agrave";s:3:"-50";s:7:"Amacron";s:3:"-50";s:7:"Aogonek";s:3:"-50";s:5:"Aring";s:3:"-50";s:6:"Atilde";s:3:"-50";s:1:"T";s:3:"-40";s:6:"Tcaron";s:3:"-40";s:12:"Tcommaaccent";s:3:"-40";s:1:"V";s:3:"-50";s:1:"W";s:3:"-50";s:1:"X";s:3:"-50";s:1:"Y";s:3:"-70";s:6:"Yacute";s:3:"-70";s:9:"Ydieresis";s:3:"-70";s:5:"comma";s:3:"-40";s:6:"period";s:3:"-40";}s:13:"Ohungarumlaut";a:21:{s:1:"A";s:3:"-50";s:6:"Aacute";s:3:"-50";s:6:"Abreve";s:3:"-50";s:11:"Acircumflex";s:3:"-50";s:9:"Adieresis";s:3:"-50";s:6:"Agrave";s:3:"-50";s:7:"Amacron";s:3:"-50";s:7:"Aogonek";s:3:"-50";s:5:"Aring";s:3:"-50";s:6:"Atilde";s:3:"-50";s:1:"T";s:3:"-40";s:6:"Tcaron";s:3:"-40";s:12:"Tcommaaccent";s:3:"-40";s:1:"V";s:3:"-50";s:1:"W";s:3:"-50";s:1:"X";s:3:"-50";s:1:"Y";s:3:"-70";s:6:"Yacute";s:3:"-70";s:9:"Ydieresis";s:3:"-70";s:5:"comma";s:3:"-40";s:6:"period";s:3:"-40";}s:7:"Omacron";a:21:{s:1:"A";s:3:"-50";s:6:"Aacute";s:3:"-50";s:6:"Abreve";s:3:"-50";s:11:"Acircumflex";s:3:"-50";s:9:"Adieresis";s:3:"-50";s:6:"Agrave";s:3:"-50";s:7:"Amacron";s:3:"-50";s:7:"Aogonek";s:3:"-50";s:5:"Aring";s:3:"-50";s:6:"Atilde";s:3:"-50";s:1:"T";s:3:"-40";s:6:"Tcaron";s:3:"-40";s:12:"Tcommaaccent";s:3:"-40";s:1:"V";s:3:"-50";s:1:"W";s:3:"-50";s:1:"X";s:3:"-50";s:1:"Y";s:3:"-70";s:6:"Yacute";s:3:"-70";s:9:"Ydieresis";s:3:"-70";s:5:"comma";s:3:"-40";s:6:"period";s:3:"-40";}s:6:"Oslash";a:21:{s:1:"A";s:3:"-50";s:6:"Aacute";s:3:"-50";s:6:"Abreve";s:3:"-50";s:11:"Acircumflex";s:3:"-50";s:9:"Adieresis";s:3:"-50";s:6:"Agrave";s:3:"-50";s:7:"Amacron";s:3:"-50";s:7:"Aogonek";s:3:"-50";s:5:"Aring";s:3:"-50";s:6:"Atilde";s:3:"-50";s:1:"T";s:3:"-40";s:6:"Tcaron";s:3:"-40";s:12:"Tcommaaccent";s:3:"-40";s:1:"V";s:3:"-50";s:1:"W";s:3:"-50";s:1:"X";s:3:"-50";s:1:"Y";s:3:"-70";s:6:"Yacute";s:3:"-70";s:9:"Ydieresis";s:3:"-70";s:5:"comma";s:3:"-40";s:6:"period";s:3:"-40";}s:6:"Otilde";a:21:{s:1:"A";s:3:"-50";s:6:"Aacute";s:3:"-50";s:6:"Abreve";s:3:"-50";s:11:"Acircumflex";s:3:"-50";s:9:"Adieresis";s:3:"-50";s:6:"Agrave";s:3:"-50";s:7:"Amacron";s:3:"-50";s:7:"Aogonek";s:3:"-50";s:5:"Aring";s:3:"-50";s:6:"Atilde";s:3:"-50";s:1:"T";s:3:"-40";s:6:"Tcaron";s:3:"-40";s:12:"Tcommaaccent";s:3:"-40";s:1:"V";s:3:"-50";s:1:"W";s:3:"-50";s:1:"X";s:3:"-50";s:1:"Y";s:3:"-70";s:6:"Yacute";s:3:"-70";s:9:"Ydieresis";s:3:"-70";s:5:"comma";s:3:"-40";s:6:"period";s:3:"-40";}s:1:"P";a:40:{s:1:"A";s:4:"-100";s:6:"Aacute";s:4:"-100";s:6:"Abreve";s:4:"-100";s:11:"Acircumflex";s:4:"-100";s:9:"Adieresis";s:4:"-100";s:6:"Agrave";s:4:"-100";s:7:"Amacron";s:4:"-100";s:7:"Aogonek";s:4:"-100";s:5:"Aring";s:4:"-100";s:6:"Atilde";s:4:"-100";s:1:"a";s:3:"-30";s:6:"aacute";s:3:"-30";s:6:"abreve";s:3:"-30";s:11:"acircumflex";s:3:"-30";s:9:"adieresis";s:3:"-30";s:6:"agrave";s:3:"-30";s:7:"amacron";s:3:"-30";s:7:"aogonek";s:3:"-30";s:5:"aring";s:3:"-30";s:6:"atilde";s:3:"-30";s:5:"comma";s:4:"-120";s:1:"e";s:3:"-30";s:6:"eacute";s:3:"-30";s:6:"ecaron";s:3:"-30";s:11:"ecircumflex";s:3:"-30";s:9:"edieresis";s:3:"-30";s:10:"edotaccent";s:3:"-30";s:6:"egrave";s:3:"-30";s:7:"emacron";s:3:"-30";s:7:"eogonek";s:3:"-30";s:1:"o";s:3:"-40";s:6:"oacute";s:3:"-40";s:11:"ocircumflex";s:3:"-40";s:9:"odieresis";s:3:"-40";s:6:"ograve";s:3:"-40";s:13:"ohungarumlaut";s:3:"-40";s:7:"omacron";s:3:"-40";s:6:"oslash";s:3:"-40";s:6:"otilde";s:3:"-40";s:6:"period";s:4:"-120";}s:1:"Q";a:11:{s:1:"U";s:3:"-10";s:6:"Uacute";s:3:"-10";s:11:"Ucircumflex";s:3:"-10";s:9:"Udieresis";s:3:"-10";s:6:"Ugrave";s:3:"-10";s:13:"Uhungarumlaut";s:3:"-10";s:7:"Umacron";s:3:"-10";s:7:"Uogonek";s:3:"-10";s:5:"Uring";s:3:"-10";s:5:"comma";s:2:"20";s:6:"period";s:2:"20";}s:1:"R";a:26:{s:1:"O";s:3:"-20";s:6:"Oacute";s:3:"-20";s:11:"Ocircumflex";s:3:"-20";s:9:"Odieresis";s:3:"-20";s:6:"Ograve";s:3:"-20";s:13:"Ohungarumlaut";s:3:"-20";s:7:"Omacron";s:3:"-20";s:6:"Oslash";s:3:"-20";s:6:"Otilde";s:3:"-20";s:1:"T";s:3:"-20";s:6:"Tcaron";s:3:"-20";s:12:"Tcommaaccent";s:3:"-20";s:1:"U";s:3:"-20";s:6:"Uacute";s:3:"-20";s:11:"Ucircumflex";s:3:"-20";s:9:"Udieresis";s:3:"-20";s:6:"Ugrave";s:3:"-20";s:13:"Uhungarumlaut";s:3:"-20";s:7:"Umacron";s:3:"-20";s:7:"Uogonek";s:3:"-20";s:5:"Uring";s:3:"-20";s:1:"V";s:3:"-50";s:1:"W";s:3:"-40";s:1:"Y";s:3:"-50";s:6:"Yacute";s:3:"-50";s:9:"Ydieresis";s:3:"-50";}s:6:"Racute";a:26:{s:1:"O";s:3:"-20";s:6:"Oacute";s:3:"-20";s:11:"Ocircumflex";s:3:"-20";s:9:"Odieresis";s:3:"-20";s:6:"Ograve";s:3:"-20";s:13:"Ohungarumlaut";s:3:"-20";s:7:"Omacron";s:3:"-20";s:6:"Oslash";s:3:"-20";s:6:"Otilde";s:3:"-20";s:1:"T";s:3:"-20";s:6:"Tcaron";s:3:"-20";s:12:"Tcommaaccent";s:3:"-20";s:1:"U";s:3:"-20";s:6:"Uacute";s:3:"-20";s:11:"Ucircumflex";s:3:"-20";s:9:"Udieresis";s:3:"-20";s:6:"Ugrave";s:3:"-20";s:13:"Uhungarumlaut";s:3:"-20";s:7:"Umacron";s:3:"-20";s:7:"Uogonek";s:3:"-20";s:5:"Uring";s:3:"-20";s:1:"V";s:3:"-50";s:1:"W";s:3:"-40";s:1:"Y";s:3:"-50";s:6:"Yacute";s:3:"-50";s:9:"Ydieresis";s:3:"-50";}s:6:"Rcaron";a:26:{s:1:"O";s:3:"-20";s:6:"Oacute";s:3:"-20";s:11:"Ocircumflex";s:3:"-20";s:9:"Odieresis";s:3:"-20";s:6:"Ograve";s:3:"-20";s:13:"Ohungarumlaut";s:3:"-20";s:7:"Omacron";s:3:"-20";s:6:"Oslash";s:3:"-20";s:6:"Otilde";s:3:"-20";s:1:"T";s:3:"-20";s:6:"Tcaron";s:3:"-20";s:12:"Tcommaaccent";s:3:"-20";s:1:"U";s:3:"-20";s:6:"Uacute";s:3:"-20";s:11:"Ucircumflex";s:3:"-20";s:9:"Udieresis";s:3:"-20";s:6:"Ugrave";s:3:"-20";s:13:"Uhungarumlaut";s:3:"-20";s:7:"Umacron";s:3:"-20";s:7:"Uogonek";s:3:"-20";s:5:"Uring";s:3:"-20";s:1:"V";s:3:"-50";s:1:"W";s:3:"-40";s:1:"Y";s:3:"-50";s:6:"Yacute";s:3:"-50";s:9:"Ydieresis";s:3:"-50";}s:12:"Rcommaaccent";a:26:{s:1:"O";s:3:"-20";s:6:"Oacute";s:3:"-20";s:11:"Ocircumflex";s:3:"-20";s:9:"Odieresis";s:3:"-20";s:6:"Ograve";s:3:"-20";s:13:"Ohungarumlaut";s:3:"-20";s:7:"Omacron";s:3:"-20";s:6:"Oslash";s:3:"-20";s:6:"Otilde";s:3:"-20";s:1:"T";s:3:"-20";s:6:"Tcaron";s:3:"-20";s:12:"Tcommaaccent";s:3:"-20";s:1:"U";s:3:"-20";s:6:"Uacute";s:3:"-20";s:11:"Ucircumflex";s:3:"-20";s:9:"Udieresis";s:3:"-20";s:6:"Ugrave";s:3:"-20";s:13:"Uhungarumlaut";s:3:"-20";s:7:"Umacron";s:3:"-20";s:7:"Uogonek";s:3:"-20";s:5:"Uring";s:3:"-20";s:1:"V";s:3:"-50";s:1:"W";s:3:"-40";s:1:"Y";s:3:"-50";s:6:"Yacute";s:3:"-50";s:9:"Ydieresis";s:3:"-50";}s:1:"T";a:68:{s:1:"A";s:3:"-90";s:6:"Aacute";s:3:"-90";s:6:"Abreve";s:3:"-90";s:11:"Acircumflex";s:3:"-90";s:9:"Adieresis";s:3:"-90";s:6:"Agrave";s:3:"-90";s:7:"Amacron";s:3:"-90";s:7:"Aogonek";s:3:"-90";s:5:"Aring";s:3:"-90";s:6:"Atilde";s:3:"-90";s:1:"O";s:3:"-40";s:6:"Oacute";s:3:"-40";s:11:"Ocircumflex";s:3:"-40";s:9:"Odieresis";s:3:"-40";s:6:"Ograve";s:3:"-40";s:13:"Ohungarumlaut";s:3:"-40";s:7:"Omacron";s:3:"-40";s:6:"Oslash";s:3:"-40";s:6:"Otilde";s:3:"-40";s:1:"a";s:3:"-80";s:6:"aacute";s:3:"-80";s:6:"abreve";s:3:"-80";s:11:"acircumflex";s:3:"-80";s:9:"adieresis";s:3:"-80";s:6:"agrave";s:3:"-80";s:7:"amacron";s:3:"-80";s:7:"aogonek";s:3:"-80";s:5:"aring";s:3:"-80";s:6:"atilde";s:3:"-80";s:5:"colon";s:3:"-40";s:5:"comma";s:3:"-80";s:1:"e";s:3:"-60";s:6:"eacute";s:3:"-60";s:6:"ecaron";s:3:"-60";s:11:"ecircumflex";s:3:"-60";s:9:"edieresis";s:3:"-60";s:10:"edotaccent";s:3:"-60";s:6:"egrave";s:3:"-60";s:7:"emacron";s:3:"-60";s:7:"eogonek";s:3:"-60";s:6:"hyphen";s:4:"-120";s:1:"o";s:3:"-80";s:6:"oacute";s:3:"-80";s:11:"ocircumflex";s:3:"-80";s:9:"odieresis";s:3:"-80";s:6:"ograve";s:3:"-80";s:13:"ohungarumlaut";s:3:"-80";s:7:"omacron";s:3:"-80";s:6:"oslash";s:3:"-80";s:6:"otilde";s:3:"-80";s:6:"period";s:3:"-80";s:1:"r";s:3:"-80";s:6:"racute";s:3:"-80";s:12:"rcommaaccent";s:3:"-80";s:9:"semicolon";s:3:"-40";s:1:"u";s:3:"-90";s:6:"uacute";s:3:"-90";s:11:"ucircumflex";s:3:"-90";s:9:"udieresis";s:3:"-90";s:6:"ugrave";s:3:"-90";s:13:"uhungarumlaut";s:3:"-90";s:7:"umacron";s:3:"-90";s:7:"uogonek";s:3:"-90";s:5:"uring";s:3:"-90";s:1:"w";s:3:"-60";s:1:"y";s:3:"-60";s:6:"yacute";s:3:"-60";s:9:"ydieresis";s:3:"-60";}s:6:"Tcaron";a:68:{s:1:"A";s:3:"-90";s:6:"Aacute";s:3:"-90";s:6:"Abreve";s:3:"-90";s:11:"Acircumflex";s:3:"-90";s:9:"Adieresis";s:3:"-90";s:6:"Agrave";s:3:"-90";s:7:"Amacron";s:3:"-90";s:7:"Aogonek";s:3:"-90";s:5:"Aring";s:3:"-90";s:6:"Atilde";s:3:"-90";s:1:"O";s:3:"-40";s:6:"Oacute";s:3:"-40";s:11:"Ocircumflex";s:3:"-40";s:9:"Odieresis";s:3:"-40";s:6:"Ograve";s:3:"-40";s:13:"Ohungarumlaut";s:3:"-40";s:7:"Omacron";s:3:"-40";s:6:"Oslash";s:3:"-40";s:6:"Otilde";s:3:"-40";s:1:"a";s:3:"-80";s:6:"aacute";s:3:"-80";s:6:"abreve";s:3:"-80";s:11:"acircumflex";s:3:"-80";s:9:"adieresis";s:3:"-80";s:6:"agrave";s:3:"-80";s:7:"amacron";s:3:"-80";s:7:"aogonek";s:3:"-80";s:5:"aring";s:3:"-80";s:6:"atilde";s:3:"-80";s:5:"colon";s:3:"-40";s:5:"comma";s:3:"-80";s:1:"e";s:3:"-60";s:6:"eacute";s:3:"-60";s:6:"ecaron";s:3:"-60";s:11:"ecircumflex";s:3:"-60";s:9:"edieresis";s:3:"-60";s:10:"edotaccent";s:3:"-60";s:6:"egrave";s:3:"-60";s:7:"emacron";s:3:"-60";s:7:"eogonek";s:3:"-60";s:6:"hyphen";s:4:"-120";s:1:"o";s:3:"-80";s:6:"oacute";s:3:"-80";s:11:"ocircumflex";s:3:"-80";s:9:"odieresis";s:3:"-80";s:6:"ograve";s:3:"-80";s:13:"ohungarumlaut";s:3:"-80";s:7:"omacron";s:3:"-80";s:6:"oslash";s:3:"-80";s:6:"otilde";s:3:"-80";s:6:"period";s:3:"-80";s:1:"r";s:3:"-80";s:6:"racute";s:3:"-80";s:12:"rcommaaccent";s:3:"-80";s:9:"semicolon";s:3:"-40";s:1:"u";s:3:"-90";s:6:"uacute";s:3:"-90";s:11:"ucircumflex";s:3:"-90";s:9:"udieresis";s:3:"-90";s:6:"ugrave";s:3:"-90";s:13:"uhungarumlaut";s:3:"-90";s:7:"umacron";s:3:"-90";s:7:"uogonek";s:3:"-90";s:5:"uring";s:3:"-90";s:1:"w";s:3:"-60";s:1:"y";s:3:"-60";s:6:"yacute";s:3:"-60";s:9:"ydieresis";s:3:"-60";}s:12:"Tcommaaccent";a:68:{s:1:"A";s:3:"-90";s:6:"Aacute";s:3:"-90";s:6:"Abreve";s:3:"-90";s:11:"Acircumflex";s:3:"-90";s:9:"Adieresis";s:3:"-90";s:6:"Agrave";s:3:"-90";s:7:"Amacron";s:3:"-90";s:7:"Aogonek";s:3:"-90";s:5:"Aring";s:3:"-90";s:6:"Atilde";s:3:"-90";s:1:"O";s:3:"-40";s:6:"Oacute";s:3:"-40";s:11:"Ocircumflex";s:3:"-40";s:9:"Odieresis";s:3:"-40";s:6:"Ograve";s:3:"-40";s:13:"Ohungarumlaut";s:3:"-40";s:7:"Omacron";s:3:"-40";s:6:"Oslash";s:3:"-40";s:6:"Otilde";s:3:"-40";s:1:"a";s:3:"-80";s:6:"aacute";s:3:"-80";s:6:"abreve";s:3:"-80";s:11:"acircumflex";s:3:"-80";s:9:"adieresis";s:3:"-80";s:6:"agrave";s:3:"-80";s:7:"amacron";s:3:"-80";s:7:"aogonek";s:3:"-80";s:5:"aring";s:3:"-80";s:6:"atilde";s:3:"-80";s:5:"colon";s:3:"-40";s:5:"comma";s:3:"-80";s:1:"e";s:3:"-60";s:6:"eacute";s:3:"-60";s:6:"ecaron";s:3:"-60";s:11:"ecircumflex";s:3:"-60";s:9:"edieresis";s:3:"-60";s:10:"edotaccent";s:3:"-60";s:6:"egrave";s:3:"-60";s:7:"emacron";s:3:"-60";s:7:"eogonek";s:3:"-60";s:6:"hyphen";s:4:"-120";s:1:"o";s:3:"-80";s:6:"oacute";s:3:"-80";s:11:"ocircumflex";s:3:"-80";s:9:"odieresis";s:3:"-80";s:6:"ograve";s:3:"-80";s:13:"ohungarumlaut";s:3:"-80";s:7:"omacron";s:3:"-80";s:6:"oslash";s:3:"-80";s:6:"otilde";s:3:"-80";s:6:"period";s:3:"-80";s:1:"r";s:3:"-80";s:6:"racute";s:3:"-80";s:12:"rcommaaccent";s:3:"-80";s:9:"semicolon";s:3:"-40";s:1:"u";s:3:"-90";s:6:"uacute";s:3:"-90";s:11:"ucircumflex";s:3:"-90";s:9:"udieresis";s:3:"-90";s:6:"ugrave";s:3:"-90";s:13:"uhungarumlaut";s:3:"-90";s:7:"umacron";s:3:"-90";s:7:"uogonek";s:3:"-90";s:5:"uring";s:3:"-90";s:1:"w";s:3:"-60";s:1:"y";s:3:"-60";s:6:"yacute";s:3:"-60";s:9:"ydieresis";s:3:"-60";}s:1:"U";a:12:{s:1:"A";s:3:"-50";s:6:"Aacute";s:3:"-50";s:6:"Abreve";s:3:"-50";s:11:"Acircumflex";s:3:"-50";s:9:"Adieresis";s:3:"-50";s:6:"Agrave";s:3:"-50";s:7:"Amacron";s:3:"-50";s:7:"Aogonek";s:3:"-50";s:5:"Aring";s:3:"-50";s:6:"Atilde";s:3:"-50";s:5:"comma";s:3:"-30";s:6:"period";s:3:"-30";}s:6:"Uacute";a:12:{s:1:"A";s:3:"-50";s:6:"Aacute";s:3:"-50";s:6:"Abreve";s:3:"-50";s:11:"Acircumflex";s:3:"-50";s:9:"Adieresis";s:3:"-50";s:6:"Agrave";s:3:"-50";s:7:"Amacron";s:3:"-50";s:7:"Aogonek";s:3:"-50";s:5:"Aring";s:3:"-50";s:6:"Atilde";s:3:"-50";s:5:"comma";s:3:"-30";s:6:"period";s:3:"-30";}s:11:"Ucircumflex";a:12:{s:1:"A";s:3:"-50";s:6:"Aacute";s:3:"-50";s:6:"Abreve";s:3:"-50";s:11:"Acircumflex";s:3:"-50";s:9:"Adieresis";s:3:"-50";s:6:"Agrave";s:3:"-50";s:7:"Amacron";s:3:"-50";s:7:"Aogonek";s:3:"-50";s:5:"Aring";s:3:"-50";s:6:"Atilde";s:3:"-50";s:5:"comma";s:3:"-30";s:6:"period";s:3:"-30";}s:9:"Udieresis";a:12:{s:1:"A";s:3:"-50";s:6:"Aacute";s:3:"-50";s:6:"Abreve";s:3:"-50";s:11:"Acircumflex";s:3:"-50";s:9:"Adieresis";s:3:"-50";s:6:"Agrave";s:3:"-50";s:7:"Amacron";s:3:"-50";s:7:"Aogonek";s:3:"-50";s:5:"Aring";s:3:"-50";s:6:"Atilde";s:3:"-50";s:5:"comma";s:3:"-30";s:6:"period";s:3:"-30";}s:6:"Ugrave";a:12:{s:1:"A";s:3:"-50";s:6:"Aacute";s:3:"-50";s:6:"Abreve";s:3:"-50";s:11:"Acircumflex";s:3:"-50";s:9:"Adieresis";s:3:"-50";s:6:"Agrave";s:3:"-50";s:7:"Amacron";s:3:"-50";s:7:"Aogonek";s:3:"-50";s:5:"Aring";s:3:"-50";s:6:"Atilde";s:3:"-50";s:5:"comma";s:3:"-30";s:6:"period";s:3:"-30";}s:13:"Uhungarumlaut";a:12:{s:1:"A";s:3:"-50";s:6:"Aacute";s:3:"-50";s:6:"Abreve";s:3:"-50";s:11:"Acircumflex";s:3:"-50";s:9:"Adieresis";s:3:"-50";s:6:"Agrave";s:3:"-50";s:7:"Amacron";s:3:"-50";s:7:"Aogonek";s:3:"-50";s:5:"Aring";s:3:"-50";s:6:"Atilde";s:3:"-50";s:5:"comma";s:3:"-30";s:6:"period";s:3:"-30";}s:7:"Umacron";a:12:{s:1:"A";s:3:"-50";s:6:"Aacute";s:3:"-50";s:6:"Abreve";s:3:"-50";s:11:"Acircumflex";s:3:"-50";s:9:"Adieresis";s:3:"-50";s:6:"Agrave";s:3:"-50";s:7:"Amacron";s:3:"-50";s:7:"Aogonek";s:3:"-50";s:5:"Aring";s:3:"-50";s:6:"Atilde";s:3:"-50";s:5:"comma";s:3:"-30";s:6:"period";s:3:"-30";}s:7:"Uogonek";a:12:{s:1:"A";s:3:"-50";s:6:"Aacute";s:3:"-50";s:6:"Abreve";s:3:"-50";s:11:"Acircumflex";s:3:"-50";s:9:"Adieresis";s:3:"-50";s:6:"Agrave";s:3:"-50";s:7:"Amacron";s:3:"-50";s:7:"Aogonek";s:3:"-50";s:5:"Aring";s:3:"-50";s:6:"Atilde";s:3:"-50";s:5:"comma";s:3:"-30";s:6:"period";s:3:"-30";}s:5:"Uring";a:12:{s:1:"A";s:3:"-50";s:6:"Aacute";s:3:"-50";s:6:"Abreve";s:3:"-50";s:11:"Acircumflex";s:3:"-50";s:9:"Adieresis";s:3:"-50";s:6:"Agrave";s:3:"-50";s:7:"Amacron";s:3:"-50";s:7:"Aogonek";s:3:"-50";s:5:"Aring";s:3:"-50";s:6:"Atilde";s:3:"-50";s:5:"comma";s:3:"-30";s:6:"period";s:3:"-30";}s:1:"V";a:64:{s:1:"A";s:3:"-80";s:6:"Aacute";s:3:"-80";s:6:"Abreve";s:3:"-80";s:11:"Acircumflex";s:3:"-80";s:9:"Adieresis";s:3:"-80";s:6:"Agrave";s:3:"-80";s:7:"Amacron";s:3:"-80";s:7:"Aogonek";s:3:"-80";s:5:"Aring";s:3:"-80";s:6:"Atilde";s:3:"-80";s:1:"G";s:3:"-50";s:6:"Gbreve";s:3:"-50";s:12:"Gcommaaccent";s:3:"-50";s:1:"O";s:3:"-50";s:6:"Oacute";s:3:"-50";s:11:"Ocircumflex";s:3:"-50";s:9:"Odieresis";s:3:"-50";s:6:"Ograve";s:3:"-50";s:13:"Ohungarumlaut";s:3:"-50";s:7:"Omacron";s:3:"-50";s:6:"Oslash";s:3:"-50";s:6:"Otilde";s:3:"-50";s:1:"a";s:3:"-60";s:6:"aacute";s:3:"-60";s:6:"abreve";s:3:"-60";s:11:"acircumflex";s:3:"-60";s:9:"adieresis";s:3:"-60";s:6:"agrave";s:3:"-60";s:7:"amacron";s:3:"-60";s:7:"aogonek";s:3:"-60";s:5:"aring";s:3:"-60";s:6:"atilde";s:3:"-60";s:5:"colon";s:3:"-40";s:5:"comma";s:4:"-120";s:1:"e";s:3:"-50";s:6:"eacute";s:3:"-50";s:6:"ecaron";s:3:"-50";s:11:"ecircumflex";s:3:"-50";s:9:"edieresis";s:3:"-50";s:10:"edotaccent";s:3:"-50";s:6:"egrave";s:3:"-50";s:7:"emacron";s:3:"-50";s:7:"eogonek";s:3:"-50";s:6:"hyphen";s:3:"-80";s:1:"o";s:3:"-90";s:6:"oacute";s:3:"-90";s:11:"ocircumflex";s:3:"-90";s:9:"odieresis";s:3:"-90";s:6:"ograve";s:3:"-90";s:13:"ohungarumlaut";s:3:"-90";s:7:"omacron";s:3:"-90";s:6:"oslash";s:3:"-90";s:6:"otilde";s:3:"-90";s:6:"period";s:4:"-120";s:9:"semicolon";s:3:"-40";s:1:"u";s:3:"-60";s:6:"uacute";s:3:"-60";s:11:"ucircumflex";s:3:"-60";s:9:"udieresis";s:3:"-60";s:6:"ugrave";s:3:"-60";s:13:"uhungarumlaut";s:3:"-60";s:7:"umacron";s:3:"-60";s:7:"uogonek";s:3:"-60";s:5:"uring";s:3:"-60";}s:1:"W";a:64:{s:1:"A";s:3:"-60";s:6:"Aacute";s:3:"-60";s:6:"Abreve";s:3:"-60";s:11:"Acircumflex";s:3:"-60";s:9:"Adieresis";s:3:"-60";s:6:"Agrave";s:3:"-60";s:7:"Amacron";s:3:"-60";s:7:"Aogonek";s:3:"-60";s:5:"Aring";s:3:"-60";s:6:"Atilde";s:3:"-60";s:1:"O";s:3:"-20";s:6:"Oacute";s:3:"-20";s:11:"Ocircumflex";s:3:"-20";s:9:"Odieresis";s:3:"-20";s:6:"Ograve";s:3:"-20";s:13:"Ohungarumlaut";s:3:"-20";s:7:"Omacron";s:3:"-20";s:6:"Oslash";s:3:"-20";s:6:"Otilde";s:3:"-20";s:1:"a";s:3:"-40";s:6:"aacute";s:3:"-40";s:6:"abreve";s:3:"-40";s:11:"acircumflex";s:3:"-40";s:9:"adieresis";s:3:"-40";s:6:"agrave";s:3:"-40";s:7:"amacron";s:3:"-40";s:7:"aogonek";s:3:"-40";s:5:"aring";s:3:"-40";s:6:"atilde";s:3:"-40";s:5:"colon";s:3:"-10";s:5:"comma";s:3:"-80";s:1:"e";s:3:"-35";s:6:"eacute";s:3:"-35";s:6:"ecaron";s:3:"-35";s:11:"ecircumflex";s:3:"-35";s:9:"edieresis";s:3:"-35";s:10:"edotaccent";s:3:"-35";s:6:"egrave";s:3:"-35";s:7:"emacron";s:3:"-35";s:7:"eogonek";s:3:"-35";s:6:"hyphen";s:3:"-40";s:1:"o";s:3:"-60";s:6:"oacute";s:3:"-60";s:11:"ocircumflex";s:3:"-60";s:9:"odieresis";s:3:"-60";s:6:"ograve";s:3:"-60";s:13:"ohungarumlaut";s:3:"-60";s:7:"omacron";s:3:"-60";s:6:"oslash";s:3:"-60";s:6:"otilde";s:3:"-60";s:6:"period";s:3:"-80";s:9:"semicolon";s:3:"-10";s:1:"u";s:3:"-45";s:6:"uacute";s:3:"-45";s:11:"ucircumflex";s:3:"-45";s:9:"udieresis";s:3:"-45";s:6:"ugrave";s:3:"-45";s:13:"uhungarumlaut";s:3:"-45";s:7:"umacron";s:3:"-45";s:7:"uogonek";s:3:"-45";s:5:"uring";s:3:"-45";s:1:"y";s:3:"-20";s:6:"yacute";s:3:"-20";s:9:"ydieresis";s:3:"-20";}s:1:"Y";a:60:{s:1:"A";s:4:"-110";s:6:"Aacute";s:4:"-110";s:6:"Abreve";s:4:"-110";s:11:"Acircumflex";s:4:"-110";s:9:"Adieresis";s:4:"-110";s:6:"Agrave";s:4:"-110";s:7:"Amacron";s:4:"-110";s:7:"Aogonek";s:4:"-110";s:5:"Aring";s:4:"-110";s:6:"Atilde";s:4:"-110";s:1:"O";s:3:"-70";s:6:"Oacute";s:3:"-70";s:11:"Ocircumflex";s:3:"-70";s:9:"Odieresis";s:3:"-70";s:6:"Ograve";s:3:"-70";s:13:"Ohungarumlaut";s:3:"-70";s:7:"Omacron";s:3:"-70";s:6:"Oslash";s:3:"-70";s:6:"Otilde";s:3:"-70";s:1:"a";s:3:"-90";s:6:"aacute";s:3:"-90";s:6:"abreve";s:3:"-90";s:11:"acircumflex";s:3:"-90";s:9:"adieresis";s:3:"-90";s:6:"agrave";s:3:"-90";s:7:"amacron";s:3:"-90";s:7:"aogonek";s:3:"-90";s:5:"aring";s:3:"-90";s:6:"atilde";s:3:"-90";s:5:"colon";s:3:"-50";s:5:"comma";s:4:"-100";s:1:"e";s:3:"-80";s:6:"eacute";s:3:"-80";s:6:"ecaron";s:3:"-80";s:11:"ecircumflex";s:3:"-80";s:9:"edieresis";s:3:"-80";s:10:"edotaccent";s:3:"-80";s:6:"egrave";s:3:"-80";s:7:"emacron";s:3:"-80";s:7:"eogonek";s:3:"-80";s:1:"o";s:4:"-100";s:6:"oacute";s:4:"-100";s:11:"ocircumflex";s:4:"-100";s:9:"odieresis";s:4:"-100";s:6:"ograve";s:4:"-100";s:13:"ohungarumlaut";s:4:"-100";s:7:"omacron";s:4:"-100";s:6:"oslash";s:4:"-100";s:6:"otilde";s:4:"-100";s:6:"period";s:4:"-100";s:9:"semicolon";s:3:"-50";s:1:"u";s:4:"-100";s:6:"uacute";s:4:"-100";s:11:"ucircumflex";s:4:"-100";s:9:"udieresis";s:4:"-100";s:6:"ugrave";s:4:"-100";s:13:"uhungarumlaut";s:4:"-100";s:7:"umacron";s:4:"-100";s:7:"uogonek";s:4:"-100";s:5:"uring";s:4:"-100";}s:6:"Yacute";a:60:{s:1:"A";s:4:"-110";s:6:"Aacute";s:4:"-110";s:6:"Abreve";s:4:"-110";s:11:"Acircumflex";s:4:"-110";s:9:"Adieresis";s:4:"-110";s:6:"Agrave";s:4:"-110";s:7:"Amacron";s:4:"-110";s:7:"Aogonek";s:4:"-110";s:5:"Aring";s:4:"-110";s:6:"Atilde";s:4:"-110";s:1:"O";s:3:"-70";s:6:"Oacute";s:3:"-70";s:11:"Ocircumflex";s:3:"-70";s:9:"Odieresis";s:3:"-70";s:6:"Ograve";s:3:"-70";s:13:"Ohungarumlaut";s:3:"-70";s:7:"Omacron";s:3:"-70";s:6:"Oslash";s:3:"-70";s:6:"Otilde";s:3:"-70";s:1:"a";s:3:"-90";s:6:"aacute";s:3:"-90";s:6:"abreve";s:3:"-90";s:11:"acircumflex";s:3:"-90";s:9:"adieresis";s:3:"-90";s:6:"agrave";s:3:"-90";s:7:"amacron";s:3:"-90";s:7:"aogonek";s:3:"-90";s:5:"aring";s:3:"-90";s:6:"atilde";s:3:"-90";s:5:"colon";s:3:"-50";s:5:"comma";s:4:"-100";s:1:"e";s:3:"-80";s:6:"eacute";s:3:"-80";s:6:"ecaron";s:3:"-80";s:11:"ecircumflex";s:3:"-80";s:9:"edieresis";s:3:"-80";s:10:"edotaccent";s:3:"-80";s:6:"egrave";s:3:"-80";s:7:"emacron";s:3:"-80";s:7:"eogonek";s:3:"-80";s:1:"o";s:4:"-100";s:6:"oacute";s:4:"-100";s:11:"ocircumflex";s:4:"-100";s:9:"odieresis";s:4:"-100";s:6:"ograve";s:4:"-100";s:13:"ohungarumlaut";s:4:"-100";s:7:"omacron";s:4:"-100";s:6:"oslash";s:4:"-100";s:6:"otilde";s:4:"-100";s:6:"period";s:4:"-100";s:9:"semicolon";s:3:"-50";s:1:"u";s:4:"-100";s:6:"uacute";s:4:"-100";s:11:"ucircumflex";s:4:"-100";s:9:"udieresis";s:4:"-100";s:6:"ugrave";s:4:"-100";s:13:"uhungarumlaut";s:4:"-100";s:7:"umacron";s:4:"-100";s:7:"uogonek";s:4:"-100";s:5:"uring";s:4:"-100";}s:9:"Ydieresis";a:60:{s:1:"A";s:4:"-110";s:6:"Aacute";s:4:"-110";s:6:"Abreve";s:4:"-110";s:11:"Acircumflex";s:4:"-110";s:9:"Adieresis";s:4:"-110";s:6:"Agrave";s:4:"-110";s:7:"Amacron";s:4:"-110";s:7:"Aogonek";s:4:"-110";s:5:"Aring";s:4:"-110";s:6:"Atilde";s:4:"-110";s:1:"O";s:3:"-70";s:6:"Oacute";s:3:"-70";s:11:"Ocircumflex";s:3:"-70";s:9:"Odieresis";s:3:"-70";s:6:"Ograve";s:3:"-70";s:13:"Ohungarumlaut";s:3:"-70";s:7:"Omacron";s:3:"-70";s:6:"Oslash";s:3:"-70";s:6:"Otilde";s:3:"-70";s:1:"a";s:3:"-90";s:6:"aacute";s:3:"-90";s:6:"abreve";s:3:"-90";s:11:"acircumflex";s:3:"-90";s:9:"adieresis";s:3:"-90";s:6:"agrave";s:3:"-90";s:7:"amacron";s:3:"-90";s:7:"aogonek";s:3:"-90";s:5:"aring";s:3:"-90";s:6:"atilde";s:3:"-90";s:5:"colon";s:3:"-50";s:5:"comma";s:4:"-100";s:1:"e";s:3:"-80";s:6:"eacute";s:3:"-80";s:6:"ecaron";s:3:"-80";s:11:"ecircumflex";s:3:"-80";s:9:"edieresis";s:3:"-80";s:10:"edotaccent";s:3:"-80";s:6:"egrave";s:3:"-80";s:7:"emacron";s:3:"-80";s:7:"eogonek";s:3:"-80";s:1:"o";s:4:"-100";s:6:"oacute";s:4:"-100";s:11:"ocircumflex";s:4:"-100";s:9:"odieresis";s:4:"-100";s:6:"ograve";s:4:"-100";s:13:"ohungarumlaut";s:4:"-100";s:7:"omacron";s:4:"-100";s:6:"oslash";s:4:"-100";s:6:"otilde";s:4:"-100";s:6:"period";s:4:"-100";s:9:"semicolon";s:3:"-50";s:1:"u";s:4:"-100";s:6:"uacute";s:4:"-100";s:11:"ucircumflex";s:4:"-100";s:9:"udieresis";s:4:"-100";s:6:"ugrave";s:4:"-100";s:13:"uhungarumlaut";s:4:"-100";s:7:"umacron";s:4:"-100";s:7:"uogonek";s:4:"-100";s:5:"uring";s:4:"-100";}s:1:"a";a:8:{s:1:"g";s:3:"-10";s:6:"gbreve";s:3:"-10";s:12:"gcommaaccent";s:3:"-10";s:1:"v";s:3:"-15";s:1:"w";s:3:"-15";s:1:"y";s:3:"-20";s:6:"yacute";s:3:"-20";s:9:"ydieresis";s:3:"-20";}s:6:"aacute";a:8:{s:1:"g";s:3:"-10";s:6:"gbreve";s:3:"-10";s:12:"gcommaaccent";s:3:"-10";s:1:"v";s:3:"-15";s:1:"w";s:3:"-15";s:1:"y";s:3:"-20";s:6:"yacute";s:3:"-20";s:9:"ydieresis";s:3:"-20";}s:6:"abreve";a:8:{s:1:"g";s:3:"-10";s:6:"gbreve";s:3:"-10";s:12:"gcommaaccent";s:3:"-10";s:1:"v";s:3:"-15";s:1:"w";s:3:"-15";s:1:"y";s:3:"-20";s:6:"yacute";s:3:"-20";s:9:"ydieresis";s:3:"-20";}s:11:"acircumflex";a:8:{s:1:"g";s:3:"-10";s:6:"gbreve";s:3:"-10";s:12:"gcommaaccent";s:3:"-10";s:1:"v";s:3:"-15";s:1:"w";s:3:"-15";s:1:"y";s:3:"-20";s:6:"yacute";s:3:"-20";s:9:"ydieresis";s:3:"-20";}s:9:"adieresis";a:8:{s:1:"g";s:3:"-10";s:6:"gbreve";s:3:"-10";s:12:"gcommaaccent";s:3:"-10";s:1:"v";s:3:"-15";s:1:"w";s:3:"-15";s:1:"y";s:3:"-20";s:6:"yacute";s:3:"-20";s:9:"ydieresis";s:3:"-20";}s:6:"agrave";a:8:{s:1:"g";s:3:"-10";s:6:"gbreve";s:3:"-10";s:12:"gcommaaccent";s:3:"-10";s:1:"v";s:3:"-15";s:1:"w";s:3:"-15";s:1:"y";s:3:"-20";s:6:"yacute";s:3:"-20";s:9:"ydieresis";s:3:"-20";}s:7:"amacron";a:8:{s:1:"g";s:3:"-10";s:6:"gbreve";s:3:"-10";s:12:"gcommaaccent";s:3:"-10";s:1:"v";s:3:"-15";s:1:"w";s:3:"-15";s:1:"y";s:3:"-20";s:6:"yacute";s:3:"-20";s:9:"ydieresis";s:3:"-20";}s:7:"aogonek";a:8:{s:1:"g";s:3:"-10";s:6:"gbreve";s:3:"-10";s:12:"gcommaaccent";s:3:"-10";s:1:"v";s:3:"-15";s:1:"w";s:3:"-15";s:1:"y";s:3:"-20";s:6:"yacute";s:3:"-20";s:9:"ydieresis";s:3:"-20";}s:5:"aring";a:8:{s:1:"g";s:3:"-10";s:6:"gbreve";s:3:"-10";s:12:"gcommaaccent";s:3:"-10";s:1:"v";s:3:"-15";s:1:"w";s:3:"-15";s:1:"y";s:3:"-20";s:6:"yacute";s:3:"-20";s:9:"ydieresis";s:3:"-20";}s:6:"atilde";a:8:{s:1:"g";s:3:"-10";s:6:"gbreve";s:3:"-10";s:12:"gcommaaccent";s:3:"-10";s:1:"v";s:3:"-15";s:1:"w";s:3:"-15";s:1:"y";s:3:"-20";s:6:"yacute";s:3:"-20";s:9:"ydieresis";s:3:"-20";}s:1:"b";a:17:{s:1:"l";s:3:"-10";s:6:"lacute";s:3:"-10";s:12:"lcommaaccent";s:3:"-10";s:6:"lslash";s:3:"-10";s:1:"u";s:3:"-20";s:6:"uacute";s:3:"-20";s:11:"ucircumflex";s:3:"-20";s:9:"udieresis";s:3:"-20";s:6:"ugrave";s:3:"-20";s:13:"uhungarumlaut";s:3:"-20";s:7:"umacron";s:3:"-20";s:7:"uogonek";s:3:"-20";s:5:"uring";s:3:"-20";s:1:"v";s:3:"-20";s:1:"y";s:3:"-20";s:6:"yacute";s:3:"-20";s:9:"ydieresis";s:3:"-20";}s:1:"c";a:10:{s:1:"h";s:3:"-10";s:1:"k";s:3:"-20";s:12:"kcommaaccent";s:3:"-20";s:1:"l";s:3:"-20";s:6:"lacute";s:3:"-20";s:12:"lcommaaccent";s:3:"-20";s:6:"lslash";s:3:"-20";s:1:"y";s:3:"-10";s:6:"yacute";s:3:"-10";s:9:"ydieresis";s:3:"-10";}s:6:"cacute";a:10:{s:1:"h";s:3:"-10";s:1:"k";s:3:"-20";s:12:"kcommaaccent";s:3:"-20";s:1:"l";s:3:"-20";s:6:"lacute";s:3:"-20";s:12:"lcommaaccent";s:3:"-20";s:6:"lslash";s:3:"-20";s:1:"y";s:3:"-10";s:6:"yacute";s:3:"-10";s:9:"ydieresis";s:3:"-10";}s:6:"ccaron";a:10:{s:1:"h";s:3:"-10";s:1:"k";s:3:"-20";s:12:"kcommaaccent";s:3:"-20";s:1:"l";s:3:"-20";s:6:"lacute";s:3:"-20";s:12:"lcommaaccent";s:3:"-20";s:6:"lslash";s:3:"-20";s:1:"y";s:3:"-10";s:6:"yacute";s:3:"-10";s:9:"ydieresis";s:3:"-10";}s:8:"ccedilla";a:10:{s:1:"h";s:3:"-10";s:1:"k";s:3:"-20";s:12:"kcommaaccent";s:3:"-20";s:1:"l";s:3:"-20";s:6:"lacute";s:3:"-20";s:12:"lcommaaccent";s:3:"-20";s:6:"lslash";s:3:"-20";s:1:"y";s:3:"-10";s:6:"yacute";s:3:"-10";s:9:"ydieresis";s:3:"-10";}s:5:"colon";a:1:{s:5:"space";s:3:"-40";}s:5:"comma";a:3:{s:13:"quotedblright";s:4:"-120";s:10:"quoteright";s:4:"-120";s:5:"space";s:3:"-40";}s:1:"d";a:7:{s:1:"d";s:3:"-10";s:6:"dcroat";s:3:"-10";s:1:"v";s:3:"-15";s:1:"w";s:3:"-15";s:1:"y";s:3:"-15";s:6:"yacute";s:3:"-15";s:9:"ydieresis";s:3:"-15";}s:6:"dcroat";a:7:{s:1:"d";s:3:"-10";s:6:"dcroat";s:3:"-10";s:1:"v";s:3:"-15";s:1:"w";s:3:"-15";s:1:"y";s:3:"-15";s:6:"yacute";s:3:"-15";s:9:"ydieresis";s:3:"-15";}s:1:"e";a:8:{s:5:"comma";s:2:"10";s:6:"period";s:2:"20";s:1:"v";s:3:"-15";s:1:"w";s:3:"-15";s:1:"x";s:3:"-15";s:1:"y";s:3:"-15";s:6:"yacute";s:3:"-15";s:9:"ydieresis";s:3:"-15";}s:6:"eacute";a:8:{s:5:"comma";s:2:"10";s:6:"period";s:2:"20";s:1:"v";s:3:"-15";s:1:"w";s:3:"-15";s:1:"x";s:3:"-15";s:1:"y";s:3:"-15";s:6:"yacute";s:3:"-15";s:9:"ydieresis";s:3:"-15";}s:6:"ecaron";a:8:{s:5:"comma";s:2:"10";s:6:"period";s:2:"20";s:1:"v";s:3:"-15";s:1:"w";s:3:"-15";s:1:"x";s:3:"-15";s:1:"y";s:3:"-15";s:6:"yacute";s:3:"-15";s:9:"ydieresis";s:3:"-15";}s:11:"ecircumflex";a:8:{s:5:"comma";s:2:"10";s:6:"period";s:2:"20";s:1:"v";s:3:"-15";s:1:"w";s:3:"-15";s:1:"x";s:3:"-15";s:1:"y";s:3:"-15";s:6:"yacute";s:3:"-15";s:9:"ydieresis";s:3:"-15";}s:9:"edieresis";a:8:{s:5:"comma";s:2:"10";s:6:"period";s:2:"20";s:1:"v";s:3:"-15";s:1:"w";s:3:"-15";s:1:"x";s:3:"-15";s:1:"y";s:3:"-15";s:6:"yacute";s:3:"-15";s:9:"ydieresis";s:3:"-15";}s:10:"edotaccent";a:8:{s:5:"comma";s:2:"10";s:6:"period";s:2:"20";s:1:"v";s:3:"-15";s:1:"w";s:3:"-15";s:1:"x";s:3:"-15";s:1:"y";s:3:"-15";s:6:"yacute";s:3:"-15";s:9:"ydieresis";s:3:"-15";}s:6:"egrave";a:8:{s:5:"comma";s:2:"10";s:6:"period";s:2:"20";s:1:"v";s:3:"-15";s:1:"w";s:3:"-15";s:1:"x";s:3:"-15";s:1:"y";s:3:"-15";s:6:"yacute";s:3:"-15";s:9:"ydieresis";s:3:"-15";}s:7:"emacron";a:8:{s:5:"comma";s:2:"10";s:6:"period";s:2:"20";s:1:"v";s:3:"-15";s:1:"w";s:3:"-15";s:1:"x";s:3:"-15";s:1:"y";s:3:"-15";s:6:"yacute";s:3:"-15";s:9:"ydieresis";s:3:"-15";}s:7:"eogonek";a:8:{s:5:"comma";s:2:"10";s:6:"period";s:2:"20";s:1:"v";s:3:"-15";s:1:"w";s:3:"-15";s:1:"x";s:3:"-15";s:1:"y";s:3:"-15";s:6:"yacute";s:3:"-15";s:9:"ydieresis";s:3:"-15";}s:1:"f";a:22:{s:5:"comma";s:3:"-10";s:1:"e";s:3:"-10";s:6:"eacute";s:3:"-10";s:6:"ecaron";s:3:"-10";s:11:"ecircumflex";s:3:"-10";s:9:"edieresis";s:3:"-10";s:10:"edotaccent";s:3:"-10";s:6:"egrave";s:3:"-10";s:7:"emacron";s:3:"-10";s:7:"eogonek";s:3:"-10";s:1:"o";s:3:"-20";s:6:"oacute";s:3:"-20";s:11:"ocircumflex";s:3:"-20";s:9:"odieresis";s:3:"-20";s:6:"ograve";s:3:"-20";s:13:"ohungarumlaut";s:3:"-20";s:7:"omacron";s:3:"-20";s:6:"oslash";s:3:"-20";s:6:"otilde";s:3:"-20";s:6:"period";s:3:"-10";s:13:"quotedblright";s:2:"30";s:10:"quoteright";s:2:"30";}s:1:"g";a:12:{s:1:"e";s:2:"10";s:6:"eacute";s:2:"10";s:6:"ecaron";s:2:"10";s:11:"ecircumflex";s:2:"10";s:9:"edieresis";s:2:"10";s:10:"edotaccent";s:2:"10";s:6:"egrave";s:2:"10";s:7:"emacron";s:2:"10";s:7:"eogonek";s:2:"10";s:1:"g";s:3:"-10";s:6:"gbreve";s:3:"-10";s:12:"gcommaaccent";s:3:"-10";}s:6:"gbreve";a:12:{s:1:"e";s:2:"10";s:6:"eacute";s:2:"10";s:6:"ecaron";s:2:"10";s:11:"ecircumflex";s:2:"10";s:9:"edieresis";s:2:"10";s:10:"edotaccent";s:2:"10";s:6:"egrave";s:2:"10";s:7:"emacron";s:2:"10";s:7:"eogonek";s:2:"10";s:1:"g";s:3:"-10";s:6:"gbreve";s:3:"-10";s:12:"gcommaaccent";s:3:"-10";}s:12:"gcommaaccent";a:12:{s:1:"e";s:2:"10";s:6:"eacute";s:2:"10";s:6:"ecaron";s:2:"10";s:11:"ecircumflex";s:2:"10";s:9:"edieresis";s:2:"10";s:10:"edotaccent";s:2:"10";s:6:"egrave";s:2:"10";s:7:"emacron";s:2:"10";s:7:"eogonek";s:2:"10";s:1:"g";s:3:"-10";s:6:"gbreve";s:3:"-10";s:12:"gcommaaccent";s:3:"-10";}s:1:"h";a:3:{s:1:"y";s:3:"-20";s:6:"yacute";s:3:"-20";s:9:"ydieresis";s:3:"-20";}s:1:"k";a:9:{s:1:"o";s:3:"-15";s:6:"oacute";s:3:"-15";s:11:"ocircumflex";s:3:"-15";s:9:"odieresis";s:3:"-15";s:6:"ograve";s:3:"-15";s:13:"ohungarumlaut";s:3:"-15";s:7:"omacron";s:3:"-15";s:6:"oslash";s:3:"-15";s:6:"otilde";s:3:"-15";}s:12:"kcommaaccent";a:9:{s:1:"o";s:3:"-15";s:6:"oacute";s:3:"-15";s:11:"ocircumflex";s:3:"-15";s:9:"odieresis";s:3:"-15";s:6:"ograve";s:3:"-15";s:13:"ohungarumlaut";s:3:"-15";s:7:"omacron";s:3:"-15";s:6:"oslash";s:3:"-15";s:6:"otilde";s:3:"-15";}s:1:"l";a:4:{s:1:"w";s:3:"-15";s:1:"y";s:3:"-15";s:6:"yacute";s:3:"-15";s:9:"ydieresis";s:3:"-15";}s:6:"lacute";a:4:{s:1:"w";s:3:"-15";s:1:"y";s:3:"-15";s:6:"yacute";s:3:"-15";s:9:"ydieresis";s:3:"-15";}s:12:"lcommaaccent";a:4:{s:1:"w";s:3:"-15";s:1:"y";s:3:"-15";s:6:"yacute";s:3:"-15";s:9:"ydieresis";s:3:"-15";}s:6:"lslash";a:4:{s:1:"w";s:3:"-15";s:1:"y";s:3:"-15";s:6:"yacute";s:3:"-15";s:9:"ydieresis";s:3:"-15";}s:1:"m";a:12:{s:1:"u";s:3:"-20";s:6:"uacute";s:3:"-20";s:11:"ucircumflex";s:3:"-20";s:9:"udieresis";s:3:"-20";s:6:"ugrave";s:3:"-20";s:13:"uhungarumlaut";s:3:"-20";s:7:"umacron";s:3:"-20";s:7:"uogonek";s:3:"-20";s:5:"uring";s:3:"-20";s:1:"y";s:3:"-30";s:6:"yacute";s:3:"-30";s:9:"ydieresis";s:3:"-30";}s:1:"n";a:13:{s:1:"u";s:3:"-10";s:6:"uacute";s:3:"-10";s:11:"ucircumflex";s:3:"-10";s:9:"udieresis";s:3:"-10";s:6:"ugrave";s:3:"-10";s:13:"uhungarumlaut";s:3:"-10";s:7:"umacron";s:3:"-10";s:7:"uogonek";s:3:"-10";s:5:"uring";s:3:"-10";s:1:"v";s:3:"-40";s:1:"y";s:3:"-20";s:6:"yacute";s:3:"-20";s:9:"ydieresis";s:3:"-20";}s:6:"nacute";a:13:{s:1:"u";s:3:"-10";s:6:"uacute";s:3:"-10";s:11:"ucircumflex";s:3:"-10";s:9:"udieresis";s:3:"-10";s:6:"ugrave";s:3:"-10";s:13:"uhungarumlaut";s:3:"-10";s:7:"umacron";s:3:"-10";s:7:"uogonek";s:3:"-10";s:5:"uring";s:3:"-10";s:1:"v";s:3:"-40";s:1:"y";s:3:"-20";s:6:"yacute";s:3:"-20";s:9:"ydieresis";s:3:"-20";}s:6:"ncaron";a:13:{s:1:"u";s:3:"-10";s:6:"uacute";s:3:"-10";s:11:"ucircumflex";s:3:"-10";s:9:"udieresis";s:3:"-10";s:6:"ugrave";s:3:"-10";s:13:"uhungarumlaut";s:3:"-10";s:7:"umacron";s:3:"-10";s:7:"uogonek";s:3:"-10";s:5:"uring";s:3:"-10";s:1:"v";s:3:"-40";s:1:"y";s:3:"-20";s:6:"yacute";s:3:"-20";s:9:"ydieresis";s:3:"-20";}s:12:"ncommaaccent";a:13:{s:1:"u";s:3:"-10";s:6:"uacute";s:3:"-10";s:11:"ucircumflex";s:3:"-10";s:9:"udieresis";s:3:"-10";s:6:"ugrave";s:3:"-10";s:13:"uhungarumlaut";s:3:"-10";s:7:"umacron";s:3:"-10";s:7:"uogonek";s:3:"-10";s:5:"uring";s:3:"-10";s:1:"v";s:3:"-40";s:1:"y";s:3:"-20";s:6:"yacute";s:3:"-20";s:9:"ydieresis";s:3:"-20";}s:6:"ntilde";a:13:{s:1:"u";s:3:"-10";s:6:"uacute";s:3:"-10";s:11:"ucircumflex";s:3:"-10";s:9:"udieresis";s:3:"-10";s:6:"ugrave";s:3:"-10";s:13:"uhungarumlaut";s:3:"-10";s:7:"umacron";s:3:"-10";s:7:"uogonek";s:3:"-10";s:5:"uring";s:3:"-10";s:1:"v";s:3:"-40";s:1:"y";s:3:"-20";s:6:"yacute";s:3:"-20";s:9:"ydieresis";s:3:"-20";}s:1:"o";a:6:{s:1:"v";s:3:"-20";s:1:"w";s:3:"-15";s:1:"x";s:3:"-30";s:1:"y";s:3:"-20";s:6:"yacute";s:3:"-20";s:9:"ydieresis";s:3:"-20";}s:6:"oacute";a:6:{s:1:"v";s:3:"-20";s:1:"w";s:3:"-15";s:1:"x";s:3:"-30";s:1:"y";s:3:"-20";s:6:"yacute";s:3:"-20";s:9:"ydieresis";s:3:"-20";}s:11:"ocircumflex";a:6:{s:1:"v";s:3:"-20";s:1:"w";s:3:"-15";s:1:"x";s:3:"-30";s:1:"y";s:3:"-20";s:6:"yacute";s:3:"-20";s:9:"ydieresis";s:3:"-20";}s:9:"odieresis";a:6:{s:1:"v";s:3:"-20";s:1:"w";s:3:"-15";s:1:"x";s:3:"-30";s:1:"y";s:3:"-20";s:6:"yacute";s:3:"-20";s:9:"ydieresis";s:3:"-20";}s:6:"ograve";a:6:{s:1:"v";s:3:"-20";s:1:"w";s:3:"-15";s:1:"x";s:3:"-30";s:1:"y";s:3:"-20";s:6:"yacute";s:3:"-20";s:9:"ydieresis";s:3:"-20";}s:13:"ohungarumlaut";a:6:{s:1:"v";s:3:"-20";s:1:"w";s:3:"-15";s:1:"x";s:3:"-30";s:1:"y";s:3:"-20";s:6:"yacute";s:3:"-20";s:9:"ydieresis";s:3:"-20";}s:7:"omacron";a:6:{s:1:"v";s:3:"-20";s:1:"w";s:3:"-15";s:1:"x";s:3:"-30";s:1:"y";s:3:"-20";s:6:"yacute";s:3:"-20";s:9:"ydieresis";s:3:"-20";}s:6:"oslash";a:6:{s:1:"v";s:3:"-20";s:1:"w";s:3:"-15";s:1:"x";s:3:"-30";s:1:"y";s:3:"-20";s:6:"yacute";s:3:"-20";s:9:"ydieresis";s:3:"-20";}s:6:"otilde";a:6:{s:1:"v";s:3:"-20";s:1:"w";s:3:"-15";s:1:"x";s:3:"-30";s:1:"y";s:3:"-20";s:6:"yacute";s:3:"-20";s:9:"ydieresis";s:3:"-20";}s:1:"p";a:3:{s:1:"y";s:3:"-15";s:6:"yacute";s:3:"-15";s:9:"ydieresis";s:3:"-15";}s:6:"period";a:3:{s:13:"quotedblright";s:4:"-120";s:10:"quoteright";s:4:"-120";s:5:"space";s:3:"-40";}s:13:"quotedblright";a:1:{s:5:"space";s:3:"-80";}s:9:"quoteleft";a:1:{s:9:"quoteleft";s:3:"-46";}s:10:"quoteright";a:18:{s:1:"d";s:3:"-80";s:6:"dcroat";s:3:"-80";s:1:"l";s:3:"-20";s:6:"lacute";s:3:"-20";s:12:"lcommaaccent";s:3:"-20";s:6:"lslash";s:3:"-20";s:10:"quoteright";s:3:"-46";s:1:"r";s:3:"-40";s:6:"racute";s:3:"-40";s:6:"rcaron";s:3:"-40";s:12:"rcommaaccent";s:3:"-40";s:1:"s";s:3:"-60";s:6:"sacute";s:3:"-60";s:6:"scaron";s:3:"-60";s:8:"scedilla";s:3:"-60";s:12:"scommaaccent";s:3:"-60";s:5:"space";s:3:"-80";s:1:"v";s:3:"-20";}s:1:"r";a:33:{s:1:"c";s:3:"-20";s:6:"cacute";s:3:"-20";s:6:"ccaron";s:3:"-20";s:8:"ccedilla";s:3:"-20";s:5:"comma";s:3:"-60";s:1:"d";s:3:"-20";s:6:"dcroat";s:3:"-20";s:1:"g";s:3:"-15";s:6:"gbreve";s:3:"-15";s:12:"gcommaaccent";s:3:"-15";s:6:"hyphen";s:3:"-20";s:1:"o";s:3:"-20";s:6:"oacute";s:3:"-20";s:11:"ocircumflex";s:3:"-20";s:9:"odieresis";s:3:"-20";s:6:"ograve";s:3:"-20";s:13:"ohungarumlaut";s:3:"-20";s:7:"omacron";s:3:"-20";s:6:"oslash";s:3:"-20";s:6:"otilde";s:3:"-20";s:6:"period";s:3:"-60";s:1:"q";s:3:"-20";s:1:"s";s:3:"-15";s:6:"sacute";s:3:"-15";s:6:"scaron";s:3:"-15";s:8:"scedilla";s:3:"-15";s:12:"scommaaccent";s:3:"-15";s:1:"t";s:2:"20";s:12:"tcommaaccent";s:2:"20";s:1:"v";s:2:"10";s:1:"y";s:2:"10";s:6:"yacute";s:2:"10";s:9:"ydieresis";s:2:"10";}s:6:"racute";a:33:{s:1:"c";s:3:"-20";s:6:"cacute";s:3:"-20";s:6:"ccaron";s:3:"-20";s:8:"ccedilla";s:3:"-20";s:5:"comma";s:3:"-60";s:1:"d";s:3:"-20";s:6:"dcroat";s:3:"-20";s:1:"g";s:3:"-15";s:6:"gbreve";s:3:"-15";s:12:"gcommaaccent";s:3:"-15";s:6:"hyphen";s:3:"-20";s:1:"o";s:3:"-20";s:6:"oacute";s:3:"-20";s:11:"ocircumflex";s:3:"-20";s:9:"odieresis";s:3:"-20";s:6:"ograve";s:3:"-20";s:13:"ohungarumlaut";s:3:"-20";s:7:"omacron";s:3:"-20";s:6:"oslash";s:3:"-20";s:6:"otilde";s:3:"-20";s:6:"period";s:3:"-60";s:1:"q";s:3:"-20";s:1:"s";s:3:"-15";s:6:"sacute";s:3:"-15";s:6:"scaron";s:3:"-15";s:8:"scedilla";s:3:"-15";s:12:"scommaaccent";s:3:"-15";s:1:"t";s:2:"20";s:12:"tcommaaccent";s:2:"20";s:1:"v";s:2:"10";s:1:"y";s:2:"10";s:6:"yacute";s:2:"10";s:9:"ydieresis";s:2:"10";}s:6:"rcaron";a:33:{s:1:"c";s:3:"-20";s:6:"cacute";s:3:"-20";s:6:"ccaron";s:3:"-20";s:8:"ccedilla";s:3:"-20";s:5:"comma";s:3:"-60";s:1:"d";s:3:"-20";s:6:"dcroat";s:3:"-20";s:1:"g";s:3:"-15";s:6:"gbreve";s:3:"-15";s:12:"gcommaaccent";s:3:"-15";s:6:"hyphen";s:3:"-20";s:1:"o";s:3:"-20";s:6:"oacute";s:3:"-20";s:11:"ocircumflex";s:3:"-20";s:9:"odieresis";s:3:"-20";s:6:"ograve";s:3:"-20";s:13:"ohungarumlaut";s:3:"-20";s:7:"omacron";s:3:"-20";s:6:"oslash";s:3:"-20";s:6:"otilde";s:3:"-20";s:6:"period";s:3:"-60";s:1:"q";s:3:"-20";s:1:"s";s:3:"-15";s:6:"sacute";s:3:"-15";s:6:"scaron";s:3:"-15";s:8:"scedilla";s:3:"-15";s:12:"scommaaccent";s:3:"-15";s:1:"t";s:2:"20";s:12:"tcommaaccent";s:2:"20";s:1:"v";s:2:"10";s:1:"y";s:2:"10";s:6:"yacute";s:2:"10";s:9:"ydieresis";s:2:"10";}s:12:"rcommaaccent";a:33:{s:1:"c";s:3:"-20";s:6:"cacute";s:3:"-20";s:6:"ccaron";s:3:"-20";s:8:"ccedilla";s:3:"-20";s:5:"comma";s:3:"-60";s:1:"d";s:3:"-20";s:6:"dcroat";s:3:"-20";s:1:"g";s:3:"-15";s:6:"gbreve";s:3:"-15";s:12:"gcommaaccent";s:3:"-15";s:6:"hyphen";s:3:"-20";s:1:"o";s:3:"-20";s:6:"oacute";s:3:"-20";s:11:"ocircumflex";s:3:"-20";s:9:"odieresis";s:3:"-20";s:6:"ograve";s:3:"-20";s:13:"ohungarumlaut";s:3:"-20";s:7:"omacron";s:3:"-20";s:6:"oslash";s:3:"-20";s:6:"otilde";s:3:"-20";s:6:"period";s:3:"-60";s:1:"q";s:3:"-20";s:1:"s";s:3:"-15";s:6:"sacute";s:3:"-15";s:6:"scaron";s:3:"-15";s:8:"scedilla";s:3:"-15";s:12:"scommaaccent";s:3:"-15";s:1:"t";s:2:"20";s:12:"tcommaaccent";s:2:"20";s:1:"v";s:2:"10";s:1:"y";s:2:"10";s:6:"yacute";s:2:"10";s:9:"ydieresis";s:2:"10";}s:1:"s";a:1:{s:1:"w";s:3:"-15";}s:6:"sacute";a:1:{s:1:"w";s:3:"-15";}s:6:"scaron";a:1:{s:1:"w";s:3:"-15";}s:8:"scedilla";a:1:{s:1:"w";s:3:"-15";}s:12:"scommaaccent";a:1:{s:1:"w";s:3:"-15";}s:9:"semicolon";a:1:{s:5:"space";s:3:"-40";}s:5:"space";a:10:{s:1:"T";s:4:"-100";s:6:"Tcaron";s:4:"-100";s:12:"Tcommaaccent";s:4:"-100";s:1:"V";s:3:"-80";s:1:"W";s:3:"-80";s:1:"Y";s:4:"-120";s:6:"Yacute";s:4:"-120";s:9:"Ydieresis";s:4:"-120";s:12:"quotedblleft";s:3:"-80";s:9:"quoteleft";s:3:"-60";}s:1:"v";a:21:{s:1:"a";s:3:"-20";s:6:"aacute";s:3:"-20";s:6:"abreve";s:3:"-20";s:11:"acircumflex";s:3:"-20";s:9:"adieresis";s:3:"-20";s:6:"agrave";s:3:"-20";s:7:"amacron";s:3:"-20";s:7:"aogonek";s:3:"-20";s:5:"aring";s:3:"-20";s:6:"atilde";s:3:"-20";s:5:"comma";s:3:"-80";s:1:"o";s:3:"-30";s:6:"oacute";s:3:"-30";s:11:"ocircumflex";s:3:"-30";s:9:"odieresis";s:3:"-30";s:6:"ograve";s:3:"-30";s:13:"ohungarumlaut";s:3:"-30";s:7:"omacron";s:3:"-30";s:6:"oslash";s:3:"-30";s:6:"otilde";s:3:"-30";s:6:"period";s:3:"-80";}s:1:"w";a:11:{s:5:"comma";s:3:"-40";s:1:"o";s:3:"-20";s:6:"oacute";s:3:"-20";s:11:"ocircumflex";s:3:"-20";s:9:"odieresis";s:3:"-20";s:6:"ograve";s:3:"-20";s:13:"ohungarumlaut";s:3:"-20";s:7:"omacron";s:3:"-20";s:6:"oslash";s:3:"-20";s:6:"otilde";s:3:"-20";s:6:"period";s:3:"-40";}s:1:"x";a:9:{s:1:"e";s:3:"-10";s:6:"eacute";s:3:"-10";s:6:"ecaron";s:3:"-10";s:11:"ecircumflex";s:3:"-10";s:9:"edieresis";s:3:"-10";s:10:"edotaccent";s:3:"-10";s:6:"egrave";s:3:"-10";s:7:"emacron";s:3:"-10";s:7:"eogonek";s:3:"-10";}s:1:"y";a:30:{s:1:"a";s:3:"-30";s:6:"aacute";s:3:"-30";s:6:"abreve";s:3:"-30";s:11:"acircumflex";s:3:"-30";s:9:"adieresis";s:3:"-30";s:6:"agrave";s:3:"-30";s:7:"amacron";s:3:"-30";s:7:"aogonek";s:3:"-30";s:5:"aring";s:3:"-30";s:6:"atilde";s:3:"-30";s:5:"comma";s:3:"-80";s:1:"e";s:3:"-10";s:6:"eacute";s:3:"-10";s:6:"ecaron";s:3:"-10";s:11:"ecircumflex";s:3:"-10";s:9:"edieresis";s:3:"-10";s:10:"edotaccent";s:3:"-10";s:6:"egrave";s:3:"-10";s:7:"emacron";s:3:"-10";s:7:"eogonek";s:3:"-10";s:1:"o";s:3:"-25";s:6:"oacute";s:3:"-25";s:11:"ocircumflex";s:3:"-25";s:9:"odieresis";s:3:"-25";s:6:"ograve";s:3:"-25";s:13:"ohungarumlaut";s:3:"-25";s:7:"omacron";s:3:"-25";s:6:"oslash";s:3:"-25";s:6:"otilde";s:3:"-25";s:6:"period";s:3:"-80";}s:6:"yacute";a:30:{s:1:"a";s:3:"-30";s:6:"aacute";s:3:"-30";s:6:"abreve";s:3:"-30";s:11:"acircumflex";s:3:"-30";s:9:"adieresis";s:3:"-30";s:6:"agrave";s:3:"-30";s:7:"amacron";s:3:"-30";s:7:"aogonek";s:3:"-30";s:5:"aring";s:3:"-30";s:6:"atilde";s:3:"-30";s:5:"comma";s:3:"-80";s:1:"e";s:3:"-10";s:6:"eacute";s:3:"-10";s:6:"ecaron";s:3:"-10";s:11:"ecircumflex";s:3:"-10";s:9:"edieresis";s:3:"-10";s:10:"edotaccent";s:3:"-10";s:6:"egrave";s:3:"-10";s:7:"emacron";s:3:"-10";s:7:"eogonek";s:3:"-10";s:1:"o";s:3:"-25";s:6:"oacute";s:3:"-25";s:11:"ocircumflex";s:3:"-25";s:9:"odieresis";s:3:"-25";s:6:"ograve";s:3:"-25";s:13:"ohungarumlaut";s:3:"-25";s:7:"omacron";s:3:"-25";s:6:"oslash";s:3:"-25";s:6:"otilde";s:3:"-25";s:6:"period";s:3:"-80";}s:9:"ydieresis";a:30:{s:1:"a";s:3:"-30";s:6:"aacute";s:3:"-30";s:6:"abreve";s:3:"-30";s:11:"acircumflex";s:3:"-30";s:9:"adieresis";s:3:"-30";s:6:"agrave";s:3:"-30";s:7:"amacron";s:3:"-30";s:7:"aogonek";s:3:"-30";s:5:"aring";s:3:"-30";s:6:"atilde";s:3:"-30";s:5:"comma";s:3:"-80";s:1:"e";s:3:"-10";s:6:"eacute";s:3:"-10";s:6:"ecaron";s:3:"-10";s:11:"ecircumflex";s:3:"-10";s:9:"edieresis";s:3:"-10";s:10:"edotaccent";s:3:"-10";s:6:"egrave";s:3:"-10";s:7:"emacron";s:3:"-10";s:7:"eogonek";s:3:"-10";s:1:"o";s:3:"-25";s:6:"oacute";s:3:"-25";s:11:"ocircumflex";s:3:"-25";s:9:"odieresis";s:3:"-25";s:6:"ograve";s:3:"-25";s:13:"ohungarumlaut";s:3:"-25";s:7:"omacron";s:3:"-25";s:6:"oslash";s:3:"-25";s:6:"otilde";s:3:"-25";s:6:"period";s:3:"-80";}s:1:"z";a:9:{s:1:"e";s:2:"10";s:6:"eacute";s:2:"10";s:6:"ecaron";s:2:"10";s:11:"ecircumflex";s:2:"10";s:9:"edieresis";s:2:"10";s:10:"edotaccent";s:2:"10";s:6:"egrave";s:2:"10";s:7:"emacron";s:2:"10";s:7:"eogonek";s:2:"10";}s:6:"zacute";a:9:{s:1:"e";s:2:"10";s:6:"eacute";s:2:"10";s:6:"ecaron";s:2:"10";s:11:"ecircumflex";s:2:"10";s:9:"edieresis";s:2:"10";s:10:"edotaccent";s:2:"10";s:6:"egrave";s:2:"10";s:7:"emacron";s:2:"10";s:7:"eogonek";s:2:"10";}s:6:"zcaron";a:9:{s:1:"e";s:2:"10";s:6:"eacute";s:2:"10";s:6:"ecaron";s:2:"10";s:11:"ecircumflex";s:2:"10";s:9:"edieresis";s:2:"10";s:10:"edotaccent";s:2:"10";s:6:"egrave";s:2:"10";s:7:"emacron";s:2:"10";s:7:"eogonek";s:2:"10";}s:10:"zdotaccent";a:9:{s:1:"e";s:2:"10";s:6:"eacute";s:2:"10";s:6:"ecaron";s:2:"10";s:11:"ecircumflex";s:2:"10";s:9:"edieresis";s:2:"10";s:10:"edotaccent";s:2:"10";s:6:"egrave";s:2:"10";s:7:"emacron";s:2:"10";s:7:"eogonek";s:2:"10";}}s:9:"_version_";i:1;}
\ No newline at end of file diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/PDF/default/templates/fonts/php_Helvetica-Oblique.afm b/buildscripts/PhpDocumentor/phpDocumentor/Converters/PDF/default/templates/fonts/php_Helvetica-Oblique.afm new file mode 100755 index 00000000..5b32a2fd --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/PDF/default/templates/fonts/php_Helvetica-Oblique.afm @@ -0,0 +1 @@ +a:22:{s:8:"FontName";s:17:"Helvetica-Oblique";s:8:"FullName";s:17:"Helvetica Oblique";s:10:"FamilyName";s:9:"Helvetica";s:6:"Weight";s:6:"Medium";s:11:"ItalicAngle";s:3:"-12";s:12:"IsFixedPitch";s:5:"false";s:12:"CharacterSet";s:13:"ExtendedRoman";s:8:"FontBBox";a:4:{i:0;s:4:"-170";i:1;s:4:"-225";i:2;s:4:"1116";i:3;s:3:"931";}s:17:"UnderlinePosition";s:4:"-100";s:18:"UnderlineThickness";s:2:"50";s:7:"Version";s:7:"002.000";s:14:"EncodingScheme";s:21:"AdobeStandardEncoding";s:9:"CapHeight";s:3:"718";s:7:"XHeight";s:3:"523";s:8:"Ascender";s:3:"718";s:9:"Descender";s:4:"-207";s:5:"StdHW";s:2:"76";s:5:"StdVW";s:2:"88";s:16:"StartCharMetrics";s:3:"315";s:1:"C";a:464:{i:32;a:4:{s:1:"C";s:2:"32";s:2:"WX";s:3:"278";s:1:"N";s:5:"space";s:1:"B";a:4:{i:0;s:1:"0";i:1;s:1:"0";i:2;s:1:"0";i:3;s:1:"0";}}s:5:"space";a:4:{s:1:"C";s:2:"32";s:2:"WX";s:3:"278";s:1:"N";s:5:"space";s:1:"B";a:4:{i:0;s:1:"0";i:1;s:1:"0";i:2;s:1:"0";i:3;s:1:"0";}}i:33;a:4:{s:1:"C";s:2:"33";s:2:"WX";s:3:"278";s:1:"N";s:6:"exclam";s:1:"B";a:4:{i:0;s:2:"90";i:1;s:1:"0";i:2;s:3:"340";i:3;s:3:"718";}}s:6:"exclam";a:4:{s:1:"C";s:2:"33";s:2:"WX";s:3:"278";s:1:"N";s:6:"exclam";s:1:"B";a:4:{i:0;s:2:"90";i:1;s:1:"0";i:2;s:3:"340";i:3;s:3:"718";}}i:34;a:4:{s:1:"C";s:2:"34";s:2:"WX";s:3:"355";s:1:"N";s:8:"quotedbl";s:1:"B";a:4:{i:0;s:3:"168";i:1;s:3:"463";i:2;s:3:"438";i:3;s:3:"718";}}s:8:"quotedbl";a:4:{s:1:"C";s:2:"34";s:2:"WX";s:3:"355";s:1:"N";s:8:"quotedbl";s:1:"B";a:4:{i:0;s:3:"168";i:1;s:3:"463";i:2;s:3:"438";i:3;s:3:"718";}}i:35;a:4:{s:1:"C";s:2:"35";s:2:"WX";s:3:"556";s:1:"N";s:10:"numbersign";s:1:"B";a:4:{i:0;s:2:"73";i:1;s:1:"0";i:2;s:3:"631";i:3;s:3:"688";}}s:10:"numbersign";a:4:{s:1:"C";s:2:"35";s:2:"WX";s:3:"556";s:1:"N";s:10:"numbersign";s:1:"B";a:4:{i:0;s:2:"73";i:1;s:1:"0";i:2;s:3:"631";i:3;s:3:"688";}}i:36;a:4:{s:1:"C";s:2:"36";s:2:"WX";s:3:"556";s:1:"N";s:6:"dollar";s:1:"B";a:4:{i:0;s:2:"69";i:1;s:4:"-115";i:2;s:3:"617";i:3;s:3:"775";}}s:6:"dollar";a:4:{s:1:"C";s:2:"36";s:2:"WX";s:3:"556";s:1:"N";s:6:"dollar";s:1:"B";a:4:{i:0;s:2:"69";i:1;s:4:"-115";i:2;s:3:"617";i:3;s:3:"775";}}i:37;a:4:{s:1:"C";s:2:"37";s:2:"WX";s:3:"889";s:1:"N";s:7:"percent";s:1:"B";a:4:{i:0;s:3:"147";i:1;s:3:"-19";i:2;s:3:"889";i:3;s:3:"703";}}s:7:"percent";a:4:{s:1:"C";s:2:"37";s:2:"WX";s:3:"889";s:1:"N";s:7:"percent";s:1:"B";a:4:{i:0;s:3:"147";i:1;s:3:"-19";i:2;s:3:"889";i:3;s:3:"703";}}i:38;a:4:{s:1:"C";s:2:"38";s:2:"WX";s:3:"667";s:1:"N";s:9:"ampersand";s:1:"B";a:4:{i:0;s:2:"77";i:1;s:3:"-15";i:2;s:3:"647";i:3;s:3:"718";}}s:9:"ampersand";a:4:{s:1:"C";s:2:"38";s:2:"WX";s:3:"667";s:1:"N";s:9:"ampersand";s:1:"B";a:4:{i:0;s:2:"77";i:1;s:3:"-15";i:2;s:3:"647";i:3;s:3:"718";}}i:39;a:4:{s:1:"C";s:2:"39";s:2:"WX";s:3:"222";s:1:"N";s:10:"quoteright";s:1:"B";a:4:{i:0;s:3:"151";i:1;s:3:"463";i:2;s:3:"310";i:3;s:3:"718";}}s:10:"quoteright";a:4:{s:1:"C";s:2:"39";s:2:"WX";s:3:"222";s:1:"N";s:10:"quoteright";s:1:"B";a:4:{i:0;s:3:"151";i:1;s:3:"463";i:2;s:3:"310";i:3;s:3:"718";}}i:40;a:4:{s:1:"C";s:2:"40";s:2:"WX";s:3:"333";s:1:"N";s:9:"parenleft";s:1:"B";a:4:{i:0;s:3:"108";i:1;s:4:"-207";i:2;s:3:"454";i:3;s:3:"733";}}s:9:"parenleft";a:4:{s:1:"C";s:2:"40";s:2:"WX";s:3:"333";s:1:"N";s:9:"parenleft";s:1:"B";a:4:{i:0;s:3:"108";i:1;s:4:"-207";i:2;s:3:"454";i:3;s:3:"733";}}i:41;a:4:{s:1:"C";s:2:"41";s:2:"WX";s:3:"333";s:1:"N";s:10:"parenright";s:1:"B";a:4:{i:0;s:2:"-9";i:1;s:4:"-207";i:2;s:3:"337";i:3;s:3:"733";}}s:10:"parenright";a:4:{s:1:"C";s:2:"41";s:2:"WX";s:3:"333";s:1:"N";s:10:"parenright";s:1:"B";a:4:{i:0;s:2:"-9";i:1;s:4:"-207";i:2;s:3:"337";i:3;s:3:"733";}}i:42;a:4:{s:1:"C";s:2:"42";s:2:"WX";s:3:"389";s:1:"N";s:8:"asterisk";s:1:"B";a:4:{i:0;s:3:"165";i:1;s:3:"431";i:2;s:3:"475";i:3;s:3:"718";}}s:8:"asterisk";a:4:{s:1:"C";s:2:"42";s:2:"WX";s:3:"389";s:1:"N";s:8:"asterisk";s:1:"B";a:4:{i:0;s:3:"165";i:1;s:3:"431";i:2;s:3:"475";i:3;s:3:"718";}}i:43;a:4:{s:1:"C";s:2:"43";s:2:"WX";s:3:"584";s:1:"N";s:4:"plus";s:1:"B";a:4:{i:0;s:2:"85";i:1;s:1:"0";i:2;s:3:"606";i:3;s:3:"505";}}s:4:"plus";a:4:{s:1:"C";s:2:"43";s:2:"WX";s:3:"584";s:1:"N";s:4:"plus";s:1:"B";a:4:{i:0;s:2:"85";i:1;s:1:"0";i:2;s:3:"606";i:3;s:3:"505";}}i:44;a:4:{s:1:"C";s:2:"44";s:2:"WX";s:3:"278";s:1:"N";s:5:"comma";s:1:"B";a:4:{i:0;s:2:"56";i:1;s:4:"-147";i:2;s:3:"214";i:3;s:3:"106";}}s:5:"comma";a:4:{s:1:"C";s:2:"44";s:2:"WX";s:3:"278";s:1:"N";s:5:"comma";s:1:"B";a:4:{i:0;s:2:"56";i:1;s:4:"-147";i:2;s:3:"214";i:3;s:3:"106";}}i:45;a:4:{s:1:"C";s:2:"45";s:2:"WX";s:3:"333";s:1:"N";s:6:"hyphen";s:1:"B";a:4:{i:0;s:2:"93";i:1;s:3:"232";i:2;s:3:"357";i:3;s:3:"322";}}s:6:"hyphen";a:4:{s:1:"C";s:2:"45";s:2:"WX";s:3:"333";s:1:"N";s:6:"hyphen";s:1:"B";a:4:{i:0;s:2:"93";i:1;s:3:"232";i:2;s:3:"357";i:3;s:3:"322";}}i:46;a:4:{s:1:"C";s:2:"46";s:2:"WX";s:3:"278";s:1:"N";s:6:"period";s:1:"B";a:4:{i:0;s:2:"87";i:1;s:1:"0";i:2;s:3:"214";i:3;s:3:"106";}}s:6:"period";a:4:{s:1:"C";s:2:"46";s:2:"WX";s:3:"278";s:1:"N";s:6:"period";s:1:"B";a:4:{i:0;s:2:"87";i:1;s:1:"0";i:2;s:3:"214";i:3;s:3:"106";}}i:47;a:4:{s:1:"C";s:2:"47";s:2:"WX";s:3:"278";s:1:"N";s:5:"slash";s:1:"B";a:4:{i:0;s:3:"-21";i:1;s:3:"-19";i:2;s:3:"452";i:3;s:3:"737";}}s:5:"slash";a:4:{s:1:"C";s:2:"47";s:2:"WX";s:3:"278";s:1:"N";s:5:"slash";s:1:"B";a:4:{i:0;s:3:"-21";i:1;s:3:"-19";i:2;s:3:"452";i:3;s:3:"737";}}i:48;a:4:{s:1:"C";s:2:"48";s:2:"WX";s:3:"556";s:1:"N";s:4:"zero";s:1:"B";a:4:{i:0;s:2:"93";i:1;s:3:"-19";i:2;s:3:"608";i:3;s:3:"703";}}s:4:"zero";a:4:{s:1:"C";s:2:"48";s:2:"WX";s:3:"556";s:1:"N";s:4:"zero";s:1:"B";a:4:{i:0;s:2:"93";i:1;s:3:"-19";i:2;s:3:"608";i:3;s:3:"703";}}i:49;a:4:{s:1:"C";s:2:"49";s:2:"WX";s:3:"556";s:1:"N";s:3:"one";s:1:"B";a:4:{i:0;s:3:"207";i:1;s:1:"0";i:2;s:3:"508";i:3;s:3:"703";}}s:3:"one";a:4:{s:1:"C";s:2:"49";s:2:"WX";s:3:"556";s:1:"N";s:3:"one";s:1:"B";a:4:{i:0;s:3:"207";i:1;s:1:"0";i:2;s:3:"508";i:3;s:3:"703";}}i:50;a:4:{s:1:"C";s:2:"50";s:2:"WX";s:3:"556";s:1:"N";s:3:"two";s:1:"B";a:4:{i:0;s:2:"26";i:1;s:1:"0";i:2;s:3:"617";i:3;s:3:"703";}}s:3:"two";a:4:{s:1:"C";s:2:"50";s:2:"WX";s:3:"556";s:1:"N";s:3:"two";s:1:"B";a:4:{i:0;s:2:"26";i:1;s:1:"0";i:2;s:3:"617";i:3;s:3:"703";}}i:51;a:4:{s:1:"C";s:2:"51";s:2:"WX";s:3:"556";s:1:"N";s:5:"three";s:1:"B";a:4:{i:0;s:2:"75";i:1;s:3:"-19";i:2;s:3:"610";i:3;s:3:"703";}}s:5:"three";a:4:{s:1:"C";s:2:"51";s:2:"WX";s:3:"556";s:1:"N";s:5:"three";s:1:"B";a:4:{i:0;s:2:"75";i:1;s:3:"-19";i:2;s:3:"610";i:3;s:3:"703";}}i:52;a:4:{s:1:"C";s:2:"52";s:2:"WX";s:3:"556";s:1:"N";s:4:"four";s:1:"B";a:4:{i:0;s:2:"61";i:1;s:1:"0";i:2;s:3:"576";i:3;s:3:"703";}}s:4:"four";a:4:{s:1:"C";s:2:"52";s:2:"WX";s:3:"556";s:1:"N";s:4:"four";s:1:"B";a:4:{i:0;s:2:"61";i:1;s:1:"0";i:2;s:3:"576";i:3;s:3:"703";}}i:53;a:4:{s:1:"C";s:2:"53";s:2:"WX";s:3:"556";s:1:"N";s:4:"five";s:1:"B";a:4:{i:0;s:2:"68";i:1;s:3:"-19";i:2;s:3:"621";i:3;s:3:"688";}}s:4:"five";a:4:{s:1:"C";s:2:"53";s:2:"WX";s:3:"556";s:1:"N";s:4:"five";s:1:"B";a:4:{i:0;s:2:"68";i:1;s:3:"-19";i:2;s:3:"621";i:3;s:3:"688";}}i:54;a:4:{s:1:"C";s:2:"54";s:2:"WX";s:3:"556";s:1:"N";s:3:"six";s:1:"B";a:4:{i:0;s:2:"91";i:1;s:3:"-19";i:2;s:3:"615";i:3;s:3:"703";}}s:3:"six";a:4:{s:1:"C";s:2:"54";s:2:"WX";s:3:"556";s:1:"N";s:3:"six";s:1:"B";a:4:{i:0;s:2:"91";i:1;s:3:"-19";i:2;s:3:"615";i:3;s:3:"703";}}i:55;a:4:{s:1:"C";s:2:"55";s:2:"WX";s:3:"556";s:1:"N";s:5:"seven";s:1:"B";a:4:{i:0;s:3:"137";i:1;s:1:"0";i:2;s:3:"669";i:3;s:3:"688";}}s:5:"seven";a:4:{s:1:"C";s:2:"55";s:2:"WX";s:3:"556";s:1:"N";s:5:"seven";s:1:"B";a:4:{i:0;s:3:"137";i:1;s:1:"0";i:2;s:3:"669";i:3;s:3:"688";}}i:56;a:4:{s:1:"C";s:2:"56";s:2:"WX";s:3:"556";s:1:"N";s:5:"eight";s:1:"B";a:4:{i:0;s:2:"74";i:1;s:3:"-19";i:2;s:3:"607";i:3;s:3:"703";}}s:5:"eight";a:4:{s:1:"C";s:2:"56";s:2:"WX";s:3:"556";s:1:"N";s:5:"eight";s:1:"B";a:4:{i:0;s:2:"74";i:1;s:3:"-19";i:2;s:3:"607";i:3;s:3:"703";}}i:57;a:4:{s:1:"C";s:2:"57";s:2:"WX";s:3:"556";s:1:"N";s:4:"nine";s:1:"B";a:4:{i:0;s:2:"82";i:1;s:3:"-19";i:2;s:3:"609";i:3;s:3:"703";}}s:4:"nine";a:4:{s:1:"C";s:2:"57";s:2:"WX";s:3:"556";s:1:"N";s:4:"nine";s:1:"B";a:4:{i:0;s:2:"82";i:1;s:3:"-19";i:2;s:3:"609";i:3;s:3:"703";}}i:58;a:4:{s:1:"C";s:2:"58";s:2:"WX";s:3:"278";s:1:"N";s:5:"colon";s:1:"B";a:4:{i:0;s:2:"87";i:1;s:1:"0";i:2;s:3:"301";i:3;s:3:"516";}}s:5:"colon";a:4:{s:1:"C";s:2:"58";s:2:"WX";s:3:"278";s:1:"N";s:5:"colon";s:1:"B";a:4:{i:0;s:2:"87";i:1;s:1:"0";i:2;s:3:"301";i:3;s:3:"516";}}i:59;a:4:{s:1:"C";s:2:"59";s:2:"WX";s:3:"278";s:1:"N";s:9:"semicolon";s:1:"B";a:4:{i:0;s:2:"56";i:1;s:4:"-147";i:2;s:3:"301";i:3;s:3:"516";}}s:9:"semicolon";a:4:{s:1:"C";s:2:"59";s:2:"WX";s:3:"278";s:1:"N";s:9:"semicolon";s:1:"B";a:4:{i:0;s:2:"56";i:1;s:4:"-147";i:2;s:3:"301";i:3;s:3:"516";}}i:60;a:4:{s:1:"C";s:2:"60";s:2:"WX";s:3:"584";s:1:"N";s:4:"less";s:1:"B";a:4:{i:0;s:2:"94";i:1;s:2:"11";i:2;s:3:"641";i:3;s:3:"495";}}s:4:"less";a:4:{s:1:"C";s:2:"60";s:2:"WX";s:3:"584";s:1:"N";s:4:"less";s:1:"B";a:4:{i:0;s:2:"94";i:1;s:2:"11";i:2;s:3:"641";i:3;s:3:"495";}}i:61;a:4:{s:1:"C";s:2:"61";s:2:"WX";s:3:"584";s:1:"N";s:5:"equal";s:1:"B";a:4:{i:0;s:2:"63";i:1;s:3:"115";i:2;s:3:"628";i:3;s:3:"390";}}s:5:"equal";a:4:{s:1:"C";s:2:"61";s:2:"WX";s:3:"584";s:1:"N";s:5:"equal";s:1:"B";a:4:{i:0;s:2:"63";i:1;s:3:"115";i:2;s:3:"628";i:3;s:3:"390";}}i:62;a:4:{s:1:"C";s:2:"62";s:2:"WX";s:3:"584";s:1:"N";s:7:"greater";s:1:"B";a:4:{i:0;s:2:"50";i:1;s:2:"11";i:2;s:3:"597";i:3;s:3:"495";}}s:7:"greater";a:4:{s:1:"C";s:2:"62";s:2:"WX";s:3:"584";s:1:"N";s:7:"greater";s:1:"B";a:4:{i:0;s:2:"50";i:1;s:2:"11";i:2;s:3:"597";i:3;s:3:"495";}}i:63;a:4:{s:1:"C";s:2:"63";s:2:"WX";s:3:"556";s:1:"N";s:8:"question";s:1:"B";a:4:{i:0;s:3:"161";i:1;s:1:"0";i:2;s:3:"610";i:3;s:3:"727";}}s:8:"question";a:4:{s:1:"C";s:2:"63";s:2:"WX";s:3:"556";s:1:"N";s:8:"question";s:1:"B";a:4:{i:0;s:3:"161";i:1;s:1:"0";i:2;s:3:"610";i:3;s:3:"727";}}i:64;a:4:{s:1:"C";s:2:"64";s:2:"WX";s:4:"1015";s:1:"N";s:2:"at";s:1:"B";a:4:{i:0;s:3:"215";i:1;s:3:"-19";i:2;s:3:"965";i:3;s:3:"737";}}s:2:"at";a:4:{s:1:"C";s:2:"64";s:2:"WX";s:4:"1015";s:1:"N";s:2:"at";s:1:"B";a:4:{i:0;s:3:"215";i:1;s:3:"-19";i:2;s:3:"965";i:3;s:3:"737";}}i:65;a:4:{s:1:"C";s:2:"65";s:2:"WX";s:3:"667";s:1:"N";s:1:"A";s:1:"B";a:4:{i:0;s:2:"14";i:1;s:1:"0";i:2;s:3:"654";i:3;s:3:"718";}}s:1:"A";a:4:{s:1:"C";s:2:"65";s:2:"WX";s:3:"667";s:1:"N";s:1:"A";s:1:"B";a:4:{i:0;s:2:"14";i:1;s:1:"0";i:2;s:3:"654";i:3;s:3:"718";}}i:66;a:4:{s:1:"C";s:2:"66";s:2:"WX";s:3:"667";s:1:"N";s:1:"B";s:1:"B";a:4:{i:0;s:2:"74";i:1;s:1:"0";i:2;s:3:"712";i:3;s:3:"718";}}s:1:"B";a:4:{s:1:"C";s:2:"66";s:2:"WX";s:3:"667";s:1:"N";s:1:"B";s:1:"B";a:4:{i:0;s:2:"74";i:1;s:1:"0";i:2;s:3:"712";i:3;s:3:"718";}}i:67;a:4:{s:1:"C";s:2:"67";s:2:"WX";s:3:"722";s:1:"N";s:1:"C";s:1:"B";a:4:{i:0;s:3:"108";i:1;s:3:"-19";i:2;s:3:"782";i:3;s:3:"737";}}s:1:"C";a:4:{s:1:"C";s:2:"67";s:2:"WX";s:3:"722";s:1:"N";s:1:"C";s:1:"B";a:4:{i:0;s:3:"108";i:1;s:3:"-19";i:2;s:3:"782";i:3;s:3:"737";}}i:68;a:4:{s:1:"C";s:2:"68";s:2:"WX";s:3:"722";s:1:"N";s:1:"D";s:1:"B";a:4:{i:0;s:2:"81";i:1;s:1:"0";i:2;s:3:"764";i:3;s:3:"718";}}s:1:"D";a:4:{s:1:"C";s:2:"68";s:2:"WX";s:3:"722";s:1:"N";s:1:"D";s:1:"B";a:4:{i:0;s:2:"81";i:1;s:1:"0";i:2;s:3:"764";i:3;s:3:"718";}}i:69;a:4:{s:1:"C";s:2:"69";s:2:"WX";s:3:"667";s:1:"N";s:1:"E";s:1:"B";a:4:{i:0;s:2:"86";i:1;s:1:"0";i:2;s:3:"762";i:3;s:3:"718";}}s:1:"E";a:4:{s:1:"C";s:2:"69";s:2:"WX";s:3:"667";s:1:"N";s:1:"E";s:1:"B";a:4:{i:0;s:2:"86";i:1;s:1:"0";i:2;s:3:"762";i:3;s:3:"718";}}i:70;a:4:{s:1:"C";s:2:"70";s:2:"WX";s:3:"611";s:1:"N";s:1:"F";s:1:"B";a:4:{i:0;s:2:"86";i:1;s:1:"0";i:2;s:3:"736";i:3;s:3:"718";}}s:1:"F";a:4:{s:1:"C";s:2:"70";s:2:"WX";s:3:"611";s:1:"N";s:1:"F";s:1:"B";a:4:{i:0;s:2:"86";i:1;s:1:"0";i:2;s:3:"736";i:3;s:3:"718";}}i:71;a:4:{s:1:"C";s:2:"71";s:2:"WX";s:3:"778";s:1:"N";s:1:"G";s:1:"B";a:4:{i:0;s:3:"111";i:1;s:3:"-19";i:2;s:3:"799";i:3;s:3:"737";}}s:1:"G";a:4:{s:1:"C";s:2:"71";s:2:"WX";s:3:"778";s:1:"N";s:1:"G";s:1:"B";a:4:{i:0;s:3:"111";i:1;s:3:"-19";i:2;s:3:"799";i:3;s:3:"737";}}i:72;a:4:{s:1:"C";s:2:"72";s:2:"WX";s:3:"722";s:1:"N";s:1:"H";s:1:"B";a:4:{i:0;s:2:"77";i:1;s:1:"0";i:2;s:3:"799";i:3;s:3:"718";}}s:1:"H";a:4:{s:1:"C";s:2:"72";s:2:"WX";s:3:"722";s:1:"N";s:1:"H";s:1:"B";a:4:{i:0;s:2:"77";i:1;s:1:"0";i:2;s:3:"799";i:3;s:3:"718";}}i:73;a:4:{s:1:"C";s:2:"73";s:2:"WX";s:3:"278";s:1:"N";s:1:"I";s:1:"B";a:4:{i:0;s:2:"91";i:1;s:1:"0";i:2;s:3:"341";i:3;s:3:"718";}}s:1:"I";a:4:{s:1:"C";s:2:"73";s:2:"WX";s:3:"278";s:1:"N";s:1:"I";s:1:"B";a:4:{i:0;s:2:"91";i:1;s:1:"0";i:2;s:3:"341";i:3;s:3:"718";}}i:74;a:4:{s:1:"C";s:2:"74";s:2:"WX";s:3:"500";s:1:"N";s:1:"J";s:1:"B";a:4:{i:0;s:2:"47";i:1;s:3:"-19";i:2;s:3:"581";i:3;s:3:"718";}}s:1:"J";a:4:{s:1:"C";s:2:"74";s:2:"WX";s:3:"500";s:1:"N";s:1:"J";s:1:"B";a:4:{i:0;s:2:"47";i:1;s:3:"-19";i:2;s:3:"581";i:3;s:3:"718";}}i:75;a:4:{s:1:"C";s:2:"75";s:2:"WX";s:3:"667";s:1:"N";s:1:"K";s:1:"B";a:4:{i:0;s:2:"76";i:1;s:1:"0";i:2;s:3:"808";i:3;s:3:"718";}}s:1:"K";a:4:{s:1:"C";s:2:"75";s:2:"WX";s:3:"667";s:1:"N";s:1:"K";s:1:"B";a:4:{i:0;s:2:"76";i:1;s:1:"0";i:2;s:3:"808";i:3;s:3:"718";}}i:76;a:4:{s:1:"C";s:2:"76";s:2:"WX";s:3:"556";s:1:"N";s:1:"L";s:1:"B";a:4:{i:0;s:2:"76";i:1;s:1:"0";i:2;s:3:"555";i:3;s:3:"718";}}s:1:"L";a:4:{s:1:"C";s:2:"76";s:2:"WX";s:3:"556";s:1:"N";s:1:"L";s:1:"B";a:4:{i:0;s:2:"76";i:1;s:1:"0";i:2;s:3:"555";i:3;s:3:"718";}}i:77;a:4:{s:1:"C";s:2:"77";s:2:"WX";s:3:"833";s:1:"N";s:1:"M";s:1:"B";a:4:{i:0;s:2:"73";i:1;s:1:"0";i:2;s:3:"914";i:3;s:3:"718";}}s:1:"M";a:4:{s:1:"C";s:2:"77";s:2:"WX";s:3:"833";s:1:"N";s:1:"M";s:1:"B";a:4:{i:0;s:2:"73";i:1;s:1:"0";i:2;s:3:"914";i:3;s:3:"718";}}i:78;a:4:{s:1:"C";s:2:"78";s:2:"WX";s:3:"722";s:1:"N";s:1:"N";s:1:"B";a:4:{i:0;s:2:"76";i:1;s:1:"0";i:2;s:3:"799";i:3;s:3:"718";}}s:1:"N";a:4:{s:1:"C";s:2:"78";s:2:"WX";s:3:"722";s:1:"N";s:1:"N";s:1:"B";a:4:{i:0;s:2:"76";i:1;s:1:"0";i:2;s:3:"799";i:3;s:3:"718";}}i:79;a:4:{s:1:"C";s:2:"79";s:2:"WX";s:3:"778";s:1:"N";s:1:"O";s:1:"B";a:4:{i:0;s:3:"105";i:1;s:3:"-19";i:2;s:3:"826";i:3;s:3:"737";}}s:1:"O";a:4:{s:1:"C";s:2:"79";s:2:"WX";s:3:"778";s:1:"N";s:1:"O";s:1:"B";a:4:{i:0;s:3:"105";i:1;s:3:"-19";i:2;s:3:"826";i:3;s:3:"737";}}i:80;a:4:{s:1:"C";s:2:"80";s:2:"WX";s:3:"667";s:1:"N";s:1:"P";s:1:"B";a:4:{i:0;s:2:"86";i:1;s:1:"0";i:2;s:3:"737";i:3;s:3:"718";}}s:1:"P";a:4:{s:1:"C";s:2:"80";s:2:"WX";s:3:"667";s:1:"N";s:1:"P";s:1:"B";a:4:{i:0;s:2:"86";i:1;s:1:"0";i:2;s:3:"737";i:3;s:3:"718";}}i:81;a:4:{s:1:"C";s:2:"81";s:2:"WX";s:3:"778";s:1:"N";s:1:"Q";s:1:"B";a:4:{i:0;s:3:"105";i:1;s:3:"-56";i:2;s:3:"826";i:3;s:3:"737";}}s:1:"Q";a:4:{s:1:"C";s:2:"81";s:2:"WX";s:3:"778";s:1:"N";s:1:"Q";s:1:"B";a:4:{i:0;s:3:"105";i:1;s:3:"-56";i:2;s:3:"826";i:3;s:3:"737";}}i:82;a:4:{s:1:"C";s:2:"82";s:2:"WX";s:3:"722";s:1:"N";s:1:"R";s:1:"B";a:4:{i:0;s:2:"88";i:1;s:1:"0";i:2;s:3:"773";i:3;s:3:"718";}}s:1:"R";a:4:{s:1:"C";s:2:"82";s:2:"WX";s:3:"722";s:1:"N";s:1:"R";s:1:"B";a:4:{i:0;s:2:"88";i:1;s:1:"0";i:2;s:3:"773";i:3;s:3:"718";}}i:83;a:4:{s:1:"C";s:2:"83";s:2:"WX";s:3:"667";s:1:"N";s:1:"S";s:1:"B";a:4:{i:0;s:2:"90";i:1;s:3:"-19";i:2;s:3:"713";i:3;s:3:"737";}}s:1:"S";a:4:{s:1:"C";s:2:"83";s:2:"WX";s:3:"667";s:1:"N";s:1:"S";s:1:"B";a:4:{i:0;s:2:"90";i:1;s:3:"-19";i:2;s:3:"713";i:3;s:3:"737";}}i:84;a:4:{s:1:"C";s:2:"84";s:2:"WX";s:3:"611";s:1:"N";s:1:"T";s:1:"B";a:4:{i:0;s:3:"148";i:1;s:1:"0";i:2;s:3:"750";i:3;s:3:"718";}}s:1:"T";a:4:{s:1:"C";s:2:"84";s:2:"WX";s:3:"611";s:1:"N";s:1:"T";s:1:"B";a:4:{i:0;s:3:"148";i:1;s:1:"0";i:2;s:3:"750";i:3;s:3:"718";}}i:85;a:4:{s:1:"C";s:2:"85";s:2:"WX";s:3:"722";s:1:"N";s:1:"U";s:1:"B";a:4:{i:0;s:3:"123";i:1;s:3:"-19";i:2;s:3:"797";i:3;s:3:"718";}}s:1:"U";a:4:{s:1:"C";s:2:"85";s:2:"WX";s:3:"722";s:1:"N";s:1:"U";s:1:"B";a:4:{i:0;s:3:"123";i:1;s:3:"-19";i:2;s:3:"797";i:3;s:3:"718";}}i:86;a:4:{s:1:"C";s:2:"86";s:2:"WX";s:3:"667";s:1:"N";s:1:"V";s:1:"B";a:4:{i:0;s:3:"173";i:1;s:1:"0";i:2;s:3:"800";i:3;s:3:"718";}}s:1:"V";a:4:{s:1:"C";s:2:"86";s:2:"WX";s:3:"667";s:1:"N";s:1:"V";s:1:"B";a:4:{i:0;s:3:"173";i:1;s:1:"0";i:2;s:3:"800";i:3;s:3:"718";}}i:87;a:4:{s:1:"C";s:2:"87";s:2:"WX";s:3:"944";s:1:"N";s:1:"W";s:1:"B";a:4:{i:0;s:3:"169";i:1;s:1:"0";i:2;s:4:"1081";i:3;s:3:"718";}}s:1:"W";a:4:{s:1:"C";s:2:"87";s:2:"WX";s:3:"944";s:1:"N";s:1:"W";s:1:"B";a:4:{i:0;s:3:"169";i:1;s:1:"0";i:2;s:4:"1081";i:3;s:3:"718";}}i:88;a:4:{s:1:"C";s:2:"88";s:2:"WX";s:3:"667";s:1:"N";s:1:"X";s:1:"B";a:4:{i:0;s:2:"19";i:1;s:1:"0";i:2;s:3:"790";i:3;s:3:"718";}}s:1:"X";a:4:{s:1:"C";s:2:"88";s:2:"WX";s:3:"667";s:1:"N";s:1:"X";s:1:"B";a:4:{i:0;s:2:"19";i:1;s:1:"0";i:2;s:3:"790";i:3;s:3:"718";}}i:89;a:4:{s:1:"C";s:2:"89";s:2:"WX";s:3:"667";s:1:"N";s:1:"Y";s:1:"B";a:4:{i:0;s:3:"167";i:1;s:1:"0";i:2;s:3:"806";i:3;s:3:"718";}}s:1:"Y";a:4:{s:1:"C";s:2:"89";s:2:"WX";s:3:"667";s:1:"N";s:1:"Y";s:1:"B";a:4:{i:0;s:3:"167";i:1;s:1:"0";i:2;s:3:"806";i:3;s:3:"718";}}i:90;a:4:{s:1:"C";s:2:"90";s:2:"WX";s:3:"611";s:1:"N";s:1:"Z";s:1:"B";a:4:{i:0;s:2:"23";i:1;s:1:"0";i:2;s:3:"741";i:3;s:3:"718";}}s:1:"Z";a:4:{s:1:"C";s:2:"90";s:2:"WX";s:3:"611";s:1:"N";s:1:"Z";s:1:"B";a:4:{i:0;s:2:"23";i:1;s:1:"0";i:2;s:3:"741";i:3;s:3:"718";}}i:91;a:4:{s:1:"C";s:2:"91";s:2:"WX";s:3:"278";s:1:"N";s:11:"bracketleft";s:1:"B";a:4:{i:0;s:2:"21";i:1;s:4:"-196";i:2;s:3:"403";i:3;s:3:"722";}}s:11:"bracketleft";a:4:{s:1:"C";s:2:"91";s:2:"WX";s:3:"278";s:1:"N";s:11:"bracketleft";s:1:"B";a:4:{i:0;s:2:"21";i:1;s:4:"-196";i:2;s:3:"403";i:3;s:3:"722";}}i:92;a:4:{s:1:"C";s:2:"92";s:2:"WX";s:3:"278";s:1:"N";s:9:"backslash";s:1:"B";a:4:{i:0;s:3:"140";i:1;s:3:"-19";i:2;s:3:"291";i:3;s:3:"737";}}s:9:"backslash";a:4:{s:1:"C";s:2:"92";s:2:"WX";s:3:"278";s:1:"N";s:9:"backslash";s:1:"B";a:4:{i:0;s:3:"140";i:1;s:3:"-19";i:2;s:3:"291";i:3;s:3:"737";}}i:93;a:4:{s:1:"C";s:2:"93";s:2:"WX";s:3:"278";s:1:"N";s:12:"bracketright";s:1:"B";a:4:{i:0;s:3:"-14";i:1;s:4:"-196";i:2;s:3:"368";i:3;s:3:"722";}}s:12:"bracketright";a:4:{s:1:"C";s:2:"93";s:2:"WX";s:3:"278";s:1:"N";s:12:"bracketright";s:1:"B";a:4:{i:0;s:3:"-14";i:1;s:4:"-196";i:2;s:3:"368";i:3;s:3:"722";}}i:94;a:4:{s:1:"C";s:2:"94";s:2:"WX";s:3:"469";s:1:"N";s:11:"asciicircum";s:1:"B";a:4:{i:0;s:2:"42";i:1;s:3:"264";i:2;s:3:"539";i:3;s:3:"688";}}s:11:"asciicircum";a:4:{s:1:"C";s:2:"94";s:2:"WX";s:3:"469";s:1:"N";s:11:"asciicircum";s:1:"B";a:4:{i:0;s:2:"42";i:1;s:3:"264";i:2;s:3:"539";i:3;s:3:"688";}}i:95;a:4:{s:1:"C";s:2:"95";s:2:"WX";s:3:"556";s:1:"N";s:10:"underscore";s:1:"B";a:4:{i:0;s:3:"-27";i:1;s:4:"-125";i:2;s:3:"540";i:3;s:3:"-75";}}s:10:"underscore";a:4:{s:1:"C";s:2:"95";s:2:"WX";s:3:"556";s:1:"N";s:10:"underscore";s:1:"B";a:4:{i:0;s:3:"-27";i:1;s:4:"-125";i:2;s:3:"540";i:3;s:3:"-75";}}i:96;a:4:{s:1:"C";s:2:"96";s:2:"WX";s:3:"222";s:1:"N";s:9:"quoteleft";s:1:"B";a:4:{i:0;s:3:"165";i:1;s:3:"470";i:2;s:3:"323";i:3;s:3:"725";}}s:9:"quoteleft";a:4:{s:1:"C";s:2:"96";s:2:"WX";s:3:"222";s:1:"N";s:9:"quoteleft";s:1:"B";a:4:{i:0;s:3:"165";i:1;s:3:"470";i:2;s:3:"323";i:3;s:3:"725";}}i:97;a:4:{s:1:"C";s:2:"97";s:2:"WX";s:3:"556";s:1:"N";s:1:"a";s:1:"B";a:4:{i:0;s:2:"61";i:1;s:3:"-15";i:2;s:3:"559";i:3;s:3:"538";}}s:1:"a";a:4:{s:1:"C";s:2:"97";s:2:"WX";s:3:"556";s:1:"N";s:1:"a";s:1:"B";a:4:{i:0;s:2:"61";i:1;s:3:"-15";i:2;s:3:"559";i:3;s:3:"538";}}i:98;a:4:{s:1:"C";s:2:"98";s:2:"WX";s:3:"556";s:1:"N";s:1:"b";s:1:"B";a:4:{i:0;s:2:"58";i:1;s:3:"-15";i:2;s:3:"584";i:3;s:3:"718";}}s:1:"b";a:4:{s:1:"C";s:2:"98";s:2:"WX";s:3:"556";s:1:"N";s:1:"b";s:1:"B";a:4:{i:0;s:2:"58";i:1;s:3:"-15";i:2;s:3:"584";i:3;s:3:"718";}}i:99;a:4:{s:1:"C";s:2:"99";s:2:"WX";s:3:"500";s:1:"N";s:1:"c";s:1:"B";a:4:{i:0;s:2:"74";i:1;s:3:"-15";i:2;s:3:"553";i:3;s:3:"538";}}s:1:"c";a:4:{s:1:"C";s:2:"99";s:2:"WX";s:3:"500";s:1:"N";s:1:"c";s:1:"B";a:4:{i:0;s:2:"74";i:1;s:3:"-15";i:2;s:3:"553";i:3;s:3:"538";}}i:100;a:4:{s:1:"C";s:3:"100";s:2:"WX";s:3:"556";s:1:"N";s:1:"d";s:1:"B";a:4:{i:0;s:2:"84";i:1;s:3:"-15";i:2;s:3:"652";i:3;s:3:"718";}}s:1:"d";a:4:{s:1:"C";s:3:"100";s:2:"WX";s:3:"556";s:1:"N";s:1:"d";s:1:"B";a:4:{i:0;s:2:"84";i:1;s:3:"-15";i:2;s:3:"652";i:3;s:3:"718";}}i:101;a:4:{s:1:"C";s:3:"101";s:2:"WX";s:3:"556";s:1:"N";s:1:"e";s:1:"B";a:4:{i:0;s:2:"84";i:1;s:3:"-15";i:2;s:3:"578";i:3;s:3:"538";}}s:1:"e";a:4:{s:1:"C";s:3:"101";s:2:"WX";s:3:"556";s:1:"N";s:1:"e";s:1:"B";a:4:{i:0;s:2:"84";i:1;s:3:"-15";i:2;s:3:"578";i:3;s:3:"538";}}i:102;a:5:{s:1:"C";s:3:"102";s:2:"WX";s:3:"278";s:1:"N";s:1:"f";s:1:"B";a:4:{i:0;s:2:"86";i:1;s:1:"0";i:2;s:3:"416";i:3;s:3:"728";}s:1:"L";a:2:{i:0;s:1:"l";i:1;s:2:"fl";}}s:1:"f";a:5:{s:1:"C";s:3:"102";s:2:"WX";s:3:"278";s:1:"N";s:1:"f";s:1:"B";a:4:{i:0;s:2:"86";i:1;s:1:"0";i:2;s:3:"416";i:3;s:3:"728";}s:1:"L";a:2:{i:0;s:1:"l";i:1;s:2:"fl";}}i:103;a:4:{s:1:"C";s:3:"103";s:2:"WX";s:3:"556";s:1:"N";s:1:"g";s:1:"B";a:4:{i:0;s:2:"42";i:1;s:4:"-220";i:2;s:3:"610";i:3;s:3:"538";}}s:1:"g";a:4:{s:1:"C";s:3:"103";s:2:"WX";s:3:"556";s:1:"N";s:1:"g";s:1:"B";a:4:{i:0;s:2:"42";i:1;s:4:"-220";i:2;s:3:"610";i:3;s:3:"538";}}i:104;a:4:{s:1:"C";s:3:"104";s:2:"WX";s:3:"556";s:1:"N";s:1:"h";s:1:"B";a:4:{i:0;s:2:"65";i:1;s:1:"0";i:2;s:3:"573";i:3;s:3:"718";}}s:1:"h";a:4:{s:1:"C";s:3:"104";s:2:"WX";s:3:"556";s:1:"N";s:1:"h";s:1:"B";a:4:{i:0;s:2:"65";i:1;s:1:"0";i:2;s:3:"573";i:3;s:3:"718";}}i:105;a:4:{s:1:"C";s:3:"105";s:2:"WX";s:3:"222";s:1:"N";s:1:"i";s:1:"B";a:4:{i:0;s:2:"67";i:1;s:1:"0";i:2;s:3:"308";i:3;s:3:"718";}}s:1:"i";a:4:{s:1:"C";s:3:"105";s:2:"WX";s:3:"222";s:1:"N";s:1:"i";s:1:"B";a:4:{i:0;s:2:"67";i:1;s:1:"0";i:2;s:3:"308";i:3;s:3:"718";}}i:106;a:4:{s:1:"C";s:3:"106";s:2:"WX";s:3:"222";s:1:"N";s:1:"j";s:1:"B";a:4:{i:0;s:3:"-60";i:1;s:4:"-210";i:2;s:3:"308";i:3;s:3:"718";}}s:1:"j";a:4:{s:1:"C";s:3:"106";s:2:"WX";s:3:"222";s:1:"N";s:1:"j";s:1:"B";a:4:{i:0;s:3:"-60";i:1;s:4:"-210";i:2;s:3:"308";i:3;s:3:"718";}}i:107;a:4:{s:1:"C";s:3:"107";s:2:"WX";s:3:"500";s:1:"N";s:1:"k";s:1:"B";a:4:{i:0;s:2:"67";i:1;s:1:"0";i:2;s:3:"600";i:3;s:3:"718";}}s:1:"k";a:4:{s:1:"C";s:3:"107";s:2:"WX";s:3:"500";s:1:"N";s:1:"k";s:1:"B";a:4:{i:0;s:2:"67";i:1;s:1:"0";i:2;s:3:"600";i:3;s:3:"718";}}i:108;a:4:{s:1:"C";s:3:"108";s:2:"WX";s:3:"222";s:1:"N";s:1:"l";s:1:"B";a:4:{i:0;s:2:"67";i:1;s:1:"0";i:2;s:3:"308";i:3;s:3:"718";}}s:1:"l";a:4:{s:1:"C";s:3:"108";s:2:"WX";s:3:"222";s:1:"N";s:1:"l";s:1:"B";a:4:{i:0;s:2:"67";i:1;s:1:"0";i:2;s:3:"308";i:3;s:3:"718";}}i:109;a:4:{s:1:"C";s:3:"109";s:2:"WX";s:3:"833";s:1:"N";s:1:"m";s:1:"B";a:4:{i:0;s:2:"65";i:1;s:1:"0";i:2;s:3:"852";i:3;s:3:"538";}}s:1:"m";a:4:{s:1:"C";s:3:"109";s:2:"WX";s:3:"833";s:1:"N";s:1:"m";s:1:"B";a:4:{i:0;s:2:"65";i:1;s:1:"0";i:2;s:3:"852";i:3;s:3:"538";}}i:110;a:4:{s:1:"C";s:3:"110";s:2:"WX";s:3:"556";s:1:"N";s:1:"n";s:1:"B";a:4:{i:0;s:2:"65";i:1;s:1:"0";i:2;s:3:"573";i:3;s:3:"538";}}s:1:"n";a:4:{s:1:"C";s:3:"110";s:2:"WX";s:3:"556";s:1:"N";s:1:"n";s:1:"B";a:4:{i:0;s:2:"65";i:1;s:1:"0";i:2;s:3:"573";i:3;s:3:"538";}}i:111;a:4:{s:1:"C";s:3:"111";s:2:"WX";s:3:"556";s:1:"N";s:1:"o";s:1:"B";a:4:{i:0;s:2:"83";i:1;s:3:"-14";i:2;s:3:"585";i:3;s:3:"538";}}s:1:"o";a:4:{s:1:"C";s:3:"111";s:2:"WX";s:3:"556";s:1:"N";s:1:"o";s:1:"B";a:4:{i:0;s:2:"83";i:1;s:3:"-14";i:2;s:3:"585";i:3;s:3:"538";}}i:112;a:4:{s:1:"C";s:3:"112";s:2:"WX";s:3:"556";s:1:"N";s:1:"p";s:1:"B";a:4:{i:0;s:2:"14";i:1;s:4:"-207";i:2;s:3:"584";i:3;s:3:"538";}}s:1:"p";a:4:{s:1:"C";s:3:"112";s:2:"WX";s:3:"556";s:1:"N";s:1:"p";s:1:"B";a:4:{i:0;s:2:"14";i:1;s:4:"-207";i:2;s:3:"584";i:3;s:3:"538";}}i:113;a:4:{s:1:"C";s:3:"113";s:2:"WX";s:3:"556";s:1:"N";s:1:"q";s:1:"B";a:4:{i:0;s:2:"84";i:1;s:4:"-207";i:2;s:3:"605";i:3;s:3:"538";}}s:1:"q";a:4:{s:1:"C";s:3:"113";s:2:"WX";s:3:"556";s:1:"N";s:1:"q";s:1:"B";a:4:{i:0;s:2:"84";i:1;s:4:"-207";i:2;s:3:"605";i:3;s:3:"538";}}i:114;a:4:{s:1:"C";s:3:"114";s:2:"WX";s:3:"333";s:1:"N";s:1:"r";s:1:"B";a:4:{i:0;s:2:"77";i:1;s:1:"0";i:2;s:3:"446";i:3;s:3:"538";}}s:1:"r";a:4:{s:1:"C";s:3:"114";s:2:"WX";s:3:"333";s:1:"N";s:1:"r";s:1:"B";a:4:{i:0;s:2:"77";i:1;s:1:"0";i:2;s:3:"446";i:3;s:3:"538";}}i:115;a:4:{s:1:"C";s:3:"115";s:2:"WX";s:3:"500";s:1:"N";s:1:"s";s:1:"B";a:4:{i:0;s:2:"63";i:1;s:3:"-15";i:2;s:3:"529";i:3;s:3:"538";}}s:1:"s";a:4:{s:1:"C";s:3:"115";s:2:"WX";s:3:"500";s:1:"N";s:1:"s";s:1:"B";a:4:{i:0;s:2:"63";i:1;s:3:"-15";i:2;s:3:"529";i:3;s:3:"538";}}i:116;a:4:{s:1:"C";s:3:"116";s:2:"WX";s:3:"278";s:1:"N";s:1:"t";s:1:"B";a:4:{i:0;s:3:"102";i:1;s:2:"-7";i:2;s:3:"368";i:3;s:3:"669";}}s:1:"t";a:4:{s:1:"C";s:3:"116";s:2:"WX";s:3:"278";s:1:"N";s:1:"t";s:1:"B";a:4:{i:0;s:3:"102";i:1;s:2:"-7";i:2;s:3:"368";i:3;s:3:"669";}}i:117;a:4:{s:1:"C";s:3:"117";s:2:"WX";s:3:"556";s:1:"N";s:1:"u";s:1:"B";a:4:{i:0;s:2:"94";i:1;s:3:"-15";i:2;s:3:"600";i:3;s:3:"523";}}s:1:"u";a:4:{s:1:"C";s:3:"117";s:2:"WX";s:3:"556";s:1:"N";s:1:"u";s:1:"B";a:4:{i:0;s:2:"94";i:1;s:3:"-15";i:2;s:3:"600";i:3;s:3:"523";}}i:118;a:4:{s:1:"C";s:3:"118";s:2:"WX";s:3:"500";s:1:"N";s:1:"v";s:1:"B";a:4:{i:0;s:3:"119";i:1;s:1:"0";i:2;s:3:"603";i:3;s:3:"523";}}s:1:"v";a:4:{s:1:"C";s:3:"118";s:2:"WX";s:3:"500";s:1:"N";s:1:"v";s:1:"B";a:4:{i:0;s:3:"119";i:1;s:1:"0";i:2;s:3:"603";i:3;s:3:"523";}}i:119;a:4:{s:1:"C";s:3:"119";s:2:"WX";s:3:"722";s:1:"N";s:1:"w";s:1:"B";a:4:{i:0;s:3:"125";i:1;s:1:"0";i:2;s:3:"820";i:3;s:3:"523";}}s:1:"w";a:4:{s:1:"C";s:3:"119";s:2:"WX";s:3:"722";s:1:"N";s:1:"w";s:1:"B";a:4:{i:0;s:3:"125";i:1;s:1:"0";i:2;s:3:"820";i:3;s:3:"523";}}i:120;a:4:{s:1:"C";s:3:"120";s:2:"WX";s:3:"500";s:1:"N";s:1:"x";s:1:"B";a:4:{i:0;s:2:"11";i:1;s:1:"0";i:2;s:3:"594";i:3;s:3:"523";}}s:1:"x";a:4:{s:1:"C";s:3:"120";s:2:"WX";s:3:"500";s:1:"N";s:1:"x";s:1:"B";a:4:{i:0;s:2:"11";i:1;s:1:"0";i:2;s:3:"594";i:3;s:3:"523";}}i:121;a:4:{s:1:"C";s:3:"121";s:2:"WX";s:3:"500";s:1:"N";s:1:"y";s:1:"B";a:4:{i:0;s:2:"15";i:1;s:4:"-214";i:2;s:3:"600";i:3;s:3:"523";}}s:1:"y";a:4:{s:1:"C";s:3:"121";s:2:"WX";s:3:"500";s:1:"N";s:1:"y";s:1:"B";a:4:{i:0;s:2:"15";i:1;s:4:"-214";i:2;s:3:"600";i:3;s:3:"523";}}i:122;a:4:{s:1:"C";s:3:"122";s:2:"WX";s:3:"500";s:1:"N";s:1:"z";s:1:"B";a:4:{i:0;s:2:"31";i:1;s:1:"0";i:2;s:3:"571";i:3;s:3:"523";}}s:1:"z";a:4:{s:1:"C";s:3:"122";s:2:"WX";s:3:"500";s:1:"N";s:1:"z";s:1:"B";a:4:{i:0;s:2:"31";i:1;s:1:"0";i:2;s:3:"571";i:3;s:3:"523";}}i:123;a:4:{s:1:"C";s:3:"123";s:2:"WX";s:3:"334";s:1:"N";s:9:"braceleft";s:1:"B";a:4:{i:0;s:2:"92";i:1;s:4:"-196";i:2;s:3:"445";i:3;s:3:"722";}}s:9:"braceleft";a:4:{s:1:"C";s:3:"123";s:2:"WX";s:3:"334";s:1:"N";s:9:"braceleft";s:1:"B";a:4:{i:0;s:2:"92";i:1;s:4:"-196";i:2;s:3:"445";i:3;s:3:"722";}}i:124;a:4:{s:1:"C";s:3:"124";s:2:"WX";s:3:"260";s:1:"N";s:3:"bar";s:1:"B";a:4:{i:0;s:2:"46";i:1;s:4:"-225";i:2;s:3:"332";i:3;s:3:"775";}}s:3:"bar";a:4:{s:1:"C";s:3:"124";s:2:"WX";s:3:"260";s:1:"N";s:3:"bar";s:1:"B";a:4:{i:0;s:2:"46";i:1;s:4:"-225";i:2;s:3:"332";i:3;s:3:"775";}}i:125;a:4:{s:1:"C";s:3:"125";s:2:"WX";s:3:"334";s:1:"N";s:10:"braceright";s:1:"B";a:4:{i:0;s:1:"0";i:1;s:4:"-196";i:2;s:3:"354";i:3;s:3:"722";}}s:10:"braceright";a:4:{s:1:"C";s:3:"125";s:2:"WX";s:3:"334";s:1:"N";s:10:"braceright";s:1:"B";a:4:{i:0;s:1:"0";i:1;s:4:"-196";i:2;s:3:"354";i:3;s:3:"722";}}i:126;a:4:{s:1:"C";s:3:"126";s:2:"WX";s:3:"584";s:1:"N";s:10:"asciitilde";s:1:"B";a:4:{i:0;s:3:"111";i:1;s:3:"180";i:2;s:3:"580";i:3;s:3:"326";}}s:10:"asciitilde";a:4:{s:1:"C";s:3:"126";s:2:"WX";s:3:"584";s:1:"N";s:10:"asciitilde";s:1:"B";a:4:{i:0;s:3:"111";i:1;s:3:"180";i:2;s:3:"580";i:3;s:3:"326";}}i:161;a:4:{s:1:"C";s:3:"161";s:2:"WX";s:3:"333";s:1:"N";s:10:"exclamdown";s:1:"B";a:4:{i:0;s:2:"77";i:1;s:4:"-195";i:2;s:3:"326";i:3;s:3:"523";}}s:10:"exclamdown";a:4:{s:1:"C";s:3:"161";s:2:"WX";s:3:"333";s:1:"N";s:10:"exclamdown";s:1:"B";a:4:{i:0;s:2:"77";i:1;s:4:"-195";i:2;s:3:"326";i:3;s:3:"523";}}i:162;a:4:{s:1:"C";s:3:"162";s:2:"WX";s:3:"556";s:1:"N";s:4:"cent";s:1:"B";a:4:{i:0;s:2:"95";i:1;s:4:"-115";i:2;s:3:"584";i:3;s:3:"623";}}s:4:"cent";a:4:{s:1:"C";s:3:"162";s:2:"WX";s:3:"556";s:1:"N";s:4:"cent";s:1:"B";a:4:{i:0;s:2:"95";i:1;s:4:"-115";i:2;s:3:"584";i:3;s:3:"623";}}i:163;a:4:{s:1:"C";s:3:"163";s:2:"WX";s:3:"556";s:1:"N";s:8:"sterling";s:1:"B";a:4:{i:0;s:2:"49";i:1;s:3:"-16";i:2;s:3:"634";i:3;s:3:"718";}}s:8:"sterling";a:4:{s:1:"C";s:3:"163";s:2:"WX";s:3:"556";s:1:"N";s:8:"sterling";s:1:"B";a:4:{i:0;s:2:"49";i:1;s:3:"-16";i:2;s:3:"634";i:3;s:3:"718";}}i:164;a:4:{s:1:"C";s:3:"164";s:2:"WX";s:3:"167";s:1:"N";s:8:"fraction";s:1:"B";a:4:{i:0;s:4:"-170";i:1;s:3:"-19";i:2;s:3:"482";i:3;s:3:"703";}}s:8:"fraction";a:4:{s:1:"C";s:3:"164";s:2:"WX";s:3:"167";s:1:"N";s:8:"fraction";s:1:"B";a:4:{i:0;s:4:"-170";i:1;s:3:"-19";i:2;s:3:"482";i:3;s:3:"703";}}i:165;a:4:{s:1:"C";s:3:"165";s:2:"WX";s:3:"556";s:1:"N";s:3:"yen";s:1:"B";a:4:{i:0;s:2:"81";i:1;s:1:"0";i:2;s:3:"699";i:3;s:3:"688";}}s:3:"yen";a:4:{s:1:"C";s:3:"165";s:2:"WX";s:3:"556";s:1:"N";s:3:"yen";s:1:"B";a:4:{i:0;s:2:"81";i:1;s:1:"0";i:2;s:3:"699";i:3;s:3:"688";}}i:166;a:4:{s:1:"C";s:3:"166";s:2:"WX";s:3:"556";s:1:"N";s:6:"florin";s:1:"B";a:4:{i:0;s:3:"-52";i:1;s:4:"-207";i:2;s:3:"654";i:3;s:3:"737";}}s:6:"florin";a:4:{s:1:"C";s:3:"166";s:2:"WX";s:3:"556";s:1:"N";s:6:"florin";s:1:"B";a:4:{i:0;s:3:"-52";i:1;s:4:"-207";i:2;s:3:"654";i:3;s:3:"737";}}i:167;a:4:{s:1:"C";s:3:"167";s:2:"WX";s:3:"556";s:1:"N";s:7:"section";s:1:"B";a:4:{i:0;s:2:"76";i:1;s:4:"-191";i:2;s:3:"584";i:3;s:3:"737";}}s:7:"section";a:4:{s:1:"C";s:3:"167";s:2:"WX";s:3:"556";s:1:"N";s:7:"section";s:1:"B";a:4:{i:0;s:2:"76";i:1;s:4:"-191";i:2;s:3:"584";i:3;s:3:"737";}}i:168;a:4:{s:1:"C";s:3:"168";s:2:"WX";s:3:"556";s:1:"N";s:8:"currency";s:1:"B";a:4:{i:0;s:2:"60";i:1;s:2:"99";i:2;s:3:"646";i:3;s:3:"603";}}s:8:"currency";a:4:{s:1:"C";s:3:"168";s:2:"WX";s:3:"556";s:1:"N";s:8:"currency";s:1:"B";a:4:{i:0;s:2:"60";i:1;s:2:"99";i:2;s:3:"646";i:3;s:3:"603";}}i:169;a:4:{s:1:"C";s:3:"169";s:2:"WX";s:3:"191";s:1:"N";s:11:"quotesingle";s:1:"B";a:4:{i:0;s:3:"157";i:1;s:3:"463";i:2;s:3:"285";i:3;s:3:"718";}}s:11:"quotesingle";a:4:{s:1:"C";s:3:"169";s:2:"WX";s:3:"191";s:1:"N";s:11:"quotesingle";s:1:"B";a:4:{i:0;s:3:"157";i:1;s:3:"463";i:2;s:3:"285";i:3;s:3:"718";}}i:170;a:4:{s:1:"C";s:3:"170";s:2:"WX";s:3:"333";s:1:"N";s:12:"quotedblleft";s:1:"B";a:4:{i:0;s:3:"138";i:1;s:3:"470";i:2;s:3:"461";i:3;s:3:"725";}}s:12:"quotedblleft";a:4:{s:1:"C";s:3:"170";s:2:"WX";s:3:"333";s:1:"N";s:12:"quotedblleft";s:1:"B";a:4:{i:0;s:3:"138";i:1;s:3:"470";i:2;s:3:"461";i:3;s:3:"725";}}i:171;a:4:{s:1:"C";s:3:"171";s:2:"WX";s:3:"556";s:1:"N";s:13:"guillemotleft";s:1:"B";a:4:{i:0;s:3:"146";i:1;s:3:"108";i:2;s:3:"554";i:3;s:3:"446";}}s:13:"guillemotleft";a:4:{s:1:"C";s:3:"171";s:2:"WX";s:3:"556";s:1:"N";s:13:"guillemotleft";s:1:"B";a:4:{i:0;s:3:"146";i:1;s:3:"108";i:2;s:3:"554";i:3;s:3:"446";}}i:172;a:4:{s:1:"C";s:3:"172";s:2:"WX";s:3:"333";s:1:"N";s:13:"guilsinglleft";s:1:"B";a:4:{i:0;s:3:"137";i:1;s:3:"108";i:2;s:3:"340";i:3;s:3:"446";}}s:13:"guilsinglleft";a:4:{s:1:"C";s:3:"172";s:2:"WX";s:3:"333";s:1:"N";s:13:"guilsinglleft";s:1:"B";a:4:{i:0;s:3:"137";i:1;s:3:"108";i:2;s:3:"340";i:3;s:3:"446";}}i:173;a:4:{s:1:"C";s:3:"173";s:2:"WX";s:3:"333";s:1:"N";s:14:"guilsinglright";s:1:"B";a:4:{i:0;s:3:"111";i:1;s:3:"108";i:2;s:3:"314";i:3;s:3:"446";}}s:14:"guilsinglright";a:4:{s:1:"C";s:3:"173";s:2:"WX";s:3:"333";s:1:"N";s:14:"guilsinglright";s:1:"B";a:4:{i:0;s:3:"111";i:1;s:3:"108";i:2;s:3:"314";i:3;s:3:"446";}}i:174;a:4:{s:1:"C";s:3:"174";s:2:"WX";s:3:"500";s:1:"N";s:2:"fi";s:1:"B";a:4:{i:0;s:2:"86";i:1;s:1:"0";i:2;s:3:"587";i:3;s:3:"728";}}s:2:"fi";a:4:{s:1:"C";s:3:"174";s:2:"WX";s:3:"500";s:1:"N";s:2:"fi";s:1:"B";a:4:{i:0;s:2:"86";i:1;s:1:"0";i:2;s:3:"587";i:3;s:3:"728";}}i:175;a:4:{s:1:"C";s:3:"175";s:2:"WX";s:3:"500";s:1:"N";s:2:"fl";s:1:"B";a:4:{i:0;s:2:"86";i:1;s:1:"0";i:2;s:3:"585";i:3;s:3:"728";}}s:2:"fl";a:4:{s:1:"C";s:3:"175";s:2:"WX";s:3:"500";s:1:"N";s:2:"fl";s:1:"B";a:4:{i:0;s:2:"86";i:1;s:1:"0";i:2;s:3:"585";i:3;s:3:"728";}}i:177;a:4:{s:1:"C";s:3:"177";s:2:"WX";s:3:"556";s:1:"N";s:6:"endash";s:1:"B";a:4:{i:0;s:2:"51";i:1;s:3:"240";i:2;s:3:"623";i:3;s:3:"313";}}s:6:"endash";a:4:{s:1:"C";s:3:"177";s:2:"WX";s:3:"556";s:1:"N";s:6:"endash";s:1:"B";a:4:{i:0;s:2:"51";i:1;s:3:"240";i:2;s:3:"623";i:3;s:3:"313";}}i:178;a:4:{s:1:"C";s:3:"178";s:2:"WX";s:3:"556";s:1:"N";s:6:"dagger";s:1:"B";a:4:{i:0;s:3:"135";i:1;s:4:"-159";i:2;s:3:"622";i:3;s:3:"718";}}s:6:"dagger";a:4:{s:1:"C";s:3:"178";s:2:"WX";s:3:"556";s:1:"N";s:6:"dagger";s:1:"B";a:4:{i:0;s:3:"135";i:1;s:4:"-159";i:2;s:3:"622";i:3;s:3:"718";}}i:179;a:4:{s:1:"C";s:3:"179";s:2:"WX";s:3:"556";s:1:"N";s:9:"daggerdbl";s:1:"B";a:4:{i:0;s:2:"52";i:1;s:4:"-159";i:2;s:3:"623";i:3;s:3:"718";}}s:9:"daggerdbl";a:4:{s:1:"C";s:3:"179";s:2:"WX";s:3:"556";s:1:"N";s:9:"daggerdbl";s:1:"B";a:4:{i:0;s:2:"52";i:1;s:4:"-159";i:2;s:3:"623";i:3;s:3:"718";}}i:180;a:4:{s:1:"C";s:3:"180";s:2:"WX";s:3:"278";s:1:"N";s:14:"periodcentered";s:1:"B";a:4:{i:0;s:3:"129";i:1;s:3:"190";i:2;s:3:"257";i:3;s:3:"315";}}s:14:"periodcentered";a:4:{s:1:"C";s:3:"180";s:2:"WX";s:3:"278";s:1:"N";s:14:"periodcentered";s:1:"B";a:4:{i:0;s:3:"129";i:1;s:3:"190";i:2;s:3:"257";i:3;s:3:"315";}}i:182;a:4:{s:1:"C";s:3:"182";s:2:"WX";s:3:"537";s:1:"N";s:9:"paragraph";s:1:"B";a:4:{i:0;s:3:"126";i:1;s:4:"-173";i:2;s:3:"650";i:3;s:3:"718";}}s:9:"paragraph";a:4:{s:1:"C";s:3:"182";s:2:"WX";s:3:"537";s:1:"N";s:9:"paragraph";s:1:"B";a:4:{i:0;s:3:"126";i:1;s:4:"-173";i:2;s:3:"650";i:3;s:3:"718";}}i:183;a:4:{s:1:"C";s:3:"183";s:2:"WX";s:3:"350";s:1:"N";s:6:"bullet";s:1:"B";a:4:{i:0;s:2:"91";i:1;s:3:"202";i:2;s:3:"413";i:3;s:3:"517";}}s:6:"bullet";a:4:{s:1:"C";s:3:"183";s:2:"WX";s:3:"350";s:1:"N";s:6:"bullet";s:1:"B";a:4:{i:0;s:2:"91";i:1;s:3:"202";i:2;s:3:"413";i:3;s:3:"517";}}i:184;a:4:{s:1:"C";s:3:"184";s:2:"WX";s:3:"222";s:1:"N";s:14:"quotesinglbase";s:1:"B";a:4:{i:0;s:2:"21";i:1;s:4:"-149";i:2;s:3:"180";i:3;s:3:"106";}}s:14:"quotesinglbase";a:4:{s:1:"C";s:3:"184";s:2:"WX";s:3:"222";s:1:"N";s:14:"quotesinglbase";s:1:"B";a:4:{i:0;s:2:"21";i:1;s:4:"-149";i:2;s:3:"180";i:3;s:3:"106";}}i:185;a:4:{s:1:"C";s:3:"185";s:2:"WX";s:3:"333";s:1:"N";s:12:"quotedblbase";s:1:"B";a:4:{i:0;s:2:"-6";i:1;s:4:"-149";i:2;s:3:"318";i:3;s:3:"106";}}s:12:"quotedblbase";a:4:{s:1:"C";s:3:"185";s:2:"WX";s:3:"333";s:1:"N";s:12:"quotedblbase";s:1:"B";a:4:{i:0;s:2:"-6";i:1;s:4:"-149";i:2;s:3:"318";i:3;s:3:"106";}}i:186;a:4:{s:1:"C";s:3:"186";s:2:"WX";s:3:"333";s:1:"N";s:13:"quotedblright";s:1:"B";a:4:{i:0;s:3:"124";i:1;s:3:"463";i:2;s:3:"448";i:3;s:3:"718";}}s:13:"quotedblright";a:4:{s:1:"C";s:3:"186";s:2:"WX";s:3:"333";s:1:"N";s:13:"quotedblright";s:1:"B";a:4:{i:0;s:3:"124";i:1;s:3:"463";i:2;s:3:"448";i:3;s:3:"718";}}i:187;a:4:{s:1:"C";s:3:"187";s:2:"WX";s:3:"556";s:1:"N";s:14:"guillemotright";s:1:"B";a:4:{i:0;s:3:"120";i:1;s:3:"108";i:2;s:3:"528";i:3;s:3:"446";}}s:14:"guillemotright";a:4:{s:1:"C";s:3:"187";s:2:"WX";s:3:"556";s:1:"N";s:14:"guillemotright";s:1:"B";a:4:{i:0;s:3:"120";i:1;s:3:"108";i:2;s:3:"528";i:3;s:3:"446";}}i:188;a:4:{s:1:"C";s:3:"188";s:2:"WX";s:4:"1000";s:1:"N";s:8:"ellipsis";s:1:"B";a:4:{i:0;s:3:"115";i:1;s:1:"0";i:2;s:3:"908";i:3;s:3:"106";}}s:8:"ellipsis";a:4:{s:1:"C";s:3:"188";s:2:"WX";s:4:"1000";s:1:"N";s:8:"ellipsis";s:1:"B";a:4:{i:0;s:3:"115";i:1;s:1:"0";i:2;s:3:"908";i:3;s:3:"106";}}i:189;a:4:{s:1:"C";s:3:"189";s:2:"WX";s:4:"1000";s:1:"N";s:11:"perthousand";s:1:"B";a:4:{i:0;s:2:"88";i:1;s:3:"-19";i:2;s:4:"1029";i:3;s:3:"703";}}s:11:"perthousand";a:4:{s:1:"C";s:3:"189";s:2:"WX";s:4:"1000";s:1:"N";s:11:"perthousand";s:1:"B";a:4:{i:0;s:2:"88";i:1;s:3:"-19";i:2;s:4:"1029";i:3;s:3:"703";}}i:191;a:4:{s:1:"C";s:3:"191";s:2:"WX";s:3:"611";s:1:"N";s:12:"questiondown";s:1:"B";a:4:{i:0;s:2:"85";i:1;s:4:"-201";i:2;s:3:"534";i:3;s:3:"525";}}s:12:"questiondown";a:4:{s:1:"C";s:3:"191";s:2:"WX";s:3:"611";s:1:"N";s:12:"questiondown";s:1:"B";a:4:{i:0;s:2:"85";i:1;s:4:"-201";i:2;s:3:"534";i:3;s:3:"525";}}i:193;a:4:{s:1:"C";s:3:"193";s:2:"WX";s:3:"333";s:1:"N";s:5:"grave";s:1:"B";a:4:{i:0;s:3:"170";i:1;s:3:"593";i:2;s:3:"337";i:3;s:3:"734";}}s:5:"grave";a:4:{s:1:"C";s:3:"193";s:2:"WX";s:3:"333";s:1:"N";s:5:"grave";s:1:"B";a:4:{i:0;s:3:"170";i:1;s:3:"593";i:2;s:3:"337";i:3;s:3:"734";}}i:194;a:4:{s:1:"C";s:3:"194";s:2:"WX";s:3:"333";s:1:"N";s:5:"acute";s:1:"B";a:4:{i:0;s:3:"248";i:1;s:3:"593";i:2;s:3:"475";i:3;s:3:"734";}}s:5:"acute";a:4:{s:1:"C";s:3:"194";s:2:"WX";s:3:"333";s:1:"N";s:5:"acute";s:1:"B";a:4:{i:0;s:3:"248";i:1;s:3:"593";i:2;s:3:"475";i:3;s:3:"734";}}i:195;a:4:{s:1:"C";s:3:"195";s:2:"WX";s:3:"333";s:1:"N";s:10:"circumflex";s:1:"B";a:4:{i:0;s:3:"147";i:1;s:3:"593";i:2;s:3:"438";i:3;s:3:"734";}}s:10:"circumflex";a:4:{s:1:"C";s:3:"195";s:2:"WX";s:3:"333";s:1:"N";s:10:"circumflex";s:1:"B";a:4:{i:0;s:3:"147";i:1;s:3:"593";i:2;s:3:"438";i:3;s:3:"734";}}i:196;a:4:{s:1:"C";s:3:"196";s:2:"WX";s:3:"333";s:1:"N";s:5:"tilde";s:1:"B";a:4:{i:0;s:3:"125";i:1;s:3:"606";i:2;s:3:"490";i:3;s:3:"722";}}s:5:"tilde";a:4:{s:1:"C";s:3:"196";s:2:"WX";s:3:"333";s:1:"N";s:5:"tilde";s:1:"B";a:4:{i:0;s:3:"125";i:1;s:3:"606";i:2;s:3:"490";i:3;s:3:"722";}}i:197;a:4:{s:1:"C";s:3:"197";s:2:"WX";s:3:"333";s:1:"N";s:6:"macron";s:1:"B";a:4:{i:0;s:3:"143";i:1;s:3:"627";i:2;s:3:"468";i:3;s:3:"684";}}s:6:"macron";a:4:{s:1:"C";s:3:"197";s:2:"WX";s:3:"333";s:1:"N";s:6:"macron";s:1:"B";a:4:{i:0;s:3:"143";i:1;s:3:"627";i:2;s:3:"468";i:3;s:3:"684";}}i:198;a:4:{s:1:"C";s:3:"198";s:2:"WX";s:3:"333";s:1:"N";s:5:"breve";s:1:"B";a:4:{i:0;s:3:"167";i:1;s:3:"595";i:2;s:3:"476";i:3;s:3:"731";}}s:5:"breve";a:4:{s:1:"C";s:3:"198";s:2:"WX";s:3:"333";s:1:"N";s:5:"breve";s:1:"B";a:4:{i:0;s:3:"167";i:1;s:3:"595";i:2;s:3:"476";i:3;s:3:"731";}}i:199;a:4:{s:1:"C";s:3:"199";s:2:"WX";s:3:"333";s:1:"N";s:9:"dotaccent";s:1:"B";a:4:{i:0;s:3:"249";i:1;s:3:"604";i:2;s:3:"362";i:3;s:3:"706";}}s:9:"dotaccent";a:4:{s:1:"C";s:3:"199";s:2:"WX";s:3:"333";s:1:"N";s:9:"dotaccent";s:1:"B";a:4:{i:0;s:3:"249";i:1;s:3:"604";i:2;s:3:"362";i:3;s:3:"706";}}i:200;a:4:{s:1:"C";s:3:"200";s:2:"WX";s:3:"333";s:1:"N";s:8:"dieresis";s:1:"B";a:4:{i:0;s:3:"168";i:1;s:3:"604";i:2;s:3:"443";i:3;s:3:"706";}}s:8:"dieresis";a:4:{s:1:"C";s:3:"200";s:2:"WX";s:3:"333";s:1:"N";s:8:"dieresis";s:1:"B";a:4:{i:0;s:3:"168";i:1;s:3:"604";i:2;s:3:"443";i:3;s:3:"706";}}i:202;a:4:{s:1:"C";s:3:"202";s:2:"WX";s:3:"333";s:1:"N";s:4:"ring";s:1:"B";a:4:{i:0;s:3:"214";i:1;s:3:"572";i:2;s:3:"402";i:3;s:3:"756";}}s:4:"ring";a:4:{s:1:"C";s:3:"202";s:2:"WX";s:3:"333";s:1:"N";s:4:"ring";s:1:"B";a:4:{i:0;s:3:"214";i:1;s:3:"572";i:2;s:3:"402";i:3;s:3:"756";}}i:203;a:4:{s:1:"C";s:3:"203";s:2:"WX";s:3:"333";s:1:"N";s:7:"cedilla";s:1:"B";a:4:{i:0;s:1:"2";i:1;s:4:"-225";i:2;s:3:"232";i:3;s:1:"0";}}s:7:"cedilla";a:4:{s:1:"C";s:3:"203";s:2:"WX";s:3:"333";s:1:"N";s:7:"cedilla";s:1:"B";a:4:{i:0;s:1:"2";i:1;s:4:"-225";i:2;s:3:"232";i:3;s:1:"0";}}i:205;a:4:{s:1:"C";s:3:"205";s:2:"WX";s:3:"333";s:1:"N";s:12:"hungarumlaut";s:1:"B";a:4:{i:0;s:3:"157";i:1;s:3:"593";i:2;s:3:"565";i:3;s:3:"734";}}s:12:"hungarumlaut";a:4:{s:1:"C";s:3:"205";s:2:"WX";s:3:"333";s:1:"N";s:12:"hungarumlaut";s:1:"B";a:4:{i:0;s:3:"157";i:1;s:3:"593";i:2;s:3:"565";i:3;s:3:"734";}}i:206;a:4:{s:1:"C";s:3:"206";s:2:"WX";s:3:"333";s:1:"N";s:6:"ogonek";s:1:"B";a:4:{i:0;s:2:"43";i:1;s:4:"-225";i:2;s:3:"249";i:3;s:1:"0";}}s:6:"ogonek";a:4:{s:1:"C";s:3:"206";s:2:"WX";s:3:"333";s:1:"N";s:6:"ogonek";s:1:"B";a:4:{i:0;s:2:"43";i:1;s:4:"-225";i:2;s:3:"249";i:3;s:1:"0";}}i:207;a:4:{s:1:"C";s:3:"207";s:2:"WX";s:3:"333";s:1:"N";s:5:"caron";s:1:"B";a:4:{i:0;s:3:"177";i:1;s:3:"593";i:2;s:3:"468";i:3;s:3:"734";}}s:5:"caron";a:4:{s:1:"C";s:3:"207";s:2:"WX";s:3:"333";s:1:"N";s:5:"caron";s:1:"B";a:4:{i:0;s:3:"177";i:1;s:3:"593";i:2;s:3:"468";i:3;s:3:"734";}}i:208;a:4:{s:1:"C";s:3:"208";s:2:"WX";s:4:"1000";s:1:"N";s:6:"emdash";s:1:"B";a:4:{i:0;s:2:"51";i:1;s:3:"240";i:2;s:4:"1067";i:3;s:3:"313";}}s:6:"emdash";a:4:{s:1:"C";s:3:"208";s:2:"WX";s:4:"1000";s:1:"N";s:6:"emdash";s:1:"B";a:4:{i:0;s:2:"51";i:1;s:3:"240";i:2;s:4:"1067";i:3;s:3:"313";}}i:225;a:4:{s:1:"C";s:3:"225";s:2:"WX";s:4:"1000";s:1:"N";s:2:"AE";s:1:"B";a:4:{i:0;s:1:"8";i:1;s:1:"0";i:2;s:4:"1097";i:3;s:3:"718";}}s:2:"AE";a:4:{s:1:"C";s:3:"225";s:2:"WX";s:4:"1000";s:1:"N";s:2:"AE";s:1:"B";a:4:{i:0;s:1:"8";i:1;s:1:"0";i:2;s:4:"1097";i:3;s:3:"718";}}i:227;a:4:{s:1:"C";s:3:"227";s:2:"WX";s:3:"370";s:1:"N";s:11:"ordfeminine";s:1:"B";a:4:{i:0;s:3:"127";i:1;s:3:"405";i:2;s:3:"449";i:3;s:3:"737";}}s:11:"ordfeminine";a:4:{s:1:"C";s:3:"227";s:2:"WX";s:3:"370";s:1:"N";s:11:"ordfeminine";s:1:"B";a:4:{i:0;s:3:"127";i:1;s:3:"405";i:2;s:3:"449";i:3;s:3:"737";}}i:232;a:4:{s:1:"C";s:3:"232";s:2:"WX";s:3:"556";s:1:"N";s:6:"Lslash";s:1:"B";a:4:{i:0;s:2:"41";i:1;s:1:"0";i:2;s:3:"555";i:3;s:3:"718";}}s:6:"Lslash";a:4:{s:1:"C";s:3:"232";s:2:"WX";s:3:"556";s:1:"N";s:6:"Lslash";s:1:"B";a:4:{i:0;s:2:"41";i:1;s:1:"0";i:2;s:3:"555";i:3;s:3:"718";}}i:233;a:4:{s:1:"C";s:3:"233";s:2:"WX";s:3:"778";s:1:"N";s:6:"Oslash";s:1:"B";a:4:{i:0;s:2:"43";i:1;s:3:"-19";i:2;s:3:"890";i:3;s:3:"737";}}s:6:"Oslash";a:4:{s:1:"C";s:3:"233";s:2:"WX";s:3:"778";s:1:"N";s:6:"Oslash";s:1:"B";a:4:{i:0;s:2:"43";i:1;s:3:"-19";i:2;s:3:"890";i:3;s:3:"737";}}i:234;a:4:{s:1:"C";s:3:"234";s:2:"WX";s:4:"1000";s:1:"N";s:2:"OE";s:1:"B";a:4:{i:0;s:2:"98";i:1;s:3:"-19";i:2;s:4:"1116";i:3;s:3:"737";}}s:2:"OE";a:4:{s:1:"C";s:3:"234";s:2:"WX";s:4:"1000";s:1:"N";s:2:"OE";s:1:"B";a:4:{i:0;s:2:"98";i:1;s:3:"-19";i:2;s:4:"1116";i:3;s:3:"737";}}i:235;a:4:{s:1:"C";s:3:"235";s:2:"WX";s:3:"365";s:1:"N";s:12:"ordmasculine";s:1:"B";a:4:{i:0;s:3:"141";i:1;s:3:"405";i:2;s:3:"468";i:3;s:3:"737";}}s:12:"ordmasculine";a:4:{s:1:"C";s:3:"235";s:2:"WX";s:3:"365";s:1:"N";s:12:"ordmasculine";s:1:"B";a:4:{i:0;s:3:"141";i:1;s:3:"405";i:2;s:3:"468";i:3;s:3:"737";}}i:241;a:4:{s:1:"C";s:3:"241";s:2:"WX";s:3:"889";s:1:"N";s:2:"ae";s:1:"B";a:4:{i:0;s:2:"61";i:1;s:3:"-15";i:2;s:3:"909";i:3;s:3:"538";}}s:2:"ae";a:4:{s:1:"C";s:3:"241";s:2:"WX";s:3:"889";s:1:"N";s:2:"ae";s:1:"B";a:4:{i:0;s:2:"61";i:1;s:3:"-15";i:2;s:3:"909";i:3;s:3:"538";}}i:245;a:4:{s:1:"C";s:3:"245";s:2:"WX";s:3:"278";s:1:"N";s:8:"dotlessi";s:1:"B";a:4:{i:0;s:2:"95";i:1;s:1:"0";i:2;s:3:"294";i:3;s:3:"523";}}s:8:"dotlessi";a:4:{s:1:"C";s:3:"245";s:2:"WX";s:3:"278";s:1:"N";s:8:"dotlessi";s:1:"B";a:4:{i:0;s:2:"95";i:1;s:1:"0";i:2;s:3:"294";i:3;s:3:"523";}}i:248;a:4:{s:1:"C";s:3:"248";s:2:"WX";s:3:"222";s:1:"N";s:6:"lslash";s:1:"B";a:4:{i:0;s:2:"41";i:1;s:1:"0";i:2;s:3:"347";i:3;s:3:"718";}}s:6:"lslash";a:4:{s:1:"C";s:3:"248";s:2:"WX";s:3:"222";s:1:"N";s:6:"lslash";s:1:"B";a:4:{i:0;s:2:"41";i:1;s:1:"0";i:2;s:3:"347";i:3;s:3:"718";}}i:249;a:4:{s:1:"C";s:3:"249";s:2:"WX";s:3:"611";s:1:"N";s:6:"oslash";s:1:"B";a:4:{i:0;s:2:"29";i:1;s:3:"-22";i:2;s:3:"647";i:3;s:3:"545";}}s:6:"oslash";a:4:{s:1:"C";s:3:"249";s:2:"WX";s:3:"611";s:1:"N";s:6:"oslash";s:1:"B";a:4:{i:0;s:2:"29";i:1;s:3:"-22";i:2;s:3:"647";i:3;s:3:"545";}}i:250;a:4:{s:1:"C";s:3:"250";s:2:"WX";s:3:"944";s:1:"N";s:2:"oe";s:1:"B";a:4:{i:0;s:2:"83";i:1;s:3:"-15";i:2;s:3:"964";i:3;s:3:"538";}}s:2:"oe";a:4:{s:1:"C";s:3:"250";s:2:"WX";s:3:"944";s:1:"N";s:2:"oe";s:1:"B";a:4:{i:0;s:2:"83";i:1;s:3:"-15";i:2;s:3:"964";i:3;s:3:"538";}}i:251;a:4:{s:1:"C";s:3:"251";s:2:"WX";s:3:"611";s:1:"N";s:10:"germandbls";s:1:"B";a:4:{i:0;s:2:"67";i:1;s:3:"-15";i:2;s:3:"658";i:3;s:3:"728";}}s:10:"germandbls";a:4:{s:1:"C";s:3:"251";s:2:"WX";s:3:"611";s:1:"N";s:10:"germandbls";s:1:"B";a:4:{i:0;s:2:"67";i:1;s:3:"-15";i:2;s:3:"658";i:3;s:3:"728";}}s:9:"Idieresis";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"278";s:1:"N";s:9:"Idieresis";s:1:"B";a:4:{i:0;s:2:"91";i:1;s:1:"0";i:2;s:3:"458";i:3;s:3:"901";}}s:6:"eacute";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"556";s:1:"N";s:6:"eacute";s:1:"B";a:4:{i:0;s:2:"84";i:1;s:3:"-15";i:2;s:3:"587";i:3;s:3:"734";}}s:6:"abreve";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"556";s:1:"N";s:6:"abreve";s:1:"B";a:4:{i:0;s:2:"61";i:1;s:3:"-15";i:2;s:3:"578";i:3;s:3:"731";}}s:13:"uhungarumlaut";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"556";s:1:"N";s:13:"uhungarumlaut";s:1:"B";a:4:{i:0;s:2:"94";i:1;s:3:"-15";i:2;s:3:"677";i:3;s:3:"734";}}s:6:"ecaron";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"556";s:1:"N";s:6:"ecaron";s:1:"B";a:4:{i:0;s:2:"84";i:1;s:3:"-15";i:2;s:3:"580";i:3;s:3:"734";}}s:9:"Ydieresis";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"667";s:1:"N";s:9:"Ydieresis";s:1:"B";a:4:{i:0;s:3:"167";i:1;s:1:"0";i:2;s:3:"806";i:3;s:3:"901";}}s:6:"divide";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"584";s:1:"N";s:6:"divide";s:1:"B";a:4:{i:0;s:2:"85";i:1;s:3:"-19";i:2;s:3:"606";i:3;s:3:"524";}}s:6:"Yacute";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"667";s:1:"N";s:6:"Yacute";s:1:"B";a:4:{i:0;s:3:"167";i:1;s:1:"0";i:2;s:3:"806";i:3;s:3:"929";}}s:11:"Acircumflex";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"667";s:1:"N";s:11:"Acircumflex";s:1:"B";a:4:{i:0;s:2:"14";i:1;s:1:"0";i:2;s:3:"654";i:3;s:3:"929";}}s:6:"aacute";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"556";s:1:"N";s:6:"aacute";s:1:"B";a:4:{i:0;s:2:"61";i:1;s:3:"-15";i:2;s:3:"587";i:3;s:3:"734";}}s:11:"Ucircumflex";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"722";s:1:"N";s:11:"Ucircumflex";s:1:"B";a:4:{i:0;s:3:"123";i:1;s:3:"-19";i:2;s:3:"797";i:3;s:3:"929";}}s:6:"yacute";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"500";s:1:"N";s:6:"yacute";s:1:"B";a:4:{i:0;s:2:"15";i:1;s:4:"-214";i:2;s:3:"600";i:3;s:3:"734";}}s:12:"scommaaccent";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"500";s:1:"N";s:12:"scommaaccent";s:1:"B";a:4:{i:0;s:2:"63";i:1;s:4:"-225";i:2;s:3:"529";i:3;s:3:"538";}}s:11:"ecircumflex";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"556";s:1:"N";s:11:"ecircumflex";s:1:"B";a:4:{i:0;s:2:"84";i:1;s:3:"-15";i:2;s:3:"578";i:3;s:3:"734";}}s:5:"Uring";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"722";s:1:"N";s:5:"Uring";s:1:"B";a:4:{i:0;s:3:"123";i:1;s:3:"-19";i:2;s:3:"797";i:3;s:3:"931";}}s:9:"Udieresis";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"722";s:1:"N";s:9:"Udieresis";s:1:"B";a:4:{i:0;s:3:"123";i:1;s:3:"-19";i:2;s:3:"797";i:3;s:3:"901";}}s:7:"aogonek";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"556";s:1:"N";s:7:"aogonek";s:1:"B";a:4:{i:0;s:2:"61";i:1;s:4:"-220";i:2;s:3:"559";i:3;s:3:"538";}}s:6:"Uacute";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"722";s:1:"N";s:6:"Uacute";s:1:"B";a:4:{i:0;s:3:"123";i:1;s:3:"-19";i:2;s:3:"797";i:3;s:3:"929";}}s:7:"uogonek";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"556";s:1:"N";s:7:"uogonek";s:1:"B";a:4:{i:0;s:2:"94";i:1;s:4:"-225";i:2;s:3:"600";i:3;s:3:"523";}}s:9:"Edieresis";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"667";s:1:"N";s:9:"Edieresis";s:1:"B";a:4:{i:0;s:2:"86";i:1;s:1:"0";i:2;s:3:"762";i:3;s:3:"901";}}s:6:"Dcroat";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"722";s:1:"N";s:6:"Dcroat";s:1:"B";a:4:{i:0;s:2:"69";i:1;s:1:"0";i:2;s:3:"764";i:3;s:3:"718";}}s:11:"commaaccent";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"250";s:1:"N";s:11:"commaaccent";s:1:"B";a:4:{i:0;s:2:"39";i:1;s:4:"-225";i:2;s:3:"172";i:3;s:3:"-40";}}s:9:"copyright";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"737";s:1:"N";s:9:"copyright";s:1:"B";a:4:{i:0;s:2:"54";i:1;s:3:"-19";i:2;s:3:"837";i:3;s:3:"737";}}s:7:"Emacron";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"667";s:1:"N";s:7:"Emacron";s:1:"B";a:4:{i:0;s:2:"86";i:1;s:1:"0";i:2;s:3:"762";i:3;s:3:"879";}}s:6:"ccaron";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"500";s:1:"N";s:6:"ccaron";s:1:"B";a:4:{i:0;s:2:"74";i:1;s:3:"-15";i:2;s:3:"553";i:3;s:3:"734";}}s:5:"aring";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"556";s:1:"N";s:5:"aring";s:1:"B";a:4:{i:0;s:2:"61";i:1;s:3:"-15";i:2;s:3:"559";i:3;s:3:"756";}}s:12:"Ncommaaccent";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"722";s:1:"N";s:12:"Ncommaaccent";s:1:"B";a:4:{i:0;s:2:"76";i:1;s:4:"-225";i:2;s:3:"799";i:3;s:3:"718";}}s:6:"lacute";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"222";s:1:"N";s:6:"lacute";s:1:"B";a:4:{i:0;s:2:"67";i:1;s:1:"0";i:2;s:3:"461";i:3;s:3:"929";}}s:6:"agrave";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"556";s:1:"N";s:6:"agrave";s:1:"B";a:4:{i:0;s:2:"61";i:1;s:3:"-15";i:2;s:3:"559";i:3;s:3:"734";}}s:12:"Tcommaaccent";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"611";s:1:"N";s:12:"Tcommaaccent";s:1:"B";a:4:{i:0;s:3:"148";i:1;s:4:"-225";i:2;s:3:"750";i:3;s:3:"718";}}s:6:"Cacute";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"722";s:1:"N";s:6:"Cacute";s:1:"B";a:4:{i:0;s:3:"108";i:1;s:3:"-19";i:2;s:3:"782";i:3;s:3:"929";}}s:6:"atilde";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"556";s:1:"N";s:6:"atilde";s:1:"B";a:4:{i:0;s:2:"61";i:1;s:3:"-15";i:2;s:3:"592";i:3;s:3:"722";}}s:10:"Edotaccent";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"667";s:1:"N";s:10:"Edotaccent";s:1:"B";a:4:{i:0;s:2:"86";i:1;s:1:"0";i:2;s:3:"762";i:3;s:3:"901";}}s:6:"scaron";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"500";s:1:"N";s:6:"scaron";s:1:"B";a:4:{i:0;s:2:"63";i:1;s:3:"-15";i:2;s:3:"552";i:3;s:3:"734";}}s:8:"scedilla";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"500";s:1:"N";s:8:"scedilla";s:1:"B";a:4:{i:0;s:2:"63";i:1;s:4:"-225";i:2;s:3:"529";i:3;s:3:"538";}}s:6:"iacute";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"278";s:1:"N";s:6:"iacute";s:1:"B";a:4:{i:0;s:2:"95";i:1;s:1:"0";i:2;s:3:"448";i:3;s:3:"734";}}s:7:"lozenge";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"471";s:1:"N";s:7:"lozenge";s:1:"B";a:4:{i:0;s:2:"88";i:1;s:1:"0";i:2;s:3:"540";i:3;s:3:"728";}}s:6:"Rcaron";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"722";s:1:"N";s:6:"Rcaron";s:1:"B";a:4:{i:0;s:2:"88";i:1;s:1:"0";i:2;s:3:"773";i:3;s:3:"929";}}s:12:"Gcommaaccent";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"778";s:1:"N";s:12:"Gcommaaccent";s:1:"B";a:4:{i:0;s:3:"111";i:1;s:4:"-225";i:2;s:3:"799";i:3;s:3:"737";}}s:11:"ucircumflex";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"556";s:1:"N";s:11:"ucircumflex";s:1:"B";a:4:{i:0;s:2:"94";i:1;s:3:"-15";i:2;s:3:"600";i:3;s:3:"734";}}s:11:"acircumflex";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"556";s:1:"N";s:11:"acircumflex";s:1:"B";a:4:{i:0;s:2:"61";i:1;s:3:"-15";i:2;s:3:"559";i:3;s:3:"734";}}s:7:"Amacron";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"667";s:1:"N";s:7:"Amacron";s:1:"B";a:4:{i:0;s:2:"14";i:1;s:1:"0";i:2;s:3:"677";i:3;s:3:"879";}}s:6:"rcaron";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"333";s:1:"N";s:6:"rcaron";s:1:"B";a:4:{i:0;s:2:"77";i:1;s:1:"0";i:2;s:3:"508";i:3;s:3:"734";}}s:8:"ccedilla";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"500";s:1:"N";s:8:"ccedilla";s:1:"B";a:4:{i:0;s:2:"74";i:1;s:4:"-225";i:2;s:3:"553";i:3;s:3:"538";}}s:10:"Zdotaccent";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"611";s:1:"N";s:10:"Zdotaccent";s:1:"B";a:4:{i:0;s:2:"23";i:1;s:1:"0";i:2;s:3:"741";i:3;s:3:"901";}}s:5:"Thorn";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"667";s:1:"N";s:5:"Thorn";s:1:"B";a:4:{i:0;s:2:"86";i:1;s:1:"0";i:2;s:3:"712";i:3;s:3:"718";}}s:7:"Omacron";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"778";s:1:"N";s:7:"Omacron";s:1:"B";a:4:{i:0;s:3:"105";i:1;s:3:"-19";i:2;s:3:"826";i:3;s:3:"879";}}s:6:"Racute";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"722";s:1:"N";s:6:"Racute";s:1:"B";a:4:{i:0;s:2:"88";i:1;s:1:"0";i:2;s:3:"773";i:3;s:3:"929";}}s:6:"Sacute";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"667";s:1:"N";s:6:"Sacute";s:1:"B";a:4:{i:0;s:2:"90";i:1;s:3:"-19";i:2;s:3:"713";i:3;s:3:"929";}}s:6:"dcaron";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"643";s:1:"N";s:6:"dcaron";s:1:"B";a:4:{i:0;s:2:"84";i:1;s:3:"-15";i:2;s:3:"808";i:3;s:3:"718";}}s:7:"Umacron";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"722";s:1:"N";s:7:"Umacron";s:1:"B";a:4:{i:0;s:3:"123";i:1;s:3:"-19";i:2;s:3:"797";i:3;s:3:"879";}}s:5:"uring";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"556";s:1:"N";s:5:"uring";s:1:"B";a:4:{i:0;s:2:"94";i:1;s:3:"-15";i:2;s:3:"600";i:3;s:3:"756";}}s:13:"threesuperior";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"333";s:1:"N";s:13:"threesuperior";s:1:"B";a:4:{i:0;s:2:"90";i:1;s:3:"270";i:2;s:3:"436";i:3;s:3:"703";}}s:6:"Ograve";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"778";s:1:"N";s:6:"Ograve";s:1:"B";a:4:{i:0;s:3:"105";i:1;s:3:"-19";i:2;s:3:"826";i:3;s:3:"929";}}s:6:"Agrave";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"667";s:1:"N";s:6:"Agrave";s:1:"B";a:4:{i:0;s:2:"14";i:1;s:1:"0";i:2;s:3:"654";i:3;s:3:"929";}}s:6:"Abreve";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"667";s:1:"N";s:6:"Abreve";s:1:"B";a:4:{i:0;s:2:"14";i:1;s:1:"0";i:2;s:3:"685";i:3;s:3:"926";}}s:8:"multiply";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"584";s:1:"N";s:8:"multiply";s:1:"B";a:4:{i:0;s:2:"50";i:1;s:1:"0";i:2;s:3:"642";i:3;s:3:"506";}}s:6:"uacute";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"556";s:1:"N";s:6:"uacute";s:1:"B";a:4:{i:0;s:2:"94";i:1;s:3:"-15";i:2;s:3:"600";i:3;s:3:"734";}}s:6:"Tcaron";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"611";s:1:"N";s:6:"Tcaron";s:1:"B";a:4:{i:0;s:3:"148";i:1;s:1:"0";i:2;s:3:"750";i:3;s:3:"929";}}s:11:"partialdiff";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"476";s:1:"N";s:11:"partialdiff";s:1:"B";a:4:{i:0;s:2:"41";i:1;s:3:"-38";i:2;s:3:"550";i:3;s:3:"714";}}s:9:"ydieresis";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"500";s:1:"N";s:9:"ydieresis";s:1:"B";a:4:{i:0;s:2:"15";i:1;s:4:"-214";i:2;s:3:"600";i:3;s:3:"706";}}s:6:"Nacute";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"722";s:1:"N";s:6:"Nacute";s:1:"B";a:4:{i:0;s:2:"76";i:1;s:1:"0";i:2;s:3:"799";i:3;s:3:"929";}}s:11:"icircumflex";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"278";s:1:"N";s:11:"icircumflex";s:1:"B";a:4:{i:0;s:2:"95";i:1;s:1:"0";i:2;s:3:"411";i:3;s:3:"734";}}s:11:"Ecircumflex";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"667";s:1:"N";s:11:"Ecircumflex";s:1:"B";a:4:{i:0;s:2:"86";i:1;s:1:"0";i:2;s:3:"762";i:3;s:3:"929";}}s:9:"adieresis";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"556";s:1:"N";s:9:"adieresis";s:1:"B";a:4:{i:0;s:2:"61";i:1;s:3:"-15";i:2;s:3:"559";i:3;s:3:"706";}}s:9:"edieresis";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"556";s:1:"N";s:9:"edieresis";s:1:"B";a:4:{i:0;s:2:"84";i:1;s:3:"-15";i:2;s:3:"578";i:3;s:3:"706";}}s:6:"cacute";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"500";s:1:"N";s:6:"cacute";s:1:"B";a:4:{i:0;s:2:"74";i:1;s:3:"-15";i:2;s:3:"559";i:3;s:3:"734";}}s:6:"nacute";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"556";s:1:"N";s:6:"nacute";s:1:"B";a:4:{i:0;s:2:"65";i:1;s:1:"0";i:2;s:3:"587";i:3;s:3:"734";}}s:7:"umacron";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"556";s:1:"N";s:7:"umacron";s:1:"B";a:4:{i:0;s:2:"94";i:1;s:3:"-15";i:2;s:3:"600";i:3;s:3:"684";}}s:6:"Ncaron";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"722";s:1:"N";s:6:"Ncaron";s:1:"B";a:4:{i:0;s:2:"76";i:1;s:1:"0";i:2;s:3:"799";i:3;s:3:"929";}}s:6:"Iacute";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"278";s:1:"N";s:6:"Iacute";s:1:"B";a:4:{i:0;s:2:"91";i:1;s:1:"0";i:2;s:3:"489";i:3;s:3:"929";}}s:9:"plusminus";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"584";s:1:"N";s:9:"plusminus";s:1:"B";a:4:{i:0;s:2:"39";i:1;s:1:"0";i:2;s:3:"618";i:3;s:3:"506";}}s:9:"brokenbar";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"260";s:1:"N";s:9:"brokenbar";s:1:"B";a:4:{i:0;s:2:"62";i:1;s:4:"-150";i:2;s:3:"316";i:3;s:3:"700";}}s:10:"registered";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"737";s:1:"N";s:10:"registered";s:1:"B";a:4:{i:0;s:2:"54";i:1;s:3:"-19";i:2;s:3:"837";i:3;s:3:"737";}}s:6:"Gbreve";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"778";s:1:"N";s:6:"Gbreve";s:1:"B";a:4:{i:0;s:3:"111";i:1;s:3:"-19";i:2;s:3:"799";i:3;s:3:"926";}}s:10:"Idotaccent";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"278";s:1:"N";s:10:"Idotaccent";s:1:"B";a:4:{i:0;s:2:"91";i:1;s:1:"0";i:2;s:3:"377";i:3;s:3:"901";}}s:9:"summation";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:9:"summation";s:1:"B";a:4:{i:0;s:2:"15";i:1;s:3:"-10";i:2;s:3:"671";i:3;s:3:"706";}}s:6:"Egrave";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"667";s:1:"N";s:6:"Egrave";s:1:"B";a:4:{i:0;s:2:"86";i:1;s:1:"0";i:2;s:3:"762";i:3;s:3:"929";}}s:6:"racute";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"333";s:1:"N";s:6:"racute";s:1:"B";a:4:{i:0;s:2:"77";i:1;s:1:"0";i:2;s:3:"475";i:3;s:3:"734";}}s:7:"omacron";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"556";s:1:"N";s:7:"omacron";s:1:"B";a:4:{i:0;s:2:"83";i:1;s:3:"-14";i:2;s:3:"585";i:3;s:3:"684";}}s:6:"Zacute";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"611";s:1:"N";s:6:"Zacute";s:1:"B";a:4:{i:0;s:2:"23";i:1;s:1:"0";i:2;s:3:"741";i:3;s:3:"929";}}s:6:"Zcaron";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"611";s:1:"N";s:6:"Zcaron";s:1:"B";a:4:{i:0;s:2:"23";i:1;s:1:"0";i:2;s:3:"741";i:3;s:3:"929";}}s:12:"greaterequal";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"549";s:1:"N";s:12:"greaterequal";s:1:"B";a:4:{i:0;s:2:"26";i:1;s:1:"0";i:2;s:3:"620";i:3;s:3:"674";}}s:3:"Eth";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"722";s:1:"N";s:3:"Eth";s:1:"B";a:4:{i:0;s:2:"69";i:1;s:1:"0";i:2;s:3:"764";i:3;s:3:"718";}}s:8:"Ccedilla";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"722";s:1:"N";s:8:"Ccedilla";s:1:"B";a:4:{i:0;s:3:"108";i:1;s:4:"-225";i:2;s:3:"782";i:3;s:3:"737";}}s:12:"lcommaaccent";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"222";s:1:"N";s:12:"lcommaaccent";s:1:"B";a:4:{i:0;s:2:"25";i:1;s:4:"-225";i:2;s:3:"308";i:3;s:3:"718";}}s:6:"tcaron";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"317";s:1:"N";s:6:"tcaron";s:1:"B";a:4:{i:0;s:3:"102";i:1;s:2:"-7";i:2;s:3:"501";i:3;s:3:"808";}}s:7:"eogonek";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"556";s:1:"N";s:7:"eogonek";s:1:"B";a:4:{i:0;s:2:"84";i:1;s:4:"-225";i:2;s:3:"578";i:3;s:3:"538";}}s:7:"Uogonek";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"722";s:1:"N";s:7:"Uogonek";s:1:"B";a:4:{i:0;s:3:"123";i:1;s:4:"-225";i:2;s:3:"797";i:3;s:3:"718";}}s:6:"Aacute";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"667";s:1:"N";s:6:"Aacute";s:1:"B";a:4:{i:0;s:2:"14";i:1;s:1:"0";i:2;s:3:"683";i:3;s:3:"929";}}s:9:"Adieresis";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"667";s:1:"N";s:9:"Adieresis";s:1:"B";a:4:{i:0;s:2:"14";i:1;s:1:"0";i:2;s:3:"654";i:3;s:3:"901";}}s:6:"egrave";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"556";s:1:"N";s:6:"egrave";s:1:"B";a:4:{i:0;s:2:"84";i:1;s:3:"-15";i:2;s:3:"578";i:3;s:3:"734";}}s:6:"zacute";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"500";s:1:"N";s:6:"zacute";s:1:"B";a:4:{i:0;s:2:"31";i:1;s:1:"0";i:2;s:3:"571";i:3;s:3:"734";}}s:7:"iogonek";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"222";s:1:"N";s:7:"iogonek";s:1:"B";a:4:{i:0;s:3:"-61";i:1;s:4:"-225";i:2;s:3:"308";i:3;s:3:"718";}}s:6:"Oacute";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"778";s:1:"N";s:6:"Oacute";s:1:"B";a:4:{i:0;s:3:"105";i:1;s:3:"-19";i:2;s:3:"826";i:3;s:3:"929";}}s:6:"oacute";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"556";s:1:"N";s:6:"oacute";s:1:"B";a:4:{i:0;s:2:"83";i:1;s:3:"-14";i:2;s:3:"587";i:3;s:3:"734";}}s:7:"amacron";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"556";s:1:"N";s:7:"amacron";s:1:"B";a:4:{i:0;s:2:"61";i:1;s:3:"-15";i:2;s:3:"580";i:3;s:3:"684";}}s:6:"sacute";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"500";s:1:"N";s:6:"sacute";s:1:"B";a:4:{i:0;s:2:"63";i:1;s:3:"-15";i:2;s:3:"559";i:3;s:3:"734";}}s:9:"idieresis";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"278";s:1:"N";s:9:"idieresis";s:1:"B";a:4:{i:0;s:2:"95";i:1;s:1:"0";i:2;s:3:"416";i:3;s:3:"706";}}s:11:"Ocircumflex";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"778";s:1:"N";s:11:"Ocircumflex";s:1:"B";a:4:{i:0;s:3:"105";i:1;s:3:"-19";i:2;s:3:"826";i:3;s:3:"929";}}s:6:"Ugrave";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"722";s:1:"N";s:6:"Ugrave";s:1:"B";a:4:{i:0;s:3:"123";i:1;s:3:"-19";i:2;s:3:"797";i:3;s:3:"929";}}s:5:"Delta";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"612";s:1:"N";s:5:"Delta";s:1:"B";a:4:{i:0;s:1:"6";i:1;s:1:"0";i:2;s:3:"608";i:3;s:3:"688";}}s:5:"thorn";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"556";s:1:"N";s:5:"thorn";s:1:"B";a:4:{i:0;s:2:"14";i:1;s:4:"-207";i:2;s:3:"584";i:3;s:3:"718";}}s:11:"twosuperior";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"333";s:1:"N";s:11:"twosuperior";s:1:"B";a:4:{i:0;s:2:"64";i:1;s:3:"281";i:2;s:3:"449";i:3;s:3:"703";}}s:9:"Odieresis";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"778";s:1:"N";s:9:"Odieresis";s:1:"B";a:4:{i:0;s:3:"105";i:1;s:3:"-19";i:2;s:3:"826";i:3;s:3:"901";}}s:2:"mu";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"556";s:1:"N";s:2:"mu";s:1:"B";a:4:{i:0;s:2:"24";i:1;s:4:"-207";i:2;s:3:"600";i:3;s:3:"523";}}s:6:"igrave";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"278";s:1:"N";s:6:"igrave";s:1:"B";a:4:{i:0;s:2:"95";i:1;s:1:"0";i:2;s:3:"310";i:3;s:3:"734";}}s:13:"ohungarumlaut";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"556";s:1:"N";s:13:"ohungarumlaut";s:1:"B";a:4:{i:0;s:2:"83";i:1;s:3:"-14";i:2;s:3:"677";i:3;s:3:"734";}}s:7:"Eogonek";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"667";s:1:"N";s:7:"Eogonek";s:1:"B";a:4:{i:0;s:2:"86";i:1;s:4:"-220";i:2;s:3:"762";i:3;s:3:"718";}}s:6:"dcroat";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"556";s:1:"N";s:6:"dcroat";s:1:"B";a:4:{i:0;s:2:"84";i:1;s:3:"-15";i:2;s:3:"689";i:3;s:3:"718";}}s:13:"threequarters";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"834";s:1:"N";s:13:"threequarters";s:1:"B";a:4:{i:0;s:3:"130";i:1;s:3:"-19";i:2;s:3:"861";i:3;s:3:"703";}}s:8:"Scedilla";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"667";s:1:"N";s:8:"Scedilla";s:1:"B";a:4:{i:0;s:2:"90";i:1;s:4:"-225";i:2;s:3:"713";i:3;s:3:"737";}}s:6:"lcaron";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"299";s:1:"N";s:6:"lcaron";s:1:"B";a:4:{i:0;s:2:"67";i:1;s:1:"0";i:2;s:3:"464";i:3;s:3:"718";}}s:12:"Kcommaaccent";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"667";s:1:"N";s:12:"Kcommaaccent";s:1:"B";a:4:{i:0;s:2:"76";i:1;s:4:"-225";i:2;s:3:"808";i:3;s:3:"718";}}s:6:"Lacute";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"556";s:1:"N";s:6:"Lacute";s:1:"B";a:4:{i:0;s:2:"76";i:1;s:1:"0";i:2;s:3:"555";i:3;s:3:"929";}}s:9:"trademark";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:4:"1000";s:1:"N";s:9:"trademark";s:1:"B";a:4:{i:0;s:3:"186";i:1;s:3:"306";i:2;s:4:"1056";i:3;s:3:"718";}}s:10:"edotaccent";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"556";s:1:"N";s:10:"edotaccent";s:1:"B";a:4:{i:0;s:2:"84";i:1;s:3:"-15";i:2;s:3:"578";i:3;s:3:"706";}}s:6:"Igrave";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"278";s:1:"N";s:6:"Igrave";s:1:"B";a:4:{i:0;s:2:"91";i:1;s:1:"0";i:2;s:3:"351";i:3;s:3:"929";}}s:7:"Imacron";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"278";s:1:"N";s:7:"Imacron";s:1:"B";a:4:{i:0;s:2:"91";i:1;s:1:"0";i:2;s:3:"483";i:3;s:3:"879";}}s:6:"Lcaron";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"556";s:1:"N";s:6:"Lcaron";s:1:"B";a:4:{i:0;s:2:"76";i:1;s:1:"0";i:2;s:3:"570";i:3;s:3:"718";}}s:7:"onehalf";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"834";s:1:"N";s:7:"onehalf";s:1:"B";a:4:{i:0;s:3:"114";i:1;s:3:"-19";i:2;s:3:"839";i:3;s:3:"703";}}s:9:"lessequal";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"549";s:1:"N";s:9:"lessequal";s:1:"B";a:4:{i:0;s:2:"26";i:1;s:1:"0";i:2;s:3:"666";i:3;s:3:"674";}}s:11:"ocircumflex";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"556";s:1:"N";s:11:"ocircumflex";s:1:"B";a:4:{i:0;s:2:"83";i:1;s:3:"-14";i:2;s:3:"585";i:3;s:3:"734";}}s:6:"ntilde";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"556";s:1:"N";s:6:"ntilde";s:1:"B";a:4:{i:0;s:2:"65";i:1;s:1:"0";i:2;s:3:"592";i:3;s:3:"722";}}s:13:"Uhungarumlaut";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"722";s:1:"N";s:13:"Uhungarumlaut";s:1:"B";a:4:{i:0;s:3:"123";i:1;s:3:"-19";i:2;s:3:"801";i:3;s:3:"929";}}s:6:"Eacute";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"667";s:1:"N";s:6:"Eacute";s:1:"B";a:4:{i:0;s:2:"86";i:1;s:1:"0";i:2;s:3:"762";i:3;s:3:"929";}}s:7:"emacron";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"556";s:1:"N";s:7:"emacron";s:1:"B";a:4:{i:0;s:2:"84";i:1;s:3:"-15";i:2;s:3:"580";i:3;s:3:"684";}}s:6:"gbreve";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"556";s:1:"N";s:6:"gbreve";s:1:"B";a:4:{i:0;s:2:"42";i:1;s:4:"-220";i:2;s:3:"610";i:3;s:3:"731";}}s:10:"onequarter";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"834";s:1:"N";s:10:"onequarter";s:1:"B";a:4:{i:0;s:3:"150";i:1;s:3:"-19";i:2;s:3:"802";i:3;s:3:"703";}}s:6:"Scaron";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"667";s:1:"N";s:6:"Scaron";s:1:"B";a:4:{i:0;s:2:"90";i:1;s:3:"-19";i:2;s:3:"713";i:3;s:3:"929";}}s:12:"Scommaaccent";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"667";s:1:"N";s:12:"Scommaaccent";s:1:"B";a:4:{i:0;s:2:"90";i:1;s:4:"-225";i:2;s:3:"713";i:3;s:3:"737";}}s:13:"Ohungarumlaut";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"778";s:1:"N";s:13:"Ohungarumlaut";s:1:"B";a:4:{i:0;s:3:"105";i:1;s:3:"-19";i:2;s:3:"829";i:3;s:3:"929";}}s:6:"degree";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"400";s:1:"N";s:6:"degree";s:1:"B";a:4:{i:0;s:3:"169";i:1;s:3:"411";i:2;s:3:"468";i:3;s:3:"703";}}s:6:"ograve";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"556";s:1:"N";s:6:"ograve";s:1:"B";a:4:{i:0;s:2:"83";i:1;s:3:"-14";i:2;s:3:"585";i:3;s:3:"734";}}s:6:"Ccaron";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"722";s:1:"N";s:6:"Ccaron";s:1:"B";a:4:{i:0;s:3:"108";i:1;s:3:"-19";i:2;s:3:"782";i:3;s:3:"929";}}s:6:"ugrave";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"556";s:1:"N";s:6:"ugrave";s:1:"B";a:4:{i:0;s:2:"94";i:1;s:3:"-15";i:2;s:3:"600";i:3;s:3:"734";}}s:7:"radical";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"453";s:1:"N";s:7:"radical";s:1:"B";a:4:{i:0;s:2:"79";i:1;s:3:"-80";i:2;s:3:"617";i:3;s:3:"762";}}s:6:"Dcaron";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"722";s:1:"N";s:6:"Dcaron";s:1:"B";a:4:{i:0;s:2:"81";i:1;s:1:"0";i:2;s:3:"764";i:3;s:3:"929";}}s:12:"rcommaaccent";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"333";s:1:"N";s:12:"rcommaaccent";s:1:"B";a:4:{i:0;s:2:"30";i:1;s:4:"-225";i:2;s:3:"446";i:3;s:3:"538";}}s:6:"Ntilde";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"722";s:1:"N";s:6:"Ntilde";s:1:"B";a:4:{i:0;s:2:"76";i:1;s:1:"0";i:2;s:3:"799";i:3;s:3:"917";}}s:6:"otilde";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"556";s:1:"N";s:6:"otilde";s:1:"B";a:4:{i:0;s:2:"83";i:1;s:3:"-14";i:2;s:3:"602";i:3;s:3:"722";}}s:12:"Rcommaaccent";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"722";s:1:"N";s:12:"Rcommaaccent";s:1:"B";a:4:{i:0;s:2:"88";i:1;s:4:"-225";i:2;s:3:"773";i:3;s:3:"718";}}s:12:"Lcommaaccent";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"556";s:1:"N";s:12:"Lcommaaccent";s:1:"B";a:4:{i:0;s:2:"76";i:1;s:4:"-225";i:2;s:3:"555";i:3;s:3:"718";}}s:6:"Atilde";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"667";s:1:"N";s:6:"Atilde";s:1:"B";a:4:{i:0;s:2:"14";i:1;s:1:"0";i:2;s:3:"699";i:3;s:3:"917";}}s:7:"Aogonek";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"667";s:1:"N";s:7:"Aogonek";s:1:"B";a:4:{i:0;s:2:"14";i:1;s:4:"-225";i:2;s:3:"654";i:3;s:3:"718";}}s:5:"Aring";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"667";s:1:"N";s:5:"Aring";s:1:"B";a:4:{i:0;s:2:"14";i:1;s:1:"0";i:2;s:3:"654";i:3;s:3:"931";}}s:6:"Otilde";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"778";s:1:"N";s:6:"Otilde";s:1:"B";a:4:{i:0;s:3:"105";i:1;s:3:"-19";i:2;s:3:"826";i:3;s:3:"917";}}s:10:"zdotaccent";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"500";s:1:"N";s:10:"zdotaccent";s:1:"B";a:4:{i:0;s:2:"31";i:1;s:1:"0";i:2;s:3:"571";i:3;s:3:"706";}}s:6:"Ecaron";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"667";s:1:"N";s:6:"Ecaron";s:1:"B";a:4:{i:0;s:2:"86";i:1;s:1:"0";i:2;s:3:"762";i:3;s:3:"929";}}s:7:"Iogonek";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"278";s:1:"N";s:7:"Iogonek";s:1:"B";a:4:{i:0;s:3:"-33";i:1;s:4:"-225";i:2;s:3:"341";i:3;s:3:"718";}}s:12:"kcommaaccent";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"500";s:1:"N";s:12:"kcommaaccent";s:1:"B";a:4:{i:0;s:2:"67";i:1;s:4:"-225";i:2;s:3:"600";i:3;s:3:"718";}}s:5:"minus";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"584";s:1:"N";s:5:"minus";s:1:"B";a:4:{i:0;s:2:"85";i:1;s:3:"216";i:2;s:3:"606";i:3;s:3:"289";}}s:11:"Icircumflex";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"278";s:1:"N";s:11:"Icircumflex";s:1:"B";a:4:{i:0;s:2:"91";i:1;s:1:"0";i:2;s:3:"452";i:3;s:3:"929";}}s:6:"ncaron";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"556";s:1:"N";s:6:"ncaron";s:1:"B";a:4:{i:0;s:2:"65";i:1;s:1:"0";i:2;s:3:"580";i:3;s:3:"734";}}s:12:"tcommaaccent";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"278";s:1:"N";s:12:"tcommaaccent";s:1:"B";a:4:{i:0;s:2:"63";i:1;s:4:"-225";i:2;s:3:"368";i:3;s:3:"669";}}s:10:"logicalnot";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"584";s:1:"N";s:10:"logicalnot";s:1:"B";a:4:{i:0;s:3:"106";i:1;s:3:"108";i:2;s:3:"628";i:3;s:3:"390";}}s:9:"odieresis";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"556";s:1:"N";s:9:"odieresis";s:1:"B";a:4:{i:0;s:2:"83";i:1;s:3:"-14";i:2;s:3:"585";i:3;s:3:"706";}}s:9:"udieresis";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"556";s:1:"N";s:9:"udieresis";s:1:"B";a:4:{i:0;s:2:"94";i:1;s:3:"-15";i:2;s:3:"600";i:3;s:3:"706";}}s:8:"notequal";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"549";s:1:"N";s:8:"notequal";s:1:"B";a:4:{i:0;s:2:"34";i:1;s:3:"-35";i:2;s:3:"623";i:3;s:3:"551";}}s:12:"gcommaaccent";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"556";s:1:"N";s:12:"gcommaaccent";s:1:"B";a:4:{i:0;s:2:"42";i:1;s:4:"-220";i:2;s:3:"610";i:3;s:3:"822";}}s:3:"eth";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"556";s:1:"N";s:3:"eth";s:1:"B";a:4:{i:0;s:2:"81";i:1;s:3:"-15";i:2;s:3:"617";i:3;s:3:"737";}}s:6:"zcaron";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"500";s:1:"N";s:6:"zcaron";s:1:"B";a:4:{i:0;s:2:"31";i:1;s:1:"0";i:2;s:3:"571";i:3;s:3:"734";}}s:12:"ncommaaccent";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"556";s:1:"N";s:12:"ncommaaccent";s:1:"B";a:4:{i:0;s:2:"65";i:1;s:4:"-225";i:2;s:3:"573";i:3;s:3:"538";}}s:11:"onesuperior";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"333";s:1:"N";s:11:"onesuperior";s:1:"B";a:4:{i:0;s:3:"166";i:1;s:3:"281";i:2;s:3:"371";i:3;s:3:"703";}}s:7:"imacron";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"278";s:1:"N";s:7:"imacron";s:1:"B";a:4:{i:0;s:2:"95";i:1;s:1:"0";i:2;s:3:"417";i:3;s:3:"684";}}s:4:"Euro";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"556";s:1:"N";s:4:"Euro";s:1:"B";a:4:{i:0;s:1:"0";i:1;s:1:"0";i:2;s:1:"0";i:3;s:1:"0";}}}s:3:"KPX";a:138:{s:1:"A";a:48:{s:1:"C";s:3:"-30";s:6:"Cacute";s:3:"-30";s:6:"Ccaron";s:3:"-30";s:8:"Ccedilla";s:3:"-30";s:1:"G";s:3:"-30";s:6:"Gbreve";s:3:"-30";s:12:"Gcommaaccent";s:3:"-30";s:1:"O";s:3:"-30";s:6:"Oacute";s:3:"-30";s:11:"Ocircumflex";s:3:"-30";s:9:"Odieresis";s:3:"-30";s:6:"Ograve";s:3:"-30";s:13:"Ohungarumlaut";s:3:"-30";s:7:"Omacron";s:3:"-30";s:6:"Oslash";s:3:"-30";s:6:"Otilde";s:3:"-30";s:1:"Q";s:3:"-30";s:1:"T";s:4:"-120";s:6:"Tcaron";s:4:"-120";s:12:"Tcommaaccent";s:4:"-120";s:1:"U";s:3:"-50";s:6:"Uacute";s:3:"-50";s:11:"Ucircumflex";s:3:"-50";s:9:"Udieresis";s:3:"-50";s:6:"Ugrave";s:3:"-50";s:13:"Uhungarumlaut";s:3:"-50";s:7:"Umacron";s:3:"-50";s:7:"Uogonek";s:3:"-50";s:5:"Uring";s:3:"-50";s:1:"V";s:3:"-70";s:1:"W";s:3:"-50";s:1:"Y";s:4:"-100";s:6:"Yacute";s:4:"-100";s:9:"Ydieresis";s:4:"-100";s:1:"u";s:3:"-30";s:6:"uacute";s:3:"-30";s:11:"ucircumflex";s:3:"-30";s:9:"udieresis";s:3:"-30";s:6:"ugrave";s:3:"-30";s:13:"uhungarumlaut";s:3:"-30";s:7:"umacron";s:3:"-30";s:7:"uogonek";s:3:"-30";s:5:"uring";s:3:"-30";s:1:"v";s:3:"-40";s:1:"w";s:3:"-40";s:1:"y";s:3:"-40";s:6:"yacute";s:3:"-40";s:9:"ydieresis";s:3:"-40";}s:6:"Aacute";a:48:{s:1:"C";s:3:"-30";s:6:"Cacute";s:3:"-30";s:6:"Ccaron";s:3:"-30";s:8:"Ccedilla";s:3:"-30";s:1:"G";s:3:"-30";s:6:"Gbreve";s:3:"-30";s:12:"Gcommaaccent";s:3:"-30";s:1:"O";s:3:"-30";s:6:"Oacute";s:3:"-30";s:11:"Ocircumflex";s:3:"-30";s:9:"Odieresis";s:3:"-30";s:6:"Ograve";s:3:"-30";s:13:"Ohungarumlaut";s:3:"-30";s:7:"Omacron";s:3:"-30";s:6:"Oslash";s:3:"-30";s:6:"Otilde";s:3:"-30";s:1:"Q";s:3:"-30";s:1:"T";s:4:"-120";s:6:"Tcaron";s:4:"-120";s:12:"Tcommaaccent";s:4:"-120";s:1:"U";s:3:"-50";s:6:"Uacute";s:3:"-50";s:11:"Ucircumflex";s:3:"-50";s:9:"Udieresis";s:3:"-50";s:6:"Ugrave";s:3:"-50";s:13:"Uhungarumlaut";s:3:"-50";s:7:"Umacron";s:3:"-50";s:7:"Uogonek";s:3:"-50";s:5:"Uring";s:3:"-50";s:1:"V";s:3:"-70";s:1:"W";s:3:"-50";s:1:"Y";s:4:"-100";s:6:"Yacute";s:4:"-100";s:9:"Ydieresis";s:4:"-100";s:1:"u";s:3:"-30";s:6:"uacute";s:3:"-30";s:11:"ucircumflex";s:3:"-30";s:9:"udieresis";s:3:"-30";s:6:"ugrave";s:3:"-30";s:13:"uhungarumlaut";s:3:"-30";s:7:"umacron";s:3:"-30";s:7:"uogonek";s:3:"-30";s:5:"uring";s:3:"-30";s:1:"v";s:3:"-40";s:1:"w";s:3:"-40";s:1:"y";s:3:"-40";s:6:"yacute";s:3:"-40";s:9:"ydieresis";s:3:"-40";}s:6:"Abreve";a:48:{s:1:"C";s:3:"-30";s:6:"Cacute";s:3:"-30";s:6:"Ccaron";s:3:"-30";s:8:"Ccedilla";s:3:"-30";s:1:"G";s:3:"-30";s:6:"Gbreve";s:3:"-30";s:12:"Gcommaaccent";s:3:"-30";s:1:"O";s:3:"-30";s:6:"Oacute";s:3:"-30";s:11:"Ocircumflex";s:3:"-30";s:9:"Odieresis";s:3:"-30";s:6:"Ograve";s:3:"-30";s:13:"Ohungarumlaut";s:3:"-30";s:7:"Omacron";s:3:"-30";s:6:"Oslash";s:3:"-30";s:6:"Otilde";s:3:"-30";s:1:"Q";s:3:"-30";s:1:"T";s:4:"-120";s:6:"Tcaron";s:4:"-120";s:12:"Tcommaaccent";s:4:"-120";s:1:"U";s:3:"-50";s:6:"Uacute";s:3:"-50";s:11:"Ucircumflex";s:3:"-50";s:9:"Udieresis";s:3:"-50";s:6:"Ugrave";s:3:"-50";s:13:"Uhungarumlaut";s:3:"-50";s:7:"Umacron";s:3:"-50";s:7:"Uogonek";s:3:"-50";s:5:"Uring";s:3:"-50";s:1:"V";s:3:"-70";s:1:"W";s:3:"-50";s:1:"Y";s:4:"-100";s:6:"Yacute";s:4:"-100";s:9:"Ydieresis";s:4:"-100";s:1:"u";s:3:"-30";s:6:"uacute";s:3:"-30";s:11:"ucircumflex";s:3:"-30";s:9:"udieresis";s:3:"-30";s:6:"ugrave";s:3:"-30";s:13:"uhungarumlaut";s:3:"-30";s:7:"umacron";s:3:"-30";s:7:"uogonek";s:3:"-30";s:5:"uring";s:3:"-30";s:1:"v";s:3:"-40";s:1:"w";s:3:"-40";s:1:"y";s:3:"-40";s:6:"yacute";s:3:"-40";s:9:"ydieresis";s:3:"-40";}s:11:"Acircumflex";a:48:{s:1:"C";s:3:"-30";s:6:"Cacute";s:3:"-30";s:6:"Ccaron";s:3:"-30";s:8:"Ccedilla";s:3:"-30";s:1:"G";s:3:"-30";s:6:"Gbreve";s:3:"-30";s:12:"Gcommaaccent";s:3:"-30";s:1:"O";s:3:"-30";s:6:"Oacute";s:3:"-30";s:11:"Ocircumflex";s:3:"-30";s:9:"Odieresis";s:3:"-30";s:6:"Ograve";s:3:"-30";s:13:"Ohungarumlaut";s:3:"-30";s:7:"Omacron";s:3:"-30";s:6:"Oslash";s:3:"-30";s:6:"Otilde";s:3:"-30";s:1:"Q";s:3:"-30";s:1:"T";s:4:"-120";s:6:"Tcaron";s:4:"-120";s:12:"Tcommaaccent";s:4:"-120";s:1:"U";s:3:"-50";s:6:"Uacute";s:3:"-50";s:11:"Ucircumflex";s:3:"-50";s:9:"Udieresis";s:3:"-50";s:6:"Ugrave";s:3:"-50";s:13:"Uhungarumlaut";s:3:"-50";s:7:"Umacron";s:3:"-50";s:7:"Uogonek";s:3:"-50";s:5:"Uring";s:3:"-50";s:1:"V";s:3:"-70";s:1:"W";s:3:"-50";s:1:"Y";s:4:"-100";s:6:"Yacute";s:4:"-100";s:9:"Ydieresis";s:4:"-100";s:1:"u";s:3:"-30";s:6:"uacute";s:3:"-30";s:11:"ucircumflex";s:3:"-30";s:9:"udieresis";s:3:"-30";s:6:"ugrave";s:3:"-30";s:13:"uhungarumlaut";s:3:"-30";s:7:"umacron";s:3:"-30";s:7:"uogonek";s:3:"-30";s:5:"uring";s:3:"-30";s:1:"v";s:3:"-40";s:1:"w";s:3:"-40";s:1:"y";s:3:"-40";s:6:"yacute";s:3:"-40";s:9:"ydieresis";s:3:"-40";}s:9:"Adieresis";a:48:{s:1:"C";s:3:"-30";s:6:"Cacute";s:3:"-30";s:6:"Ccaron";s:3:"-30";s:8:"Ccedilla";s:3:"-30";s:1:"G";s:3:"-30";s:6:"Gbreve";s:3:"-30";s:12:"Gcommaaccent";s:3:"-30";s:1:"O";s:3:"-30";s:6:"Oacute";s:3:"-30";s:11:"Ocircumflex";s:3:"-30";s:9:"Odieresis";s:3:"-30";s:6:"Ograve";s:3:"-30";s:13:"Ohungarumlaut";s:3:"-30";s:7:"Omacron";s:3:"-30";s:6:"Oslash";s:3:"-30";s:6:"Otilde";s:3:"-30";s:1:"Q";s:3:"-30";s:1:"T";s:4:"-120";s:6:"Tcaron";s:4:"-120";s:12:"Tcommaaccent";s:4:"-120";s:1:"U";s:3:"-50";s:6:"Uacute";s:3:"-50";s:11:"Ucircumflex";s:3:"-50";s:9:"Udieresis";s:3:"-50";s:6:"Ugrave";s:3:"-50";s:13:"Uhungarumlaut";s:3:"-50";s:7:"Umacron";s:3:"-50";s:7:"Uogonek";s:3:"-50";s:5:"Uring";s:3:"-50";s:1:"V";s:3:"-70";s:1:"W";s:3:"-50";s:1:"Y";s:4:"-100";s:6:"Yacute";s:4:"-100";s:9:"Ydieresis";s:4:"-100";s:1:"u";s:3:"-30";s:6:"uacute";s:3:"-30";s:11:"ucircumflex";s:3:"-30";s:9:"udieresis";s:3:"-30";s:6:"ugrave";s:3:"-30";s:13:"uhungarumlaut";s:3:"-30";s:7:"umacron";s:3:"-30";s:7:"uogonek";s:3:"-30";s:5:"uring";s:3:"-30";s:1:"v";s:3:"-40";s:1:"w";s:3:"-40";s:1:"y";s:3:"-40";s:6:"yacute";s:3:"-40";s:9:"ydieresis";s:3:"-40";}s:6:"Agrave";a:48:{s:1:"C";s:3:"-30";s:6:"Cacute";s:3:"-30";s:6:"Ccaron";s:3:"-30";s:8:"Ccedilla";s:3:"-30";s:1:"G";s:3:"-30";s:6:"Gbreve";s:3:"-30";s:12:"Gcommaaccent";s:3:"-30";s:1:"O";s:3:"-30";s:6:"Oacute";s:3:"-30";s:11:"Ocircumflex";s:3:"-30";s:9:"Odieresis";s:3:"-30";s:6:"Ograve";s:3:"-30";s:13:"Ohungarumlaut";s:3:"-30";s:7:"Omacron";s:3:"-30";s:6:"Oslash";s:3:"-30";s:6:"Otilde";s:3:"-30";s:1:"Q";s:3:"-30";s:1:"T";s:4:"-120";s:6:"Tcaron";s:4:"-120";s:12:"Tcommaaccent";s:4:"-120";s:1:"U";s:3:"-50";s:6:"Uacute";s:3:"-50";s:11:"Ucircumflex";s:3:"-50";s:9:"Udieresis";s:3:"-50";s:6:"Ugrave";s:3:"-50";s:13:"Uhungarumlaut";s:3:"-50";s:7:"Umacron";s:3:"-50";s:7:"Uogonek";s:3:"-50";s:5:"Uring";s:3:"-50";s:1:"V";s:3:"-70";s:1:"W";s:3:"-50";s:1:"Y";s:4:"-100";s:6:"Yacute";s:4:"-100";s:9:"Ydieresis";s:4:"-100";s:1:"u";s:3:"-30";s:6:"uacute";s:3:"-30";s:11:"ucircumflex";s:3:"-30";s:9:"udieresis";s:3:"-30";s:6:"ugrave";s:3:"-30";s:13:"uhungarumlaut";s:3:"-30";s:7:"umacron";s:3:"-30";s:7:"uogonek";s:3:"-30";s:5:"uring";s:3:"-30";s:1:"v";s:3:"-40";s:1:"w";s:3:"-40";s:1:"y";s:3:"-40";s:6:"yacute";s:3:"-40";s:9:"ydieresis";s:3:"-40";}s:7:"Amacron";a:48:{s:1:"C";s:3:"-30";s:6:"Cacute";s:3:"-30";s:6:"Ccaron";s:3:"-30";s:8:"Ccedilla";s:3:"-30";s:1:"G";s:3:"-30";s:6:"Gbreve";s:3:"-30";s:12:"Gcommaaccent";s:3:"-30";s:1:"O";s:3:"-30";s:6:"Oacute";s:3:"-30";s:11:"Ocircumflex";s:3:"-30";s:9:"Odieresis";s:3:"-30";s:6:"Ograve";s:3:"-30";s:13:"Ohungarumlaut";s:3:"-30";s:7:"Omacron";s:3:"-30";s:6:"Oslash";s:3:"-30";s:6:"Otilde";s:3:"-30";s:1:"Q";s:3:"-30";s:1:"T";s:4:"-120";s:6:"Tcaron";s:4:"-120";s:12:"Tcommaaccent";s:4:"-120";s:1:"U";s:3:"-50";s:6:"Uacute";s:3:"-50";s:11:"Ucircumflex";s:3:"-50";s:9:"Udieresis";s:3:"-50";s:6:"Ugrave";s:3:"-50";s:13:"Uhungarumlaut";s:3:"-50";s:7:"Umacron";s:3:"-50";s:7:"Uogonek";s:3:"-50";s:5:"Uring";s:3:"-50";s:1:"V";s:3:"-70";s:1:"W";s:3:"-50";s:1:"Y";s:4:"-100";s:6:"Yacute";s:4:"-100";s:9:"Ydieresis";s:4:"-100";s:1:"u";s:3:"-30";s:6:"uacute";s:3:"-30";s:11:"ucircumflex";s:3:"-30";s:9:"udieresis";s:3:"-30";s:6:"ugrave";s:3:"-30";s:13:"uhungarumlaut";s:3:"-30";s:7:"umacron";s:3:"-30";s:7:"uogonek";s:3:"-30";s:5:"uring";s:3:"-30";s:1:"v";s:3:"-40";s:1:"w";s:3:"-40";s:1:"y";s:3:"-40";s:6:"yacute";s:3:"-40";s:9:"ydieresis";s:3:"-40";}s:7:"Aogonek";a:48:{s:1:"C";s:3:"-30";s:6:"Cacute";s:3:"-30";s:6:"Ccaron";s:3:"-30";s:8:"Ccedilla";s:3:"-30";s:1:"G";s:3:"-30";s:6:"Gbreve";s:3:"-30";s:12:"Gcommaaccent";s:3:"-30";s:1:"O";s:3:"-30";s:6:"Oacute";s:3:"-30";s:11:"Ocircumflex";s:3:"-30";s:9:"Odieresis";s:3:"-30";s:6:"Ograve";s:3:"-30";s:13:"Ohungarumlaut";s:3:"-30";s:7:"Omacron";s:3:"-30";s:6:"Oslash";s:3:"-30";s:6:"Otilde";s:3:"-30";s:1:"Q";s:3:"-30";s:1:"T";s:4:"-120";s:6:"Tcaron";s:4:"-120";s:12:"Tcommaaccent";s:4:"-120";s:1:"U";s:3:"-50";s:6:"Uacute";s:3:"-50";s:11:"Ucircumflex";s:3:"-50";s:9:"Udieresis";s:3:"-50";s:6:"Ugrave";s:3:"-50";s:13:"Uhungarumlaut";s:3:"-50";s:7:"Umacron";s:3:"-50";s:7:"Uogonek";s:3:"-50";s:5:"Uring";s:3:"-50";s:1:"V";s:3:"-70";s:1:"W";s:3:"-50";s:1:"Y";s:4:"-100";s:6:"Yacute";s:4:"-100";s:9:"Ydieresis";s:4:"-100";s:1:"u";s:3:"-30";s:6:"uacute";s:3:"-30";s:11:"ucircumflex";s:3:"-30";s:9:"udieresis";s:3:"-30";s:6:"ugrave";s:3:"-30";s:13:"uhungarumlaut";s:3:"-30";s:7:"umacron";s:3:"-30";s:7:"uogonek";s:3:"-30";s:5:"uring";s:3:"-30";s:1:"v";s:3:"-40";s:1:"w";s:3:"-40";s:1:"y";s:3:"-40";s:6:"yacute";s:3:"-40";s:9:"ydieresis";s:3:"-40";}s:5:"Aring";a:48:{s:1:"C";s:3:"-30";s:6:"Cacute";s:3:"-30";s:6:"Ccaron";s:3:"-30";s:8:"Ccedilla";s:3:"-30";s:1:"G";s:3:"-30";s:6:"Gbreve";s:3:"-30";s:12:"Gcommaaccent";s:3:"-30";s:1:"O";s:3:"-30";s:6:"Oacute";s:3:"-30";s:11:"Ocircumflex";s:3:"-30";s:9:"Odieresis";s:3:"-30";s:6:"Ograve";s:3:"-30";s:13:"Ohungarumlaut";s:3:"-30";s:7:"Omacron";s:3:"-30";s:6:"Oslash";s:3:"-30";s:6:"Otilde";s:3:"-30";s:1:"Q";s:3:"-30";s:1:"T";s:4:"-120";s:6:"Tcaron";s:4:"-120";s:12:"Tcommaaccent";s:4:"-120";s:1:"U";s:3:"-50";s:6:"Uacute";s:3:"-50";s:11:"Ucircumflex";s:3:"-50";s:9:"Udieresis";s:3:"-50";s:6:"Ugrave";s:3:"-50";s:13:"Uhungarumlaut";s:3:"-50";s:7:"Umacron";s:3:"-50";s:7:"Uogonek";s:3:"-50";s:5:"Uring";s:3:"-50";s:1:"V";s:3:"-70";s:1:"W";s:3:"-50";s:1:"Y";s:4:"-100";s:6:"Yacute";s:4:"-100";s:9:"Ydieresis";s:4:"-100";s:1:"u";s:3:"-30";s:6:"uacute";s:3:"-30";s:11:"ucircumflex";s:3:"-30";s:9:"udieresis";s:3:"-30";s:6:"ugrave";s:3:"-30";s:13:"uhungarumlaut";s:3:"-30";s:7:"umacron";s:3:"-30";s:7:"uogonek";s:3:"-30";s:5:"uring";s:3:"-30";s:1:"v";s:3:"-40";s:1:"w";s:3:"-40";s:1:"y";s:3:"-40";s:6:"yacute";s:3:"-40";s:9:"ydieresis";s:3:"-40";}s:6:"Atilde";a:48:{s:1:"C";s:3:"-30";s:6:"Cacute";s:3:"-30";s:6:"Ccaron";s:3:"-30";s:8:"Ccedilla";s:3:"-30";s:1:"G";s:3:"-30";s:6:"Gbreve";s:3:"-30";s:12:"Gcommaaccent";s:3:"-30";s:1:"O";s:3:"-30";s:6:"Oacute";s:3:"-30";s:11:"Ocircumflex";s:3:"-30";s:9:"Odieresis";s:3:"-30";s:6:"Ograve";s:3:"-30";s:13:"Ohungarumlaut";s:3:"-30";s:7:"Omacron";s:3:"-30";s:6:"Oslash";s:3:"-30";s:6:"Otilde";s:3:"-30";s:1:"Q";s:3:"-30";s:1:"T";s:4:"-120";s:6:"Tcaron";s:4:"-120";s:12:"Tcommaaccent";s:4:"-120";s:1:"U";s:3:"-50";s:6:"Uacute";s:3:"-50";s:11:"Ucircumflex";s:3:"-50";s:9:"Udieresis";s:3:"-50";s:6:"Ugrave";s:3:"-50";s:13:"Uhungarumlaut";s:3:"-50";s:7:"Umacron";s:3:"-50";s:7:"Uogonek";s:3:"-50";s:5:"Uring";s:3:"-50";s:1:"V";s:3:"-70";s:1:"W";s:3:"-50";s:1:"Y";s:4:"-100";s:6:"Yacute";s:4:"-100";s:9:"Ydieresis";s:4:"-100";s:1:"u";s:3:"-30";s:6:"uacute";s:3:"-30";s:11:"ucircumflex";s:3:"-30";s:9:"udieresis";s:3:"-30";s:6:"ugrave";s:3:"-30";s:13:"uhungarumlaut";s:3:"-30";s:7:"umacron";s:3:"-30";s:7:"uogonek";s:3:"-30";s:5:"uring";s:3:"-30";s:1:"v";s:3:"-40";s:1:"w";s:3:"-40";s:1:"y";s:3:"-40";s:6:"yacute";s:3:"-40";s:9:"ydieresis";s:3:"-40";}s:1:"B";a:11:{s:1:"U";s:3:"-10";s:6:"Uacute";s:3:"-10";s:11:"Ucircumflex";s:3:"-10";s:9:"Udieresis";s:3:"-10";s:6:"Ugrave";s:3:"-10";s:13:"Uhungarumlaut";s:3:"-10";s:7:"Umacron";s:3:"-10";s:7:"Uogonek";s:3:"-10";s:5:"Uring";s:3:"-10";s:5:"comma";s:3:"-20";s:6:"period";s:3:"-20";}s:1:"C";a:2:{s:5:"comma";s:3:"-30";s:6:"period";s:3:"-30";}s:6:"Cacute";a:2:{s:5:"comma";s:3:"-30";s:6:"period";s:3:"-30";}s:6:"Ccaron";a:2:{s:5:"comma";s:3:"-30";s:6:"period";s:3:"-30";}s:8:"Ccedilla";a:2:{s:5:"comma";s:3:"-30";s:6:"period";s:3:"-30";}s:1:"D";a:17:{s:1:"A";s:3:"-40";s:6:"Aacute";s:3:"-40";s:6:"Abreve";s:3:"-40";s:11:"Acircumflex";s:3:"-40";s:9:"Adieresis";s:3:"-40";s:6:"Agrave";s:3:"-40";s:7:"Amacron";s:3:"-40";s:7:"Aogonek";s:3:"-40";s:5:"Aring";s:3:"-40";s:6:"Atilde";s:3:"-40";s:1:"V";s:3:"-70";s:1:"W";s:3:"-40";s:1:"Y";s:3:"-90";s:6:"Yacute";s:3:"-90";s:9:"Ydieresis";s:3:"-90";s:5:"comma";s:3:"-70";s:6:"period";s:3:"-70";}s:6:"Dcaron";a:17:{s:1:"A";s:3:"-40";s:6:"Aacute";s:3:"-40";s:6:"Abreve";s:3:"-40";s:11:"Acircumflex";s:3:"-40";s:9:"Adieresis";s:3:"-40";s:6:"Agrave";s:3:"-40";s:7:"Amacron";s:3:"-40";s:7:"Aogonek";s:3:"-40";s:5:"Aring";s:3:"-40";s:6:"Atilde";s:3:"-40";s:1:"V";s:3:"-70";s:1:"W";s:3:"-40";s:1:"Y";s:3:"-90";s:6:"Yacute";s:3:"-90";s:9:"Ydieresis";s:3:"-90";s:5:"comma";s:3:"-70";s:6:"period";s:3:"-70";}s:6:"Dcroat";a:17:{s:1:"A";s:3:"-40";s:6:"Aacute";s:3:"-40";s:6:"Abreve";s:3:"-40";s:11:"Acircumflex";s:3:"-40";s:9:"Adieresis";s:3:"-40";s:6:"Agrave";s:3:"-40";s:7:"Amacron";s:3:"-40";s:7:"Aogonek";s:3:"-40";s:5:"Aring";s:3:"-40";s:6:"Atilde";s:3:"-40";s:1:"V";s:3:"-70";s:1:"W";s:3:"-40";s:1:"Y";s:3:"-90";s:6:"Yacute";s:3:"-90";s:9:"Ydieresis";s:3:"-90";s:5:"comma";s:3:"-70";s:6:"period";s:3:"-70";}s:1:"F";a:44:{s:1:"A";s:3:"-80";s:6:"Aacute";s:3:"-80";s:6:"Abreve";s:3:"-80";s:11:"Acircumflex";s:3:"-80";s:9:"Adieresis";s:3:"-80";s:6:"Agrave";s:3:"-80";s:7:"Amacron";s:3:"-80";s:7:"Aogonek";s:3:"-80";s:5:"Aring";s:3:"-80";s:6:"Atilde";s:3:"-80";s:1:"a";s:3:"-50";s:6:"aacute";s:3:"-50";s:6:"abreve";s:3:"-50";s:11:"acircumflex";s:3:"-50";s:9:"adieresis";s:3:"-50";s:6:"agrave";s:3:"-50";s:7:"amacron";s:3:"-50";s:7:"aogonek";s:3:"-50";s:5:"aring";s:3:"-50";s:6:"atilde";s:3:"-50";s:5:"comma";s:4:"-150";s:1:"e";s:3:"-30";s:6:"eacute";s:3:"-30";s:6:"ecaron";s:3:"-30";s:11:"ecircumflex";s:3:"-30";s:9:"edieresis";s:3:"-30";s:10:"edotaccent";s:3:"-30";s:6:"egrave";s:3:"-30";s:7:"emacron";s:3:"-30";s:7:"eogonek";s:3:"-30";s:1:"o";s:3:"-30";s:6:"oacute";s:3:"-30";s:11:"ocircumflex";s:3:"-30";s:9:"odieresis";s:3:"-30";s:6:"ograve";s:3:"-30";s:13:"ohungarumlaut";s:3:"-30";s:7:"omacron";s:3:"-30";s:6:"oslash";s:3:"-30";s:6:"otilde";s:3:"-30";s:6:"period";s:4:"-150";s:1:"r";s:3:"-45";s:6:"racute";s:3:"-45";s:6:"rcaron";s:3:"-45";s:12:"rcommaaccent";s:3:"-45";}s:1:"J";a:31:{s:1:"A";s:3:"-20";s:6:"Aacute";s:3:"-20";s:6:"Abreve";s:3:"-20";s:11:"Acircumflex";s:3:"-20";s:9:"Adieresis";s:3:"-20";s:6:"Agrave";s:3:"-20";s:7:"Amacron";s:3:"-20";s:7:"Aogonek";s:3:"-20";s:5:"Aring";s:3:"-20";s:6:"Atilde";s:3:"-20";s:1:"a";s:3:"-20";s:6:"aacute";s:3:"-20";s:6:"abreve";s:3:"-20";s:11:"acircumflex";s:3:"-20";s:9:"adieresis";s:3:"-20";s:6:"agrave";s:3:"-20";s:7:"amacron";s:3:"-20";s:7:"aogonek";s:3:"-20";s:5:"aring";s:3:"-20";s:6:"atilde";s:3:"-20";s:5:"comma";s:3:"-30";s:6:"period";s:3:"-30";s:1:"u";s:3:"-20";s:6:"uacute";s:3:"-20";s:11:"ucircumflex";s:3:"-20";s:9:"udieresis";s:3:"-20";s:6:"ugrave";s:3:"-20";s:13:"uhungarumlaut";s:3:"-20";s:7:"umacron";s:3:"-20";s:7:"uogonek";s:3:"-20";s:5:"uring";s:3:"-20";}s:1:"K";a:39:{s:1:"O";s:3:"-50";s:6:"Oacute";s:3:"-50";s:11:"Ocircumflex";s:3:"-50";s:9:"Odieresis";s:3:"-50";s:6:"Ograve";s:3:"-50";s:13:"Ohungarumlaut";s:3:"-50";s:7:"Omacron";s:3:"-50";s:6:"Oslash";s:3:"-50";s:6:"Otilde";s:3:"-50";s:1:"e";s:3:"-40";s:6:"eacute";s:3:"-40";s:6:"ecaron";s:3:"-40";s:11:"ecircumflex";s:3:"-40";s:9:"edieresis";s:3:"-40";s:10:"edotaccent";s:3:"-40";s:6:"egrave";s:3:"-40";s:7:"emacron";s:3:"-40";s:7:"eogonek";s:3:"-40";s:1:"o";s:3:"-40";s:6:"oacute";s:3:"-40";s:11:"ocircumflex";s:3:"-40";s:9:"odieresis";s:3:"-40";s:6:"ograve";s:3:"-40";s:13:"ohungarumlaut";s:3:"-40";s:7:"omacron";s:3:"-40";s:6:"oslash";s:3:"-40";s:6:"otilde";s:3:"-40";s:1:"u";s:3:"-30";s:6:"uacute";s:3:"-30";s:11:"ucircumflex";s:3:"-30";s:9:"udieresis";s:3:"-30";s:6:"ugrave";s:3:"-30";s:13:"uhungarumlaut";s:3:"-30";s:7:"umacron";s:3:"-30";s:7:"uogonek";s:3:"-30";s:5:"uring";s:3:"-30";s:1:"y";s:3:"-50";s:6:"yacute";s:3:"-50";s:9:"ydieresis";s:3:"-50";}s:12:"Kcommaaccent";a:39:{s:1:"O";s:3:"-50";s:6:"Oacute";s:3:"-50";s:11:"Ocircumflex";s:3:"-50";s:9:"Odieresis";s:3:"-50";s:6:"Ograve";s:3:"-50";s:13:"Ohungarumlaut";s:3:"-50";s:7:"Omacron";s:3:"-50";s:6:"Oslash";s:3:"-50";s:6:"Otilde";s:3:"-50";s:1:"e";s:3:"-40";s:6:"eacute";s:3:"-40";s:6:"ecaron";s:3:"-40";s:11:"ecircumflex";s:3:"-40";s:9:"edieresis";s:3:"-40";s:10:"edotaccent";s:3:"-40";s:6:"egrave";s:3:"-40";s:7:"emacron";s:3:"-40";s:7:"eogonek";s:3:"-40";s:1:"o";s:3:"-40";s:6:"oacute";s:3:"-40";s:11:"ocircumflex";s:3:"-40";s:9:"odieresis";s:3:"-40";s:6:"ograve";s:3:"-40";s:13:"ohungarumlaut";s:3:"-40";s:7:"omacron";s:3:"-40";s:6:"oslash";s:3:"-40";s:6:"otilde";s:3:"-40";s:1:"u";s:3:"-30";s:6:"uacute";s:3:"-30";s:11:"ucircumflex";s:3:"-30";s:9:"udieresis";s:3:"-30";s:6:"ugrave";s:3:"-30";s:13:"uhungarumlaut";s:3:"-30";s:7:"umacron";s:3:"-30";s:7:"uogonek";s:3:"-30";s:5:"uring";s:3:"-30";s:1:"y";s:3:"-50";s:6:"yacute";s:3:"-50";s:9:"ydieresis";s:3:"-50";}s:1:"L";a:13:{s:1:"T";s:4:"-110";s:6:"Tcaron";s:4:"-110";s:12:"Tcommaaccent";s:4:"-110";s:1:"V";s:4:"-110";s:1:"W";s:3:"-70";s:1:"Y";s:4:"-140";s:6:"Yacute";s:4:"-140";s:9:"Ydieresis";s:4:"-140";s:13:"quotedblright";s:4:"-140";s:10:"quoteright";s:4:"-160";s:1:"y";s:3:"-30";s:6:"yacute";s:3:"-30";s:9:"ydieresis";s:3:"-30";}s:6:"Lacute";a:13:{s:1:"T";s:4:"-110";s:6:"Tcaron";s:4:"-110";s:12:"Tcommaaccent";s:4:"-110";s:1:"V";s:4:"-110";s:1:"W";s:3:"-70";s:1:"Y";s:4:"-140";s:6:"Yacute";s:4:"-140";s:9:"Ydieresis";s:4:"-140";s:13:"quotedblright";s:4:"-140";s:10:"quoteright";s:4:"-160";s:1:"y";s:3:"-30";s:6:"yacute";s:3:"-30";s:9:"ydieresis";s:3:"-30";}s:6:"Lcaron";a:13:{s:1:"T";s:4:"-110";s:6:"Tcaron";s:4:"-110";s:12:"Tcommaaccent";s:4:"-110";s:1:"V";s:4:"-110";s:1:"W";s:3:"-70";s:1:"Y";s:4:"-140";s:6:"Yacute";s:4:"-140";s:9:"Ydieresis";s:4:"-140";s:13:"quotedblright";s:4:"-140";s:10:"quoteright";s:4:"-160";s:1:"y";s:3:"-30";s:6:"yacute";s:3:"-30";s:9:"ydieresis";s:3:"-30";}s:12:"Lcommaaccent";a:13:{s:1:"T";s:4:"-110";s:6:"Tcaron";s:4:"-110";s:12:"Tcommaaccent";s:4:"-110";s:1:"V";s:4:"-110";s:1:"W";s:3:"-70";s:1:"Y";s:4:"-140";s:6:"Yacute";s:4:"-140";s:9:"Ydieresis";s:4:"-140";s:13:"quotedblright";s:4:"-140";s:10:"quoteright";s:4:"-160";s:1:"y";s:3:"-30";s:6:"yacute";s:3:"-30";s:9:"ydieresis";s:3:"-30";}s:6:"Lslash";a:13:{s:1:"T";s:4:"-110";s:6:"Tcaron";s:4:"-110";s:12:"Tcommaaccent";s:4:"-110";s:1:"V";s:4:"-110";s:1:"W";s:3:"-70";s:1:"Y";s:4:"-140";s:6:"Yacute";s:4:"-140";s:9:"Ydieresis";s:4:"-140";s:13:"quotedblright";s:4:"-140";s:10:"quoteright";s:4:"-160";s:1:"y";s:3:"-30";s:6:"yacute";s:3:"-30";s:9:"ydieresis";s:3:"-30";}s:1:"O";a:21:{s:1:"A";s:3:"-20";s:6:"Aacute";s:3:"-20";s:6:"Abreve";s:3:"-20";s:11:"Acircumflex";s:3:"-20";s:9:"Adieresis";s:3:"-20";s:6:"Agrave";s:3:"-20";s:7:"Amacron";s:3:"-20";s:7:"Aogonek";s:3:"-20";s:5:"Aring";s:3:"-20";s:6:"Atilde";s:3:"-20";s:1:"T";s:3:"-40";s:6:"Tcaron";s:3:"-40";s:12:"Tcommaaccent";s:3:"-40";s:1:"V";s:3:"-50";s:1:"W";s:3:"-30";s:1:"X";s:3:"-60";s:1:"Y";s:3:"-70";s:6:"Yacute";s:3:"-70";s:9:"Ydieresis";s:3:"-70";s:5:"comma";s:3:"-40";s:6:"period";s:3:"-40";}s:6:"Oacute";a:21:{s:1:"A";s:3:"-20";s:6:"Aacute";s:3:"-20";s:6:"Abreve";s:3:"-20";s:11:"Acircumflex";s:3:"-20";s:9:"Adieresis";s:3:"-20";s:6:"Agrave";s:3:"-20";s:7:"Amacron";s:3:"-20";s:7:"Aogonek";s:3:"-20";s:5:"Aring";s:3:"-20";s:6:"Atilde";s:3:"-20";s:1:"T";s:3:"-40";s:6:"Tcaron";s:3:"-40";s:12:"Tcommaaccent";s:3:"-40";s:1:"V";s:3:"-50";s:1:"W";s:3:"-30";s:1:"X";s:3:"-60";s:1:"Y";s:3:"-70";s:6:"Yacute";s:3:"-70";s:9:"Ydieresis";s:3:"-70";s:5:"comma";s:3:"-40";s:6:"period";s:3:"-40";}s:11:"Ocircumflex";a:21:{s:1:"A";s:3:"-20";s:6:"Aacute";s:3:"-20";s:6:"Abreve";s:3:"-20";s:11:"Acircumflex";s:3:"-20";s:9:"Adieresis";s:3:"-20";s:6:"Agrave";s:3:"-20";s:7:"Amacron";s:3:"-20";s:7:"Aogonek";s:3:"-20";s:5:"Aring";s:3:"-20";s:6:"Atilde";s:3:"-20";s:1:"T";s:3:"-40";s:6:"Tcaron";s:3:"-40";s:12:"Tcommaaccent";s:3:"-40";s:1:"V";s:3:"-50";s:1:"W";s:3:"-30";s:1:"X";s:3:"-60";s:1:"Y";s:3:"-70";s:6:"Yacute";s:3:"-70";s:9:"Ydieresis";s:3:"-70";s:5:"comma";s:3:"-40";s:6:"period";s:3:"-40";}s:9:"Odieresis";a:21:{s:1:"A";s:3:"-20";s:6:"Aacute";s:3:"-20";s:6:"Abreve";s:3:"-20";s:11:"Acircumflex";s:3:"-20";s:9:"Adieresis";s:3:"-20";s:6:"Agrave";s:3:"-20";s:7:"Amacron";s:3:"-20";s:7:"Aogonek";s:3:"-20";s:5:"Aring";s:3:"-20";s:6:"Atilde";s:3:"-20";s:1:"T";s:3:"-40";s:6:"Tcaron";s:3:"-40";s:12:"Tcommaaccent";s:3:"-40";s:1:"V";s:3:"-50";s:1:"W";s:3:"-30";s:1:"X";s:3:"-60";s:1:"Y";s:3:"-70";s:6:"Yacute";s:3:"-70";s:9:"Ydieresis";s:3:"-70";s:5:"comma";s:3:"-40";s:6:"period";s:3:"-40";}s:6:"Ograve";a:21:{s:1:"A";s:3:"-20";s:6:"Aacute";s:3:"-20";s:6:"Abreve";s:3:"-20";s:11:"Acircumflex";s:3:"-20";s:9:"Adieresis";s:3:"-20";s:6:"Agrave";s:3:"-20";s:7:"Amacron";s:3:"-20";s:7:"Aogonek";s:3:"-20";s:5:"Aring";s:3:"-20";s:6:"Atilde";s:3:"-20";s:1:"T";s:3:"-40";s:6:"Tcaron";s:3:"-40";s:12:"Tcommaaccent";s:3:"-40";s:1:"V";s:3:"-50";s:1:"W";s:3:"-30";s:1:"X";s:3:"-60";s:1:"Y";s:3:"-70";s:6:"Yacute";s:3:"-70";s:9:"Ydieresis";s:3:"-70";s:5:"comma";s:3:"-40";s:6:"period";s:3:"-40";}s:13:"Ohungarumlaut";a:21:{s:1:"A";s:3:"-20";s:6:"Aacute";s:3:"-20";s:6:"Abreve";s:3:"-20";s:11:"Acircumflex";s:3:"-20";s:9:"Adieresis";s:3:"-20";s:6:"Agrave";s:3:"-20";s:7:"Amacron";s:3:"-20";s:7:"Aogonek";s:3:"-20";s:5:"Aring";s:3:"-20";s:6:"Atilde";s:3:"-20";s:1:"T";s:3:"-40";s:6:"Tcaron";s:3:"-40";s:12:"Tcommaaccent";s:3:"-40";s:1:"V";s:3:"-50";s:1:"W";s:3:"-30";s:1:"X";s:3:"-60";s:1:"Y";s:3:"-70";s:6:"Yacute";s:3:"-70";s:9:"Ydieresis";s:3:"-70";s:5:"comma";s:3:"-40";s:6:"period";s:3:"-40";}s:7:"Omacron";a:21:{s:1:"A";s:3:"-20";s:6:"Aacute";s:3:"-20";s:6:"Abreve";s:3:"-20";s:11:"Acircumflex";s:3:"-20";s:9:"Adieresis";s:3:"-20";s:6:"Agrave";s:3:"-20";s:7:"Amacron";s:3:"-20";s:7:"Aogonek";s:3:"-20";s:5:"Aring";s:3:"-20";s:6:"Atilde";s:3:"-20";s:1:"T";s:3:"-40";s:6:"Tcaron";s:3:"-40";s:12:"Tcommaaccent";s:3:"-40";s:1:"V";s:3:"-50";s:1:"W";s:3:"-30";s:1:"X";s:3:"-60";s:1:"Y";s:3:"-70";s:6:"Yacute";s:3:"-70";s:9:"Ydieresis";s:3:"-70";s:5:"comma";s:3:"-40";s:6:"period";s:3:"-40";}s:6:"Oslash";a:21:{s:1:"A";s:3:"-20";s:6:"Aacute";s:3:"-20";s:6:"Abreve";s:3:"-20";s:11:"Acircumflex";s:3:"-20";s:9:"Adieresis";s:3:"-20";s:6:"Agrave";s:3:"-20";s:7:"Amacron";s:3:"-20";s:7:"Aogonek";s:3:"-20";s:5:"Aring";s:3:"-20";s:6:"Atilde";s:3:"-20";s:1:"T";s:3:"-40";s:6:"Tcaron";s:3:"-40";s:12:"Tcommaaccent";s:3:"-40";s:1:"V";s:3:"-50";s:1:"W";s:3:"-30";s:1:"X";s:3:"-60";s:1:"Y";s:3:"-70";s:6:"Yacute";s:3:"-70";s:9:"Ydieresis";s:3:"-70";s:5:"comma";s:3:"-40";s:6:"period";s:3:"-40";}s:6:"Otilde";a:21:{s:1:"A";s:3:"-20";s:6:"Aacute";s:3:"-20";s:6:"Abreve";s:3:"-20";s:11:"Acircumflex";s:3:"-20";s:9:"Adieresis";s:3:"-20";s:6:"Agrave";s:3:"-20";s:7:"Amacron";s:3:"-20";s:7:"Aogonek";s:3:"-20";s:5:"Aring";s:3:"-20";s:6:"Atilde";s:3:"-20";s:1:"T";s:3:"-40";s:6:"Tcaron";s:3:"-40";s:12:"Tcommaaccent";s:3:"-40";s:1:"V";s:3:"-50";s:1:"W";s:3:"-30";s:1:"X";s:3:"-60";s:1:"Y";s:3:"-70";s:6:"Yacute";s:3:"-70";s:9:"Ydieresis";s:3:"-70";s:5:"comma";s:3:"-40";s:6:"period";s:3:"-40";}s:1:"P";a:40:{s:1:"A";s:4:"-120";s:6:"Aacute";s:4:"-120";s:6:"Abreve";s:4:"-120";s:11:"Acircumflex";s:4:"-120";s:9:"Adieresis";s:4:"-120";s:6:"Agrave";s:4:"-120";s:7:"Amacron";s:4:"-120";s:7:"Aogonek";s:4:"-120";s:5:"Aring";s:4:"-120";s:6:"Atilde";s:4:"-120";s:1:"a";s:3:"-40";s:6:"aacute";s:3:"-40";s:6:"abreve";s:3:"-40";s:11:"acircumflex";s:3:"-40";s:9:"adieresis";s:3:"-40";s:6:"agrave";s:3:"-40";s:7:"amacron";s:3:"-40";s:7:"aogonek";s:3:"-40";s:5:"aring";s:3:"-40";s:6:"atilde";s:3:"-40";s:5:"comma";s:4:"-180";s:1:"e";s:3:"-50";s:6:"eacute";s:3:"-50";s:6:"ecaron";s:3:"-50";s:11:"ecircumflex";s:3:"-50";s:9:"edieresis";s:3:"-50";s:10:"edotaccent";s:3:"-50";s:6:"egrave";s:3:"-50";s:7:"emacron";s:3:"-50";s:7:"eogonek";s:3:"-50";s:1:"o";s:3:"-50";s:6:"oacute";s:3:"-50";s:11:"ocircumflex";s:3:"-50";s:9:"odieresis";s:3:"-50";s:6:"ograve";s:3:"-50";s:13:"ohungarumlaut";s:3:"-50";s:7:"omacron";s:3:"-50";s:6:"oslash";s:3:"-50";s:6:"otilde";s:3:"-50";s:6:"period";s:4:"-180";}s:1:"Q";a:9:{s:1:"U";s:3:"-10";s:6:"Uacute";s:3:"-10";s:11:"Ucircumflex";s:3:"-10";s:9:"Udieresis";s:3:"-10";s:6:"Ugrave";s:3:"-10";s:13:"Uhungarumlaut";s:3:"-10";s:7:"Umacron";s:3:"-10";s:7:"Uogonek";s:3:"-10";s:5:"Uring";s:3:"-10";}s:1:"R";a:26:{s:1:"O";s:3:"-20";s:6:"Oacute";s:3:"-20";s:11:"Ocircumflex";s:3:"-20";s:9:"Odieresis";s:3:"-20";s:6:"Ograve";s:3:"-20";s:13:"Ohungarumlaut";s:3:"-20";s:7:"Omacron";s:3:"-20";s:6:"Oslash";s:3:"-20";s:6:"Otilde";s:3:"-20";s:1:"T";s:3:"-30";s:6:"Tcaron";s:3:"-30";s:12:"Tcommaaccent";s:3:"-30";s:1:"U";s:3:"-40";s:6:"Uacute";s:3:"-40";s:11:"Ucircumflex";s:3:"-40";s:9:"Udieresis";s:3:"-40";s:6:"Ugrave";s:3:"-40";s:13:"Uhungarumlaut";s:3:"-40";s:7:"Umacron";s:3:"-40";s:7:"Uogonek";s:3:"-40";s:5:"Uring";s:3:"-40";s:1:"V";s:3:"-50";s:1:"W";s:3:"-30";s:1:"Y";s:3:"-50";s:6:"Yacute";s:3:"-50";s:9:"Ydieresis";s:3:"-50";}s:6:"Racute";a:26:{s:1:"O";s:3:"-20";s:6:"Oacute";s:3:"-20";s:11:"Ocircumflex";s:3:"-20";s:9:"Odieresis";s:3:"-20";s:6:"Ograve";s:3:"-20";s:13:"Ohungarumlaut";s:3:"-20";s:7:"Omacron";s:3:"-20";s:6:"Oslash";s:3:"-20";s:6:"Otilde";s:3:"-20";s:1:"T";s:3:"-30";s:6:"Tcaron";s:3:"-30";s:12:"Tcommaaccent";s:3:"-30";s:1:"U";s:3:"-40";s:6:"Uacute";s:3:"-40";s:11:"Ucircumflex";s:3:"-40";s:9:"Udieresis";s:3:"-40";s:6:"Ugrave";s:3:"-40";s:13:"Uhungarumlaut";s:3:"-40";s:7:"Umacron";s:3:"-40";s:7:"Uogonek";s:3:"-40";s:5:"Uring";s:3:"-40";s:1:"V";s:3:"-50";s:1:"W";s:3:"-30";s:1:"Y";s:3:"-50";s:6:"Yacute";s:3:"-50";s:9:"Ydieresis";s:3:"-50";}s:6:"Rcaron";a:26:{s:1:"O";s:3:"-20";s:6:"Oacute";s:3:"-20";s:11:"Ocircumflex";s:3:"-20";s:9:"Odieresis";s:3:"-20";s:6:"Ograve";s:3:"-20";s:13:"Ohungarumlaut";s:3:"-20";s:7:"Omacron";s:3:"-20";s:6:"Oslash";s:3:"-20";s:6:"Otilde";s:3:"-20";s:1:"T";s:3:"-30";s:6:"Tcaron";s:3:"-30";s:12:"Tcommaaccent";s:3:"-30";s:1:"U";s:3:"-40";s:6:"Uacute";s:3:"-40";s:11:"Ucircumflex";s:3:"-40";s:9:"Udieresis";s:3:"-40";s:6:"Ugrave";s:3:"-40";s:13:"Uhungarumlaut";s:3:"-40";s:7:"Umacron";s:3:"-40";s:7:"Uogonek";s:3:"-40";s:5:"Uring";s:3:"-40";s:1:"V";s:3:"-50";s:1:"W";s:3:"-30";s:1:"Y";s:3:"-50";s:6:"Yacute";s:3:"-50";s:9:"Ydieresis";s:3:"-50";}s:12:"Rcommaaccent";a:26:{s:1:"O";s:3:"-20";s:6:"Oacute";s:3:"-20";s:11:"Ocircumflex";s:3:"-20";s:9:"Odieresis";s:3:"-20";s:6:"Ograve";s:3:"-20";s:13:"Ohungarumlaut";s:3:"-20";s:7:"Omacron";s:3:"-20";s:6:"Oslash";s:3:"-20";s:6:"Otilde";s:3:"-20";s:1:"T";s:3:"-30";s:6:"Tcaron";s:3:"-30";s:12:"Tcommaaccent";s:3:"-30";s:1:"U";s:3:"-40";s:6:"Uacute";s:3:"-40";s:11:"Ucircumflex";s:3:"-40";s:9:"Udieresis";s:3:"-40";s:6:"Ugrave";s:3:"-40";s:13:"Uhungarumlaut";s:3:"-40";s:7:"Umacron";s:3:"-40";s:7:"Uogonek";s:3:"-40";s:5:"Uring";s:3:"-40";s:1:"V";s:3:"-50";s:1:"W";s:3:"-30";s:1:"Y";s:3:"-50";s:6:"Yacute";s:3:"-50";s:9:"Ydieresis";s:3:"-50";}s:1:"S";a:2:{s:5:"comma";s:3:"-20";s:6:"period";s:3:"-20";}s:6:"Sacute";a:2:{s:5:"comma";s:3:"-20";s:6:"period";s:3:"-20";}s:6:"Scaron";a:2:{s:5:"comma";s:3:"-20";s:6:"period";s:3:"-20";}s:8:"Scedilla";a:2:{s:5:"comma";s:3:"-20";s:6:"period";s:3:"-20";}s:12:"Scommaaccent";a:2:{s:5:"comma";s:3:"-20";s:6:"period";s:3:"-20";}s:1:"T";a:69:{s:1:"A";s:4:"-120";s:6:"Aacute";s:4:"-120";s:6:"Abreve";s:4:"-120";s:11:"Acircumflex";s:4:"-120";s:9:"Adieresis";s:4:"-120";s:6:"Agrave";s:4:"-120";s:7:"Amacron";s:4:"-120";s:7:"Aogonek";s:4:"-120";s:5:"Aring";s:4:"-120";s:6:"Atilde";s:4:"-120";s:1:"O";s:3:"-40";s:6:"Oacute";s:3:"-40";s:11:"Ocircumflex";s:3:"-40";s:9:"Odieresis";s:3:"-40";s:6:"Ograve";s:3:"-40";s:13:"Ohungarumlaut";s:3:"-40";s:7:"Omacron";s:3:"-40";s:6:"Oslash";s:3:"-40";s:6:"Otilde";s:3:"-40";s:1:"a";s:4:"-120";s:6:"aacute";s:4:"-120";s:6:"abreve";s:3:"-60";s:11:"acircumflex";s:4:"-120";s:9:"adieresis";s:4:"-120";s:6:"agrave";s:4:"-120";s:7:"amacron";s:3:"-60";s:7:"aogonek";s:4:"-120";s:5:"aring";s:4:"-120";s:6:"atilde";s:3:"-60";s:5:"colon";s:3:"-20";s:5:"comma";s:4:"-120";s:1:"e";s:4:"-120";s:6:"eacute";s:4:"-120";s:6:"ecaron";s:4:"-120";s:11:"ecircumflex";s:4:"-120";s:9:"edieresis";s:4:"-120";s:10:"edotaccent";s:4:"-120";s:6:"egrave";s:3:"-60";s:7:"emacron";s:3:"-60";s:7:"eogonek";s:4:"-120";s:6:"hyphen";s:4:"-140";s:1:"o";s:4:"-120";s:6:"oacute";s:4:"-120";s:11:"ocircumflex";s:4:"-120";s:9:"odieresis";s:4:"-120";s:6:"ograve";s:4:"-120";s:13:"ohungarumlaut";s:4:"-120";s:7:"omacron";s:3:"-60";s:6:"oslash";s:4:"-120";s:6:"otilde";s:3:"-60";s:6:"period";s:4:"-120";s:1:"r";s:4:"-120";s:6:"racute";s:4:"-120";s:6:"rcaron";s:4:"-120";s:12:"rcommaaccent";s:4:"-120";s:9:"semicolon";s:3:"-20";s:1:"u";s:4:"-120";s:6:"uacute";s:4:"-120";s:11:"ucircumflex";s:4:"-120";s:9:"udieresis";s:4:"-120";s:6:"ugrave";s:4:"-120";s:13:"uhungarumlaut";s:4:"-120";s:7:"umacron";s:3:"-60";s:7:"uogonek";s:4:"-120";s:5:"uring";s:4:"-120";s:1:"w";s:4:"-120";s:1:"y";s:4:"-120";s:6:"yacute";s:4:"-120";s:9:"ydieresis";s:3:"-60";}s:6:"Tcaron";a:69:{s:1:"A";s:4:"-120";s:6:"Aacute";s:4:"-120";s:6:"Abreve";s:4:"-120";s:11:"Acircumflex";s:4:"-120";s:9:"Adieresis";s:4:"-120";s:6:"Agrave";s:4:"-120";s:7:"Amacron";s:4:"-120";s:7:"Aogonek";s:4:"-120";s:5:"Aring";s:4:"-120";s:6:"Atilde";s:4:"-120";s:1:"O";s:3:"-40";s:6:"Oacute";s:3:"-40";s:11:"Ocircumflex";s:3:"-40";s:9:"Odieresis";s:3:"-40";s:6:"Ograve";s:3:"-40";s:13:"Ohungarumlaut";s:3:"-40";s:7:"Omacron";s:3:"-40";s:6:"Oslash";s:3:"-40";s:6:"Otilde";s:3:"-40";s:1:"a";s:4:"-120";s:6:"aacute";s:4:"-120";s:6:"abreve";s:3:"-60";s:11:"acircumflex";s:4:"-120";s:9:"adieresis";s:4:"-120";s:6:"agrave";s:4:"-120";s:7:"amacron";s:3:"-60";s:7:"aogonek";s:4:"-120";s:5:"aring";s:4:"-120";s:6:"atilde";s:3:"-60";s:5:"colon";s:3:"-20";s:5:"comma";s:4:"-120";s:1:"e";s:4:"-120";s:6:"eacute";s:4:"-120";s:6:"ecaron";s:4:"-120";s:11:"ecircumflex";s:4:"-120";s:9:"edieresis";s:4:"-120";s:10:"edotaccent";s:4:"-120";s:6:"egrave";s:3:"-60";s:7:"emacron";s:3:"-60";s:7:"eogonek";s:4:"-120";s:6:"hyphen";s:4:"-140";s:1:"o";s:4:"-120";s:6:"oacute";s:4:"-120";s:11:"ocircumflex";s:4:"-120";s:9:"odieresis";s:4:"-120";s:6:"ograve";s:4:"-120";s:13:"ohungarumlaut";s:4:"-120";s:7:"omacron";s:3:"-60";s:6:"oslash";s:4:"-120";s:6:"otilde";s:3:"-60";s:6:"period";s:4:"-120";s:1:"r";s:4:"-120";s:6:"racute";s:4:"-120";s:6:"rcaron";s:4:"-120";s:12:"rcommaaccent";s:4:"-120";s:9:"semicolon";s:3:"-20";s:1:"u";s:4:"-120";s:6:"uacute";s:4:"-120";s:11:"ucircumflex";s:4:"-120";s:9:"udieresis";s:4:"-120";s:6:"ugrave";s:4:"-120";s:13:"uhungarumlaut";s:4:"-120";s:7:"umacron";s:3:"-60";s:7:"uogonek";s:4:"-120";s:5:"uring";s:4:"-120";s:1:"w";s:4:"-120";s:1:"y";s:4:"-120";s:6:"yacute";s:4:"-120";s:9:"ydieresis";s:3:"-60";}s:12:"Tcommaaccent";a:69:{s:1:"A";s:4:"-120";s:6:"Aacute";s:4:"-120";s:6:"Abreve";s:4:"-120";s:11:"Acircumflex";s:4:"-120";s:9:"Adieresis";s:4:"-120";s:6:"Agrave";s:4:"-120";s:7:"Amacron";s:4:"-120";s:7:"Aogonek";s:4:"-120";s:5:"Aring";s:4:"-120";s:6:"Atilde";s:4:"-120";s:1:"O";s:3:"-40";s:6:"Oacute";s:3:"-40";s:11:"Ocircumflex";s:3:"-40";s:9:"Odieresis";s:3:"-40";s:6:"Ograve";s:3:"-40";s:13:"Ohungarumlaut";s:3:"-40";s:7:"Omacron";s:3:"-40";s:6:"Oslash";s:3:"-40";s:6:"Otilde";s:3:"-40";s:1:"a";s:4:"-120";s:6:"aacute";s:4:"-120";s:6:"abreve";s:3:"-60";s:11:"acircumflex";s:4:"-120";s:9:"adieresis";s:4:"-120";s:6:"agrave";s:4:"-120";s:7:"amacron";s:3:"-60";s:7:"aogonek";s:4:"-120";s:5:"aring";s:4:"-120";s:6:"atilde";s:3:"-60";s:5:"colon";s:3:"-20";s:5:"comma";s:4:"-120";s:1:"e";s:4:"-120";s:6:"eacute";s:4:"-120";s:6:"ecaron";s:4:"-120";s:11:"ecircumflex";s:4:"-120";s:9:"edieresis";s:4:"-120";s:10:"edotaccent";s:4:"-120";s:6:"egrave";s:3:"-60";s:7:"emacron";s:3:"-60";s:7:"eogonek";s:4:"-120";s:6:"hyphen";s:4:"-140";s:1:"o";s:4:"-120";s:6:"oacute";s:4:"-120";s:11:"ocircumflex";s:4:"-120";s:9:"odieresis";s:4:"-120";s:6:"ograve";s:4:"-120";s:13:"ohungarumlaut";s:4:"-120";s:7:"omacron";s:3:"-60";s:6:"oslash";s:4:"-120";s:6:"otilde";s:3:"-60";s:6:"period";s:4:"-120";s:1:"r";s:4:"-120";s:6:"racute";s:4:"-120";s:6:"rcaron";s:4:"-120";s:12:"rcommaaccent";s:4:"-120";s:9:"semicolon";s:3:"-20";s:1:"u";s:4:"-120";s:6:"uacute";s:4:"-120";s:11:"ucircumflex";s:4:"-120";s:9:"udieresis";s:4:"-120";s:6:"ugrave";s:4:"-120";s:13:"uhungarumlaut";s:4:"-120";s:7:"umacron";s:3:"-60";s:7:"uogonek";s:4:"-120";s:5:"uring";s:4:"-120";s:1:"w";s:4:"-120";s:1:"y";s:4:"-120";s:6:"yacute";s:4:"-120";s:9:"ydieresis";s:3:"-60";}s:1:"U";a:12:{s:1:"A";s:3:"-40";s:6:"Aacute";s:3:"-40";s:6:"Abreve";s:3:"-40";s:11:"Acircumflex";s:3:"-40";s:9:"Adieresis";s:3:"-40";s:6:"Agrave";s:3:"-40";s:7:"Amacron";s:3:"-40";s:7:"Aogonek";s:3:"-40";s:5:"Aring";s:3:"-40";s:6:"Atilde";s:3:"-40";s:5:"comma";s:3:"-40";s:6:"period";s:3:"-40";}s:6:"Uacute";a:12:{s:1:"A";s:3:"-40";s:6:"Aacute";s:3:"-40";s:6:"Abreve";s:3:"-40";s:11:"Acircumflex";s:3:"-40";s:9:"Adieresis";s:3:"-40";s:6:"Agrave";s:3:"-40";s:7:"Amacron";s:3:"-40";s:7:"Aogonek";s:3:"-40";s:5:"Aring";s:3:"-40";s:6:"Atilde";s:3:"-40";s:5:"comma";s:3:"-40";s:6:"period";s:3:"-40";}s:11:"Ucircumflex";a:12:{s:1:"A";s:3:"-40";s:6:"Aacute";s:3:"-40";s:6:"Abreve";s:3:"-40";s:11:"Acircumflex";s:3:"-40";s:9:"Adieresis";s:3:"-40";s:6:"Agrave";s:3:"-40";s:7:"Amacron";s:3:"-40";s:7:"Aogonek";s:3:"-40";s:5:"Aring";s:3:"-40";s:6:"Atilde";s:3:"-40";s:5:"comma";s:3:"-40";s:6:"period";s:3:"-40";}s:9:"Udieresis";a:12:{s:1:"A";s:3:"-40";s:6:"Aacute";s:3:"-40";s:6:"Abreve";s:3:"-40";s:11:"Acircumflex";s:3:"-40";s:9:"Adieresis";s:3:"-40";s:6:"Agrave";s:3:"-40";s:7:"Amacron";s:3:"-40";s:7:"Aogonek";s:3:"-40";s:5:"Aring";s:3:"-40";s:6:"Atilde";s:3:"-40";s:5:"comma";s:3:"-40";s:6:"period";s:3:"-40";}s:6:"Ugrave";a:12:{s:1:"A";s:3:"-40";s:6:"Aacute";s:3:"-40";s:6:"Abreve";s:3:"-40";s:11:"Acircumflex";s:3:"-40";s:9:"Adieresis";s:3:"-40";s:6:"Agrave";s:3:"-40";s:7:"Amacron";s:3:"-40";s:7:"Aogonek";s:3:"-40";s:5:"Aring";s:3:"-40";s:6:"Atilde";s:3:"-40";s:5:"comma";s:3:"-40";s:6:"period";s:3:"-40";}s:13:"Uhungarumlaut";a:12:{s:1:"A";s:3:"-40";s:6:"Aacute";s:3:"-40";s:6:"Abreve";s:3:"-40";s:11:"Acircumflex";s:3:"-40";s:9:"Adieresis";s:3:"-40";s:6:"Agrave";s:3:"-40";s:7:"Amacron";s:3:"-40";s:7:"Aogonek";s:3:"-40";s:5:"Aring";s:3:"-40";s:6:"Atilde";s:3:"-40";s:5:"comma";s:3:"-40";s:6:"period";s:3:"-40";}s:7:"Umacron";a:12:{s:1:"A";s:3:"-40";s:6:"Aacute";s:3:"-40";s:6:"Abreve";s:3:"-40";s:11:"Acircumflex";s:3:"-40";s:9:"Adieresis";s:3:"-40";s:6:"Agrave";s:3:"-40";s:7:"Amacron";s:3:"-40";s:7:"Aogonek";s:3:"-40";s:5:"Aring";s:3:"-40";s:6:"Atilde";s:3:"-40";s:5:"comma";s:3:"-40";s:6:"period";s:3:"-40";}s:7:"Uogonek";a:12:{s:1:"A";s:3:"-40";s:6:"Aacute";s:3:"-40";s:6:"Abreve";s:3:"-40";s:11:"Acircumflex";s:3:"-40";s:9:"Adieresis";s:3:"-40";s:6:"Agrave";s:3:"-40";s:7:"Amacron";s:3:"-40";s:7:"Aogonek";s:3:"-40";s:5:"Aring";s:3:"-40";s:6:"Atilde";s:3:"-40";s:5:"comma";s:3:"-40";s:6:"period";s:3:"-40";}s:5:"Uring";a:12:{s:1:"A";s:3:"-40";s:6:"Aacute";s:3:"-40";s:6:"Abreve";s:3:"-40";s:11:"Acircumflex";s:3:"-40";s:9:"Adieresis";s:3:"-40";s:6:"Agrave";s:3:"-40";s:7:"Amacron";s:3:"-40";s:7:"Aogonek";s:3:"-40";s:5:"Aring";s:3:"-40";s:6:"Atilde";s:3:"-40";s:5:"comma";s:3:"-40";s:6:"period";s:3:"-40";}s:1:"V";a:64:{s:1:"A";s:3:"-80";s:6:"Aacute";s:3:"-80";s:6:"Abreve";s:3:"-80";s:11:"Acircumflex";s:3:"-80";s:9:"Adieresis";s:3:"-80";s:6:"Agrave";s:3:"-80";s:7:"Amacron";s:3:"-80";s:7:"Aogonek";s:3:"-80";s:5:"Aring";s:3:"-80";s:6:"Atilde";s:3:"-80";s:1:"G";s:3:"-40";s:6:"Gbreve";s:3:"-40";s:12:"Gcommaaccent";s:3:"-40";s:1:"O";s:3:"-40";s:6:"Oacute";s:3:"-40";s:11:"Ocircumflex";s:3:"-40";s:9:"Odieresis";s:3:"-40";s:6:"Ograve";s:3:"-40";s:13:"Ohungarumlaut";s:3:"-40";s:7:"Omacron";s:3:"-40";s:6:"Oslash";s:3:"-40";s:6:"Otilde";s:3:"-40";s:1:"a";s:3:"-70";s:6:"aacute";s:3:"-70";s:6:"abreve";s:3:"-70";s:11:"acircumflex";s:3:"-70";s:9:"adieresis";s:3:"-70";s:6:"agrave";s:3:"-70";s:7:"amacron";s:3:"-70";s:7:"aogonek";s:3:"-70";s:5:"aring";s:3:"-70";s:6:"atilde";s:3:"-70";s:5:"colon";s:3:"-40";s:5:"comma";s:4:"-125";s:1:"e";s:3:"-80";s:6:"eacute";s:3:"-80";s:6:"ecaron";s:3:"-80";s:11:"ecircumflex";s:3:"-80";s:9:"edieresis";s:3:"-80";s:10:"edotaccent";s:3:"-80";s:6:"egrave";s:3:"-80";s:7:"emacron";s:3:"-80";s:7:"eogonek";s:3:"-80";s:6:"hyphen";s:3:"-80";s:1:"o";s:3:"-80";s:6:"oacute";s:3:"-80";s:11:"ocircumflex";s:3:"-80";s:9:"odieresis";s:3:"-80";s:6:"ograve";s:3:"-80";s:13:"ohungarumlaut";s:3:"-80";s:7:"omacron";s:3:"-80";s:6:"oslash";s:3:"-80";s:6:"otilde";s:3:"-80";s:6:"period";s:4:"-125";s:9:"semicolon";s:3:"-40";s:1:"u";s:3:"-70";s:6:"uacute";s:3:"-70";s:11:"ucircumflex";s:3:"-70";s:9:"udieresis";s:3:"-70";s:6:"ugrave";s:3:"-70";s:13:"uhungarumlaut";s:3:"-70";s:7:"umacron";s:3:"-70";s:7:"uogonek";s:3:"-70";s:5:"uring";s:3:"-70";}s:1:"W";a:62:{s:1:"A";s:3:"-50";s:6:"Aacute";s:3:"-50";s:6:"Abreve";s:3:"-50";s:11:"Acircumflex";s:3:"-50";s:9:"Adieresis";s:3:"-50";s:6:"Agrave";s:3:"-50";s:7:"Amacron";s:3:"-50";s:7:"Aogonek";s:3:"-50";s:5:"Aring";s:3:"-50";s:6:"Atilde";s:3:"-50";s:1:"O";s:3:"-20";s:6:"Oacute";s:3:"-20";s:11:"Ocircumflex";s:3:"-20";s:9:"Odieresis";s:3:"-20";s:6:"Ograve";s:3:"-20";s:13:"Ohungarumlaut";s:3:"-20";s:7:"Omacron";s:3:"-20";s:6:"Oslash";s:3:"-20";s:6:"Otilde";s:3:"-20";s:1:"a";s:3:"-40";s:6:"aacute";s:3:"-40";s:6:"abreve";s:3:"-40";s:11:"acircumflex";s:3:"-40";s:9:"adieresis";s:3:"-40";s:6:"agrave";s:3:"-40";s:7:"amacron";s:3:"-40";s:7:"aogonek";s:3:"-40";s:5:"aring";s:3:"-40";s:6:"atilde";s:3:"-40";s:5:"comma";s:3:"-80";s:1:"e";s:3:"-30";s:6:"eacute";s:3:"-30";s:6:"ecaron";s:3:"-30";s:11:"ecircumflex";s:3:"-30";s:9:"edieresis";s:3:"-30";s:10:"edotaccent";s:3:"-30";s:6:"egrave";s:3:"-30";s:7:"emacron";s:3:"-30";s:7:"eogonek";s:3:"-30";s:6:"hyphen";s:3:"-40";s:1:"o";s:3:"-30";s:6:"oacute";s:3:"-30";s:11:"ocircumflex";s:3:"-30";s:9:"odieresis";s:3:"-30";s:6:"ograve";s:3:"-30";s:13:"ohungarumlaut";s:3:"-30";s:7:"omacron";s:3:"-30";s:6:"oslash";s:3:"-30";s:6:"otilde";s:3:"-30";s:6:"period";s:3:"-80";s:1:"u";s:3:"-30";s:6:"uacute";s:3:"-30";s:11:"ucircumflex";s:3:"-30";s:9:"udieresis";s:3:"-30";s:6:"ugrave";s:3:"-30";s:13:"uhungarumlaut";s:3:"-30";s:7:"umacron";s:3:"-30";s:7:"uogonek";s:3:"-30";s:5:"uring";s:3:"-30";s:1:"y";s:3:"-20";s:6:"yacute";s:3:"-20";s:9:"ydieresis";s:3:"-20";}s:1:"Y";a:64:{s:1:"A";s:4:"-110";s:6:"Aacute";s:4:"-110";s:6:"Abreve";s:4:"-110";s:11:"Acircumflex";s:4:"-110";s:9:"Adieresis";s:4:"-110";s:6:"Agrave";s:4:"-110";s:7:"Amacron";s:4:"-110";s:7:"Aogonek";s:4:"-110";s:5:"Aring";s:4:"-110";s:6:"Atilde";s:4:"-110";s:1:"O";s:3:"-85";s:6:"Oacute";s:3:"-85";s:11:"Ocircumflex";s:3:"-85";s:9:"Odieresis";s:3:"-85";s:6:"Ograve";s:3:"-85";s:13:"Ohungarumlaut";s:3:"-85";s:7:"Omacron";s:3:"-85";s:6:"Oslash";s:3:"-85";s:6:"Otilde";s:3:"-85";s:1:"a";s:4:"-140";s:6:"aacute";s:4:"-140";s:6:"abreve";s:3:"-70";s:11:"acircumflex";s:4:"-140";s:9:"adieresis";s:4:"-140";s:6:"agrave";s:4:"-140";s:7:"amacron";s:3:"-70";s:7:"aogonek";s:4:"-140";s:5:"aring";s:4:"-140";s:6:"atilde";s:4:"-140";s:5:"colon";s:3:"-60";s:5:"comma";s:4:"-140";s:1:"e";s:4:"-140";s:6:"eacute";s:4:"-140";s:6:"ecaron";s:4:"-140";s:11:"ecircumflex";s:4:"-140";s:9:"edieresis";s:4:"-140";s:10:"edotaccent";s:4:"-140";s:6:"egrave";s:4:"-140";s:7:"emacron";s:3:"-70";s:7:"eogonek";s:4:"-140";s:6:"hyphen";s:4:"-140";s:1:"i";s:3:"-20";s:6:"iacute";s:3:"-20";s:7:"iogonek";s:3:"-20";s:1:"o";s:4:"-140";s:6:"oacute";s:4:"-140";s:11:"ocircumflex";s:4:"-140";s:9:"odieresis";s:4:"-140";s:6:"ograve";s:4:"-140";s:13:"ohungarumlaut";s:4:"-140";s:7:"omacron";s:4:"-140";s:6:"oslash";s:4:"-140";s:6:"otilde";s:4:"-140";s:6:"period";s:4:"-140";s:9:"semicolon";s:3:"-60";s:1:"u";s:4:"-110";s:6:"uacute";s:4:"-110";s:11:"ucircumflex";s:4:"-110";s:9:"udieresis";s:4:"-110";s:6:"ugrave";s:4:"-110";s:13:"uhungarumlaut";s:4:"-110";s:7:"umacron";s:4:"-110";s:7:"uogonek";s:4:"-110";s:5:"uring";s:4:"-110";}s:6:"Yacute";a:64:{s:1:"A";s:4:"-110";s:6:"Aacute";s:4:"-110";s:6:"Abreve";s:4:"-110";s:11:"Acircumflex";s:4:"-110";s:9:"Adieresis";s:4:"-110";s:6:"Agrave";s:4:"-110";s:7:"Amacron";s:4:"-110";s:7:"Aogonek";s:4:"-110";s:5:"Aring";s:4:"-110";s:6:"Atilde";s:4:"-110";s:1:"O";s:3:"-85";s:6:"Oacute";s:3:"-85";s:11:"Ocircumflex";s:3:"-85";s:9:"Odieresis";s:3:"-85";s:6:"Ograve";s:3:"-85";s:13:"Ohungarumlaut";s:3:"-85";s:7:"Omacron";s:3:"-85";s:6:"Oslash";s:3:"-85";s:6:"Otilde";s:3:"-85";s:1:"a";s:4:"-140";s:6:"aacute";s:4:"-140";s:6:"abreve";s:3:"-70";s:11:"acircumflex";s:4:"-140";s:9:"adieresis";s:4:"-140";s:6:"agrave";s:4:"-140";s:7:"amacron";s:3:"-70";s:7:"aogonek";s:4:"-140";s:5:"aring";s:4:"-140";s:6:"atilde";s:3:"-70";s:5:"colon";s:3:"-60";s:5:"comma";s:4:"-140";s:1:"e";s:4:"-140";s:6:"eacute";s:4:"-140";s:6:"ecaron";s:4:"-140";s:11:"ecircumflex";s:4:"-140";s:9:"edieresis";s:4:"-140";s:10:"edotaccent";s:4:"-140";s:6:"egrave";s:4:"-140";s:7:"emacron";s:3:"-70";s:7:"eogonek";s:4:"-140";s:6:"hyphen";s:4:"-140";s:1:"i";s:3:"-20";s:6:"iacute";s:3:"-20";s:7:"iogonek";s:3:"-20";s:1:"o";s:4:"-140";s:6:"oacute";s:4:"-140";s:11:"ocircumflex";s:4:"-140";s:9:"odieresis";s:4:"-140";s:6:"ograve";s:4:"-140";s:13:"ohungarumlaut";s:4:"-140";s:7:"omacron";s:3:"-70";s:6:"oslash";s:4:"-140";s:6:"otilde";s:4:"-140";s:6:"period";s:4:"-140";s:9:"semicolon";s:3:"-60";s:1:"u";s:4:"-110";s:6:"uacute";s:4:"-110";s:11:"ucircumflex";s:4:"-110";s:9:"udieresis";s:4:"-110";s:6:"ugrave";s:4:"-110";s:13:"uhungarumlaut";s:4:"-110";s:7:"umacron";s:4:"-110";s:7:"uogonek";s:4:"-110";s:5:"uring";s:4:"-110";}s:9:"Ydieresis";a:64:{s:1:"A";s:4:"-110";s:6:"Aacute";s:4:"-110";s:6:"Abreve";s:4:"-110";s:11:"Acircumflex";s:4:"-110";s:9:"Adieresis";s:4:"-110";s:6:"Agrave";s:4:"-110";s:7:"Amacron";s:4:"-110";s:7:"Aogonek";s:4:"-110";s:5:"Aring";s:4:"-110";s:6:"Atilde";s:4:"-110";s:1:"O";s:3:"-85";s:6:"Oacute";s:3:"-85";s:11:"Ocircumflex";s:3:"-85";s:9:"Odieresis";s:3:"-85";s:6:"Ograve";s:3:"-85";s:13:"Ohungarumlaut";s:3:"-85";s:7:"Omacron";s:3:"-85";s:6:"Oslash";s:3:"-85";s:6:"Otilde";s:3:"-85";s:1:"a";s:4:"-140";s:6:"aacute";s:4:"-140";s:6:"abreve";s:3:"-70";s:11:"acircumflex";s:4:"-140";s:9:"adieresis";s:4:"-140";s:6:"agrave";s:4:"-140";s:7:"amacron";s:3:"-70";s:7:"aogonek";s:4:"-140";s:5:"aring";s:4:"-140";s:6:"atilde";s:3:"-70";s:5:"colon";s:3:"-60";s:5:"comma";s:4:"-140";s:1:"e";s:4:"-140";s:6:"eacute";s:4:"-140";s:6:"ecaron";s:4:"-140";s:11:"ecircumflex";s:4:"-140";s:9:"edieresis";s:4:"-140";s:10:"edotaccent";s:4:"-140";s:6:"egrave";s:4:"-140";s:7:"emacron";s:3:"-70";s:7:"eogonek";s:4:"-140";s:6:"hyphen";s:4:"-140";s:1:"i";s:3:"-20";s:6:"iacute";s:3:"-20";s:7:"iogonek";s:3:"-20";s:1:"o";s:4:"-140";s:6:"oacute";s:4:"-140";s:11:"ocircumflex";s:4:"-140";s:9:"odieresis";s:4:"-140";s:6:"ograve";s:4:"-140";s:13:"ohungarumlaut";s:4:"-140";s:7:"omacron";s:4:"-140";s:6:"oslash";s:4:"-140";s:6:"otilde";s:4:"-140";s:6:"period";s:4:"-140";s:9:"semicolon";s:3:"-60";s:1:"u";s:4:"-110";s:6:"uacute";s:4:"-110";s:11:"ucircumflex";s:4:"-110";s:9:"udieresis";s:4:"-110";s:6:"ugrave";s:4:"-110";s:13:"uhungarumlaut";s:4:"-110";s:7:"umacron";s:4:"-110";s:7:"uogonek";s:4:"-110";s:5:"uring";s:4:"-110";}s:1:"a";a:5:{s:1:"v";s:3:"-20";s:1:"w";s:3:"-20";s:1:"y";s:3:"-30";s:6:"yacute";s:3:"-30";s:9:"ydieresis";s:3:"-30";}s:6:"aacute";a:5:{s:1:"v";s:3:"-20";s:1:"w";s:3:"-20";s:1:"y";s:3:"-30";s:6:"yacute";s:3:"-30";s:9:"ydieresis";s:3:"-30";}s:6:"abreve";a:5:{s:1:"v";s:3:"-20";s:1:"w";s:3:"-20";s:1:"y";s:3:"-30";s:6:"yacute";s:3:"-30";s:9:"ydieresis";s:3:"-30";}s:11:"acircumflex";a:5:{s:1:"v";s:3:"-20";s:1:"w";s:3:"-20";s:1:"y";s:3:"-30";s:6:"yacute";s:3:"-30";s:9:"ydieresis";s:3:"-30";}s:9:"adieresis";a:5:{s:1:"v";s:3:"-20";s:1:"w";s:3:"-20";s:1:"y";s:3:"-30";s:6:"yacute";s:3:"-30";s:9:"ydieresis";s:3:"-30";}s:6:"agrave";a:5:{s:1:"v";s:3:"-20";s:1:"w";s:3:"-20";s:1:"y";s:3:"-30";s:6:"yacute";s:3:"-30";s:9:"ydieresis";s:3:"-30";}s:7:"amacron";a:5:{s:1:"v";s:3:"-20";s:1:"w";s:3:"-20";s:1:"y";s:3:"-30";s:6:"yacute";s:3:"-30";s:9:"ydieresis";s:3:"-30";}s:7:"aogonek";a:5:{s:1:"v";s:3:"-20";s:1:"w";s:3:"-20";s:1:"y";s:3:"-30";s:6:"yacute";s:3:"-30";s:9:"ydieresis";s:3:"-30";}s:5:"aring";a:5:{s:1:"v";s:3:"-20";s:1:"w";s:3:"-20";s:1:"y";s:3:"-30";s:6:"yacute";s:3:"-30";s:9:"ydieresis";s:3:"-30";}s:6:"atilde";a:5:{s:1:"v";s:3:"-20";s:1:"w";s:3:"-20";s:1:"y";s:3:"-30";s:6:"yacute";s:3:"-30";s:9:"ydieresis";s:3:"-30";}s:1:"b";a:20:{s:1:"b";s:3:"-10";s:5:"comma";s:3:"-40";s:1:"l";s:3:"-20";s:6:"lacute";s:3:"-20";s:12:"lcommaaccent";s:3:"-20";s:6:"lslash";s:3:"-20";s:6:"period";s:3:"-40";s:1:"u";s:3:"-20";s:6:"uacute";s:3:"-20";s:11:"ucircumflex";s:3:"-20";s:9:"udieresis";s:3:"-20";s:6:"ugrave";s:3:"-20";s:13:"uhungarumlaut";s:3:"-20";s:7:"umacron";s:3:"-20";s:7:"uogonek";s:3:"-20";s:5:"uring";s:3:"-20";s:1:"v";s:3:"-20";s:1:"y";s:3:"-20";s:6:"yacute";s:3:"-20";s:9:"ydieresis";s:3:"-20";}s:1:"c";a:3:{s:5:"comma";s:3:"-15";s:1:"k";s:3:"-20";s:12:"kcommaaccent";s:3:"-20";}s:6:"cacute";a:3:{s:5:"comma";s:3:"-15";s:1:"k";s:3:"-20";s:12:"kcommaaccent";s:3:"-20";}s:6:"ccaron";a:3:{s:5:"comma";s:3:"-15";s:1:"k";s:3:"-20";s:12:"kcommaaccent";s:3:"-20";}s:8:"ccedilla";a:3:{s:5:"comma";s:3:"-15";s:1:"k";s:3:"-20";s:12:"kcommaaccent";s:3:"-20";}s:5:"colon";a:1:{s:5:"space";s:3:"-50";}s:5:"comma";a:2:{s:13:"quotedblright";s:4:"-100";s:10:"quoteright";s:4:"-100";}s:1:"e";a:8:{s:5:"comma";s:3:"-15";s:6:"period";s:3:"-15";s:1:"v";s:3:"-30";s:1:"w";s:3:"-20";s:1:"x";s:3:"-30";s:1:"y";s:3:"-20";s:6:"yacute";s:3:"-20";s:9:"ydieresis";s:3:"-20";}s:6:"eacute";a:8:{s:5:"comma";s:3:"-15";s:6:"period";s:3:"-15";s:1:"v";s:3:"-30";s:1:"w";s:3:"-20";s:1:"x";s:3:"-30";s:1:"y";s:3:"-20";s:6:"yacute";s:3:"-20";s:9:"ydieresis";s:3:"-20";}s:6:"ecaron";a:8:{s:5:"comma";s:3:"-15";s:6:"period";s:3:"-15";s:1:"v";s:3:"-30";s:1:"w";s:3:"-20";s:1:"x";s:3:"-30";s:1:"y";s:3:"-20";s:6:"yacute";s:3:"-20";s:9:"ydieresis";s:3:"-20";}s:11:"ecircumflex";a:8:{s:5:"comma";s:3:"-15";s:6:"period";s:3:"-15";s:1:"v";s:3:"-30";s:1:"w";s:3:"-20";s:1:"x";s:3:"-30";s:1:"y";s:3:"-20";s:6:"yacute";s:3:"-20";s:9:"ydieresis";s:3:"-20";}s:9:"edieresis";a:8:{s:5:"comma";s:3:"-15";s:6:"period";s:3:"-15";s:1:"v";s:3:"-30";s:1:"w";s:3:"-20";s:1:"x";s:3:"-30";s:1:"y";s:3:"-20";s:6:"yacute";s:3:"-20";s:9:"ydieresis";s:3:"-20";}s:10:"edotaccent";a:8:{s:5:"comma";s:3:"-15";s:6:"period";s:3:"-15";s:1:"v";s:3:"-30";s:1:"w";s:3:"-20";s:1:"x";s:3:"-30";s:1:"y";s:3:"-20";s:6:"yacute";s:3:"-20";s:9:"ydieresis";s:3:"-20";}s:6:"egrave";a:8:{s:5:"comma";s:3:"-15";s:6:"period";s:3:"-15";s:1:"v";s:3:"-30";s:1:"w";s:3:"-20";s:1:"x";s:3:"-30";s:1:"y";s:3:"-20";s:6:"yacute";s:3:"-20";s:9:"ydieresis";s:3:"-20";}s:7:"emacron";a:8:{s:5:"comma";s:3:"-15";s:6:"period";s:3:"-15";s:1:"v";s:3:"-30";s:1:"w";s:3:"-20";s:1:"x";s:3:"-30";s:1:"y";s:3:"-20";s:6:"yacute";s:3:"-20";s:9:"ydieresis";s:3:"-20";}s:7:"eogonek";a:8:{s:5:"comma";s:3:"-15";s:6:"period";s:3:"-15";s:1:"v";s:3:"-30";s:1:"w";s:3:"-20";s:1:"x";s:3:"-30";s:1:"y";s:3:"-20";s:6:"yacute";s:3:"-20";s:9:"ydieresis";s:3:"-20";}s:1:"f";a:33:{s:1:"a";s:3:"-30";s:6:"aacute";s:3:"-30";s:6:"abreve";s:3:"-30";s:11:"acircumflex";s:3:"-30";s:9:"adieresis";s:3:"-30";s:6:"agrave";s:3:"-30";s:7:"amacron";s:3:"-30";s:7:"aogonek";s:3:"-30";s:5:"aring";s:3:"-30";s:6:"atilde";s:3:"-30";s:5:"comma";s:3:"-30";s:8:"dotlessi";s:3:"-28";s:1:"e";s:3:"-30";s:6:"eacute";s:3:"-30";s:6:"ecaron";s:3:"-30";s:11:"ecircumflex";s:3:"-30";s:9:"edieresis";s:3:"-30";s:10:"edotaccent";s:3:"-30";s:6:"egrave";s:3:"-30";s:7:"emacron";s:3:"-30";s:7:"eogonek";s:3:"-30";s:1:"o";s:3:"-30";s:6:"oacute";s:3:"-30";s:11:"ocircumflex";s:3:"-30";s:9:"odieresis";s:3:"-30";s:6:"ograve";s:3:"-30";s:13:"ohungarumlaut";s:3:"-30";s:7:"omacron";s:3:"-30";s:6:"oslash";s:3:"-30";s:6:"otilde";s:3:"-30";s:6:"period";s:3:"-30";s:13:"quotedblright";s:2:"60";s:10:"quoteright";s:2:"50";}s:1:"g";a:4:{s:1:"r";s:3:"-10";s:6:"racute";s:3:"-10";s:6:"rcaron";s:3:"-10";s:12:"rcommaaccent";s:3:"-10";}s:6:"gbreve";a:4:{s:1:"r";s:3:"-10";s:6:"racute";s:3:"-10";s:6:"rcaron";s:3:"-10";s:12:"rcommaaccent";s:3:"-10";}s:12:"gcommaaccent";a:4:{s:1:"r";s:3:"-10";s:6:"racute";s:3:"-10";s:6:"rcaron";s:3:"-10";s:12:"rcommaaccent";s:3:"-10";}s:1:"h";a:3:{s:1:"y";s:3:"-30";s:6:"yacute";s:3:"-30";s:9:"ydieresis";s:3:"-30";}s:1:"k";a:18:{s:1:"e";s:3:"-20";s:6:"eacute";s:3:"-20";s:6:"ecaron";s:3:"-20";s:11:"ecircumflex";s:3:"-20";s:9:"edieresis";s:3:"-20";s:10:"edotaccent";s:3:"-20";s:6:"egrave";s:3:"-20";s:7:"emacron";s:3:"-20";s:7:"eogonek";s:3:"-20";s:1:"o";s:3:"-20";s:6:"oacute";s:3:"-20";s:11:"ocircumflex";s:3:"-20";s:9:"odieresis";s:3:"-20";s:6:"ograve";s:3:"-20";s:13:"ohungarumlaut";s:3:"-20";s:7:"omacron";s:3:"-20";s:6:"oslash";s:3:"-20";s:6:"otilde";s:3:"-20";}s:12:"kcommaaccent";a:18:{s:1:"e";s:3:"-20";s:6:"eacute";s:3:"-20";s:6:"ecaron";s:3:"-20";s:11:"ecircumflex";s:3:"-20";s:9:"edieresis";s:3:"-20";s:10:"edotaccent";s:3:"-20";s:6:"egrave";s:3:"-20";s:7:"emacron";s:3:"-20";s:7:"eogonek";s:3:"-20";s:1:"o";s:3:"-20";s:6:"oacute";s:3:"-20";s:11:"ocircumflex";s:3:"-20";s:9:"odieresis";s:3:"-20";s:6:"ograve";s:3:"-20";s:13:"ohungarumlaut";s:3:"-20";s:7:"omacron";s:3:"-20";s:6:"oslash";s:3:"-20";s:6:"otilde";s:3:"-20";}s:1:"m";a:12:{s:1:"u";s:3:"-10";s:6:"uacute";s:3:"-10";s:11:"ucircumflex";s:3:"-10";s:9:"udieresis";s:3:"-10";s:6:"ugrave";s:3:"-10";s:13:"uhungarumlaut";s:3:"-10";s:7:"umacron";s:3:"-10";s:7:"uogonek";s:3:"-10";s:5:"uring";s:3:"-10";s:1:"y";s:3:"-15";s:6:"yacute";s:3:"-15";s:9:"ydieresis";s:3:"-15";}s:1:"n";a:13:{s:1:"u";s:3:"-10";s:6:"uacute";s:3:"-10";s:11:"ucircumflex";s:3:"-10";s:9:"udieresis";s:3:"-10";s:6:"ugrave";s:3:"-10";s:13:"uhungarumlaut";s:3:"-10";s:7:"umacron";s:3:"-10";s:7:"uogonek";s:3:"-10";s:5:"uring";s:3:"-10";s:1:"v";s:3:"-20";s:1:"y";s:3:"-15";s:6:"yacute";s:3:"-15";s:9:"ydieresis";s:3:"-15";}s:6:"nacute";a:13:{s:1:"u";s:3:"-10";s:6:"uacute";s:3:"-10";s:11:"ucircumflex";s:3:"-10";s:9:"udieresis";s:3:"-10";s:6:"ugrave";s:3:"-10";s:13:"uhungarumlaut";s:3:"-10";s:7:"umacron";s:3:"-10";s:7:"uogonek";s:3:"-10";s:5:"uring";s:3:"-10";s:1:"v";s:3:"-20";s:1:"y";s:3:"-15";s:6:"yacute";s:3:"-15";s:9:"ydieresis";s:3:"-15";}s:6:"ncaron";a:13:{s:1:"u";s:3:"-10";s:6:"uacute";s:3:"-10";s:11:"ucircumflex";s:3:"-10";s:9:"udieresis";s:3:"-10";s:6:"ugrave";s:3:"-10";s:13:"uhungarumlaut";s:3:"-10";s:7:"umacron";s:3:"-10";s:7:"uogonek";s:3:"-10";s:5:"uring";s:3:"-10";s:1:"v";s:3:"-20";s:1:"y";s:3:"-15";s:6:"yacute";s:3:"-15";s:9:"ydieresis";s:3:"-15";}s:12:"ncommaaccent";a:13:{s:1:"u";s:3:"-10";s:6:"uacute";s:3:"-10";s:11:"ucircumflex";s:3:"-10";s:9:"udieresis";s:3:"-10";s:6:"ugrave";s:3:"-10";s:13:"uhungarumlaut";s:3:"-10";s:7:"umacron";s:3:"-10";s:7:"uogonek";s:3:"-10";s:5:"uring";s:3:"-10";s:1:"v";s:3:"-20";s:1:"y";s:3:"-15";s:6:"yacute";s:3:"-15";s:9:"ydieresis";s:3:"-15";}s:6:"ntilde";a:13:{s:1:"u";s:3:"-10";s:6:"uacute";s:3:"-10";s:11:"ucircumflex";s:3:"-10";s:9:"udieresis";s:3:"-10";s:6:"ugrave";s:3:"-10";s:13:"uhungarumlaut";s:3:"-10";s:7:"umacron";s:3:"-10";s:7:"uogonek";s:3:"-10";s:5:"uring";s:3:"-10";s:1:"v";s:3:"-20";s:1:"y";s:3:"-15";s:6:"yacute";s:3:"-15";s:9:"ydieresis";s:3:"-15";}s:1:"o";a:8:{s:5:"comma";s:3:"-40";s:6:"period";s:3:"-40";s:1:"v";s:3:"-15";s:1:"w";s:3:"-15";s:1:"x";s:3:"-30";s:1:"y";s:3:"-30";s:6:"yacute";s:3:"-30";s:9:"ydieresis";s:3:"-30";}s:6:"oacute";a:8:{s:5:"comma";s:3:"-40";s:6:"period";s:3:"-40";s:1:"v";s:3:"-15";s:1:"w";s:3:"-15";s:1:"x";s:3:"-30";s:1:"y";s:3:"-30";s:6:"yacute";s:3:"-30";s:9:"ydieresis";s:3:"-30";}s:11:"ocircumflex";a:8:{s:5:"comma";s:3:"-40";s:6:"period";s:3:"-40";s:1:"v";s:3:"-15";s:1:"w";s:3:"-15";s:1:"x";s:3:"-30";s:1:"y";s:3:"-30";s:6:"yacute";s:3:"-30";s:9:"ydieresis";s:3:"-30";}s:9:"odieresis";a:8:{s:5:"comma";s:3:"-40";s:6:"period";s:3:"-40";s:1:"v";s:3:"-15";s:1:"w";s:3:"-15";s:1:"x";s:3:"-30";s:1:"y";s:3:"-30";s:6:"yacute";s:3:"-30";s:9:"ydieresis";s:3:"-30";}s:6:"ograve";a:8:{s:5:"comma";s:3:"-40";s:6:"period";s:3:"-40";s:1:"v";s:3:"-15";s:1:"w";s:3:"-15";s:1:"x";s:3:"-30";s:1:"y";s:3:"-30";s:6:"yacute";s:3:"-30";s:9:"ydieresis";s:3:"-30";}s:13:"ohungarumlaut";a:8:{s:5:"comma";s:3:"-40";s:6:"period";s:3:"-40";s:1:"v";s:3:"-15";s:1:"w";s:3:"-15";s:1:"x";s:3:"-30";s:1:"y";s:3:"-30";s:6:"yacute";s:3:"-30";s:9:"ydieresis";s:3:"-30";}s:7:"omacron";a:8:{s:5:"comma";s:3:"-40";s:6:"period";s:3:"-40";s:1:"v";s:3:"-15";s:1:"w";s:3:"-15";s:1:"x";s:3:"-30";s:1:"y";s:3:"-30";s:6:"yacute";s:3:"-30";s:9:"ydieresis";s:3:"-30";}s:6:"oslash";a:94:{s:1:"a";s:3:"-55";s:6:"aacute";s:3:"-55";s:6:"abreve";s:3:"-55";s:11:"acircumflex";s:3:"-55";s:9:"adieresis";s:3:"-55";s:6:"agrave";s:3:"-55";s:7:"amacron";s:3:"-55";s:7:"aogonek";s:3:"-55";s:5:"aring";s:3:"-55";s:6:"atilde";s:3:"-55";s:1:"b";s:3:"-55";s:1:"c";s:3:"-55";s:6:"cacute";s:3:"-55";s:6:"ccaron";s:3:"-55";s:8:"ccedilla";s:3:"-55";s:5:"comma";s:3:"-95";s:1:"d";s:3:"-55";s:6:"dcroat";s:3:"-55";s:1:"e";s:3:"-55";s:6:"eacute";s:3:"-55";s:6:"ecaron";s:3:"-55";s:11:"ecircumflex";s:3:"-55";s:9:"edieresis";s:3:"-55";s:10:"edotaccent";s:3:"-55";s:6:"egrave";s:3:"-55";s:7:"emacron";s:3:"-55";s:7:"eogonek";s:3:"-55";s:1:"f";s:3:"-55";s:1:"g";s:3:"-55";s:6:"gbreve";s:3:"-55";s:12:"gcommaaccent";s:3:"-55";s:1:"h";s:3:"-55";s:1:"i";s:3:"-55";s:6:"iacute";s:3:"-55";s:11:"icircumflex";s:3:"-55";s:9:"idieresis";s:3:"-55";s:6:"igrave";s:3:"-55";s:7:"imacron";s:3:"-55";s:7:"iogonek";s:3:"-55";s:1:"j";s:3:"-55";s:1:"k";s:3:"-55";s:12:"kcommaaccent";s:3:"-55";s:1:"l";s:3:"-55";s:6:"lacute";s:3:"-55";s:12:"lcommaaccent";s:3:"-55";s:6:"lslash";s:3:"-55";s:1:"m";s:3:"-55";s:1:"n";s:3:"-55";s:6:"nacute";s:3:"-55";s:6:"ncaron";s:3:"-55";s:12:"ncommaaccent";s:3:"-55";s:6:"ntilde";s:3:"-55";s:1:"o";s:3:"-55";s:6:"oacute";s:3:"-55";s:11:"ocircumflex";s:3:"-55";s:9:"odieresis";s:3:"-55";s:6:"ograve";s:3:"-55";s:13:"ohungarumlaut";s:3:"-55";s:7:"omacron";s:3:"-55";s:6:"oslash";s:3:"-55";s:6:"otilde";s:3:"-55";s:1:"p";s:3:"-55";s:6:"period";s:3:"-95";s:1:"q";s:3:"-55";s:1:"r";s:3:"-55";s:6:"racute";s:3:"-55";s:6:"rcaron";s:3:"-55";s:12:"rcommaaccent";s:3:"-55";s:1:"s";s:3:"-55";s:6:"sacute";s:3:"-55";s:6:"scaron";s:3:"-55";s:8:"scedilla";s:3:"-55";s:12:"scommaaccent";s:3:"-55";s:1:"t";s:3:"-55";s:12:"tcommaaccent";s:3:"-55";s:1:"u";s:3:"-55";s:6:"uacute";s:3:"-55";s:11:"ucircumflex";s:3:"-55";s:9:"udieresis";s:3:"-55";s:6:"ugrave";s:3:"-55";s:13:"uhungarumlaut";s:3:"-55";s:7:"umacron";s:3:"-55";s:7:"uogonek";s:3:"-55";s:5:"uring";s:3:"-55";s:1:"v";s:3:"-70";s:1:"w";s:3:"-70";s:1:"x";s:3:"-85";s:1:"y";s:3:"-70";s:6:"yacute";s:3:"-70";s:9:"ydieresis";s:3:"-70";s:1:"z";s:3:"-55";s:6:"zacute";s:3:"-55";s:6:"zcaron";s:3:"-55";s:10:"zdotaccent";s:3:"-55";}s:6:"otilde";a:8:{s:5:"comma";s:3:"-40";s:6:"period";s:3:"-40";s:1:"v";s:3:"-15";s:1:"w";s:3:"-15";s:1:"x";s:3:"-30";s:1:"y";s:3:"-30";s:6:"yacute";s:3:"-30";s:9:"ydieresis";s:3:"-30";}s:1:"p";a:5:{s:5:"comma";s:3:"-35";s:6:"period";s:3:"-35";s:1:"y";s:3:"-30";s:6:"yacute";s:3:"-30";s:9:"ydieresis";s:3:"-30";}s:6:"period";a:3:{s:13:"quotedblright";s:4:"-100";s:10:"quoteright";s:4:"-100";s:5:"space";s:3:"-60";}s:13:"quotedblright";a:1:{s:5:"space";s:3:"-40";}s:9:"quoteleft";a:1:{s:9:"quoteleft";s:3:"-57";}s:10:"quoteright";a:13:{s:1:"d";s:3:"-50";s:6:"dcroat";s:3:"-50";s:10:"quoteright";s:3:"-57";s:1:"r";s:3:"-50";s:6:"racute";s:3:"-50";s:6:"rcaron";s:3:"-50";s:12:"rcommaaccent";s:3:"-50";s:1:"s";s:3:"-50";s:6:"sacute";s:3:"-50";s:6:"scaron";s:3:"-50";s:8:"scedilla";s:3:"-50";s:12:"scommaaccent";s:3:"-50";s:5:"space";s:3:"-70";}s:1:"r";a:49:{s:1:"a";s:3:"-10";s:6:"aacute";s:3:"-10";s:6:"abreve";s:3:"-10";s:11:"acircumflex";s:3:"-10";s:9:"adieresis";s:3:"-10";s:6:"agrave";s:3:"-10";s:7:"amacron";s:3:"-10";s:7:"aogonek";s:3:"-10";s:5:"aring";s:3:"-10";s:6:"atilde";s:3:"-10";s:5:"colon";s:2:"30";s:5:"comma";s:3:"-50";s:1:"i";s:2:"15";s:6:"iacute";s:2:"15";s:11:"icircumflex";s:2:"15";s:9:"idieresis";s:2:"15";s:6:"igrave";s:2:"15";s:7:"imacron";s:2:"15";s:7:"iogonek";s:2:"15";s:1:"k";s:2:"15";s:12:"kcommaaccent";s:2:"15";s:1:"l";s:2:"15";s:6:"lacute";s:2:"15";s:12:"lcommaaccent";s:2:"15";s:6:"lslash";s:2:"15";s:1:"m";s:2:"25";s:1:"n";s:2:"25";s:6:"nacute";s:2:"25";s:6:"ncaron";s:2:"25";s:12:"ncommaaccent";s:2:"25";s:6:"ntilde";s:2:"25";s:1:"p";s:2:"30";s:6:"period";s:3:"-50";s:9:"semicolon";s:2:"30";s:1:"t";s:2:"40";s:12:"tcommaaccent";s:2:"40";s:1:"u";s:2:"15";s:6:"uacute";s:2:"15";s:11:"ucircumflex";s:2:"15";s:9:"udieresis";s:2:"15";s:6:"ugrave";s:2:"15";s:13:"uhungarumlaut";s:2:"15";s:7:"umacron";s:2:"15";s:7:"uogonek";s:2:"15";s:5:"uring";s:2:"15";s:1:"v";s:2:"30";s:1:"y";s:2:"30";s:6:"yacute";s:2:"30";s:9:"ydieresis";s:2:"30";}s:6:"racute";a:49:{s:1:"a";s:3:"-10";s:6:"aacute";s:3:"-10";s:6:"abreve";s:3:"-10";s:11:"acircumflex";s:3:"-10";s:9:"adieresis";s:3:"-10";s:6:"agrave";s:3:"-10";s:7:"amacron";s:3:"-10";s:7:"aogonek";s:3:"-10";s:5:"aring";s:3:"-10";s:6:"atilde";s:3:"-10";s:5:"colon";s:2:"30";s:5:"comma";s:3:"-50";s:1:"i";s:2:"15";s:6:"iacute";s:2:"15";s:11:"icircumflex";s:2:"15";s:9:"idieresis";s:2:"15";s:6:"igrave";s:2:"15";s:7:"imacron";s:2:"15";s:7:"iogonek";s:2:"15";s:1:"k";s:2:"15";s:12:"kcommaaccent";s:2:"15";s:1:"l";s:2:"15";s:6:"lacute";s:2:"15";s:12:"lcommaaccent";s:2:"15";s:6:"lslash";s:2:"15";s:1:"m";s:2:"25";s:1:"n";s:2:"25";s:6:"nacute";s:2:"25";s:6:"ncaron";s:2:"25";s:12:"ncommaaccent";s:2:"25";s:6:"ntilde";s:2:"25";s:1:"p";s:2:"30";s:6:"period";s:3:"-50";s:9:"semicolon";s:2:"30";s:1:"t";s:2:"40";s:12:"tcommaaccent";s:2:"40";s:1:"u";s:2:"15";s:6:"uacute";s:2:"15";s:11:"ucircumflex";s:2:"15";s:9:"udieresis";s:2:"15";s:6:"ugrave";s:2:"15";s:13:"uhungarumlaut";s:2:"15";s:7:"umacron";s:2:"15";s:7:"uogonek";s:2:"15";s:5:"uring";s:2:"15";s:1:"v";s:2:"30";s:1:"y";s:2:"30";s:6:"yacute";s:2:"30";s:9:"ydieresis";s:2:"30";}s:6:"rcaron";a:49:{s:1:"a";s:3:"-10";s:6:"aacute";s:3:"-10";s:6:"abreve";s:3:"-10";s:11:"acircumflex";s:3:"-10";s:9:"adieresis";s:3:"-10";s:6:"agrave";s:3:"-10";s:7:"amacron";s:3:"-10";s:7:"aogonek";s:3:"-10";s:5:"aring";s:3:"-10";s:6:"atilde";s:3:"-10";s:5:"colon";s:2:"30";s:5:"comma";s:3:"-50";s:1:"i";s:2:"15";s:6:"iacute";s:2:"15";s:11:"icircumflex";s:2:"15";s:9:"idieresis";s:2:"15";s:6:"igrave";s:2:"15";s:7:"imacron";s:2:"15";s:7:"iogonek";s:2:"15";s:1:"k";s:2:"15";s:12:"kcommaaccent";s:2:"15";s:1:"l";s:2:"15";s:6:"lacute";s:2:"15";s:12:"lcommaaccent";s:2:"15";s:6:"lslash";s:2:"15";s:1:"m";s:2:"25";s:1:"n";s:2:"25";s:6:"nacute";s:2:"25";s:6:"ncaron";s:2:"25";s:12:"ncommaaccent";s:2:"25";s:6:"ntilde";s:2:"25";s:1:"p";s:2:"30";s:6:"period";s:3:"-50";s:9:"semicolon";s:2:"30";s:1:"t";s:2:"40";s:12:"tcommaaccent";s:2:"40";s:1:"u";s:2:"15";s:6:"uacute";s:2:"15";s:11:"ucircumflex";s:2:"15";s:9:"udieresis";s:2:"15";s:6:"ugrave";s:2:"15";s:13:"uhungarumlaut";s:2:"15";s:7:"umacron";s:2:"15";s:7:"uogonek";s:2:"15";s:5:"uring";s:2:"15";s:1:"v";s:2:"30";s:1:"y";s:2:"30";s:6:"yacute";s:2:"30";s:9:"ydieresis";s:2:"30";}s:12:"rcommaaccent";a:49:{s:1:"a";s:3:"-10";s:6:"aacute";s:3:"-10";s:6:"abreve";s:3:"-10";s:11:"acircumflex";s:3:"-10";s:9:"adieresis";s:3:"-10";s:6:"agrave";s:3:"-10";s:7:"amacron";s:3:"-10";s:7:"aogonek";s:3:"-10";s:5:"aring";s:3:"-10";s:6:"atilde";s:3:"-10";s:5:"colon";s:2:"30";s:5:"comma";s:3:"-50";s:1:"i";s:2:"15";s:6:"iacute";s:2:"15";s:11:"icircumflex";s:2:"15";s:9:"idieresis";s:2:"15";s:6:"igrave";s:2:"15";s:7:"imacron";s:2:"15";s:7:"iogonek";s:2:"15";s:1:"k";s:2:"15";s:12:"kcommaaccent";s:2:"15";s:1:"l";s:2:"15";s:6:"lacute";s:2:"15";s:12:"lcommaaccent";s:2:"15";s:6:"lslash";s:2:"15";s:1:"m";s:2:"25";s:1:"n";s:2:"25";s:6:"nacute";s:2:"25";s:6:"ncaron";s:2:"25";s:12:"ncommaaccent";s:2:"25";s:6:"ntilde";s:2:"25";s:1:"p";s:2:"30";s:6:"period";s:3:"-50";s:9:"semicolon";s:2:"30";s:1:"t";s:2:"40";s:12:"tcommaaccent";s:2:"40";s:1:"u";s:2:"15";s:6:"uacute";s:2:"15";s:11:"ucircumflex";s:2:"15";s:9:"udieresis";s:2:"15";s:6:"ugrave";s:2:"15";s:13:"uhungarumlaut";s:2:"15";s:7:"umacron";s:2:"15";s:7:"uogonek";s:2:"15";s:5:"uring";s:2:"15";s:1:"v";s:2:"30";s:1:"y";s:2:"30";s:6:"yacute";s:2:"30";s:9:"ydieresis";s:2:"30";}s:1:"s";a:3:{s:5:"comma";s:3:"-15";s:6:"period";s:3:"-15";s:1:"w";s:3:"-30";}s:6:"sacute";a:3:{s:5:"comma";s:3:"-15";s:6:"period";s:3:"-15";s:1:"w";s:3:"-30";}s:6:"scaron";a:3:{s:5:"comma";s:3:"-15";s:6:"period";s:3:"-15";s:1:"w";s:3:"-30";}s:8:"scedilla";a:3:{s:5:"comma";s:3:"-15";s:6:"period";s:3:"-15";s:1:"w";s:3:"-30";}s:12:"scommaaccent";a:3:{s:5:"comma";s:3:"-15";s:6:"period";s:3:"-15";s:1:"w";s:3:"-30";}s:9:"semicolon";a:1:{s:5:"space";s:3:"-50";}s:5:"space";a:10:{s:1:"T";s:3:"-50";s:6:"Tcaron";s:3:"-50";s:12:"Tcommaaccent";s:3:"-50";s:1:"V";s:3:"-50";s:1:"W";s:3:"-40";s:1:"Y";s:3:"-90";s:6:"Yacute";s:3:"-90";s:9:"Ydieresis";s:3:"-90";s:12:"quotedblleft";s:3:"-30";s:9:"quoteleft";s:3:"-60";}s:1:"v";a:30:{s:1:"a";s:3:"-25";s:6:"aacute";s:3:"-25";s:6:"abreve";s:3:"-25";s:11:"acircumflex";s:3:"-25";s:9:"adieresis";s:3:"-25";s:6:"agrave";s:3:"-25";s:7:"amacron";s:3:"-25";s:7:"aogonek";s:3:"-25";s:5:"aring";s:3:"-25";s:6:"atilde";s:3:"-25";s:5:"comma";s:3:"-80";s:1:"e";s:3:"-25";s:6:"eacute";s:3:"-25";s:6:"ecaron";s:3:"-25";s:11:"ecircumflex";s:3:"-25";s:9:"edieresis";s:3:"-25";s:10:"edotaccent";s:3:"-25";s:6:"egrave";s:3:"-25";s:7:"emacron";s:3:"-25";s:7:"eogonek";s:3:"-25";s:1:"o";s:3:"-25";s:6:"oacute";s:3:"-25";s:11:"ocircumflex";s:3:"-25";s:9:"odieresis";s:3:"-25";s:6:"ograve";s:3:"-25";s:13:"ohungarumlaut";s:3:"-25";s:7:"omacron";s:3:"-25";s:6:"oslash";s:3:"-25";s:6:"otilde";s:3:"-25";s:6:"period";s:3:"-80";}s:1:"w";a:30:{s:1:"a";s:3:"-15";s:6:"aacute";s:3:"-15";s:6:"abreve";s:3:"-15";s:11:"acircumflex";s:3:"-15";s:9:"adieresis";s:3:"-15";s:6:"agrave";s:3:"-15";s:7:"amacron";s:3:"-15";s:7:"aogonek";s:3:"-15";s:5:"aring";s:3:"-15";s:6:"atilde";s:3:"-15";s:5:"comma";s:3:"-60";s:1:"e";s:3:"-10";s:6:"eacute";s:3:"-10";s:6:"ecaron";s:3:"-10";s:11:"ecircumflex";s:3:"-10";s:9:"edieresis";s:3:"-10";s:10:"edotaccent";s:3:"-10";s:6:"egrave";s:3:"-10";s:7:"emacron";s:3:"-10";s:7:"eogonek";s:3:"-10";s:1:"o";s:3:"-10";s:6:"oacute";s:3:"-10";s:11:"ocircumflex";s:3:"-10";s:9:"odieresis";s:3:"-10";s:6:"ograve";s:3:"-10";s:13:"ohungarumlaut";s:3:"-10";s:7:"omacron";s:3:"-10";s:6:"oslash";s:3:"-10";s:6:"otilde";s:3:"-10";s:6:"period";s:3:"-60";}s:1:"x";a:9:{s:1:"e";s:3:"-30";s:6:"eacute";s:3:"-30";s:6:"ecaron";s:3:"-30";s:11:"ecircumflex";s:3:"-30";s:9:"edieresis";s:3:"-30";s:10:"edotaccent";s:3:"-30";s:6:"egrave";s:3:"-30";s:7:"emacron";s:3:"-30";s:7:"eogonek";s:3:"-30";}s:1:"y";a:30:{s:1:"a";s:3:"-20";s:6:"aacute";s:3:"-20";s:6:"abreve";s:3:"-20";s:11:"acircumflex";s:3:"-20";s:9:"adieresis";s:3:"-20";s:6:"agrave";s:3:"-20";s:7:"amacron";s:3:"-20";s:7:"aogonek";s:3:"-20";s:5:"aring";s:3:"-20";s:6:"atilde";s:3:"-20";s:5:"comma";s:4:"-100";s:1:"e";s:3:"-20";s:6:"eacute";s:3:"-20";s:6:"ecaron";s:3:"-20";s:11:"ecircumflex";s:3:"-20";s:9:"edieresis";s:3:"-20";s:10:"edotaccent";s:3:"-20";s:6:"egrave";s:3:"-20";s:7:"emacron";s:3:"-20";s:7:"eogonek";s:3:"-20";s:1:"o";s:3:"-20";s:6:"oacute";s:3:"-20";s:11:"ocircumflex";s:3:"-20";s:9:"odieresis";s:3:"-20";s:6:"ograve";s:3:"-20";s:13:"ohungarumlaut";s:3:"-20";s:7:"omacron";s:3:"-20";s:6:"oslash";s:3:"-20";s:6:"otilde";s:3:"-20";s:6:"period";s:4:"-100";}s:6:"yacute";a:30:{s:1:"a";s:3:"-20";s:6:"aacute";s:3:"-20";s:6:"abreve";s:3:"-20";s:11:"acircumflex";s:3:"-20";s:9:"adieresis";s:3:"-20";s:6:"agrave";s:3:"-20";s:7:"amacron";s:3:"-20";s:7:"aogonek";s:3:"-20";s:5:"aring";s:3:"-20";s:6:"atilde";s:3:"-20";s:5:"comma";s:4:"-100";s:1:"e";s:3:"-20";s:6:"eacute";s:3:"-20";s:6:"ecaron";s:3:"-20";s:11:"ecircumflex";s:3:"-20";s:9:"edieresis";s:3:"-20";s:10:"edotaccent";s:3:"-20";s:6:"egrave";s:3:"-20";s:7:"emacron";s:3:"-20";s:7:"eogonek";s:3:"-20";s:1:"o";s:3:"-20";s:6:"oacute";s:3:"-20";s:11:"ocircumflex";s:3:"-20";s:9:"odieresis";s:3:"-20";s:6:"ograve";s:3:"-20";s:13:"ohungarumlaut";s:3:"-20";s:7:"omacron";s:3:"-20";s:6:"oslash";s:3:"-20";s:6:"otilde";s:3:"-20";s:6:"period";s:4:"-100";}s:9:"ydieresis";a:30:{s:1:"a";s:3:"-20";s:6:"aacute";s:3:"-20";s:6:"abreve";s:3:"-20";s:11:"acircumflex";s:3:"-20";s:9:"adieresis";s:3:"-20";s:6:"agrave";s:3:"-20";s:7:"amacron";s:3:"-20";s:7:"aogonek";s:3:"-20";s:5:"aring";s:3:"-20";s:6:"atilde";s:3:"-20";s:5:"comma";s:4:"-100";s:1:"e";s:3:"-20";s:6:"eacute";s:3:"-20";s:6:"ecaron";s:3:"-20";s:11:"ecircumflex";s:3:"-20";s:9:"edieresis";s:3:"-20";s:10:"edotaccent";s:3:"-20";s:6:"egrave";s:3:"-20";s:7:"emacron";s:3:"-20";s:7:"eogonek";s:3:"-20";s:1:"o";s:3:"-20";s:6:"oacute";s:3:"-20";s:11:"ocircumflex";s:3:"-20";s:9:"odieresis";s:3:"-20";s:6:"ograve";s:3:"-20";s:13:"ohungarumlaut";s:3:"-20";s:7:"omacron";s:3:"-20";s:6:"oslash";s:3:"-20";s:6:"otilde";s:3:"-20";s:6:"period";s:4:"-100";}s:1:"z";a:18:{s:1:"e";s:3:"-15";s:6:"eacute";s:3:"-15";s:6:"ecaron";s:3:"-15";s:11:"ecircumflex";s:3:"-15";s:9:"edieresis";s:3:"-15";s:10:"edotaccent";s:3:"-15";s:6:"egrave";s:3:"-15";s:7:"emacron";s:3:"-15";s:7:"eogonek";s:3:"-15";s:1:"o";s:3:"-15";s:6:"oacute";s:3:"-15";s:11:"ocircumflex";s:3:"-15";s:9:"odieresis";s:3:"-15";s:6:"ograve";s:3:"-15";s:13:"ohungarumlaut";s:3:"-15";s:7:"omacron";s:3:"-15";s:6:"oslash";s:3:"-15";s:6:"otilde";s:3:"-15";}s:6:"zacute";a:18:{s:1:"e";s:3:"-15";s:6:"eacute";s:3:"-15";s:6:"ecaron";s:3:"-15";s:11:"ecircumflex";s:3:"-15";s:9:"edieresis";s:3:"-15";s:10:"edotaccent";s:3:"-15";s:6:"egrave";s:3:"-15";s:7:"emacron";s:3:"-15";s:7:"eogonek";s:3:"-15";s:1:"o";s:3:"-15";s:6:"oacute";s:3:"-15";s:11:"ocircumflex";s:3:"-15";s:9:"odieresis";s:3:"-15";s:6:"ograve";s:3:"-15";s:13:"ohungarumlaut";s:3:"-15";s:7:"omacron";s:3:"-15";s:6:"oslash";s:3:"-15";s:6:"otilde";s:3:"-15";}s:6:"zcaron";a:18:{s:1:"e";s:3:"-15";s:6:"eacute";s:3:"-15";s:6:"ecaron";s:3:"-15";s:11:"ecircumflex";s:3:"-15";s:9:"edieresis";s:3:"-15";s:10:"edotaccent";s:3:"-15";s:6:"egrave";s:3:"-15";s:7:"emacron";s:3:"-15";s:7:"eogonek";s:3:"-15";s:1:"o";s:3:"-15";s:6:"oacute";s:3:"-15";s:11:"ocircumflex";s:3:"-15";s:9:"odieresis";s:3:"-15";s:6:"ograve";s:3:"-15";s:13:"ohungarumlaut";s:3:"-15";s:7:"omacron";s:3:"-15";s:6:"oslash";s:3:"-15";s:6:"otilde";s:3:"-15";}s:10:"zdotaccent";a:18:{s:1:"e";s:3:"-15";s:6:"eacute";s:3:"-15";s:6:"ecaron";s:3:"-15";s:11:"ecircumflex";s:3:"-15";s:9:"edieresis";s:3:"-15";s:10:"edotaccent";s:3:"-15";s:6:"egrave";s:3:"-15";s:7:"emacron";s:3:"-15";s:7:"eogonek";s:3:"-15";s:1:"o";s:3:"-15";s:6:"oacute";s:3:"-15";s:11:"ocircumflex";s:3:"-15";s:9:"odieresis";s:3:"-15";s:6:"ograve";s:3:"-15";s:13:"ohungarumlaut";s:3:"-15";s:7:"omacron";s:3:"-15";s:6:"oslash";s:3:"-15";s:6:"otilde";s:3:"-15";}}s:9:"_version_";i:1;}
\ No newline at end of file diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/PDF/default/templates/fonts/php_Helvetica.afm b/buildscripts/PhpDocumentor/phpDocumentor/Converters/PDF/default/templates/fonts/php_Helvetica.afm new file mode 100755 index 00000000..f8c7f2ba --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/PDF/default/templates/fonts/php_Helvetica.afm @@ -0,0 +1 @@ +a:22:{s:8:"FontName";s:9:"Helvetica";s:8:"FullName";s:9:"Helvetica";s:10:"FamilyName";s:9:"Helvetica";s:6:"Weight";s:6:"Medium";s:11:"ItalicAngle";s:1:"0";s:12:"IsFixedPitch";s:5:"false";s:12:"CharacterSet";s:13:"ExtendedRoman";s:8:"FontBBox";a:4:{i:0;s:4:"-166";i:1;s:4:"-225";i:2;s:4:"1000";i:3;s:3:"931";}s:17:"UnderlinePosition";s:4:"-100";s:18:"UnderlineThickness";s:2:"50";s:7:"Version";s:7:"002.000";s:14:"EncodingScheme";s:21:"AdobeStandardEncoding";s:9:"CapHeight";s:3:"718";s:7:"XHeight";s:3:"523";s:8:"Ascender";s:3:"718";s:9:"Descender";s:4:"-207";s:5:"StdHW";s:2:"76";s:5:"StdVW";s:2:"88";s:16:"StartCharMetrics";s:3:"315";s:1:"C";a:464:{i:32;a:4:{s:1:"C";s:2:"32";s:2:"WX";s:3:"278";s:1:"N";s:5:"space";s:1:"B";a:4:{i:0;s:1:"0";i:1;s:1:"0";i:2;s:1:"0";i:3;s:1:"0";}}s:5:"space";a:4:{s:1:"C";s:2:"32";s:2:"WX";s:3:"278";s:1:"N";s:5:"space";s:1:"B";a:4:{i:0;s:1:"0";i:1;s:1:"0";i:2;s:1:"0";i:3;s:1:"0";}}i:33;a:4:{s:1:"C";s:2:"33";s:2:"WX";s:3:"278";s:1:"N";s:6:"exclam";s:1:"B";a:4:{i:0;s:2:"90";i:1;s:1:"0";i:2;s:3:"187";i:3;s:3:"718";}}s:6:"exclam";a:4:{s:1:"C";s:2:"33";s:2:"WX";s:3:"278";s:1:"N";s:6:"exclam";s:1:"B";a:4:{i:0;s:2:"90";i:1;s:1:"0";i:2;s:3:"187";i:3;s:3:"718";}}i:34;a:4:{s:1:"C";s:2:"34";s:2:"WX";s:3:"355";s:1:"N";s:8:"quotedbl";s:1:"B";a:4:{i:0;s:2:"70";i:1;s:3:"463";i:2;s:3:"285";i:3;s:3:"718";}}s:8:"quotedbl";a:4:{s:1:"C";s:2:"34";s:2:"WX";s:3:"355";s:1:"N";s:8:"quotedbl";s:1:"B";a:4:{i:0;s:2:"70";i:1;s:3:"463";i:2;s:3:"285";i:3;s:3:"718";}}i:35;a:4:{s:1:"C";s:2:"35";s:2:"WX";s:3:"556";s:1:"N";s:10:"numbersign";s:1:"B";a:4:{i:0;s:2:"28";i:1;s:1:"0";i:2;s:3:"529";i:3;s:3:"688";}}s:10:"numbersign";a:4:{s:1:"C";s:2:"35";s:2:"WX";s:3:"556";s:1:"N";s:10:"numbersign";s:1:"B";a:4:{i:0;s:2:"28";i:1;s:1:"0";i:2;s:3:"529";i:3;s:3:"688";}}i:36;a:4:{s:1:"C";s:2:"36";s:2:"WX";s:3:"556";s:1:"N";s:6:"dollar";s:1:"B";a:4:{i:0;s:2:"32";i:1;s:4:"-115";i:2;s:3:"520";i:3;s:3:"775";}}s:6:"dollar";a:4:{s:1:"C";s:2:"36";s:2:"WX";s:3:"556";s:1:"N";s:6:"dollar";s:1:"B";a:4:{i:0;s:2:"32";i:1;s:4:"-115";i:2;s:3:"520";i:3;s:3:"775";}}i:37;a:4:{s:1:"C";s:2:"37";s:2:"WX";s:3:"889";s:1:"N";s:7:"percent";s:1:"B";a:4:{i:0;s:2:"39";i:1;s:3:"-19";i:2;s:3:"850";i:3;s:3:"703";}}s:7:"percent";a:4:{s:1:"C";s:2:"37";s:2:"WX";s:3:"889";s:1:"N";s:7:"percent";s:1:"B";a:4:{i:0;s:2:"39";i:1;s:3:"-19";i:2;s:3:"850";i:3;s:3:"703";}}i:38;a:4:{s:1:"C";s:2:"38";s:2:"WX";s:3:"667";s:1:"N";s:9:"ampersand";s:1:"B";a:4:{i:0;s:2:"44";i:1;s:3:"-15";i:2;s:3:"645";i:3;s:3:"718";}}s:9:"ampersand";a:4:{s:1:"C";s:2:"38";s:2:"WX";s:3:"667";s:1:"N";s:9:"ampersand";s:1:"B";a:4:{i:0;s:2:"44";i:1;s:3:"-15";i:2;s:3:"645";i:3;s:3:"718";}}i:39;a:4:{s:1:"C";s:2:"39";s:2:"WX";s:3:"222";s:1:"N";s:10:"quoteright";s:1:"B";a:4:{i:0;s:2:"53";i:1;s:3:"463";i:2;s:3:"157";i:3;s:3:"718";}}s:10:"quoteright";a:4:{s:1:"C";s:2:"39";s:2:"WX";s:3:"222";s:1:"N";s:10:"quoteright";s:1:"B";a:4:{i:0;s:2:"53";i:1;s:3:"463";i:2;s:3:"157";i:3;s:3:"718";}}i:40;a:4:{s:1:"C";s:2:"40";s:2:"WX";s:3:"333";s:1:"N";s:9:"parenleft";s:1:"B";a:4:{i:0;s:2:"68";i:1;s:4:"-207";i:2;s:3:"299";i:3;s:3:"733";}}s:9:"parenleft";a:4:{s:1:"C";s:2:"40";s:2:"WX";s:3:"333";s:1:"N";s:9:"parenleft";s:1:"B";a:4:{i:0;s:2:"68";i:1;s:4:"-207";i:2;s:3:"299";i:3;s:3:"733";}}i:41;a:4:{s:1:"C";s:2:"41";s:2:"WX";s:3:"333";s:1:"N";s:10:"parenright";s:1:"B";a:4:{i:0;s:2:"34";i:1;s:4:"-207";i:2;s:3:"265";i:3;s:3:"733";}}s:10:"parenright";a:4:{s:1:"C";s:2:"41";s:2:"WX";s:3:"333";s:1:"N";s:10:"parenright";s:1:"B";a:4:{i:0;s:2:"34";i:1;s:4:"-207";i:2;s:3:"265";i:3;s:3:"733";}}i:42;a:4:{s:1:"C";s:2:"42";s:2:"WX";s:3:"389";s:1:"N";s:8:"asterisk";s:1:"B";a:4:{i:0;s:2:"39";i:1;s:3:"431";i:2;s:3:"349";i:3;s:3:"718";}}s:8:"asterisk";a:4:{s:1:"C";s:2:"42";s:2:"WX";s:3:"389";s:1:"N";s:8:"asterisk";s:1:"B";a:4:{i:0;s:2:"39";i:1;s:3:"431";i:2;s:3:"349";i:3;s:3:"718";}}i:43;a:4:{s:1:"C";s:2:"43";s:2:"WX";s:3:"584";s:1:"N";s:4:"plus";s:1:"B";a:4:{i:0;s:2:"39";i:1;s:1:"0";i:2;s:3:"545";i:3;s:3:"505";}}s:4:"plus";a:4:{s:1:"C";s:2:"43";s:2:"WX";s:3:"584";s:1:"N";s:4:"plus";s:1:"B";a:4:{i:0;s:2:"39";i:1;s:1:"0";i:2;s:3:"545";i:3;s:3:"505";}}i:44;a:4:{s:1:"C";s:2:"44";s:2:"WX";s:3:"278";s:1:"N";s:5:"comma";s:1:"B";a:4:{i:0;s:2:"87";i:1;s:4:"-147";i:2;s:3:"191";i:3;s:3:"106";}}s:5:"comma";a:4:{s:1:"C";s:2:"44";s:2:"WX";s:3:"278";s:1:"N";s:5:"comma";s:1:"B";a:4:{i:0;s:2:"87";i:1;s:4:"-147";i:2;s:3:"191";i:3;s:3:"106";}}i:45;a:4:{s:1:"C";s:2:"45";s:2:"WX";s:3:"333";s:1:"N";s:6:"hyphen";s:1:"B";a:4:{i:0;s:2:"44";i:1;s:3:"232";i:2;s:3:"289";i:3;s:3:"322";}}s:6:"hyphen";a:4:{s:1:"C";s:2:"45";s:2:"WX";s:3:"333";s:1:"N";s:6:"hyphen";s:1:"B";a:4:{i:0;s:2:"44";i:1;s:3:"232";i:2;s:3:"289";i:3;s:3:"322";}}i:46;a:4:{s:1:"C";s:2:"46";s:2:"WX";s:3:"278";s:1:"N";s:6:"period";s:1:"B";a:4:{i:0;s:2:"87";i:1;s:1:"0";i:2;s:3:"191";i:3;s:3:"106";}}s:6:"period";a:4:{s:1:"C";s:2:"46";s:2:"WX";s:3:"278";s:1:"N";s:6:"period";s:1:"B";a:4:{i:0;s:2:"87";i:1;s:1:"0";i:2;s:3:"191";i:3;s:3:"106";}}i:47;a:4:{s:1:"C";s:2:"47";s:2:"WX";s:3:"278";s:1:"N";s:5:"slash";s:1:"B";a:4:{i:0;s:3:"-17";i:1;s:3:"-19";i:2;s:3:"295";i:3;s:3:"737";}}s:5:"slash";a:4:{s:1:"C";s:2:"47";s:2:"WX";s:3:"278";s:1:"N";s:5:"slash";s:1:"B";a:4:{i:0;s:3:"-17";i:1;s:3:"-19";i:2;s:3:"295";i:3;s:3:"737";}}i:48;a:4:{s:1:"C";s:2:"48";s:2:"WX";s:3:"556";s:1:"N";s:4:"zero";s:1:"B";a:4:{i:0;s:2:"37";i:1;s:3:"-19";i:2;s:3:"519";i:3;s:3:"703";}}s:4:"zero";a:4:{s:1:"C";s:2:"48";s:2:"WX";s:3:"556";s:1:"N";s:4:"zero";s:1:"B";a:4:{i:0;s:2:"37";i:1;s:3:"-19";i:2;s:3:"519";i:3;s:3:"703";}}i:49;a:4:{s:1:"C";s:2:"49";s:2:"WX";s:3:"556";s:1:"N";s:3:"one";s:1:"B";a:4:{i:0;s:3:"101";i:1;s:1:"0";i:2;s:3:"359";i:3;s:3:"703";}}s:3:"one";a:4:{s:1:"C";s:2:"49";s:2:"WX";s:3:"556";s:1:"N";s:3:"one";s:1:"B";a:4:{i:0;s:3:"101";i:1;s:1:"0";i:2;s:3:"359";i:3;s:3:"703";}}i:50;a:4:{s:1:"C";s:2:"50";s:2:"WX";s:3:"556";s:1:"N";s:3:"two";s:1:"B";a:4:{i:0;s:2:"26";i:1;s:1:"0";i:2;s:3:"507";i:3;s:3:"703";}}s:3:"two";a:4:{s:1:"C";s:2:"50";s:2:"WX";s:3:"556";s:1:"N";s:3:"two";s:1:"B";a:4:{i:0;s:2:"26";i:1;s:1:"0";i:2;s:3:"507";i:3;s:3:"703";}}i:51;a:4:{s:1:"C";s:2:"51";s:2:"WX";s:3:"556";s:1:"N";s:5:"three";s:1:"B";a:4:{i:0;s:2:"34";i:1;s:3:"-19";i:2;s:3:"522";i:3;s:3:"703";}}s:5:"three";a:4:{s:1:"C";s:2:"51";s:2:"WX";s:3:"556";s:1:"N";s:5:"three";s:1:"B";a:4:{i:0;s:2:"34";i:1;s:3:"-19";i:2;s:3:"522";i:3;s:3:"703";}}i:52;a:4:{s:1:"C";s:2:"52";s:2:"WX";s:3:"556";s:1:"N";s:4:"four";s:1:"B";a:4:{i:0;s:2:"25";i:1;s:1:"0";i:2;s:3:"523";i:3;s:3:"703";}}s:4:"four";a:4:{s:1:"C";s:2:"52";s:2:"WX";s:3:"556";s:1:"N";s:4:"four";s:1:"B";a:4:{i:0;s:2:"25";i:1;s:1:"0";i:2;s:3:"523";i:3;s:3:"703";}}i:53;a:4:{s:1:"C";s:2:"53";s:2:"WX";s:3:"556";s:1:"N";s:4:"five";s:1:"B";a:4:{i:0;s:2:"32";i:1;s:3:"-19";i:2;s:3:"514";i:3;s:3:"688";}}s:4:"five";a:4:{s:1:"C";s:2:"53";s:2:"WX";s:3:"556";s:1:"N";s:4:"five";s:1:"B";a:4:{i:0;s:2:"32";i:1;s:3:"-19";i:2;s:3:"514";i:3;s:3:"688";}}i:54;a:4:{s:1:"C";s:2:"54";s:2:"WX";s:3:"556";s:1:"N";s:3:"six";s:1:"B";a:4:{i:0;s:2:"38";i:1;s:3:"-19";i:2;s:3:"518";i:3;s:3:"703";}}s:3:"six";a:4:{s:1:"C";s:2:"54";s:2:"WX";s:3:"556";s:1:"N";s:3:"six";s:1:"B";a:4:{i:0;s:2:"38";i:1;s:3:"-19";i:2;s:3:"518";i:3;s:3:"703";}}i:55;a:4:{s:1:"C";s:2:"55";s:2:"WX";s:3:"556";s:1:"N";s:5:"seven";s:1:"B";a:4:{i:0;s:2:"37";i:1;s:1:"0";i:2;s:3:"523";i:3;s:3:"688";}}s:5:"seven";a:4:{s:1:"C";s:2:"55";s:2:"WX";s:3:"556";s:1:"N";s:5:"seven";s:1:"B";a:4:{i:0;s:2:"37";i:1;s:1:"0";i:2;s:3:"523";i:3;s:3:"688";}}i:56;a:4:{s:1:"C";s:2:"56";s:2:"WX";s:3:"556";s:1:"N";s:5:"eight";s:1:"B";a:4:{i:0;s:2:"38";i:1;s:3:"-19";i:2;s:3:"517";i:3;s:3:"703";}}s:5:"eight";a:4:{s:1:"C";s:2:"56";s:2:"WX";s:3:"556";s:1:"N";s:5:"eight";s:1:"B";a:4:{i:0;s:2:"38";i:1;s:3:"-19";i:2;s:3:"517";i:3;s:3:"703";}}i:57;a:4:{s:1:"C";s:2:"57";s:2:"WX";s:3:"556";s:1:"N";s:4:"nine";s:1:"B";a:4:{i:0;s:2:"42";i:1;s:3:"-19";i:2;s:3:"514";i:3;s:3:"703";}}s:4:"nine";a:4:{s:1:"C";s:2:"57";s:2:"WX";s:3:"556";s:1:"N";s:4:"nine";s:1:"B";a:4:{i:0;s:2:"42";i:1;s:3:"-19";i:2;s:3:"514";i:3;s:3:"703";}}i:58;a:4:{s:1:"C";s:2:"58";s:2:"WX";s:3:"278";s:1:"N";s:5:"colon";s:1:"B";a:4:{i:0;s:2:"87";i:1;s:1:"0";i:2;s:3:"191";i:3;s:3:"516";}}s:5:"colon";a:4:{s:1:"C";s:2:"58";s:2:"WX";s:3:"278";s:1:"N";s:5:"colon";s:1:"B";a:4:{i:0;s:2:"87";i:1;s:1:"0";i:2;s:3:"191";i:3;s:3:"516";}}i:59;a:4:{s:1:"C";s:2:"59";s:2:"WX";s:3:"278";s:1:"N";s:9:"semicolon";s:1:"B";a:4:{i:0;s:2:"87";i:1;s:4:"-147";i:2;s:3:"191";i:3;s:3:"516";}}s:9:"semicolon";a:4:{s:1:"C";s:2:"59";s:2:"WX";s:3:"278";s:1:"N";s:9:"semicolon";s:1:"B";a:4:{i:0;s:2:"87";i:1;s:4:"-147";i:2;s:3:"191";i:3;s:3:"516";}}i:60;a:4:{s:1:"C";s:2:"60";s:2:"WX";s:3:"584";s:1:"N";s:4:"less";s:1:"B";a:4:{i:0;s:2:"48";i:1;s:2:"11";i:2;s:3:"536";i:3;s:3:"495";}}s:4:"less";a:4:{s:1:"C";s:2:"60";s:2:"WX";s:3:"584";s:1:"N";s:4:"less";s:1:"B";a:4:{i:0;s:2:"48";i:1;s:2:"11";i:2;s:3:"536";i:3;s:3:"495";}}i:61;a:4:{s:1:"C";s:2:"61";s:2:"WX";s:3:"584";s:1:"N";s:5:"equal";s:1:"B";a:4:{i:0;s:2:"39";i:1;s:3:"115";i:2;s:3:"545";i:3;s:3:"390";}}s:5:"equal";a:4:{s:1:"C";s:2:"61";s:2:"WX";s:3:"584";s:1:"N";s:5:"equal";s:1:"B";a:4:{i:0;s:2:"39";i:1;s:3:"115";i:2;s:3:"545";i:3;s:3:"390";}}i:62;a:4:{s:1:"C";s:2:"62";s:2:"WX";s:3:"584";s:1:"N";s:7:"greater";s:1:"B";a:4:{i:0;s:2:"48";i:1;s:2:"11";i:2;s:3:"536";i:3;s:3:"495";}}s:7:"greater";a:4:{s:1:"C";s:2:"62";s:2:"WX";s:3:"584";s:1:"N";s:7:"greater";s:1:"B";a:4:{i:0;s:2:"48";i:1;s:2:"11";i:2;s:3:"536";i:3;s:3:"495";}}i:63;a:4:{s:1:"C";s:2:"63";s:2:"WX";s:3:"556";s:1:"N";s:8:"question";s:1:"B";a:4:{i:0;s:2:"56";i:1;s:1:"0";i:2;s:3:"492";i:3;s:3:"727";}}s:8:"question";a:4:{s:1:"C";s:2:"63";s:2:"WX";s:3:"556";s:1:"N";s:8:"question";s:1:"B";a:4:{i:0;s:2:"56";i:1;s:1:"0";i:2;s:3:"492";i:3;s:3:"727";}}i:64;a:4:{s:1:"C";s:2:"64";s:2:"WX";s:4:"1015";s:1:"N";s:2:"at";s:1:"B";a:4:{i:0;s:3:"147";i:1;s:3:"-19";i:2;s:3:"868";i:3;s:3:"737";}}s:2:"at";a:4:{s:1:"C";s:2:"64";s:2:"WX";s:4:"1015";s:1:"N";s:2:"at";s:1:"B";a:4:{i:0;s:3:"147";i:1;s:3:"-19";i:2;s:3:"868";i:3;s:3:"737";}}i:65;a:4:{s:1:"C";s:2:"65";s:2:"WX";s:3:"667";s:1:"N";s:1:"A";s:1:"B";a:4:{i:0;s:2:"14";i:1;s:1:"0";i:2;s:3:"654";i:3;s:3:"718";}}s:1:"A";a:4:{s:1:"C";s:2:"65";s:2:"WX";s:3:"667";s:1:"N";s:1:"A";s:1:"B";a:4:{i:0;s:2:"14";i:1;s:1:"0";i:2;s:3:"654";i:3;s:3:"718";}}i:66;a:4:{s:1:"C";s:2:"66";s:2:"WX";s:3:"667";s:1:"N";s:1:"B";s:1:"B";a:4:{i:0;s:2:"74";i:1;s:1:"0";i:2;s:3:"627";i:3;s:3:"718";}}s:1:"B";a:4:{s:1:"C";s:2:"66";s:2:"WX";s:3:"667";s:1:"N";s:1:"B";s:1:"B";a:4:{i:0;s:2:"74";i:1;s:1:"0";i:2;s:3:"627";i:3;s:3:"718";}}i:67;a:4:{s:1:"C";s:2:"67";s:2:"WX";s:3:"722";s:1:"N";s:1:"C";s:1:"B";a:4:{i:0;s:2:"44";i:1;s:3:"-19";i:2;s:3:"681";i:3;s:3:"737";}}s:1:"C";a:4:{s:1:"C";s:2:"67";s:2:"WX";s:3:"722";s:1:"N";s:1:"C";s:1:"B";a:4:{i:0;s:2:"44";i:1;s:3:"-19";i:2;s:3:"681";i:3;s:3:"737";}}i:68;a:4:{s:1:"C";s:2:"68";s:2:"WX";s:3:"722";s:1:"N";s:1:"D";s:1:"B";a:4:{i:0;s:2:"81";i:1;s:1:"0";i:2;s:3:"674";i:3;s:3:"718";}}s:1:"D";a:4:{s:1:"C";s:2:"68";s:2:"WX";s:3:"722";s:1:"N";s:1:"D";s:1:"B";a:4:{i:0;s:2:"81";i:1;s:1:"0";i:2;s:3:"674";i:3;s:3:"718";}}i:69;a:4:{s:1:"C";s:2:"69";s:2:"WX";s:3:"667";s:1:"N";s:1:"E";s:1:"B";a:4:{i:0;s:2:"86";i:1;s:1:"0";i:2;s:3:"616";i:3;s:3:"718";}}s:1:"E";a:4:{s:1:"C";s:2:"69";s:2:"WX";s:3:"667";s:1:"N";s:1:"E";s:1:"B";a:4:{i:0;s:2:"86";i:1;s:1:"0";i:2;s:3:"616";i:3;s:3:"718";}}i:70;a:4:{s:1:"C";s:2:"70";s:2:"WX";s:3:"611";s:1:"N";s:1:"F";s:1:"B";a:4:{i:0;s:2:"86";i:1;s:1:"0";i:2;s:3:"583";i:3;s:3:"718";}}s:1:"F";a:4:{s:1:"C";s:2:"70";s:2:"WX";s:3:"611";s:1:"N";s:1:"F";s:1:"B";a:4:{i:0;s:2:"86";i:1;s:1:"0";i:2;s:3:"583";i:3;s:3:"718";}}i:71;a:4:{s:1:"C";s:2:"71";s:2:"WX";s:3:"778";s:1:"N";s:1:"G";s:1:"B";a:4:{i:0;s:2:"48";i:1;s:3:"-19";i:2;s:3:"704";i:3;s:3:"737";}}s:1:"G";a:4:{s:1:"C";s:2:"71";s:2:"WX";s:3:"778";s:1:"N";s:1:"G";s:1:"B";a:4:{i:0;s:2:"48";i:1;s:3:"-19";i:2;s:3:"704";i:3;s:3:"737";}}i:72;a:4:{s:1:"C";s:2:"72";s:2:"WX";s:3:"722";s:1:"N";s:1:"H";s:1:"B";a:4:{i:0;s:2:"77";i:1;s:1:"0";i:2;s:3:"646";i:3;s:3:"718";}}s:1:"H";a:4:{s:1:"C";s:2:"72";s:2:"WX";s:3:"722";s:1:"N";s:1:"H";s:1:"B";a:4:{i:0;s:2:"77";i:1;s:1:"0";i:2;s:3:"646";i:3;s:3:"718";}}i:73;a:4:{s:1:"C";s:2:"73";s:2:"WX";s:3:"278";s:1:"N";s:1:"I";s:1:"B";a:4:{i:0;s:2:"91";i:1;s:1:"0";i:2;s:3:"188";i:3;s:3:"718";}}s:1:"I";a:4:{s:1:"C";s:2:"73";s:2:"WX";s:3:"278";s:1:"N";s:1:"I";s:1:"B";a:4:{i:0;s:2:"91";i:1;s:1:"0";i:2;s:3:"188";i:3;s:3:"718";}}i:74;a:4:{s:1:"C";s:2:"74";s:2:"WX";s:3:"500";s:1:"N";s:1:"J";s:1:"B";a:4:{i:0;s:2:"17";i:1;s:3:"-19";i:2;s:3:"428";i:3;s:3:"718";}}s:1:"J";a:4:{s:1:"C";s:2:"74";s:2:"WX";s:3:"500";s:1:"N";s:1:"J";s:1:"B";a:4:{i:0;s:2:"17";i:1;s:3:"-19";i:2;s:3:"428";i:3;s:3:"718";}}i:75;a:4:{s:1:"C";s:2:"75";s:2:"WX";s:3:"667";s:1:"N";s:1:"K";s:1:"B";a:4:{i:0;s:2:"76";i:1;s:1:"0";i:2;s:3:"663";i:3;s:3:"718";}}s:1:"K";a:4:{s:1:"C";s:2:"75";s:2:"WX";s:3:"667";s:1:"N";s:1:"K";s:1:"B";a:4:{i:0;s:2:"76";i:1;s:1:"0";i:2;s:3:"663";i:3;s:3:"718";}}i:76;a:4:{s:1:"C";s:2:"76";s:2:"WX";s:3:"556";s:1:"N";s:1:"L";s:1:"B";a:4:{i:0;s:2:"76";i:1;s:1:"0";i:2;s:3:"537";i:3;s:3:"718";}}s:1:"L";a:4:{s:1:"C";s:2:"76";s:2:"WX";s:3:"556";s:1:"N";s:1:"L";s:1:"B";a:4:{i:0;s:2:"76";i:1;s:1:"0";i:2;s:3:"537";i:3;s:3:"718";}}i:77;a:4:{s:1:"C";s:2:"77";s:2:"WX";s:3:"833";s:1:"N";s:1:"M";s:1:"B";a:4:{i:0;s:2:"73";i:1;s:1:"0";i:2;s:3:"761";i:3;s:3:"718";}}s:1:"M";a:4:{s:1:"C";s:2:"77";s:2:"WX";s:3:"833";s:1:"N";s:1:"M";s:1:"B";a:4:{i:0;s:2:"73";i:1;s:1:"0";i:2;s:3:"761";i:3;s:3:"718";}}i:78;a:4:{s:1:"C";s:2:"78";s:2:"WX";s:3:"722";s:1:"N";s:1:"N";s:1:"B";a:4:{i:0;s:2:"76";i:1;s:1:"0";i:2;s:3:"646";i:3;s:3:"718";}}s:1:"N";a:4:{s:1:"C";s:2:"78";s:2:"WX";s:3:"722";s:1:"N";s:1:"N";s:1:"B";a:4:{i:0;s:2:"76";i:1;s:1:"0";i:2;s:3:"646";i:3;s:3:"718";}}i:79;a:4:{s:1:"C";s:2:"79";s:2:"WX";s:3:"778";s:1:"N";s:1:"O";s:1:"B";a:4:{i:0;s:2:"39";i:1;s:3:"-19";i:2;s:3:"739";i:3;s:3:"737";}}s:1:"O";a:4:{s:1:"C";s:2:"79";s:2:"WX";s:3:"778";s:1:"N";s:1:"O";s:1:"B";a:4:{i:0;s:2:"39";i:1;s:3:"-19";i:2;s:3:"739";i:3;s:3:"737";}}i:80;a:4:{s:1:"C";s:2:"80";s:2:"WX";s:3:"667";s:1:"N";s:1:"P";s:1:"B";a:4:{i:0;s:2:"86";i:1;s:1:"0";i:2;s:3:"622";i:3;s:3:"718";}}s:1:"P";a:4:{s:1:"C";s:2:"80";s:2:"WX";s:3:"667";s:1:"N";s:1:"P";s:1:"B";a:4:{i:0;s:2:"86";i:1;s:1:"0";i:2;s:3:"622";i:3;s:3:"718";}}i:81;a:4:{s:1:"C";s:2:"81";s:2:"WX";s:3:"778";s:1:"N";s:1:"Q";s:1:"B";a:4:{i:0;s:2:"39";i:1;s:3:"-56";i:2;s:3:"739";i:3;s:3:"737";}}s:1:"Q";a:4:{s:1:"C";s:2:"81";s:2:"WX";s:3:"778";s:1:"N";s:1:"Q";s:1:"B";a:4:{i:0;s:2:"39";i:1;s:3:"-56";i:2;s:3:"739";i:3;s:3:"737";}}i:82;a:4:{s:1:"C";s:2:"82";s:2:"WX";s:3:"722";s:1:"N";s:1:"R";s:1:"B";a:4:{i:0;s:2:"88";i:1;s:1:"0";i:2;s:3:"684";i:3;s:3:"718";}}s:1:"R";a:4:{s:1:"C";s:2:"82";s:2:"WX";s:3:"722";s:1:"N";s:1:"R";s:1:"B";a:4:{i:0;s:2:"88";i:1;s:1:"0";i:2;s:3:"684";i:3;s:3:"718";}}i:83;a:4:{s:1:"C";s:2:"83";s:2:"WX";s:3:"667";s:1:"N";s:1:"S";s:1:"B";a:4:{i:0;s:2:"49";i:1;s:3:"-19";i:2;s:3:"620";i:3;s:3:"737";}}s:1:"S";a:4:{s:1:"C";s:2:"83";s:2:"WX";s:3:"667";s:1:"N";s:1:"S";s:1:"B";a:4:{i:0;s:2:"49";i:1;s:3:"-19";i:2;s:3:"620";i:3;s:3:"737";}}i:84;a:4:{s:1:"C";s:2:"84";s:2:"WX";s:3:"611";s:1:"N";s:1:"T";s:1:"B";a:4:{i:0;s:2:"14";i:1;s:1:"0";i:2;s:3:"597";i:3;s:3:"718";}}s:1:"T";a:4:{s:1:"C";s:2:"84";s:2:"WX";s:3:"611";s:1:"N";s:1:"T";s:1:"B";a:4:{i:0;s:2:"14";i:1;s:1:"0";i:2;s:3:"597";i:3;s:3:"718";}}i:85;a:4:{s:1:"C";s:2:"85";s:2:"WX";s:3:"722";s:1:"N";s:1:"U";s:1:"B";a:4:{i:0;s:2:"79";i:1;s:3:"-19";i:2;s:3:"644";i:3;s:3:"718";}}s:1:"U";a:4:{s:1:"C";s:2:"85";s:2:"WX";s:3:"722";s:1:"N";s:1:"U";s:1:"B";a:4:{i:0;s:2:"79";i:1;s:3:"-19";i:2;s:3:"644";i:3;s:3:"718";}}i:86;a:4:{s:1:"C";s:2:"86";s:2:"WX";s:3:"667";s:1:"N";s:1:"V";s:1:"B";a:4:{i:0;s:2:"20";i:1;s:1:"0";i:2;s:3:"647";i:3;s:3:"718";}}s:1:"V";a:4:{s:1:"C";s:2:"86";s:2:"WX";s:3:"667";s:1:"N";s:1:"V";s:1:"B";a:4:{i:0;s:2:"20";i:1;s:1:"0";i:2;s:3:"647";i:3;s:3:"718";}}i:87;a:4:{s:1:"C";s:2:"87";s:2:"WX";s:3:"944";s:1:"N";s:1:"W";s:1:"B";a:4:{i:0;s:2:"16";i:1;s:1:"0";i:2;s:3:"928";i:3;s:3:"718";}}s:1:"W";a:4:{s:1:"C";s:2:"87";s:2:"WX";s:3:"944";s:1:"N";s:1:"W";s:1:"B";a:4:{i:0;s:2:"16";i:1;s:1:"0";i:2;s:3:"928";i:3;s:3:"718";}}i:88;a:4:{s:1:"C";s:2:"88";s:2:"WX";s:3:"667";s:1:"N";s:1:"X";s:1:"B";a:4:{i:0;s:2:"19";i:1;s:1:"0";i:2;s:3:"648";i:3;s:3:"718";}}s:1:"X";a:4:{s:1:"C";s:2:"88";s:2:"WX";s:3:"667";s:1:"N";s:1:"X";s:1:"B";a:4:{i:0;s:2:"19";i:1;s:1:"0";i:2;s:3:"648";i:3;s:3:"718";}}i:89;a:4:{s:1:"C";s:2:"89";s:2:"WX";s:3:"667";s:1:"N";s:1:"Y";s:1:"B";a:4:{i:0;s:2:"14";i:1;s:1:"0";i:2;s:3:"653";i:3;s:3:"718";}}s:1:"Y";a:4:{s:1:"C";s:2:"89";s:2:"WX";s:3:"667";s:1:"N";s:1:"Y";s:1:"B";a:4:{i:0;s:2:"14";i:1;s:1:"0";i:2;s:3:"653";i:3;s:3:"718";}}i:90;a:4:{s:1:"C";s:2:"90";s:2:"WX";s:3:"611";s:1:"N";s:1:"Z";s:1:"B";a:4:{i:0;s:2:"23";i:1;s:1:"0";i:2;s:3:"588";i:3;s:3:"718";}}s:1:"Z";a:4:{s:1:"C";s:2:"90";s:2:"WX";s:3:"611";s:1:"N";s:1:"Z";s:1:"B";a:4:{i:0;s:2:"23";i:1;s:1:"0";i:2;s:3:"588";i:3;s:3:"718";}}i:91;a:4:{s:1:"C";s:2:"91";s:2:"WX";s:3:"278";s:1:"N";s:11:"bracketleft";s:1:"B";a:4:{i:0;s:2:"63";i:1;s:4:"-196";i:2;s:3:"250";i:3;s:3:"722";}}s:11:"bracketleft";a:4:{s:1:"C";s:2:"91";s:2:"WX";s:3:"278";s:1:"N";s:11:"bracketleft";s:1:"B";a:4:{i:0;s:2:"63";i:1;s:4:"-196";i:2;s:3:"250";i:3;s:3:"722";}}i:92;a:4:{s:1:"C";s:2:"92";s:2:"WX";s:3:"278";s:1:"N";s:9:"backslash";s:1:"B";a:4:{i:0;s:3:"-17";i:1;s:3:"-19";i:2;s:3:"295";i:3;s:3:"737";}}s:9:"backslash";a:4:{s:1:"C";s:2:"92";s:2:"WX";s:3:"278";s:1:"N";s:9:"backslash";s:1:"B";a:4:{i:0;s:3:"-17";i:1;s:3:"-19";i:2;s:3:"295";i:3;s:3:"737";}}i:93;a:4:{s:1:"C";s:2:"93";s:2:"WX";s:3:"278";s:1:"N";s:12:"bracketright";s:1:"B";a:4:{i:0;s:2:"28";i:1;s:4:"-196";i:2;s:3:"215";i:3;s:3:"722";}}s:12:"bracketright";a:4:{s:1:"C";s:2:"93";s:2:"WX";s:3:"278";s:1:"N";s:12:"bracketright";s:1:"B";a:4:{i:0;s:2:"28";i:1;s:4:"-196";i:2;s:3:"215";i:3;s:3:"722";}}i:94;a:4:{s:1:"C";s:2:"94";s:2:"WX";s:3:"469";s:1:"N";s:11:"asciicircum";s:1:"B";a:4:{i:0;s:3:"-14";i:1;s:3:"264";i:2;s:3:"483";i:3;s:3:"688";}}s:11:"asciicircum";a:4:{s:1:"C";s:2:"94";s:2:"WX";s:3:"469";s:1:"N";s:11:"asciicircum";s:1:"B";a:4:{i:0;s:3:"-14";i:1;s:3:"264";i:2;s:3:"483";i:3;s:3:"688";}}i:95;a:4:{s:1:"C";s:2:"95";s:2:"WX";s:3:"556";s:1:"N";s:10:"underscore";s:1:"B";a:4:{i:0;s:1:"0";i:1;s:4:"-125";i:2;s:3:"556";i:3;s:3:"-75";}}s:10:"underscore";a:4:{s:1:"C";s:2:"95";s:2:"WX";s:3:"556";s:1:"N";s:10:"underscore";s:1:"B";a:4:{i:0;s:1:"0";i:1;s:4:"-125";i:2;s:3:"556";i:3;s:3:"-75";}}i:96;a:4:{s:1:"C";s:2:"96";s:2:"WX";s:3:"222";s:1:"N";s:9:"quoteleft";s:1:"B";a:4:{i:0;s:2:"65";i:1;s:3:"470";i:2;s:3:"169";i:3;s:3:"725";}}s:9:"quoteleft";a:4:{s:1:"C";s:2:"96";s:2:"WX";s:3:"222";s:1:"N";s:9:"quoteleft";s:1:"B";a:4:{i:0;s:2:"65";i:1;s:3:"470";i:2;s:3:"169";i:3;s:3:"725";}}i:97;a:4:{s:1:"C";s:2:"97";s:2:"WX";s:3:"556";s:1:"N";s:1:"a";s:1:"B";a:4:{i:0;s:2:"36";i:1;s:3:"-15";i:2;s:3:"530";i:3;s:3:"538";}}s:1:"a";a:4:{s:1:"C";s:2:"97";s:2:"WX";s:3:"556";s:1:"N";s:1:"a";s:1:"B";a:4:{i:0;s:2:"36";i:1;s:3:"-15";i:2;s:3:"530";i:3;s:3:"538";}}i:98;a:4:{s:1:"C";s:2:"98";s:2:"WX";s:3:"556";s:1:"N";s:1:"b";s:1:"B";a:4:{i:0;s:2:"58";i:1;s:3:"-15";i:2;s:3:"517";i:3;s:3:"718";}}s:1:"b";a:4:{s:1:"C";s:2:"98";s:2:"WX";s:3:"556";s:1:"N";s:1:"b";s:1:"B";a:4:{i:0;s:2:"58";i:1;s:3:"-15";i:2;s:3:"517";i:3;s:3:"718";}}i:99;a:4:{s:1:"C";s:2:"99";s:2:"WX";s:3:"500";s:1:"N";s:1:"c";s:1:"B";a:4:{i:0;s:2:"30";i:1;s:3:"-15";i:2;s:3:"477";i:3;s:3:"538";}}s:1:"c";a:4:{s:1:"C";s:2:"99";s:2:"WX";s:3:"500";s:1:"N";s:1:"c";s:1:"B";a:4:{i:0;s:2:"30";i:1;s:3:"-15";i:2;s:3:"477";i:3;s:3:"538";}}i:100;a:4:{s:1:"C";s:3:"100";s:2:"WX";s:3:"556";s:1:"N";s:1:"d";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:3:"-15";i:2;s:3:"499";i:3;s:3:"718";}}s:1:"d";a:4:{s:1:"C";s:3:"100";s:2:"WX";s:3:"556";s:1:"N";s:1:"d";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:3:"-15";i:2;s:3:"499";i:3;s:3:"718";}}i:101;a:4:{s:1:"C";s:3:"101";s:2:"WX";s:3:"556";s:1:"N";s:1:"e";s:1:"B";a:4:{i:0;s:2:"40";i:1;s:3:"-15";i:2;s:3:"516";i:3;s:3:"538";}}s:1:"e";a:4:{s:1:"C";s:3:"101";s:2:"WX";s:3:"556";s:1:"N";s:1:"e";s:1:"B";a:4:{i:0;s:2:"40";i:1;s:3:"-15";i:2;s:3:"516";i:3;s:3:"538";}}i:102;a:5:{s:1:"C";s:3:"102";s:2:"WX";s:3:"278";s:1:"N";s:1:"f";s:1:"B";a:4:{i:0;s:2:"14";i:1;s:1:"0";i:2;s:3:"262";i:3;s:3:"728";}s:1:"L";a:2:{i:0;s:1:"l";i:1;s:2:"fl";}}s:1:"f";a:5:{s:1:"C";s:3:"102";s:2:"WX";s:3:"278";s:1:"N";s:1:"f";s:1:"B";a:4:{i:0;s:2:"14";i:1;s:1:"0";i:2;s:3:"262";i:3;s:3:"728";}s:1:"L";a:2:{i:0;s:1:"l";i:1;s:2:"fl";}}i:103;a:4:{s:1:"C";s:3:"103";s:2:"WX";s:3:"556";s:1:"N";s:1:"g";s:1:"B";a:4:{i:0;s:2:"40";i:1;s:4:"-220";i:2;s:3:"499";i:3;s:3:"538";}}s:1:"g";a:4:{s:1:"C";s:3:"103";s:2:"WX";s:3:"556";s:1:"N";s:1:"g";s:1:"B";a:4:{i:0;s:2:"40";i:1;s:4:"-220";i:2;s:3:"499";i:3;s:3:"538";}}i:104;a:4:{s:1:"C";s:3:"104";s:2:"WX";s:3:"556";s:1:"N";s:1:"h";s:1:"B";a:4:{i:0;s:2:"65";i:1;s:1:"0";i:2;s:3:"491";i:3;s:3:"718";}}s:1:"h";a:4:{s:1:"C";s:3:"104";s:2:"WX";s:3:"556";s:1:"N";s:1:"h";s:1:"B";a:4:{i:0;s:2:"65";i:1;s:1:"0";i:2;s:3:"491";i:3;s:3:"718";}}i:105;a:4:{s:1:"C";s:3:"105";s:2:"WX";s:3:"222";s:1:"N";s:1:"i";s:1:"B";a:4:{i:0;s:2:"67";i:1;s:1:"0";i:2;s:3:"155";i:3;s:3:"718";}}s:1:"i";a:4:{s:1:"C";s:3:"105";s:2:"WX";s:3:"222";s:1:"N";s:1:"i";s:1:"B";a:4:{i:0;s:2:"67";i:1;s:1:"0";i:2;s:3:"155";i:3;s:3:"718";}}i:106;a:4:{s:1:"C";s:3:"106";s:2:"WX";s:3:"222";s:1:"N";s:1:"j";s:1:"B";a:4:{i:0;s:3:"-16";i:1;s:4:"-210";i:2;s:3:"155";i:3;s:3:"718";}}s:1:"j";a:4:{s:1:"C";s:3:"106";s:2:"WX";s:3:"222";s:1:"N";s:1:"j";s:1:"B";a:4:{i:0;s:3:"-16";i:1;s:4:"-210";i:2;s:3:"155";i:3;s:3:"718";}}i:107;a:4:{s:1:"C";s:3:"107";s:2:"WX";s:3:"500";s:1:"N";s:1:"k";s:1:"B";a:4:{i:0;s:2:"67";i:1;s:1:"0";i:2;s:3:"501";i:3;s:3:"718";}}s:1:"k";a:4:{s:1:"C";s:3:"107";s:2:"WX";s:3:"500";s:1:"N";s:1:"k";s:1:"B";a:4:{i:0;s:2:"67";i:1;s:1:"0";i:2;s:3:"501";i:3;s:3:"718";}}i:108;a:4:{s:1:"C";s:3:"108";s:2:"WX";s:3:"222";s:1:"N";s:1:"l";s:1:"B";a:4:{i:0;s:2:"67";i:1;s:1:"0";i:2;s:3:"155";i:3;s:3:"718";}}s:1:"l";a:4:{s:1:"C";s:3:"108";s:2:"WX";s:3:"222";s:1:"N";s:1:"l";s:1:"B";a:4:{i:0;s:2:"67";i:1;s:1:"0";i:2;s:3:"155";i:3;s:3:"718";}}i:109;a:4:{s:1:"C";s:3:"109";s:2:"WX";s:3:"833";s:1:"N";s:1:"m";s:1:"B";a:4:{i:0;s:2:"65";i:1;s:1:"0";i:2;s:3:"769";i:3;s:3:"538";}}s:1:"m";a:4:{s:1:"C";s:3:"109";s:2:"WX";s:3:"833";s:1:"N";s:1:"m";s:1:"B";a:4:{i:0;s:2:"65";i:1;s:1:"0";i:2;s:3:"769";i:3;s:3:"538";}}i:110;a:4:{s:1:"C";s:3:"110";s:2:"WX";s:3:"556";s:1:"N";s:1:"n";s:1:"B";a:4:{i:0;s:2:"65";i:1;s:1:"0";i:2;s:3:"491";i:3;s:3:"538";}}s:1:"n";a:4:{s:1:"C";s:3:"110";s:2:"WX";s:3:"556";s:1:"N";s:1:"n";s:1:"B";a:4:{i:0;s:2:"65";i:1;s:1:"0";i:2;s:3:"491";i:3;s:3:"538";}}i:111;a:4:{s:1:"C";s:3:"111";s:2:"WX";s:3:"556";s:1:"N";s:1:"o";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:3:"-14";i:2;s:3:"521";i:3;s:3:"538";}}s:1:"o";a:4:{s:1:"C";s:3:"111";s:2:"WX";s:3:"556";s:1:"N";s:1:"o";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:3:"-14";i:2;s:3:"521";i:3;s:3:"538";}}i:112;a:4:{s:1:"C";s:3:"112";s:2:"WX";s:3:"556";s:1:"N";s:1:"p";s:1:"B";a:4:{i:0;s:2:"58";i:1;s:4:"-207";i:2;s:3:"517";i:3;s:3:"538";}}s:1:"p";a:4:{s:1:"C";s:3:"112";s:2:"WX";s:3:"556";s:1:"N";s:1:"p";s:1:"B";a:4:{i:0;s:2:"58";i:1;s:4:"-207";i:2;s:3:"517";i:3;s:3:"538";}}i:113;a:4:{s:1:"C";s:3:"113";s:2:"WX";s:3:"556";s:1:"N";s:1:"q";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:4:"-207";i:2;s:3:"494";i:3;s:3:"538";}}s:1:"q";a:4:{s:1:"C";s:3:"113";s:2:"WX";s:3:"556";s:1:"N";s:1:"q";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:4:"-207";i:2;s:3:"494";i:3;s:3:"538";}}i:114;a:4:{s:1:"C";s:3:"114";s:2:"WX";s:3:"333";s:1:"N";s:1:"r";s:1:"B";a:4:{i:0;s:2:"77";i:1;s:1:"0";i:2;s:3:"332";i:3;s:3:"538";}}s:1:"r";a:4:{s:1:"C";s:3:"114";s:2:"WX";s:3:"333";s:1:"N";s:1:"r";s:1:"B";a:4:{i:0;s:2:"77";i:1;s:1:"0";i:2;s:3:"332";i:3;s:3:"538";}}i:115;a:4:{s:1:"C";s:3:"115";s:2:"WX";s:3:"500";s:1:"N";s:1:"s";s:1:"B";a:4:{i:0;s:2:"32";i:1;s:3:"-15";i:2;s:3:"464";i:3;s:3:"538";}}s:1:"s";a:4:{s:1:"C";s:3:"115";s:2:"WX";s:3:"500";s:1:"N";s:1:"s";s:1:"B";a:4:{i:0;s:2:"32";i:1;s:3:"-15";i:2;s:3:"464";i:3;s:3:"538";}}i:116;a:4:{s:1:"C";s:3:"116";s:2:"WX";s:3:"278";s:1:"N";s:1:"t";s:1:"B";a:4:{i:0;s:2:"14";i:1;s:2:"-7";i:2;s:3:"257";i:3;s:3:"669";}}s:1:"t";a:4:{s:1:"C";s:3:"116";s:2:"WX";s:3:"278";s:1:"N";s:1:"t";s:1:"B";a:4:{i:0;s:2:"14";i:1;s:2:"-7";i:2;s:3:"257";i:3;s:3:"669";}}i:117;a:4:{s:1:"C";s:3:"117";s:2:"WX";s:3:"556";s:1:"N";s:1:"u";s:1:"B";a:4:{i:0;s:2:"68";i:1;s:3:"-15";i:2;s:3:"489";i:3;s:3:"523";}}s:1:"u";a:4:{s:1:"C";s:3:"117";s:2:"WX";s:3:"556";s:1:"N";s:1:"u";s:1:"B";a:4:{i:0;s:2:"68";i:1;s:3:"-15";i:2;s:3:"489";i:3;s:3:"523";}}i:118;a:4:{s:1:"C";s:3:"118";s:2:"WX";s:3:"500";s:1:"N";s:1:"v";s:1:"B";a:4:{i:0;s:1:"8";i:1;s:1:"0";i:2;s:3:"492";i:3;s:3:"523";}}s:1:"v";a:4:{s:1:"C";s:3:"118";s:2:"WX";s:3:"500";s:1:"N";s:1:"v";s:1:"B";a:4:{i:0;s:1:"8";i:1;s:1:"0";i:2;s:3:"492";i:3;s:3:"523";}}i:119;a:4:{s:1:"C";s:3:"119";s:2:"WX";s:3:"722";s:1:"N";s:1:"w";s:1:"B";a:4:{i:0;s:2:"14";i:1;s:1:"0";i:2;s:3:"709";i:3;s:3:"523";}}s:1:"w";a:4:{s:1:"C";s:3:"119";s:2:"WX";s:3:"722";s:1:"N";s:1:"w";s:1:"B";a:4:{i:0;s:2:"14";i:1;s:1:"0";i:2;s:3:"709";i:3;s:3:"523";}}i:120;a:4:{s:1:"C";s:3:"120";s:2:"WX";s:3:"500";s:1:"N";s:1:"x";s:1:"B";a:4:{i:0;s:2:"11";i:1;s:1:"0";i:2;s:3:"490";i:3;s:3:"523";}}s:1:"x";a:4:{s:1:"C";s:3:"120";s:2:"WX";s:3:"500";s:1:"N";s:1:"x";s:1:"B";a:4:{i:0;s:2:"11";i:1;s:1:"0";i:2;s:3:"490";i:3;s:3:"523";}}i:121;a:4:{s:1:"C";s:3:"121";s:2:"WX";s:3:"500";s:1:"N";s:1:"y";s:1:"B";a:4:{i:0;s:2:"11";i:1;s:4:"-214";i:2;s:3:"489";i:3;s:3:"523";}}s:1:"y";a:4:{s:1:"C";s:3:"121";s:2:"WX";s:3:"500";s:1:"N";s:1:"y";s:1:"B";a:4:{i:0;s:2:"11";i:1;s:4:"-214";i:2;s:3:"489";i:3;s:3:"523";}}i:122;a:4:{s:1:"C";s:3:"122";s:2:"WX";s:3:"500";s:1:"N";s:1:"z";s:1:"B";a:4:{i:0;s:2:"31";i:1;s:1:"0";i:2;s:3:"469";i:3;s:3:"523";}}s:1:"z";a:4:{s:1:"C";s:3:"122";s:2:"WX";s:3:"500";s:1:"N";s:1:"z";s:1:"B";a:4:{i:0;s:2:"31";i:1;s:1:"0";i:2;s:3:"469";i:3;s:3:"523";}}i:123;a:4:{s:1:"C";s:3:"123";s:2:"WX";s:3:"334";s:1:"N";s:9:"braceleft";s:1:"B";a:4:{i:0;s:2:"42";i:1;s:4:"-196";i:2;s:3:"292";i:3;s:3:"722";}}s:9:"braceleft";a:4:{s:1:"C";s:3:"123";s:2:"WX";s:3:"334";s:1:"N";s:9:"braceleft";s:1:"B";a:4:{i:0;s:2:"42";i:1;s:4:"-196";i:2;s:3:"292";i:3;s:3:"722";}}i:124;a:4:{s:1:"C";s:3:"124";s:2:"WX";s:3:"260";s:1:"N";s:3:"bar";s:1:"B";a:4:{i:0;s:2:"94";i:1;s:4:"-225";i:2;s:3:"167";i:3;s:3:"775";}}s:3:"bar";a:4:{s:1:"C";s:3:"124";s:2:"WX";s:3:"260";s:1:"N";s:3:"bar";s:1:"B";a:4:{i:0;s:2:"94";i:1;s:4:"-225";i:2;s:3:"167";i:3;s:3:"775";}}i:125;a:4:{s:1:"C";s:3:"125";s:2:"WX";s:3:"334";s:1:"N";s:10:"braceright";s:1:"B";a:4:{i:0;s:2:"42";i:1;s:4:"-196";i:2;s:3:"292";i:3;s:3:"722";}}s:10:"braceright";a:4:{s:1:"C";s:3:"125";s:2:"WX";s:3:"334";s:1:"N";s:10:"braceright";s:1:"B";a:4:{i:0;s:2:"42";i:1;s:4:"-196";i:2;s:3:"292";i:3;s:3:"722";}}i:126;a:4:{s:1:"C";s:3:"126";s:2:"WX";s:3:"584";s:1:"N";s:10:"asciitilde";s:1:"B";a:4:{i:0;s:2:"61";i:1;s:3:"180";i:2;s:3:"523";i:3;s:3:"326";}}s:10:"asciitilde";a:4:{s:1:"C";s:3:"126";s:2:"WX";s:3:"584";s:1:"N";s:10:"asciitilde";s:1:"B";a:4:{i:0;s:2:"61";i:1;s:3:"180";i:2;s:3:"523";i:3;s:3:"326";}}i:161;a:4:{s:1:"C";s:3:"161";s:2:"WX";s:3:"333";s:1:"N";s:10:"exclamdown";s:1:"B";a:4:{i:0;s:3:"118";i:1;s:4:"-195";i:2;s:3:"215";i:3;s:3:"523";}}s:10:"exclamdown";a:4:{s:1:"C";s:3:"161";s:2:"WX";s:3:"333";s:1:"N";s:10:"exclamdown";s:1:"B";a:4:{i:0;s:3:"118";i:1;s:4:"-195";i:2;s:3:"215";i:3;s:3:"523";}}i:162;a:4:{s:1:"C";s:3:"162";s:2:"WX";s:3:"556";s:1:"N";s:4:"cent";s:1:"B";a:4:{i:0;s:2:"51";i:1;s:4:"-115";i:2;s:3:"513";i:3;s:3:"623";}}s:4:"cent";a:4:{s:1:"C";s:3:"162";s:2:"WX";s:3:"556";s:1:"N";s:4:"cent";s:1:"B";a:4:{i:0;s:2:"51";i:1;s:4:"-115";i:2;s:3:"513";i:3;s:3:"623";}}i:163;a:4:{s:1:"C";s:3:"163";s:2:"WX";s:3:"556";s:1:"N";s:8:"sterling";s:1:"B";a:4:{i:0;s:2:"33";i:1;s:3:"-16";i:2;s:3:"539";i:3;s:3:"718";}}s:8:"sterling";a:4:{s:1:"C";s:3:"163";s:2:"WX";s:3:"556";s:1:"N";s:8:"sterling";s:1:"B";a:4:{i:0;s:2:"33";i:1;s:3:"-16";i:2;s:3:"539";i:3;s:3:"718";}}i:164;a:4:{s:1:"C";s:3:"164";s:2:"WX";s:3:"167";s:1:"N";s:8:"fraction";s:1:"B";a:4:{i:0;s:4:"-166";i:1;s:3:"-19";i:2;s:3:"333";i:3;s:3:"703";}}s:8:"fraction";a:4:{s:1:"C";s:3:"164";s:2:"WX";s:3:"167";s:1:"N";s:8:"fraction";s:1:"B";a:4:{i:0;s:4:"-166";i:1;s:3:"-19";i:2;s:3:"333";i:3;s:3:"703";}}i:165;a:4:{s:1:"C";s:3:"165";s:2:"WX";s:3:"556";s:1:"N";s:3:"yen";s:1:"B";a:4:{i:0;s:1:"3";i:1;s:1:"0";i:2;s:3:"553";i:3;s:3:"688";}}s:3:"yen";a:4:{s:1:"C";s:3:"165";s:2:"WX";s:3:"556";s:1:"N";s:3:"yen";s:1:"B";a:4:{i:0;s:1:"3";i:1;s:1:"0";i:2;s:3:"553";i:3;s:3:"688";}}i:166;a:4:{s:1:"C";s:3:"166";s:2:"WX";s:3:"556";s:1:"N";s:6:"florin";s:1:"B";a:4:{i:0;s:3:"-11";i:1;s:4:"-207";i:2;s:3:"501";i:3;s:3:"737";}}s:6:"florin";a:4:{s:1:"C";s:3:"166";s:2:"WX";s:3:"556";s:1:"N";s:6:"florin";s:1:"B";a:4:{i:0;s:3:"-11";i:1;s:4:"-207";i:2;s:3:"501";i:3;s:3:"737";}}i:167;a:4:{s:1:"C";s:3:"167";s:2:"WX";s:3:"556";s:1:"N";s:7:"section";s:1:"B";a:4:{i:0;s:2:"43";i:1;s:4:"-191";i:2;s:3:"512";i:3;s:3:"737";}}s:7:"section";a:4:{s:1:"C";s:3:"167";s:2:"WX";s:3:"556";s:1:"N";s:7:"section";s:1:"B";a:4:{i:0;s:2:"43";i:1;s:4:"-191";i:2;s:3:"512";i:3;s:3:"737";}}i:168;a:4:{s:1:"C";s:3:"168";s:2:"WX";s:3:"556";s:1:"N";s:8:"currency";s:1:"B";a:4:{i:0;s:2:"28";i:1;s:2:"99";i:2;s:3:"528";i:3;s:3:"603";}}s:8:"currency";a:4:{s:1:"C";s:3:"168";s:2:"WX";s:3:"556";s:1:"N";s:8:"currency";s:1:"B";a:4:{i:0;s:2:"28";i:1;s:2:"99";i:2;s:3:"528";i:3;s:3:"603";}}i:169;a:4:{s:1:"C";s:3:"169";s:2:"WX";s:3:"191";s:1:"N";s:11:"quotesingle";s:1:"B";a:4:{i:0;s:2:"59";i:1;s:3:"463";i:2;s:3:"132";i:3;s:3:"718";}}s:11:"quotesingle";a:4:{s:1:"C";s:3:"169";s:2:"WX";s:3:"191";s:1:"N";s:11:"quotesingle";s:1:"B";a:4:{i:0;s:2:"59";i:1;s:3:"463";i:2;s:3:"132";i:3;s:3:"718";}}i:170;a:4:{s:1:"C";s:3:"170";s:2:"WX";s:3:"333";s:1:"N";s:12:"quotedblleft";s:1:"B";a:4:{i:0;s:2:"38";i:1;s:3:"470";i:2;s:3:"307";i:3;s:3:"725";}}s:12:"quotedblleft";a:4:{s:1:"C";s:3:"170";s:2:"WX";s:3:"333";s:1:"N";s:12:"quotedblleft";s:1:"B";a:4:{i:0;s:2:"38";i:1;s:3:"470";i:2;s:3:"307";i:3;s:3:"725";}}i:171;a:4:{s:1:"C";s:3:"171";s:2:"WX";s:3:"556";s:1:"N";s:13:"guillemotleft";s:1:"B";a:4:{i:0;s:2:"97";i:1;s:3:"108";i:2;s:3:"459";i:3;s:3:"446";}}s:13:"guillemotleft";a:4:{s:1:"C";s:3:"171";s:2:"WX";s:3:"556";s:1:"N";s:13:"guillemotleft";s:1:"B";a:4:{i:0;s:2:"97";i:1;s:3:"108";i:2;s:3:"459";i:3;s:3:"446";}}i:172;a:4:{s:1:"C";s:3:"172";s:2:"WX";s:3:"333";s:1:"N";s:13:"guilsinglleft";s:1:"B";a:4:{i:0;s:2:"88";i:1;s:3:"108";i:2;s:3:"245";i:3;s:3:"446";}}s:13:"guilsinglleft";a:4:{s:1:"C";s:3:"172";s:2:"WX";s:3:"333";s:1:"N";s:13:"guilsinglleft";s:1:"B";a:4:{i:0;s:2:"88";i:1;s:3:"108";i:2;s:3:"245";i:3;s:3:"446";}}i:173;a:4:{s:1:"C";s:3:"173";s:2:"WX";s:3:"333";s:1:"N";s:14:"guilsinglright";s:1:"B";a:4:{i:0;s:2:"88";i:1;s:3:"108";i:2;s:3:"245";i:3;s:3:"446";}}s:14:"guilsinglright";a:4:{s:1:"C";s:3:"173";s:2:"WX";s:3:"333";s:1:"N";s:14:"guilsinglright";s:1:"B";a:4:{i:0;s:2:"88";i:1;s:3:"108";i:2;s:3:"245";i:3;s:3:"446";}}i:174;a:4:{s:1:"C";s:3:"174";s:2:"WX";s:3:"500";s:1:"N";s:2:"fi";s:1:"B";a:4:{i:0;s:2:"14";i:1;s:1:"0";i:2;s:3:"434";i:3;s:3:"728";}}s:2:"fi";a:4:{s:1:"C";s:3:"174";s:2:"WX";s:3:"500";s:1:"N";s:2:"fi";s:1:"B";a:4:{i:0;s:2:"14";i:1;s:1:"0";i:2;s:3:"434";i:3;s:3:"728";}}i:175;a:4:{s:1:"C";s:3:"175";s:2:"WX";s:3:"500";s:1:"N";s:2:"fl";s:1:"B";a:4:{i:0;s:2:"14";i:1;s:1:"0";i:2;s:3:"432";i:3;s:3:"728";}}s:2:"fl";a:4:{s:1:"C";s:3:"175";s:2:"WX";s:3:"500";s:1:"N";s:2:"fl";s:1:"B";a:4:{i:0;s:2:"14";i:1;s:1:"0";i:2;s:3:"432";i:3;s:3:"728";}}i:177;a:4:{s:1:"C";s:3:"177";s:2:"WX";s:3:"556";s:1:"N";s:6:"endash";s:1:"B";a:4:{i:0;s:1:"0";i:1;s:3:"240";i:2;s:3:"556";i:3;s:3:"313";}}s:6:"endash";a:4:{s:1:"C";s:3:"177";s:2:"WX";s:3:"556";s:1:"N";s:6:"endash";s:1:"B";a:4:{i:0;s:1:"0";i:1;s:3:"240";i:2;s:3:"556";i:3;s:3:"313";}}i:178;a:4:{s:1:"C";s:3:"178";s:2:"WX";s:3:"556";s:1:"N";s:6:"dagger";s:1:"B";a:4:{i:0;s:2:"43";i:1;s:4:"-159";i:2;s:3:"514";i:3;s:3:"718";}}s:6:"dagger";a:4:{s:1:"C";s:3:"178";s:2:"WX";s:3:"556";s:1:"N";s:6:"dagger";s:1:"B";a:4:{i:0;s:2:"43";i:1;s:4:"-159";i:2;s:3:"514";i:3;s:3:"718";}}i:179;a:4:{s:1:"C";s:3:"179";s:2:"WX";s:3:"556";s:1:"N";s:9:"daggerdbl";s:1:"B";a:4:{i:0;s:2:"43";i:1;s:4:"-159";i:2;s:3:"514";i:3;s:3:"718";}}s:9:"daggerdbl";a:4:{s:1:"C";s:3:"179";s:2:"WX";s:3:"556";s:1:"N";s:9:"daggerdbl";s:1:"B";a:4:{i:0;s:2:"43";i:1;s:4:"-159";i:2;s:3:"514";i:3;s:3:"718";}}i:180;a:4:{s:1:"C";s:3:"180";s:2:"WX";s:3:"278";s:1:"N";s:14:"periodcentered";s:1:"B";a:4:{i:0;s:2:"77";i:1;s:3:"190";i:2;s:3:"202";i:3;s:3:"315";}}s:14:"periodcentered";a:4:{s:1:"C";s:3:"180";s:2:"WX";s:3:"278";s:1:"N";s:14:"periodcentered";s:1:"B";a:4:{i:0;s:2:"77";i:1;s:3:"190";i:2;s:3:"202";i:3;s:3:"315";}}i:182;a:4:{s:1:"C";s:3:"182";s:2:"WX";s:3:"537";s:1:"N";s:9:"paragraph";s:1:"B";a:4:{i:0;s:2:"18";i:1;s:4:"-173";i:2;s:3:"497";i:3;s:3:"718";}}s:9:"paragraph";a:4:{s:1:"C";s:3:"182";s:2:"WX";s:3:"537";s:1:"N";s:9:"paragraph";s:1:"B";a:4:{i:0;s:2:"18";i:1;s:4:"-173";i:2;s:3:"497";i:3;s:3:"718";}}i:183;a:4:{s:1:"C";s:3:"183";s:2:"WX";s:3:"350";s:1:"N";s:6:"bullet";s:1:"B";a:4:{i:0;s:2:"18";i:1;s:3:"202";i:2;s:3:"333";i:3;s:3:"517";}}s:6:"bullet";a:4:{s:1:"C";s:3:"183";s:2:"WX";s:3:"350";s:1:"N";s:6:"bullet";s:1:"B";a:4:{i:0;s:2:"18";i:1;s:3:"202";i:2;s:3:"333";i:3;s:3:"517";}}i:184;a:4:{s:1:"C";s:3:"184";s:2:"WX";s:3:"222";s:1:"N";s:14:"quotesinglbase";s:1:"B";a:4:{i:0;s:2:"53";i:1;s:4:"-149";i:2;s:3:"157";i:3;s:3:"106";}}s:14:"quotesinglbase";a:4:{s:1:"C";s:3:"184";s:2:"WX";s:3:"222";s:1:"N";s:14:"quotesinglbase";s:1:"B";a:4:{i:0;s:2:"53";i:1;s:4:"-149";i:2;s:3:"157";i:3;s:3:"106";}}i:185;a:4:{s:1:"C";s:3:"185";s:2:"WX";s:3:"333";s:1:"N";s:12:"quotedblbase";s:1:"B";a:4:{i:0;s:2:"26";i:1;s:4:"-149";i:2;s:3:"295";i:3;s:3:"106";}}s:12:"quotedblbase";a:4:{s:1:"C";s:3:"185";s:2:"WX";s:3:"333";s:1:"N";s:12:"quotedblbase";s:1:"B";a:4:{i:0;s:2:"26";i:1;s:4:"-149";i:2;s:3:"295";i:3;s:3:"106";}}i:186;a:4:{s:1:"C";s:3:"186";s:2:"WX";s:3:"333";s:1:"N";s:13:"quotedblright";s:1:"B";a:4:{i:0;s:2:"26";i:1;s:3:"463";i:2;s:3:"295";i:3;s:3:"718";}}s:13:"quotedblright";a:4:{s:1:"C";s:3:"186";s:2:"WX";s:3:"333";s:1:"N";s:13:"quotedblright";s:1:"B";a:4:{i:0;s:2:"26";i:1;s:3:"463";i:2;s:3:"295";i:3;s:3:"718";}}i:187;a:4:{s:1:"C";s:3:"187";s:2:"WX";s:3:"556";s:1:"N";s:14:"guillemotright";s:1:"B";a:4:{i:0;s:2:"97";i:1;s:3:"108";i:2;s:3:"459";i:3;s:3:"446";}}s:14:"guillemotright";a:4:{s:1:"C";s:3:"187";s:2:"WX";s:3:"556";s:1:"N";s:14:"guillemotright";s:1:"B";a:4:{i:0;s:2:"97";i:1;s:3:"108";i:2;s:3:"459";i:3;s:3:"446";}}i:188;a:4:{s:1:"C";s:3:"188";s:2:"WX";s:4:"1000";s:1:"N";s:8:"ellipsis";s:1:"B";a:4:{i:0;s:3:"115";i:1;s:1:"0";i:2;s:3:"885";i:3;s:3:"106";}}s:8:"ellipsis";a:4:{s:1:"C";s:3:"188";s:2:"WX";s:4:"1000";s:1:"N";s:8:"ellipsis";s:1:"B";a:4:{i:0;s:3:"115";i:1;s:1:"0";i:2;s:3:"885";i:3;s:3:"106";}}i:189;a:4:{s:1:"C";s:3:"189";s:2:"WX";s:4:"1000";s:1:"N";s:11:"perthousand";s:1:"B";a:4:{i:0;s:1:"7";i:1;s:3:"-19";i:2;s:3:"994";i:3;s:3:"703";}}s:11:"perthousand";a:4:{s:1:"C";s:3:"189";s:2:"WX";s:4:"1000";s:1:"N";s:11:"perthousand";s:1:"B";a:4:{i:0;s:1:"7";i:1;s:3:"-19";i:2;s:3:"994";i:3;s:3:"703";}}i:191;a:4:{s:1:"C";s:3:"191";s:2:"WX";s:3:"611";s:1:"N";s:12:"questiondown";s:1:"B";a:4:{i:0;s:2:"91";i:1;s:4:"-201";i:2;s:3:"527";i:3;s:3:"525";}}s:12:"questiondown";a:4:{s:1:"C";s:3:"191";s:2:"WX";s:3:"611";s:1:"N";s:12:"questiondown";s:1:"B";a:4:{i:0;s:2:"91";i:1;s:4:"-201";i:2;s:3:"527";i:3;s:3:"525";}}i:193;a:4:{s:1:"C";s:3:"193";s:2:"WX";s:3:"333";s:1:"N";s:5:"grave";s:1:"B";a:4:{i:0;s:2:"14";i:1;s:3:"593";i:2;s:3:"211";i:3;s:3:"734";}}s:5:"grave";a:4:{s:1:"C";s:3:"193";s:2:"WX";s:3:"333";s:1:"N";s:5:"grave";s:1:"B";a:4:{i:0;s:2:"14";i:1;s:3:"593";i:2;s:3:"211";i:3;s:3:"734";}}i:194;a:4:{s:1:"C";s:3:"194";s:2:"WX";s:3:"333";s:1:"N";s:5:"acute";s:1:"B";a:4:{i:0;s:3:"122";i:1;s:3:"593";i:2;s:3:"319";i:3;s:3:"734";}}s:5:"acute";a:4:{s:1:"C";s:3:"194";s:2:"WX";s:3:"333";s:1:"N";s:5:"acute";s:1:"B";a:4:{i:0;s:3:"122";i:1;s:3:"593";i:2;s:3:"319";i:3;s:3:"734";}}i:195;a:4:{s:1:"C";s:3:"195";s:2:"WX";s:3:"333";s:1:"N";s:10:"circumflex";s:1:"B";a:4:{i:0;s:2:"21";i:1;s:3:"593";i:2;s:3:"312";i:3;s:3:"734";}}s:10:"circumflex";a:4:{s:1:"C";s:3:"195";s:2:"WX";s:3:"333";s:1:"N";s:10:"circumflex";s:1:"B";a:4:{i:0;s:2:"21";i:1;s:3:"593";i:2;s:3:"312";i:3;s:3:"734";}}i:196;a:4:{s:1:"C";s:3:"196";s:2:"WX";s:3:"333";s:1:"N";s:5:"tilde";s:1:"B";a:4:{i:0;s:2:"-4";i:1;s:3:"606";i:2;s:3:"337";i:3;s:3:"722";}}s:5:"tilde";a:4:{s:1:"C";s:3:"196";s:2:"WX";s:3:"333";s:1:"N";s:5:"tilde";s:1:"B";a:4:{i:0;s:2:"-4";i:1;s:3:"606";i:2;s:3:"337";i:3;s:3:"722";}}i:197;a:4:{s:1:"C";s:3:"197";s:2:"WX";s:3:"333";s:1:"N";s:6:"macron";s:1:"B";a:4:{i:0;s:2:"10";i:1;s:3:"627";i:2;s:3:"323";i:3;s:3:"684";}}s:6:"macron";a:4:{s:1:"C";s:3:"197";s:2:"WX";s:3:"333";s:1:"N";s:6:"macron";s:1:"B";a:4:{i:0;s:2:"10";i:1;s:3:"627";i:2;s:3:"323";i:3;s:3:"684";}}i:198;a:4:{s:1:"C";s:3:"198";s:2:"WX";s:3:"333";s:1:"N";s:5:"breve";s:1:"B";a:4:{i:0;s:2:"13";i:1;s:3:"595";i:2;s:3:"321";i:3;s:3:"731";}}s:5:"breve";a:4:{s:1:"C";s:3:"198";s:2:"WX";s:3:"333";s:1:"N";s:5:"breve";s:1:"B";a:4:{i:0;s:2:"13";i:1;s:3:"595";i:2;s:3:"321";i:3;s:3:"731";}}i:199;a:4:{s:1:"C";s:3:"199";s:2:"WX";s:3:"333";s:1:"N";s:9:"dotaccent";s:1:"B";a:4:{i:0;s:3:"121";i:1;s:3:"604";i:2;s:3:"212";i:3;s:3:"706";}}s:9:"dotaccent";a:4:{s:1:"C";s:3:"199";s:2:"WX";s:3:"333";s:1:"N";s:9:"dotaccent";s:1:"B";a:4:{i:0;s:3:"121";i:1;s:3:"604";i:2;s:3:"212";i:3;s:3:"706";}}i:200;a:4:{s:1:"C";s:3:"200";s:2:"WX";s:3:"333";s:1:"N";s:8:"dieresis";s:1:"B";a:4:{i:0;s:2:"40";i:1;s:3:"604";i:2;s:3:"293";i:3;s:3:"706";}}s:8:"dieresis";a:4:{s:1:"C";s:3:"200";s:2:"WX";s:3:"333";s:1:"N";s:8:"dieresis";s:1:"B";a:4:{i:0;s:2:"40";i:1;s:3:"604";i:2;s:3:"293";i:3;s:3:"706";}}i:202;a:4:{s:1:"C";s:3:"202";s:2:"WX";s:3:"333";s:1:"N";s:4:"ring";s:1:"B";a:4:{i:0;s:2:"75";i:1;s:3:"572";i:2;s:3:"259";i:3;s:3:"756";}}s:4:"ring";a:4:{s:1:"C";s:3:"202";s:2:"WX";s:3:"333";s:1:"N";s:4:"ring";s:1:"B";a:4:{i:0;s:2:"75";i:1;s:3:"572";i:2;s:3:"259";i:3;s:3:"756";}}i:203;a:4:{s:1:"C";s:3:"203";s:2:"WX";s:3:"333";s:1:"N";s:7:"cedilla";s:1:"B";a:4:{i:0;s:2:"45";i:1;s:4:"-225";i:2;s:3:"259";i:3;s:1:"0";}}s:7:"cedilla";a:4:{s:1:"C";s:3:"203";s:2:"WX";s:3:"333";s:1:"N";s:7:"cedilla";s:1:"B";a:4:{i:0;s:2:"45";i:1;s:4:"-225";i:2;s:3:"259";i:3;s:1:"0";}}i:205;a:4:{s:1:"C";s:3:"205";s:2:"WX";s:3:"333";s:1:"N";s:12:"hungarumlaut";s:1:"B";a:4:{i:0;s:2:"31";i:1;s:3:"593";i:2;s:3:"409";i:3;s:3:"734";}}s:12:"hungarumlaut";a:4:{s:1:"C";s:3:"205";s:2:"WX";s:3:"333";s:1:"N";s:12:"hungarumlaut";s:1:"B";a:4:{i:0;s:2:"31";i:1;s:3:"593";i:2;s:3:"409";i:3;s:3:"734";}}i:206;a:4:{s:1:"C";s:3:"206";s:2:"WX";s:3:"333";s:1:"N";s:6:"ogonek";s:1:"B";a:4:{i:0;s:2:"73";i:1;s:4:"-225";i:2;s:3:"287";i:3;s:1:"0";}}s:6:"ogonek";a:4:{s:1:"C";s:3:"206";s:2:"WX";s:3:"333";s:1:"N";s:6:"ogonek";s:1:"B";a:4:{i:0;s:2:"73";i:1;s:4:"-225";i:2;s:3:"287";i:3;s:1:"0";}}i:207;a:4:{s:1:"C";s:3:"207";s:2:"WX";s:3:"333";s:1:"N";s:5:"caron";s:1:"B";a:4:{i:0;s:2:"21";i:1;s:3:"593";i:2;s:3:"312";i:3;s:3:"734";}}s:5:"caron";a:4:{s:1:"C";s:3:"207";s:2:"WX";s:3:"333";s:1:"N";s:5:"caron";s:1:"B";a:4:{i:0;s:2:"21";i:1;s:3:"593";i:2;s:3:"312";i:3;s:3:"734";}}i:208;a:4:{s:1:"C";s:3:"208";s:2:"WX";s:4:"1000";s:1:"N";s:6:"emdash";s:1:"B";a:4:{i:0;s:1:"0";i:1;s:3:"240";i:2;s:4:"1000";i:3;s:3:"313";}}s:6:"emdash";a:4:{s:1:"C";s:3:"208";s:2:"WX";s:4:"1000";s:1:"N";s:6:"emdash";s:1:"B";a:4:{i:0;s:1:"0";i:1;s:3:"240";i:2;s:4:"1000";i:3;s:3:"313";}}i:225;a:4:{s:1:"C";s:3:"225";s:2:"WX";s:4:"1000";s:1:"N";s:2:"AE";s:1:"B";a:4:{i:0;s:1:"8";i:1;s:1:"0";i:2;s:3:"951";i:3;s:3:"718";}}s:2:"AE";a:4:{s:1:"C";s:3:"225";s:2:"WX";s:4:"1000";s:1:"N";s:2:"AE";s:1:"B";a:4:{i:0;s:1:"8";i:1;s:1:"0";i:2;s:3:"951";i:3;s:3:"718";}}i:227;a:4:{s:1:"C";s:3:"227";s:2:"WX";s:3:"370";s:1:"N";s:11:"ordfeminine";s:1:"B";a:4:{i:0;s:2:"24";i:1;s:3:"405";i:2;s:3:"346";i:3;s:3:"737";}}s:11:"ordfeminine";a:4:{s:1:"C";s:3:"227";s:2:"WX";s:3:"370";s:1:"N";s:11:"ordfeminine";s:1:"B";a:4:{i:0;s:2:"24";i:1;s:3:"405";i:2;s:3:"346";i:3;s:3:"737";}}i:232;a:4:{s:1:"C";s:3:"232";s:2:"WX";s:3:"556";s:1:"N";s:6:"Lslash";s:1:"B";a:4:{i:0;s:3:"-20";i:1;s:1:"0";i:2;s:3:"537";i:3;s:3:"718";}}s:6:"Lslash";a:4:{s:1:"C";s:3:"232";s:2:"WX";s:3:"556";s:1:"N";s:6:"Lslash";s:1:"B";a:4:{i:0;s:3:"-20";i:1;s:1:"0";i:2;s:3:"537";i:3;s:3:"718";}}i:233;a:4:{s:1:"C";s:3:"233";s:2:"WX";s:3:"778";s:1:"N";s:6:"Oslash";s:1:"B";a:4:{i:0;s:2:"39";i:1;s:3:"-19";i:2;s:3:"740";i:3;s:3:"737";}}s:6:"Oslash";a:4:{s:1:"C";s:3:"233";s:2:"WX";s:3:"778";s:1:"N";s:6:"Oslash";s:1:"B";a:4:{i:0;s:2:"39";i:1;s:3:"-19";i:2;s:3:"740";i:3;s:3:"737";}}i:234;a:4:{s:1:"C";s:3:"234";s:2:"WX";s:4:"1000";s:1:"N";s:2:"OE";s:1:"B";a:4:{i:0;s:2:"36";i:1;s:3:"-19";i:2;s:3:"965";i:3;s:3:"737";}}s:2:"OE";a:4:{s:1:"C";s:3:"234";s:2:"WX";s:4:"1000";s:1:"N";s:2:"OE";s:1:"B";a:4:{i:0;s:2:"36";i:1;s:3:"-19";i:2;s:3:"965";i:3;s:3:"737";}}i:235;a:4:{s:1:"C";s:3:"235";s:2:"WX";s:3:"365";s:1:"N";s:12:"ordmasculine";s:1:"B";a:4:{i:0;s:2:"25";i:1;s:3:"405";i:2;s:3:"341";i:3;s:3:"737";}}s:12:"ordmasculine";a:4:{s:1:"C";s:3:"235";s:2:"WX";s:3:"365";s:1:"N";s:12:"ordmasculine";s:1:"B";a:4:{i:0;s:2:"25";i:1;s:3:"405";i:2;s:3:"341";i:3;s:3:"737";}}i:241;a:4:{s:1:"C";s:3:"241";s:2:"WX";s:3:"889";s:1:"N";s:2:"ae";s:1:"B";a:4:{i:0;s:2:"36";i:1;s:3:"-15";i:2;s:3:"847";i:3;s:3:"538";}}s:2:"ae";a:4:{s:1:"C";s:3:"241";s:2:"WX";s:3:"889";s:1:"N";s:2:"ae";s:1:"B";a:4:{i:0;s:2:"36";i:1;s:3:"-15";i:2;s:3:"847";i:3;s:3:"538";}}i:245;a:4:{s:1:"C";s:3:"245";s:2:"WX";s:3:"278";s:1:"N";s:8:"dotlessi";s:1:"B";a:4:{i:0;s:2:"95";i:1;s:1:"0";i:2;s:3:"183";i:3;s:3:"523";}}s:8:"dotlessi";a:4:{s:1:"C";s:3:"245";s:2:"WX";s:3:"278";s:1:"N";s:8:"dotlessi";s:1:"B";a:4:{i:0;s:2:"95";i:1;s:1:"0";i:2;s:3:"183";i:3;s:3:"523";}}i:248;a:4:{s:1:"C";s:3:"248";s:2:"WX";s:3:"222";s:1:"N";s:6:"lslash";s:1:"B";a:4:{i:0;s:3:"-20";i:1;s:1:"0";i:2;s:3:"242";i:3;s:3:"718";}}s:6:"lslash";a:4:{s:1:"C";s:3:"248";s:2:"WX";s:3:"222";s:1:"N";s:6:"lslash";s:1:"B";a:4:{i:0;s:3:"-20";i:1;s:1:"0";i:2;s:3:"242";i:3;s:3:"718";}}i:249;a:4:{s:1:"C";s:3:"249";s:2:"WX";s:3:"611";s:1:"N";s:6:"oslash";s:1:"B";a:4:{i:0;s:2:"28";i:1;s:3:"-22";i:2;s:3:"537";i:3;s:3:"545";}}s:6:"oslash";a:4:{s:1:"C";s:3:"249";s:2:"WX";s:3:"611";s:1:"N";s:6:"oslash";s:1:"B";a:4:{i:0;s:2:"28";i:1;s:3:"-22";i:2;s:3:"537";i:3;s:3:"545";}}i:250;a:4:{s:1:"C";s:3:"250";s:2:"WX";s:3:"944";s:1:"N";s:2:"oe";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:3:"-15";i:2;s:3:"902";i:3;s:3:"538";}}s:2:"oe";a:4:{s:1:"C";s:3:"250";s:2:"WX";s:3:"944";s:1:"N";s:2:"oe";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:3:"-15";i:2;s:3:"902";i:3;s:3:"538";}}i:251;a:4:{s:1:"C";s:3:"251";s:2:"WX";s:3:"611";s:1:"N";s:10:"germandbls";s:1:"B";a:4:{i:0;s:2:"67";i:1;s:3:"-15";i:2;s:3:"571";i:3;s:3:"728";}}s:10:"germandbls";a:4:{s:1:"C";s:3:"251";s:2:"WX";s:3:"611";s:1:"N";s:10:"germandbls";s:1:"B";a:4:{i:0;s:2:"67";i:1;s:3:"-15";i:2;s:3:"571";i:3;s:3:"728";}}s:9:"Idieresis";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"278";s:1:"N";s:9:"Idieresis";s:1:"B";a:4:{i:0;s:2:"13";i:1;s:1:"0";i:2;s:3:"266";i:3;s:3:"901";}}s:6:"eacute";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"556";s:1:"N";s:6:"eacute";s:1:"B";a:4:{i:0;s:2:"40";i:1;s:3:"-15";i:2;s:3:"516";i:3;s:3:"734";}}s:6:"abreve";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"556";s:1:"N";s:6:"abreve";s:1:"B";a:4:{i:0;s:2:"36";i:1;s:3:"-15";i:2;s:3:"530";i:3;s:3:"731";}}s:13:"uhungarumlaut";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"556";s:1:"N";s:13:"uhungarumlaut";s:1:"B";a:4:{i:0;s:2:"68";i:1;s:3:"-15";i:2;s:3:"521";i:3;s:3:"734";}}s:6:"ecaron";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"556";s:1:"N";s:6:"ecaron";s:1:"B";a:4:{i:0;s:2:"40";i:1;s:3:"-15";i:2;s:3:"516";i:3;s:3:"734";}}s:9:"Ydieresis";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"667";s:1:"N";s:9:"Ydieresis";s:1:"B";a:4:{i:0;s:2:"14";i:1;s:1:"0";i:2;s:3:"653";i:3;s:3:"901";}}s:6:"divide";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"584";s:1:"N";s:6:"divide";s:1:"B";a:4:{i:0;s:2:"39";i:1;s:3:"-19";i:2;s:3:"545";i:3;s:3:"524";}}s:6:"Yacute";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"667";s:1:"N";s:6:"Yacute";s:1:"B";a:4:{i:0;s:2:"14";i:1;s:1:"0";i:2;s:3:"653";i:3;s:3:"929";}}s:11:"Acircumflex";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"667";s:1:"N";s:11:"Acircumflex";s:1:"B";a:4:{i:0;s:2:"14";i:1;s:1:"0";i:2;s:3:"654";i:3;s:3:"929";}}s:6:"aacute";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"556";s:1:"N";s:6:"aacute";s:1:"B";a:4:{i:0;s:2:"36";i:1;s:3:"-15";i:2;s:3:"530";i:3;s:3:"734";}}s:11:"Ucircumflex";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"722";s:1:"N";s:11:"Ucircumflex";s:1:"B";a:4:{i:0;s:2:"79";i:1;s:3:"-19";i:2;s:3:"644";i:3;s:3:"929";}}s:6:"yacute";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"500";s:1:"N";s:6:"yacute";s:1:"B";a:4:{i:0;s:2:"11";i:1;s:4:"-214";i:2;s:3:"489";i:3;s:3:"734";}}s:12:"scommaaccent";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"500";s:1:"N";s:12:"scommaaccent";s:1:"B";a:4:{i:0;s:2:"32";i:1;s:4:"-225";i:2;s:3:"464";i:3;s:3:"538";}}s:11:"ecircumflex";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"556";s:1:"N";s:11:"ecircumflex";s:1:"B";a:4:{i:0;s:2:"40";i:1;s:3:"-15";i:2;s:3:"516";i:3;s:3:"734";}}s:5:"Uring";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"722";s:1:"N";s:5:"Uring";s:1:"B";a:4:{i:0;s:2:"79";i:1;s:3:"-19";i:2;s:3:"644";i:3;s:3:"931";}}s:9:"Udieresis";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"722";s:1:"N";s:9:"Udieresis";s:1:"B";a:4:{i:0;s:2:"79";i:1;s:3:"-19";i:2;s:3:"644";i:3;s:3:"901";}}s:7:"aogonek";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"556";s:1:"N";s:7:"aogonek";s:1:"B";a:4:{i:0;s:2:"36";i:1;s:4:"-220";i:2;s:3:"547";i:3;s:3:"538";}}s:6:"Uacute";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"722";s:1:"N";s:6:"Uacute";s:1:"B";a:4:{i:0;s:2:"79";i:1;s:3:"-19";i:2;s:3:"644";i:3;s:3:"929";}}s:7:"uogonek";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"556";s:1:"N";s:7:"uogonek";s:1:"B";a:4:{i:0;s:2:"68";i:1;s:4:"-225";i:2;s:3:"519";i:3;s:3:"523";}}s:9:"Edieresis";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"667";s:1:"N";s:9:"Edieresis";s:1:"B";a:4:{i:0;s:2:"86";i:1;s:1:"0";i:2;s:3:"616";i:3;s:3:"901";}}s:6:"Dcroat";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"722";s:1:"N";s:6:"Dcroat";s:1:"B";a:4:{i:0;s:1:"0";i:1;s:1:"0";i:2;s:3:"674";i:3;s:3:"718";}}s:11:"commaaccent";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"250";s:1:"N";s:11:"commaaccent";s:1:"B";a:4:{i:0;s:2:"87";i:1;s:4:"-225";i:2;s:3:"181";i:3;s:3:"-40";}}s:9:"copyright";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"737";s:1:"N";s:9:"copyright";s:1:"B";a:4:{i:0;s:3:"-14";i:1;s:3:"-19";i:2;s:3:"752";i:3;s:3:"737";}}s:7:"Emacron";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"667";s:1:"N";s:7:"Emacron";s:1:"B";a:4:{i:0;s:2:"86";i:1;s:1:"0";i:2;s:3:"616";i:3;s:3:"879";}}s:6:"ccaron";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"500";s:1:"N";s:6:"ccaron";s:1:"B";a:4:{i:0;s:2:"30";i:1;s:3:"-15";i:2;s:3:"477";i:3;s:3:"734";}}s:5:"aring";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"556";s:1:"N";s:5:"aring";s:1:"B";a:4:{i:0;s:2:"36";i:1;s:3:"-15";i:2;s:3:"530";i:3;s:3:"756";}}s:12:"Ncommaaccent";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"722";s:1:"N";s:12:"Ncommaaccent";s:1:"B";a:4:{i:0;s:2:"76";i:1;s:4:"-225";i:2;s:3:"646";i:3;s:3:"718";}}s:6:"lacute";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"222";s:1:"N";s:6:"lacute";s:1:"B";a:4:{i:0;s:2:"67";i:1;s:1:"0";i:2;s:3:"264";i:3;s:3:"929";}}s:6:"agrave";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"556";s:1:"N";s:6:"agrave";s:1:"B";a:4:{i:0;s:2:"36";i:1;s:3:"-15";i:2;s:3:"530";i:3;s:3:"734";}}s:12:"Tcommaaccent";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"611";s:1:"N";s:12:"Tcommaaccent";s:1:"B";a:4:{i:0;s:2:"14";i:1;s:4:"-225";i:2;s:3:"597";i:3;s:3:"718";}}s:6:"Cacute";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"722";s:1:"N";s:6:"Cacute";s:1:"B";a:4:{i:0;s:2:"44";i:1;s:3:"-19";i:2;s:3:"681";i:3;s:3:"929";}}s:6:"atilde";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"556";s:1:"N";s:6:"atilde";s:1:"B";a:4:{i:0;s:2:"36";i:1;s:3:"-15";i:2;s:3:"530";i:3;s:3:"722";}}s:10:"Edotaccent";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"667";s:1:"N";s:10:"Edotaccent";s:1:"B";a:4:{i:0;s:2:"86";i:1;s:1:"0";i:2;s:3:"616";i:3;s:3:"901";}}s:6:"scaron";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"500";s:1:"N";s:6:"scaron";s:1:"B";a:4:{i:0;s:2:"32";i:1;s:3:"-15";i:2;s:3:"464";i:3;s:3:"734";}}s:8:"scedilla";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"500";s:1:"N";s:8:"scedilla";s:1:"B";a:4:{i:0;s:2:"32";i:1;s:4:"-225";i:2;s:3:"464";i:3;s:3:"538";}}s:6:"iacute";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"278";s:1:"N";s:6:"iacute";s:1:"B";a:4:{i:0;s:2:"95";i:1;s:1:"0";i:2;s:3:"292";i:3;s:3:"734";}}s:7:"lozenge";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"471";s:1:"N";s:7:"lozenge";s:1:"B";a:4:{i:0;s:2:"10";i:1;s:1:"0";i:2;s:3:"462";i:3;s:3:"728";}}s:6:"Rcaron";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"722";s:1:"N";s:6:"Rcaron";s:1:"B";a:4:{i:0;s:2:"88";i:1;s:1:"0";i:2;s:3:"684";i:3;s:3:"929";}}s:12:"Gcommaaccent";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"778";s:1:"N";s:12:"Gcommaaccent";s:1:"B";a:4:{i:0;s:2:"48";i:1;s:4:"-225";i:2;s:3:"704";i:3;s:3:"737";}}s:11:"ucircumflex";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"556";s:1:"N";s:11:"ucircumflex";s:1:"B";a:4:{i:0;s:2:"68";i:1;s:3:"-15";i:2;s:3:"489";i:3;s:3:"734";}}s:11:"acircumflex";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"556";s:1:"N";s:11:"acircumflex";s:1:"B";a:4:{i:0;s:2:"36";i:1;s:3:"-15";i:2;s:3:"530";i:3;s:3:"734";}}s:7:"Amacron";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"667";s:1:"N";s:7:"Amacron";s:1:"B";a:4:{i:0;s:2:"14";i:1;s:1:"0";i:2;s:3:"654";i:3;s:3:"879";}}s:6:"rcaron";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"333";s:1:"N";s:6:"rcaron";s:1:"B";a:4:{i:0;s:2:"61";i:1;s:1:"0";i:2;s:3:"352";i:3;s:3:"734";}}s:8:"ccedilla";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"500";s:1:"N";s:8:"ccedilla";s:1:"B";a:4:{i:0;s:2:"30";i:1;s:4:"-225";i:2;s:3:"477";i:3;s:3:"538";}}s:10:"Zdotaccent";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"611";s:1:"N";s:10:"Zdotaccent";s:1:"B";a:4:{i:0;s:2:"23";i:1;s:1:"0";i:2;s:3:"588";i:3;s:3:"901";}}s:5:"Thorn";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"667";s:1:"N";s:5:"Thorn";s:1:"B";a:4:{i:0;s:2:"86";i:1;s:1:"0";i:2;s:3:"622";i:3;s:3:"718";}}s:7:"Omacron";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"778";s:1:"N";s:7:"Omacron";s:1:"B";a:4:{i:0;s:2:"39";i:1;s:3:"-19";i:2;s:3:"739";i:3;s:3:"879";}}s:6:"Racute";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"722";s:1:"N";s:6:"Racute";s:1:"B";a:4:{i:0;s:2:"88";i:1;s:1:"0";i:2;s:3:"684";i:3;s:3:"929";}}s:6:"Sacute";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"667";s:1:"N";s:6:"Sacute";s:1:"B";a:4:{i:0;s:2:"49";i:1;s:3:"-19";i:2;s:3:"620";i:3;s:3:"929";}}s:6:"dcaron";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"643";s:1:"N";s:6:"dcaron";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:3:"-15";i:2;s:3:"655";i:3;s:3:"718";}}s:7:"Umacron";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"722";s:1:"N";s:7:"Umacron";s:1:"B";a:4:{i:0;s:2:"79";i:1;s:3:"-19";i:2;s:3:"644";i:3;s:3:"879";}}s:5:"uring";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"556";s:1:"N";s:5:"uring";s:1:"B";a:4:{i:0;s:2:"68";i:1;s:3:"-15";i:2;s:3:"489";i:3;s:3:"756";}}s:13:"threesuperior";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"333";s:1:"N";s:13:"threesuperior";s:1:"B";a:4:{i:0;s:1:"5";i:1;s:3:"270";i:2;s:3:"325";i:3;s:3:"703";}}s:6:"Ograve";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"778";s:1:"N";s:6:"Ograve";s:1:"B";a:4:{i:0;s:2:"39";i:1;s:3:"-19";i:2;s:3:"739";i:3;s:3:"929";}}s:6:"Agrave";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"667";s:1:"N";s:6:"Agrave";s:1:"B";a:4:{i:0;s:2:"14";i:1;s:1:"0";i:2;s:3:"654";i:3;s:3:"929";}}s:6:"Abreve";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"667";s:1:"N";s:6:"Abreve";s:1:"B";a:4:{i:0;s:2:"14";i:1;s:1:"0";i:2;s:3:"654";i:3;s:3:"926";}}s:8:"multiply";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"584";s:1:"N";s:8:"multiply";s:1:"B";a:4:{i:0;s:2:"39";i:1;s:1:"0";i:2;s:3:"545";i:3;s:3:"506";}}s:6:"uacute";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"556";s:1:"N";s:6:"uacute";s:1:"B";a:4:{i:0;s:2:"68";i:1;s:3:"-15";i:2;s:3:"489";i:3;s:3:"734";}}s:6:"Tcaron";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"611";s:1:"N";s:6:"Tcaron";s:1:"B";a:4:{i:0;s:2:"14";i:1;s:1:"0";i:2;s:3:"597";i:3;s:3:"929";}}s:11:"partialdiff";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"476";s:1:"N";s:11:"partialdiff";s:1:"B";a:4:{i:0;s:2:"13";i:1;s:3:"-38";i:2;s:3:"463";i:3;s:3:"714";}}s:9:"ydieresis";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"500";s:1:"N";s:9:"ydieresis";s:1:"B";a:4:{i:0;s:2:"11";i:1;s:4:"-214";i:2;s:3:"489";i:3;s:3:"706";}}s:6:"Nacute";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"722";s:1:"N";s:6:"Nacute";s:1:"B";a:4:{i:0;s:2:"76";i:1;s:1:"0";i:2;s:3:"646";i:3;s:3:"929";}}s:11:"icircumflex";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"278";s:1:"N";s:11:"icircumflex";s:1:"B";a:4:{i:0;s:2:"-6";i:1;s:1:"0";i:2;s:3:"285";i:3;s:3:"734";}}s:11:"Ecircumflex";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"667";s:1:"N";s:11:"Ecircumflex";s:1:"B";a:4:{i:0;s:2:"86";i:1;s:1:"0";i:2;s:3:"616";i:3;s:3:"929";}}s:9:"adieresis";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"556";s:1:"N";s:9:"adieresis";s:1:"B";a:4:{i:0;s:2:"36";i:1;s:3:"-15";i:2;s:3:"530";i:3;s:3:"706";}}s:9:"edieresis";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"556";s:1:"N";s:9:"edieresis";s:1:"B";a:4:{i:0;s:2:"40";i:1;s:3:"-15";i:2;s:3:"516";i:3;s:3:"706";}}s:6:"cacute";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"500";s:1:"N";s:6:"cacute";s:1:"B";a:4:{i:0;s:2:"30";i:1;s:3:"-15";i:2;s:3:"477";i:3;s:3:"734";}}s:6:"nacute";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"556";s:1:"N";s:6:"nacute";s:1:"B";a:4:{i:0;s:2:"65";i:1;s:1:"0";i:2;s:3:"491";i:3;s:3:"734";}}s:7:"umacron";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"556";s:1:"N";s:7:"umacron";s:1:"B";a:4:{i:0;s:2:"68";i:1;s:3:"-15";i:2;s:3:"489";i:3;s:3:"684";}}s:6:"Ncaron";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"722";s:1:"N";s:6:"Ncaron";s:1:"B";a:4:{i:0;s:2:"76";i:1;s:1:"0";i:2;s:3:"646";i:3;s:3:"929";}}s:6:"Iacute";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"278";s:1:"N";s:6:"Iacute";s:1:"B";a:4:{i:0;s:2:"91";i:1;s:1:"0";i:2;s:3:"292";i:3;s:3:"929";}}s:9:"plusminus";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"584";s:1:"N";s:9:"plusminus";s:1:"B";a:4:{i:0;s:2:"39";i:1;s:1:"0";i:2;s:3:"545";i:3;s:3:"506";}}s:9:"brokenbar";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"260";s:1:"N";s:9:"brokenbar";s:1:"B";a:4:{i:0;s:2:"94";i:1;s:4:"-150";i:2;s:3:"167";i:3;s:3:"700";}}s:10:"registered";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"737";s:1:"N";s:10:"registered";s:1:"B";a:4:{i:0;s:3:"-14";i:1;s:3:"-19";i:2;s:3:"752";i:3;s:3:"737";}}s:6:"Gbreve";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"778";s:1:"N";s:6:"Gbreve";s:1:"B";a:4:{i:0;s:2:"48";i:1;s:3:"-19";i:2;s:3:"704";i:3;s:3:"926";}}s:10:"Idotaccent";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"278";s:1:"N";s:10:"Idotaccent";s:1:"B";a:4:{i:0;s:2:"91";i:1;s:1:"0";i:2;s:3:"188";i:3;s:3:"901";}}s:9:"summation";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:9:"summation";s:1:"B";a:4:{i:0;s:2:"15";i:1;s:3:"-10";i:2;s:3:"586";i:3;s:3:"706";}}s:6:"Egrave";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"667";s:1:"N";s:6:"Egrave";s:1:"B";a:4:{i:0;s:2:"86";i:1;s:1:"0";i:2;s:3:"616";i:3;s:3:"929";}}s:6:"racute";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"333";s:1:"N";s:6:"racute";s:1:"B";a:4:{i:0;s:2:"77";i:1;s:1:"0";i:2;s:3:"332";i:3;s:3:"734";}}s:7:"omacron";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"556";s:1:"N";s:7:"omacron";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:3:"-14";i:2;s:3:"521";i:3;s:3:"684";}}s:6:"Zacute";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"611";s:1:"N";s:6:"Zacute";s:1:"B";a:4:{i:0;s:2:"23";i:1;s:1:"0";i:2;s:3:"588";i:3;s:3:"929";}}s:6:"Zcaron";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"611";s:1:"N";s:6:"Zcaron";s:1:"B";a:4:{i:0;s:2:"23";i:1;s:1:"0";i:2;s:3:"588";i:3;s:3:"929";}}s:12:"greaterequal";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"549";s:1:"N";s:12:"greaterequal";s:1:"B";a:4:{i:0;s:2:"26";i:1;s:1:"0";i:2;s:3:"523";i:3;s:3:"674";}}s:3:"Eth";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"722";s:1:"N";s:3:"Eth";s:1:"B";a:4:{i:0;s:1:"0";i:1;s:1:"0";i:2;s:3:"674";i:3;s:3:"718";}}s:8:"Ccedilla";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"722";s:1:"N";s:8:"Ccedilla";s:1:"B";a:4:{i:0;s:2:"44";i:1;s:4:"-225";i:2;s:3:"681";i:3;s:3:"737";}}s:12:"lcommaaccent";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"222";s:1:"N";s:12:"lcommaaccent";s:1:"B";a:4:{i:0;s:2:"67";i:1;s:4:"-225";i:2;s:3:"167";i:3;s:3:"718";}}s:6:"tcaron";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"317";s:1:"N";s:6:"tcaron";s:1:"B";a:4:{i:0;s:2:"14";i:1;s:2:"-7";i:2;s:3:"329";i:3;s:3:"808";}}s:7:"eogonek";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"556";s:1:"N";s:7:"eogonek";s:1:"B";a:4:{i:0;s:2:"40";i:1;s:4:"-225";i:2;s:3:"516";i:3;s:3:"538";}}s:7:"Uogonek";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"722";s:1:"N";s:7:"Uogonek";s:1:"B";a:4:{i:0;s:2:"79";i:1;s:4:"-225";i:2;s:3:"644";i:3;s:3:"718";}}s:6:"Aacute";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"667";s:1:"N";s:6:"Aacute";s:1:"B";a:4:{i:0;s:2:"14";i:1;s:1:"0";i:2;s:3:"654";i:3;s:3:"929";}}s:9:"Adieresis";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"667";s:1:"N";s:9:"Adieresis";s:1:"B";a:4:{i:0;s:2:"14";i:1;s:1:"0";i:2;s:3:"654";i:3;s:3:"901";}}s:6:"egrave";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"556";s:1:"N";s:6:"egrave";s:1:"B";a:4:{i:0;s:2:"40";i:1;s:3:"-15";i:2;s:3:"516";i:3;s:3:"734";}}s:6:"zacute";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"500";s:1:"N";s:6:"zacute";s:1:"B";a:4:{i:0;s:2:"31";i:1;s:1:"0";i:2;s:3:"469";i:3;s:3:"734";}}s:7:"iogonek";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"222";s:1:"N";s:7:"iogonek";s:1:"B";a:4:{i:0;s:3:"-31";i:1;s:4:"-225";i:2;s:3:"183";i:3;s:3:"718";}}s:6:"Oacute";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"778";s:1:"N";s:6:"Oacute";s:1:"B";a:4:{i:0;s:2:"39";i:1;s:3:"-19";i:2;s:3:"739";i:3;s:3:"929";}}s:6:"oacute";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"556";s:1:"N";s:6:"oacute";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:3:"-14";i:2;s:3:"521";i:3;s:3:"734";}}s:7:"amacron";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"556";s:1:"N";s:7:"amacron";s:1:"B";a:4:{i:0;s:2:"36";i:1;s:3:"-15";i:2;s:3:"530";i:3;s:3:"684";}}s:6:"sacute";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"500";s:1:"N";s:6:"sacute";s:1:"B";a:4:{i:0;s:2:"32";i:1;s:3:"-15";i:2;s:3:"464";i:3;s:3:"734";}}s:9:"idieresis";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"278";s:1:"N";s:9:"idieresis";s:1:"B";a:4:{i:0;s:2:"13";i:1;s:1:"0";i:2;s:3:"266";i:3;s:3:"706";}}s:11:"Ocircumflex";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"778";s:1:"N";s:11:"Ocircumflex";s:1:"B";a:4:{i:0;s:2:"39";i:1;s:3:"-19";i:2;s:3:"739";i:3;s:3:"929";}}s:6:"Ugrave";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"722";s:1:"N";s:6:"Ugrave";s:1:"B";a:4:{i:0;s:2:"79";i:1;s:3:"-19";i:2;s:3:"644";i:3;s:3:"929";}}s:5:"Delta";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"612";s:1:"N";s:5:"Delta";s:1:"B";a:4:{i:0;s:1:"6";i:1;s:1:"0";i:2;s:3:"608";i:3;s:3:"688";}}s:5:"thorn";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"556";s:1:"N";s:5:"thorn";s:1:"B";a:4:{i:0;s:2:"58";i:1;s:4:"-207";i:2;s:3:"517";i:3;s:3:"718";}}s:11:"twosuperior";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"333";s:1:"N";s:11:"twosuperior";s:1:"B";a:4:{i:0;s:1:"4";i:1;s:3:"281";i:2;s:3:"323";i:3;s:3:"703";}}s:9:"Odieresis";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"778";s:1:"N";s:9:"Odieresis";s:1:"B";a:4:{i:0;s:2:"39";i:1;s:3:"-19";i:2;s:3:"739";i:3;s:3:"901";}}s:2:"mu";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"556";s:1:"N";s:2:"mu";s:1:"B";a:4:{i:0;s:2:"68";i:1;s:4:"-207";i:2;s:3:"489";i:3;s:3:"523";}}s:6:"igrave";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"278";s:1:"N";s:6:"igrave";s:1:"B";a:4:{i:0;s:3:"-13";i:1;s:1:"0";i:2;s:3:"184";i:3;s:3:"734";}}s:13:"ohungarumlaut";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"556";s:1:"N";s:13:"ohungarumlaut";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:3:"-14";i:2;s:3:"521";i:3;s:3:"734";}}s:7:"Eogonek";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"667";s:1:"N";s:7:"Eogonek";s:1:"B";a:4:{i:0;s:2:"86";i:1;s:4:"-220";i:2;s:3:"633";i:3;s:3:"718";}}s:6:"dcroat";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"556";s:1:"N";s:6:"dcroat";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:3:"-15";i:2;s:3:"550";i:3;s:3:"718";}}s:13:"threequarters";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"834";s:1:"N";s:13:"threequarters";s:1:"B";a:4:{i:0;s:2:"45";i:1;s:3:"-19";i:2;s:3:"810";i:3;s:3:"703";}}s:8:"Scedilla";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"667";s:1:"N";s:8:"Scedilla";s:1:"B";a:4:{i:0;s:2:"49";i:1;s:4:"-225";i:2;s:3:"620";i:3;s:3:"737";}}s:6:"lcaron";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"299";s:1:"N";s:6:"lcaron";s:1:"B";a:4:{i:0;s:2:"67";i:1;s:1:"0";i:2;s:3:"311";i:3;s:3:"718";}}s:12:"Kcommaaccent";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"667";s:1:"N";s:12:"Kcommaaccent";s:1:"B";a:4:{i:0;s:2:"76";i:1;s:4:"-225";i:2;s:3:"663";i:3;s:3:"718";}}s:6:"Lacute";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"556";s:1:"N";s:6:"Lacute";s:1:"B";a:4:{i:0;s:2:"76";i:1;s:1:"0";i:2;s:3:"537";i:3;s:3:"929";}}s:9:"trademark";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:4:"1000";s:1:"N";s:9:"trademark";s:1:"B";a:4:{i:0;s:2:"46";i:1;s:3:"306";i:2;s:3:"903";i:3;s:3:"718";}}s:10:"edotaccent";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"556";s:1:"N";s:10:"edotaccent";s:1:"B";a:4:{i:0;s:2:"40";i:1;s:3:"-15";i:2;s:3:"516";i:3;s:3:"706";}}s:6:"Igrave";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"278";s:1:"N";s:6:"Igrave";s:1:"B";a:4:{i:0;s:3:"-13";i:1;s:1:"0";i:2;s:3:"188";i:3;s:3:"929";}}s:7:"Imacron";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"278";s:1:"N";s:7:"Imacron";s:1:"B";a:4:{i:0;s:3:"-17";i:1;s:1:"0";i:2;s:3:"296";i:3;s:3:"879";}}s:6:"Lcaron";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"556";s:1:"N";s:6:"Lcaron";s:1:"B";a:4:{i:0;s:2:"76";i:1;s:1:"0";i:2;s:3:"537";i:3;s:3:"718";}}s:7:"onehalf";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"834";s:1:"N";s:7:"onehalf";s:1:"B";a:4:{i:0;s:2:"43";i:1;s:3:"-19";i:2;s:3:"773";i:3;s:3:"703";}}s:9:"lessequal";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"549";s:1:"N";s:9:"lessequal";s:1:"B";a:4:{i:0;s:2:"26";i:1;s:1:"0";i:2;s:3:"523";i:3;s:3:"674";}}s:11:"ocircumflex";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"556";s:1:"N";s:11:"ocircumflex";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:3:"-14";i:2;s:3:"521";i:3;s:3:"734";}}s:6:"ntilde";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"556";s:1:"N";s:6:"ntilde";s:1:"B";a:4:{i:0;s:2:"65";i:1;s:1:"0";i:2;s:3:"491";i:3;s:3:"722";}}s:13:"Uhungarumlaut";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"722";s:1:"N";s:13:"Uhungarumlaut";s:1:"B";a:4:{i:0;s:2:"79";i:1;s:3:"-19";i:2;s:3:"644";i:3;s:3:"929";}}s:6:"Eacute";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"667";s:1:"N";s:6:"Eacute";s:1:"B";a:4:{i:0;s:2:"86";i:1;s:1:"0";i:2;s:3:"616";i:3;s:3:"929";}}s:7:"emacron";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"556";s:1:"N";s:7:"emacron";s:1:"B";a:4:{i:0;s:2:"40";i:1;s:3:"-15";i:2;s:3:"516";i:3;s:3:"684";}}s:6:"gbreve";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"556";s:1:"N";s:6:"gbreve";s:1:"B";a:4:{i:0;s:2:"40";i:1;s:4:"-220";i:2;s:3:"499";i:3;s:3:"731";}}s:10:"onequarter";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"834";s:1:"N";s:10:"onequarter";s:1:"B";a:4:{i:0;s:2:"73";i:1;s:3:"-19";i:2;s:3:"756";i:3;s:3:"703";}}s:6:"Scaron";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"667";s:1:"N";s:6:"Scaron";s:1:"B";a:4:{i:0;s:2:"49";i:1;s:3:"-19";i:2;s:3:"620";i:3;s:3:"929";}}s:12:"Scommaaccent";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"667";s:1:"N";s:12:"Scommaaccent";s:1:"B";a:4:{i:0;s:2:"49";i:1;s:4:"-225";i:2;s:3:"620";i:3;s:3:"737";}}s:13:"Ohungarumlaut";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"778";s:1:"N";s:13:"Ohungarumlaut";s:1:"B";a:4:{i:0;s:2:"39";i:1;s:3:"-19";i:2;s:3:"739";i:3;s:3:"929";}}s:6:"degree";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"400";s:1:"N";s:6:"degree";s:1:"B";a:4:{i:0;s:2:"54";i:1;s:3:"411";i:2;s:3:"346";i:3;s:3:"703";}}s:6:"ograve";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"556";s:1:"N";s:6:"ograve";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:3:"-14";i:2;s:3:"521";i:3;s:3:"734";}}s:6:"Ccaron";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"722";s:1:"N";s:6:"Ccaron";s:1:"B";a:4:{i:0;s:2:"44";i:1;s:3:"-19";i:2;s:3:"681";i:3;s:3:"929";}}s:6:"ugrave";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"556";s:1:"N";s:6:"ugrave";s:1:"B";a:4:{i:0;s:2:"68";i:1;s:3:"-15";i:2;s:3:"489";i:3;s:3:"734";}}s:7:"radical";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"453";s:1:"N";s:7:"radical";s:1:"B";a:4:{i:0;s:2:"-4";i:1;s:3:"-80";i:2;s:3:"458";i:3;s:3:"762";}}s:6:"Dcaron";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"722";s:1:"N";s:6:"Dcaron";s:1:"B";a:4:{i:0;s:2:"81";i:1;s:1:"0";i:2;s:3:"674";i:3;s:3:"929";}}s:12:"rcommaaccent";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"333";s:1:"N";s:12:"rcommaaccent";s:1:"B";a:4:{i:0;s:2:"77";i:1;s:4:"-225";i:2;s:3:"332";i:3;s:3:"538";}}s:6:"Ntilde";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"722";s:1:"N";s:6:"Ntilde";s:1:"B";a:4:{i:0;s:2:"76";i:1;s:1:"0";i:2;s:3:"646";i:3;s:3:"917";}}s:6:"otilde";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"556";s:1:"N";s:6:"otilde";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:3:"-14";i:2;s:3:"521";i:3;s:3:"722";}}s:12:"Rcommaaccent";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"722";s:1:"N";s:12:"Rcommaaccent";s:1:"B";a:4:{i:0;s:2:"88";i:1;s:4:"-225";i:2;s:3:"684";i:3;s:3:"718";}}s:12:"Lcommaaccent";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"556";s:1:"N";s:12:"Lcommaaccent";s:1:"B";a:4:{i:0;s:2:"76";i:1;s:4:"-225";i:2;s:3:"537";i:3;s:3:"718";}}s:6:"Atilde";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"667";s:1:"N";s:6:"Atilde";s:1:"B";a:4:{i:0;s:2:"14";i:1;s:1:"0";i:2;s:3:"654";i:3;s:3:"917";}}s:7:"Aogonek";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"667";s:1:"N";s:7:"Aogonek";s:1:"B";a:4:{i:0;s:2:"14";i:1;s:4:"-225";i:2;s:3:"654";i:3;s:3:"718";}}s:5:"Aring";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"667";s:1:"N";s:5:"Aring";s:1:"B";a:4:{i:0;s:2:"14";i:1;s:1:"0";i:2;s:3:"654";i:3;s:3:"931";}}s:6:"Otilde";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"778";s:1:"N";s:6:"Otilde";s:1:"B";a:4:{i:0;s:2:"39";i:1;s:3:"-19";i:2;s:3:"739";i:3;s:3:"917";}}s:10:"zdotaccent";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"500";s:1:"N";s:10:"zdotaccent";s:1:"B";a:4:{i:0;s:2:"31";i:1;s:1:"0";i:2;s:3:"469";i:3;s:3:"706";}}s:6:"Ecaron";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"667";s:1:"N";s:6:"Ecaron";s:1:"B";a:4:{i:0;s:2:"86";i:1;s:1:"0";i:2;s:3:"616";i:3;s:3:"929";}}s:7:"Iogonek";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"278";s:1:"N";s:7:"Iogonek";s:1:"B";a:4:{i:0;s:2:"-3";i:1;s:4:"-225";i:2;s:3:"211";i:3;s:3:"718";}}s:12:"kcommaaccent";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"500";s:1:"N";s:12:"kcommaaccent";s:1:"B";a:4:{i:0;s:2:"67";i:1;s:4:"-225";i:2;s:3:"501";i:3;s:3:"718";}}s:5:"minus";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"584";s:1:"N";s:5:"minus";s:1:"B";a:4:{i:0;s:2:"39";i:1;s:3:"216";i:2;s:3:"545";i:3;s:3:"289";}}s:11:"Icircumflex";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"278";s:1:"N";s:11:"Icircumflex";s:1:"B";a:4:{i:0;s:2:"-6";i:1;s:1:"0";i:2;s:3:"285";i:3;s:3:"929";}}s:6:"ncaron";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"556";s:1:"N";s:6:"ncaron";s:1:"B";a:4:{i:0;s:2:"65";i:1;s:1:"0";i:2;s:3:"491";i:3;s:3:"734";}}s:12:"tcommaaccent";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"278";s:1:"N";s:12:"tcommaaccent";s:1:"B";a:4:{i:0;s:2:"14";i:1;s:4:"-225";i:2;s:3:"257";i:3;s:3:"669";}}s:10:"logicalnot";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"584";s:1:"N";s:10:"logicalnot";s:1:"B";a:4:{i:0;s:2:"39";i:1;s:3:"108";i:2;s:3:"545";i:3;s:3:"390";}}s:9:"odieresis";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"556";s:1:"N";s:9:"odieresis";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:3:"-14";i:2;s:3:"521";i:3;s:3:"706";}}s:9:"udieresis";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"556";s:1:"N";s:9:"udieresis";s:1:"B";a:4:{i:0;s:2:"68";i:1;s:3:"-15";i:2;s:3:"489";i:3;s:3:"706";}}s:8:"notequal";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"549";s:1:"N";s:8:"notequal";s:1:"B";a:4:{i:0;s:2:"12";i:1;s:3:"-35";i:2;s:3:"537";i:3;s:3:"551";}}s:12:"gcommaaccent";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"556";s:1:"N";s:12:"gcommaaccent";s:1:"B";a:4:{i:0;s:2:"40";i:1;s:4:"-220";i:2;s:3:"499";i:3;s:3:"822";}}s:3:"eth";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"556";s:1:"N";s:3:"eth";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:3:"-15";i:2;s:3:"522";i:3;s:3:"737";}}s:6:"zcaron";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"500";s:1:"N";s:6:"zcaron";s:1:"B";a:4:{i:0;s:2:"31";i:1;s:1:"0";i:2;s:3:"469";i:3;s:3:"734";}}s:12:"ncommaaccent";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"556";s:1:"N";s:12:"ncommaaccent";s:1:"B";a:4:{i:0;s:2:"65";i:1;s:4:"-225";i:2;s:3:"491";i:3;s:3:"538";}}s:11:"onesuperior";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"333";s:1:"N";s:11:"onesuperior";s:1:"B";a:4:{i:0;s:2:"43";i:1;s:3:"281";i:2;s:3:"222";i:3;s:3:"703";}}s:7:"imacron";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"278";s:1:"N";s:7:"imacron";s:1:"B";a:4:{i:0;s:1:"5";i:1;s:1:"0";i:2;s:3:"272";i:3;s:3:"684";}}s:4:"Euro";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"556";s:1:"N";s:4:"Euro";s:1:"B";a:4:{i:0;s:1:"0";i:1;s:1:"0";i:2;s:1:"0";i:3;s:1:"0";}}}s:3:"KPX";a:138:{s:1:"A";a:48:{s:1:"C";s:3:"-30";s:6:"Cacute";s:3:"-30";s:6:"Ccaron";s:3:"-30";s:8:"Ccedilla";s:3:"-30";s:1:"G";s:3:"-30";s:6:"Gbreve";s:3:"-30";s:12:"Gcommaaccent";s:3:"-30";s:1:"O";s:3:"-30";s:6:"Oacute";s:3:"-30";s:11:"Ocircumflex";s:3:"-30";s:9:"Odieresis";s:3:"-30";s:6:"Ograve";s:3:"-30";s:13:"Ohungarumlaut";s:3:"-30";s:7:"Omacron";s:3:"-30";s:6:"Oslash";s:3:"-30";s:6:"Otilde";s:3:"-30";s:1:"Q";s:3:"-30";s:1:"T";s:4:"-120";s:6:"Tcaron";s:4:"-120";s:12:"Tcommaaccent";s:4:"-120";s:1:"U";s:3:"-50";s:6:"Uacute";s:3:"-50";s:11:"Ucircumflex";s:3:"-50";s:9:"Udieresis";s:3:"-50";s:6:"Ugrave";s:3:"-50";s:13:"Uhungarumlaut";s:3:"-50";s:7:"Umacron";s:3:"-50";s:7:"Uogonek";s:3:"-50";s:5:"Uring";s:3:"-50";s:1:"V";s:3:"-70";s:1:"W";s:3:"-50";s:1:"Y";s:4:"-100";s:6:"Yacute";s:4:"-100";s:9:"Ydieresis";s:4:"-100";s:1:"u";s:3:"-30";s:6:"uacute";s:3:"-30";s:11:"ucircumflex";s:3:"-30";s:9:"udieresis";s:3:"-30";s:6:"ugrave";s:3:"-30";s:13:"uhungarumlaut";s:3:"-30";s:7:"umacron";s:3:"-30";s:7:"uogonek";s:3:"-30";s:5:"uring";s:3:"-30";s:1:"v";s:3:"-40";s:1:"w";s:3:"-40";s:1:"y";s:3:"-40";s:6:"yacute";s:3:"-40";s:9:"ydieresis";s:3:"-40";}s:6:"Aacute";a:48:{s:1:"C";s:3:"-30";s:6:"Cacute";s:3:"-30";s:6:"Ccaron";s:3:"-30";s:8:"Ccedilla";s:3:"-30";s:1:"G";s:3:"-30";s:6:"Gbreve";s:3:"-30";s:12:"Gcommaaccent";s:3:"-30";s:1:"O";s:3:"-30";s:6:"Oacute";s:3:"-30";s:11:"Ocircumflex";s:3:"-30";s:9:"Odieresis";s:3:"-30";s:6:"Ograve";s:3:"-30";s:13:"Ohungarumlaut";s:3:"-30";s:7:"Omacron";s:3:"-30";s:6:"Oslash";s:3:"-30";s:6:"Otilde";s:3:"-30";s:1:"Q";s:3:"-30";s:1:"T";s:4:"-120";s:6:"Tcaron";s:4:"-120";s:12:"Tcommaaccent";s:4:"-120";s:1:"U";s:3:"-50";s:6:"Uacute";s:3:"-50";s:11:"Ucircumflex";s:3:"-50";s:9:"Udieresis";s:3:"-50";s:6:"Ugrave";s:3:"-50";s:13:"Uhungarumlaut";s:3:"-50";s:7:"Umacron";s:3:"-50";s:7:"Uogonek";s:3:"-50";s:5:"Uring";s:3:"-50";s:1:"V";s:3:"-70";s:1:"W";s:3:"-50";s:1:"Y";s:4:"-100";s:6:"Yacute";s:4:"-100";s:9:"Ydieresis";s:4:"-100";s:1:"u";s:3:"-30";s:6:"uacute";s:3:"-30";s:11:"ucircumflex";s:3:"-30";s:9:"udieresis";s:3:"-30";s:6:"ugrave";s:3:"-30";s:13:"uhungarumlaut";s:3:"-30";s:7:"umacron";s:3:"-30";s:7:"uogonek";s:3:"-30";s:5:"uring";s:3:"-30";s:1:"v";s:3:"-40";s:1:"w";s:3:"-40";s:1:"y";s:3:"-40";s:6:"yacute";s:3:"-40";s:9:"ydieresis";s:3:"-40";}s:6:"Abreve";a:48:{s:1:"C";s:3:"-30";s:6:"Cacute";s:3:"-30";s:6:"Ccaron";s:3:"-30";s:8:"Ccedilla";s:3:"-30";s:1:"G";s:3:"-30";s:6:"Gbreve";s:3:"-30";s:12:"Gcommaaccent";s:3:"-30";s:1:"O";s:3:"-30";s:6:"Oacute";s:3:"-30";s:11:"Ocircumflex";s:3:"-30";s:9:"Odieresis";s:3:"-30";s:6:"Ograve";s:3:"-30";s:13:"Ohungarumlaut";s:3:"-30";s:7:"Omacron";s:3:"-30";s:6:"Oslash";s:3:"-30";s:6:"Otilde";s:3:"-30";s:1:"Q";s:3:"-30";s:1:"T";s:4:"-120";s:6:"Tcaron";s:4:"-120";s:12:"Tcommaaccent";s:4:"-120";s:1:"U";s:3:"-50";s:6:"Uacute";s:3:"-50";s:11:"Ucircumflex";s:3:"-50";s:9:"Udieresis";s:3:"-50";s:6:"Ugrave";s:3:"-50";s:13:"Uhungarumlaut";s:3:"-50";s:7:"Umacron";s:3:"-50";s:7:"Uogonek";s:3:"-50";s:5:"Uring";s:3:"-50";s:1:"V";s:3:"-70";s:1:"W";s:3:"-50";s:1:"Y";s:4:"-100";s:6:"Yacute";s:4:"-100";s:9:"Ydieresis";s:4:"-100";s:1:"u";s:3:"-30";s:6:"uacute";s:3:"-30";s:11:"ucircumflex";s:3:"-30";s:9:"udieresis";s:3:"-30";s:6:"ugrave";s:3:"-30";s:13:"uhungarumlaut";s:3:"-30";s:7:"umacron";s:3:"-30";s:7:"uogonek";s:3:"-30";s:5:"uring";s:3:"-30";s:1:"v";s:3:"-40";s:1:"w";s:3:"-40";s:1:"y";s:3:"-40";s:6:"yacute";s:3:"-40";s:9:"ydieresis";s:3:"-40";}s:11:"Acircumflex";a:48:{s:1:"C";s:3:"-30";s:6:"Cacute";s:3:"-30";s:6:"Ccaron";s:3:"-30";s:8:"Ccedilla";s:3:"-30";s:1:"G";s:3:"-30";s:6:"Gbreve";s:3:"-30";s:12:"Gcommaaccent";s:3:"-30";s:1:"O";s:3:"-30";s:6:"Oacute";s:3:"-30";s:11:"Ocircumflex";s:3:"-30";s:9:"Odieresis";s:3:"-30";s:6:"Ograve";s:3:"-30";s:13:"Ohungarumlaut";s:3:"-30";s:7:"Omacron";s:3:"-30";s:6:"Oslash";s:3:"-30";s:6:"Otilde";s:3:"-30";s:1:"Q";s:3:"-30";s:1:"T";s:4:"-120";s:6:"Tcaron";s:4:"-120";s:12:"Tcommaaccent";s:4:"-120";s:1:"U";s:3:"-50";s:6:"Uacute";s:3:"-50";s:11:"Ucircumflex";s:3:"-50";s:9:"Udieresis";s:3:"-50";s:6:"Ugrave";s:3:"-50";s:13:"Uhungarumlaut";s:3:"-50";s:7:"Umacron";s:3:"-50";s:7:"Uogonek";s:3:"-50";s:5:"Uring";s:3:"-50";s:1:"V";s:3:"-70";s:1:"W";s:3:"-50";s:1:"Y";s:4:"-100";s:6:"Yacute";s:4:"-100";s:9:"Ydieresis";s:4:"-100";s:1:"u";s:3:"-30";s:6:"uacute";s:3:"-30";s:11:"ucircumflex";s:3:"-30";s:9:"udieresis";s:3:"-30";s:6:"ugrave";s:3:"-30";s:13:"uhungarumlaut";s:3:"-30";s:7:"umacron";s:3:"-30";s:7:"uogonek";s:3:"-30";s:5:"uring";s:3:"-30";s:1:"v";s:3:"-40";s:1:"w";s:3:"-40";s:1:"y";s:3:"-40";s:6:"yacute";s:3:"-40";s:9:"ydieresis";s:3:"-40";}s:9:"Adieresis";a:48:{s:1:"C";s:3:"-30";s:6:"Cacute";s:3:"-30";s:6:"Ccaron";s:3:"-30";s:8:"Ccedilla";s:3:"-30";s:1:"G";s:3:"-30";s:6:"Gbreve";s:3:"-30";s:12:"Gcommaaccent";s:3:"-30";s:1:"O";s:3:"-30";s:6:"Oacute";s:3:"-30";s:11:"Ocircumflex";s:3:"-30";s:9:"Odieresis";s:3:"-30";s:6:"Ograve";s:3:"-30";s:13:"Ohungarumlaut";s:3:"-30";s:7:"Omacron";s:3:"-30";s:6:"Oslash";s:3:"-30";s:6:"Otilde";s:3:"-30";s:1:"Q";s:3:"-30";s:1:"T";s:4:"-120";s:6:"Tcaron";s:4:"-120";s:12:"Tcommaaccent";s:4:"-120";s:1:"U";s:3:"-50";s:6:"Uacute";s:3:"-50";s:11:"Ucircumflex";s:3:"-50";s:9:"Udieresis";s:3:"-50";s:6:"Ugrave";s:3:"-50";s:13:"Uhungarumlaut";s:3:"-50";s:7:"Umacron";s:3:"-50";s:7:"Uogonek";s:3:"-50";s:5:"Uring";s:3:"-50";s:1:"V";s:3:"-70";s:1:"W";s:3:"-50";s:1:"Y";s:4:"-100";s:6:"Yacute";s:4:"-100";s:9:"Ydieresis";s:4:"-100";s:1:"u";s:3:"-30";s:6:"uacute";s:3:"-30";s:11:"ucircumflex";s:3:"-30";s:9:"udieresis";s:3:"-30";s:6:"ugrave";s:3:"-30";s:13:"uhungarumlaut";s:3:"-30";s:7:"umacron";s:3:"-30";s:7:"uogonek";s:3:"-30";s:5:"uring";s:3:"-30";s:1:"v";s:3:"-40";s:1:"w";s:3:"-40";s:1:"y";s:3:"-40";s:6:"yacute";s:3:"-40";s:9:"ydieresis";s:3:"-40";}s:6:"Agrave";a:48:{s:1:"C";s:3:"-30";s:6:"Cacute";s:3:"-30";s:6:"Ccaron";s:3:"-30";s:8:"Ccedilla";s:3:"-30";s:1:"G";s:3:"-30";s:6:"Gbreve";s:3:"-30";s:12:"Gcommaaccent";s:3:"-30";s:1:"O";s:3:"-30";s:6:"Oacute";s:3:"-30";s:11:"Ocircumflex";s:3:"-30";s:9:"Odieresis";s:3:"-30";s:6:"Ograve";s:3:"-30";s:13:"Ohungarumlaut";s:3:"-30";s:7:"Omacron";s:3:"-30";s:6:"Oslash";s:3:"-30";s:6:"Otilde";s:3:"-30";s:1:"Q";s:3:"-30";s:1:"T";s:4:"-120";s:6:"Tcaron";s:4:"-120";s:12:"Tcommaaccent";s:4:"-120";s:1:"U";s:3:"-50";s:6:"Uacute";s:3:"-50";s:11:"Ucircumflex";s:3:"-50";s:9:"Udieresis";s:3:"-50";s:6:"Ugrave";s:3:"-50";s:13:"Uhungarumlaut";s:3:"-50";s:7:"Umacron";s:3:"-50";s:7:"Uogonek";s:3:"-50";s:5:"Uring";s:3:"-50";s:1:"V";s:3:"-70";s:1:"W";s:3:"-50";s:1:"Y";s:4:"-100";s:6:"Yacute";s:4:"-100";s:9:"Ydieresis";s:4:"-100";s:1:"u";s:3:"-30";s:6:"uacute";s:3:"-30";s:11:"ucircumflex";s:3:"-30";s:9:"udieresis";s:3:"-30";s:6:"ugrave";s:3:"-30";s:13:"uhungarumlaut";s:3:"-30";s:7:"umacron";s:3:"-30";s:7:"uogonek";s:3:"-30";s:5:"uring";s:3:"-30";s:1:"v";s:3:"-40";s:1:"w";s:3:"-40";s:1:"y";s:3:"-40";s:6:"yacute";s:3:"-40";s:9:"ydieresis";s:3:"-40";}s:7:"Amacron";a:48:{s:1:"C";s:3:"-30";s:6:"Cacute";s:3:"-30";s:6:"Ccaron";s:3:"-30";s:8:"Ccedilla";s:3:"-30";s:1:"G";s:3:"-30";s:6:"Gbreve";s:3:"-30";s:12:"Gcommaaccent";s:3:"-30";s:1:"O";s:3:"-30";s:6:"Oacute";s:3:"-30";s:11:"Ocircumflex";s:3:"-30";s:9:"Odieresis";s:3:"-30";s:6:"Ograve";s:3:"-30";s:13:"Ohungarumlaut";s:3:"-30";s:7:"Omacron";s:3:"-30";s:6:"Oslash";s:3:"-30";s:6:"Otilde";s:3:"-30";s:1:"Q";s:3:"-30";s:1:"T";s:4:"-120";s:6:"Tcaron";s:4:"-120";s:12:"Tcommaaccent";s:4:"-120";s:1:"U";s:3:"-50";s:6:"Uacute";s:3:"-50";s:11:"Ucircumflex";s:3:"-50";s:9:"Udieresis";s:3:"-50";s:6:"Ugrave";s:3:"-50";s:13:"Uhungarumlaut";s:3:"-50";s:7:"Umacron";s:3:"-50";s:7:"Uogonek";s:3:"-50";s:5:"Uring";s:3:"-50";s:1:"V";s:3:"-70";s:1:"W";s:3:"-50";s:1:"Y";s:4:"-100";s:6:"Yacute";s:4:"-100";s:9:"Ydieresis";s:4:"-100";s:1:"u";s:3:"-30";s:6:"uacute";s:3:"-30";s:11:"ucircumflex";s:3:"-30";s:9:"udieresis";s:3:"-30";s:6:"ugrave";s:3:"-30";s:13:"uhungarumlaut";s:3:"-30";s:7:"umacron";s:3:"-30";s:7:"uogonek";s:3:"-30";s:5:"uring";s:3:"-30";s:1:"v";s:3:"-40";s:1:"w";s:3:"-40";s:1:"y";s:3:"-40";s:6:"yacute";s:3:"-40";s:9:"ydieresis";s:3:"-40";}s:7:"Aogonek";a:48:{s:1:"C";s:3:"-30";s:6:"Cacute";s:3:"-30";s:6:"Ccaron";s:3:"-30";s:8:"Ccedilla";s:3:"-30";s:1:"G";s:3:"-30";s:6:"Gbreve";s:3:"-30";s:12:"Gcommaaccent";s:3:"-30";s:1:"O";s:3:"-30";s:6:"Oacute";s:3:"-30";s:11:"Ocircumflex";s:3:"-30";s:9:"Odieresis";s:3:"-30";s:6:"Ograve";s:3:"-30";s:13:"Ohungarumlaut";s:3:"-30";s:7:"Omacron";s:3:"-30";s:6:"Oslash";s:3:"-30";s:6:"Otilde";s:3:"-30";s:1:"Q";s:3:"-30";s:1:"T";s:4:"-120";s:6:"Tcaron";s:4:"-120";s:12:"Tcommaaccent";s:4:"-120";s:1:"U";s:3:"-50";s:6:"Uacute";s:3:"-50";s:11:"Ucircumflex";s:3:"-50";s:9:"Udieresis";s:3:"-50";s:6:"Ugrave";s:3:"-50";s:13:"Uhungarumlaut";s:3:"-50";s:7:"Umacron";s:3:"-50";s:7:"Uogonek";s:3:"-50";s:5:"Uring";s:3:"-50";s:1:"V";s:3:"-70";s:1:"W";s:3:"-50";s:1:"Y";s:4:"-100";s:6:"Yacute";s:4:"-100";s:9:"Ydieresis";s:4:"-100";s:1:"u";s:3:"-30";s:6:"uacute";s:3:"-30";s:11:"ucircumflex";s:3:"-30";s:9:"udieresis";s:3:"-30";s:6:"ugrave";s:3:"-30";s:13:"uhungarumlaut";s:3:"-30";s:7:"umacron";s:3:"-30";s:7:"uogonek";s:3:"-30";s:5:"uring";s:3:"-30";s:1:"v";s:3:"-40";s:1:"w";s:3:"-40";s:1:"y";s:3:"-40";s:6:"yacute";s:3:"-40";s:9:"ydieresis";s:3:"-40";}s:5:"Aring";a:48:{s:1:"C";s:3:"-30";s:6:"Cacute";s:3:"-30";s:6:"Ccaron";s:3:"-30";s:8:"Ccedilla";s:3:"-30";s:1:"G";s:3:"-30";s:6:"Gbreve";s:3:"-30";s:12:"Gcommaaccent";s:3:"-30";s:1:"O";s:3:"-30";s:6:"Oacute";s:3:"-30";s:11:"Ocircumflex";s:3:"-30";s:9:"Odieresis";s:3:"-30";s:6:"Ograve";s:3:"-30";s:13:"Ohungarumlaut";s:3:"-30";s:7:"Omacron";s:3:"-30";s:6:"Oslash";s:3:"-30";s:6:"Otilde";s:3:"-30";s:1:"Q";s:3:"-30";s:1:"T";s:4:"-120";s:6:"Tcaron";s:4:"-120";s:12:"Tcommaaccent";s:4:"-120";s:1:"U";s:3:"-50";s:6:"Uacute";s:3:"-50";s:11:"Ucircumflex";s:3:"-50";s:9:"Udieresis";s:3:"-50";s:6:"Ugrave";s:3:"-50";s:13:"Uhungarumlaut";s:3:"-50";s:7:"Umacron";s:3:"-50";s:7:"Uogonek";s:3:"-50";s:5:"Uring";s:3:"-50";s:1:"V";s:3:"-70";s:1:"W";s:3:"-50";s:1:"Y";s:4:"-100";s:6:"Yacute";s:4:"-100";s:9:"Ydieresis";s:4:"-100";s:1:"u";s:3:"-30";s:6:"uacute";s:3:"-30";s:11:"ucircumflex";s:3:"-30";s:9:"udieresis";s:3:"-30";s:6:"ugrave";s:3:"-30";s:13:"uhungarumlaut";s:3:"-30";s:7:"umacron";s:3:"-30";s:7:"uogonek";s:3:"-30";s:5:"uring";s:3:"-30";s:1:"v";s:3:"-40";s:1:"w";s:3:"-40";s:1:"y";s:3:"-40";s:6:"yacute";s:3:"-40";s:9:"ydieresis";s:3:"-40";}s:6:"Atilde";a:48:{s:1:"C";s:3:"-30";s:6:"Cacute";s:3:"-30";s:6:"Ccaron";s:3:"-30";s:8:"Ccedilla";s:3:"-30";s:1:"G";s:3:"-30";s:6:"Gbreve";s:3:"-30";s:12:"Gcommaaccent";s:3:"-30";s:1:"O";s:3:"-30";s:6:"Oacute";s:3:"-30";s:11:"Ocircumflex";s:3:"-30";s:9:"Odieresis";s:3:"-30";s:6:"Ograve";s:3:"-30";s:13:"Ohungarumlaut";s:3:"-30";s:7:"Omacron";s:3:"-30";s:6:"Oslash";s:3:"-30";s:6:"Otilde";s:3:"-30";s:1:"Q";s:3:"-30";s:1:"T";s:4:"-120";s:6:"Tcaron";s:4:"-120";s:12:"Tcommaaccent";s:4:"-120";s:1:"U";s:3:"-50";s:6:"Uacute";s:3:"-50";s:11:"Ucircumflex";s:3:"-50";s:9:"Udieresis";s:3:"-50";s:6:"Ugrave";s:3:"-50";s:13:"Uhungarumlaut";s:3:"-50";s:7:"Umacron";s:3:"-50";s:7:"Uogonek";s:3:"-50";s:5:"Uring";s:3:"-50";s:1:"V";s:3:"-70";s:1:"W";s:3:"-50";s:1:"Y";s:4:"-100";s:6:"Yacute";s:4:"-100";s:9:"Ydieresis";s:4:"-100";s:1:"u";s:3:"-30";s:6:"uacute";s:3:"-30";s:11:"ucircumflex";s:3:"-30";s:9:"udieresis";s:3:"-30";s:6:"ugrave";s:3:"-30";s:13:"uhungarumlaut";s:3:"-30";s:7:"umacron";s:3:"-30";s:7:"uogonek";s:3:"-30";s:5:"uring";s:3:"-30";s:1:"v";s:3:"-40";s:1:"w";s:3:"-40";s:1:"y";s:3:"-40";s:6:"yacute";s:3:"-40";s:9:"ydieresis";s:3:"-40";}s:1:"B";a:11:{s:1:"U";s:3:"-10";s:6:"Uacute";s:3:"-10";s:11:"Ucircumflex";s:3:"-10";s:9:"Udieresis";s:3:"-10";s:6:"Ugrave";s:3:"-10";s:13:"Uhungarumlaut";s:3:"-10";s:7:"Umacron";s:3:"-10";s:7:"Uogonek";s:3:"-10";s:5:"Uring";s:3:"-10";s:5:"comma";s:3:"-20";s:6:"period";s:3:"-20";}s:1:"C";a:2:{s:5:"comma";s:3:"-30";s:6:"period";s:3:"-30";}s:6:"Cacute";a:2:{s:5:"comma";s:3:"-30";s:6:"period";s:3:"-30";}s:6:"Ccaron";a:2:{s:5:"comma";s:3:"-30";s:6:"period";s:3:"-30";}s:8:"Ccedilla";a:2:{s:5:"comma";s:3:"-30";s:6:"period";s:3:"-30";}s:1:"D";a:17:{s:1:"A";s:3:"-40";s:6:"Aacute";s:3:"-40";s:6:"Abreve";s:3:"-40";s:11:"Acircumflex";s:3:"-40";s:9:"Adieresis";s:3:"-40";s:6:"Agrave";s:3:"-40";s:7:"Amacron";s:3:"-40";s:7:"Aogonek";s:3:"-40";s:5:"Aring";s:3:"-40";s:6:"Atilde";s:3:"-40";s:1:"V";s:3:"-70";s:1:"W";s:3:"-40";s:1:"Y";s:3:"-90";s:6:"Yacute";s:3:"-90";s:9:"Ydieresis";s:3:"-90";s:5:"comma";s:3:"-70";s:6:"period";s:3:"-70";}s:6:"Dcaron";a:17:{s:1:"A";s:3:"-40";s:6:"Aacute";s:3:"-40";s:6:"Abreve";s:3:"-40";s:11:"Acircumflex";s:3:"-40";s:9:"Adieresis";s:3:"-40";s:6:"Agrave";s:3:"-40";s:7:"Amacron";s:3:"-40";s:7:"Aogonek";s:3:"-40";s:5:"Aring";s:3:"-40";s:6:"Atilde";s:3:"-40";s:1:"V";s:3:"-70";s:1:"W";s:3:"-40";s:1:"Y";s:3:"-90";s:6:"Yacute";s:3:"-90";s:9:"Ydieresis";s:3:"-90";s:5:"comma";s:3:"-70";s:6:"period";s:3:"-70";}s:6:"Dcroat";a:17:{s:1:"A";s:3:"-40";s:6:"Aacute";s:3:"-40";s:6:"Abreve";s:3:"-40";s:11:"Acircumflex";s:3:"-40";s:9:"Adieresis";s:3:"-40";s:6:"Agrave";s:3:"-40";s:7:"Amacron";s:3:"-40";s:7:"Aogonek";s:3:"-40";s:5:"Aring";s:3:"-40";s:6:"Atilde";s:3:"-40";s:1:"V";s:3:"-70";s:1:"W";s:3:"-40";s:1:"Y";s:3:"-90";s:6:"Yacute";s:3:"-90";s:9:"Ydieresis";s:3:"-90";s:5:"comma";s:3:"-70";s:6:"period";s:3:"-70";}s:1:"F";a:44:{s:1:"A";s:3:"-80";s:6:"Aacute";s:3:"-80";s:6:"Abreve";s:3:"-80";s:11:"Acircumflex";s:3:"-80";s:9:"Adieresis";s:3:"-80";s:6:"Agrave";s:3:"-80";s:7:"Amacron";s:3:"-80";s:7:"Aogonek";s:3:"-80";s:5:"Aring";s:3:"-80";s:6:"Atilde";s:3:"-80";s:1:"a";s:3:"-50";s:6:"aacute";s:3:"-50";s:6:"abreve";s:3:"-50";s:11:"acircumflex";s:3:"-50";s:9:"adieresis";s:3:"-50";s:6:"agrave";s:3:"-50";s:7:"amacron";s:3:"-50";s:7:"aogonek";s:3:"-50";s:5:"aring";s:3:"-50";s:6:"atilde";s:3:"-50";s:5:"comma";s:4:"-150";s:1:"e";s:3:"-30";s:6:"eacute";s:3:"-30";s:6:"ecaron";s:3:"-30";s:11:"ecircumflex";s:3:"-30";s:9:"edieresis";s:3:"-30";s:10:"edotaccent";s:3:"-30";s:6:"egrave";s:3:"-30";s:7:"emacron";s:3:"-30";s:7:"eogonek";s:3:"-30";s:1:"o";s:3:"-30";s:6:"oacute";s:3:"-30";s:11:"ocircumflex";s:3:"-30";s:9:"odieresis";s:3:"-30";s:6:"ograve";s:3:"-30";s:13:"ohungarumlaut";s:3:"-30";s:7:"omacron";s:3:"-30";s:6:"oslash";s:3:"-30";s:6:"otilde";s:3:"-30";s:6:"period";s:4:"-150";s:1:"r";s:3:"-45";s:6:"racute";s:3:"-45";s:6:"rcaron";s:3:"-45";s:12:"rcommaaccent";s:3:"-45";}s:1:"J";a:31:{s:1:"A";s:3:"-20";s:6:"Aacute";s:3:"-20";s:6:"Abreve";s:3:"-20";s:11:"Acircumflex";s:3:"-20";s:9:"Adieresis";s:3:"-20";s:6:"Agrave";s:3:"-20";s:7:"Amacron";s:3:"-20";s:7:"Aogonek";s:3:"-20";s:5:"Aring";s:3:"-20";s:6:"Atilde";s:3:"-20";s:1:"a";s:3:"-20";s:6:"aacute";s:3:"-20";s:6:"abreve";s:3:"-20";s:11:"acircumflex";s:3:"-20";s:9:"adieresis";s:3:"-20";s:6:"agrave";s:3:"-20";s:7:"amacron";s:3:"-20";s:7:"aogonek";s:3:"-20";s:5:"aring";s:3:"-20";s:6:"atilde";s:3:"-20";s:5:"comma";s:3:"-30";s:6:"period";s:3:"-30";s:1:"u";s:3:"-20";s:6:"uacute";s:3:"-20";s:11:"ucircumflex";s:3:"-20";s:9:"udieresis";s:3:"-20";s:6:"ugrave";s:3:"-20";s:13:"uhungarumlaut";s:3:"-20";s:7:"umacron";s:3:"-20";s:7:"uogonek";s:3:"-20";s:5:"uring";s:3:"-20";}s:1:"K";a:39:{s:1:"O";s:3:"-50";s:6:"Oacute";s:3:"-50";s:11:"Ocircumflex";s:3:"-50";s:9:"Odieresis";s:3:"-50";s:6:"Ograve";s:3:"-50";s:13:"Ohungarumlaut";s:3:"-50";s:7:"Omacron";s:3:"-50";s:6:"Oslash";s:3:"-50";s:6:"Otilde";s:3:"-50";s:1:"e";s:3:"-40";s:6:"eacute";s:3:"-40";s:6:"ecaron";s:3:"-40";s:11:"ecircumflex";s:3:"-40";s:9:"edieresis";s:3:"-40";s:10:"edotaccent";s:3:"-40";s:6:"egrave";s:3:"-40";s:7:"emacron";s:3:"-40";s:7:"eogonek";s:3:"-40";s:1:"o";s:3:"-40";s:6:"oacute";s:3:"-40";s:11:"ocircumflex";s:3:"-40";s:9:"odieresis";s:3:"-40";s:6:"ograve";s:3:"-40";s:13:"ohungarumlaut";s:3:"-40";s:7:"omacron";s:3:"-40";s:6:"oslash";s:3:"-40";s:6:"otilde";s:3:"-40";s:1:"u";s:3:"-30";s:6:"uacute";s:3:"-30";s:11:"ucircumflex";s:3:"-30";s:9:"udieresis";s:3:"-30";s:6:"ugrave";s:3:"-30";s:13:"uhungarumlaut";s:3:"-30";s:7:"umacron";s:3:"-30";s:7:"uogonek";s:3:"-30";s:5:"uring";s:3:"-30";s:1:"y";s:3:"-50";s:6:"yacute";s:3:"-50";s:9:"ydieresis";s:3:"-50";}s:12:"Kcommaaccent";a:39:{s:1:"O";s:3:"-50";s:6:"Oacute";s:3:"-50";s:11:"Ocircumflex";s:3:"-50";s:9:"Odieresis";s:3:"-50";s:6:"Ograve";s:3:"-50";s:13:"Ohungarumlaut";s:3:"-50";s:7:"Omacron";s:3:"-50";s:6:"Oslash";s:3:"-50";s:6:"Otilde";s:3:"-50";s:1:"e";s:3:"-40";s:6:"eacute";s:3:"-40";s:6:"ecaron";s:3:"-40";s:11:"ecircumflex";s:3:"-40";s:9:"edieresis";s:3:"-40";s:10:"edotaccent";s:3:"-40";s:6:"egrave";s:3:"-40";s:7:"emacron";s:3:"-40";s:7:"eogonek";s:3:"-40";s:1:"o";s:3:"-40";s:6:"oacute";s:3:"-40";s:11:"ocircumflex";s:3:"-40";s:9:"odieresis";s:3:"-40";s:6:"ograve";s:3:"-40";s:13:"ohungarumlaut";s:3:"-40";s:7:"omacron";s:3:"-40";s:6:"oslash";s:3:"-40";s:6:"otilde";s:3:"-40";s:1:"u";s:3:"-30";s:6:"uacute";s:3:"-30";s:11:"ucircumflex";s:3:"-30";s:9:"udieresis";s:3:"-30";s:6:"ugrave";s:3:"-30";s:13:"uhungarumlaut";s:3:"-30";s:7:"umacron";s:3:"-30";s:7:"uogonek";s:3:"-30";s:5:"uring";s:3:"-30";s:1:"y";s:3:"-50";s:6:"yacute";s:3:"-50";s:9:"ydieresis";s:3:"-50";}s:1:"L";a:13:{s:1:"T";s:4:"-110";s:6:"Tcaron";s:4:"-110";s:12:"Tcommaaccent";s:4:"-110";s:1:"V";s:4:"-110";s:1:"W";s:3:"-70";s:1:"Y";s:4:"-140";s:6:"Yacute";s:4:"-140";s:9:"Ydieresis";s:4:"-140";s:13:"quotedblright";s:4:"-140";s:10:"quoteright";s:4:"-160";s:1:"y";s:3:"-30";s:6:"yacute";s:3:"-30";s:9:"ydieresis";s:3:"-30";}s:6:"Lacute";a:13:{s:1:"T";s:4:"-110";s:6:"Tcaron";s:4:"-110";s:12:"Tcommaaccent";s:4:"-110";s:1:"V";s:4:"-110";s:1:"W";s:3:"-70";s:1:"Y";s:4:"-140";s:6:"Yacute";s:4:"-140";s:9:"Ydieresis";s:4:"-140";s:13:"quotedblright";s:4:"-140";s:10:"quoteright";s:4:"-160";s:1:"y";s:3:"-30";s:6:"yacute";s:3:"-30";s:9:"ydieresis";s:3:"-30";}s:6:"Lcaron";a:13:{s:1:"T";s:4:"-110";s:6:"Tcaron";s:4:"-110";s:12:"Tcommaaccent";s:4:"-110";s:1:"V";s:4:"-110";s:1:"W";s:3:"-70";s:1:"Y";s:4:"-140";s:6:"Yacute";s:4:"-140";s:9:"Ydieresis";s:4:"-140";s:13:"quotedblright";s:4:"-140";s:10:"quoteright";s:4:"-160";s:1:"y";s:3:"-30";s:6:"yacute";s:3:"-30";s:9:"ydieresis";s:3:"-30";}s:12:"Lcommaaccent";a:13:{s:1:"T";s:4:"-110";s:6:"Tcaron";s:4:"-110";s:12:"Tcommaaccent";s:4:"-110";s:1:"V";s:4:"-110";s:1:"W";s:3:"-70";s:1:"Y";s:4:"-140";s:6:"Yacute";s:4:"-140";s:9:"Ydieresis";s:4:"-140";s:13:"quotedblright";s:4:"-140";s:10:"quoteright";s:4:"-160";s:1:"y";s:3:"-30";s:6:"yacute";s:3:"-30";s:9:"ydieresis";s:3:"-30";}s:6:"Lslash";a:13:{s:1:"T";s:4:"-110";s:6:"Tcaron";s:4:"-110";s:12:"Tcommaaccent";s:4:"-110";s:1:"V";s:4:"-110";s:1:"W";s:3:"-70";s:1:"Y";s:4:"-140";s:6:"Yacute";s:4:"-140";s:9:"Ydieresis";s:4:"-140";s:13:"quotedblright";s:4:"-140";s:10:"quoteright";s:4:"-160";s:1:"y";s:3:"-30";s:6:"yacute";s:3:"-30";s:9:"ydieresis";s:3:"-30";}s:1:"O";a:21:{s:1:"A";s:3:"-20";s:6:"Aacute";s:3:"-20";s:6:"Abreve";s:3:"-20";s:11:"Acircumflex";s:3:"-20";s:9:"Adieresis";s:3:"-20";s:6:"Agrave";s:3:"-20";s:7:"Amacron";s:3:"-20";s:7:"Aogonek";s:3:"-20";s:5:"Aring";s:3:"-20";s:6:"Atilde";s:3:"-20";s:1:"T";s:3:"-40";s:6:"Tcaron";s:3:"-40";s:12:"Tcommaaccent";s:3:"-40";s:1:"V";s:3:"-50";s:1:"W";s:3:"-30";s:1:"X";s:3:"-60";s:1:"Y";s:3:"-70";s:6:"Yacute";s:3:"-70";s:9:"Ydieresis";s:3:"-70";s:5:"comma";s:3:"-40";s:6:"period";s:3:"-40";}s:6:"Oacute";a:21:{s:1:"A";s:3:"-20";s:6:"Aacute";s:3:"-20";s:6:"Abreve";s:3:"-20";s:11:"Acircumflex";s:3:"-20";s:9:"Adieresis";s:3:"-20";s:6:"Agrave";s:3:"-20";s:7:"Amacron";s:3:"-20";s:7:"Aogonek";s:3:"-20";s:5:"Aring";s:3:"-20";s:6:"Atilde";s:3:"-20";s:1:"T";s:3:"-40";s:6:"Tcaron";s:3:"-40";s:12:"Tcommaaccent";s:3:"-40";s:1:"V";s:3:"-50";s:1:"W";s:3:"-30";s:1:"X";s:3:"-60";s:1:"Y";s:3:"-70";s:6:"Yacute";s:3:"-70";s:9:"Ydieresis";s:3:"-70";s:5:"comma";s:3:"-40";s:6:"period";s:3:"-40";}s:11:"Ocircumflex";a:21:{s:1:"A";s:3:"-20";s:6:"Aacute";s:3:"-20";s:6:"Abreve";s:3:"-20";s:11:"Acircumflex";s:3:"-20";s:9:"Adieresis";s:3:"-20";s:6:"Agrave";s:3:"-20";s:7:"Amacron";s:3:"-20";s:7:"Aogonek";s:3:"-20";s:5:"Aring";s:3:"-20";s:6:"Atilde";s:3:"-20";s:1:"T";s:3:"-40";s:6:"Tcaron";s:3:"-40";s:12:"Tcommaaccent";s:3:"-40";s:1:"V";s:3:"-50";s:1:"W";s:3:"-30";s:1:"X";s:3:"-60";s:1:"Y";s:3:"-70";s:6:"Yacute";s:3:"-70";s:9:"Ydieresis";s:3:"-70";s:5:"comma";s:3:"-40";s:6:"period";s:3:"-40";}s:9:"Odieresis";a:21:{s:1:"A";s:3:"-20";s:6:"Aacute";s:3:"-20";s:6:"Abreve";s:3:"-20";s:11:"Acircumflex";s:3:"-20";s:9:"Adieresis";s:3:"-20";s:6:"Agrave";s:3:"-20";s:7:"Amacron";s:3:"-20";s:7:"Aogonek";s:3:"-20";s:5:"Aring";s:3:"-20";s:6:"Atilde";s:3:"-20";s:1:"T";s:3:"-40";s:6:"Tcaron";s:3:"-40";s:12:"Tcommaaccent";s:3:"-40";s:1:"V";s:3:"-50";s:1:"W";s:3:"-30";s:1:"X";s:3:"-60";s:1:"Y";s:3:"-70";s:6:"Yacute";s:3:"-70";s:9:"Ydieresis";s:3:"-70";s:5:"comma";s:3:"-40";s:6:"period";s:3:"-40";}s:6:"Ograve";a:21:{s:1:"A";s:3:"-20";s:6:"Aacute";s:3:"-20";s:6:"Abreve";s:3:"-20";s:11:"Acircumflex";s:3:"-20";s:9:"Adieresis";s:3:"-20";s:6:"Agrave";s:3:"-20";s:7:"Amacron";s:3:"-20";s:7:"Aogonek";s:3:"-20";s:5:"Aring";s:3:"-20";s:6:"Atilde";s:3:"-20";s:1:"T";s:3:"-40";s:6:"Tcaron";s:3:"-40";s:12:"Tcommaaccent";s:3:"-40";s:1:"V";s:3:"-50";s:1:"W";s:3:"-30";s:1:"X";s:3:"-60";s:1:"Y";s:3:"-70";s:6:"Yacute";s:3:"-70";s:9:"Ydieresis";s:3:"-70";s:5:"comma";s:3:"-40";s:6:"period";s:3:"-40";}s:13:"Ohungarumlaut";a:21:{s:1:"A";s:3:"-20";s:6:"Aacute";s:3:"-20";s:6:"Abreve";s:3:"-20";s:11:"Acircumflex";s:3:"-20";s:9:"Adieresis";s:3:"-20";s:6:"Agrave";s:3:"-20";s:7:"Amacron";s:3:"-20";s:7:"Aogonek";s:3:"-20";s:5:"Aring";s:3:"-20";s:6:"Atilde";s:3:"-20";s:1:"T";s:3:"-40";s:6:"Tcaron";s:3:"-40";s:12:"Tcommaaccent";s:3:"-40";s:1:"V";s:3:"-50";s:1:"W";s:3:"-30";s:1:"X";s:3:"-60";s:1:"Y";s:3:"-70";s:6:"Yacute";s:3:"-70";s:9:"Ydieresis";s:3:"-70";s:5:"comma";s:3:"-40";s:6:"period";s:3:"-40";}s:7:"Omacron";a:21:{s:1:"A";s:3:"-20";s:6:"Aacute";s:3:"-20";s:6:"Abreve";s:3:"-20";s:11:"Acircumflex";s:3:"-20";s:9:"Adieresis";s:3:"-20";s:6:"Agrave";s:3:"-20";s:7:"Amacron";s:3:"-20";s:7:"Aogonek";s:3:"-20";s:5:"Aring";s:3:"-20";s:6:"Atilde";s:3:"-20";s:1:"T";s:3:"-40";s:6:"Tcaron";s:3:"-40";s:12:"Tcommaaccent";s:3:"-40";s:1:"V";s:3:"-50";s:1:"W";s:3:"-30";s:1:"X";s:3:"-60";s:1:"Y";s:3:"-70";s:6:"Yacute";s:3:"-70";s:9:"Ydieresis";s:3:"-70";s:5:"comma";s:3:"-40";s:6:"period";s:3:"-40";}s:6:"Oslash";a:21:{s:1:"A";s:3:"-20";s:6:"Aacute";s:3:"-20";s:6:"Abreve";s:3:"-20";s:11:"Acircumflex";s:3:"-20";s:9:"Adieresis";s:3:"-20";s:6:"Agrave";s:3:"-20";s:7:"Amacron";s:3:"-20";s:7:"Aogonek";s:3:"-20";s:5:"Aring";s:3:"-20";s:6:"Atilde";s:3:"-20";s:1:"T";s:3:"-40";s:6:"Tcaron";s:3:"-40";s:12:"Tcommaaccent";s:3:"-40";s:1:"V";s:3:"-50";s:1:"W";s:3:"-30";s:1:"X";s:3:"-60";s:1:"Y";s:3:"-70";s:6:"Yacute";s:3:"-70";s:9:"Ydieresis";s:3:"-70";s:5:"comma";s:3:"-40";s:6:"period";s:3:"-40";}s:6:"Otilde";a:21:{s:1:"A";s:3:"-20";s:6:"Aacute";s:3:"-20";s:6:"Abreve";s:3:"-20";s:11:"Acircumflex";s:3:"-20";s:9:"Adieresis";s:3:"-20";s:6:"Agrave";s:3:"-20";s:7:"Amacron";s:3:"-20";s:7:"Aogonek";s:3:"-20";s:5:"Aring";s:3:"-20";s:6:"Atilde";s:3:"-20";s:1:"T";s:3:"-40";s:6:"Tcaron";s:3:"-40";s:12:"Tcommaaccent";s:3:"-40";s:1:"V";s:3:"-50";s:1:"W";s:3:"-30";s:1:"X";s:3:"-60";s:1:"Y";s:3:"-70";s:6:"Yacute";s:3:"-70";s:9:"Ydieresis";s:3:"-70";s:5:"comma";s:3:"-40";s:6:"period";s:3:"-40";}s:1:"P";a:40:{s:1:"A";s:4:"-120";s:6:"Aacute";s:4:"-120";s:6:"Abreve";s:4:"-120";s:11:"Acircumflex";s:4:"-120";s:9:"Adieresis";s:4:"-120";s:6:"Agrave";s:4:"-120";s:7:"Amacron";s:4:"-120";s:7:"Aogonek";s:4:"-120";s:5:"Aring";s:4:"-120";s:6:"Atilde";s:4:"-120";s:1:"a";s:3:"-40";s:6:"aacute";s:3:"-40";s:6:"abreve";s:3:"-40";s:11:"acircumflex";s:3:"-40";s:9:"adieresis";s:3:"-40";s:6:"agrave";s:3:"-40";s:7:"amacron";s:3:"-40";s:7:"aogonek";s:3:"-40";s:5:"aring";s:3:"-40";s:6:"atilde";s:3:"-40";s:5:"comma";s:4:"-180";s:1:"e";s:3:"-50";s:6:"eacute";s:3:"-50";s:6:"ecaron";s:3:"-50";s:11:"ecircumflex";s:3:"-50";s:9:"edieresis";s:3:"-50";s:10:"edotaccent";s:3:"-50";s:6:"egrave";s:3:"-50";s:7:"emacron";s:3:"-50";s:7:"eogonek";s:3:"-50";s:1:"o";s:3:"-50";s:6:"oacute";s:3:"-50";s:11:"ocircumflex";s:3:"-50";s:9:"odieresis";s:3:"-50";s:6:"ograve";s:3:"-50";s:13:"ohungarumlaut";s:3:"-50";s:7:"omacron";s:3:"-50";s:6:"oslash";s:3:"-50";s:6:"otilde";s:3:"-50";s:6:"period";s:4:"-180";}s:1:"Q";a:9:{s:1:"U";s:3:"-10";s:6:"Uacute";s:3:"-10";s:11:"Ucircumflex";s:3:"-10";s:9:"Udieresis";s:3:"-10";s:6:"Ugrave";s:3:"-10";s:13:"Uhungarumlaut";s:3:"-10";s:7:"Umacron";s:3:"-10";s:7:"Uogonek";s:3:"-10";s:5:"Uring";s:3:"-10";}s:1:"R";a:26:{s:1:"O";s:3:"-20";s:6:"Oacute";s:3:"-20";s:11:"Ocircumflex";s:3:"-20";s:9:"Odieresis";s:3:"-20";s:6:"Ograve";s:3:"-20";s:13:"Ohungarumlaut";s:3:"-20";s:7:"Omacron";s:3:"-20";s:6:"Oslash";s:3:"-20";s:6:"Otilde";s:3:"-20";s:1:"T";s:3:"-30";s:6:"Tcaron";s:3:"-30";s:12:"Tcommaaccent";s:3:"-30";s:1:"U";s:3:"-40";s:6:"Uacute";s:3:"-40";s:11:"Ucircumflex";s:3:"-40";s:9:"Udieresis";s:3:"-40";s:6:"Ugrave";s:3:"-40";s:13:"Uhungarumlaut";s:3:"-40";s:7:"Umacron";s:3:"-40";s:7:"Uogonek";s:3:"-40";s:5:"Uring";s:3:"-40";s:1:"V";s:3:"-50";s:1:"W";s:3:"-30";s:1:"Y";s:3:"-50";s:6:"Yacute";s:3:"-50";s:9:"Ydieresis";s:3:"-50";}s:6:"Racute";a:26:{s:1:"O";s:3:"-20";s:6:"Oacute";s:3:"-20";s:11:"Ocircumflex";s:3:"-20";s:9:"Odieresis";s:3:"-20";s:6:"Ograve";s:3:"-20";s:13:"Ohungarumlaut";s:3:"-20";s:7:"Omacron";s:3:"-20";s:6:"Oslash";s:3:"-20";s:6:"Otilde";s:3:"-20";s:1:"T";s:3:"-30";s:6:"Tcaron";s:3:"-30";s:12:"Tcommaaccent";s:3:"-30";s:1:"U";s:3:"-40";s:6:"Uacute";s:3:"-40";s:11:"Ucircumflex";s:3:"-40";s:9:"Udieresis";s:3:"-40";s:6:"Ugrave";s:3:"-40";s:13:"Uhungarumlaut";s:3:"-40";s:7:"Umacron";s:3:"-40";s:7:"Uogonek";s:3:"-40";s:5:"Uring";s:3:"-40";s:1:"V";s:3:"-50";s:1:"W";s:3:"-30";s:1:"Y";s:3:"-50";s:6:"Yacute";s:3:"-50";s:9:"Ydieresis";s:3:"-50";}s:6:"Rcaron";a:26:{s:1:"O";s:3:"-20";s:6:"Oacute";s:3:"-20";s:11:"Ocircumflex";s:3:"-20";s:9:"Odieresis";s:3:"-20";s:6:"Ograve";s:3:"-20";s:13:"Ohungarumlaut";s:3:"-20";s:7:"Omacron";s:3:"-20";s:6:"Oslash";s:3:"-20";s:6:"Otilde";s:3:"-20";s:1:"T";s:3:"-30";s:6:"Tcaron";s:3:"-30";s:12:"Tcommaaccent";s:3:"-30";s:1:"U";s:3:"-40";s:6:"Uacute";s:3:"-40";s:11:"Ucircumflex";s:3:"-40";s:9:"Udieresis";s:3:"-40";s:6:"Ugrave";s:3:"-40";s:13:"Uhungarumlaut";s:3:"-40";s:7:"Umacron";s:3:"-40";s:7:"Uogonek";s:3:"-40";s:5:"Uring";s:3:"-40";s:1:"V";s:3:"-50";s:1:"W";s:3:"-30";s:1:"Y";s:3:"-50";s:6:"Yacute";s:3:"-50";s:9:"Ydieresis";s:3:"-50";}s:12:"Rcommaaccent";a:26:{s:1:"O";s:3:"-20";s:6:"Oacute";s:3:"-20";s:11:"Ocircumflex";s:3:"-20";s:9:"Odieresis";s:3:"-20";s:6:"Ograve";s:3:"-20";s:13:"Ohungarumlaut";s:3:"-20";s:7:"Omacron";s:3:"-20";s:6:"Oslash";s:3:"-20";s:6:"Otilde";s:3:"-20";s:1:"T";s:3:"-30";s:6:"Tcaron";s:3:"-30";s:12:"Tcommaaccent";s:3:"-30";s:1:"U";s:3:"-40";s:6:"Uacute";s:3:"-40";s:11:"Ucircumflex";s:3:"-40";s:9:"Udieresis";s:3:"-40";s:6:"Ugrave";s:3:"-40";s:13:"Uhungarumlaut";s:3:"-40";s:7:"Umacron";s:3:"-40";s:7:"Uogonek";s:3:"-40";s:5:"Uring";s:3:"-40";s:1:"V";s:3:"-50";s:1:"W";s:3:"-30";s:1:"Y";s:3:"-50";s:6:"Yacute";s:3:"-50";s:9:"Ydieresis";s:3:"-50";}s:1:"S";a:2:{s:5:"comma";s:3:"-20";s:6:"period";s:3:"-20";}s:6:"Sacute";a:2:{s:5:"comma";s:3:"-20";s:6:"period";s:3:"-20";}s:6:"Scaron";a:2:{s:5:"comma";s:3:"-20";s:6:"period";s:3:"-20";}s:8:"Scedilla";a:2:{s:5:"comma";s:3:"-20";s:6:"period";s:3:"-20";}s:12:"Scommaaccent";a:2:{s:5:"comma";s:3:"-20";s:6:"period";s:3:"-20";}s:1:"T";a:69:{s:1:"A";s:4:"-120";s:6:"Aacute";s:4:"-120";s:6:"Abreve";s:4:"-120";s:11:"Acircumflex";s:4:"-120";s:9:"Adieresis";s:4:"-120";s:6:"Agrave";s:4:"-120";s:7:"Amacron";s:4:"-120";s:7:"Aogonek";s:4:"-120";s:5:"Aring";s:4:"-120";s:6:"Atilde";s:4:"-120";s:1:"O";s:3:"-40";s:6:"Oacute";s:3:"-40";s:11:"Ocircumflex";s:3:"-40";s:9:"Odieresis";s:3:"-40";s:6:"Ograve";s:3:"-40";s:13:"Ohungarumlaut";s:3:"-40";s:7:"Omacron";s:3:"-40";s:6:"Oslash";s:3:"-40";s:6:"Otilde";s:3:"-40";s:1:"a";s:4:"-120";s:6:"aacute";s:4:"-120";s:6:"abreve";s:3:"-60";s:11:"acircumflex";s:4:"-120";s:9:"adieresis";s:4:"-120";s:6:"agrave";s:4:"-120";s:7:"amacron";s:3:"-60";s:7:"aogonek";s:4:"-120";s:5:"aring";s:4:"-120";s:6:"atilde";s:3:"-60";s:5:"colon";s:3:"-20";s:5:"comma";s:4:"-120";s:1:"e";s:4:"-120";s:6:"eacute";s:4:"-120";s:6:"ecaron";s:4:"-120";s:11:"ecircumflex";s:4:"-120";s:9:"edieresis";s:4:"-120";s:10:"edotaccent";s:4:"-120";s:6:"egrave";s:3:"-60";s:7:"emacron";s:3:"-60";s:7:"eogonek";s:4:"-120";s:6:"hyphen";s:4:"-140";s:1:"o";s:4:"-120";s:6:"oacute";s:4:"-120";s:11:"ocircumflex";s:4:"-120";s:9:"odieresis";s:4:"-120";s:6:"ograve";s:4:"-120";s:13:"ohungarumlaut";s:4:"-120";s:7:"omacron";s:3:"-60";s:6:"oslash";s:4:"-120";s:6:"otilde";s:3:"-60";s:6:"period";s:4:"-120";s:1:"r";s:4:"-120";s:6:"racute";s:4:"-120";s:6:"rcaron";s:4:"-120";s:12:"rcommaaccent";s:4:"-120";s:9:"semicolon";s:3:"-20";s:1:"u";s:4:"-120";s:6:"uacute";s:4:"-120";s:11:"ucircumflex";s:4:"-120";s:9:"udieresis";s:4:"-120";s:6:"ugrave";s:4:"-120";s:13:"uhungarumlaut";s:4:"-120";s:7:"umacron";s:3:"-60";s:7:"uogonek";s:4:"-120";s:5:"uring";s:4:"-120";s:1:"w";s:4:"-120";s:1:"y";s:4:"-120";s:6:"yacute";s:4:"-120";s:9:"ydieresis";s:3:"-60";}s:6:"Tcaron";a:69:{s:1:"A";s:4:"-120";s:6:"Aacute";s:4:"-120";s:6:"Abreve";s:4:"-120";s:11:"Acircumflex";s:4:"-120";s:9:"Adieresis";s:4:"-120";s:6:"Agrave";s:4:"-120";s:7:"Amacron";s:4:"-120";s:7:"Aogonek";s:4:"-120";s:5:"Aring";s:4:"-120";s:6:"Atilde";s:4:"-120";s:1:"O";s:3:"-40";s:6:"Oacute";s:3:"-40";s:11:"Ocircumflex";s:3:"-40";s:9:"Odieresis";s:3:"-40";s:6:"Ograve";s:3:"-40";s:13:"Ohungarumlaut";s:3:"-40";s:7:"Omacron";s:3:"-40";s:6:"Oslash";s:3:"-40";s:6:"Otilde";s:3:"-40";s:1:"a";s:4:"-120";s:6:"aacute";s:4:"-120";s:6:"abreve";s:3:"-60";s:11:"acircumflex";s:4:"-120";s:9:"adieresis";s:4:"-120";s:6:"agrave";s:4:"-120";s:7:"amacron";s:3:"-60";s:7:"aogonek";s:4:"-120";s:5:"aring";s:4:"-120";s:6:"atilde";s:3:"-60";s:5:"colon";s:3:"-20";s:5:"comma";s:4:"-120";s:1:"e";s:4:"-120";s:6:"eacute";s:4:"-120";s:6:"ecaron";s:4:"-120";s:11:"ecircumflex";s:4:"-120";s:9:"edieresis";s:4:"-120";s:10:"edotaccent";s:4:"-120";s:6:"egrave";s:3:"-60";s:7:"emacron";s:3:"-60";s:7:"eogonek";s:4:"-120";s:6:"hyphen";s:4:"-140";s:1:"o";s:4:"-120";s:6:"oacute";s:4:"-120";s:11:"ocircumflex";s:4:"-120";s:9:"odieresis";s:4:"-120";s:6:"ograve";s:4:"-120";s:13:"ohungarumlaut";s:4:"-120";s:7:"omacron";s:3:"-60";s:6:"oslash";s:4:"-120";s:6:"otilde";s:3:"-60";s:6:"period";s:4:"-120";s:1:"r";s:4:"-120";s:6:"racute";s:4:"-120";s:6:"rcaron";s:4:"-120";s:12:"rcommaaccent";s:4:"-120";s:9:"semicolon";s:3:"-20";s:1:"u";s:4:"-120";s:6:"uacute";s:4:"-120";s:11:"ucircumflex";s:4:"-120";s:9:"udieresis";s:4:"-120";s:6:"ugrave";s:4:"-120";s:13:"uhungarumlaut";s:4:"-120";s:7:"umacron";s:3:"-60";s:7:"uogonek";s:4:"-120";s:5:"uring";s:4:"-120";s:1:"w";s:4:"-120";s:1:"y";s:4:"-120";s:6:"yacute";s:4:"-120";s:9:"ydieresis";s:3:"-60";}s:12:"Tcommaaccent";a:69:{s:1:"A";s:4:"-120";s:6:"Aacute";s:4:"-120";s:6:"Abreve";s:4:"-120";s:11:"Acircumflex";s:4:"-120";s:9:"Adieresis";s:4:"-120";s:6:"Agrave";s:4:"-120";s:7:"Amacron";s:4:"-120";s:7:"Aogonek";s:4:"-120";s:5:"Aring";s:4:"-120";s:6:"Atilde";s:4:"-120";s:1:"O";s:3:"-40";s:6:"Oacute";s:3:"-40";s:11:"Ocircumflex";s:3:"-40";s:9:"Odieresis";s:3:"-40";s:6:"Ograve";s:3:"-40";s:13:"Ohungarumlaut";s:3:"-40";s:7:"Omacron";s:3:"-40";s:6:"Oslash";s:3:"-40";s:6:"Otilde";s:3:"-40";s:1:"a";s:4:"-120";s:6:"aacute";s:4:"-120";s:6:"abreve";s:3:"-60";s:11:"acircumflex";s:4:"-120";s:9:"adieresis";s:4:"-120";s:6:"agrave";s:4:"-120";s:7:"amacron";s:3:"-60";s:7:"aogonek";s:4:"-120";s:5:"aring";s:4:"-120";s:6:"atilde";s:3:"-60";s:5:"colon";s:3:"-20";s:5:"comma";s:4:"-120";s:1:"e";s:4:"-120";s:6:"eacute";s:4:"-120";s:6:"ecaron";s:4:"-120";s:11:"ecircumflex";s:4:"-120";s:9:"edieresis";s:4:"-120";s:10:"edotaccent";s:4:"-120";s:6:"egrave";s:3:"-60";s:7:"emacron";s:3:"-60";s:7:"eogonek";s:4:"-120";s:6:"hyphen";s:4:"-140";s:1:"o";s:4:"-120";s:6:"oacute";s:4:"-120";s:11:"ocircumflex";s:4:"-120";s:9:"odieresis";s:4:"-120";s:6:"ograve";s:4:"-120";s:13:"ohungarumlaut";s:4:"-120";s:7:"omacron";s:3:"-60";s:6:"oslash";s:4:"-120";s:6:"otilde";s:3:"-60";s:6:"period";s:4:"-120";s:1:"r";s:4:"-120";s:6:"racute";s:4:"-120";s:6:"rcaron";s:4:"-120";s:12:"rcommaaccent";s:4:"-120";s:9:"semicolon";s:3:"-20";s:1:"u";s:4:"-120";s:6:"uacute";s:4:"-120";s:11:"ucircumflex";s:4:"-120";s:9:"udieresis";s:4:"-120";s:6:"ugrave";s:4:"-120";s:13:"uhungarumlaut";s:4:"-120";s:7:"umacron";s:3:"-60";s:7:"uogonek";s:4:"-120";s:5:"uring";s:4:"-120";s:1:"w";s:4:"-120";s:1:"y";s:4:"-120";s:6:"yacute";s:4:"-120";s:9:"ydieresis";s:3:"-60";}s:1:"U";a:12:{s:1:"A";s:3:"-40";s:6:"Aacute";s:3:"-40";s:6:"Abreve";s:3:"-40";s:11:"Acircumflex";s:3:"-40";s:9:"Adieresis";s:3:"-40";s:6:"Agrave";s:3:"-40";s:7:"Amacron";s:3:"-40";s:7:"Aogonek";s:3:"-40";s:5:"Aring";s:3:"-40";s:6:"Atilde";s:3:"-40";s:5:"comma";s:3:"-40";s:6:"period";s:3:"-40";}s:6:"Uacute";a:12:{s:1:"A";s:3:"-40";s:6:"Aacute";s:3:"-40";s:6:"Abreve";s:3:"-40";s:11:"Acircumflex";s:3:"-40";s:9:"Adieresis";s:3:"-40";s:6:"Agrave";s:3:"-40";s:7:"Amacron";s:3:"-40";s:7:"Aogonek";s:3:"-40";s:5:"Aring";s:3:"-40";s:6:"Atilde";s:3:"-40";s:5:"comma";s:3:"-40";s:6:"period";s:3:"-40";}s:11:"Ucircumflex";a:12:{s:1:"A";s:3:"-40";s:6:"Aacute";s:3:"-40";s:6:"Abreve";s:3:"-40";s:11:"Acircumflex";s:3:"-40";s:9:"Adieresis";s:3:"-40";s:6:"Agrave";s:3:"-40";s:7:"Amacron";s:3:"-40";s:7:"Aogonek";s:3:"-40";s:5:"Aring";s:3:"-40";s:6:"Atilde";s:3:"-40";s:5:"comma";s:3:"-40";s:6:"period";s:3:"-40";}s:9:"Udieresis";a:12:{s:1:"A";s:3:"-40";s:6:"Aacute";s:3:"-40";s:6:"Abreve";s:3:"-40";s:11:"Acircumflex";s:3:"-40";s:9:"Adieresis";s:3:"-40";s:6:"Agrave";s:3:"-40";s:7:"Amacron";s:3:"-40";s:7:"Aogonek";s:3:"-40";s:5:"Aring";s:3:"-40";s:6:"Atilde";s:3:"-40";s:5:"comma";s:3:"-40";s:6:"period";s:3:"-40";}s:6:"Ugrave";a:12:{s:1:"A";s:3:"-40";s:6:"Aacute";s:3:"-40";s:6:"Abreve";s:3:"-40";s:11:"Acircumflex";s:3:"-40";s:9:"Adieresis";s:3:"-40";s:6:"Agrave";s:3:"-40";s:7:"Amacron";s:3:"-40";s:7:"Aogonek";s:3:"-40";s:5:"Aring";s:3:"-40";s:6:"Atilde";s:3:"-40";s:5:"comma";s:3:"-40";s:6:"period";s:3:"-40";}s:13:"Uhungarumlaut";a:12:{s:1:"A";s:3:"-40";s:6:"Aacute";s:3:"-40";s:6:"Abreve";s:3:"-40";s:11:"Acircumflex";s:3:"-40";s:9:"Adieresis";s:3:"-40";s:6:"Agrave";s:3:"-40";s:7:"Amacron";s:3:"-40";s:7:"Aogonek";s:3:"-40";s:5:"Aring";s:3:"-40";s:6:"Atilde";s:3:"-40";s:5:"comma";s:3:"-40";s:6:"period";s:3:"-40";}s:7:"Umacron";a:12:{s:1:"A";s:3:"-40";s:6:"Aacute";s:3:"-40";s:6:"Abreve";s:3:"-40";s:11:"Acircumflex";s:3:"-40";s:9:"Adieresis";s:3:"-40";s:6:"Agrave";s:3:"-40";s:7:"Amacron";s:3:"-40";s:7:"Aogonek";s:3:"-40";s:5:"Aring";s:3:"-40";s:6:"Atilde";s:3:"-40";s:5:"comma";s:3:"-40";s:6:"period";s:3:"-40";}s:7:"Uogonek";a:12:{s:1:"A";s:3:"-40";s:6:"Aacute";s:3:"-40";s:6:"Abreve";s:3:"-40";s:11:"Acircumflex";s:3:"-40";s:9:"Adieresis";s:3:"-40";s:6:"Agrave";s:3:"-40";s:7:"Amacron";s:3:"-40";s:7:"Aogonek";s:3:"-40";s:5:"Aring";s:3:"-40";s:6:"Atilde";s:3:"-40";s:5:"comma";s:3:"-40";s:6:"period";s:3:"-40";}s:5:"Uring";a:12:{s:1:"A";s:3:"-40";s:6:"Aacute";s:3:"-40";s:6:"Abreve";s:3:"-40";s:11:"Acircumflex";s:3:"-40";s:9:"Adieresis";s:3:"-40";s:6:"Agrave";s:3:"-40";s:7:"Amacron";s:3:"-40";s:7:"Aogonek";s:3:"-40";s:5:"Aring";s:3:"-40";s:6:"Atilde";s:3:"-40";s:5:"comma";s:3:"-40";s:6:"period";s:3:"-40";}s:1:"V";a:64:{s:1:"A";s:3:"-80";s:6:"Aacute";s:3:"-80";s:6:"Abreve";s:3:"-80";s:11:"Acircumflex";s:3:"-80";s:9:"Adieresis";s:3:"-80";s:6:"Agrave";s:3:"-80";s:7:"Amacron";s:3:"-80";s:7:"Aogonek";s:3:"-80";s:5:"Aring";s:3:"-80";s:6:"Atilde";s:3:"-80";s:1:"G";s:3:"-40";s:6:"Gbreve";s:3:"-40";s:12:"Gcommaaccent";s:3:"-40";s:1:"O";s:3:"-40";s:6:"Oacute";s:3:"-40";s:11:"Ocircumflex";s:3:"-40";s:9:"Odieresis";s:3:"-40";s:6:"Ograve";s:3:"-40";s:13:"Ohungarumlaut";s:3:"-40";s:7:"Omacron";s:3:"-40";s:6:"Oslash";s:3:"-40";s:6:"Otilde";s:3:"-40";s:1:"a";s:3:"-70";s:6:"aacute";s:3:"-70";s:6:"abreve";s:3:"-70";s:11:"acircumflex";s:3:"-70";s:9:"adieresis";s:3:"-70";s:6:"agrave";s:3:"-70";s:7:"amacron";s:3:"-70";s:7:"aogonek";s:3:"-70";s:5:"aring";s:3:"-70";s:6:"atilde";s:3:"-70";s:5:"colon";s:3:"-40";s:5:"comma";s:4:"-125";s:1:"e";s:3:"-80";s:6:"eacute";s:3:"-80";s:6:"ecaron";s:3:"-80";s:11:"ecircumflex";s:3:"-80";s:9:"edieresis";s:3:"-80";s:10:"edotaccent";s:3:"-80";s:6:"egrave";s:3:"-80";s:7:"emacron";s:3:"-80";s:7:"eogonek";s:3:"-80";s:6:"hyphen";s:3:"-80";s:1:"o";s:3:"-80";s:6:"oacute";s:3:"-80";s:11:"ocircumflex";s:3:"-80";s:9:"odieresis";s:3:"-80";s:6:"ograve";s:3:"-80";s:13:"ohungarumlaut";s:3:"-80";s:7:"omacron";s:3:"-80";s:6:"oslash";s:3:"-80";s:6:"otilde";s:3:"-80";s:6:"period";s:4:"-125";s:9:"semicolon";s:3:"-40";s:1:"u";s:3:"-70";s:6:"uacute";s:3:"-70";s:11:"ucircumflex";s:3:"-70";s:9:"udieresis";s:3:"-70";s:6:"ugrave";s:3:"-70";s:13:"uhungarumlaut";s:3:"-70";s:7:"umacron";s:3:"-70";s:7:"uogonek";s:3:"-70";s:5:"uring";s:3:"-70";}s:1:"W";a:62:{s:1:"A";s:3:"-50";s:6:"Aacute";s:3:"-50";s:6:"Abreve";s:3:"-50";s:11:"Acircumflex";s:3:"-50";s:9:"Adieresis";s:3:"-50";s:6:"Agrave";s:3:"-50";s:7:"Amacron";s:3:"-50";s:7:"Aogonek";s:3:"-50";s:5:"Aring";s:3:"-50";s:6:"Atilde";s:3:"-50";s:1:"O";s:3:"-20";s:6:"Oacute";s:3:"-20";s:11:"Ocircumflex";s:3:"-20";s:9:"Odieresis";s:3:"-20";s:6:"Ograve";s:3:"-20";s:13:"Ohungarumlaut";s:3:"-20";s:7:"Omacron";s:3:"-20";s:6:"Oslash";s:3:"-20";s:6:"Otilde";s:3:"-20";s:1:"a";s:3:"-40";s:6:"aacute";s:3:"-40";s:6:"abreve";s:3:"-40";s:11:"acircumflex";s:3:"-40";s:9:"adieresis";s:3:"-40";s:6:"agrave";s:3:"-40";s:7:"amacron";s:3:"-40";s:7:"aogonek";s:3:"-40";s:5:"aring";s:3:"-40";s:6:"atilde";s:3:"-40";s:5:"comma";s:3:"-80";s:1:"e";s:3:"-30";s:6:"eacute";s:3:"-30";s:6:"ecaron";s:3:"-30";s:11:"ecircumflex";s:3:"-30";s:9:"edieresis";s:3:"-30";s:10:"edotaccent";s:3:"-30";s:6:"egrave";s:3:"-30";s:7:"emacron";s:3:"-30";s:7:"eogonek";s:3:"-30";s:6:"hyphen";s:3:"-40";s:1:"o";s:3:"-30";s:6:"oacute";s:3:"-30";s:11:"ocircumflex";s:3:"-30";s:9:"odieresis";s:3:"-30";s:6:"ograve";s:3:"-30";s:13:"ohungarumlaut";s:3:"-30";s:7:"omacron";s:3:"-30";s:6:"oslash";s:3:"-30";s:6:"otilde";s:3:"-30";s:6:"period";s:3:"-80";s:1:"u";s:3:"-30";s:6:"uacute";s:3:"-30";s:11:"ucircumflex";s:3:"-30";s:9:"udieresis";s:3:"-30";s:6:"ugrave";s:3:"-30";s:13:"uhungarumlaut";s:3:"-30";s:7:"umacron";s:3:"-30";s:7:"uogonek";s:3:"-30";s:5:"uring";s:3:"-30";s:1:"y";s:3:"-20";s:6:"yacute";s:3:"-20";s:9:"ydieresis";s:3:"-20";}s:1:"Y";a:64:{s:1:"A";s:4:"-110";s:6:"Aacute";s:4:"-110";s:6:"Abreve";s:4:"-110";s:11:"Acircumflex";s:4:"-110";s:9:"Adieresis";s:4:"-110";s:6:"Agrave";s:4:"-110";s:7:"Amacron";s:4:"-110";s:7:"Aogonek";s:4:"-110";s:5:"Aring";s:4:"-110";s:6:"Atilde";s:4:"-110";s:1:"O";s:3:"-85";s:6:"Oacute";s:3:"-85";s:11:"Ocircumflex";s:3:"-85";s:9:"Odieresis";s:3:"-85";s:6:"Ograve";s:3:"-85";s:13:"Ohungarumlaut";s:3:"-85";s:7:"Omacron";s:3:"-85";s:6:"Oslash";s:3:"-85";s:6:"Otilde";s:3:"-85";s:1:"a";s:4:"-140";s:6:"aacute";s:4:"-140";s:6:"abreve";s:3:"-70";s:11:"acircumflex";s:4:"-140";s:9:"adieresis";s:4:"-140";s:6:"agrave";s:4:"-140";s:7:"amacron";s:3:"-70";s:7:"aogonek";s:4:"-140";s:5:"aring";s:4:"-140";s:6:"atilde";s:4:"-140";s:5:"colon";s:3:"-60";s:5:"comma";s:4:"-140";s:1:"e";s:4:"-140";s:6:"eacute";s:4:"-140";s:6:"ecaron";s:4:"-140";s:11:"ecircumflex";s:4:"-140";s:9:"edieresis";s:4:"-140";s:10:"edotaccent";s:4:"-140";s:6:"egrave";s:4:"-140";s:7:"emacron";s:3:"-70";s:7:"eogonek";s:4:"-140";s:6:"hyphen";s:4:"-140";s:1:"i";s:3:"-20";s:6:"iacute";s:3:"-20";s:7:"iogonek";s:3:"-20";s:1:"o";s:4:"-140";s:6:"oacute";s:4:"-140";s:11:"ocircumflex";s:4:"-140";s:9:"odieresis";s:4:"-140";s:6:"ograve";s:4:"-140";s:13:"ohungarumlaut";s:4:"-140";s:7:"omacron";s:4:"-140";s:6:"oslash";s:4:"-140";s:6:"otilde";s:4:"-140";s:6:"period";s:4:"-140";s:9:"semicolon";s:3:"-60";s:1:"u";s:4:"-110";s:6:"uacute";s:4:"-110";s:11:"ucircumflex";s:4:"-110";s:9:"udieresis";s:4:"-110";s:6:"ugrave";s:4:"-110";s:13:"uhungarumlaut";s:4:"-110";s:7:"umacron";s:4:"-110";s:7:"uogonek";s:4:"-110";s:5:"uring";s:4:"-110";}s:6:"Yacute";a:64:{s:1:"A";s:4:"-110";s:6:"Aacute";s:4:"-110";s:6:"Abreve";s:4:"-110";s:11:"Acircumflex";s:4:"-110";s:9:"Adieresis";s:4:"-110";s:6:"Agrave";s:4:"-110";s:7:"Amacron";s:4:"-110";s:7:"Aogonek";s:4:"-110";s:5:"Aring";s:4:"-110";s:6:"Atilde";s:4:"-110";s:1:"O";s:3:"-85";s:6:"Oacute";s:3:"-85";s:11:"Ocircumflex";s:3:"-85";s:9:"Odieresis";s:3:"-85";s:6:"Ograve";s:3:"-85";s:13:"Ohungarumlaut";s:3:"-85";s:7:"Omacron";s:3:"-85";s:6:"Oslash";s:3:"-85";s:6:"Otilde";s:3:"-85";s:1:"a";s:4:"-140";s:6:"aacute";s:4:"-140";s:6:"abreve";s:3:"-70";s:11:"acircumflex";s:4:"-140";s:9:"adieresis";s:4:"-140";s:6:"agrave";s:4:"-140";s:7:"amacron";s:3:"-70";s:7:"aogonek";s:4:"-140";s:5:"aring";s:4:"-140";s:6:"atilde";s:3:"-70";s:5:"colon";s:3:"-60";s:5:"comma";s:4:"-140";s:1:"e";s:4:"-140";s:6:"eacute";s:4:"-140";s:6:"ecaron";s:4:"-140";s:11:"ecircumflex";s:4:"-140";s:9:"edieresis";s:4:"-140";s:10:"edotaccent";s:4:"-140";s:6:"egrave";s:4:"-140";s:7:"emacron";s:3:"-70";s:7:"eogonek";s:4:"-140";s:6:"hyphen";s:4:"-140";s:1:"i";s:3:"-20";s:6:"iacute";s:3:"-20";s:7:"iogonek";s:3:"-20";s:1:"o";s:4:"-140";s:6:"oacute";s:4:"-140";s:11:"ocircumflex";s:4:"-140";s:9:"odieresis";s:4:"-140";s:6:"ograve";s:4:"-140";s:13:"ohungarumlaut";s:4:"-140";s:7:"omacron";s:3:"-70";s:6:"oslash";s:4:"-140";s:6:"otilde";s:4:"-140";s:6:"period";s:4:"-140";s:9:"semicolon";s:3:"-60";s:1:"u";s:4:"-110";s:6:"uacute";s:4:"-110";s:11:"ucircumflex";s:4:"-110";s:9:"udieresis";s:4:"-110";s:6:"ugrave";s:4:"-110";s:13:"uhungarumlaut";s:4:"-110";s:7:"umacron";s:4:"-110";s:7:"uogonek";s:4:"-110";s:5:"uring";s:4:"-110";}s:9:"Ydieresis";a:64:{s:1:"A";s:4:"-110";s:6:"Aacute";s:4:"-110";s:6:"Abreve";s:4:"-110";s:11:"Acircumflex";s:4:"-110";s:9:"Adieresis";s:4:"-110";s:6:"Agrave";s:4:"-110";s:7:"Amacron";s:4:"-110";s:7:"Aogonek";s:4:"-110";s:5:"Aring";s:4:"-110";s:6:"Atilde";s:4:"-110";s:1:"O";s:3:"-85";s:6:"Oacute";s:3:"-85";s:11:"Ocircumflex";s:3:"-85";s:9:"Odieresis";s:3:"-85";s:6:"Ograve";s:3:"-85";s:13:"Ohungarumlaut";s:3:"-85";s:7:"Omacron";s:3:"-85";s:6:"Oslash";s:3:"-85";s:6:"Otilde";s:3:"-85";s:1:"a";s:4:"-140";s:6:"aacute";s:4:"-140";s:6:"abreve";s:3:"-70";s:11:"acircumflex";s:4:"-140";s:9:"adieresis";s:4:"-140";s:6:"agrave";s:4:"-140";s:7:"amacron";s:3:"-70";s:7:"aogonek";s:4:"-140";s:5:"aring";s:4:"-140";s:6:"atilde";s:3:"-70";s:5:"colon";s:3:"-60";s:5:"comma";s:4:"-140";s:1:"e";s:4:"-140";s:6:"eacute";s:4:"-140";s:6:"ecaron";s:4:"-140";s:11:"ecircumflex";s:4:"-140";s:9:"edieresis";s:4:"-140";s:10:"edotaccent";s:4:"-140";s:6:"egrave";s:4:"-140";s:7:"emacron";s:3:"-70";s:7:"eogonek";s:4:"-140";s:6:"hyphen";s:4:"-140";s:1:"i";s:3:"-20";s:6:"iacute";s:3:"-20";s:7:"iogonek";s:3:"-20";s:1:"o";s:4:"-140";s:6:"oacute";s:4:"-140";s:11:"ocircumflex";s:4:"-140";s:9:"odieresis";s:4:"-140";s:6:"ograve";s:4:"-140";s:13:"ohungarumlaut";s:4:"-140";s:7:"omacron";s:4:"-140";s:6:"oslash";s:4:"-140";s:6:"otilde";s:4:"-140";s:6:"period";s:4:"-140";s:9:"semicolon";s:3:"-60";s:1:"u";s:4:"-110";s:6:"uacute";s:4:"-110";s:11:"ucircumflex";s:4:"-110";s:9:"udieresis";s:4:"-110";s:6:"ugrave";s:4:"-110";s:13:"uhungarumlaut";s:4:"-110";s:7:"umacron";s:4:"-110";s:7:"uogonek";s:4:"-110";s:5:"uring";s:4:"-110";}s:1:"a";a:5:{s:1:"v";s:3:"-20";s:1:"w";s:3:"-20";s:1:"y";s:3:"-30";s:6:"yacute";s:3:"-30";s:9:"ydieresis";s:3:"-30";}s:6:"aacute";a:5:{s:1:"v";s:3:"-20";s:1:"w";s:3:"-20";s:1:"y";s:3:"-30";s:6:"yacute";s:3:"-30";s:9:"ydieresis";s:3:"-30";}s:6:"abreve";a:5:{s:1:"v";s:3:"-20";s:1:"w";s:3:"-20";s:1:"y";s:3:"-30";s:6:"yacute";s:3:"-30";s:9:"ydieresis";s:3:"-30";}s:11:"acircumflex";a:5:{s:1:"v";s:3:"-20";s:1:"w";s:3:"-20";s:1:"y";s:3:"-30";s:6:"yacute";s:3:"-30";s:9:"ydieresis";s:3:"-30";}s:9:"adieresis";a:5:{s:1:"v";s:3:"-20";s:1:"w";s:3:"-20";s:1:"y";s:3:"-30";s:6:"yacute";s:3:"-30";s:9:"ydieresis";s:3:"-30";}s:6:"agrave";a:5:{s:1:"v";s:3:"-20";s:1:"w";s:3:"-20";s:1:"y";s:3:"-30";s:6:"yacute";s:3:"-30";s:9:"ydieresis";s:3:"-30";}s:7:"amacron";a:5:{s:1:"v";s:3:"-20";s:1:"w";s:3:"-20";s:1:"y";s:3:"-30";s:6:"yacute";s:3:"-30";s:9:"ydieresis";s:3:"-30";}s:7:"aogonek";a:5:{s:1:"v";s:3:"-20";s:1:"w";s:3:"-20";s:1:"y";s:3:"-30";s:6:"yacute";s:3:"-30";s:9:"ydieresis";s:3:"-30";}s:5:"aring";a:5:{s:1:"v";s:3:"-20";s:1:"w";s:3:"-20";s:1:"y";s:3:"-30";s:6:"yacute";s:3:"-30";s:9:"ydieresis";s:3:"-30";}s:6:"atilde";a:5:{s:1:"v";s:3:"-20";s:1:"w";s:3:"-20";s:1:"y";s:3:"-30";s:6:"yacute";s:3:"-30";s:9:"ydieresis";s:3:"-30";}s:1:"b";a:20:{s:1:"b";s:3:"-10";s:5:"comma";s:3:"-40";s:1:"l";s:3:"-20";s:6:"lacute";s:3:"-20";s:12:"lcommaaccent";s:3:"-20";s:6:"lslash";s:3:"-20";s:6:"period";s:3:"-40";s:1:"u";s:3:"-20";s:6:"uacute";s:3:"-20";s:11:"ucircumflex";s:3:"-20";s:9:"udieresis";s:3:"-20";s:6:"ugrave";s:3:"-20";s:13:"uhungarumlaut";s:3:"-20";s:7:"umacron";s:3:"-20";s:7:"uogonek";s:3:"-20";s:5:"uring";s:3:"-20";s:1:"v";s:3:"-20";s:1:"y";s:3:"-20";s:6:"yacute";s:3:"-20";s:9:"ydieresis";s:3:"-20";}s:1:"c";a:3:{s:5:"comma";s:3:"-15";s:1:"k";s:3:"-20";s:12:"kcommaaccent";s:3:"-20";}s:6:"cacute";a:3:{s:5:"comma";s:3:"-15";s:1:"k";s:3:"-20";s:12:"kcommaaccent";s:3:"-20";}s:6:"ccaron";a:3:{s:5:"comma";s:3:"-15";s:1:"k";s:3:"-20";s:12:"kcommaaccent";s:3:"-20";}s:8:"ccedilla";a:3:{s:5:"comma";s:3:"-15";s:1:"k";s:3:"-20";s:12:"kcommaaccent";s:3:"-20";}s:5:"colon";a:1:{s:5:"space";s:3:"-50";}s:5:"comma";a:2:{s:13:"quotedblright";s:4:"-100";s:10:"quoteright";s:4:"-100";}s:1:"e";a:8:{s:5:"comma";s:3:"-15";s:6:"period";s:3:"-15";s:1:"v";s:3:"-30";s:1:"w";s:3:"-20";s:1:"x";s:3:"-30";s:1:"y";s:3:"-20";s:6:"yacute";s:3:"-20";s:9:"ydieresis";s:3:"-20";}s:6:"eacute";a:8:{s:5:"comma";s:3:"-15";s:6:"period";s:3:"-15";s:1:"v";s:3:"-30";s:1:"w";s:3:"-20";s:1:"x";s:3:"-30";s:1:"y";s:3:"-20";s:6:"yacute";s:3:"-20";s:9:"ydieresis";s:3:"-20";}s:6:"ecaron";a:8:{s:5:"comma";s:3:"-15";s:6:"period";s:3:"-15";s:1:"v";s:3:"-30";s:1:"w";s:3:"-20";s:1:"x";s:3:"-30";s:1:"y";s:3:"-20";s:6:"yacute";s:3:"-20";s:9:"ydieresis";s:3:"-20";}s:11:"ecircumflex";a:8:{s:5:"comma";s:3:"-15";s:6:"period";s:3:"-15";s:1:"v";s:3:"-30";s:1:"w";s:3:"-20";s:1:"x";s:3:"-30";s:1:"y";s:3:"-20";s:6:"yacute";s:3:"-20";s:9:"ydieresis";s:3:"-20";}s:9:"edieresis";a:8:{s:5:"comma";s:3:"-15";s:6:"period";s:3:"-15";s:1:"v";s:3:"-30";s:1:"w";s:3:"-20";s:1:"x";s:3:"-30";s:1:"y";s:3:"-20";s:6:"yacute";s:3:"-20";s:9:"ydieresis";s:3:"-20";}s:10:"edotaccent";a:8:{s:5:"comma";s:3:"-15";s:6:"period";s:3:"-15";s:1:"v";s:3:"-30";s:1:"w";s:3:"-20";s:1:"x";s:3:"-30";s:1:"y";s:3:"-20";s:6:"yacute";s:3:"-20";s:9:"ydieresis";s:3:"-20";}s:6:"egrave";a:8:{s:5:"comma";s:3:"-15";s:6:"period";s:3:"-15";s:1:"v";s:3:"-30";s:1:"w";s:3:"-20";s:1:"x";s:3:"-30";s:1:"y";s:3:"-20";s:6:"yacute";s:3:"-20";s:9:"ydieresis";s:3:"-20";}s:7:"emacron";a:8:{s:5:"comma";s:3:"-15";s:6:"period";s:3:"-15";s:1:"v";s:3:"-30";s:1:"w";s:3:"-20";s:1:"x";s:3:"-30";s:1:"y";s:3:"-20";s:6:"yacute";s:3:"-20";s:9:"ydieresis";s:3:"-20";}s:7:"eogonek";a:8:{s:5:"comma";s:3:"-15";s:6:"period";s:3:"-15";s:1:"v";s:3:"-30";s:1:"w";s:3:"-20";s:1:"x";s:3:"-30";s:1:"y";s:3:"-20";s:6:"yacute";s:3:"-20";s:9:"ydieresis";s:3:"-20";}s:1:"f";a:33:{s:1:"a";s:3:"-30";s:6:"aacute";s:3:"-30";s:6:"abreve";s:3:"-30";s:11:"acircumflex";s:3:"-30";s:9:"adieresis";s:3:"-30";s:6:"agrave";s:3:"-30";s:7:"amacron";s:3:"-30";s:7:"aogonek";s:3:"-30";s:5:"aring";s:3:"-30";s:6:"atilde";s:3:"-30";s:5:"comma";s:3:"-30";s:8:"dotlessi";s:3:"-28";s:1:"e";s:3:"-30";s:6:"eacute";s:3:"-30";s:6:"ecaron";s:3:"-30";s:11:"ecircumflex";s:3:"-30";s:9:"edieresis";s:3:"-30";s:10:"edotaccent";s:3:"-30";s:6:"egrave";s:3:"-30";s:7:"emacron";s:3:"-30";s:7:"eogonek";s:3:"-30";s:1:"o";s:3:"-30";s:6:"oacute";s:3:"-30";s:11:"ocircumflex";s:3:"-30";s:9:"odieresis";s:3:"-30";s:6:"ograve";s:3:"-30";s:13:"ohungarumlaut";s:3:"-30";s:7:"omacron";s:3:"-30";s:6:"oslash";s:3:"-30";s:6:"otilde";s:3:"-30";s:6:"period";s:3:"-30";s:13:"quotedblright";s:2:"60";s:10:"quoteright";s:2:"50";}s:1:"g";a:4:{s:1:"r";s:3:"-10";s:6:"racute";s:3:"-10";s:6:"rcaron";s:3:"-10";s:12:"rcommaaccent";s:3:"-10";}s:6:"gbreve";a:4:{s:1:"r";s:3:"-10";s:6:"racute";s:3:"-10";s:6:"rcaron";s:3:"-10";s:12:"rcommaaccent";s:3:"-10";}s:12:"gcommaaccent";a:4:{s:1:"r";s:3:"-10";s:6:"racute";s:3:"-10";s:6:"rcaron";s:3:"-10";s:12:"rcommaaccent";s:3:"-10";}s:1:"h";a:3:{s:1:"y";s:3:"-30";s:6:"yacute";s:3:"-30";s:9:"ydieresis";s:3:"-30";}s:1:"k";a:18:{s:1:"e";s:3:"-20";s:6:"eacute";s:3:"-20";s:6:"ecaron";s:3:"-20";s:11:"ecircumflex";s:3:"-20";s:9:"edieresis";s:3:"-20";s:10:"edotaccent";s:3:"-20";s:6:"egrave";s:3:"-20";s:7:"emacron";s:3:"-20";s:7:"eogonek";s:3:"-20";s:1:"o";s:3:"-20";s:6:"oacute";s:3:"-20";s:11:"ocircumflex";s:3:"-20";s:9:"odieresis";s:3:"-20";s:6:"ograve";s:3:"-20";s:13:"ohungarumlaut";s:3:"-20";s:7:"omacron";s:3:"-20";s:6:"oslash";s:3:"-20";s:6:"otilde";s:3:"-20";}s:12:"kcommaaccent";a:18:{s:1:"e";s:3:"-20";s:6:"eacute";s:3:"-20";s:6:"ecaron";s:3:"-20";s:11:"ecircumflex";s:3:"-20";s:9:"edieresis";s:3:"-20";s:10:"edotaccent";s:3:"-20";s:6:"egrave";s:3:"-20";s:7:"emacron";s:3:"-20";s:7:"eogonek";s:3:"-20";s:1:"o";s:3:"-20";s:6:"oacute";s:3:"-20";s:11:"ocircumflex";s:3:"-20";s:9:"odieresis";s:3:"-20";s:6:"ograve";s:3:"-20";s:13:"ohungarumlaut";s:3:"-20";s:7:"omacron";s:3:"-20";s:6:"oslash";s:3:"-20";s:6:"otilde";s:3:"-20";}s:1:"m";a:12:{s:1:"u";s:3:"-10";s:6:"uacute";s:3:"-10";s:11:"ucircumflex";s:3:"-10";s:9:"udieresis";s:3:"-10";s:6:"ugrave";s:3:"-10";s:13:"uhungarumlaut";s:3:"-10";s:7:"umacron";s:3:"-10";s:7:"uogonek";s:3:"-10";s:5:"uring";s:3:"-10";s:1:"y";s:3:"-15";s:6:"yacute";s:3:"-15";s:9:"ydieresis";s:3:"-15";}s:1:"n";a:13:{s:1:"u";s:3:"-10";s:6:"uacute";s:3:"-10";s:11:"ucircumflex";s:3:"-10";s:9:"udieresis";s:3:"-10";s:6:"ugrave";s:3:"-10";s:13:"uhungarumlaut";s:3:"-10";s:7:"umacron";s:3:"-10";s:7:"uogonek";s:3:"-10";s:5:"uring";s:3:"-10";s:1:"v";s:3:"-20";s:1:"y";s:3:"-15";s:6:"yacute";s:3:"-15";s:9:"ydieresis";s:3:"-15";}s:6:"nacute";a:13:{s:1:"u";s:3:"-10";s:6:"uacute";s:3:"-10";s:11:"ucircumflex";s:3:"-10";s:9:"udieresis";s:3:"-10";s:6:"ugrave";s:3:"-10";s:13:"uhungarumlaut";s:3:"-10";s:7:"umacron";s:3:"-10";s:7:"uogonek";s:3:"-10";s:5:"uring";s:3:"-10";s:1:"v";s:3:"-20";s:1:"y";s:3:"-15";s:6:"yacute";s:3:"-15";s:9:"ydieresis";s:3:"-15";}s:6:"ncaron";a:13:{s:1:"u";s:3:"-10";s:6:"uacute";s:3:"-10";s:11:"ucircumflex";s:3:"-10";s:9:"udieresis";s:3:"-10";s:6:"ugrave";s:3:"-10";s:13:"uhungarumlaut";s:3:"-10";s:7:"umacron";s:3:"-10";s:7:"uogonek";s:3:"-10";s:5:"uring";s:3:"-10";s:1:"v";s:3:"-20";s:1:"y";s:3:"-15";s:6:"yacute";s:3:"-15";s:9:"ydieresis";s:3:"-15";}s:12:"ncommaaccent";a:13:{s:1:"u";s:3:"-10";s:6:"uacute";s:3:"-10";s:11:"ucircumflex";s:3:"-10";s:9:"udieresis";s:3:"-10";s:6:"ugrave";s:3:"-10";s:13:"uhungarumlaut";s:3:"-10";s:7:"umacron";s:3:"-10";s:7:"uogonek";s:3:"-10";s:5:"uring";s:3:"-10";s:1:"v";s:3:"-20";s:1:"y";s:3:"-15";s:6:"yacute";s:3:"-15";s:9:"ydieresis";s:3:"-15";}s:6:"ntilde";a:13:{s:1:"u";s:3:"-10";s:6:"uacute";s:3:"-10";s:11:"ucircumflex";s:3:"-10";s:9:"udieresis";s:3:"-10";s:6:"ugrave";s:3:"-10";s:13:"uhungarumlaut";s:3:"-10";s:7:"umacron";s:3:"-10";s:7:"uogonek";s:3:"-10";s:5:"uring";s:3:"-10";s:1:"v";s:3:"-20";s:1:"y";s:3:"-15";s:6:"yacute";s:3:"-15";s:9:"ydieresis";s:3:"-15";}s:1:"o";a:8:{s:5:"comma";s:3:"-40";s:6:"period";s:3:"-40";s:1:"v";s:3:"-15";s:1:"w";s:3:"-15";s:1:"x";s:3:"-30";s:1:"y";s:3:"-30";s:6:"yacute";s:3:"-30";s:9:"ydieresis";s:3:"-30";}s:6:"oacute";a:8:{s:5:"comma";s:3:"-40";s:6:"period";s:3:"-40";s:1:"v";s:3:"-15";s:1:"w";s:3:"-15";s:1:"x";s:3:"-30";s:1:"y";s:3:"-30";s:6:"yacute";s:3:"-30";s:9:"ydieresis";s:3:"-30";}s:11:"ocircumflex";a:8:{s:5:"comma";s:3:"-40";s:6:"period";s:3:"-40";s:1:"v";s:3:"-15";s:1:"w";s:3:"-15";s:1:"x";s:3:"-30";s:1:"y";s:3:"-30";s:6:"yacute";s:3:"-30";s:9:"ydieresis";s:3:"-30";}s:9:"odieresis";a:8:{s:5:"comma";s:3:"-40";s:6:"period";s:3:"-40";s:1:"v";s:3:"-15";s:1:"w";s:3:"-15";s:1:"x";s:3:"-30";s:1:"y";s:3:"-30";s:6:"yacute";s:3:"-30";s:9:"ydieresis";s:3:"-30";}s:6:"ograve";a:8:{s:5:"comma";s:3:"-40";s:6:"period";s:3:"-40";s:1:"v";s:3:"-15";s:1:"w";s:3:"-15";s:1:"x";s:3:"-30";s:1:"y";s:3:"-30";s:6:"yacute";s:3:"-30";s:9:"ydieresis";s:3:"-30";}s:13:"ohungarumlaut";a:8:{s:5:"comma";s:3:"-40";s:6:"period";s:3:"-40";s:1:"v";s:3:"-15";s:1:"w";s:3:"-15";s:1:"x";s:3:"-30";s:1:"y";s:3:"-30";s:6:"yacute";s:3:"-30";s:9:"ydieresis";s:3:"-30";}s:7:"omacron";a:8:{s:5:"comma";s:3:"-40";s:6:"period";s:3:"-40";s:1:"v";s:3:"-15";s:1:"w";s:3:"-15";s:1:"x";s:3:"-30";s:1:"y";s:3:"-30";s:6:"yacute";s:3:"-30";s:9:"ydieresis";s:3:"-30";}s:6:"oslash";a:94:{s:1:"a";s:3:"-55";s:6:"aacute";s:3:"-55";s:6:"abreve";s:3:"-55";s:11:"acircumflex";s:3:"-55";s:9:"adieresis";s:3:"-55";s:6:"agrave";s:3:"-55";s:7:"amacron";s:3:"-55";s:7:"aogonek";s:3:"-55";s:5:"aring";s:3:"-55";s:6:"atilde";s:3:"-55";s:1:"b";s:3:"-55";s:1:"c";s:3:"-55";s:6:"cacute";s:3:"-55";s:6:"ccaron";s:3:"-55";s:8:"ccedilla";s:3:"-55";s:5:"comma";s:3:"-95";s:1:"d";s:3:"-55";s:6:"dcroat";s:3:"-55";s:1:"e";s:3:"-55";s:6:"eacute";s:3:"-55";s:6:"ecaron";s:3:"-55";s:11:"ecircumflex";s:3:"-55";s:9:"edieresis";s:3:"-55";s:10:"edotaccent";s:3:"-55";s:6:"egrave";s:3:"-55";s:7:"emacron";s:3:"-55";s:7:"eogonek";s:3:"-55";s:1:"f";s:3:"-55";s:1:"g";s:3:"-55";s:6:"gbreve";s:3:"-55";s:12:"gcommaaccent";s:3:"-55";s:1:"h";s:3:"-55";s:1:"i";s:3:"-55";s:6:"iacute";s:3:"-55";s:11:"icircumflex";s:3:"-55";s:9:"idieresis";s:3:"-55";s:6:"igrave";s:3:"-55";s:7:"imacron";s:3:"-55";s:7:"iogonek";s:3:"-55";s:1:"j";s:3:"-55";s:1:"k";s:3:"-55";s:12:"kcommaaccent";s:3:"-55";s:1:"l";s:3:"-55";s:6:"lacute";s:3:"-55";s:12:"lcommaaccent";s:3:"-55";s:6:"lslash";s:3:"-55";s:1:"m";s:3:"-55";s:1:"n";s:3:"-55";s:6:"nacute";s:3:"-55";s:6:"ncaron";s:3:"-55";s:12:"ncommaaccent";s:3:"-55";s:6:"ntilde";s:3:"-55";s:1:"o";s:3:"-55";s:6:"oacute";s:3:"-55";s:11:"ocircumflex";s:3:"-55";s:9:"odieresis";s:3:"-55";s:6:"ograve";s:3:"-55";s:13:"ohungarumlaut";s:3:"-55";s:7:"omacron";s:3:"-55";s:6:"oslash";s:3:"-55";s:6:"otilde";s:3:"-55";s:1:"p";s:3:"-55";s:6:"period";s:3:"-95";s:1:"q";s:3:"-55";s:1:"r";s:3:"-55";s:6:"racute";s:3:"-55";s:6:"rcaron";s:3:"-55";s:12:"rcommaaccent";s:3:"-55";s:1:"s";s:3:"-55";s:6:"sacute";s:3:"-55";s:6:"scaron";s:3:"-55";s:8:"scedilla";s:3:"-55";s:12:"scommaaccent";s:3:"-55";s:1:"t";s:3:"-55";s:12:"tcommaaccent";s:3:"-55";s:1:"u";s:3:"-55";s:6:"uacute";s:3:"-55";s:11:"ucircumflex";s:3:"-55";s:9:"udieresis";s:3:"-55";s:6:"ugrave";s:3:"-55";s:13:"uhungarumlaut";s:3:"-55";s:7:"umacron";s:3:"-55";s:7:"uogonek";s:3:"-55";s:5:"uring";s:3:"-55";s:1:"v";s:3:"-70";s:1:"w";s:3:"-70";s:1:"x";s:3:"-85";s:1:"y";s:3:"-70";s:6:"yacute";s:3:"-70";s:9:"ydieresis";s:3:"-70";s:1:"z";s:3:"-55";s:6:"zacute";s:3:"-55";s:6:"zcaron";s:3:"-55";s:10:"zdotaccent";s:3:"-55";}s:6:"otilde";a:8:{s:5:"comma";s:3:"-40";s:6:"period";s:3:"-40";s:1:"v";s:3:"-15";s:1:"w";s:3:"-15";s:1:"x";s:3:"-30";s:1:"y";s:3:"-30";s:6:"yacute";s:3:"-30";s:9:"ydieresis";s:3:"-30";}s:1:"p";a:5:{s:5:"comma";s:3:"-35";s:6:"period";s:3:"-35";s:1:"y";s:3:"-30";s:6:"yacute";s:3:"-30";s:9:"ydieresis";s:3:"-30";}s:6:"period";a:3:{s:13:"quotedblright";s:4:"-100";s:10:"quoteright";s:4:"-100";s:5:"space";s:3:"-60";}s:13:"quotedblright";a:1:{s:5:"space";s:3:"-40";}s:9:"quoteleft";a:1:{s:9:"quoteleft";s:3:"-57";}s:10:"quoteright";a:13:{s:1:"d";s:3:"-50";s:6:"dcroat";s:3:"-50";s:10:"quoteright";s:3:"-57";s:1:"r";s:3:"-50";s:6:"racute";s:3:"-50";s:6:"rcaron";s:3:"-50";s:12:"rcommaaccent";s:3:"-50";s:1:"s";s:3:"-50";s:6:"sacute";s:3:"-50";s:6:"scaron";s:3:"-50";s:8:"scedilla";s:3:"-50";s:12:"scommaaccent";s:3:"-50";s:5:"space";s:3:"-70";}s:1:"r";a:49:{s:1:"a";s:3:"-10";s:6:"aacute";s:3:"-10";s:6:"abreve";s:3:"-10";s:11:"acircumflex";s:3:"-10";s:9:"adieresis";s:3:"-10";s:6:"agrave";s:3:"-10";s:7:"amacron";s:3:"-10";s:7:"aogonek";s:3:"-10";s:5:"aring";s:3:"-10";s:6:"atilde";s:3:"-10";s:5:"colon";s:2:"30";s:5:"comma";s:3:"-50";s:1:"i";s:2:"15";s:6:"iacute";s:2:"15";s:11:"icircumflex";s:2:"15";s:9:"idieresis";s:2:"15";s:6:"igrave";s:2:"15";s:7:"imacron";s:2:"15";s:7:"iogonek";s:2:"15";s:1:"k";s:2:"15";s:12:"kcommaaccent";s:2:"15";s:1:"l";s:2:"15";s:6:"lacute";s:2:"15";s:12:"lcommaaccent";s:2:"15";s:6:"lslash";s:2:"15";s:1:"m";s:2:"25";s:1:"n";s:2:"25";s:6:"nacute";s:2:"25";s:6:"ncaron";s:2:"25";s:12:"ncommaaccent";s:2:"25";s:6:"ntilde";s:2:"25";s:1:"p";s:2:"30";s:6:"period";s:3:"-50";s:9:"semicolon";s:2:"30";s:1:"t";s:2:"40";s:12:"tcommaaccent";s:2:"40";s:1:"u";s:2:"15";s:6:"uacute";s:2:"15";s:11:"ucircumflex";s:2:"15";s:9:"udieresis";s:2:"15";s:6:"ugrave";s:2:"15";s:13:"uhungarumlaut";s:2:"15";s:7:"umacron";s:2:"15";s:7:"uogonek";s:2:"15";s:5:"uring";s:2:"15";s:1:"v";s:2:"30";s:1:"y";s:2:"30";s:6:"yacute";s:2:"30";s:9:"ydieresis";s:2:"30";}s:6:"racute";a:49:{s:1:"a";s:3:"-10";s:6:"aacute";s:3:"-10";s:6:"abreve";s:3:"-10";s:11:"acircumflex";s:3:"-10";s:9:"adieresis";s:3:"-10";s:6:"agrave";s:3:"-10";s:7:"amacron";s:3:"-10";s:7:"aogonek";s:3:"-10";s:5:"aring";s:3:"-10";s:6:"atilde";s:3:"-10";s:5:"colon";s:2:"30";s:5:"comma";s:3:"-50";s:1:"i";s:2:"15";s:6:"iacute";s:2:"15";s:11:"icircumflex";s:2:"15";s:9:"idieresis";s:2:"15";s:6:"igrave";s:2:"15";s:7:"imacron";s:2:"15";s:7:"iogonek";s:2:"15";s:1:"k";s:2:"15";s:12:"kcommaaccent";s:2:"15";s:1:"l";s:2:"15";s:6:"lacute";s:2:"15";s:12:"lcommaaccent";s:2:"15";s:6:"lslash";s:2:"15";s:1:"m";s:2:"25";s:1:"n";s:2:"25";s:6:"nacute";s:2:"25";s:6:"ncaron";s:2:"25";s:12:"ncommaaccent";s:2:"25";s:6:"ntilde";s:2:"25";s:1:"p";s:2:"30";s:6:"period";s:3:"-50";s:9:"semicolon";s:2:"30";s:1:"t";s:2:"40";s:12:"tcommaaccent";s:2:"40";s:1:"u";s:2:"15";s:6:"uacute";s:2:"15";s:11:"ucircumflex";s:2:"15";s:9:"udieresis";s:2:"15";s:6:"ugrave";s:2:"15";s:13:"uhungarumlaut";s:2:"15";s:7:"umacron";s:2:"15";s:7:"uogonek";s:2:"15";s:5:"uring";s:2:"15";s:1:"v";s:2:"30";s:1:"y";s:2:"30";s:6:"yacute";s:2:"30";s:9:"ydieresis";s:2:"30";}s:6:"rcaron";a:49:{s:1:"a";s:3:"-10";s:6:"aacute";s:3:"-10";s:6:"abreve";s:3:"-10";s:11:"acircumflex";s:3:"-10";s:9:"adieresis";s:3:"-10";s:6:"agrave";s:3:"-10";s:7:"amacron";s:3:"-10";s:7:"aogonek";s:3:"-10";s:5:"aring";s:3:"-10";s:6:"atilde";s:3:"-10";s:5:"colon";s:2:"30";s:5:"comma";s:3:"-50";s:1:"i";s:2:"15";s:6:"iacute";s:2:"15";s:11:"icircumflex";s:2:"15";s:9:"idieresis";s:2:"15";s:6:"igrave";s:2:"15";s:7:"imacron";s:2:"15";s:7:"iogonek";s:2:"15";s:1:"k";s:2:"15";s:12:"kcommaaccent";s:2:"15";s:1:"l";s:2:"15";s:6:"lacute";s:2:"15";s:12:"lcommaaccent";s:2:"15";s:6:"lslash";s:2:"15";s:1:"m";s:2:"25";s:1:"n";s:2:"25";s:6:"nacute";s:2:"25";s:6:"ncaron";s:2:"25";s:12:"ncommaaccent";s:2:"25";s:6:"ntilde";s:2:"25";s:1:"p";s:2:"30";s:6:"period";s:3:"-50";s:9:"semicolon";s:2:"30";s:1:"t";s:2:"40";s:12:"tcommaaccent";s:2:"40";s:1:"u";s:2:"15";s:6:"uacute";s:2:"15";s:11:"ucircumflex";s:2:"15";s:9:"udieresis";s:2:"15";s:6:"ugrave";s:2:"15";s:13:"uhungarumlaut";s:2:"15";s:7:"umacron";s:2:"15";s:7:"uogonek";s:2:"15";s:5:"uring";s:2:"15";s:1:"v";s:2:"30";s:1:"y";s:2:"30";s:6:"yacute";s:2:"30";s:9:"ydieresis";s:2:"30";}s:12:"rcommaaccent";a:49:{s:1:"a";s:3:"-10";s:6:"aacute";s:3:"-10";s:6:"abreve";s:3:"-10";s:11:"acircumflex";s:3:"-10";s:9:"adieresis";s:3:"-10";s:6:"agrave";s:3:"-10";s:7:"amacron";s:3:"-10";s:7:"aogonek";s:3:"-10";s:5:"aring";s:3:"-10";s:6:"atilde";s:3:"-10";s:5:"colon";s:2:"30";s:5:"comma";s:3:"-50";s:1:"i";s:2:"15";s:6:"iacute";s:2:"15";s:11:"icircumflex";s:2:"15";s:9:"idieresis";s:2:"15";s:6:"igrave";s:2:"15";s:7:"imacron";s:2:"15";s:7:"iogonek";s:2:"15";s:1:"k";s:2:"15";s:12:"kcommaaccent";s:2:"15";s:1:"l";s:2:"15";s:6:"lacute";s:2:"15";s:12:"lcommaaccent";s:2:"15";s:6:"lslash";s:2:"15";s:1:"m";s:2:"25";s:1:"n";s:2:"25";s:6:"nacute";s:2:"25";s:6:"ncaron";s:2:"25";s:12:"ncommaaccent";s:2:"25";s:6:"ntilde";s:2:"25";s:1:"p";s:2:"30";s:6:"period";s:3:"-50";s:9:"semicolon";s:2:"30";s:1:"t";s:2:"40";s:12:"tcommaaccent";s:2:"40";s:1:"u";s:2:"15";s:6:"uacute";s:2:"15";s:11:"ucircumflex";s:2:"15";s:9:"udieresis";s:2:"15";s:6:"ugrave";s:2:"15";s:13:"uhungarumlaut";s:2:"15";s:7:"umacron";s:2:"15";s:7:"uogonek";s:2:"15";s:5:"uring";s:2:"15";s:1:"v";s:2:"30";s:1:"y";s:2:"30";s:6:"yacute";s:2:"30";s:9:"ydieresis";s:2:"30";}s:1:"s";a:3:{s:5:"comma";s:3:"-15";s:6:"period";s:3:"-15";s:1:"w";s:3:"-30";}s:6:"sacute";a:3:{s:5:"comma";s:3:"-15";s:6:"period";s:3:"-15";s:1:"w";s:3:"-30";}s:6:"scaron";a:3:{s:5:"comma";s:3:"-15";s:6:"period";s:3:"-15";s:1:"w";s:3:"-30";}s:8:"scedilla";a:3:{s:5:"comma";s:3:"-15";s:6:"period";s:3:"-15";s:1:"w";s:3:"-30";}s:12:"scommaaccent";a:3:{s:5:"comma";s:3:"-15";s:6:"period";s:3:"-15";s:1:"w";s:3:"-30";}s:9:"semicolon";a:1:{s:5:"space";s:3:"-50";}s:5:"space";a:10:{s:1:"T";s:3:"-50";s:6:"Tcaron";s:3:"-50";s:12:"Tcommaaccent";s:3:"-50";s:1:"V";s:3:"-50";s:1:"W";s:3:"-40";s:1:"Y";s:3:"-90";s:6:"Yacute";s:3:"-90";s:9:"Ydieresis";s:3:"-90";s:12:"quotedblleft";s:3:"-30";s:9:"quoteleft";s:3:"-60";}s:1:"v";a:30:{s:1:"a";s:3:"-25";s:6:"aacute";s:3:"-25";s:6:"abreve";s:3:"-25";s:11:"acircumflex";s:3:"-25";s:9:"adieresis";s:3:"-25";s:6:"agrave";s:3:"-25";s:7:"amacron";s:3:"-25";s:7:"aogonek";s:3:"-25";s:5:"aring";s:3:"-25";s:6:"atilde";s:3:"-25";s:5:"comma";s:3:"-80";s:1:"e";s:3:"-25";s:6:"eacute";s:3:"-25";s:6:"ecaron";s:3:"-25";s:11:"ecircumflex";s:3:"-25";s:9:"edieresis";s:3:"-25";s:10:"edotaccent";s:3:"-25";s:6:"egrave";s:3:"-25";s:7:"emacron";s:3:"-25";s:7:"eogonek";s:3:"-25";s:1:"o";s:3:"-25";s:6:"oacute";s:3:"-25";s:11:"ocircumflex";s:3:"-25";s:9:"odieresis";s:3:"-25";s:6:"ograve";s:3:"-25";s:13:"ohungarumlaut";s:3:"-25";s:7:"omacron";s:3:"-25";s:6:"oslash";s:3:"-25";s:6:"otilde";s:3:"-25";s:6:"period";s:3:"-80";}s:1:"w";a:30:{s:1:"a";s:3:"-15";s:6:"aacute";s:3:"-15";s:6:"abreve";s:3:"-15";s:11:"acircumflex";s:3:"-15";s:9:"adieresis";s:3:"-15";s:6:"agrave";s:3:"-15";s:7:"amacron";s:3:"-15";s:7:"aogonek";s:3:"-15";s:5:"aring";s:3:"-15";s:6:"atilde";s:3:"-15";s:5:"comma";s:3:"-60";s:1:"e";s:3:"-10";s:6:"eacute";s:3:"-10";s:6:"ecaron";s:3:"-10";s:11:"ecircumflex";s:3:"-10";s:9:"edieresis";s:3:"-10";s:10:"edotaccent";s:3:"-10";s:6:"egrave";s:3:"-10";s:7:"emacron";s:3:"-10";s:7:"eogonek";s:3:"-10";s:1:"o";s:3:"-10";s:6:"oacute";s:3:"-10";s:11:"ocircumflex";s:3:"-10";s:9:"odieresis";s:3:"-10";s:6:"ograve";s:3:"-10";s:13:"ohungarumlaut";s:3:"-10";s:7:"omacron";s:3:"-10";s:6:"oslash";s:3:"-10";s:6:"otilde";s:3:"-10";s:6:"period";s:3:"-60";}s:1:"x";a:9:{s:1:"e";s:3:"-30";s:6:"eacute";s:3:"-30";s:6:"ecaron";s:3:"-30";s:11:"ecircumflex";s:3:"-30";s:9:"edieresis";s:3:"-30";s:10:"edotaccent";s:3:"-30";s:6:"egrave";s:3:"-30";s:7:"emacron";s:3:"-30";s:7:"eogonek";s:3:"-30";}s:1:"y";a:30:{s:1:"a";s:3:"-20";s:6:"aacute";s:3:"-20";s:6:"abreve";s:3:"-20";s:11:"acircumflex";s:3:"-20";s:9:"adieresis";s:3:"-20";s:6:"agrave";s:3:"-20";s:7:"amacron";s:3:"-20";s:7:"aogonek";s:3:"-20";s:5:"aring";s:3:"-20";s:6:"atilde";s:3:"-20";s:5:"comma";s:4:"-100";s:1:"e";s:3:"-20";s:6:"eacute";s:3:"-20";s:6:"ecaron";s:3:"-20";s:11:"ecircumflex";s:3:"-20";s:9:"edieresis";s:3:"-20";s:10:"edotaccent";s:3:"-20";s:6:"egrave";s:3:"-20";s:7:"emacron";s:3:"-20";s:7:"eogonek";s:3:"-20";s:1:"o";s:3:"-20";s:6:"oacute";s:3:"-20";s:11:"ocircumflex";s:3:"-20";s:9:"odieresis";s:3:"-20";s:6:"ograve";s:3:"-20";s:13:"ohungarumlaut";s:3:"-20";s:7:"omacron";s:3:"-20";s:6:"oslash";s:3:"-20";s:6:"otilde";s:3:"-20";s:6:"period";s:4:"-100";}s:6:"yacute";a:30:{s:1:"a";s:3:"-20";s:6:"aacute";s:3:"-20";s:6:"abreve";s:3:"-20";s:11:"acircumflex";s:3:"-20";s:9:"adieresis";s:3:"-20";s:6:"agrave";s:3:"-20";s:7:"amacron";s:3:"-20";s:7:"aogonek";s:3:"-20";s:5:"aring";s:3:"-20";s:6:"atilde";s:3:"-20";s:5:"comma";s:4:"-100";s:1:"e";s:3:"-20";s:6:"eacute";s:3:"-20";s:6:"ecaron";s:3:"-20";s:11:"ecircumflex";s:3:"-20";s:9:"edieresis";s:3:"-20";s:10:"edotaccent";s:3:"-20";s:6:"egrave";s:3:"-20";s:7:"emacron";s:3:"-20";s:7:"eogonek";s:3:"-20";s:1:"o";s:3:"-20";s:6:"oacute";s:3:"-20";s:11:"ocircumflex";s:3:"-20";s:9:"odieresis";s:3:"-20";s:6:"ograve";s:3:"-20";s:13:"ohungarumlaut";s:3:"-20";s:7:"omacron";s:3:"-20";s:6:"oslash";s:3:"-20";s:6:"otilde";s:3:"-20";s:6:"period";s:4:"-100";}s:9:"ydieresis";a:30:{s:1:"a";s:3:"-20";s:6:"aacute";s:3:"-20";s:6:"abreve";s:3:"-20";s:11:"acircumflex";s:3:"-20";s:9:"adieresis";s:3:"-20";s:6:"agrave";s:3:"-20";s:7:"amacron";s:3:"-20";s:7:"aogonek";s:3:"-20";s:5:"aring";s:3:"-20";s:6:"atilde";s:3:"-20";s:5:"comma";s:4:"-100";s:1:"e";s:3:"-20";s:6:"eacute";s:3:"-20";s:6:"ecaron";s:3:"-20";s:11:"ecircumflex";s:3:"-20";s:9:"edieresis";s:3:"-20";s:10:"edotaccent";s:3:"-20";s:6:"egrave";s:3:"-20";s:7:"emacron";s:3:"-20";s:7:"eogonek";s:3:"-20";s:1:"o";s:3:"-20";s:6:"oacute";s:3:"-20";s:11:"ocircumflex";s:3:"-20";s:9:"odieresis";s:3:"-20";s:6:"ograve";s:3:"-20";s:13:"ohungarumlaut";s:3:"-20";s:7:"omacron";s:3:"-20";s:6:"oslash";s:3:"-20";s:6:"otilde";s:3:"-20";s:6:"period";s:4:"-100";}s:1:"z";a:18:{s:1:"e";s:3:"-15";s:6:"eacute";s:3:"-15";s:6:"ecaron";s:3:"-15";s:11:"ecircumflex";s:3:"-15";s:9:"edieresis";s:3:"-15";s:10:"edotaccent";s:3:"-15";s:6:"egrave";s:3:"-15";s:7:"emacron";s:3:"-15";s:7:"eogonek";s:3:"-15";s:1:"o";s:3:"-15";s:6:"oacute";s:3:"-15";s:11:"ocircumflex";s:3:"-15";s:9:"odieresis";s:3:"-15";s:6:"ograve";s:3:"-15";s:13:"ohungarumlaut";s:3:"-15";s:7:"omacron";s:3:"-15";s:6:"oslash";s:3:"-15";s:6:"otilde";s:3:"-15";}s:6:"zacute";a:18:{s:1:"e";s:3:"-15";s:6:"eacute";s:3:"-15";s:6:"ecaron";s:3:"-15";s:11:"ecircumflex";s:3:"-15";s:9:"edieresis";s:3:"-15";s:10:"edotaccent";s:3:"-15";s:6:"egrave";s:3:"-15";s:7:"emacron";s:3:"-15";s:7:"eogonek";s:3:"-15";s:1:"o";s:3:"-15";s:6:"oacute";s:3:"-15";s:11:"ocircumflex";s:3:"-15";s:9:"odieresis";s:3:"-15";s:6:"ograve";s:3:"-15";s:13:"ohungarumlaut";s:3:"-15";s:7:"omacron";s:3:"-15";s:6:"oslash";s:3:"-15";s:6:"otilde";s:3:"-15";}s:6:"zcaron";a:18:{s:1:"e";s:3:"-15";s:6:"eacute";s:3:"-15";s:6:"ecaron";s:3:"-15";s:11:"ecircumflex";s:3:"-15";s:9:"edieresis";s:3:"-15";s:10:"edotaccent";s:3:"-15";s:6:"egrave";s:3:"-15";s:7:"emacron";s:3:"-15";s:7:"eogonek";s:3:"-15";s:1:"o";s:3:"-15";s:6:"oacute";s:3:"-15";s:11:"ocircumflex";s:3:"-15";s:9:"odieresis";s:3:"-15";s:6:"ograve";s:3:"-15";s:13:"ohungarumlaut";s:3:"-15";s:7:"omacron";s:3:"-15";s:6:"oslash";s:3:"-15";s:6:"otilde";s:3:"-15";}s:10:"zdotaccent";a:18:{s:1:"e";s:3:"-15";s:6:"eacute";s:3:"-15";s:6:"ecaron";s:3:"-15";s:11:"ecircumflex";s:3:"-15";s:9:"edieresis";s:3:"-15";s:10:"edotaccent";s:3:"-15";s:6:"egrave";s:3:"-15";s:7:"emacron";s:3:"-15";s:7:"eogonek";s:3:"-15";s:1:"o";s:3:"-15";s:6:"oacute";s:3:"-15";s:11:"ocircumflex";s:3:"-15";s:9:"odieresis";s:3:"-15";s:6:"ograve";s:3:"-15";s:13:"ohungarumlaut";s:3:"-15";s:7:"omacron";s:3:"-15";s:6:"oslash";s:3:"-15";s:6:"otilde";s:3:"-15";}}s:9:"_version_";i:1;}
\ No newline at end of file diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/PDF/default/templates/fonts/php_Symbol.afm b/buildscripts/PhpDocumentor/phpDocumentor/Converters/PDF/default/templates/fonts/php_Symbol.afm new file mode 100755 index 00000000..856b75e2 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/PDF/default/templates/fonts/php_Symbol.afm @@ -0,0 +1 @@ +a:17:{s:8:"FontName";s:6:"Symbol";s:8:"FullName";s:6:"Symbol";s:10:"FamilyName";s:6:"Symbol";s:6:"Weight";s:6:"Medium";s:11:"ItalicAngle";s:1:"0";s:12:"IsFixedPitch";s:5:"false";s:12:"CharacterSet";s:7:"Special";s:8:"FontBBox";a:4:{i:0;s:4:"-180";i:1;s:4:"-293";i:2;s:4:"1090";i:3;s:4:"1010";}s:17:"UnderlinePosition";s:4:"-100";s:18:"UnderlineThickness";s:2:"50";s:7:"Version";s:7:"001.008";s:14:"EncodingScheme";s:12:"FontSpecific";s:5:"StdHW";s:2:"92";s:5:"StdVW";s:2:"85";s:16:"StartCharMetrics";s:3:"190";s:1:"C";a:379:{i:32;a:4:{s:1:"C";s:2:"32";s:2:"WX";s:3:"250";s:1:"N";s:5:"space";s:1:"B";a:4:{i:0;s:1:"0";i:1;s:1:"0";i:2;s:1:"0";i:3;s:1:"0";}}s:5:"space";a:4:{s:1:"C";s:2:"32";s:2:"WX";s:3:"250";s:1:"N";s:5:"space";s:1:"B";a:4:{i:0;s:1:"0";i:1;s:1:"0";i:2;s:1:"0";i:3;s:1:"0";}}i:33;a:4:{s:1:"C";s:2:"33";s:2:"WX";s:3:"333";s:1:"N";s:6:"exclam";s:1:"B";a:4:{i:0;s:3:"128";i:1;s:3:"-17";i:2;s:3:"240";i:3;s:3:"672";}}s:6:"exclam";a:4:{s:1:"C";s:2:"33";s:2:"WX";s:3:"333";s:1:"N";s:6:"exclam";s:1:"B";a:4:{i:0;s:3:"128";i:1;s:3:"-17";i:2;s:3:"240";i:3;s:3:"672";}}i:34;a:4:{s:1:"C";s:2:"34";s:2:"WX";s:3:"713";s:1:"N";s:9:"universal";s:1:"B";a:4:{i:0;s:2:"31";i:1;s:1:"0";i:2;s:3:"681";i:3;s:3:"705";}}s:9:"universal";a:4:{s:1:"C";s:2:"34";s:2:"WX";s:3:"713";s:1:"N";s:9:"universal";s:1:"B";a:4:{i:0;s:2:"31";i:1;s:1:"0";i:2;s:3:"681";i:3;s:3:"705";}}i:35;a:4:{s:1:"C";s:2:"35";s:2:"WX";s:3:"500";s:1:"N";s:10:"numbersign";s:1:"B";a:4:{i:0;s:2:"20";i:1;s:3:"-16";i:2;s:3:"481";i:3;s:3:"673";}}s:10:"numbersign";a:4:{s:1:"C";s:2:"35";s:2:"WX";s:3:"500";s:1:"N";s:10:"numbersign";s:1:"B";a:4:{i:0;s:2:"20";i:1;s:3:"-16";i:2;s:3:"481";i:3;s:3:"673";}}i:36;a:4:{s:1:"C";s:2:"36";s:2:"WX";s:3:"549";s:1:"N";s:11:"existential";s:1:"B";a:4:{i:0;s:2:"25";i:1;s:1:"0";i:2;s:3:"478";i:3;s:3:"707";}}s:11:"existential";a:4:{s:1:"C";s:2:"36";s:2:"WX";s:3:"549";s:1:"N";s:11:"existential";s:1:"B";a:4:{i:0;s:2:"25";i:1;s:1:"0";i:2;s:3:"478";i:3;s:3:"707";}}i:37;a:4:{s:1:"C";s:2:"37";s:2:"WX";s:3:"833";s:1:"N";s:7:"percent";s:1:"B";a:4:{i:0;s:2:"63";i:1;s:3:"-36";i:2;s:3:"771";i:3;s:3:"655";}}s:7:"percent";a:4:{s:1:"C";s:2:"37";s:2:"WX";s:3:"833";s:1:"N";s:7:"percent";s:1:"B";a:4:{i:0;s:2:"63";i:1;s:3:"-36";i:2;s:3:"771";i:3;s:3:"655";}}i:38;a:4:{s:1:"C";s:2:"38";s:2:"WX";s:3:"778";s:1:"N";s:9:"ampersand";s:1:"B";a:4:{i:0;s:2:"41";i:1;s:3:"-18";i:2;s:3:"750";i:3;s:3:"661";}}s:9:"ampersand";a:4:{s:1:"C";s:2:"38";s:2:"WX";s:3:"778";s:1:"N";s:9:"ampersand";s:1:"B";a:4:{i:0;s:2:"41";i:1;s:3:"-18";i:2;s:3:"750";i:3;s:3:"661";}}i:39;a:4:{s:1:"C";s:2:"39";s:2:"WX";s:3:"439";s:1:"N";s:8:"suchthat";s:1:"B";a:4:{i:0;s:2:"48";i:1;s:3:"-17";i:2;s:3:"414";i:3;s:3:"500";}}s:8:"suchthat";a:4:{s:1:"C";s:2:"39";s:2:"WX";s:3:"439";s:1:"N";s:8:"suchthat";s:1:"B";a:4:{i:0;s:2:"48";i:1;s:3:"-17";i:2;s:3:"414";i:3;s:3:"500";}}i:40;a:4:{s:1:"C";s:2:"40";s:2:"WX";s:3:"333";s:1:"N";s:9:"parenleft";s:1:"B";a:4:{i:0;s:2:"53";i:1;s:4:"-191";i:2;s:3:"300";i:3;s:3:"673";}}s:9:"parenleft";a:4:{s:1:"C";s:2:"40";s:2:"WX";s:3:"333";s:1:"N";s:9:"parenleft";s:1:"B";a:4:{i:0;s:2:"53";i:1;s:4:"-191";i:2;s:3:"300";i:3;s:3:"673";}}i:41;a:4:{s:1:"C";s:2:"41";s:2:"WX";s:3:"333";s:1:"N";s:10:"parenright";s:1:"B";a:4:{i:0;s:2:"30";i:1;s:4:"-191";i:2;s:3:"277";i:3;s:3:"673";}}s:10:"parenright";a:4:{s:1:"C";s:2:"41";s:2:"WX";s:3:"333";s:1:"N";s:10:"parenright";s:1:"B";a:4:{i:0;s:2:"30";i:1;s:4:"-191";i:2;s:3:"277";i:3;s:3:"673";}}i:42;a:4:{s:1:"C";s:2:"42";s:2:"WX";s:3:"500";s:1:"N";s:12:"asteriskmath";s:1:"B";a:4:{i:0;s:2:"65";i:1;s:3:"134";i:2;s:3:"427";i:3;s:3:"551";}}s:12:"asteriskmath";a:4:{s:1:"C";s:2:"42";s:2:"WX";s:3:"500";s:1:"N";s:12:"asteriskmath";s:1:"B";a:4:{i:0;s:2:"65";i:1;s:3:"134";i:2;s:3:"427";i:3;s:3:"551";}}i:43;a:4:{s:1:"C";s:2:"43";s:2:"WX";s:3:"549";s:1:"N";s:4:"plus";s:1:"B";a:4:{i:0;s:2:"10";i:1;s:1:"0";i:2;s:3:"539";i:3;s:3:"533";}}s:4:"plus";a:4:{s:1:"C";s:2:"43";s:2:"WX";s:3:"549";s:1:"N";s:4:"plus";s:1:"B";a:4:{i:0;s:2:"10";i:1;s:1:"0";i:2;s:3:"539";i:3;s:3:"533";}}i:44;a:4:{s:1:"C";s:2:"44";s:2:"WX";s:3:"250";s:1:"N";s:5:"comma";s:1:"B";a:4:{i:0;s:2:"56";i:1;s:4:"-152";i:2;s:3:"194";i:3;s:3:"104";}}s:5:"comma";a:4:{s:1:"C";s:2:"44";s:2:"WX";s:3:"250";s:1:"N";s:5:"comma";s:1:"B";a:4:{i:0;s:2:"56";i:1;s:4:"-152";i:2;s:3:"194";i:3;s:3:"104";}}i:45;a:4:{s:1:"C";s:2:"45";s:2:"WX";s:3:"549";s:1:"N";s:5:"minus";s:1:"B";a:4:{i:0;s:2:"11";i:1;s:3:"233";i:2;s:3:"535";i:3;s:3:"288";}}s:5:"minus";a:4:{s:1:"C";s:2:"45";s:2:"WX";s:3:"549";s:1:"N";s:5:"minus";s:1:"B";a:4:{i:0;s:2:"11";i:1;s:3:"233";i:2;s:3:"535";i:3;s:3:"288";}}i:46;a:4:{s:1:"C";s:2:"46";s:2:"WX";s:3:"250";s:1:"N";s:6:"period";s:1:"B";a:4:{i:0;s:2:"69";i:1;s:3:"-17";i:2;s:3:"181";i:3;s:2:"95";}}s:6:"period";a:4:{s:1:"C";s:2:"46";s:2:"WX";s:3:"250";s:1:"N";s:6:"period";s:1:"B";a:4:{i:0;s:2:"69";i:1;s:3:"-17";i:2;s:3:"181";i:3;s:2:"95";}}i:47;a:4:{s:1:"C";s:2:"47";s:2:"WX";s:3:"278";s:1:"N";s:5:"slash";s:1:"B";a:4:{i:0;s:1:"0";i:1;s:3:"-18";i:2;s:3:"254";i:3;s:3:"646";}}s:5:"slash";a:4:{s:1:"C";s:2:"47";s:2:"WX";s:3:"278";s:1:"N";s:5:"slash";s:1:"B";a:4:{i:0;s:1:"0";i:1;s:3:"-18";i:2;s:3:"254";i:3;s:3:"646";}}i:48;a:4:{s:1:"C";s:2:"48";s:2:"WX";s:3:"500";s:1:"N";s:4:"zero";s:1:"B";a:4:{i:0;s:2:"24";i:1;s:3:"-14";i:2;s:3:"476";i:3;s:3:"685";}}s:4:"zero";a:4:{s:1:"C";s:2:"48";s:2:"WX";s:3:"500";s:1:"N";s:4:"zero";s:1:"B";a:4:{i:0;s:2:"24";i:1;s:3:"-14";i:2;s:3:"476";i:3;s:3:"685";}}i:49;a:4:{s:1:"C";s:2:"49";s:2:"WX";s:3:"500";s:1:"N";s:3:"one";s:1:"B";a:4:{i:0;s:3:"117";i:1;s:1:"0";i:2;s:3:"390";i:3;s:3:"673";}}s:3:"one";a:4:{s:1:"C";s:2:"49";s:2:"WX";s:3:"500";s:1:"N";s:3:"one";s:1:"B";a:4:{i:0;s:3:"117";i:1;s:1:"0";i:2;s:3:"390";i:3;s:3:"673";}}i:50;a:4:{s:1:"C";s:2:"50";s:2:"WX";s:3:"500";s:1:"N";s:3:"two";s:1:"B";a:4:{i:0;s:2:"25";i:1;s:1:"0";i:2;s:3:"475";i:3;s:3:"685";}}s:3:"two";a:4:{s:1:"C";s:2:"50";s:2:"WX";s:3:"500";s:1:"N";s:3:"two";s:1:"B";a:4:{i:0;s:2:"25";i:1;s:1:"0";i:2;s:3:"475";i:3;s:3:"685";}}i:51;a:4:{s:1:"C";s:2:"51";s:2:"WX";s:3:"500";s:1:"N";s:5:"three";s:1:"B";a:4:{i:0;s:2:"43";i:1;s:3:"-14";i:2;s:3:"435";i:3;s:3:"685";}}s:5:"three";a:4:{s:1:"C";s:2:"51";s:2:"WX";s:3:"500";s:1:"N";s:5:"three";s:1:"B";a:4:{i:0;s:2:"43";i:1;s:3:"-14";i:2;s:3:"435";i:3;s:3:"685";}}i:52;a:4:{s:1:"C";s:2:"52";s:2:"WX";s:3:"500";s:1:"N";s:4:"four";s:1:"B";a:4:{i:0;s:2:"15";i:1;s:1:"0";i:2;s:3:"469";i:3;s:3:"685";}}s:4:"four";a:4:{s:1:"C";s:2:"52";s:2:"WX";s:3:"500";s:1:"N";s:4:"four";s:1:"B";a:4:{i:0;s:2:"15";i:1;s:1:"0";i:2;s:3:"469";i:3;s:3:"685";}}i:53;a:4:{s:1:"C";s:2:"53";s:2:"WX";s:3:"500";s:1:"N";s:4:"five";s:1:"B";a:4:{i:0;s:2:"32";i:1;s:3:"-14";i:2;s:3:"445";i:3;s:3:"690";}}s:4:"five";a:4:{s:1:"C";s:2:"53";s:2:"WX";s:3:"500";s:1:"N";s:4:"five";s:1:"B";a:4:{i:0;s:2:"32";i:1;s:3:"-14";i:2;s:3:"445";i:3;s:3:"690";}}i:54;a:4:{s:1:"C";s:2:"54";s:2:"WX";s:3:"500";s:1:"N";s:3:"six";s:1:"B";a:4:{i:0;s:2:"34";i:1;s:3:"-14";i:2;s:3:"468";i:3;s:3:"685";}}s:3:"six";a:4:{s:1:"C";s:2:"54";s:2:"WX";s:3:"500";s:1:"N";s:3:"six";s:1:"B";a:4:{i:0;s:2:"34";i:1;s:3:"-14";i:2;s:3:"468";i:3;s:3:"685";}}i:55;a:4:{s:1:"C";s:2:"55";s:2:"WX";s:3:"500";s:1:"N";s:5:"seven";s:1:"B";a:4:{i:0;s:2:"24";i:1;s:3:"-16";i:2;s:3:"448";i:3;s:3:"673";}}s:5:"seven";a:4:{s:1:"C";s:2:"55";s:2:"WX";s:3:"500";s:1:"N";s:5:"seven";s:1:"B";a:4:{i:0;s:2:"24";i:1;s:3:"-16";i:2;s:3:"448";i:3;s:3:"673";}}i:56;a:4:{s:1:"C";s:2:"56";s:2:"WX";s:3:"500";s:1:"N";s:5:"eight";s:1:"B";a:4:{i:0;s:2:"56";i:1;s:3:"-14";i:2;s:3:"445";i:3;s:3:"685";}}s:5:"eight";a:4:{s:1:"C";s:2:"56";s:2:"WX";s:3:"500";s:1:"N";s:5:"eight";s:1:"B";a:4:{i:0;s:2:"56";i:1;s:3:"-14";i:2;s:3:"445";i:3;s:3:"685";}}i:57;a:4:{s:1:"C";s:2:"57";s:2:"WX";s:3:"500";s:1:"N";s:4:"nine";s:1:"B";a:4:{i:0;s:2:"30";i:1;s:3:"-18";i:2;s:3:"459";i:3;s:3:"685";}}s:4:"nine";a:4:{s:1:"C";s:2:"57";s:2:"WX";s:3:"500";s:1:"N";s:4:"nine";s:1:"B";a:4:{i:0;s:2:"30";i:1;s:3:"-18";i:2;s:3:"459";i:3;s:3:"685";}}i:58;a:4:{s:1:"C";s:2:"58";s:2:"WX";s:3:"278";s:1:"N";s:5:"colon";s:1:"B";a:4:{i:0;s:2:"81";i:1;s:3:"-17";i:2;s:3:"193";i:3;s:3:"460";}}s:5:"colon";a:4:{s:1:"C";s:2:"58";s:2:"WX";s:3:"278";s:1:"N";s:5:"colon";s:1:"B";a:4:{i:0;s:2:"81";i:1;s:3:"-17";i:2;s:3:"193";i:3;s:3:"460";}}i:59;a:4:{s:1:"C";s:2:"59";s:2:"WX";s:3:"278";s:1:"N";s:9:"semicolon";s:1:"B";a:4:{i:0;s:2:"83";i:1;s:4:"-152";i:2;s:3:"221";i:3;s:3:"460";}}s:9:"semicolon";a:4:{s:1:"C";s:2:"59";s:2:"WX";s:3:"278";s:1:"N";s:9:"semicolon";s:1:"B";a:4:{i:0;s:2:"83";i:1;s:4:"-152";i:2;s:3:"221";i:3;s:3:"460";}}i:60;a:4:{s:1:"C";s:2:"60";s:2:"WX";s:3:"549";s:1:"N";s:4:"less";s:1:"B";a:4:{i:0;s:2:"26";i:1;s:1:"0";i:2;s:3:"523";i:3;s:3:"522";}}s:4:"less";a:4:{s:1:"C";s:2:"60";s:2:"WX";s:3:"549";s:1:"N";s:4:"less";s:1:"B";a:4:{i:0;s:2:"26";i:1;s:1:"0";i:2;s:3:"523";i:3;s:3:"522";}}i:61;a:4:{s:1:"C";s:2:"61";s:2:"WX";s:3:"549";s:1:"N";s:5:"equal";s:1:"B";a:4:{i:0;s:2:"11";i:1;s:3:"141";i:2;s:3:"537";i:3;s:3:"390";}}s:5:"equal";a:4:{s:1:"C";s:2:"61";s:2:"WX";s:3:"549";s:1:"N";s:5:"equal";s:1:"B";a:4:{i:0;s:2:"11";i:1;s:3:"141";i:2;s:3:"537";i:3;s:3:"390";}}i:62;a:4:{s:1:"C";s:2:"62";s:2:"WX";s:3:"549";s:1:"N";s:7:"greater";s:1:"B";a:4:{i:0;s:2:"26";i:1;s:1:"0";i:2;s:3:"523";i:3;s:3:"522";}}s:7:"greater";a:4:{s:1:"C";s:2:"62";s:2:"WX";s:3:"549";s:1:"N";s:7:"greater";s:1:"B";a:4:{i:0;s:2:"26";i:1;s:1:"0";i:2;s:3:"523";i:3;s:3:"522";}}i:63;a:4:{s:1:"C";s:2:"63";s:2:"WX";s:3:"444";s:1:"N";s:8:"question";s:1:"B";a:4:{i:0;s:2:"70";i:1;s:3:"-17";i:2;s:3:"412";i:3;s:3:"686";}}s:8:"question";a:4:{s:1:"C";s:2:"63";s:2:"WX";s:3:"444";s:1:"N";s:8:"question";s:1:"B";a:4:{i:0;s:2:"70";i:1;s:3:"-17";i:2;s:3:"412";i:3;s:3:"686";}}i:64;a:4:{s:1:"C";s:2:"64";s:2:"WX";s:3:"549";s:1:"N";s:9:"congruent";s:1:"B";a:4:{i:0;s:2:"11";i:1;s:1:"0";i:2;s:3:"537";i:3;s:3:"475";}}s:9:"congruent";a:4:{s:1:"C";s:2:"64";s:2:"WX";s:3:"549";s:1:"N";s:9:"congruent";s:1:"B";a:4:{i:0;s:2:"11";i:1;s:1:"0";i:2;s:3:"537";i:3;s:3:"475";}}i:65;a:4:{s:1:"C";s:2:"65";s:2:"WX";s:3:"722";s:1:"N";s:5:"Alpha";s:1:"B";a:4:{i:0;s:1:"4";i:1;s:1:"0";i:2;s:3:"684";i:3;s:3:"673";}}s:5:"Alpha";a:4:{s:1:"C";s:2:"65";s:2:"WX";s:3:"722";s:1:"N";s:5:"Alpha";s:1:"B";a:4:{i:0;s:1:"4";i:1;s:1:"0";i:2;s:3:"684";i:3;s:3:"673";}}i:66;a:4:{s:1:"C";s:2:"66";s:2:"WX";s:3:"667";s:1:"N";s:4:"Beta";s:1:"B";a:4:{i:0;s:2:"29";i:1;s:1:"0";i:2;s:3:"592";i:3;s:3:"673";}}s:4:"Beta";a:4:{s:1:"C";s:2:"66";s:2:"WX";s:3:"667";s:1:"N";s:4:"Beta";s:1:"B";a:4:{i:0;s:2:"29";i:1;s:1:"0";i:2;s:3:"592";i:3;s:3:"673";}}i:67;a:4:{s:1:"C";s:2:"67";s:2:"WX";s:3:"722";s:1:"N";s:3:"Chi";s:1:"B";a:4:{i:0;s:2:"-9";i:1;s:1:"0";i:2;s:3:"704";i:3;s:3:"673";}}s:3:"Chi";a:4:{s:1:"C";s:2:"67";s:2:"WX";s:3:"722";s:1:"N";s:3:"Chi";s:1:"B";a:4:{i:0;s:2:"-9";i:1;s:1:"0";i:2;s:3:"704";i:3;s:3:"673";}}i:68;a:4:{s:1:"C";s:2:"68";s:2:"WX";s:3:"612";s:1:"N";s:5:"Delta";s:1:"B";a:4:{i:0;s:1:"6";i:1;s:1:"0";i:2;s:3:"608";i:3;s:3:"688";}}s:5:"Delta";a:4:{s:1:"C";s:2:"68";s:2:"WX";s:3:"612";s:1:"N";s:5:"Delta";s:1:"B";a:4:{i:0;s:1:"6";i:1;s:1:"0";i:2;s:3:"608";i:3;s:3:"688";}}i:69;a:4:{s:1:"C";s:2:"69";s:2:"WX";s:3:"611";s:1:"N";s:7:"Epsilon";s:1:"B";a:4:{i:0;s:2:"32";i:1;s:1:"0";i:2;s:3:"617";i:3;s:3:"673";}}s:7:"Epsilon";a:4:{s:1:"C";s:2:"69";s:2:"WX";s:3:"611";s:1:"N";s:7:"Epsilon";s:1:"B";a:4:{i:0;s:2:"32";i:1;s:1:"0";i:2;s:3:"617";i:3;s:3:"673";}}i:70;a:4:{s:1:"C";s:2:"70";s:2:"WX";s:3:"763";s:1:"N";s:3:"Phi";s:1:"B";a:4:{i:0;s:2:"26";i:1;s:1:"0";i:2;s:3:"741";i:3;s:3:"673";}}s:3:"Phi";a:4:{s:1:"C";s:2:"70";s:2:"WX";s:3:"763";s:1:"N";s:3:"Phi";s:1:"B";a:4:{i:0;s:2:"26";i:1;s:1:"0";i:2;s:3:"741";i:3;s:3:"673";}}i:71;a:4:{s:1:"C";s:2:"71";s:2:"WX";s:3:"603";s:1:"N";s:5:"Gamma";s:1:"B";a:4:{i:0;s:2:"24";i:1;s:1:"0";i:2;s:3:"609";i:3;s:3:"673";}}s:5:"Gamma";a:4:{s:1:"C";s:2:"71";s:2:"WX";s:3:"603";s:1:"N";s:5:"Gamma";s:1:"B";a:4:{i:0;s:2:"24";i:1;s:1:"0";i:2;s:3:"609";i:3;s:3:"673";}}i:72;a:4:{s:1:"C";s:2:"72";s:2:"WX";s:3:"722";s:1:"N";s:3:"Eta";s:1:"B";a:4:{i:0;s:2:"39";i:1;s:1:"0";i:2;s:3:"729";i:3;s:3:"673";}}s:3:"Eta";a:4:{s:1:"C";s:2:"72";s:2:"WX";s:3:"722";s:1:"N";s:3:"Eta";s:1:"B";a:4:{i:0;s:2:"39";i:1;s:1:"0";i:2;s:3:"729";i:3;s:3:"673";}}i:73;a:4:{s:1:"C";s:2:"73";s:2:"WX";s:3:"333";s:1:"N";s:4:"Iota";s:1:"B";a:4:{i:0;s:2:"32";i:1;s:1:"0";i:2;s:3:"316";i:3;s:3:"673";}}s:4:"Iota";a:4:{s:1:"C";s:2:"73";s:2:"WX";s:3:"333";s:1:"N";s:4:"Iota";s:1:"B";a:4:{i:0;s:2:"32";i:1;s:1:"0";i:2;s:3:"316";i:3;s:3:"673";}}i:74;a:4:{s:1:"C";s:2:"74";s:2:"WX";s:3:"631";s:1:"N";s:6:"theta1";s:1:"B";a:4:{i:0;s:2:"18";i:1;s:3:"-18";i:2;s:3:"623";i:3;s:3:"689";}}s:6:"theta1";a:4:{s:1:"C";s:2:"74";s:2:"WX";s:3:"631";s:1:"N";s:6:"theta1";s:1:"B";a:4:{i:0;s:2:"18";i:1;s:3:"-18";i:2;s:3:"623";i:3;s:3:"689";}}i:75;a:4:{s:1:"C";s:2:"75";s:2:"WX";s:3:"722";s:1:"N";s:5:"Kappa";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:1:"0";i:2;s:3:"722";i:3;s:3:"673";}}s:5:"Kappa";a:4:{s:1:"C";s:2:"75";s:2:"WX";s:3:"722";s:1:"N";s:5:"Kappa";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:1:"0";i:2;s:3:"722";i:3;s:3:"673";}}i:76;a:4:{s:1:"C";s:2:"76";s:2:"WX";s:3:"686";s:1:"N";s:6:"Lambda";s:1:"B";a:4:{i:0;s:1:"6";i:1;s:1:"0";i:2;s:3:"680";i:3;s:3:"688";}}s:6:"Lambda";a:4:{s:1:"C";s:2:"76";s:2:"WX";s:3:"686";s:1:"N";s:6:"Lambda";s:1:"B";a:4:{i:0;s:1:"6";i:1;s:1:"0";i:2;s:3:"680";i:3;s:3:"688";}}i:77;a:4:{s:1:"C";s:2:"77";s:2:"WX";s:3:"889";s:1:"N";s:2:"Mu";s:1:"B";a:4:{i:0;s:2:"28";i:1;s:1:"0";i:2;s:3:"887";i:3;s:3:"673";}}s:2:"Mu";a:4:{s:1:"C";s:2:"77";s:2:"WX";s:3:"889";s:1:"N";s:2:"Mu";s:1:"B";a:4:{i:0;s:2:"28";i:1;s:1:"0";i:2;s:3:"887";i:3;s:3:"673";}}i:78;a:4:{s:1:"C";s:2:"78";s:2:"WX";s:3:"722";s:1:"N";s:2:"Nu";s:1:"B";a:4:{i:0;s:2:"29";i:1;s:2:"-8";i:2;s:3:"720";i:3;s:3:"673";}}s:2:"Nu";a:4:{s:1:"C";s:2:"78";s:2:"WX";s:3:"722";s:1:"N";s:2:"Nu";s:1:"B";a:4:{i:0;s:2:"29";i:1;s:2:"-8";i:2;s:3:"720";i:3;s:3:"673";}}i:79;a:4:{s:1:"C";s:2:"79";s:2:"WX";s:3:"722";s:1:"N";s:7:"Omicron";s:1:"B";a:4:{i:0;s:2:"41";i:1;s:3:"-17";i:2;s:3:"715";i:3;s:3:"685";}}s:7:"Omicron";a:4:{s:1:"C";s:2:"79";s:2:"WX";s:3:"722";s:1:"N";s:7:"Omicron";s:1:"B";a:4:{i:0;s:2:"41";i:1;s:3:"-17";i:2;s:3:"715";i:3;s:3:"685";}}i:80;a:4:{s:1:"C";s:2:"80";s:2:"WX";s:3:"768";s:1:"N";s:2:"Pi";s:1:"B";a:4:{i:0;s:2:"25";i:1;s:1:"0";i:2;s:3:"745";i:3;s:3:"673";}}s:2:"Pi";a:4:{s:1:"C";s:2:"80";s:2:"WX";s:3:"768";s:1:"N";s:2:"Pi";s:1:"B";a:4:{i:0;s:2:"25";i:1;s:1:"0";i:2;s:3:"745";i:3;s:3:"673";}}i:81;a:4:{s:1:"C";s:2:"81";s:2:"WX";s:3:"741";s:1:"N";s:5:"Theta";s:1:"B";a:4:{i:0;s:2:"41";i:1;s:3:"-17";i:2;s:3:"715";i:3;s:3:"685";}}s:5:"Theta";a:4:{s:1:"C";s:2:"81";s:2:"WX";s:3:"741";s:1:"N";s:5:"Theta";s:1:"B";a:4:{i:0;s:2:"41";i:1;s:3:"-17";i:2;s:3:"715";i:3;s:3:"685";}}i:82;a:4:{s:1:"C";s:2:"82";s:2:"WX";s:3:"556";s:1:"N";s:3:"Rho";s:1:"B";a:4:{i:0;s:2:"28";i:1;s:1:"0";i:2;s:3:"563";i:3;s:3:"673";}}s:3:"Rho";a:4:{s:1:"C";s:2:"82";s:2:"WX";s:3:"556";s:1:"N";s:3:"Rho";s:1:"B";a:4:{i:0;s:2:"28";i:1;s:1:"0";i:2;s:3:"563";i:3;s:3:"673";}}i:83;a:4:{s:1:"C";s:2:"83";s:2:"WX";s:3:"592";s:1:"N";s:5:"Sigma";s:1:"B";a:4:{i:0;s:1:"5";i:1;s:1:"0";i:2;s:3:"589";i:3;s:3:"673";}}s:5:"Sigma";a:4:{s:1:"C";s:2:"83";s:2:"WX";s:3:"592";s:1:"N";s:5:"Sigma";s:1:"B";a:4:{i:0;s:1:"5";i:1;s:1:"0";i:2;s:3:"589";i:3;s:3:"673";}}i:84;a:4:{s:1:"C";s:2:"84";s:2:"WX";s:3:"611";s:1:"N";s:3:"Tau";s:1:"B";a:4:{i:0;s:2:"33";i:1;s:1:"0";i:2;s:3:"607";i:3;s:3:"673";}}s:3:"Tau";a:4:{s:1:"C";s:2:"84";s:2:"WX";s:3:"611";s:1:"N";s:3:"Tau";s:1:"B";a:4:{i:0;s:2:"33";i:1;s:1:"0";i:2;s:3:"607";i:3;s:3:"673";}}i:85;a:4:{s:1:"C";s:2:"85";s:2:"WX";s:3:"690";s:1:"N";s:7:"Upsilon";s:1:"B";a:4:{i:0;s:2:"-8";i:1;s:1:"0";i:2;s:3:"694";i:3;s:3:"673";}}s:7:"Upsilon";a:4:{s:1:"C";s:2:"85";s:2:"WX";s:3:"690";s:1:"N";s:7:"Upsilon";s:1:"B";a:4:{i:0;s:2:"-8";i:1;s:1:"0";i:2;s:3:"694";i:3;s:3:"673";}}i:86;a:4:{s:1:"C";s:2:"86";s:2:"WX";s:3:"439";s:1:"N";s:6:"sigma1";s:1:"B";a:4:{i:0;s:2:"40";i:1;s:4:"-233";i:2;s:3:"436";i:3;s:3:"500";}}s:6:"sigma1";a:4:{s:1:"C";s:2:"86";s:2:"WX";s:3:"439";s:1:"N";s:6:"sigma1";s:1:"B";a:4:{i:0;s:2:"40";i:1;s:4:"-233";i:2;s:3:"436";i:3;s:3:"500";}}i:87;a:4:{s:1:"C";s:2:"87";s:2:"WX";s:3:"768";s:1:"N";s:5:"Omega";s:1:"B";a:4:{i:0;s:2:"34";i:1;s:1:"0";i:2;s:3:"736";i:3;s:3:"688";}}s:5:"Omega";a:4:{s:1:"C";s:2:"87";s:2:"WX";s:3:"768";s:1:"N";s:5:"Omega";s:1:"B";a:4:{i:0;s:2:"34";i:1;s:1:"0";i:2;s:3:"736";i:3;s:3:"688";}}i:88;a:4:{s:1:"C";s:2:"88";s:2:"WX";s:3:"645";s:1:"N";s:2:"Xi";s:1:"B";a:4:{i:0;s:2:"40";i:1;s:1:"0";i:2;s:3:"599";i:3;s:3:"673";}}s:2:"Xi";a:4:{s:1:"C";s:2:"88";s:2:"WX";s:3:"645";s:1:"N";s:2:"Xi";s:1:"B";a:4:{i:0;s:2:"40";i:1;s:1:"0";i:2;s:3:"599";i:3;s:3:"673";}}i:89;a:4:{s:1:"C";s:2:"89";s:2:"WX";s:3:"795";s:1:"N";s:3:"Psi";s:1:"B";a:4:{i:0;s:2:"15";i:1;s:1:"0";i:2;s:3:"781";i:3;s:3:"684";}}s:3:"Psi";a:4:{s:1:"C";s:2:"89";s:2:"WX";s:3:"795";s:1:"N";s:3:"Psi";s:1:"B";a:4:{i:0;s:2:"15";i:1;s:1:"0";i:2;s:3:"781";i:3;s:3:"684";}}i:90;a:4:{s:1:"C";s:2:"90";s:2:"WX";s:3:"611";s:1:"N";s:4:"Zeta";s:1:"B";a:4:{i:0;s:2:"44";i:1;s:1:"0";i:2;s:3:"636";i:3;s:3:"673";}}s:4:"Zeta";a:4:{s:1:"C";s:2:"90";s:2:"WX";s:3:"611";s:1:"N";s:4:"Zeta";s:1:"B";a:4:{i:0;s:2:"44";i:1;s:1:"0";i:2;s:3:"636";i:3;s:3:"673";}}i:91;a:4:{s:1:"C";s:2:"91";s:2:"WX";s:3:"333";s:1:"N";s:11:"bracketleft";s:1:"B";a:4:{i:0;s:2:"86";i:1;s:4:"-155";i:2;s:3:"299";i:3;s:3:"674";}}s:11:"bracketleft";a:4:{s:1:"C";s:2:"91";s:2:"WX";s:3:"333";s:1:"N";s:11:"bracketleft";s:1:"B";a:4:{i:0;s:2:"86";i:1;s:4:"-155";i:2;s:3:"299";i:3;s:3:"674";}}i:92;a:4:{s:1:"C";s:2:"92";s:2:"WX";s:3:"863";s:1:"N";s:9:"therefore";s:1:"B";a:4:{i:0;s:3:"163";i:1;s:1:"0";i:2;s:3:"701";i:3;s:3:"487";}}s:9:"therefore";a:4:{s:1:"C";s:2:"92";s:2:"WX";s:3:"863";s:1:"N";s:9:"therefore";s:1:"B";a:4:{i:0;s:3:"163";i:1;s:1:"0";i:2;s:3:"701";i:3;s:3:"487";}}i:93;a:4:{s:1:"C";s:2:"93";s:2:"WX";s:3:"333";s:1:"N";s:12:"bracketright";s:1:"B";a:4:{i:0;s:2:"33";i:1;s:4:"-155";i:2;s:3:"246";i:3;s:3:"674";}}s:12:"bracketright";a:4:{s:1:"C";s:2:"93";s:2:"WX";s:3:"333";s:1:"N";s:12:"bracketright";s:1:"B";a:4:{i:0;s:2:"33";i:1;s:4:"-155";i:2;s:3:"246";i:3;s:3:"674";}}i:94;a:4:{s:1:"C";s:2:"94";s:2:"WX";s:3:"658";s:1:"N";s:13:"perpendicular";s:1:"B";a:4:{i:0;s:2:"15";i:1;s:1:"0";i:2;s:3:"652";i:3;s:3:"674";}}s:13:"perpendicular";a:4:{s:1:"C";s:2:"94";s:2:"WX";s:3:"658";s:1:"N";s:13:"perpendicular";s:1:"B";a:4:{i:0;s:2:"15";i:1;s:1:"0";i:2;s:3:"652";i:3;s:3:"674";}}i:95;a:4:{s:1:"C";s:2:"95";s:2:"WX";s:3:"500";s:1:"N";s:10:"underscore";s:1:"B";a:4:{i:0;s:2:"-2";i:1;s:4:"-125";i:2;s:3:"502";i:3;s:3:"-75";}}s:10:"underscore";a:4:{s:1:"C";s:2:"95";s:2:"WX";s:3:"500";s:1:"N";s:10:"underscore";s:1:"B";a:4:{i:0;s:2:"-2";i:1;s:4:"-125";i:2;s:3:"502";i:3;s:3:"-75";}}i:96;a:4:{s:1:"C";s:2:"96";s:2:"WX";s:3:"500";s:1:"N";s:9:"radicalex";s:1:"B";a:4:{i:0;s:3:"480";i:1;s:3:"881";i:2;s:4:"1090";i:3;s:3:"917";}}s:9:"radicalex";a:4:{s:1:"C";s:2:"96";s:2:"WX";s:3:"500";s:1:"N";s:9:"radicalex";s:1:"B";a:4:{i:0;s:3:"480";i:1;s:3:"881";i:2;s:4:"1090";i:3;s:3:"917";}}i:97;a:4:{s:1:"C";s:2:"97";s:2:"WX";s:3:"631";s:1:"N";s:5:"alpha";s:1:"B";a:4:{i:0;s:2:"41";i:1;s:3:"-18";i:2;s:3:"622";i:3;s:3:"500";}}s:5:"alpha";a:4:{s:1:"C";s:2:"97";s:2:"WX";s:3:"631";s:1:"N";s:5:"alpha";s:1:"B";a:4:{i:0;s:2:"41";i:1;s:3:"-18";i:2;s:3:"622";i:3;s:3:"500";}}i:98;a:4:{s:1:"C";s:2:"98";s:2:"WX";s:3:"549";s:1:"N";s:4:"beta";s:1:"B";a:4:{i:0;s:2:"61";i:1;s:4:"-223";i:2;s:3:"515";i:3;s:3:"741";}}s:4:"beta";a:4:{s:1:"C";s:2:"98";s:2:"WX";s:3:"549";s:1:"N";s:4:"beta";s:1:"B";a:4:{i:0;s:2:"61";i:1;s:4:"-223";i:2;s:3:"515";i:3;s:3:"741";}}i:99;a:4:{s:1:"C";s:2:"99";s:2:"WX";s:3:"549";s:1:"N";s:3:"chi";s:1:"B";a:4:{i:0;s:2:"12";i:1;s:4:"-231";i:2;s:3:"522";i:3;s:3:"499";}}s:3:"chi";a:4:{s:1:"C";s:2:"99";s:2:"WX";s:3:"549";s:1:"N";s:3:"chi";s:1:"B";a:4:{i:0;s:2:"12";i:1;s:4:"-231";i:2;s:3:"522";i:3;s:3:"499";}}i:100;a:4:{s:1:"C";s:3:"100";s:2:"WX";s:3:"494";s:1:"N";s:5:"delta";s:1:"B";a:4:{i:0;s:2:"40";i:1;s:3:"-19";i:2;s:3:"481";i:3;s:3:"740";}}s:5:"delta";a:4:{s:1:"C";s:3:"100";s:2:"WX";s:3:"494";s:1:"N";s:5:"delta";s:1:"B";a:4:{i:0;s:2:"40";i:1;s:3:"-19";i:2;s:3:"481";i:3;s:3:"740";}}i:101;a:4:{s:1:"C";s:3:"101";s:2:"WX";s:3:"439";s:1:"N";s:7:"epsilon";s:1:"B";a:4:{i:0;s:2:"22";i:1;s:3:"-19";i:2;s:3:"427";i:3;s:3:"502";}}s:7:"epsilon";a:4:{s:1:"C";s:3:"101";s:2:"WX";s:3:"439";s:1:"N";s:7:"epsilon";s:1:"B";a:4:{i:0;s:2:"22";i:1;s:3:"-19";i:2;s:3:"427";i:3;s:3:"502";}}i:102;a:4:{s:1:"C";s:3:"102";s:2:"WX";s:3:"521";s:1:"N";s:3:"phi";s:1:"B";a:4:{i:0;s:2:"28";i:1;s:4:"-224";i:2;s:3:"492";i:3;s:3:"673";}}s:3:"phi";a:4:{s:1:"C";s:3:"102";s:2:"WX";s:3:"521";s:1:"N";s:3:"phi";s:1:"B";a:4:{i:0;s:2:"28";i:1;s:4:"-224";i:2;s:3:"492";i:3;s:3:"673";}}i:103;a:4:{s:1:"C";s:3:"103";s:2:"WX";s:3:"411";s:1:"N";s:5:"gamma";s:1:"B";a:4:{i:0;s:1:"5";i:1;s:4:"-225";i:2;s:3:"484";i:3;s:3:"499";}}s:5:"gamma";a:4:{s:1:"C";s:3:"103";s:2:"WX";s:3:"411";s:1:"N";s:5:"gamma";s:1:"B";a:4:{i:0;s:1:"5";i:1;s:4:"-225";i:2;s:3:"484";i:3;s:3:"499";}}i:104;a:4:{s:1:"C";s:3:"104";s:2:"WX";s:3:"603";s:1:"N";s:3:"eta";s:1:"B";a:4:{i:0;s:1:"0";i:1;s:4:"-202";i:2;s:3:"527";i:3;s:3:"514";}}s:3:"eta";a:4:{s:1:"C";s:3:"104";s:2:"WX";s:3:"603";s:1:"N";s:3:"eta";s:1:"B";a:4:{i:0;s:1:"0";i:1;s:4:"-202";i:2;s:3:"527";i:3;s:3:"514";}}i:105;a:4:{s:1:"C";s:3:"105";s:2:"WX";s:3:"329";s:1:"N";s:4:"iota";s:1:"B";a:4:{i:0;s:1:"0";i:1;s:3:"-17";i:2;s:3:"301";i:3;s:3:"503";}}s:4:"iota";a:4:{s:1:"C";s:3:"105";s:2:"WX";s:3:"329";s:1:"N";s:4:"iota";s:1:"B";a:4:{i:0;s:1:"0";i:1;s:3:"-17";i:2;s:3:"301";i:3;s:3:"503";}}i:106;a:4:{s:1:"C";s:3:"106";s:2:"WX";s:3:"603";s:1:"N";s:4:"phi1";s:1:"B";a:4:{i:0;s:2:"36";i:1;s:4:"-224";i:2;s:3:"587";i:3;s:3:"499";}}s:4:"phi1";a:4:{s:1:"C";s:3:"106";s:2:"WX";s:3:"603";s:1:"N";s:4:"phi1";s:1:"B";a:4:{i:0;s:2:"36";i:1;s:4:"-224";i:2;s:3:"587";i:3;s:3:"499";}}i:107;a:4:{s:1:"C";s:3:"107";s:2:"WX";s:3:"549";s:1:"N";s:5:"kappa";s:1:"B";a:4:{i:0;s:2:"33";i:1;s:1:"0";i:2;s:3:"558";i:3;s:3:"501";}}s:5:"kappa";a:4:{s:1:"C";s:3:"107";s:2:"WX";s:3:"549";s:1:"N";s:5:"kappa";s:1:"B";a:4:{i:0;s:2:"33";i:1;s:1:"0";i:2;s:3:"558";i:3;s:3:"501";}}i:108;a:4:{s:1:"C";s:3:"108";s:2:"WX";s:3:"549";s:1:"N";s:6:"lambda";s:1:"B";a:4:{i:0;s:2:"24";i:1;s:3:"-17";i:2;s:3:"548";i:3;s:3:"739";}}s:6:"lambda";a:4:{s:1:"C";s:3:"108";s:2:"WX";s:3:"549";s:1:"N";s:6:"lambda";s:1:"B";a:4:{i:0;s:2:"24";i:1;s:3:"-17";i:2;s:3:"548";i:3;s:3:"739";}}i:109;a:4:{s:1:"C";s:3:"109";s:2:"WX";s:3:"576";s:1:"N";s:2:"mu";s:1:"B";a:4:{i:0;s:2:"33";i:1;s:4:"-223";i:2;s:3:"567";i:3;s:3:"500";}}s:2:"mu";a:4:{s:1:"C";s:3:"109";s:2:"WX";s:3:"576";s:1:"N";s:2:"mu";s:1:"B";a:4:{i:0;s:2:"33";i:1;s:4:"-223";i:2;s:3:"567";i:3;s:3:"500";}}i:110;a:4:{s:1:"C";s:3:"110";s:2:"WX";s:3:"521";s:1:"N";s:2:"nu";s:1:"B";a:4:{i:0;s:2:"-9";i:1;s:3:"-16";i:2;s:3:"475";i:3;s:3:"507";}}s:2:"nu";a:4:{s:1:"C";s:3:"110";s:2:"WX";s:3:"521";s:1:"N";s:2:"nu";s:1:"B";a:4:{i:0;s:2:"-9";i:1;s:3:"-16";i:2;s:3:"475";i:3;s:3:"507";}}i:111;a:4:{s:1:"C";s:3:"111";s:2:"WX";s:3:"549";s:1:"N";s:7:"omicron";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:3:"-19";i:2;s:3:"501";i:3;s:3:"499";}}s:7:"omicron";a:4:{s:1:"C";s:3:"111";s:2:"WX";s:3:"549";s:1:"N";s:7:"omicron";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:3:"-19";i:2;s:3:"501";i:3;s:3:"499";}}i:112;a:4:{s:1:"C";s:3:"112";s:2:"WX";s:3:"549";s:1:"N";s:2:"pi";s:1:"B";a:4:{i:0;s:2:"10";i:1;s:3:"-19";i:2;s:3:"530";i:3;s:3:"487";}}s:2:"pi";a:4:{s:1:"C";s:3:"112";s:2:"WX";s:3:"549";s:1:"N";s:2:"pi";s:1:"B";a:4:{i:0;s:2:"10";i:1;s:3:"-19";i:2;s:3:"530";i:3;s:3:"487";}}i:113;a:4:{s:1:"C";s:3:"113";s:2:"WX";s:3:"521";s:1:"N";s:5:"theta";s:1:"B";a:4:{i:0;s:2:"43";i:1;s:3:"-17";i:2;s:3:"485";i:3;s:3:"690";}}s:5:"theta";a:4:{s:1:"C";s:3:"113";s:2:"WX";s:3:"521";s:1:"N";s:5:"theta";s:1:"B";a:4:{i:0;s:2:"43";i:1;s:3:"-17";i:2;s:3:"485";i:3;s:3:"690";}}i:114;a:4:{s:1:"C";s:3:"114";s:2:"WX";s:3:"549";s:1:"N";s:3:"rho";s:1:"B";a:4:{i:0;s:2:"50";i:1;s:4:"-230";i:2;s:3:"490";i:3;s:3:"499";}}s:3:"rho";a:4:{s:1:"C";s:3:"114";s:2:"WX";s:3:"549";s:1:"N";s:3:"rho";s:1:"B";a:4:{i:0;s:2:"50";i:1;s:4:"-230";i:2;s:3:"490";i:3;s:3:"499";}}i:115;a:4:{s:1:"C";s:3:"115";s:2:"WX";s:3:"603";s:1:"N";s:5:"sigma";s:1:"B";a:4:{i:0;s:2:"30";i:1;s:3:"-21";i:2;s:3:"588";i:3;s:3:"500";}}s:5:"sigma";a:4:{s:1:"C";s:3:"115";s:2:"WX";s:3:"603";s:1:"N";s:5:"sigma";s:1:"B";a:4:{i:0;s:2:"30";i:1;s:3:"-21";i:2;s:3:"588";i:3;s:3:"500";}}i:116;a:4:{s:1:"C";s:3:"116";s:2:"WX";s:3:"439";s:1:"N";s:3:"tau";s:1:"B";a:4:{i:0;s:2:"10";i:1;s:3:"-19";i:2;s:3:"418";i:3;s:3:"500";}}s:3:"tau";a:4:{s:1:"C";s:3:"116";s:2:"WX";s:3:"439";s:1:"N";s:3:"tau";s:1:"B";a:4:{i:0;s:2:"10";i:1;s:3:"-19";i:2;s:3:"418";i:3;s:3:"500";}}i:117;a:4:{s:1:"C";s:3:"117";s:2:"WX";s:3:"576";s:1:"N";s:7:"upsilon";s:1:"B";a:4:{i:0;s:1:"7";i:1;s:3:"-18";i:2;s:3:"535";i:3;s:3:"507";}}s:7:"upsilon";a:4:{s:1:"C";s:3:"117";s:2:"WX";s:3:"576";s:1:"N";s:7:"upsilon";s:1:"B";a:4:{i:0;s:1:"7";i:1;s:3:"-18";i:2;s:3:"535";i:3;s:3:"507";}}i:118;a:4:{s:1:"C";s:3:"118";s:2:"WX";s:3:"713";s:1:"N";s:6:"omega1";s:1:"B";a:4:{i:0;s:2:"12";i:1;s:3:"-18";i:2;s:3:"671";i:3;s:3:"583";}}s:6:"omega1";a:4:{s:1:"C";s:3:"118";s:2:"WX";s:3:"713";s:1:"N";s:6:"omega1";s:1:"B";a:4:{i:0;s:2:"12";i:1;s:3:"-18";i:2;s:3:"671";i:3;s:3:"583";}}i:119;a:4:{s:1:"C";s:3:"119";s:2:"WX";s:3:"686";s:1:"N";s:5:"omega";s:1:"B";a:4:{i:0;s:2:"42";i:1;s:3:"-17";i:2;s:3:"684";i:3;s:3:"500";}}s:5:"omega";a:4:{s:1:"C";s:3:"119";s:2:"WX";s:3:"686";s:1:"N";s:5:"omega";s:1:"B";a:4:{i:0;s:2:"42";i:1;s:3:"-17";i:2;s:3:"684";i:3;s:3:"500";}}i:120;a:4:{s:1:"C";s:3:"120";s:2:"WX";s:3:"493";s:1:"N";s:2:"xi";s:1:"B";a:4:{i:0;s:2:"27";i:1;s:4:"-224";i:2;s:3:"469";i:3;s:3:"766";}}s:2:"xi";a:4:{s:1:"C";s:3:"120";s:2:"WX";s:3:"493";s:1:"N";s:2:"xi";s:1:"B";a:4:{i:0;s:2:"27";i:1;s:4:"-224";i:2;s:3:"469";i:3;s:3:"766";}}i:121;a:4:{s:1:"C";s:3:"121";s:2:"WX";s:3:"686";s:1:"N";s:3:"psi";s:1:"B";a:4:{i:0;s:2:"12";i:1;s:4:"-228";i:2;s:3:"701";i:3;s:3:"500";}}s:3:"psi";a:4:{s:1:"C";s:3:"121";s:2:"WX";s:3:"686";s:1:"N";s:3:"psi";s:1:"B";a:4:{i:0;s:2:"12";i:1;s:4:"-228";i:2;s:3:"701";i:3;s:3:"500";}}i:122;a:4:{s:1:"C";s:3:"122";s:2:"WX";s:3:"494";s:1:"N";s:4:"zeta";s:1:"B";a:4:{i:0;s:2:"60";i:1;s:4:"-225";i:2;s:3:"467";i:3;s:3:"756";}}s:4:"zeta";a:4:{s:1:"C";s:3:"122";s:2:"WX";s:3:"494";s:1:"N";s:4:"zeta";s:1:"B";a:4:{i:0;s:2:"60";i:1;s:4:"-225";i:2;s:3:"467";i:3;s:3:"756";}}i:123;a:4:{s:1:"C";s:3:"123";s:2:"WX";s:3:"480";s:1:"N";s:9:"braceleft";s:1:"B";a:4:{i:0;s:2:"58";i:1;s:4:"-183";i:2;s:3:"397";i:3;s:3:"673";}}s:9:"braceleft";a:4:{s:1:"C";s:3:"123";s:2:"WX";s:3:"480";s:1:"N";s:9:"braceleft";s:1:"B";a:4:{i:0;s:2:"58";i:1;s:4:"-183";i:2;s:3:"397";i:3;s:3:"673";}}i:124;a:4:{s:1:"C";s:3:"124";s:2:"WX";s:3:"200";s:1:"N";s:3:"bar";s:1:"B";a:4:{i:0;s:2:"65";i:1;s:4:"-293";i:2;s:3:"135";i:3;s:3:"707";}}s:3:"bar";a:4:{s:1:"C";s:3:"124";s:2:"WX";s:3:"200";s:1:"N";s:3:"bar";s:1:"B";a:4:{i:0;s:2:"65";i:1;s:4:"-293";i:2;s:3:"135";i:3;s:3:"707";}}i:125;a:4:{s:1:"C";s:3:"125";s:2:"WX";s:3:"480";s:1:"N";s:10:"braceright";s:1:"B";a:4:{i:0;s:2:"79";i:1;s:4:"-183";i:2;s:3:"418";i:3;s:3:"673";}}s:10:"braceright";a:4:{s:1:"C";s:3:"125";s:2:"WX";s:3:"480";s:1:"N";s:10:"braceright";s:1:"B";a:4:{i:0;s:2:"79";i:1;s:4:"-183";i:2;s:3:"418";i:3;s:3:"673";}}i:126;a:4:{s:1:"C";s:3:"126";s:2:"WX";s:3:"549";s:1:"N";s:7:"similar";s:1:"B";a:4:{i:0;s:2:"17";i:1;s:3:"203";i:2;s:3:"529";i:3;s:3:"307";}}s:7:"similar";a:4:{s:1:"C";s:3:"126";s:2:"WX";s:3:"549";s:1:"N";s:7:"similar";s:1:"B";a:4:{i:0;s:2:"17";i:1;s:3:"203";i:2;s:3:"529";i:3;s:3:"307";}}i:160;a:4:{s:1:"C";s:3:"160";s:2:"WX";s:3:"750";s:1:"N";s:4:"Euro";s:1:"B";a:4:{i:0;s:2:"20";i:1;s:3:"-12";i:2;s:3:"714";i:3;s:3:"685";}}s:4:"Euro";a:4:{s:1:"C";s:3:"160";s:2:"WX";s:3:"750";s:1:"N";s:4:"Euro";s:1:"B";a:4:{i:0;s:2:"20";i:1;s:3:"-12";i:2;s:3:"714";i:3;s:3:"685";}}i:161;a:4:{s:1:"C";s:3:"161";s:2:"WX";s:3:"620";s:1:"N";s:8:"Upsilon1";s:1:"B";a:4:{i:0;s:2:"-2";i:1;s:1:"0";i:2;s:3:"610";i:3;s:3:"685";}}s:8:"Upsilon1";a:4:{s:1:"C";s:3:"161";s:2:"WX";s:3:"620";s:1:"N";s:8:"Upsilon1";s:1:"B";a:4:{i:0;s:2:"-2";i:1;s:1:"0";i:2;s:3:"610";i:3;s:3:"685";}}i:162;a:4:{s:1:"C";s:3:"162";s:2:"WX";s:3:"247";s:1:"N";s:6:"minute";s:1:"B";a:4:{i:0;s:2:"27";i:1;s:3:"459";i:2;s:3:"228";i:3;s:3:"735";}}s:6:"minute";a:4:{s:1:"C";s:3:"162";s:2:"WX";s:3:"247";s:1:"N";s:6:"minute";s:1:"B";a:4:{i:0;s:2:"27";i:1;s:3:"459";i:2;s:3:"228";i:3;s:3:"735";}}i:163;a:4:{s:1:"C";s:3:"163";s:2:"WX";s:3:"549";s:1:"N";s:9:"lessequal";s:1:"B";a:4:{i:0;s:2:"29";i:1;s:1:"0";i:2;s:3:"526";i:3;s:3:"639";}}s:9:"lessequal";a:4:{s:1:"C";s:3:"163";s:2:"WX";s:3:"549";s:1:"N";s:9:"lessequal";s:1:"B";a:4:{i:0;s:2:"29";i:1;s:1:"0";i:2;s:3:"526";i:3;s:3:"639";}}i:164;a:4:{s:1:"C";s:3:"164";s:2:"WX";s:3:"167";s:1:"N";s:8:"fraction";s:1:"B";a:4:{i:0;s:4:"-180";i:1;s:3:"-12";i:2;s:3:"340";i:3;s:3:"677";}}s:8:"fraction";a:4:{s:1:"C";s:3:"164";s:2:"WX";s:3:"167";s:1:"N";s:8:"fraction";s:1:"B";a:4:{i:0;s:4:"-180";i:1;s:3:"-12";i:2;s:3:"340";i:3;s:3:"677";}}i:165;a:4:{s:1:"C";s:3:"165";s:2:"WX";s:3:"713";s:1:"N";s:8:"infinity";s:1:"B";a:4:{i:0;s:2:"26";i:1;s:3:"124";i:2;s:3:"688";i:3;s:3:"404";}}s:8:"infinity";a:4:{s:1:"C";s:3:"165";s:2:"WX";s:3:"713";s:1:"N";s:8:"infinity";s:1:"B";a:4:{i:0;s:2:"26";i:1;s:3:"124";i:2;s:3:"688";i:3;s:3:"404";}}i:166;a:4:{s:1:"C";s:3:"166";s:2:"WX";s:3:"500";s:1:"N";s:6:"florin";s:1:"B";a:4:{i:0;s:1:"2";i:1;s:4:"-193";i:2;s:3:"494";i:3;s:3:"686";}}s:6:"florin";a:4:{s:1:"C";s:3:"166";s:2:"WX";s:3:"500";s:1:"N";s:6:"florin";s:1:"B";a:4:{i:0;s:1:"2";i:1;s:4:"-193";i:2;s:3:"494";i:3;s:3:"686";}}i:167;a:4:{s:1:"C";s:3:"167";s:2:"WX";s:3:"753";s:1:"N";s:4:"club";s:1:"B";a:4:{i:0;s:2:"86";i:1;s:3:"-26";i:2;s:3:"660";i:3;s:3:"533";}}s:4:"club";a:4:{s:1:"C";s:3:"167";s:2:"WX";s:3:"753";s:1:"N";s:4:"club";s:1:"B";a:4:{i:0;s:2:"86";i:1;s:3:"-26";i:2;s:3:"660";i:3;s:3:"533";}}i:168;a:4:{s:1:"C";s:3:"168";s:2:"WX";s:3:"753";s:1:"N";s:7:"diamond";s:1:"B";a:4:{i:0;s:3:"142";i:1;s:3:"-36";i:2;s:3:"600";i:3;s:3:"550";}}s:7:"diamond";a:4:{s:1:"C";s:3:"168";s:2:"WX";s:3:"753";s:1:"N";s:7:"diamond";s:1:"B";a:4:{i:0;s:3:"142";i:1;s:3:"-36";i:2;s:3:"600";i:3;s:3:"550";}}i:169;a:4:{s:1:"C";s:3:"169";s:2:"WX";s:3:"753";s:1:"N";s:5:"heart";s:1:"B";a:4:{i:0;s:3:"117";i:1;s:3:"-33";i:2;s:3:"631";i:3;s:3:"532";}}s:5:"heart";a:4:{s:1:"C";s:3:"169";s:2:"WX";s:3:"753";s:1:"N";s:5:"heart";s:1:"B";a:4:{i:0;s:3:"117";i:1;s:3:"-33";i:2;s:3:"631";i:3;s:3:"532";}}i:170;a:4:{s:1:"C";s:3:"170";s:2:"WX";s:3:"753";s:1:"N";s:5:"spade";s:1:"B";a:4:{i:0;s:3:"113";i:1;s:3:"-36";i:2;s:3:"629";i:3;s:3:"548";}}s:5:"spade";a:4:{s:1:"C";s:3:"170";s:2:"WX";s:3:"753";s:1:"N";s:5:"spade";s:1:"B";a:4:{i:0;s:3:"113";i:1;s:3:"-36";i:2;s:3:"629";i:3;s:3:"548";}}i:171;a:4:{s:1:"C";s:3:"171";s:2:"WX";s:4:"1042";s:1:"N";s:9:"arrowboth";s:1:"B";a:4:{i:0;s:2:"24";i:1;s:3:"-15";i:2;s:4:"1024";i:3;s:3:"511";}}s:9:"arrowboth";a:4:{s:1:"C";s:3:"171";s:2:"WX";s:4:"1042";s:1:"N";s:9:"arrowboth";s:1:"B";a:4:{i:0;s:2:"24";i:1;s:3:"-15";i:2;s:4:"1024";i:3;s:3:"511";}}i:172;a:4:{s:1:"C";s:3:"172";s:2:"WX";s:3:"987";s:1:"N";s:9:"arrowleft";s:1:"B";a:4:{i:0;s:2:"32";i:1;s:3:"-15";i:2;s:3:"942";i:3;s:3:"511";}}s:9:"arrowleft";a:4:{s:1:"C";s:3:"172";s:2:"WX";s:3:"987";s:1:"N";s:9:"arrowleft";s:1:"B";a:4:{i:0;s:2:"32";i:1;s:3:"-15";i:2;s:3:"942";i:3;s:3:"511";}}i:173;a:4:{s:1:"C";s:3:"173";s:2:"WX";s:3:"603";s:1:"N";s:7:"arrowup";s:1:"B";a:4:{i:0;s:2:"45";i:1;s:1:"0";i:2;s:3:"571";i:3;s:3:"910";}}s:7:"arrowup";a:4:{s:1:"C";s:3:"173";s:2:"WX";s:3:"603";s:1:"N";s:7:"arrowup";s:1:"B";a:4:{i:0;s:2:"45";i:1;s:1:"0";i:2;s:3:"571";i:3;s:3:"910";}}i:174;a:4:{s:1:"C";s:3:"174";s:2:"WX";s:3:"987";s:1:"N";s:10:"arrowright";s:1:"B";a:4:{i:0;s:2:"49";i:1;s:3:"-15";i:2;s:3:"959";i:3;s:3:"511";}}s:10:"arrowright";a:4:{s:1:"C";s:3:"174";s:2:"WX";s:3:"987";s:1:"N";s:10:"arrowright";s:1:"B";a:4:{i:0;s:2:"49";i:1;s:3:"-15";i:2;s:3:"959";i:3;s:3:"511";}}i:175;a:4:{s:1:"C";s:3:"175";s:2:"WX";s:3:"603";s:1:"N";s:9:"arrowdown";s:1:"B";a:4:{i:0;s:2:"45";i:1;s:3:"-22";i:2;s:3:"571";i:3;s:3:"888";}}s:9:"arrowdown";a:4:{s:1:"C";s:3:"175";s:2:"WX";s:3:"603";s:1:"N";s:9:"arrowdown";s:1:"B";a:4:{i:0;s:2:"45";i:1;s:3:"-22";i:2;s:3:"571";i:3;s:3:"888";}}i:176;a:4:{s:1:"C";s:3:"176";s:2:"WX";s:3:"400";s:1:"N";s:6:"degree";s:1:"B";a:4:{i:0;s:2:"50";i:1;s:3:"385";i:2;s:3:"350";i:3;s:3:"685";}}s:6:"degree";a:4:{s:1:"C";s:3:"176";s:2:"WX";s:3:"400";s:1:"N";s:6:"degree";s:1:"B";a:4:{i:0;s:2:"50";i:1;s:3:"385";i:2;s:3:"350";i:3;s:3:"685";}}i:177;a:4:{s:1:"C";s:3:"177";s:2:"WX";s:3:"549";s:1:"N";s:9:"plusminus";s:1:"B";a:4:{i:0;s:2:"10";i:1;s:1:"0";i:2;s:3:"539";i:3;s:3:"645";}}s:9:"plusminus";a:4:{s:1:"C";s:3:"177";s:2:"WX";s:3:"549";s:1:"N";s:9:"plusminus";s:1:"B";a:4:{i:0;s:2:"10";i:1;s:1:"0";i:2;s:3:"539";i:3;s:3:"645";}}i:178;a:4:{s:1:"C";s:3:"178";s:2:"WX";s:3:"411";s:1:"N";s:6:"second";s:1:"B";a:4:{i:0;s:2:"20";i:1;s:3:"459";i:2;s:3:"413";i:3;s:3:"737";}}s:6:"second";a:4:{s:1:"C";s:3:"178";s:2:"WX";s:3:"411";s:1:"N";s:6:"second";s:1:"B";a:4:{i:0;s:2:"20";i:1;s:3:"459";i:2;s:3:"413";i:3;s:3:"737";}}i:179;a:4:{s:1:"C";s:3:"179";s:2:"WX";s:3:"549";s:1:"N";s:12:"greaterequal";s:1:"B";a:4:{i:0;s:2:"29";i:1;s:1:"0";i:2;s:3:"526";i:3;s:3:"639";}}s:12:"greaterequal";a:4:{s:1:"C";s:3:"179";s:2:"WX";s:3:"549";s:1:"N";s:12:"greaterequal";s:1:"B";a:4:{i:0;s:2:"29";i:1;s:1:"0";i:2;s:3:"526";i:3;s:3:"639";}}i:180;a:4:{s:1:"C";s:3:"180";s:2:"WX";s:3:"549";s:1:"N";s:8:"multiply";s:1:"B";a:4:{i:0;s:2:"17";i:1;s:1:"8";i:2;s:3:"533";i:3;s:3:"524";}}s:8:"multiply";a:4:{s:1:"C";s:3:"180";s:2:"WX";s:3:"549";s:1:"N";s:8:"multiply";s:1:"B";a:4:{i:0;s:2:"17";i:1;s:1:"8";i:2;s:3:"533";i:3;s:3:"524";}}i:181;a:4:{s:1:"C";s:3:"181";s:2:"WX";s:3:"713";s:1:"N";s:12:"proportional";s:1:"B";a:4:{i:0;s:2:"27";i:1;s:3:"123";i:2;s:3:"639";i:3;s:3:"404";}}s:12:"proportional";a:4:{s:1:"C";s:3:"181";s:2:"WX";s:3:"713";s:1:"N";s:12:"proportional";s:1:"B";a:4:{i:0;s:2:"27";i:1;s:3:"123";i:2;s:3:"639";i:3;s:3:"404";}}i:182;a:4:{s:1:"C";s:3:"182";s:2:"WX";s:3:"494";s:1:"N";s:11:"partialdiff";s:1:"B";a:4:{i:0;s:2:"26";i:1;s:3:"-20";i:2;s:3:"462";i:3;s:3:"746";}}s:11:"partialdiff";a:4:{s:1:"C";s:3:"182";s:2:"WX";s:3:"494";s:1:"N";s:11:"partialdiff";s:1:"B";a:4:{i:0;s:2:"26";i:1;s:3:"-20";i:2;s:3:"462";i:3;s:3:"746";}}i:183;a:4:{s:1:"C";s:3:"183";s:2:"WX";s:3:"460";s:1:"N";s:6:"bullet";s:1:"B";a:4:{i:0;s:2:"50";i:1;s:3:"113";i:2;s:3:"410";i:3;s:3:"473";}}s:6:"bullet";a:4:{s:1:"C";s:3:"183";s:2:"WX";s:3:"460";s:1:"N";s:6:"bullet";s:1:"B";a:4:{i:0;s:2:"50";i:1;s:3:"113";i:2;s:3:"410";i:3;s:3:"473";}}i:184;a:4:{s:1:"C";s:3:"184";s:2:"WX";s:3:"549";s:1:"N";s:6:"divide";s:1:"B";a:4:{i:0;s:2:"10";i:1;s:2:"71";i:2;s:3:"536";i:3;s:3:"456";}}s:6:"divide";a:4:{s:1:"C";s:3:"184";s:2:"WX";s:3:"549";s:1:"N";s:6:"divide";s:1:"B";a:4:{i:0;s:2:"10";i:1;s:2:"71";i:2;s:3:"536";i:3;s:3:"456";}}i:185;a:4:{s:1:"C";s:3:"185";s:2:"WX";s:3:"549";s:1:"N";s:8:"notequal";s:1:"B";a:4:{i:0;s:2:"15";i:1;s:3:"-25";i:2;s:3:"540";i:3;s:3:"549";}}s:8:"notequal";a:4:{s:1:"C";s:3:"185";s:2:"WX";s:3:"549";s:1:"N";s:8:"notequal";s:1:"B";a:4:{i:0;s:2:"15";i:1;s:3:"-25";i:2;s:3:"540";i:3;s:3:"549";}}i:186;a:4:{s:1:"C";s:3:"186";s:2:"WX";s:3:"549";s:1:"N";s:11:"equivalence";s:1:"B";a:4:{i:0;s:2:"14";i:1;s:2:"82";i:2;s:3:"538";i:3;s:3:"443";}}s:11:"equivalence";a:4:{s:1:"C";s:3:"186";s:2:"WX";s:3:"549";s:1:"N";s:11:"equivalence";s:1:"B";a:4:{i:0;s:2:"14";i:1;s:2:"82";i:2;s:3:"538";i:3;s:3:"443";}}i:187;a:4:{s:1:"C";s:3:"187";s:2:"WX";s:3:"549";s:1:"N";s:11:"approxequal";s:1:"B";a:4:{i:0;s:2:"14";i:1;s:3:"135";i:2;s:3:"527";i:3;s:3:"394";}}s:11:"approxequal";a:4:{s:1:"C";s:3:"187";s:2:"WX";s:3:"549";s:1:"N";s:11:"approxequal";s:1:"B";a:4:{i:0;s:2:"14";i:1;s:3:"135";i:2;s:3:"527";i:3;s:3:"394";}}i:188;a:4:{s:1:"C";s:3:"188";s:2:"WX";s:4:"1000";s:1:"N";s:8:"ellipsis";s:1:"B";a:4:{i:0;s:3:"111";i:1;s:3:"-17";i:2;s:3:"889";i:3;s:2:"95";}}s:8:"ellipsis";a:4:{s:1:"C";s:3:"188";s:2:"WX";s:4:"1000";s:1:"N";s:8:"ellipsis";s:1:"B";a:4:{i:0;s:3:"111";i:1;s:3:"-17";i:2;s:3:"889";i:3;s:2:"95";}}i:189;a:4:{s:1:"C";s:3:"189";s:2:"WX";s:3:"603";s:1:"N";s:11:"arrowvertex";s:1:"B";a:4:{i:0;s:3:"280";i:1;s:4:"-120";i:2;s:3:"336";i:3;s:4:"1010";}}s:11:"arrowvertex";a:4:{s:1:"C";s:3:"189";s:2:"WX";s:3:"603";s:1:"N";s:11:"arrowvertex";s:1:"B";a:4:{i:0;s:3:"280";i:1;s:4:"-120";i:2;s:3:"336";i:3;s:4:"1010";}}i:190;a:4:{s:1:"C";s:3:"190";s:2:"WX";s:4:"1000";s:1:"N";s:12:"arrowhorizex";s:1:"B";a:4:{i:0;s:3:"-60";i:1;s:3:"220";i:2;s:4:"1050";i:3;s:3:"276";}}s:12:"arrowhorizex";a:4:{s:1:"C";s:3:"190";s:2:"WX";s:4:"1000";s:1:"N";s:12:"arrowhorizex";s:1:"B";a:4:{i:0;s:3:"-60";i:1;s:3:"220";i:2;s:4:"1050";i:3;s:3:"276";}}i:191;a:4:{s:1:"C";s:3:"191";s:2:"WX";s:3:"658";s:1:"N";s:14:"carriagereturn";s:1:"B";a:4:{i:0;s:2:"15";i:1;s:3:"-16";i:2;s:3:"602";i:3;s:3:"629";}}s:14:"carriagereturn";a:4:{s:1:"C";s:3:"191";s:2:"WX";s:3:"658";s:1:"N";s:14:"carriagereturn";s:1:"B";a:4:{i:0;s:2:"15";i:1;s:3:"-16";i:2;s:3:"602";i:3;s:3:"629";}}i:192;a:4:{s:1:"C";s:3:"192";s:2:"WX";s:3:"823";s:1:"N";s:5:"aleph";s:1:"B";a:4:{i:0;s:3:"175";i:1;s:3:"-18";i:2;s:3:"661";i:3;s:3:"658";}}s:5:"aleph";a:4:{s:1:"C";s:3:"192";s:2:"WX";s:3:"823";s:1:"N";s:5:"aleph";s:1:"B";a:4:{i:0;s:3:"175";i:1;s:3:"-18";i:2;s:3:"661";i:3;s:3:"658";}}i:193;a:4:{s:1:"C";s:3:"193";s:2:"WX";s:3:"686";s:1:"N";s:8:"Ifraktur";s:1:"B";a:4:{i:0;s:2:"10";i:1;s:3:"-53";i:2;s:3:"578";i:3;s:3:"740";}}s:8:"Ifraktur";a:4:{s:1:"C";s:3:"193";s:2:"WX";s:3:"686";s:1:"N";s:8:"Ifraktur";s:1:"B";a:4:{i:0;s:2:"10";i:1;s:3:"-53";i:2;s:3:"578";i:3;s:3:"740";}}i:194;a:4:{s:1:"C";s:3:"194";s:2:"WX";s:3:"795";s:1:"N";s:8:"Rfraktur";s:1:"B";a:4:{i:0;s:2:"26";i:1;s:3:"-15";i:2;s:3:"759";i:3;s:3:"734";}}s:8:"Rfraktur";a:4:{s:1:"C";s:3:"194";s:2:"WX";s:3:"795";s:1:"N";s:8:"Rfraktur";s:1:"B";a:4:{i:0;s:2:"26";i:1;s:3:"-15";i:2;s:3:"759";i:3;s:3:"734";}}i:195;a:4:{s:1:"C";s:3:"195";s:2:"WX";s:3:"987";s:1:"N";s:11:"weierstrass";s:1:"B";a:4:{i:0;s:3:"159";i:1;s:4:"-211";i:2;s:3:"870";i:3;s:3:"573";}}s:11:"weierstrass";a:4:{s:1:"C";s:3:"195";s:2:"WX";s:3:"987";s:1:"N";s:11:"weierstrass";s:1:"B";a:4:{i:0;s:3:"159";i:1;s:4:"-211";i:2;s:3:"870";i:3;s:3:"573";}}i:196;a:4:{s:1:"C";s:3:"196";s:2:"WX";s:3:"768";s:1:"N";s:14:"circlemultiply";s:1:"B";a:4:{i:0;s:2:"43";i:1;s:3:"-17";i:2;s:3:"733";i:3;s:3:"673";}}s:14:"circlemultiply";a:4:{s:1:"C";s:3:"196";s:2:"WX";s:3:"768";s:1:"N";s:14:"circlemultiply";s:1:"B";a:4:{i:0;s:2:"43";i:1;s:3:"-17";i:2;s:3:"733";i:3;s:3:"673";}}i:197;a:4:{s:1:"C";s:3:"197";s:2:"WX";s:3:"768";s:1:"N";s:10:"circleplus";s:1:"B";a:4:{i:0;s:2:"43";i:1;s:3:"-15";i:2;s:3:"733";i:3;s:3:"675";}}s:10:"circleplus";a:4:{s:1:"C";s:3:"197";s:2:"WX";s:3:"768";s:1:"N";s:10:"circleplus";s:1:"B";a:4:{i:0;s:2:"43";i:1;s:3:"-15";i:2;s:3:"733";i:3;s:3:"675";}}i:198;a:4:{s:1:"C";s:3:"198";s:2:"WX";s:3:"823";s:1:"N";s:8:"emptyset";s:1:"B";a:4:{i:0;s:2:"39";i:1;s:3:"-24";i:2;s:3:"781";i:3;s:3:"719";}}s:8:"emptyset";a:4:{s:1:"C";s:3:"198";s:2:"WX";s:3:"823";s:1:"N";s:8:"emptyset";s:1:"B";a:4:{i:0;s:2:"39";i:1;s:3:"-24";i:2;s:3:"781";i:3;s:3:"719";}}i:199;a:4:{s:1:"C";s:3:"199";s:2:"WX";s:3:"768";s:1:"N";s:12:"intersection";s:1:"B";a:4:{i:0;s:2:"40";i:1;s:1:"0";i:2;s:3:"732";i:3;s:3:"509";}}s:12:"intersection";a:4:{s:1:"C";s:3:"199";s:2:"WX";s:3:"768";s:1:"N";s:12:"intersection";s:1:"B";a:4:{i:0;s:2:"40";i:1;s:1:"0";i:2;s:3:"732";i:3;s:3:"509";}}i:200;a:4:{s:1:"C";s:3:"200";s:2:"WX";s:3:"768";s:1:"N";s:5:"union";s:1:"B";a:4:{i:0;s:2:"40";i:1;s:3:"-17";i:2;s:3:"732";i:3;s:3:"492";}}s:5:"union";a:4:{s:1:"C";s:3:"200";s:2:"WX";s:3:"768";s:1:"N";s:5:"union";s:1:"B";a:4:{i:0;s:2:"40";i:1;s:3:"-17";i:2;s:3:"732";i:3;s:3:"492";}}i:201;a:4:{s:1:"C";s:3:"201";s:2:"WX";s:3:"713";s:1:"N";s:14:"propersuperset";s:1:"B";a:4:{i:0;s:2:"20";i:1;s:1:"0";i:2;s:3:"673";i:3;s:3:"470";}}s:14:"propersuperset";a:4:{s:1:"C";s:3:"201";s:2:"WX";s:3:"713";s:1:"N";s:14:"propersuperset";s:1:"B";a:4:{i:0;s:2:"20";i:1;s:1:"0";i:2;s:3:"673";i:3;s:3:"470";}}i:202;a:4:{s:1:"C";s:3:"202";s:2:"WX";s:3:"713";s:1:"N";s:14:"reflexsuperset";s:1:"B";a:4:{i:0;s:2:"20";i:1;s:4:"-125";i:2;s:3:"673";i:3;s:3:"470";}}s:14:"reflexsuperset";a:4:{s:1:"C";s:3:"202";s:2:"WX";s:3:"713";s:1:"N";s:14:"reflexsuperset";s:1:"B";a:4:{i:0;s:2:"20";i:1;s:4:"-125";i:2;s:3:"673";i:3;s:3:"470";}}i:203;a:4:{s:1:"C";s:3:"203";s:2:"WX";s:3:"713";s:1:"N";s:9:"notsubset";s:1:"B";a:4:{i:0;s:2:"36";i:1;s:3:"-70";i:2;s:3:"690";i:3;s:3:"540";}}s:9:"notsubset";a:4:{s:1:"C";s:3:"203";s:2:"WX";s:3:"713";s:1:"N";s:9:"notsubset";s:1:"B";a:4:{i:0;s:2:"36";i:1;s:3:"-70";i:2;s:3:"690";i:3;s:3:"540";}}i:204;a:4:{s:1:"C";s:3:"204";s:2:"WX";s:3:"713";s:1:"N";s:12:"propersubset";s:1:"B";a:4:{i:0;s:2:"37";i:1;s:1:"0";i:2;s:3:"690";i:3;s:3:"470";}}s:12:"propersubset";a:4:{s:1:"C";s:3:"204";s:2:"WX";s:3:"713";s:1:"N";s:12:"propersubset";s:1:"B";a:4:{i:0;s:2:"37";i:1;s:1:"0";i:2;s:3:"690";i:3;s:3:"470";}}i:205;a:4:{s:1:"C";s:3:"205";s:2:"WX";s:3:"713";s:1:"N";s:12:"reflexsubset";s:1:"B";a:4:{i:0;s:2:"37";i:1;s:4:"-125";i:2;s:3:"690";i:3;s:3:"470";}}s:12:"reflexsubset";a:4:{s:1:"C";s:3:"205";s:2:"WX";s:3:"713";s:1:"N";s:12:"reflexsubset";s:1:"B";a:4:{i:0;s:2:"37";i:1;s:4:"-125";i:2;s:3:"690";i:3;s:3:"470";}}i:206;a:4:{s:1:"C";s:3:"206";s:2:"WX";s:3:"713";s:1:"N";s:7:"element";s:1:"B";a:4:{i:0;s:2:"45";i:1;s:1:"0";i:2;s:3:"505";i:3;s:3:"468";}}s:7:"element";a:4:{s:1:"C";s:3:"206";s:2:"WX";s:3:"713";s:1:"N";s:7:"element";s:1:"B";a:4:{i:0;s:2:"45";i:1;s:1:"0";i:2;s:3:"505";i:3;s:3:"468";}}i:207;a:4:{s:1:"C";s:3:"207";s:2:"WX";s:3:"713";s:1:"N";s:10:"notelement";s:1:"B";a:4:{i:0;s:2:"45";i:1;s:3:"-58";i:2;s:3:"505";i:3;s:3:"555";}}s:10:"notelement";a:4:{s:1:"C";s:3:"207";s:2:"WX";s:3:"713";s:1:"N";s:10:"notelement";s:1:"B";a:4:{i:0;s:2:"45";i:1;s:3:"-58";i:2;s:3:"505";i:3;s:3:"555";}}i:208;a:4:{s:1:"C";s:3:"208";s:2:"WX";s:3:"768";s:1:"N";s:5:"angle";s:1:"B";a:4:{i:0;s:2:"26";i:1;s:1:"0";i:2;s:3:"738";i:3;s:3:"673";}}s:5:"angle";a:4:{s:1:"C";s:3:"208";s:2:"WX";s:3:"768";s:1:"N";s:5:"angle";s:1:"B";a:4:{i:0;s:2:"26";i:1;s:1:"0";i:2;s:3:"738";i:3;s:3:"673";}}i:209;a:4:{s:1:"C";s:3:"209";s:2:"WX";s:3:"713";s:1:"N";s:8:"gradient";s:1:"B";a:4:{i:0;s:2:"36";i:1;s:3:"-19";i:2;s:3:"681";i:3;s:3:"718";}}s:8:"gradient";a:4:{s:1:"C";s:3:"209";s:2:"WX";s:3:"713";s:1:"N";s:8:"gradient";s:1:"B";a:4:{i:0;s:2:"36";i:1;s:3:"-19";i:2;s:3:"681";i:3;s:3:"718";}}i:210;a:4:{s:1:"C";s:3:"210";s:2:"WX";s:3:"790";s:1:"N";s:13:"registerserif";s:1:"B";a:4:{i:0;s:2:"50";i:1;s:3:"-17";i:2;s:3:"740";i:3;s:3:"673";}}s:13:"registerserif";a:4:{s:1:"C";s:3:"210";s:2:"WX";s:3:"790";s:1:"N";s:13:"registerserif";s:1:"B";a:4:{i:0;s:2:"50";i:1;s:3:"-17";i:2;s:3:"740";i:3;s:3:"673";}}i:211;a:4:{s:1:"C";s:3:"211";s:2:"WX";s:3:"790";s:1:"N";s:14:"copyrightserif";s:1:"B";a:4:{i:0;s:2:"51";i:1;s:3:"-15";i:2;s:3:"741";i:3;s:3:"675";}}s:14:"copyrightserif";a:4:{s:1:"C";s:3:"211";s:2:"WX";s:3:"790";s:1:"N";s:14:"copyrightserif";s:1:"B";a:4:{i:0;s:2:"51";i:1;s:3:"-15";i:2;s:3:"741";i:3;s:3:"675";}}i:212;a:4:{s:1:"C";s:3:"212";s:2:"WX";s:3:"890";s:1:"N";s:14:"trademarkserif";s:1:"B";a:4:{i:0;s:2:"18";i:1;s:3:"293";i:2;s:3:"855";i:3;s:3:"673";}}s:14:"trademarkserif";a:4:{s:1:"C";s:3:"212";s:2:"WX";s:3:"890";s:1:"N";s:14:"trademarkserif";s:1:"B";a:4:{i:0;s:2:"18";i:1;s:3:"293";i:2;s:3:"855";i:3;s:3:"673";}}i:213;a:4:{s:1:"C";s:3:"213";s:2:"WX";s:3:"823";s:1:"N";s:7:"product";s:1:"B";a:4:{i:0;s:2:"25";i:1;s:4:"-101";i:2;s:3:"803";i:3;s:3:"751";}}s:7:"product";a:4:{s:1:"C";s:3:"213";s:2:"WX";s:3:"823";s:1:"N";s:7:"product";s:1:"B";a:4:{i:0;s:2:"25";i:1;s:4:"-101";i:2;s:3:"803";i:3;s:3:"751";}}i:214;a:4:{s:1:"C";s:3:"214";s:2:"WX";s:3:"549";s:1:"N";s:7:"radical";s:1:"B";a:4:{i:0;s:2:"10";i:1;s:3:"-38";i:2;s:3:"515";i:3;s:3:"917";}}s:7:"radical";a:4:{s:1:"C";s:3:"214";s:2:"WX";s:3:"549";s:1:"N";s:7:"radical";s:1:"B";a:4:{i:0;s:2:"10";i:1;s:3:"-38";i:2;s:3:"515";i:3;s:3:"917";}}i:215;a:4:{s:1:"C";s:3:"215";s:2:"WX";s:3:"250";s:1:"N";s:7:"dotmath";s:1:"B";a:4:{i:0;s:2:"69";i:1;s:3:"210";i:2;s:3:"169";i:3;s:3:"310";}}s:7:"dotmath";a:4:{s:1:"C";s:3:"215";s:2:"WX";s:3:"250";s:1:"N";s:7:"dotmath";s:1:"B";a:4:{i:0;s:2:"69";i:1;s:3:"210";i:2;s:3:"169";i:3;s:3:"310";}}i:216;a:4:{s:1:"C";s:3:"216";s:2:"WX";s:3:"713";s:1:"N";s:10:"logicalnot";s:1:"B";a:4:{i:0;s:2:"15";i:1;s:1:"0";i:2;s:3:"680";i:3;s:3:"288";}}s:10:"logicalnot";a:4:{s:1:"C";s:3:"216";s:2:"WX";s:3:"713";s:1:"N";s:10:"logicalnot";s:1:"B";a:4:{i:0;s:2:"15";i:1;s:1:"0";i:2;s:3:"680";i:3;s:3:"288";}}i:217;a:4:{s:1:"C";s:3:"217";s:2:"WX";s:3:"603";s:1:"N";s:10:"logicaland";s:1:"B";a:4:{i:0;s:2:"23";i:1;s:1:"0";i:2;s:3:"583";i:3;s:3:"454";}}s:10:"logicaland";a:4:{s:1:"C";s:3:"217";s:2:"WX";s:3:"603";s:1:"N";s:10:"logicaland";s:1:"B";a:4:{i:0;s:2:"23";i:1;s:1:"0";i:2;s:3:"583";i:3;s:3:"454";}}i:218;a:4:{s:1:"C";s:3:"218";s:2:"WX";s:3:"603";s:1:"N";s:9:"logicalor";s:1:"B";a:4:{i:0;s:2:"30";i:1;s:1:"0";i:2;s:3:"578";i:3;s:3:"477";}}s:9:"logicalor";a:4:{s:1:"C";s:3:"218";s:2:"WX";s:3:"603";s:1:"N";s:9:"logicalor";s:1:"B";a:4:{i:0;s:2:"30";i:1;s:1:"0";i:2;s:3:"578";i:3;s:3:"477";}}i:219;a:4:{s:1:"C";s:3:"219";s:2:"WX";s:4:"1042";s:1:"N";s:12:"arrowdblboth";s:1:"B";a:4:{i:0;s:2:"27";i:1;s:3:"-20";i:2;s:4:"1023";i:3;s:3:"510";}}s:12:"arrowdblboth";a:4:{s:1:"C";s:3:"219";s:2:"WX";s:4:"1042";s:1:"N";s:12:"arrowdblboth";s:1:"B";a:4:{i:0;s:2:"27";i:1;s:3:"-20";i:2;s:4:"1023";i:3;s:3:"510";}}i:220;a:4:{s:1:"C";s:3:"220";s:2:"WX";s:3:"987";s:1:"N";s:12:"arrowdblleft";s:1:"B";a:4:{i:0;s:2:"30";i:1;s:3:"-15";i:2;s:3:"939";i:3;s:3:"513";}}s:12:"arrowdblleft";a:4:{s:1:"C";s:3:"220";s:2:"WX";s:3:"987";s:1:"N";s:12:"arrowdblleft";s:1:"B";a:4:{i:0;s:2:"30";i:1;s:3:"-15";i:2;s:3:"939";i:3;s:3:"513";}}i:221;a:4:{s:1:"C";s:3:"221";s:2:"WX";s:3:"603";s:1:"N";s:10:"arrowdblup";s:1:"B";a:4:{i:0;s:2:"39";i:1;s:1:"2";i:2;s:3:"567";i:3;s:3:"911";}}s:10:"arrowdblup";a:4:{s:1:"C";s:3:"221";s:2:"WX";s:3:"603";s:1:"N";s:10:"arrowdblup";s:1:"B";a:4:{i:0;s:2:"39";i:1;s:1:"2";i:2;s:3:"567";i:3;s:3:"911";}}i:222;a:4:{s:1:"C";s:3:"222";s:2:"WX";s:3:"987";s:1:"N";s:13:"arrowdblright";s:1:"B";a:4:{i:0;s:2:"45";i:1;s:3:"-20";i:2;s:3:"954";i:3;s:3:"508";}}s:13:"arrowdblright";a:4:{s:1:"C";s:3:"222";s:2:"WX";s:3:"987";s:1:"N";s:13:"arrowdblright";s:1:"B";a:4:{i:0;s:2:"45";i:1;s:3:"-20";i:2;s:3:"954";i:3;s:3:"508";}}i:223;a:4:{s:1:"C";s:3:"223";s:2:"WX";s:3:"603";s:1:"N";s:12:"arrowdbldown";s:1:"B";a:4:{i:0;s:2:"44";i:1;s:3:"-19";i:2;s:3:"572";i:3;s:3:"890";}}s:12:"arrowdbldown";a:4:{s:1:"C";s:3:"223";s:2:"WX";s:3:"603";s:1:"N";s:12:"arrowdbldown";s:1:"B";a:4:{i:0;s:2:"44";i:1;s:3:"-19";i:2;s:3:"572";i:3;s:3:"890";}}i:224;a:4:{s:1:"C";s:3:"224";s:2:"WX";s:3:"494";s:1:"N";s:7:"lozenge";s:1:"B";a:4:{i:0;s:2:"18";i:1;s:1:"0";i:2;s:3:"466";i:3;s:3:"745";}}s:7:"lozenge";a:4:{s:1:"C";s:3:"224";s:2:"WX";s:3:"494";s:1:"N";s:7:"lozenge";s:1:"B";a:4:{i:0;s:2:"18";i:1;s:1:"0";i:2;s:3:"466";i:3;s:3:"745";}}i:225;a:4:{s:1:"C";s:3:"225";s:2:"WX";s:3:"329";s:1:"N";s:9:"angleleft";s:1:"B";a:4:{i:0;s:2:"25";i:1;s:4:"-198";i:2;s:3:"306";i:3;s:3:"746";}}s:9:"angleleft";a:4:{s:1:"C";s:3:"225";s:2:"WX";s:3:"329";s:1:"N";s:9:"angleleft";s:1:"B";a:4:{i:0;s:2:"25";i:1;s:4:"-198";i:2;s:3:"306";i:3;s:3:"746";}}i:226;a:4:{s:1:"C";s:3:"226";s:2:"WX";s:3:"790";s:1:"N";s:12:"registersans";s:1:"B";a:4:{i:0;s:2:"50";i:1;s:3:"-20";i:2;s:3:"740";i:3;s:3:"670";}}s:12:"registersans";a:4:{s:1:"C";s:3:"226";s:2:"WX";s:3:"790";s:1:"N";s:12:"registersans";s:1:"B";a:4:{i:0;s:2:"50";i:1;s:3:"-20";i:2;s:3:"740";i:3;s:3:"670";}}i:227;a:4:{s:1:"C";s:3:"227";s:2:"WX";s:3:"790";s:1:"N";s:13:"copyrightsans";s:1:"B";a:4:{i:0;s:2:"49";i:1;s:3:"-15";i:2;s:3:"739";i:3;s:3:"675";}}s:13:"copyrightsans";a:4:{s:1:"C";s:3:"227";s:2:"WX";s:3:"790";s:1:"N";s:13:"copyrightsans";s:1:"B";a:4:{i:0;s:2:"49";i:1;s:3:"-15";i:2;s:3:"739";i:3;s:3:"675";}}i:228;a:4:{s:1:"C";s:3:"228";s:2:"WX";s:3:"786";s:1:"N";s:13:"trademarksans";s:1:"B";a:4:{i:0;s:1:"5";i:1;s:3:"293";i:2;s:3:"725";i:3;s:3:"673";}}s:13:"trademarksans";a:4:{s:1:"C";s:3:"228";s:2:"WX";s:3:"786";s:1:"N";s:13:"trademarksans";s:1:"B";a:4:{i:0;s:1:"5";i:1;s:3:"293";i:2;s:3:"725";i:3;s:3:"673";}}i:229;a:4:{s:1:"C";s:3:"229";s:2:"WX";s:3:"713";s:1:"N";s:9:"summation";s:1:"B";a:4:{i:0;s:2:"14";i:1;s:4:"-108";i:2;s:3:"695";i:3;s:3:"752";}}s:9:"summation";a:4:{s:1:"C";s:3:"229";s:2:"WX";s:3:"713";s:1:"N";s:9:"summation";s:1:"B";a:4:{i:0;s:2:"14";i:1;s:4:"-108";i:2;s:3:"695";i:3;s:3:"752";}}i:230;a:4:{s:1:"C";s:3:"230";s:2:"WX";s:3:"384";s:1:"N";s:11:"parenlefttp";s:1:"B";a:4:{i:0;s:2:"24";i:1;s:4:"-293";i:2;s:3:"436";i:3;s:3:"926";}}s:11:"parenlefttp";a:4:{s:1:"C";s:3:"230";s:2:"WX";s:3:"384";s:1:"N";s:11:"parenlefttp";s:1:"B";a:4:{i:0;s:2:"24";i:1;s:4:"-293";i:2;s:3:"436";i:3;s:3:"926";}}i:231;a:4:{s:1:"C";s:3:"231";s:2:"WX";s:3:"384";s:1:"N";s:11:"parenleftex";s:1:"B";a:4:{i:0;s:2:"24";i:1;s:3:"-85";i:2;s:3:"108";i:3;s:3:"925";}}s:11:"parenleftex";a:4:{s:1:"C";s:3:"231";s:2:"WX";s:3:"384";s:1:"N";s:11:"parenleftex";s:1:"B";a:4:{i:0;s:2:"24";i:1;s:3:"-85";i:2;s:3:"108";i:3;s:3:"925";}}i:232;a:4:{s:1:"C";s:3:"232";s:2:"WX";s:3:"384";s:1:"N";s:11:"parenleftbt";s:1:"B";a:4:{i:0;s:2:"24";i:1;s:4:"-293";i:2;s:3:"436";i:3;s:3:"926";}}s:11:"parenleftbt";a:4:{s:1:"C";s:3:"232";s:2:"WX";s:3:"384";s:1:"N";s:11:"parenleftbt";s:1:"B";a:4:{i:0;s:2:"24";i:1;s:4:"-293";i:2;s:3:"436";i:3;s:3:"926";}}i:233;a:4:{s:1:"C";s:3:"233";s:2:"WX";s:3:"384";s:1:"N";s:13:"bracketlefttp";s:1:"B";a:4:{i:0;s:1:"0";i:1;s:3:"-80";i:2;s:3:"349";i:3;s:3:"926";}}s:13:"bracketlefttp";a:4:{s:1:"C";s:3:"233";s:2:"WX";s:3:"384";s:1:"N";s:13:"bracketlefttp";s:1:"B";a:4:{i:0;s:1:"0";i:1;s:3:"-80";i:2;s:3:"349";i:3;s:3:"926";}}i:234;a:4:{s:1:"C";s:3:"234";s:2:"WX";s:3:"384";s:1:"N";s:13:"bracketleftex";s:1:"B";a:4:{i:0;s:1:"0";i:1;s:3:"-79";i:2;s:2:"77";i:3;s:3:"925";}}s:13:"bracketleftex";a:4:{s:1:"C";s:3:"234";s:2:"WX";s:3:"384";s:1:"N";s:13:"bracketleftex";s:1:"B";a:4:{i:0;s:1:"0";i:1;s:3:"-79";i:2;s:2:"77";i:3;s:3:"925";}}i:235;a:4:{s:1:"C";s:3:"235";s:2:"WX";s:3:"384";s:1:"N";s:13:"bracketleftbt";s:1:"B";a:4:{i:0;s:1:"0";i:1;s:3:"-80";i:2;s:3:"349";i:3;s:3:"926";}}s:13:"bracketleftbt";a:4:{s:1:"C";s:3:"235";s:2:"WX";s:3:"384";s:1:"N";s:13:"bracketleftbt";s:1:"B";a:4:{i:0;s:1:"0";i:1;s:3:"-80";i:2;s:3:"349";i:3;s:3:"926";}}i:236;a:4:{s:1:"C";s:3:"236";s:2:"WX";s:3:"494";s:1:"N";s:11:"bracelefttp";s:1:"B";a:4:{i:0;s:3:"209";i:1;s:3:"-85";i:2;s:3:"445";i:3;s:3:"925";}}s:11:"bracelefttp";a:4:{s:1:"C";s:3:"236";s:2:"WX";s:3:"494";s:1:"N";s:11:"bracelefttp";s:1:"B";a:4:{i:0;s:3:"209";i:1;s:3:"-85";i:2;s:3:"445";i:3;s:3:"925";}}i:237;a:4:{s:1:"C";s:3:"237";s:2:"WX";s:3:"494";s:1:"N";s:12:"braceleftmid";s:1:"B";a:4:{i:0;s:2:"20";i:1;s:3:"-85";i:2;s:3:"284";i:3;s:3:"935";}}s:12:"braceleftmid";a:4:{s:1:"C";s:3:"237";s:2:"WX";s:3:"494";s:1:"N";s:12:"braceleftmid";s:1:"B";a:4:{i:0;s:2:"20";i:1;s:3:"-85";i:2;s:3:"284";i:3;s:3:"935";}}i:238;a:4:{s:1:"C";s:3:"238";s:2:"WX";s:3:"494";s:1:"N";s:11:"braceleftbt";s:1:"B";a:4:{i:0;s:3:"209";i:1;s:3:"-75";i:2;s:3:"445";i:3;s:3:"935";}}s:11:"braceleftbt";a:4:{s:1:"C";s:3:"238";s:2:"WX";s:3:"494";s:1:"N";s:11:"braceleftbt";s:1:"B";a:4:{i:0;s:3:"209";i:1;s:3:"-75";i:2;s:3:"445";i:3;s:3:"935";}}i:239;a:4:{s:1:"C";s:3:"239";s:2:"WX";s:3:"494";s:1:"N";s:7:"braceex";s:1:"B";a:4:{i:0;s:3:"209";i:1;s:3:"-85";i:2;s:3:"284";i:3;s:3:"935";}}s:7:"braceex";a:4:{s:1:"C";s:3:"239";s:2:"WX";s:3:"494";s:1:"N";s:7:"braceex";s:1:"B";a:4:{i:0;s:3:"209";i:1;s:3:"-85";i:2;s:3:"284";i:3;s:3:"935";}}i:241;a:4:{s:1:"C";s:3:"241";s:2:"WX";s:3:"329";s:1:"N";s:10:"angleright";s:1:"B";a:4:{i:0;s:2:"21";i:1;s:4:"-198";i:2;s:3:"302";i:3;s:3:"746";}}s:10:"angleright";a:4:{s:1:"C";s:3:"241";s:2:"WX";s:3:"329";s:1:"N";s:10:"angleright";s:1:"B";a:4:{i:0;s:2:"21";i:1;s:4:"-198";i:2;s:3:"302";i:3;s:3:"746";}}i:242;a:4:{s:1:"C";s:3:"242";s:2:"WX";s:3:"274";s:1:"N";s:8:"integral";s:1:"B";a:4:{i:0;s:1:"2";i:1;s:4:"-107";i:2;s:3:"291";i:3;s:3:"916";}}s:8:"integral";a:4:{s:1:"C";s:3:"242";s:2:"WX";s:3:"274";s:1:"N";s:8:"integral";s:1:"B";a:4:{i:0;s:1:"2";i:1;s:4:"-107";i:2;s:3:"291";i:3;s:3:"916";}}i:243;a:4:{s:1:"C";s:3:"243";s:2:"WX";s:3:"686";s:1:"N";s:10:"integraltp";s:1:"B";a:4:{i:0;s:3:"308";i:1;s:3:"-88";i:2;s:3:"675";i:3;s:3:"920";}}s:10:"integraltp";a:4:{s:1:"C";s:3:"243";s:2:"WX";s:3:"686";s:1:"N";s:10:"integraltp";s:1:"B";a:4:{i:0;s:3:"308";i:1;s:3:"-88";i:2;s:3:"675";i:3;s:3:"920";}}i:244;a:4:{s:1:"C";s:3:"244";s:2:"WX";s:3:"686";s:1:"N";s:10:"integralex";s:1:"B";a:4:{i:0;s:3:"308";i:1;s:3:"-88";i:2;s:3:"378";i:3;s:3:"975";}}s:10:"integralex";a:4:{s:1:"C";s:3:"244";s:2:"WX";s:3:"686";s:1:"N";s:10:"integralex";s:1:"B";a:4:{i:0;s:3:"308";i:1;s:3:"-88";i:2;s:3:"378";i:3;s:3:"975";}}i:245;a:4:{s:1:"C";s:3:"245";s:2:"WX";s:3:"686";s:1:"N";s:10:"integralbt";s:1:"B";a:4:{i:0;s:2:"11";i:1;s:3:"-87";i:2;s:3:"378";i:3;s:3:"921";}}s:10:"integralbt";a:4:{s:1:"C";s:3:"245";s:2:"WX";s:3:"686";s:1:"N";s:10:"integralbt";s:1:"B";a:4:{i:0;s:2:"11";i:1;s:3:"-87";i:2;s:3:"378";i:3;s:3:"921";}}i:246;a:4:{s:1:"C";s:3:"246";s:2:"WX";s:3:"384";s:1:"N";s:12:"parenrighttp";s:1:"B";a:4:{i:0;s:2:"54";i:1;s:4:"-293";i:2;s:3:"466";i:3;s:3:"926";}}s:12:"parenrighttp";a:4:{s:1:"C";s:3:"246";s:2:"WX";s:3:"384";s:1:"N";s:12:"parenrighttp";s:1:"B";a:4:{i:0;s:2:"54";i:1;s:4:"-293";i:2;s:3:"466";i:3;s:3:"926";}}i:247;a:4:{s:1:"C";s:3:"247";s:2:"WX";s:3:"384";s:1:"N";s:12:"parenrightex";s:1:"B";a:4:{i:0;s:3:"382";i:1;s:3:"-85";i:2;s:3:"466";i:3;s:3:"925";}}s:12:"parenrightex";a:4:{s:1:"C";s:3:"247";s:2:"WX";s:3:"384";s:1:"N";s:12:"parenrightex";s:1:"B";a:4:{i:0;s:3:"382";i:1;s:3:"-85";i:2;s:3:"466";i:3;s:3:"925";}}i:248;a:4:{s:1:"C";s:3:"248";s:2:"WX";s:3:"384";s:1:"N";s:12:"parenrightbt";s:1:"B";a:4:{i:0;s:2:"54";i:1;s:4:"-293";i:2;s:3:"466";i:3;s:3:"926";}}s:12:"parenrightbt";a:4:{s:1:"C";s:3:"248";s:2:"WX";s:3:"384";s:1:"N";s:12:"parenrightbt";s:1:"B";a:4:{i:0;s:2:"54";i:1;s:4:"-293";i:2;s:3:"466";i:3;s:3:"926";}}i:249;a:4:{s:1:"C";s:3:"249";s:2:"WX";s:3:"384";s:1:"N";s:14:"bracketrighttp";s:1:"B";a:4:{i:0;s:2:"22";i:1;s:3:"-80";i:2;s:3:"371";i:3;s:3:"926";}}s:14:"bracketrighttp";a:4:{s:1:"C";s:3:"249";s:2:"WX";s:3:"384";s:1:"N";s:14:"bracketrighttp";s:1:"B";a:4:{i:0;s:2:"22";i:1;s:3:"-80";i:2;s:3:"371";i:3;s:3:"926";}}i:250;a:4:{s:1:"C";s:3:"250";s:2:"WX";s:3:"384";s:1:"N";s:14:"bracketrightex";s:1:"B";a:4:{i:0;s:3:"294";i:1;s:3:"-79";i:2;s:3:"371";i:3;s:3:"925";}}s:14:"bracketrightex";a:4:{s:1:"C";s:3:"250";s:2:"WX";s:3:"384";s:1:"N";s:14:"bracketrightex";s:1:"B";a:4:{i:0;s:3:"294";i:1;s:3:"-79";i:2;s:3:"371";i:3;s:3:"925";}}i:251;a:4:{s:1:"C";s:3:"251";s:2:"WX";s:3:"384";s:1:"N";s:14:"bracketrightbt";s:1:"B";a:4:{i:0;s:2:"22";i:1;s:3:"-80";i:2;s:3:"371";i:3;s:3:"926";}}s:14:"bracketrightbt";a:4:{s:1:"C";s:3:"251";s:2:"WX";s:3:"384";s:1:"N";s:14:"bracketrightbt";s:1:"B";a:4:{i:0;s:2:"22";i:1;s:3:"-80";i:2;s:3:"371";i:3;s:3:"926";}}i:252;a:4:{s:1:"C";s:3:"252";s:2:"WX";s:3:"494";s:1:"N";s:12:"bracerighttp";s:1:"B";a:4:{i:0;s:2:"48";i:1;s:3:"-85";i:2;s:3:"284";i:3;s:3:"925";}}s:12:"bracerighttp";a:4:{s:1:"C";s:3:"252";s:2:"WX";s:3:"494";s:1:"N";s:12:"bracerighttp";s:1:"B";a:4:{i:0;s:2:"48";i:1;s:3:"-85";i:2;s:3:"284";i:3;s:3:"925";}}i:253;a:4:{s:1:"C";s:3:"253";s:2:"WX";s:3:"494";s:1:"N";s:13:"bracerightmid";s:1:"B";a:4:{i:0;s:3:"209";i:1;s:3:"-85";i:2;s:3:"473";i:3;s:3:"935";}}s:13:"bracerightmid";a:4:{s:1:"C";s:3:"253";s:2:"WX";s:3:"494";s:1:"N";s:13:"bracerightmid";s:1:"B";a:4:{i:0;s:3:"209";i:1;s:3:"-85";i:2;s:3:"473";i:3;s:3:"935";}}i:254;a:4:{s:1:"C";s:3:"254";s:2:"WX";s:3:"494";s:1:"N";s:12:"bracerightbt";s:1:"B";a:4:{i:0;s:2:"48";i:1;s:3:"-75";i:2;s:3:"284";i:3;s:3:"935";}}s:12:"bracerightbt";a:4:{s:1:"C";s:3:"254";s:2:"WX";s:3:"494";s:1:"N";s:12:"bracerightbt";s:1:"B";a:4:{i:0;s:2:"48";i:1;s:3:"-75";i:2;s:3:"284";i:3;s:3:"935";}}s:5:"apple";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"790";s:1:"N";s:5:"apple";s:1:"B";a:4:{i:0;s:2:"56";i:1;s:2:"-3";i:2;s:3:"733";i:3;s:3:"808";}}}s:9:"_version_";i:1;}
\ No newline at end of file diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/PDF/default/templates/fonts/php_Times-Bold.afm b/buildscripts/PhpDocumentor/phpDocumentor/Converters/PDF/default/templates/fonts/php_Times-Bold.afm new file mode 100755 index 00000000..3f4872b8 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/PDF/default/templates/fonts/php_Times-Bold.afm @@ -0,0 +1 @@ +a:22:{s:8:"FontName";s:10:"Times-Bold";s:8:"FullName";s:10:"Times Bold";s:10:"FamilyName";s:5:"Times";s:6:"Weight";s:4:"Bold";s:11:"ItalicAngle";s:1:"0";s:12:"IsFixedPitch";s:5:"false";s:12:"CharacterSet";s:13:"ExtendedRoman";s:8:"FontBBox";a:4:{i:0;s:4:"-168";i:1;s:4:"-218";i:2;s:4:"1000";i:3;s:3:"935";}s:17:"UnderlinePosition";s:4:"-100";s:18:"UnderlineThickness";s:2:"50";s:7:"Version";s:7:"002.000";s:14:"EncodingScheme";s:21:"AdobeStandardEncoding";s:9:"CapHeight";s:3:"676";s:7:"XHeight";s:3:"461";s:8:"Ascender";s:3:"683";s:9:"Descender";s:4:"-217";s:5:"StdHW";s:2:"44";s:5:"StdVW";s:3:"139";s:16:"StartCharMetrics";s:3:"315";s:1:"C";a:464:{i:32;a:4:{s:1:"C";s:2:"32";s:2:"WX";s:3:"250";s:1:"N";s:5:"space";s:1:"B";a:4:{i:0;s:1:"0";i:1;s:1:"0";i:2;s:1:"0";i:3;s:1:"0";}}s:5:"space";a:4:{s:1:"C";s:2:"32";s:2:"WX";s:3:"250";s:1:"N";s:5:"space";s:1:"B";a:4:{i:0;s:1:"0";i:1;s:1:"0";i:2;s:1:"0";i:3;s:1:"0";}}i:33;a:4:{s:1:"C";s:2:"33";s:2:"WX";s:3:"333";s:1:"N";s:6:"exclam";s:1:"B";a:4:{i:0;s:2:"81";i:1;s:3:"-13";i:2;s:3:"251";i:3;s:3:"691";}}s:6:"exclam";a:4:{s:1:"C";s:2:"33";s:2:"WX";s:3:"333";s:1:"N";s:6:"exclam";s:1:"B";a:4:{i:0;s:2:"81";i:1;s:3:"-13";i:2;s:3:"251";i:3;s:3:"691";}}i:34;a:4:{s:1:"C";s:2:"34";s:2:"WX";s:3:"555";s:1:"N";s:8:"quotedbl";s:1:"B";a:4:{i:0;s:2:"83";i:1;s:3:"404";i:2;s:3:"472";i:3;s:3:"691";}}s:8:"quotedbl";a:4:{s:1:"C";s:2:"34";s:2:"WX";s:3:"555";s:1:"N";s:8:"quotedbl";s:1:"B";a:4:{i:0;s:2:"83";i:1;s:3:"404";i:2;s:3:"472";i:3;s:3:"691";}}i:35;a:4:{s:1:"C";s:2:"35";s:2:"WX";s:3:"500";s:1:"N";s:10:"numbersign";s:1:"B";a:4:{i:0;s:1:"4";i:1;s:1:"0";i:2;s:3:"496";i:3;s:3:"700";}}s:10:"numbersign";a:4:{s:1:"C";s:2:"35";s:2:"WX";s:3:"500";s:1:"N";s:10:"numbersign";s:1:"B";a:4:{i:0;s:1:"4";i:1;s:1:"0";i:2;s:3:"496";i:3;s:3:"700";}}i:36;a:4:{s:1:"C";s:2:"36";s:2:"WX";s:3:"500";s:1:"N";s:6:"dollar";s:1:"B";a:4:{i:0;s:2:"29";i:1;s:3:"-99";i:2;s:3:"472";i:3;s:3:"750";}}s:6:"dollar";a:4:{s:1:"C";s:2:"36";s:2:"WX";s:3:"500";s:1:"N";s:6:"dollar";s:1:"B";a:4:{i:0;s:2:"29";i:1;s:3:"-99";i:2;s:3:"472";i:3;s:3:"750";}}i:37;a:4:{s:1:"C";s:2:"37";s:2:"WX";s:4:"1000";s:1:"N";s:7:"percent";s:1:"B";a:4:{i:0;s:3:"124";i:1;s:3:"-14";i:2;s:3:"877";i:3;s:3:"692";}}s:7:"percent";a:4:{s:1:"C";s:2:"37";s:2:"WX";s:4:"1000";s:1:"N";s:7:"percent";s:1:"B";a:4:{i:0;s:3:"124";i:1;s:3:"-14";i:2;s:3:"877";i:3;s:3:"692";}}i:38;a:4:{s:1:"C";s:2:"38";s:2:"WX";s:3:"833";s:1:"N";s:9:"ampersand";s:1:"B";a:4:{i:0;s:2:"62";i:1;s:3:"-16";i:2;s:3:"787";i:3;s:3:"691";}}s:9:"ampersand";a:4:{s:1:"C";s:2:"38";s:2:"WX";s:3:"833";s:1:"N";s:9:"ampersand";s:1:"B";a:4:{i:0;s:2:"62";i:1;s:3:"-16";i:2;s:3:"787";i:3;s:3:"691";}}i:39;a:4:{s:1:"C";s:2:"39";s:2:"WX";s:3:"333";s:1:"N";s:10:"quoteright";s:1:"B";a:4:{i:0;s:2:"79";i:1;s:3:"356";i:2;s:3:"263";i:3;s:3:"691";}}s:10:"quoteright";a:4:{s:1:"C";s:2:"39";s:2:"WX";s:3:"333";s:1:"N";s:10:"quoteright";s:1:"B";a:4:{i:0;s:2:"79";i:1;s:3:"356";i:2;s:3:"263";i:3;s:3:"691";}}i:40;a:4:{s:1:"C";s:2:"40";s:2:"WX";s:3:"333";s:1:"N";s:9:"parenleft";s:1:"B";a:4:{i:0;s:2:"46";i:1;s:4:"-168";i:2;s:3:"306";i:3;s:3:"694";}}s:9:"parenleft";a:4:{s:1:"C";s:2:"40";s:2:"WX";s:3:"333";s:1:"N";s:9:"parenleft";s:1:"B";a:4:{i:0;s:2:"46";i:1;s:4:"-168";i:2;s:3:"306";i:3;s:3:"694";}}i:41;a:4:{s:1:"C";s:2:"41";s:2:"WX";s:3:"333";s:1:"N";s:10:"parenright";s:1:"B";a:4:{i:0;s:2:"27";i:1;s:4:"-168";i:2;s:3:"287";i:3;s:3:"694";}}s:10:"parenright";a:4:{s:1:"C";s:2:"41";s:2:"WX";s:3:"333";s:1:"N";s:10:"parenright";s:1:"B";a:4:{i:0;s:2:"27";i:1;s:4:"-168";i:2;s:3:"287";i:3;s:3:"694";}}i:42;a:4:{s:1:"C";s:2:"42";s:2:"WX";s:3:"500";s:1:"N";s:8:"asterisk";s:1:"B";a:4:{i:0;s:2:"56";i:1;s:3:"255";i:2;s:3:"447";i:3;s:3:"691";}}s:8:"asterisk";a:4:{s:1:"C";s:2:"42";s:2:"WX";s:3:"500";s:1:"N";s:8:"asterisk";s:1:"B";a:4:{i:0;s:2:"56";i:1;s:3:"255";i:2;s:3:"447";i:3;s:3:"691";}}i:43;a:4:{s:1:"C";s:2:"43";s:2:"WX";s:3:"570";s:1:"N";s:4:"plus";s:1:"B";a:4:{i:0;s:2:"33";i:1;s:1:"0";i:2;s:3:"537";i:3;s:3:"506";}}s:4:"plus";a:4:{s:1:"C";s:2:"43";s:2:"WX";s:3:"570";s:1:"N";s:4:"plus";s:1:"B";a:4:{i:0;s:2:"33";i:1;s:1:"0";i:2;s:3:"537";i:3;s:3:"506";}}i:44;a:4:{s:1:"C";s:2:"44";s:2:"WX";s:3:"250";s:1:"N";s:5:"comma";s:1:"B";a:4:{i:0;s:2:"39";i:1;s:4:"-180";i:2;s:3:"223";i:3;s:3:"155";}}s:5:"comma";a:4:{s:1:"C";s:2:"44";s:2:"WX";s:3:"250";s:1:"N";s:5:"comma";s:1:"B";a:4:{i:0;s:2:"39";i:1;s:4:"-180";i:2;s:3:"223";i:3;s:3:"155";}}i:45;a:4:{s:1:"C";s:2:"45";s:2:"WX";s:3:"333";s:1:"N";s:6:"hyphen";s:1:"B";a:4:{i:0;s:2:"44";i:1;s:3:"171";i:2;s:3:"287";i:3;s:3:"287";}}s:6:"hyphen";a:4:{s:1:"C";s:2:"45";s:2:"WX";s:3:"333";s:1:"N";s:6:"hyphen";s:1:"B";a:4:{i:0;s:2:"44";i:1;s:3:"171";i:2;s:3:"287";i:3;s:3:"287";}}i:46;a:4:{s:1:"C";s:2:"46";s:2:"WX";s:3:"250";s:1:"N";s:6:"period";s:1:"B";a:4:{i:0;s:2:"41";i:1;s:3:"-13";i:2;s:3:"210";i:3;s:3:"156";}}s:6:"period";a:4:{s:1:"C";s:2:"46";s:2:"WX";s:3:"250";s:1:"N";s:6:"period";s:1:"B";a:4:{i:0;s:2:"41";i:1;s:3:"-13";i:2;s:3:"210";i:3;s:3:"156";}}i:47;a:4:{s:1:"C";s:2:"47";s:2:"WX";s:3:"278";s:1:"N";s:5:"slash";s:1:"B";a:4:{i:0;s:3:"-24";i:1;s:3:"-19";i:2;s:3:"302";i:3;s:3:"691";}}s:5:"slash";a:4:{s:1:"C";s:2:"47";s:2:"WX";s:3:"278";s:1:"N";s:5:"slash";s:1:"B";a:4:{i:0;s:3:"-24";i:1;s:3:"-19";i:2;s:3:"302";i:3;s:3:"691";}}i:48;a:4:{s:1:"C";s:2:"48";s:2:"WX";s:3:"500";s:1:"N";s:4:"zero";s:1:"B";a:4:{i:0;s:2:"24";i:1;s:3:"-13";i:2;s:3:"476";i:3;s:3:"688";}}s:4:"zero";a:4:{s:1:"C";s:2:"48";s:2:"WX";s:3:"500";s:1:"N";s:4:"zero";s:1:"B";a:4:{i:0;s:2:"24";i:1;s:3:"-13";i:2;s:3:"476";i:3;s:3:"688";}}i:49;a:4:{s:1:"C";s:2:"49";s:2:"WX";s:3:"500";s:1:"N";s:3:"one";s:1:"B";a:4:{i:0;s:2:"65";i:1;s:1:"0";i:2;s:3:"442";i:3;s:3:"688";}}s:3:"one";a:4:{s:1:"C";s:2:"49";s:2:"WX";s:3:"500";s:1:"N";s:3:"one";s:1:"B";a:4:{i:0;s:2:"65";i:1;s:1:"0";i:2;s:3:"442";i:3;s:3:"688";}}i:50;a:4:{s:1:"C";s:2:"50";s:2:"WX";s:3:"500";s:1:"N";s:3:"two";s:1:"B";a:4:{i:0;s:2:"17";i:1;s:1:"0";i:2;s:3:"478";i:3;s:3:"688";}}s:3:"two";a:4:{s:1:"C";s:2:"50";s:2:"WX";s:3:"500";s:1:"N";s:3:"two";s:1:"B";a:4:{i:0;s:2:"17";i:1;s:1:"0";i:2;s:3:"478";i:3;s:3:"688";}}i:51;a:4:{s:1:"C";s:2:"51";s:2:"WX";s:3:"500";s:1:"N";s:5:"three";s:1:"B";a:4:{i:0;s:2:"16";i:1;s:3:"-14";i:2;s:3:"468";i:3;s:3:"688";}}s:5:"three";a:4:{s:1:"C";s:2:"51";s:2:"WX";s:3:"500";s:1:"N";s:5:"three";s:1:"B";a:4:{i:0;s:2:"16";i:1;s:3:"-14";i:2;s:3:"468";i:3;s:3:"688";}}i:52;a:4:{s:1:"C";s:2:"52";s:2:"WX";s:3:"500";s:1:"N";s:4:"four";s:1:"B";a:4:{i:0;s:2:"19";i:1;s:1:"0";i:2;s:3:"475";i:3;s:3:"688";}}s:4:"four";a:4:{s:1:"C";s:2:"52";s:2:"WX";s:3:"500";s:1:"N";s:4:"four";s:1:"B";a:4:{i:0;s:2:"19";i:1;s:1:"0";i:2;s:3:"475";i:3;s:3:"688";}}i:53;a:4:{s:1:"C";s:2:"53";s:2:"WX";s:3:"500";s:1:"N";s:4:"five";s:1:"B";a:4:{i:0;s:2:"22";i:1;s:2:"-8";i:2;s:3:"470";i:3;s:3:"676";}}s:4:"five";a:4:{s:1:"C";s:2:"53";s:2:"WX";s:3:"500";s:1:"N";s:4:"five";s:1:"B";a:4:{i:0;s:2:"22";i:1;s:2:"-8";i:2;s:3:"470";i:3;s:3:"676";}}i:54;a:4:{s:1:"C";s:2:"54";s:2:"WX";s:3:"500";s:1:"N";s:3:"six";s:1:"B";a:4:{i:0;s:2:"28";i:1;s:3:"-13";i:2;s:3:"475";i:3;s:3:"688";}}s:3:"six";a:4:{s:1:"C";s:2:"54";s:2:"WX";s:3:"500";s:1:"N";s:3:"six";s:1:"B";a:4:{i:0;s:2:"28";i:1;s:3:"-13";i:2;s:3:"475";i:3;s:3:"688";}}i:55;a:4:{s:1:"C";s:2:"55";s:2:"WX";s:3:"500";s:1:"N";s:5:"seven";s:1:"B";a:4:{i:0;s:2:"17";i:1;s:1:"0";i:2;s:3:"477";i:3;s:3:"676";}}s:5:"seven";a:4:{s:1:"C";s:2:"55";s:2:"WX";s:3:"500";s:1:"N";s:5:"seven";s:1:"B";a:4:{i:0;s:2:"17";i:1;s:1:"0";i:2;s:3:"477";i:3;s:3:"676";}}i:56;a:4:{s:1:"C";s:2:"56";s:2:"WX";s:3:"500";s:1:"N";s:5:"eight";s:1:"B";a:4:{i:0;s:2:"28";i:1;s:3:"-13";i:2;s:3:"472";i:3;s:3:"688";}}s:5:"eight";a:4:{s:1:"C";s:2:"56";s:2:"WX";s:3:"500";s:1:"N";s:5:"eight";s:1:"B";a:4:{i:0;s:2:"28";i:1;s:3:"-13";i:2;s:3:"472";i:3;s:3:"688";}}i:57;a:4:{s:1:"C";s:2:"57";s:2:"WX";s:3:"500";s:1:"N";s:4:"nine";s:1:"B";a:4:{i:0;s:2:"26";i:1;s:3:"-13";i:2;s:3:"473";i:3;s:3:"688";}}s:4:"nine";a:4:{s:1:"C";s:2:"57";s:2:"WX";s:3:"500";s:1:"N";s:4:"nine";s:1:"B";a:4:{i:0;s:2:"26";i:1;s:3:"-13";i:2;s:3:"473";i:3;s:3:"688";}}i:58;a:4:{s:1:"C";s:2:"58";s:2:"WX";s:3:"333";s:1:"N";s:5:"colon";s:1:"B";a:4:{i:0;s:2:"82";i:1;s:3:"-13";i:2;s:3:"251";i:3;s:3:"472";}}s:5:"colon";a:4:{s:1:"C";s:2:"58";s:2:"WX";s:3:"333";s:1:"N";s:5:"colon";s:1:"B";a:4:{i:0;s:2:"82";i:1;s:3:"-13";i:2;s:3:"251";i:3;s:3:"472";}}i:59;a:4:{s:1:"C";s:2:"59";s:2:"WX";s:3:"333";s:1:"N";s:9:"semicolon";s:1:"B";a:4:{i:0;s:2:"82";i:1;s:4:"-180";i:2;s:3:"266";i:3;s:3:"472";}}s:9:"semicolon";a:4:{s:1:"C";s:2:"59";s:2:"WX";s:3:"333";s:1:"N";s:9:"semicolon";s:1:"B";a:4:{i:0;s:2:"82";i:1;s:4:"-180";i:2;s:3:"266";i:3;s:3:"472";}}i:60;a:4:{s:1:"C";s:2:"60";s:2:"WX";s:3:"570";s:1:"N";s:4:"less";s:1:"B";a:4:{i:0;s:2:"31";i:1;s:2:"-8";i:2;s:3:"539";i:3;s:3:"514";}}s:4:"less";a:4:{s:1:"C";s:2:"60";s:2:"WX";s:3:"570";s:1:"N";s:4:"less";s:1:"B";a:4:{i:0;s:2:"31";i:1;s:2:"-8";i:2;s:3:"539";i:3;s:3:"514";}}i:61;a:4:{s:1:"C";s:2:"61";s:2:"WX";s:3:"570";s:1:"N";s:5:"equal";s:1:"B";a:4:{i:0;s:2:"33";i:1;s:3:"107";i:2;s:3:"537";i:3;s:3:"399";}}s:5:"equal";a:4:{s:1:"C";s:2:"61";s:2:"WX";s:3:"570";s:1:"N";s:5:"equal";s:1:"B";a:4:{i:0;s:2:"33";i:1;s:3:"107";i:2;s:3:"537";i:3;s:3:"399";}}i:62;a:4:{s:1:"C";s:2:"62";s:2:"WX";s:3:"570";s:1:"N";s:7:"greater";s:1:"B";a:4:{i:0;s:2:"31";i:1;s:2:"-8";i:2;s:3:"539";i:3;s:3:"514";}}s:7:"greater";a:4:{s:1:"C";s:2:"62";s:2:"WX";s:3:"570";s:1:"N";s:7:"greater";s:1:"B";a:4:{i:0;s:2:"31";i:1;s:2:"-8";i:2;s:3:"539";i:3;s:3:"514";}}i:63;a:4:{s:1:"C";s:2:"63";s:2:"WX";s:3:"500";s:1:"N";s:8:"question";s:1:"B";a:4:{i:0;s:2:"57";i:1;s:3:"-13";i:2;s:3:"445";i:3;s:3:"689";}}s:8:"question";a:4:{s:1:"C";s:2:"63";s:2:"WX";s:3:"500";s:1:"N";s:8:"question";s:1:"B";a:4:{i:0;s:2:"57";i:1;s:3:"-13";i:2;s:3:"445";i:3;s:3:"689";}}i:64;a:4:{s:1:"C";s:2:"64";s:2:"WX";s:3:"930";s:1:"N";s:2:"at";s:1:"B";a:4:{i:0;s:3:"108";i:1;s:3:"-19";i:2;s:3:"822";i:3;s:3:"691";}}s:2:"at";a:4:{s:1:"C";s:2:"64";s:2:"WX";s:3:"930";s:1:"N";s:2:"at";s:1:"B";a:4:{i:0;s:3:"108";i:1;s:3:"-19";i:2;s:3:"822";i:3;s:3:"691";}}i:65;a:4:{s:1:"C";s:2:"65";s:2:"WX";s:3:"722";s:1:"N";s:1:"A";s:1:"B";a:4:{i:0;s:1:"9";i:1;s:1:"0";i:2;s:3:"689";i:3;s:3:"690";}}s:1:"A";a:4:{s:1:"C";s:2:"65";s:2:"WX";s:3:"722";s:1:"N";s:1:"A";s:1:"B";a:4:{i:0;s:1:"9";i:1;s:1:"0";i:2;s:3:"689";i:3;s:3:"690";}}i:66;a:4:{s:1:"C";s:2:"66";s:2:"WX";s:3:"667";s:1:"N";s:1:"B";s:1:"B";a:4:{i:0;s:2:"16";i:1;s:1:"0";i:2;s:3:"619";i:3;s:3:"676";}}s:1:"B";a:4:{s:1:"C";s:2:"66";s:2:"WX";s:3:"667";s:1:"N";s:1:"B";s:1:"B";a:4:{i:0;s:2:"16";i:1;s:1:"0";i:2;s:3:"619";i:3;s:3:"676";}}i:67;a:4:{s:1:"C";s:2:"67";s:2:"WX";s:3:"722";s:1:"N";s:1:"C";s:1:"B";a:4:{i:0;s:2:"49";i:1;s:3:"-19";i:2;s:3:"687";i:3;s:3:"691";}}s:1:"C";a:4:{s:1:"C";s:2:"67";s:2:"WX";s:3:"722";s:1:"N";s:1:"C";s:1:"B";a:4:{i:0;s:2:"49";i:1;s:3:"-19";i:2;s:3:"687";i:3;s:3:"691";}}i:68;a:4:{s:1:"C";s:2:"68";s:2:"WX";s:3:"722";s:1:"N";s:1:"D";s:1:"B";a:4:{i:0;s:2:"14";i:1;s:1:"0";i:2;s:3:"690";i:3;s:3:"676";}}s:1:"D";a:4:{s:1:"C";s:2:"68";s:2:"WX";s:3:"722";s:1:"N";s:1:"D";s:1:"B";a:4:{i:0;s:2:"14";i:1;s:1:"0";i:2;s:3:"690";i:3;s:3:"676";}}i:69;a:4:{s:1:"C";s:2:"69";s:2:"WX";s:3:"667";s:1:"N";s:1:"E";s:1:"B";a:4:{i:0;s:2:"16";i:1;s:1:"0";i:2;s:3:"641";i:3;s:3:"676";}}s:1:"E";a:4:{s:1:"C";s:2:"69";s:2:"WX";s:3:"667";s:1:"N";s:1:"E";s:1:"B";a:4:{i:0;s:2:"16";i:1;s:1:"0";i:2;s:3:"641";i:3;s:3:"676";}}i:70;a:4:{s:1:"C";s:2:"70";s:2:"WX";s:3:"611";s:1:"N";s:1:"F";s:1:"B";a:4:{i:0;s:2:"16";i:1;s:1:"0";i:2;s:3:"583";i:3;s:3:"676";}}s:1:"F";a:4:{s:1:"C";s:2:"70";s:2:"WX";s:3:"611";s:1:"N";s:1:"F";s:1:"B";a:4:{i:0;s:2:"16";i:1;s:1:"0";i:2;s:3:"583";i:3;s:3:"676";}}i:71;a:4:{s:1:"C";s:2:"71";s:2:"WX";s:3:"778";s:1:"N";s:1:"G";s:1:"B";a:4:{i:0;s:2:"37";i:1;s:3:"-19";i:2;s:3:"755";i:3;s:3:"691";}}s:1:"G";a:4:{s:1:"C";s:2:"71";s:2:"WX";s:3:"778";s:1:"N";s:1:"G";s:1:"B";a:4:{i:0;s:2:"37";i:1;s:3:"-19";i:2;s:3:"755";i:3;s:3:"691";}}i:72;a:4:{s:1:"C";s:2:"72";s:2:"WX";s:3:"778";s:1:"N";s:1:"H";s:1:"B";a:4:{i:0;s:2:"21";i:1;s:1:"0";i:2;s:3:"759";i:3;s:3:"676";}}s:1:"H";a:4:{s:1:"C";s:2:"72";s:2:"WX";s:3:"778";s:1:"N";s:1:"H";s:1:"B";a:4:{i:0;s:2:"21";i:1;s:1:"0";i:2;s:3:"759";i:3;s:3:"676";}}i:73;a:4:{s:1:"C";s:2:"73";s:2:"WX";s:3:"389";s:1:"N";s:1:"I";s:1:"B";a:4:{i:0;s:2:"20";i:1;s:1:"0";i:2;s:3:"370";i:3;s:3:"676";}}s:1:"I";a:4:{s:1:"C";s:2:"73";s:2:"WX";s:3:"389";s:1:"N";s:1:"I";s:1:"B";a:4:{i:0;s:2:"20";i:1;s:1:"0";i:2;s:3:"370";i:3;s:3:"676";}}i:74;a:4:{s:1:"C";s:2:"74";s:2:"WX";s:3:"500";s:1:"N";s:1:"J";s:1:"B";a:4:{i:0;s:1:"3";i:1;s:3:"-96";i:2;s:3:"479";i:3;s:3:"676";}}s:1:"J";a:4:{s:1:"C";s:2:"74";s:2:"WX";s:3:"500";s:1:"N";s:1:"J";s:1:"B";a:4:{i:0;s:1:"3";i:1;s:3:"-96";i:2;s:3:"479";i:3;s:3:"676";}}i:75;a:4:{s:1:"C";s:2:"75";s:2:"WX";s:3:"778";s:1:"N";s:1:"K";s:1:"B";a:4:{i:0;s:2:"30";i:1;s:1:"0";i:2;s:3:"769";i:3;s:3:"676";}}s:1:"K";a:4:{s:1:"C";s:2:"75";s:2:"WX";s:3:"778";s:1:"N";s:1:"K";s:1:"B";a:4:{i:0;s:2:"30";i:1;s:1:"0";i:2;s:3:"769";i:3;s:3:"676";}}i:76;a:4:{s:1:"C";s:2:"76";s:2:"WX";s:3:"667";s:1:"N";s:1:"L";s:1:"B";a:4:{i:0;s:2:"19";i:1;s:1:"0";i:2;s:3:"638";i:3;s:3:"676";}}s:1:"L";a:4:{s:1:"C";s:2:"76";s:2:"WX";s:3:"667";s:1:"N";s:1:"L";s:1:"B";a:4:{i:0;s:2:"19";i:1;s:1:"0";i:2;s:3:"638";i:3;s:3:"676";}}i:77;a:4:{s:1:"C";s:2:"77";s:2:"WX";s:3:"944";s:1:"N";s:1:"M";s:1:"B";a:4:{i:0;s:2:"14";i:1;s:1:"0";i:2;s:3:"921";i:3;s:3:"676";}}s:1:"M";a:4:{s:1:"C";s:2:"77";s:2:"WX";s:3:"944";s:1:"N";s:1:"M";s:1:"B";a:4:{i:0;s:2:"14";i:1;s:1:"0";i:2;s:3:"921";i:3;s:3:"676";}}i:78;a:4:{s:1:"C";s:2:"78";s:2:"WX";s:3:"722";s:1:"N";s:1:"N";s:1:"B";a:4:{i:0;s:2:"16";i:1;s:3:"-18";i:2;s:3:"701";i:3;s:3:"676";}}s:1:"N";a:4:{s:1:"C";s:2:"78";s:2:"WX";s:3:"722";s:1:"N";s:1:"N";s:1:"B";a:4:{i:0;s:2:"16";i:1;s:3:"-18";i:2;s:3:"701";i:3;s:3:"676";}}i:79;a:4:{s:1:"C";s:2:"79";s:2:"WX";s:3:"778";s:1:"N";s:1:"O";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:3:"-19";i:2;s:3:"743";i:3;s:3:"691";}}s:1:"O";a:4:{s:1:"C";s:2:"79";s:2:"WX";s:3:"778";s:1:"N";s:1:"O";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:3:"-19";i:2;s:3:"743";i:3;s:3:"691";}}i:80;a:4:{s:1:"C";s:2:"80";s:2:"WX";s:3:"611";s:1:"N";s:1:"P";s:1:"B";a:4:{i:0;s:2:"16";i:1;s:1:"0";i:2;s:3:"600";i:3;s:3:"676";}}s:1:"P";a:4:{s:1:"C";s:2:"80";s:2:"WX";s:3:"611";s:1:"N";s:1:"P";s:1:"B";a:4:{i:0;s:2:"16";i:1;s:1:"0";i:2;s:3:"600";i:3;s:3:"676";}}i:81;a:4:{s:1:"C";s:2:"81";s:2:"WX";s:3:"778";s:1:"N";s:1:"Q";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:4:"-176";i:2;s:3:"743";i:3;s:3:"691";}}s:1:"Q";a:4:{s:1:"C";s:2:"81";s:2:"WX";s:3:"778";s:1:"N";s:1:"Q";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:4:"-176";i:2;s:3:"743";i:3;s:3:"691";}}i:82;a:4:{s:1:"C";s:2:"82";s:2:"WX";s:3:"722";s:1:"N";s:1:"R";s:1:"B";a:4:{i:0;s:2:"26";i:1;s:1:"0";i:2;s:3:"715";i:3;s:3:"676";}}s:1:"R";a:4:{s:1:"C";s:2:"82";s:2:"WX";s:3:"722";s:1:"N";s:1:"R";s:1:"B";a:4:{i:0;s:2:"26";i:1;s:1:"0";i:2;s:3:"715";i:3;s:3:"676";}}i:83;a:4:{s:1:"C";s:2:"83";s:2:"WX";s:3:"556";s:1:"N";s:1:"S";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:3:"-19";i:2;s:3:"513";i:3;s:3:"692";}}s:1:"S";a:4:{s:1:"C";s:2:"83";s:2:"WX";s:3:"556";s:1:"N";s:1:"S";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:3:"-19";i:2;s:3:"513";i:3;s:3:"692";}}i:84;a:4:{s:1:"C";s:2:"84";s:2:"WX";s:3:"667";s:1:"N";s:1:"T";s:1:"B";a:4:{i:0;s:2:"31";i:1;s:1:"0";i:2;s:3:"636";i:3;s:3:"676";}}s:1:"T";a:4:{s:1:"C";s:2:"84";s:2:"WX";s:3:"667";s:1:"N";s:1:"T";s:1:"B";a:4:{i:0;s:2:"31";i:1;s:1:"0";i:2;s:3:"636";i:3;s:3:"676";}}i:85;a:4:{s:1:"C";s:2:"85";s:2:"WX";s:3:"722";s:1:"N";s:1:"U";s:1:"B";a:4:{i:0;s:2:"16";i:1;s:3:"-19";i:2;s:3:"701";i:3;s:3:"676";}}s:1:"U";a:4:{s:1:"C";s:2:"85";s:2:"WX";s:3:"722";s:1:"N";s:1:"U";s:1:"B";a:4:{i:0;s:2:"16";i:1;s:3:"-19";i:2;s:3:"701";i:3;s:3:"676";}}i:86;a:4:{s:1:"C";s:2:"86";s:2:"WX";s:3:"722";s:1:"N";s:1:"V";s:1:"B";a:4:{i:0;s:2:"16";i:1;s:3:"-18";i:2;s:3:"701";i:3;s:3:"676";}}s:1:"V";a:4:{s:1:"C";s:2:"86";s:2:"WX";s:3:"722";s:1:"N";s:1:"V";s:1:"B";a:4:{i:0;s:2:"16";i:1;s:3:"-18";i:2;s:3:"701";i:3;s:3:"676";}}i:87;a:4:{s:1:"C";s:2:"87";s:2:"WX";s:4:"1000";s:1:"N";s:1:"W";s:1:"B";a:4:{i:0;s:2:"19";i:1;s:3:"-15";i:2;s:3:"981";i:3;s:3:"676";}}s:1:"W";a:4:{s:1:"C";s:2:"87";s:2:"WX";s:4:"1000";s:1:"N";s:1:"W";s:1:"B";a:4:{i:0;s:2:"19";i:1;s:3:"-15";i:2;s:3:"981";i:3;s:3:"676";}}i:88;a:4:{s:1:"C";s:2:"88";s:2:"WX";s:3:"722";s:1:"N";s:1:"X";s:1:"B";a:4:{i:0;s:2:"16";i:1;s:1:"0";i:2;s:3:"699";i:3;s:3:"676";}}s:1:"X";a:4:{s:1:"C";s:2:"88";s:2:"WX";s:3:"722";s:1:"N";s:1:"X";s:1:"B";a:4:{i:0;s:2:"16";i:1;s:1:"0";i:2;s:3:"699";i:3;s:3:"676";}}i:89;a:4:{s:1:"C";s:2:"89";s:2:"WX";s:3:"722";s:1:"N";s:1:"Y";s:1:"B";a:4:{i:0;s:2:"15";i:1;s:1:"0";i:2;s:3:"699";i:3;s:3:"676";}}s:1:"Y";a:4:{s:1:"C";s:2:"89";s:2:"WX";s:3:"722";s:1:"N";s:1:"Y";s:1:"B";a:4:{i:0;s:2:"15";i:1;s:1:"0";i:2;s:3:"699";i:3;s:3:"676";}}i:90;a:4:{s:1:"C";s:2:"90";s:2:"WX";s:3:"667";s:1:"N";s:1:"Z";s:1:"B";a:4:{i:0;s:2:"28";i:1;s:1:"0";i:2;s:3:"634";i:3;s:3:"676";}}s:1:"Z";a:4:{s:1:"C";s:2:"90";s:2:"WX";s:3:"667";s:1:"N";s:1:"Z";s:1:"B";a:4:{i:0;s:2:"28";i:1;s:1:"0";i:2;s:3:"634";i:3;s:3:"676";}}i:91;a:4:{s:1:"C";s:2:"91";s:2:"WX";s:3:"333";s:1:"N";s:11:"bracketleft";s:1:"B";a:4:{i:0;s:2:"67";i:1;s:4:"-149";i:2;s:3:"301";i:3;s:3:"678";}}s:11:"bracketleft";a:4:{s:1:"C";s:2:"91";s:2:"WX";s:3:"333";s:1:"N";s:11:"bracketleft";s:1:"B";a:4:{i:0;s:2:"67";i:1;s:4:"-149";i:2;s:3:"301";i:3;s:3:"678";}}i:92;a:4:{s:1:"C";s:2:"92";s:2:"WX";s:3:"278";s:1:"N";s:9:"backslash";s:1:"B";a:4:{i:0;s:3:"-25";i:1;s:3:"-19";i:2;s:3:"303";i:3;s:3:"691";}}s:9:"backslash";a:4:{s:1:"C";s:2:"92";s:2:"WX";s:3:"278";s:1:"N";s:9:"backslash";s:1:"B";a:4:{i:0;s:3:"-25";i:1;s:3:"-19";i:2;s:3:"303";i:3;s:3:"691";}}i:93;a:4:{s:1:"C";s:2:"93";s:2:"WX";s:3:"333";s:1:"N";s:12:"bracketright";s:1:"B";a:4:{i:0;s:2:"32";i:1;s:4:"-149";i:2;s:3:"266";i:3;s:3:"678";}}s:12:"bracketright";a:4:{s:1:"C";s:2:"93";s:2:"WX";s:3:"333";s:1:"N";s:12:"bracketright";s:1:"B";a:4:{i:0;s:2:"32";i:1;s:4:"-149";i:2;s:3:"266";i:3;s:3:"678";}}i:94;a:4:{s:1:"C";s:2:"94";s:2:"WX";s:3:"581";s:1:"N";s:11:"asciicircum";s:1:"B";a:4:{i:0;s:2:"73";i:1;s:3:"311";i:2;s:3:"509";i:3;s:3:"676";}}s:11:"asciicircum";a:4:{s:1:"C";s:2:"94";s:2:"WX";s:3:"581";s:1:"N";s:11:"asciicircum";s:1:"B";a:4:{i:0;s:2:"73";i:1;s:3:"311";i:2;s:3:"509";i:3;s:3:"676";}}i:95;a:4:{s:1:"C";s:2:"95";s:2:"WX";s:3:"500";s:1:"N";s:10:"underscore";s:1:"B";a:4:{i:0;s:1:"0";i:1;s:4:"-125";i:2;s:3:"500";i:3;s:3:"-75";}}s:10:"underscore";a:4:{s:1:"C";s:2:"95";s:2:"WX";s:3:"500";s:1:"N";s:10:"underscore";s:1:"B";a:4:{i:0;s:1:"0";i:1;s:4:"-125";i:2;s:3:"500";i:3;s:3:"-75";}}i:96;a:4:{s:1:"C";s:2:"96";s:2:"WX";s:3:"333";s:1:"N";s:9:"quoteleft";s:1:"B";a:4:{i:0;s:2:"70";i:1;s:3:"356";i:2;s:3:"254";i:3;s:3:"691";}}s:9:"quoteleft";a:4:{s:1:"C";s:2:"96";s:2:"WX";s:3:"333";s:1:"N";s:9:"quoteleft";s:1:"B";a:4:{i:0;s:2:"70";i:1;s:3:"356";i:2;s:3:"254";i:3;s:3:"691";}}i:97;a:4:{s:1:"C";s:2:"97";s:2:"WX";s:3:"500";s:1:"N";s:1:"a";s:1:"B";a:4:{i:0;s:2:"25";i:1;s:3:"-14";i:2;s:3:"488";i:3;s:3:"473";}}s:1:"a";a:4:{s:1:"C";s:2:"97";s:2:"WX";s:3:"500";s:1:"N";s:1:"a";s:1:"B";a:4:{i:0;s:2:"25";i:1;s:3:"-14";i:2;s:3:"488";i:3;s:3:"473";}}i:98;a:4:{s:1:"C";s:2:"98";s:2:"WX";s:3:"556";s:1:"N";s:1:"b";s:1:"B";a:4:{i:0;s:2:"17";i:1;s:3:"-14";i:2;s:3:"521";i:3;s:3:"676";}}s:1:"b";a:4:{s:1:"C";s:2:"98";s:2:"WX";s:3:"556";s:1:"N";s:1:"b";s:1:"B";a:4:{i:0;s:2:"17";i:1;s:3:"-14";i:2;s:3:"521";i:3;s:3:"676";}}i:99;a:4:{s:1:"C";s:2:"99";s:2:"WX";s:3:"444";s:1:"N";s:1:"c";s:1:"B";a:4:{i:0;s:2:"25";i:1;s:3:"-14";i:2;s:3:"430";i:3;s:3:"473";}}s:1:"c";a:4:{s:1:"C";s:2:"99";s:2:"WX";s:3:"444";s:1:"N";s:1:"c";s:1:"B";a:4:{i:0;s:2:"25";i:1;s:3:"-14";i:2;s:3:"430";i:3;s:3:"473";}}i:100;a:4:{s:1:"C";s:3:"100";s:2:"WX";s:3:"556";s:1:"N";s:1:"d";s:1:"B";a:4:{i:0;s:2:"25";i:1;s:3:"-14";i:2;s:3:"534";i:3;s:3:"676";}}s:1:"d";a:4:{s:1:"C";s:3:"100";s:2:"WX";s:3:"556";s:1:"N";s:1:"d";s:1:"B";a:4:{i:0;s:2:"25";i:1;s:3:"-14";i:2;s:3:"534";i:3;s:3:"676";}}i:101;a:4:{s:1:"C";s:3:"101";s:2:"WX";s:3:"444";s:1:"N";s:1:"e";s:1:"B";a:4:{i:0;s:2:"25";i:1;s:3:"-14";i:2;s:3:"426";i:3;s:3:"473";}}s:1:"e";a:4:{s:1:"C";s:3:"101";s:2:"WX";s:3:"444";s:1:"N";s:1:"e";s:1:"B";a:4:{i:0;s:2:"25";i:1;s:3:"-14";i:2;s:3:"426";i:3;s:3:"473";}}i:102;a:5:{s:1:"C";s:3:"102";s:2:"WX";s:3:"333";s:1:"N";s:1:"f";s:1:"B";a:4:{i:0;s:2:"14";i:1;s:1:"0";i:2;s:3:"389";i:3;s:3:"691";}s:1:"L";a:2:{i:0;s:1:"l";i:1;s:2:"fl";}}s:1:"f";a:5:{s:1:"C";s:3:"102";s:2:"WX";s:3:"333";s:1:"N";s:1:"f";s:1:"B";a:4:{i:0;s:2:"14";i:1;s:1:"0";i:2;s:3:"389";i:3;s:3:"691";}s:1:"L";a:2:{i:0;s:1:"l";i:1;s:2:"fl";}}i:103;a:4:{s:1:"C";s:3:"103";s:2:"WX";s:3:"500";s:1:"N";s:1:"g";s:1:"B";a:4:{i:0;s:2:"28";i:1;s:4:"-206";i:2;s:3:"483";i:3;s:3:"473";}}s:1:"g";a:4:{s:1:"C";s:3:"103";s:2:"WX";s:3:"500";s:1:"N";s:1:"g";s:1:"B";a:4:{i:0;s:2:"28";i:1;s:4:"-206";i:2;s:3:"483";i:3;s:3:"473";}}i:104;a:4:{s:1:"C";s:3:"104";s:2:"WX";s:3:"556";s:1:"N";s:1:"h";s:1:"B";a:4:{i:0;s:2:"16";i:1;s:1:"0";i:2;s:3:"534";i:3;s:3:"676";}}s:1:"h";a:4:{s:1:"C";s:3:"104";s:2:"WX";s:3:"556";s:1:"N";s:1:"h";s:1:"B";a:4:{i:0;s:2:"16";i:1;s:1:"0";i:2;s:3:"534";i:3;s:3:"676";}}i:105;a:4:{s:1:"C";s:3:"105";s:2:"WX";s:3:"278";s:1:"N";s:1:"i";s:1:"B";a:4:{i:0;s:2:"16";i:1;s:1:"0";i:2;s:3:"255";i:3;s:3:"691";}}s:1:"i";a:4:{s:1:"C";s:3:"105";s:2:"WX";s:3:"278";s:1:"N";s:1:"i";s:1:"B";a:4:{i:0;s:2:"16";i:1;s:1:"0";i:2;s:3:"255";i:3;s:3:"691";}}i:106;a:4:{s:1:"C";s:3:"106";s:2:"WX";s:3:"333";s:1:"N";s:1:"j";s:1:"B";a:4:{i:0;s:3:"-57";i:1;s:4:"-203";i:2;s:3:"263";i:3;s:3:"691";}}s:1:"j";a:4:{s:1:"C";s:3:"106";s:2:"WX";s:3:"333";s:1:"N";s:1:"j";s:1:"B";a:4:{i:0;s:3:"-57";i:1;s:4:"-203";i:2;s:3:"263";i:3;s:3:"691";}}i:107;a:4:{s:1:"C";s:3:"107";s:2:"WX";s:3:"556";s:1:"N";s:1:"k";s:1:"B";a:4:{i:0;s:2:"22";i:1;s:1:"0";i:2;s:3:"543";i:3;s:3:"676";}}s:1:"k";a:4:{s:1:"C";s:3:"107";s:2:"WX";s:3:"556";s:1:"N";s:1:"k";s:1:"B";a:4:{i:0;s:2:"22";i:1;s:1:"0";i:2;s:3:"543";i:3;s:3:"676";}}i:108;a:4:{s:1:"C";s:3:"108";s:2:"WX";s:3:"278";s:1:"N";s:1:"l";s:1:"B";a:4:{i:0;s:2:"16";i:1;s:1:"0";i:2;s:3:"255";i:3;s:3:"676";}}s:1:"l";a:4:{s:1:"C";s:3:"108";s:2:"WX";s:3:"278";s:1:"N";s:1:"l";s:1:"B";a:4:{i:0;s:2:"16";i:1;s:1:"0";i:2;s:3:"255";i:3;s:3:"676";}}i:109;a:4:{s:1:"C";s:3:"109";s:2:"WX";s:3:"833";s:1:"N";s:1:"m";s:1:"B";a:4:{i:0;s:2:"16";i:1;s:1:"0";i:2;s:3:"814";i:3;s:3:"473";}}s:1:"m";a:4:{s:1:"C";s:3:"109";s:2:"WX";s:3:"833";s:1:"N";s:1:"m";s:1:"B";a:4:{i:0;s:2:"16";i:1;s:1:"0";i:2;s:3:"814";i:3;s:3:"473";}}i:110;a:4:{s:1:"C";s:3:"110";s:2:"WX";s:3:"556";s:1:"N";s:1:"n";s:1:"B";a:4:{i:0;s:2:"21";i:1;s:1:"0";i:2;s:3:"539";i:3;s:3:"473";}}s:1:"n";a:4:{s:1:"C";s:3:"110";s:2:"WX";s:3:"556";s:1:"N";s:1:"n";s:1:"B";a:4:{i:0;s:2:"21";i:1;s:1:"0";i:2;s:3:"539";i:3;s:3:"473";}}i:111;a:4:{s:1:"C";s:3:"111";s:2:"WX";s:3:"500";s:1:"N";s:1:"o";s:1:"B";a:4:{i:0;s:2:"25";i:1;s:3:"-14";i:2;s:3:"476";i:3;s:3:"473";}}s:1:"o";a:4:{s:1:"C";s:3:"111";s:2:"WX";s:3:"500";s:1:"N";s:1:"o";s:1:"B";a:4:{i:0;s:2:"25";i:1;s:3:"-14";i:2;s:3:"476";i:3;s:3:"473";}}i:112;a:4:{s:1:"C";s:3:"112";s:2:"WX";s:3:"556";s:1:"N";s:1:"p";s:1:"B";a:4:{i:0;s:2:"19";i:1;s:4:"-205";i:2;s:3:"524";i:3;s:3:"473";}}s:1:"p";a:4:{s:1:"C";s:3:"112";s:2:"WX";s:3:"556";s:1:"N";s:1:"p";s:1:"B";a:4:{i:0;s:2:"19";i:1;s:4:"-205";i:2;s:3:"524";i:3;s:3:"473";}}i:113;a:4:{s:1:"C";s:3:"113";s:2:"WX";s:3:"556";s:1:"N";s:1:"q";s:1:"B";a:4:{i:0;s:2:"34";i:1;s:4:"-205";i:2;s:3:"536";i:3;s:3:"473";}}s:1:"q";a:4:{s:1:"C";s:3:"113";s:2:"WX";s:3:"556";s:1:"N";s:1:"q";s:1:"B";a:4:{i:0;s:2:"34";i:1;s:4:"-205";i:2;s:3:"536";i:3;s:3:"473";}}i:114;a:4:{s:1:"C";s:3:"114";s:2:"WX";s:3:"444";s:1:"N";s:1:"r";s:1:"B";a:4:{i:0;s:2:"29";i:1;s:1:"0";i:2;s:3:"434";i:3;s:3:"473";}}s:1:"r";a:4:{s:1:"C";s:3:"114";s:2:"WX";s:3:"444";s:1:"N";s:1:"r";s:1:"B";a:4:{i:0;s:2:"29";i:1;s:1:"0";i:2;s:3:"434";i:3;s:3:"473";}}i:115;a:4:{s:1:"C";s:3:"115";s:2:"WX";s:3:"389";s:1:"N";s:1:"s";s:1:"B";a:4:{i:0;s:2:"25";i:1;s:3:"-14";i:2;s:3:"361";i:3;s:3:"473";}}s:1:"s";a:4:{s:1:"C";s:3:"115";s:2:"WX";s:3:"389";s:1:"N";s:1:"s";s:1:"B";a:4:{i:0;s:2:"25";i:1;s:3:"-14";i:2;s:3:"361";i:3;s:3:"473";}}i:116;a:4:{s:1:"C";s:3:"116";s:2:"WX";s:3:"333";s:1:"N";s:1:"t";s:1:"B";a:4:{i:0;s:2:"20";i:1;s:3:"-12";i:2;s:3:"332";i:3;s:3:"630";}}s:1:"t";a:4:{s:1:"C";s:3:"116";s:2:"WX";s:3:"333";s:1:"N";s:1:"t";s:1:"B";a:4:{i:0;s:2:"20";i:1;s:3:"-12";i:2;s:3:"332";i:3;s:3:"630";}}i:117;a:4:{s:1:"C";s:3:"117";s:2:"WX";s:3:"556";s:1:"N";s:1:"u";s:1:"B";a:4:{i:0;s:2:"16";i:1;s:3:"-14";i:2;s:3:"537";i:3;s:3:"461";}}s:1:"u";a:4:{s:1:"C";s:3:"117";s:2:"WX";s:3:"556";s:1:"N";s:1:"u";s:1:"B";a:4:{i:0;s:2:"16";i:1;s:3:"-14";i:2;s:3:"537";i:3;s:3:"461";}}i:118;a:4:{s:1:"C";s:3:"118";s:2:"WX";s:3:"500";s:1:"N";s:1:"v";s:1:"B";a:4:{i:0;s:2:"21";i:1;s:3:"-14";i:2;s:3:"485";i:3;s:3:"461";}}s:1:"v";a:4:{s:1:"C";s:3:"118";s:2:"WX";s:3:"500";s:1:"N";s:1:"v";s:1:"B";a:4:{i:0;s:2:"21";i:1;s:3:"-14";i:2;s:3:"485";i:3;s:3:"461";}}i:119;a:4:{s:1:"C";s:3:"119";s:2:"WX";s:3:"722";s:1:"N";s:1:"w";s:1:"B";a:4:{i:0;s:2:"23";i:1;s:3:"-14";i:2;s:3:"707";i:3;s:3:"461";}}s:1:"w";a:4:{s:1:"C";s:3:"119";s:2:"WX";s:3:"722";s:1:"N";s:1:"w";s:1:"B";a:4:{i:0;s:2:"23";i:1;s:3:"-14";i:2;s:3:"707";i:3;s:3:"461";}}i:120;a:4:{s:1:"C";s:3:"120";s:2:"WX";s:3:"500";s:1:"N";s:1:"x";s:1:"B";a:4:{i:0;s:2:"12";i:1;s:1:"0";i:2;s:3:"484";i:3;s:3:"461";}}s:1:"x";a:4:{s:1:"C";s:3:"120";s:2:"WX";s:3:"500";s:1:"N";s:1:"x";s:1:"B";a:4:{i:0;s:2:"12";i:1;s:1:"0";i:2;s:3:"484";i:3;s:3:"461";}}i:121;a:4:{s:1:"C";s:3:"121";s:2:"WX";s:3:"500";s:1:"N";s:1:"y";s:1:"B";a:4:{i:0;s:2:"16";i:1;s:4:"-205";i:2;s:3:"480";i:3;s:3:"461";}}s:1:"y";a:4:{s:1:"C";s:3:"121";s:2:"WX";s:3:"500";s:1:"N";s:1:"y";s:1:"B";a:4:{i:0;s:2:"16";i:1;s:4:"-205";i:2;s:3:"480";i:3;s:3:"461";}}i:122;a:4:{s:1:"C";s:3:"122";s:2:"WX";s:3:"444";s:1:"N";s:1:"z";s:1:"B";a:4:{i:0;s:2:"21";i:1;s:1:"0";i:2;s:3:"420";i:3;s:3:"461";}}s:1:"z";a:4:{s:1:"C";s:3:"122";s:2:"WX";s:3:"444";s:1:"N";s:1:"z";s:1:"B";a:4:{i:0;s:2:"21";i:1;s:1:"0";i:2;s:3:"420";i:3;s:3:"461";}}i:123;a:4:{s:1:"C";s:3:"123";s:2:"WX";s:3:"394";s:1:"N";s:9:"braceleft";s:1:"B";a:4:{i:0;s:2:"22";i:1;s:4:"-175";i:2;s:3:"340";i:3;s:3:"698";}}s:9:"braceleft";a:4:{s:1:"C";s:3:"123";s:2:"WX";s:3:"394";s:1:"N";s:9:"braceleft";s:1:"B";a:4:{i:0;s:2:"22";i:1;s:4:"-175";i:2;s:3:"340";i:3;s:3:"698";}}i:124;a:4:{s:1:"C";s:3:"124";s:2:"WX";s:3:"220";s:1:"N";s:3:"bar";s:1:"B";a:4:{i:0;s:2:"66";i:1;s:4:"-218";i:2;s:3:"154";i:3;s:3:"782";}}s:3:"bar";a:4:{s:1:"C";s:3:"124";s:2:"WX";s:3:"220";s:1:"N";s:3:"bar";s:1:"B";a:4:{i:0;s:2:"66";i:1;s:4:"-218";i:2;s:3:"154";i:3;s:3:"782";}}i:125;a:4:{s:1:"C";s:3:"125";s:2:"WX";s:3:"394";s:1:"N";s:10:"braceright";s:1:"B";a:4:{i:0;s:2:"54";i:1;s:4:"-175";i:2;s:3:"372";i:3;s:3:"698";}}s:10:"braceright";a:4:{s:1:"C";s:3:"125";s:2:"WX";s:3:"394";s:1:"N";s:10:"braceright";s:1:"B";a:4:{i:0;s:2:"54";i:1;s:4:"-175";i:2;s:3:"372";i:3;s:3:"698";}}i:126;a:4:{s:1:"C";s:3:"126";s:2:"WX";s:3:"520";s:1:"N";s:10:"asciitilde";s:1:"B";a:4:{i:0;s:2:"29";i:1;s:3:"173";i:2;s:3:"491";i:3;s:3:"333";}}s:10:"asciitilde";a:4:{s:1:"C";s:3:"126";s:2:"WX";s:3:"520";s:1:"N";s:10:"asciitilde";s:1:"B";a:4:{i:0;s:2:"29";i:1;s:3:"173";i:2;s:3:"491";i:3;s:3:"333";}}i:161;a:4:{s:1:"C";s:3:"161";s:2:"WX";s:3:"333";s:1:"N";s:10:"exclamdown";s:1:"B";a:4:{i:0;s:2:"82";i:1;s:4:"-203";i:2;s:3:"252";i:3;s:3:"501";}}s:10:"exclamdown";a:4:{s:1:"C";s:3:"161";s:2:"WX";s:3:"333";s:1:"N";s:10:"exclamdown";s:1:"B";a:4:{i:0;s:2:"82";i:1;s:4:"-203";i:2;s:3:"252";i:3;s:3:"501";}}i:162;a:4:{s:1:"C";s:3:"162";s:2:"WX";s:3:"500";s:1:"N";s:4:"cent";s:1:"B";a:4:{i:0;s:2:"53";i:1;s:4:"-140";i:2;s:3:"458";i:3;s:3:"588";}}s:4:"cent";a:4:{s:1:"C";s:3:"162";s:2:"WX";s:3:"500";s:1:"N";s:4:"cent";s:1:"B";a:4:{i:0;s:2:"53";i:1;s:4:"-140";i:2;s:3:"458";i:3;s:3:"588";}}i:163;a:4:{s:1:"C";s:3:"163";s:2:"WX";s:3:"500";s:1:"N";s:8:"sterling";s:1:"B";a:4:{i:0;s:2:"21";i:1;s:3:"-14";i:2;s:3:"477";i:3;s:3:"684";}}s:8:"sterling";a:4:{s:1:"C";s:3:"163";s:2:"WX";s:3:"500";s:1:"N";s:8:"sterling";s:1:"B";a:4:{i:0;s:2:"21";i:1;s:3:"-14";i:2;s:3:"477";i:3;s:3:"684";}}i:164;a:4:{s:1:"C";s:3:"164";s:2:"WX";s:3:"167";s:1:"N";s:8:"fraction";s:1:"B";a:4:{i:0;s:4:"-168";i:1;s:3:"-12";i:2;s:3:"329";i:3;s:3:"688";}}s:8:"fraction";a:4:{s:1:"C";s:3:"164";s:2:"WX";s:3:"167";s:1:"N";s:8:"fraction";s:1:"B";a:4:{i:0;s:4:"-168";i:1;s:3:"-12";i:2;s:3:"329";i:3;s:3:"688";}}i:165;a:4:{s:1:"C";s:3:"165";s:2:"WX";s:3:"500";s:1:"N";s:3:"yen";s:1:"B";a:4:{i:0;s:3:"-64";i:1;s:1:"0";i:2;s:3:"547";i:3;s:3:"676";}}s:3:"yen";a:4:{s:1:"C";s:3:"165";s:2:"WX";s:3:"500";s:1:"N";s:3:"yen";s:1:"B";a:4:{i:0;s:3:"-64";i:1;s:1:"0";i:2;s:3:"547";i:3;s:3:"676";}}i:166;a:4:{s:1:"C";s:3:"166";s:2:"WX";s:3:"500";s:1:"N";s:6:"florin";s:1:"B";a:4:{i:0;s:1:"0";i:1;s:4:"-155";i:2;s:3:"498";i:3;s:3:"706";}}s:6:"florin";a:4:{s:1:"C";s:3:"166";s:2:"WX";s:3:"500";s:1:"N";s:6:"florin";s:1:"B";a:4:{i:0;s:1:"0";i:1;s:4:"-155";i:2;s:3:"498";i:3;s:3:"706";}}i:167;a:4:{s:1:"C";s:3:"167";s:2:"WX";s:3:"500";s:1:"N";s:7:"section";s:1:"B";a:4:{i:0;s:2:"57";i:1;s:4:"-132";i:2;s:3:"443";i:3;s:3:"691";}}s:7:"section";a:4:{s:1:"C";s:3:"167";s:2:"WX";s:3:"500";s:1:"N";s:7:"section";s:1:"B";a:4:{i:0;s:2:"57";i:1;s:4:"-132";i:2;s:3:"443";i:3;s:3:"691";}}i:168;a:4:{s:1:"C";s:3:"168";s:2:"WX";s:3:"500";s:1:"N";s:8:"currency";s:1:"B";a:4:{i:0;s:3:"-26";i:1;s:2:"61";i:2;s:3:"526";i:3;s:3:"613";}}s:8:"currency";a:4:{s:1:"C";s:3:"168";s:2:"WX";s:3:"500";s:1:"N";s:8:"currency";s:1:"B";a:4:{i:0;s:3:"-26";i:1;s:2:"61";i:2;s:3:"526";i:3;s:3:"613";}}i:169;a:4:{s:1:"C";s:3:"169";s:2:"WX";s:3:"278";s:1:"N";s:11:"quotesingle";s:1:"B";a:4:{i:0;s:2:"75";i:1;s:3:"404";i:2;s:3:"204";i:3;s:3:"691";}}s:11:"quotesingle";a:4:{s:1:"C";s:3:"169";s:2:"WX";s:3:"278";s:1:"N";s:11:"quotesingle";s:1:"B";a:4:{i:0;s:2:"75";i:1;s:3:"404";i:2;s:3:"204";i:3;s:3:"691";}}i:170;a:4:{s:1:"C";s:3:"170";s:2:"WX";s:3:"500";s:1:"N";s:12:"quotedblleft";s:1:"B";a:4:{i:0;s:2:"32";i:1;s:3:"356";i:2;s:3:"486";i:3;s:3:"691";}}s:12:"quotedblleft";a:4:{s:1:"C";s:3:"170";s:2:"WX";s:3:"500";s:1:"N";s:12:"quotedblleft";s:1:"B";a:4:{i:0;s:2:"32";i:1;s:3:"356";i:2;s:3:"486";i:3;s:3:"691";}}i:171;a:4:{s:1:"C";s:3:"171";s:2:"WX";s:3:"500";s:1:"N";s:13:"guillemotleft";s:1:"B";a:4:{i:0;s:2:"23";i:1;s:2:"36";i:2;s:3:"473";i:3;s:3:"415";}}s:13:"guillemotleft";a:4:{s:1:"C";s:3:"171";s:2:"WX";s:3:"500";s:1:"N";s:13:"guillemotleft";s:1:"B";a:4:{i:0;s:2:"23";i:1;s:2:"36";i:2;s:3:"473";i:3;s:3:"415";}}i:172;a:4:{s:1:"C";s:3:"172";s:2:"WX";s:3:"333";s:1:"N";s:13:"guilsinglleft";s:1:"B";a:4:{i:0;s:2:"51";i:1;s:2:"36";i:2;s:3:"305";i:3;s:3:"415";}}s:13:"guilsinglleft";a:4:{s:1:"C";s:3:"172";s:2:"WX";s:3:"333";s:1:"N";s:13:"guilsinglleft";s:1:"B";a:4:{i:0;s:2:"51";i:1;s:2:"36";i:2;s:3:"305";i:3;s:3:"415";}}i:173;a:4:{s:1:"C";s:3:"173";s:2:"WX";s:3:"333";s:1:"N";s:14:"guilsinglright";s:1:"B";a:4:{i:0;s:2:"28";i:1;s:2:"36";i:2;s:3:"282";i:3;s:3:"415";}}s:14:"guilsinglright";a:4:{s:1:"C";s:3:"173";s:2:"WX";s:3:"333";s:1:"N";s:14:"guilsinglright";s:1:"B";a:4:{i:0;s:2:"28";i:1;s:2:"36";i:2;s:3:"282";i:3;s:3:"415";}}i:174;a:4:{s:1:"C";s:3:"174";s:2:"WX";s:3:"556";s:1:"N";s:2:"fi";s:1:"B";a:4:{i:0;s:2:"14";i:1;s:1:"0";i:2;s:3:"536";i:3;s:3:"691";}}s:2:"fi";a:4:{s:1:"C";s:3:"174";s:2:"WX";s:3:"556";s:1:"N";s:2:"fi";s:1:"B";a:4:{i:0;s:2:"14";i:1;s:1:"0";i:2;s:3:"536";i:3;s:3:"691";}}i:175;a:4:{s:1:"C";s:3:"175";s:2:"WX";s:3:"556";s:1:"N";s:2:"fl";s:1:"B";a:4:{i:0;s:2:"14";i:1;s:1:"0";i:2;s:3:"536";i:3;s:3:"691";}}s:2:"fl";a:4:{s:1:"C";s:3:"175";s:2:"WX";s:3:"556";s:1:"N";s:2:"fl";s:1:"B";a:4:{i:0;s:2:"14";i:1;s:1:"0";i:2;s:3:"536";i:3;s:3:"691";}}i:177;a:4:{s:1:"C";s:3:"177";s:2:"WX";s:3:"500";s:1:"N";s:6:"endash";s:1:"B";a:4:{i:0;s:1:"0";i:1;s:3:"181";i:2;s:3:"500";i:3;s:3:"271";}}s:6:"endash";a:4:{s:1:"C";s:3:"177";s:2:"WX";s:3:"500";s:1:"N";s:6:"endash";s:1:"B";a:4:{i:0;s:1:"0";i:1;s:3:"181";i:2;s:3:"500";i:3;s:3:"271";}}i:178;a:4:{s:1:"C";s:3:"178";s:2:"WX";s:3:"500";s:1:"N";s:6:"dagger";s:1:"B";a:4:{i:0;s:2:"47";i:1;s:4:"-134";i:2;s:3:"453";i:3;s:3:"691";}}s:6:"dagger";a:4:{s:1:"C";s:3:"178";s:2:"WX";s:3:"500";s:1:"N";s:6:"dagger";s:1:"B";a:4:{i:0;s:2:"47";i:1;s:4:"-134";i:2;s:3:"453";i:3;s:3:"691";}}i:179;a:4:{s:1:"C";s:3:"179";s:2:"WX";s:3:"500";s:1:"N";s:9:"daggerdbl";s:1:"B";a:4:{i:0;s:2:"45";i:1;s:4:"-132";i:2;s:3:"456";i:3;s:3:"691";}}s:9:"daggerdbl";a:4:{s:1:"C";s:3:"179";s:2:"WX";s:3:"500";s:1:"N";s:9:"daggerdbl";s:1:"B";a:4:{i:0;s:2:"45";i:1;s:4:"-132";i:2;s:3:"456";i:3;s:3:"691";}}i:180;a:4:{s:1:"C";s:3:"180";s:2:"WX";s:3:"250";s:1:"N";s:14:"periodcentered";s:1:"B";a:4:{i:0;s:2:"41";i:1;s:3:"248";i:2;s:3:"210";i:3;s:3:"417";}}s:14:"periodcentered";a:4:{s:1:"C";s:3:"180";s:2:"WX";s:3:"250";s:1:"N";s:14:"periodcentered";s:1:"B";a:4:{i:0;s:2:"41";i:1;s:3:"248";i:2;s:3:"210";i:3;s:3:"417";}}i:182;a:4:{s:1:"C";s:3:"182";s:2:"WX";s:3:"540";s:1:"N";s:9:"paragraph";s:1:"B";a:4:{i:0;s:1:"0";i:1;s:4:"-186";i:2;s:3:"519";i:3;s:3:"676";}}s:9:"paragraph";a:4:{s:1:"C";s:3:"182";s:2:"WX";s:3:"540";s:1:"N";s:9:"paragraph";s:1:"B";a:4:{i:0;s:1:"0";i:1;s:4:"-186";i:2;s:3:"519";i:3;s:3:"676";}}i:183;a:4:{s:1:"C";s:3:"183";s:2:"WX";s:3:"350";s:1:"N";s:6:"bullet";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:3:"198";i:2;s:3:"315";i:3;s:3:"478";}}s:6:"bullet";a:4:{s:1:"C";s:3:"183";s:2:"WX";s:3:"350";s:1:"N";s:6:"bullet";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:3:"198";i:2;s:3:"315";i:3;s:3:"478";}}i:184;a:4:{s:1:"C";s:3:"184";s:2:"WX";s:3:"333";s:1:"N";s:14:"quotesinglbase";s:1:"B";a:4:{i:0;s:2:"79";i:1;s:4:"-180";i:2;s:3:"263";i:3;s:3:"155";}}s:14:"quotesinglbase";a:4:{s:1:"C";s:3:"184";s:2:"WX";s:3:"333";s:1:"N";s:14:"quotesinglbase";s:1:"B";a:4:{i:0;s:2:"79";i:1;s:4:"-180";i:2;s:3:"263";i:3;s:3:"155";}}i:185;a:4:{s:1:"C";s:3:"185";s:2:"WX";s:3:"500";s:1:"N";s:12:"quotedblbase";s:1:"B";a:4:{i:0;s:2:"14";i:1;s:4:"-180";i:2;s:3:"468";i:3;s:3:"155";}}s:12:"quotedblbase";a:4:{s:1:"C";s:3:"185";s:2:"WX";s:3:"500";s:1:"N";s:12:"quotedblbase";s:1:"B";a:4:{i:0;s:2:"14";i:1;s:4:"-180";i:2;s:3:"468";i:3;s:3:"155";}}i:186;a:4:{s:1:"C";s:3:"186";s:2:"WX";s:3:"500";s:1:"N";s:13:"quotedblright";s:1:"B";a:4:{i:0;s:2:"14";i:1;s:3:"356";i:2;s:3:"468";i:3;s:3:"691";}}s:13:"quotedblright";a:4:{s:1:"C";s:3:"186";s:2:"WX";s:3:"500";s:1:"N";s:13:"quotedblright";s:1:"B";a:4:{i:0;s:2:"14";i:1;s:3:"356";i:2;s:3:"468";i:3;s:3:"691";}}i:187;a:4:{s:1:"C";s:3:"187";s:2:"WX";s:3:"500";s:1:"N";s:14:"guillemotright";s:1:"B";a:4:{i:0;s:2:"27";i:1;s:2:"36";i:2;s:3:"477";i:3;s:3:"415";}}s:14:"guillemotright";a:4:{s:1:"C";s:3:"187";s:2:"WX";s:3:"500";s:1:"N";s:14:"guillemotright";s:1:"B";a:4:{i:0;s:2:"27";i:1;s:2:"36";i:2;s:3:"477";i:3;s:3:"415";}}i:188;a:4:{s:1:"C";s:3:"188";s:2:"WX";s:4:"1000";s:1:"N";s:8:"ellipsis";s:1:"B";a:4:{i:0;s:2:"82";i:1;s:3:"-13";i:2;s:3:"917";i:3;s:3:"156";}}s:8:"ellipsis";a:4:{s:1:"C";s:3:"188";s:2:"WX";s:4:"1000";s:1:"N";s:8:"ellipsis";s:1:"B";a:4:{i:0;s:2:"82";i:1;s:3:"-13";i:2;s:3:"917";i:3;s:3:"156";}}i:189;a:4:{s:1:"C";s:3:"189";s:2:"WX";s:4:"1000";s:1:"N";s:11:"perthousand";s:1:"B";a:4:{i:0;s:1:"7";i:1;s:3:"-29";i:2;s:3:"995";i:3;s:3:"706";}}s:11:"perthousand";a:4:{s:1:"C";s:3:"189";s:2:"WX";s:4:"1000";s:1:"N";s:11:"perthousand";s:1:"B";a:4:{i:0;s:1:"7";i:1;s:3:"-29";i:2;s:3:"995";i:3;s:3:"706";}}i:191;a:4:{s:1:"C";s:3:"191";s:2:"WX";s:3:"500";s:1:"N";s:12:"questiondown";s:1:"B";a:4:{i:0;s:2:"55";i:1;s:4:"-201";i:2;s:3:"443";i:3;s:3:"501";}}s:12:"questiondown";a:4:{s:1:"C";s:3:"191";s:2:"WX";s:3:"500";s:1:"N";s:12:"questiondown";s:1:"B";a:4:{i:0;s:2:"55";i:1;s:4:"-201";i:2;s:3:"443";i:3;s:3:"501";}}i:193;a:4:{s:1:"C";s:3:"193";s:2:"WX";s:3:"333";s:1:"N";s:5:"grave";s:1:"B";a:4:{i:0;s:1:"8";i:1;s:3:"528";i:2;s:3:"246";i:3;s:3:"713";}}s:5:"grave";a:4:{s:1:"C";s:3:"193";s:2:"WX";s:3:"333";s:1:"N";s:5:"grave";s:1:"B";a:4:{i:0;s:1:"8";i:1;s:3:"528";i:2;s:3:"246";i:3;s:3:"713";}}i:194;a:4:{s:1:"C";s:3:"194";s:2:"WX";s:3:"333";s:1:"N";s:5:"acute";s:1:"B";a:4:{i:0;s:2:"86";i:1;s:3:"528";i:2;s:3:"324";i:3;s:3:"713";}}s:5:"acute";a:4:{s:1:"C";s:3:"194";s:2:"WX";s:3:"333";s:1:"N";s:5:"acute";s:1:"B";a:4:{i:0;s:2:"86";i:1;s:3:"528";i:2;s:3:"324";i:3;s:3:"713";}}i:195;a:4:{s:1:"C";s:3:"195";s:2:"WX";s:3:"333";s:1:"N";s:10:"circumflex";s:1:"B";a:4:{i:0;s:2:"-2";i:1;s:3:"528";i:2;s:3:"335";i:3;s:3:"704";}}s:10:"circumflex";a:4:{s:1:"C";s:3:"195";s:2:"WX";s:3:"333";s:1:"N";s:10:"circumflex";s:1:"B";a:4:{i:0;s:2:"-2";i:1;s:3:"528";i:2;s:3:"335";i:3;s:3:"704";}}i:196;a:4:{s:1:"C";s:3:"196";s:2:"WX";s:3:"333";s:1:"N";s:5:"tilde";s:1:"B";a:4:{i:0;s:3:"-16";i:1;s:3:"547";i:2;s:3:"349";i:3;s:3:"674";}}s:5:"tilde";a:4:{s:1:"C";s:3:"196";s:2:"WX";s:3:"333";s:1:"N";s:5:"tilde";s:1:"B";a:4:{i:0;s:3:"-16";i:1;s:3:"547";i:2;s:3:"349";i:3;s:3:"674";}}i:197;a:4:{s:1:"C";s:3:"197";s:2:"WX";s:3:"333";s:1:"N";s:6:"macron";s:1:"B";a:4:{i:0;s:1:"1";i:1;s:3:"565";i:2;s:3:"331";i:3;s:3:"637";}}s:6:"macron";a:4:{s:1:"C";s:3:"197";s:2:"WX";s:3:"333";s:1:"N";s:6:"macron";s:1:"B";a:4:{i:0;s:1:"1";i:1;s:3:"565";i:2;s:3:"331";i:3;s:3:"637";}}i:198;a:4:{s:1:"C";s:3:"198";s:2:"WX";s:3:"333";s:1:"N";s:5:"breve";s:1:"B";a:4:{i:0;s:2:"15";i:1;s:3:"528";i:2;s:3:"318";i:3;s:3:"691";}}s:5:"breve";a:4:{s:1:"C";s:3:"198";s:2:"WX";s:3:"333";s:1:"N";s:5:"breve";s:1:"B";a:4:{i:0;s:2:"15";i:1;s:3:"528";i:2;s:3:"318";i:3;s:3:"691";}}i:199;a:4:{s:1:"C";s:3:"199";s:2:"WX";s:3:"333";s:1:"N";s:9:"dotaccent";s:1:"B";a:4:{i:0;s:3:"103";i:1;s:3:"536";i:2;s:3:"258";i:3;s:3:"691";}}s:9:"dotaccent";a:4:{s:1:"C";s:3:"199";s:2:"WX";s:3:"333";s:1:"N";s:9:"dotaccent";s:1:"B";a:4:{i:0;s:3:"103";i:1;s:3:"536";i:2;s:3:"258";i:3;s:3:"691";}}i:200;a:4:{s:1:"C";s:3:"200";s:2:"WX";s:3:"333";s:1:"N";s:8:"dieresis";s:1:"B";a:4:{i:0;s:2:"-2";i:1;s:3:"537";i:2;s:3:"335";i:3;s:3:"667";}}s:8:"dieresis";a:4:{s:1:"C";s:3:"200";s:2:"WX";s:3:"333";s:1:"N";s:8:"dieresis";s:1:"B";a:4:{i:0;s:2:"-2";i:1;s:3:"537";i:2;s:3:"335";i:3;s:3:"667";}}i:202;a:4:{s:1:"C";s:3:"202";s:2:"WX";s:3:"333";s:1:"N";s:4:"ring";s:1:"B";a:4:{i:0;s:2:"60";i:1;s:3:"527";i:2;s:3:"273";i:3;s:3:"740";}}s:4:"ring";a:4:{s:1:"C";s:3:"202";s:2:"WX";s:3:"333";s:1:"N";s:4:"ring";s:1:"B";a:4:{i:0;s:2:"60";i:1;s:3:"527";i:2;s:3:"273";i:3;s:3:"740";}}i:203;a:4:{s:1:"C";s:3:"203";s:2:"WX";s:3:"333";s:1:"N";s:7:"cedilla";s:1:"B";a:4:{i:0;s:2:"68";i:1;s:4:"-218";i:2;s:3:"294";i:3;s:1:"0";}}s:7:"cedilla";a:4:{s:1:"C";s:3:"203";s:2:"WX";s:3:"333";s:1:"N";s:7:"cedilla";s:1:"B";a:4:{i:0;s:2:"68";i:1;s:4:"-218";i:2;s:3:"294";i:3;s:1:"0";}}i:205;a:4:{s:1:"C";s:3:"205";s:2:"WX";s:3:"333";s:1:"N";s:12:"hungarumlaut";s:1:"B";a:4:{i:0;s:3:"-13";i:1;s:3:"528";i:2;s:3:"425";i:3;s:3:"713";}}s:12:"hungarumlaut";a:4:{s:1:"C";s:3:"205";s:2:"WX";s:3:"333";s:1:"N";s:12:"hungarumlaut";s:1:"B";a:4:{i:0;s:3:"-13";i:1;s:3:"528";i:2;s:3:"425";i:3;s:3:"713";}}i:206;a:4:{s:1:"C";s:3:"206";s:2:"WX";s:3:"333";s:1:"N";s:6:"ogonek";s:1:"B";a:4:{i:0;s:2:"90";i:1;s:4:"-193";i:2;s:3:"319";i:3;s:2:"24";}}s:6:"ogonek";a:4:{s:1:"C";s:3:"206";s:2:"WX";s:3:"333";s:1:"N";s:6:"ogonek";s:1:"B";a:4:{i:0;s:2:"90";i:1;s:4:"-193";i:2;s:3:"319";i:3;s:2:"24";}}i:207;a:4:{s:1:"C";s:3:"207";s:2:"WX";s:3:"333";s:1:"N";s:5:"caron";s:1:"B";a:4:{i:0;s:2:"-2";i:1;s:3:"528";i:2;s:3:"335";i:3;s:3:"704";}}s:5:"caron";a:4:{s:1:"C";s:3:"207";s:2:"WX";s:3:"333";s:1:"N";s:5:"caron";s:1:"B";a:4:{i:0;s:2:"-2";i:1;s:3:"528";i:2;s:3:"335";i:3;s:3:"704";}}i:208;a:4:{s:1:"C";s:3:"208";s:2:"WX";s:4:"1000";s:1:"N";s:6:"emdash";s:1:"B";a:4:{i:0;s:1:"0";i:1;s:3:"181";i:2;s:4:"1000";i:3;s:3:"271";}}s:6:"emdash";a:4:{s:1:"C";s:3:"208";s:2:"WX";s:4:"1000";s:1:"N";s:6:"emdash";s:1:"B";a:4:{i:0;s:1:"0";i:1;s:3:"181";i:2;s:4:"1000";i:3;s:3:"271";}}i:225;a:4:{s:1:"C";s:3:"225";s:2:"WX";s:4:"1000";s:1:"N";s:2:"AE";s:1:"B";a:4:{i:0;s:1:"4";i:1;s:1:"0";i:2;s:3:"951";i:3;s:3:"676";}}s:2:"AE";a:4:{s:1:"C";s:3:"225";s:2:"WX";s:4:"1000";s:1:"N";s:2:"AE";s:1:"B";a:4:{i:0;s:1:"4";i:1;s:1:"0";i:2;s:3:"951";i:3;s:3:"676";}}i:227;a:4:{s:1:"C";s:3:"227";s:2:"WX";s:3:"300";s:1:"N";s:11:"ordfeminine";s:1:"B";a:4:{i:0;s:2:"-1";i:1;s:3:"397";i:2;s:3:"301";i:3;s:3:"688";}}s:11:"ordfeminine";a:4:{s:1:"C";s:3:"227";s:2:"WX";s:3:"300";s:1:"N";s:11:"ordfeminine";s:1:"B";a:4:{i:0;s:2:"-1";i:1;s:3:"397";i:2;s:3:"301";i:3;s:3:"688";}}i:232;a:4:{s:1:"C";s:3:"232";s:2:"WX";s:3:"667";s:1:"N";s:6:"Lslash";s:1:"B";a:4:{i:0;s:2:"19";i:1;s:1:"0";i:2;s:3:"638";i:3;s:3:"676";}}s:6:"Lslash";a:4:{s:1:"C";s:3:"232";s:2:"WX";s:3:"667";s:1:"N";s:6:"Lslash";s:1:"B";a:4:{i:0;s:2:"19";i:1;s:1:"0";i:2;s:3:"638";i:3;s:3:"676";}}i:233;a:4:{s:1:"C";s:3:"233";s:2:"WX";s:3:"778";s:1:"N";s:6:"Oslash";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:3:"-74";i:2;s:3:"743";i:3;s:3:"737";}}s:6:"Oslash";a:4:{s:1:"C";s:3:"233";s:2:"WX";s:3:"778";s:1:"N";s:6:"Oslash";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:3:"-74";i:2;s:3:"743";i:3;s:3:"737";}}i:234;a:4:{s:1:"C";s:3:"234";s:2:"WX";s:4:"1000";s:1:"N";s:2:"OE";s:1:"B";a:4:{i:0;s:2:"22";i:1;s:2:"-5";i:2;s:3:"981";i:3;s:3:"684";}}s:2:"OE";a:4:{s:1:"C";s:3:"234";s:2:"WX";s:4:"1000";s:1:"N";s:2:"OE";s:1:"B";a:4:{i:0;s:2:"22";i:1;s:2:"-5";i:2;s:3:"981";i:3;s:3:"684";}}i:235;a:4:{s:1:"C";s:3:"235";s:2:"WX";s:3:"330";s:1:"N";s:12:"ordmasculine";s:1:"B";a:4:{i:0;s:2:"18";i:1;s:3:"397";i:2;s:3:"312";i:3;s:3:"688";}}s:12:"ordmasculine";a:4:{s:1:"C";s:3:"235";s:2:"WX";s:3:"330";s:1:"N";s:12:"ordmasculine";s:1:"B";a:4:{i:0;s:2:"18";i:1;s:3:"397";i:2;s:3:"312";i:3;s:3:"688";}}i:241;a:4:{s:1:"C";s:3:"241";s:2:"WX";s:3:"722";s:1:"N";s:2:"ae";s:1:"B";a:4:{i:0;s:2:"33";i:1;s:3:"-14";i:2;s:3:"693";i:3;s:3:"473";}}s:2:"ae";a:4:{s:1:"C";s:3:"241";s:2:"WX";s:3:"722";s:1:"N";s:2:"ae";s:1:"B";a:4:{i:0;s:2:"33";i:1;s:3:"-14";i:2;s:3:"693";i:3;s:3:"473";}}i:245;a:4:{s:1:"C";s:3:"245";s:2:"WX";s:3:"278";s:1:"N";s:8:"dotlessi";s:1:"B";a:4:{i:0;s:2:"16";i:1;s:1:"0";i:2;s:3:"255";i:3;s:3:"461";}}s:8:"dotlessi";a:4:{s:1:"C";s:3:"245";s:2:"WX";s:3:"278";s:1:"N";s:8:"dotlessi";s:1:"B";a:4:{i:0;s:2:"16";i:1;s:1:"0";i:2;s:3:"255";i:3;s:3:"461";}}i:248;a:4:{s:1:"C";s:3:"248";s:2:"WX";s:3:"278";s:1:"N";s:6:"lslash";s:1:"B";a:4:{i:0;s:3:"-22";i:1;s:1:"0";i:2;s:3:"303";i:3;s:3:"676";}}s:6:"lslash";a:4:{s:1:"C";s:3:"248";s:2:"WX";s:3:"278";s:1:"N";s:6:"lslash";s:1:"B";a:4:{i:0;s:3:"-22";i:1;s:1:"0";i:2;s:3:"303";i:3;s:3:"676";}}i:249;a:4:{s:1:"C";s:3:"249";s:2:"WX";s:3:"500";s:1:"N";s:6:"oslash";s:1:"B";a:4:{i:0;s:2:"25";i:1;s:3:"-92";i:2;s:3:"476";i:3;s:3:"549";}}s:6:"oslash";a:4:{s:1:"C";s:3:"249";s:2:"WX";s:3:"500";s:1:"N";s:6:"oslash";s:1:"B";a:4:{i:0;s:2:"25";i:1;s:3:"-92";i:2;s:3:"476";i:3;s:3:"549";}}i:250;a:4:{s:1:"C";s:3:"250";s:2:"WX";s:3:"722";s:1:"N";s:2:"oe";s:1:"B";a:4:{i:0;s:2:"22";i:1;s:3:"-14";i:2;s:3:"696";i:3;s:3:"473";}}s:2:"oe";a:4:{s:1:"C";s:3:"250";s:2:"WX";s:3:"722";s:1:"N";s:2:"oe";s:1:"B";a:4:{i:0;s:2:"22";i:1;s:3:"-14";i:2;s:3:"696";i:3;s:3:"473";}}i:251;a:4:{s:1:"C";s:3:"251";s:2:"WX";s:3:"556";s:1:"N";s:10:"germandbls";s:1:"B";a:4:{i:0;s:2:"19";i:1;s:3:"-12";i:2;s:3:"517";i:3;s:3:"691";}}s:10:"germandbls";a:4:{s:1:"C";s:3:"251";s:2:"WX";s:3:"556";s:1:"N";s:10:"germandbls";s:1:"B";a:4:{i:0;s:2:"19";i:1;s:3:"-12";i:2;s:3:"517";i:3;s:3:"691";}}s:9:"Idieresis";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"389";s:1:"N";s:9:"Idieresis";s:1:"B";a:4:{i:0;s:2:"20";i:1;s:1:"0";i:2;s:3:"370";i:3;s:3:"877";}}s:6:"eacute";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"444";s:1:"N";s:6:"eacute";s:1:"B";a:4:{i:0;s:2:"25";i:1;s:3:"-14";i:2;s:3:"426";i:3;s:3:"713";}}s:6:"abreve";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"500";s:1:"N";s:6:"abreve";s:1:"B";a:4:{i:0;s:2:"25";i:1;s:3:"-14";i:2;s:3:"488";i:3;s:3:"691";}}s:13:"uhungarumlaut";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"556";s:1:"N";s:13:"uhungarumlaut";s:1:"B";a:4:{i:0;s:2:"16";i:1;s:3:"-14";i:2;s:3:"557";i:3;s:3:"713";}}s:6:"ecaron";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"444";s:1:"N";s:6:"ecaron";s:1:"B";a:4:{i:0;s:2:"25";i:1;s:3:"-14";i:2;s:3:"426";i:3;s:3:"704";}}s:9:"Ydieresis";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"722";s:1:"N";s:9:"Ydieresis";s:1:"B";a:4:{i:0;s:2:"15";i:1;s:1:"0";i:2;s:3:"699";i:3;s:3:"877";}}s:6:"divide";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"570";s:1:"N";s:6:"divide";s:1:"B";a:4:{i:0;s:2:"33";i:1;s:3:"-31";i:2;s:3:"537";i:3;s:3:"537";}}s:6:"Yacute";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"722";s:1:"N";s:6:"Yacute";s:1:"B";a:4:{i:0;s:2:"15";i:1;s:1:"0";i:2;s:3:"699";i:3;s:3:"923";}}s:11:"Acircumflex";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"722";s:1:"N";s:11:"Acircumflex";s:1:"B";a:4:{i:0;s:1:"9";i:1;s:1:"0";i:2;s:3:"689";i:3;s:3:"914";}}s:6:"aacute";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"500";s:1:"N";s:6:"aacute";s:1:"B";a:4:{i:0;s:2:"25";i:1;s:3:"-14";i:2;s:3:"488";i:3;s:3:"713";}}s:11:"Ucircumflex";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"722";s:1:"N";s:11:"Ucircumflex";s:1:"B";a:4:{i:0;s:2:"16";i:1;s:3:"-19";i:2;s:3:"701";i:3;s:3:"914";}}s:6:"yacute";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"500";s:1:"N";s:6:"yacute";s:1:"B";a:4:{i:0;s:2:"16";i:1;s:4:"-205";i:2;s:3:"480";i:3;s:3:"713";}}s:12:"scommaaccent";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"389";s:1:"N";s:12:"scommaaccent";s:1:"B";a:4:{i:0;s:2:"25";i:1;s:4:"-218";i:2;s:3:"361";i:3;s:3:"473";}}s:11:"ecircumflex";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"444";s:1:"N";s:11:"ecircumflex";s:1:"B";a:4:{i:0;s:2:"25";i:1;s:3:"-14";i:2;s:3:"426";i:3;s:3:"704";}}s:5:"Uring";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"722";s:1:"N";s:5:"Uring";s:1:"B";a:4:{i:0;s:2:"16";i:1;s:3:"-19";i:2;s:3:"701";i:3;s:3:"935";}}s:9:"Udieresis";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"722";s:1:"N";s:9:"Udieresis";s:1:"B";a:4:{i:0;s:2:"16";i:1;s:3:"-19";i:2;s:3:"701";i:3;s:3:"877";}}s:7:"aogonek";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"500";s:1:"N";s:7:"aogonek";s:1:"B";a:4:{i:0;s:2:"25";i:1;s:4:"-193";i:2;s:3:"504";i:3;s:3:"473";}}s:6:"Uacute";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"722";s:1:"N";s:6:"Uacute";s:1:"B";a:4:{i:0;s:2:"16";i:1;s:3:"-19";i:2;s:3:"701";i:3;s:3:"923";}}s:7:"uogonek";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"556";s:1:"N";s:7:"uogonek";s:1:"B";a:4:{i:0;s:2:"16";i:1;s:4:"-193";i:2;s:3:"539";i:3;s:3:"461";}}s:9:"Edieresis";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"667";s:1:"N";s:9:"Edieresis";s:1:"B";a:4:{i:0;s:2:"16";i:1;s:1:"0";i:2;s:3:"641";i:3;s:3:"877";}}s:6:"Dcroat";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"722";s:1:"N";s:6:"Dcroat";s:1:"B";a:4:{i:0;s:1:"6";i:1;s:1:"0";i:2;s:3:"690";i:3;s:3:"676";}}s:11:"commaaccent";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"250";s:1:"N";s:11:"commaaccent";s:1:"B";a:4:{i:0;s:2:"47";i:1;s:4:"-218";i:2;s:3:"203";i:3;s:3:"-50";}}s:9:"copyright";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"747";s:1:"N";s:9:"copyright";s:1:"B";a:4:{i:0;s:2:"26";i:1;s:3:"-19";i:2;s:3:"721";i:3;s:3:"691";}}s:7:"Emacron";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"667";s:1:"N";s:7:"Emacron";s:1:"B";a:4:{i:0;s:2:"16";i:1;s:1:"0";i:2;s:3:"641";i:3;s:3:"847";}}s:6:"ccaron";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"444";s:1:"N";s:6:"ccaron";s:1:"B";a:4:{i:0;s:2:"25";i:1;s:3:"-14";i:2;s:3:"430";i:3;s:3:"704";}}s:5:"aring";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"500";s:1:"N";s:5:"aring";s:1:"B";a:4:{i:0;s:2:"25";i:1;s:3:"-14";i:2;s:3:"488";i:3;s:3:"740";}}s:12:"Ncommaaccent";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"722";s:1:"N";s:12:"Ncommaaccent";s:1:"B";a:4:{i:0;s:2:"16";i:1;s:4:"-188";i:2;s:3:"701";i:3;s:3:"676";}}s:6:"lacute";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"278";s:1:"N";s:6:"lacute";s:1:"B";a:4:{i:0;s:2:"16";i:1;s:1:"0";i:2;s:3:"297";i:3;s:3:"923";}}s:6:"agrave";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"500";s:1:"N";s:6:"agrave";s:1:"B";a:4:{i:0;s:2:"25";i:1;s:3:"-14";i:2;s:3:"488";i:3;s:3:"713";}}s:12:"Tcommaaccent";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"667";s:1:"N";s:12:"Tcommaaccent";s:1:"B";a:4:{i:0;s:2:"31";i:1;s:4:"-218";i:2;s:3:"636";i:3;s:3:"676";}}s:6:"Cacute";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"722";s:1:"N";s:6:"Cacute";s:1:"B";a:4:{i:0;s:2:"49";i:1;s:3:"-19";i:2;s:3:"687";i:3;s:3:"923";}}s:6:"atilde";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"500";s:1:"N";s:6:"atilde";s:1:"B";a:4:{i:0;s:2:"25";i:1;s:3:"-14";i:2;s:3:"488";i:3;s:3:"674";}}s:10:"Edotaccent";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"667";s:1:"N";s:10:"Edotaccent";s:1:"B";a:4:{i:0;s:2:"16";i:1;s:1:"0";i:2;s:3:"641";i:3;s:3:"901";}}s:6:"scaron";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"389";s:1:"N";s:6:"scaron";s:1:"B";a:4:{i:0;s:2:"25";i:1;s:3:"-14";i:2;s:3:"363";i:3;s:3:"704";}}s:8:"scedilla";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"389";s:1:"N";s:8:"scedilla";s:1:"B";a:4:{i:0;s:2:"25";i:1;s:4:"-218";i:2;s:3:"361";i:3;s:3:"473";}}s:6:"iacute";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"278";s:1:"N";s:6:"iacute";s:1:"B";a:4:{i:0;s:2:"16";i:1;s:1:"0";i:2;s:3:"289";i:3;s:3:"713";}}s:7:"lozenge";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"494";s:1:"N";s:7:"lozenge";s:1:"B";a:4:{i:0;s:2:"10";i:1;s:1:"0";i:2;s:3:"484";i:3;s:3:"745";}}s:6:"Rcaron";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"722";s:1:"N";s:6:"Rcaron";s:1:"B";a:4:{i:0;s:2:"26";i:1;s:1:"0";i:2;s:3:"715";i:3;s:3:"914";}}s:12:"Gcommaaccent";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"778";s:1:"N";s:12:"Gcommaaccent";s:1:"B";a:4:{i:0;s:2:"37";i:1;s:4:"-218";i:2;s:3:"755";i:3;s:3:"691";}}s:11:"ucircumflex";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"556";s:1:"N";s:11:"ucircumflex";s:1:"B";a:4:{i:0;s:2:"16";i:1;s:3:"-14";i:2;s:3:"537";i:3;s:3:"704";}}s:11:"acircumflex";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"500";s:1:"N";s:11:"acircumflex";s:1:"B";a:4:{i:0;s:2:"25";i:1;s:3:"-14";i:2;s:3:"488";i:3;s:3:"704";}}s:7:"Amacron";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"722";s:1:"N";s:7:"Amacron";s:1:"B";a:4:{i:0;s:1:"9";i:1;s:1:"0";i:2;s:3:"689";i:3;s:3:"847";}}s:6:"rcaron";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"444";s:1:"N";s:6:"rcaron";s:1:"B";a:4:{i:0;s:2:"29";i:1;s:1:"0";i:2;s:3:"434";i:3;s:3:"704";}}s:8:"ccedilla";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"444";s:1:"N";s:8:"ccedilla";s:1:"B";a:4:{i:0;s:2:"25";i:1;s:4:"-218";i:2;s:3:"430";i:3;s:3:"473";}}s:10:"Zdotaccent";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"667";s:1:"N";s:10:"Zdotaccent";s:1:"B";a:4:{i:0;s:2:"28";i:1;s:1:"0";i:2;s:3:"634";i:3;s:3:"901";}}s:5:"Thorn";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"611";s:1:"N";s:5:"Thorn";s:1:"B";a:4:{i:0;s:2:"16";i:1;s:1:"0";i:2;s:3:"600";i:3;s:3:"676";}}s:7:"Omacron";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"778";s:1:"N";s:7:"Omacron";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:3:"-19";i:2;s:3:"743";i:3;s:3:"847";}}s:6:"Racute";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"722";s:1:"N";s:6:"Racute";s:1:"B";a:4:{i:0;s:2:"26";i:1;s:1:"0";i:2;s:3:"715";i:3;s:3:"923";}}s:6:"Sacute";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"556";s:1:"N";s:6:"Sacute";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:3:"-19";i:2;s:3:"513";i:3;s:3:"923";}}s:6:"dcaron";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"672";s:1:"N";s:6:"dcaron";s:1:"B";a:4:{i:0;s:2:"25";i:1;s:3:"-14";i:2;s:3:"681";i:3;s:3:"682";}}s:7:"Umacron";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"722";s:1:"N";s:7:"Umacron";s:1:"B";a:4:{i:0;s:2:"16";i:1;s:3:"-19";i:2;s:3:"701";i:3;s:3:"847";}}s:5:"uring";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"556";s:1:"N";s:5:"uring";s:1:"B";a:4:{i:0;s:2:"16";i:1;s:3:"-14";i:2;s:3:"537";i:3;s:3:"740";}}s:13:"threesuperior";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"300";s:1:"N";s:13:"threesuperior";s:1:"B";a:4:{i:0;s:1:"3";i:1;s:3:"268";i:2;s:3:"297";i:3;s:3:"688";}}s:6:"Ograve";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"778";s:1:"N";s:6:"Ograve";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:3:"-19";i:2;s:3:"743";i:3;s:3:"923";}}s:6:"Agrave";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"722";s:1:"N";s:6:"Agrave";s:1:"B";a:4:{i:0;s:1:"9";i:1;s:1:"0";i:2;s:3:"689";i:3;s:3:"923";}}s:6:"Abreve";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"722";s:1:"N";s:6:"Abreve";s:1:"B";a:4:{i:0;s:1:"9";i:1;s:1:"0";i:2;s:3:"689";i:3;s:3:"901";}}s:8:"multiply";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"570";s:1:"N";s:8:"multiply";s:1:"B";a:4:{i:0;s:2:"48";i:1;s:2:"16";i:2;s:3:"522";i:3;s:3:"490";}}s:6:"uacute";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"556";s:1:"N";s:6:"uacute";s:1:"B";a:4:{i:0;s:2:"16";i:1;s:3:"-14";i:2;s:3:"537";i:3;s:3:"713";}}s:6:"Tcaron";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"667";s:1:"N";s:6:"Tcaron";s:1:"B";a:4:{i:0;s:2:"31";i:1;s:1:"0";i:2;s:3:"636";i:3;s:3:"914";}}s:11:"partialdiff";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"494";s:1:"N";s:11:"partialdiff";s:1:"B";a:4:{i:0;s:2:"11";i:1;s:3:"-21";i:2;s:3:"494";i:3;s:3:"750";}}s:9:"ydieresis";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"500";s:1:"N";s:9:"ydieresis";s:1:"B";a:4:{i:0;s:2:"16";i:1;s:4:"-205";i:2;s:3:"480";i:3;s:3:"667";}}s:6:"Nacute";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"722";s:1:"N";s:6:"Nacute";s:1:"B";a:4:{i:0;s:2:"16";i:1;s:3:"-18";i:2;s:3:"701";i:3;s:3:"923";}}s:11:"icircumflex";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"278";s:1:"N";s:11:"icircumflex";s:1:"B";a:4:{i:0;s:3:"-37";i:1;s:1:"0";i:2;s:3:"300";i:3;s:3:"704";}}s:11:"Ecircumflex";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"667";s:1:"N";s:11:"Ecircumflex";s:1:"B";a:4:{i:0;s:2:"16";i:1;s:1:"0";i:2;s:3:"641";i:3;s:3:"914";}}s:9:"adieresis";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"500";s:1:"N";s:9:"adieresis";s:1:"B";a:4:{i:0;s:2:"25";i:1;s:3:"-14";i:2;s:3:"488";i:3;s:3:"667";}}s:9:"edieresis";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"444";s:1:"N";s:9:"edieresis";s:1:"B";a:4:{i:0;s:2:"25";i:1;s:3:"-14";i:2;s:3:"426";i:3;s:3:"667";}}s:6:"cacute";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"444";s:1:"N";s:6:"cacute";s:1:"B";a:4:{i:0;s:2:"25";i:1;s:3:"-14";i:2;s:3:"430";i:3;s:3:"713";}}s:6:"nacute";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"556";s:1:"N";s:6:"nacute";s:1:"B";a:4:{i:0;s:2:"21";i:1;s:1:"0";i:2;s:3:"539";i:3;s:3:"713";}}s:7:"umacron";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"556";s:1:"N";s:7:"umacron";s:1:"B";a:4:{i:0;s:2:"16";i:1;s:3:"-14";i:2;s:3:"537";i:3;s:3:"637";}}s:6:"Ncaron";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"722";s:1:"N";s:6:"Ncaron";s:1:"B";a:4:{i:0;s:2:"16";i:1;s:3:"-18";i:2;s:3:"701";i:3;s:3:"914";}}s:6:"Iacute";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"389";s:1:"N";s:6:"Iacute";s:1:"B";a:4:{i:0;s:2:"20";i:1;s:1:"0";i:2;s:3:"370";i:3;s:3:"923";}}s:9:"plusminus";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"570";s:1:"N";s:9:"plusminus";s:1:"B";a:4:{i:0;s:2:"33";i:1;s:1:"0";i:2;s:3:"537";i:3;s:3:"506";}}s:9:"brokenbar";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"220";s:1:"N";s:9:"brokenbar";s:1:"B";a:4:{i:0;s:2:"66";i:1;s:4:"-143";i:2;s:3:"154";i:3;s:3:"707";}}s:10:"registered";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"747";s:1:"N";s:10:"registered";s:1:"B";a:4:{i:0;s:2:"26";i:1;s:3:"-19";i:2;s:3:"721";i:3;s:3:"691";}}s:6:"Gbreve";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"778";s:1:"N";s:6:"Gbreve";s:1:"B";a:4:{i:0;s:2:"37";i:1;s:3:"-19";i:2;s:3:"755";i:3;s:3:"901";}}s:10:"Idotaccent";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"389";s:1:"N";s:10:"Idotaccent";s:1:"B";a:4:{i:0;s:2:"20";i:1;s:1:"0";i:2;s:3:"370";i:3;s:3:"901";}}s:9:"summation";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:9:"summation";s:1:"B";a:4:{i:0;s:2:"14";i:1;s:3:"-10";i:2;s:3:"585";i:3;s:3:"706";}}s:6:"Egrave";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"667";s:1:"N";s:6:"Egrave";s:1:"B";a:4:{i:0;s:2:"16";i:1;s:1:"0";i:2;s:3:"641";i:3;s:3:"923";}}s:6:"racute";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"444";s:1:"N";s:6:"racute";s:1:"B";a:4:{i:0;s:2:"29";i:1;s:1:"0";i:2;s:3:"434";i:3;s:3:"713";}}s:7:"omacron";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"500";s:1:"N";s:7:"omacron";s:1:"B";a:4:{i:0;s:2:"25";i:1;s:3:"-14";i:2;s:3:"476";i:3;s:3:"637";}}s:6:"Zacute";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"667";s:1:"N";s:6:"Zacute";s:1:"B";a:4:{i:0;s:2:"28";i:1;s:1:"0";i:2;s:3:"634";i:3;s:3:"923";}}s:6:"Zcaron";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"667";s:1:"N";s:6:"Zcaron";s:1:"B";a:4:{i:0;s:2:"28";i:1;s:1:"0";i:2;s:3:"634";i:3;s:3:"914";}}s:12:"greaterequal";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"549";s:1:"N";s:12:"greaterequal";s:1:"B";a:4:{i:0;s:2:"26";i:1;s:1:"0";i:2;s:3:"523";i:3;s:3:"704";}}s:3:"Eth";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"722";s:1:"N";s:3:"Eth";s:1:"B";a:4:{i:0;s:1:"6";i:1;s:1:"0";i:2;s:3:"690";i:3;s:3:"676";}}s:8:"Ccedilla";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"722";s:1:"N";s:8:"Ccedilla";s:1:"B";a:4:{i:0;s:2:"49";i:1;s:4:"-218";i:2;s:3:"687";i:3;s:3:"691";}}s:12:"lcommaaccent";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"278";s:1:"N";s:12:"lcommaaccent";s:1:"B";a:4:{i:0;s:2:"16";i:1;s:4:"-218";i:2;s:3:"255";i:3;s:3:"676";}}s:6:"tcaron";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"416";s:1:"N";s:6:"tcaron";s:1:"B";a:4:{i:0;s:2:"20";i:1;s:3:"-12";i:2;s:3:"425";i:3;s:3:"815";}}s:7:"eogonek";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"444";s:1:"N";s:7:"eogonek";s:1:"B";a:4:{i:0;s:2:"25";i:1;s:4:"-193";i:2;s:3:"426";i:3;s:3:"473";}}s:7:"Uogonek";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"722";s:1:"N";s:7:"Uogonek";s:1:"B";a:4:{i:0;s:2:"16";i:1;s:4:"-193";i:2;s:3:"701";i:3;s:3:"676";}}s:6:"Aacute";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"722";s:1:"N";s:6:"Aacute";s:1:"B";a:4:{i:0;s:1:"9";i:1;s:1:"0";i:2;s:3:"689";i:3;s:3:"923";}}s:9:"Adieresis";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"722";s:1:"N";s:9:"Adieresis";s:1:"B";a:4:{i:0;s:1:"9";i:1;s:1:"0";i:2;s:3:"689";i:3;s:3:"877";}}s:6:"egrave";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"444";s:1:"N";s:6:"egrave";s:1:"B";a:4:{i:0;s:2:"25";i:1;s:3:"-14";i:2;s:3:"426";i:3;s:3:"713";}}s:6:"zacute";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"444";s:1:"N";s:6:"zacute";s:1:"B";a:4:{i:0;s:2:"21";i:1;s:1:"0";i:2;s:3:"420";i:3;s:3:"713";}}s:7:"iogonek";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"278";s:1:"N";s:7:"iogonek";s:1:"B";a:4:{i:0;s:2:"16";i:1;s:4:"-193";i:2;s:3:"274";i:3;s:3:"691";}}s:6:"Oacute";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"778";s:1:"N";s:6:"Oacute";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:3:"-19";i:2;s:3:"743";i:3;s:3:"923";}}s:6:"oacute";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"500";s:1:"N";s:6:"oacute";s:1:"B";a:4:{i:0;s:2:"25";i:1;s:3:"-14";i:2;s:3:"476";i:3;s:3:"713";}}s:7:"amacron";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"500";s:1:"N";s:7:"amacron";s:1:"B";a:4:{i:0;s:2:"25";i:1;s:3:"-14";i:2;s:3:"488";i:3;s:3:"637";}}s:6:"sacute";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"389";s:1:"N";s:6:"sacute";s:1:"B";a:4:{i:0;s:2:"25";i:1;s:3:"-14";i:2;s:3:"361";i:3;s:3:"713";}}s:9:"idieresis";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"278";s:1:"N";s:9:"idieresis";s:1:"B";a:4:{i:0;s:3:"-37";i:1;s:1:"0";i:2;s:3:"300";i:3;s:3:"667";}}s:11:"Ocircumflex";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"778";s:1:"N";s:11:"Ocircumflex";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:3:"-19";i:2;s:3:"743";i:3;s:3:"914";}}s:6:"Ugrave";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"722";s:1:"N";s:6:"Ugrave";s:1:"B";a:4:{i:0;s:2:"16";i:1;s:3:"-19";i:2;s:3:"701";i:3;s:3:"923";}}s:5:"Delta";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"612";s:1:"N";s:5:"Delta";s:1:"B";a:4:{i:0;s:1:"6";i:1;s:1:"0";i:2;s:3:"608";i:3;s:3:"688";}}s:5:"thorn";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"556";s:1:"N";s:5:"thorn";s:1:"B";a:4:{i:0;s:2:"19";i:1;s:4:"-205";i:2;s:3:"524";i:3;s:3:"676";}}s:11:"twosuperior";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"300";s:1:"N";s:11:"twosuperior";s:1:"B";a:4:{i:0;s:1:"0";i:1;s:3:"275";i:2;s:3:"300";i:3;s:3:"688";}}s:9:"Odieresis";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"778";s:1:"N";s:9:"Odieresis";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:3:"-19";i:2;s:3:"743";i:3;s:3:"877";}}s:2:"mu";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"556";s:1:"N";s:2:"mu";s:1:"B";a:4:{i:0;s:2:"33";i:1;s:4:"-206";i:2;s:3:"536";i:3;s:3:"461";}}s:6:"igrave";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"278";s:1:"N";s:6:"igrave";s:1:"B";a:4:{i:0;s:3:"-27";i:1;s:1:"0";i:2;s:3:"255";i:3;s:3:"713";}}s:13:"ohungarumlaut";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"500";s:1:"N";s:13:"ohungarumlaut";s:1:"B";a:4:{i:0;s:2:"25";i:1;s:3:"-14";i:2;s:3:"529";i:3;s:3:"713";}}s:7:"Eogonek";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"667";s:1:"N";s:7:"Eogonek";s:1:"B";a:4:{i:0;s:2:"16";i:1;s:4:"-193";i:2;s:3:"644";i:3;s:3:"676";}}s:6:"dcroat";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"556";s:1:"N";s:6:"dcroat";s:1:"B";a:4:{i:0;s:2:"25";i:1;s:3:"-14";i:2;s:3:"534";i:3;s:3:"676";}}s:13:"threequarters";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"750";s:1:"N";s:13:"threequarters";s:1:"B";a:4:{i:0;s:2:"23";i:1;s:3:"-12";i:2;s:3:"733";i:3;s:3:"688";}}s:8:"Scedilla";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"556";s:1:"N";s:8:"Scedilla";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:4:"-218";i:2;s:3:"513";i:3;s:3:"692";}}s:6:"lcaron";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"394";s:1:"N";s:6:"lcaron";s:1:"B";a:4:{i:0;s:2:"16";i:1;s:1:"0";i:2;s:3:"412";i:3;s:3:"682";}}s:12:"Kcommaaccent";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"778";s:1:"N";s:12:"Kcommaaccent";s:1:"B";a:4:{i:0;s:2:"30";i:1;s:4:"-218";i:2;s:3:"769";i:3;s:3:"676";}}s:6:"Lacute";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"667";s:1:"N";s:6:"Lacute";s:1:"B";a:4:{i:0;s:2:"19";i:1;s:1:"0";i:2;s:3:"638";i:3;s:3:"923";}}s:9:"trademark";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:4:"1000";s:1:"N";s:9:"trademark";s:1:"B";a:4:{i:0;s:2:"24";i:1;s:3:"271";i:2;s:3:"977";i:3;s:3:"676";}}s:10:"edotaccent";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"444";s:1:"N";s:10:"edotaccent";s:1:"B";a:4:{i:0;s:2:"25";i:1;s:3:"-14";i:2;s:3:"426";i:3;s:3:"691";}}s:6:"Igrave";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"389";s:1:"N";s:6:"Igrave";s:1:"B";a:4:{i:0;s:2:"20";i:1;s:1:"0";i:2;s:3:"370";i:3;s:3:"923";}}s:7:"Imacron";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"389";s:1:"N";s:7:"Imacron";s:1:"B";a:4:{i:0;s:2:"20";i:1;s:1:"0";i:2;s:3:"370";i:3;s:3:"847";}}s:6:"Lcaron";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"667";s:1:"N";s:6:"Lcaron";s:1:"B";a:4:{i:0;s:2:"19";i:1;s:1:"0";i:2;s:3:"652";i:3;s:3:"682";}}s:7:"onehalf";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"750";s:1:"N";s:7:"onehalf";s:1:"B";a:4:{i:0;s:2:"-7";i:1;s:3:"-12";i:2;s:3:"775";i:3;s:3:"688";}}s:9:"lessequal";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"549";s:1:"N";s:9:"lessequal";s:1:"B";a:4:{i:0;s:2:"29";i:1;s:1:"0";i:2;s:3:"526";i:3;s:3:"704";}}s:11:"ocircumflex";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"500";s:1:"N";s:11:"ocircumflex";s:1:"B";a:4:{i:0;s:2:"25";i:1;s:3:"-14";i:2;s:3:"476";i:3;s:3:"704";}}s:6:"ntilde";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"556";s:1:"N";s:6:"ntilde";s:1:"B";a:4:{i:0;s:2:"21";i:1;s:1:"0";i:2;s:3:"539";i:3;s:3:"674";}}s:13:"Uhungarumlaut";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"722";s:1:"N";s:13:"Uhungarumlaut";s:1:"B";a:4:{i:0;s:2:"16";i:1;s:3:"-19";i:2;s:3:"701";i:3;s:3:"923";}}s:6:"Eacute";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"667";s:1:"N";s:6:"Eacute";s:1:"B";a:4:{i:0;s:2:"16";i:1;s:1:"0";i:2;s:3:"641";i:3;s:3:"923";}}s:7:"emacron";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"444";s:1:"N";s:7:"emacron";s:1:"B";a:4:{i:0;s:2:"25";i:1;s:3:"-14";i:2;s:3:"426";i:3;s:3:"637";}}s:6:"gbreve";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"500";s:1:"N";s:6:"gbreve";s:1:"B";a:4:{i:0;s:2:"28";i:1;s:4:"-206";i:2;s:3:"483";i:3;s:3:"691";}}s:10:"onequarter";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"750";s:1:"N";s:10:"onequarter";s:1:"B";a:4:{i:0;s:2:"28";i:1;s:3:"-12";i:2;s:3:"743";i:3;s:3:"688";}}s:6:"Scaron";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"556";s:1:"N";s:6:"Scaron";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:3:"-19";i:2;s:3:"513";i:3;s:3:"914";}}s:12:"Scommaaccent";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"556";s:1:"N";s:12:"Scommaaccent";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:4:"-218";i:2;s:3:"513";i:3;s:3:"692";}}s:13:"Ohungarumlaut";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"778";s:1:"N";s:13:"Ohungarumlaut";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:3:"-19";i:2;s:3:"743";i:3;s:3:"923";}}s:6:"degree";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"400";s:1:"N";s:6:"degree";s:1:"B";a:4:{i:0;s:2:"57";i:1;s:3:"402";i:2;s:3:"343";i:3;s:3:"688";}}s:6:"ograve";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"500";s:1:"N";s:6:"ograve";s:1:"B";a:4:{i:0;s:2:"25";i:1;s:3:"-14";i:2;s:3:"476";i:3;s:3:"713";}}s:6:"Ccaron";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"722";s:1:"N";s:6:"Ccaron";s:1:"B";a:4:{i:0;s:2:"49";i:1;s:3:"-19";i:2;s:3:"687";i:3;s:3:"914";}}s:6:"ugrave";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"556";s:1:"N";s:6:"ugrave";s:1:"B";a:4:{i:0;s:2:"16";i:1;s:3:"-14";i:2;s:3:"537";i:3;s:3:"713";}}s:7:"radical";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"549";s:1:"N";s:7:"radical";s:1:"B";a:4:{i:0;s:2:"10";i:1;s:3:"-46";i:2;s:3:"512";i:3;s:3:"850";}}s:6:"Dcaron";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"722";s:1:"N";s:6:"Dcaron";s:1:"B";a:4:{i:0;s:2:"14";i:1;s:1:"0";i:2;s:3:"690";i:3;s:3:"914";}}s:12:"rcommaaccent";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"444";s:1:"N";s:12:"rcommaaccent";s:1:"B";a:4:{i:0;s:2:"29";i:1;s:4:"-218";i:2;s:3:"434";i:3;s:3:"473";}}s:6:"Ntilde";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"722";s:1:"N";s:6:"Ntilde";s:1:"B";a:4:{i:0;s:2:"16";i:1;s:3:"-18";i:2;s:3:"701";i:3;s:3:"884";}}s:6:"otilde";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"500";s:1:"N";s:6:"otilde";s:1:"B";a:4:{i:0;s:2:"25";i:1;s:3:"-14";i:2;s:3:"476";i:3;s:3:"674";}}s:12:"Rcommaaccent";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"722";s:1:"N";s:12:"Rcommaaccent";s:1:"B";a:4:{i:0;s:2:"26";i:1;s:4:"-218";i:2;s:3:"715";i:3;s:3:"676";}}s:12:"Lcommaaccent";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"667";s:1:"N";s:12:"Lcommaaccent";s:1:"B";a:4:{i:0;s:2:"19";i:1;s:4:"-218";i:2;s:3:"638";i:3;s:3:"676";}}s:6:"Atilde";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"722";s:1:"N";s:6:"Atilde";s:1:"B";a:4:{i:0;s:1:"9";i:1;s:1:"0";i:2;s:3:"689";i:3;s:3:"884";}}s:7:"Aogonek";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"722";s:1:"N";s:7:"Aogonek";s:1:"B";a:4:{i:0;s:1:"9";i:1;s:4:"-193";i:2;s:3:"699";i:3;s:3:"690";}}s:5:"Aring";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"722";s:1:"N";s:5:"Aring";s:1:"B";a:4:{i:0;s:1:"9";i:1;s:1:"0";i:2;s:3:"689";i:3;s:3:"935";}}s:6:"Otilde";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"778";s:1:"N";s:6:"Otilde";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:3:"-19";i:2;s:3:"743";i:3;s:3:"884";}}s:10:"zdotaccent";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"444";s:1:"N";s:10:"zdotaccent";s:1:"B";a:4:{i:0;s:2:"21";i:1;s:1:"0";i:2;s:3:"420";i:3;s:3:"691";}}s:6:"Ecaron";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"667";s:1:"N";s:6:"Ecaron";s:1:"B";a:4:{i:0;s:2:"16";i:1;s:1:"0";i:2;s:3:"641";i:3;s:3:"914";}}s:7:"Iogonek";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"389";s:1:"N";s:7:"Iogonek";s:1:"B";a:4:{i:0;s:2:"20";i:1;s:4:"-193";i:2;s:3:"370";i:3;s:3:"676";}}s:12:"kcommaaccent";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"556";s:1:"N";s:12:"kcommaaccent";s:1:"B";a:4:{i:0;s:2:"22";i:1;s:4:"-218";i:2;s:3:"543";i:3;s:3:"676";}}s:5:"minus";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"570";s:1:"N";s:5:"minus";s:1:"B";a:4:{i:0;s:2:"33";i:1;s:3:"209";i:2;s:3:"537";i:3;s:3:"297";}}s:11:"Icircumflex";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"389";s:1:"N";s:11:"Icircumflex";s:1:"B";a:4:{i:0;s:2:"20";i:1;s:1:"0";i:2;s:3:"370";i:3;s:3:"914";}}s:6:"ncaron";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"556";s:1:"N";s:6:"ncaron";s:1:"B";a:4:{i:0;s:2:"21";i:1;s:1:"0";i:2;s:3:"539";i:3;s:3:"704";}}s:12:"tcommaaccent";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"333";s:1:"N";s:12:"tcommaaccent";s:1:"B";a:4:{i:0;s:2:"20";i:1;s:4:"-218";i:2;s:3:"332";i:3;s:3:"630";}}s:10:"logicalnot";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"570";s:1:"N";s:10:"logicalnot";s:1:"B";a:4:{i:0;s:2:"33";i:1;s:3:"108";i:2;s:3:"537";i:3;s:3:"399";}}s:9:"odieresis";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"500";s:1:"N";s:9:"odieresis";s:1:"B";a:4:{i:0;s:2:"25";i:1;s:3:"-14";i:2;s:3:"476";i:3;s:3:"667";}}s:9:"udieresis";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"556";s:1:"N";s:9:"udieresis";s:1:"B";a:4:{i:0;s:2:"16";i:1;s:3:"-14";i:2;s:3:"537";i:3;s:3:"667";}}s:8:"notequal";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"549";s:1:"N";s:8:"notequal";s:1:"B";a:4:{i:0;s:2:"15";i:1;s:3:"-49";i:2;s:3:"540";i:3;s:3:"570";}}s:12:"gcommaaccent";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"500";s:1:"N";s:12:"gcommaaccent";s:1:"B";a:4:{i:0;s:2:"28";i:1;s:4:"-206";i:2;s:3:"483";i:3;s:3:"829";}}s:3:"eth";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"500";s:1:"N";s:3:"eth";s:1:"B";a:4:{i:0;s:2:"25";i:1;s:3:"-14";i:2;s:3:"476";i:3;s:3:"691";}}s:6:"zcaron";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"444";s:1:"N";s:6:"zcaron";s:1:"B";a:4:{i:0;s:2:"21";i:1;s:1:"0";i:2;s:3:"420";i:3;s:3:"704";}}s:12:"ncommaaccent";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"556";s:1:"N";s:12:"ncommaaccent";s:1:"B";a:4:{i:0;s:2:"21";i:1;s:4:"-218";i:2;s:3:"539";i:3;s:3:"473";}}s:11:"onesuperior";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"300";s:1:"N";s:11:"onesuperior";s:1:"B";a:4:{i:0;s:2:"28";i:1;s:3:"275";i:2;s:3:"273";i:3;s:3:"688";}}s:7:"imacron";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"278";s:1:"N";s:7:"imacron";s:1:"B";a:4:{i:0;s:2:"-8";i:1;s:1:"0";i:2;s:3:"272";i:3;s:3:"637";}}s:4:"Euro";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"500";s:1:"N";s:4:"Euro";s:1:"B";a:4:{i:0;s:1:"0";i:1;s:1:"0";i:2;s:1:"0";i:3;s:1:"0";}}}s:3:"KPX";a:124:{s:1:"A";a:50:{s:1:"C";s:3:"-55";s:6:"Cacute";s:3:"-55";s:6:"Ccaron";s:3:"-55";s:8:"Ccedilla";s:3:"-55";s:1:"G";s:3:"-55";s:6:"Gbreve";s:3:"-55";s:12:"Gcommaaccent";s:3:"-55";s:1:"O";s:3:"-45";s:6:"Oacute";s:3:"-45";s:11:"Ocircumflex";s:3:"-45";s:9:"Odieresis";s:3:"-45";s:6:"Ograve";s:3:"-45";s:13:"Ohungarumlaut";s:3:"-45";s:7:"Omacron";s:3:"-45";s:6:"Oslash";s:3:"-45";s:6:"Otilde";s:3:"-45";s:1:"Q";s:3:"-45";s:1:"T";s:3:"-95";s:6:"Tcaron";s:3:"-95";s:12:"Tcommaaccent";s:3:"-95";s:1:"U";s:3:"-50";s:6:"Uacute";s:3:"-50";s:11:"Ucircumflex";s:3:"-50";s:9:"Udieresis";s:3:"-50";s:6:"Ugrave";s:3:"-50";s:13:"Uhungarumlaut";s:3:"-50";s:7:"Umacron";s:3:"-50";s:7:"Uogonek";s:3:"-50";s:5:"Uring";s:3:"-50";s:1:"V";s:4:"-145";s:1:"W";s:4:"-130";s:1:"Y";s:4:"-100";s:6:"Yacute";s:4:"-100";s:9:"Ydieresis";s:4:"-100";s:1:"p";s:3:"-25";s:10:"quoteright";s:3:"-74";s:1:"u";s:3:"-50";s:6:"uacute";s:3:"-50";s:11:"ucircumflex";s:3:"-50";s:9:"udieresis";s:3:"-50";s:6:"ugrave";s:3:"-50";s:13:"uhungarumlaut";s:3:"-50";s:7:"umacron";s:3:"-50";s:7:"uogonek";s:3:"-50";s:5:"uring";s:3:"-50";s:1:"v";s:4:"-100";s:1:"w";s:3:"-90";s:1:"y";s:3:"-74";s:6:"yacute";s:3:"-74";s:9:"ydieresis";s:3:"-74";}s:6:"Aacute";a:50:{s:1:"C";s:3:"-55";s:6:"Cacute";s:3:"-55";s:6:"Ccaron";s:3:"-55";s:8:"Ccedilla";s:3:"-55";s:1:"G";s:3:"-55";s:6:"Gbreve";s:3:"-55";s:12:"Gcommaaccent";s:3:"-55";s:1:"O";s:3:"-45";s:6:"Oacute";s:3:"-45";s:11:"Ocircumflex";s:3:"-45";s:9:"Odieresis";s:3:"-45";s:6:"Ograve";s:3:"-45";s:13:"Ohungarumlaut";s:3:"-45";s:7:"Omacron";s:3:"-45";s:6:"Oslash";s:3:"-45";s:6:"Otilde";s:3:"-45";s:1:"Q";s:3:"-45";s:1:"T";s:3:"-95";s:6:"Tcaron";s:3:"-95";s:12:"Tcommaaccent";s:3:"-95";s:1:"U";s:3:"-50";s:6:"Uacute";s:3:"-50";s:11:"Ucircumflex";s:3:"-50";s:9:"Udieresis";s:3:"-50";s:6:"Ugrave";s:3:"-50";s:13:"Uhungarumlaut";s:3:"-50";s:7:"Umacron";s:3:"-50";s:7:"Uogonek";s:3:"-50";s:5:"Uring";s:3:"-50";s:1:"V";s:4:"-145";s:1:"W";s:4:"-130";s:1:"Y";s:4:"-100";s:6:"Yacute";s:4:"-100";s:9:"Ydieresis";s:4:"-100";s:1:"p";s:3:"-25";s:10:"quoteright";s:3:"-74";s:1:"u";s:3:"-50";s:6:"uacute";s:3:"-50";s:11:"ucircumflex";s:3:"-50";s:9:"udieresis";s:3:"-50";s:6:"ugrave";s:3:"-50";s:13:"uhungarumlaut";s:3:"-50";s:7:"umacron";s:3:"-50";s:7:"uogonek";s:3:"-50";s:5:"uring";s:3:"-50";s:1:"v";s:4:"-100";s:1:"w";s:3:"-90";s:1:"y";s:3:"-74";s:6:"yacute";s:3:"-74";s:9:"ydieresis";s:3:"-74";}s:6:"Abreve";a:50:{s:1:"C";s:3:"-55";s:6:"Cacute";s:3:"-55";s:6:"Ccaron";s:3:"-55";s:8:"Ccedilla";s:3:"-55";s:1:"G";s:3:"-55";s:6:"Gbreve";s:3:"-55";s:12:"Gcommaaccent";s:3:"-55";s:1:"O";s:3:"-45";s:6:"Oacute";s:3:"-45";s:11:"Ocircumflex";s:3:"-45";s:9:"Odieresis";s:3:"-45";s:6:"Ograve";s:3:"-45";s:13:"Ohungarumlaut";s:3:"-45";s:7:"Omacron";s:3:"-45";s:6:"Oslash";s:3:"-45";s:6:"Otilde";s:3:"-45";s:1:"Q";s:3:"-45";s:1:"T";s:3:"-95";s:6:"Tcaron";s:3:"-95";s:12:"Tcommaaccent";s:3:"-95";s:1:"U";s:3:"-50";s:6:"Uacute";s:3:"-50";s:11:"Ucircumflex";s:3:"-50";s:9:"Udieresis";s:3:"-50";s:6:"Ugrave";s:3:"-50";s:13:"Uhungarumlaut";s:3:"-50";s:7:"Umacron";s:3:"-50";s:7:"Uogonek";s:3:"-50";s:5:"Uring";s:3:"-50";s:1:"V";s:4:"-145";s:1:"W";s:4:"-130";s:1:"Y";s:4:"-100";s:6:"Yacute";s:4:"-100";s:9:"Ydieresis";s:4:"-100";s:1:"p";s:3:"-25";s:10:"quoteright";s:3:"-74";s:1:"u";s:3:"-50";s:6:"uacute";s:3:"-50";s:11:"ucircumflex";s:3:"-50";s:9:"udieresis";s:3:"-50";s:6:"ugrave";s:3:"-50";s:13:"uhungarumlaut";s:3:"-50";s:7:"umacron";s:3:"-50";s:7:"uogonek";s:3:"-50";s:5:"uring";s:3:"-50";s:1:"v";s:4:"-100";s:1:"w";s:3:"-90";s:1:"y";s:3:"-74";s:6:"yacute";s:3:"-74";s:9:"ydieresis";s:3:"-74";}s:11:"Acircumflex";a:50:{s:1:"C";s:3:"-55";s:6:"Cacute";s:3:"-55";s:6:"Ccaron";s:3:"-55";s:8:"Ccedilla";s:3:"-55";s:1:"G";s:3:"-55";s:6:"Gbreve";s:3:"-55";s:12:"Gcommaaccent";s:3:"-55";s:1:"O";s:3:"-45";s:6:"Oacute";s:3:"-45";s:11:"Ocircumflex";s:3:"-45";s:9:"Odieresis";s:3:"-45";s:6:"Ograve";s:3:"-45";s:13:"Ohungarumlaut";s:3:"-45";s:7:"Omacron";s:3:"-45";s:6:"Oslash";s:3:"-45";s:6:"Otilde";s:3:"-45";s:1:"Q";s:3:"-45";s:1:"T";s:3:"-95";s:6:"Tcaron";s:3:"-95";s:12:"Tcommaaccent";s:3:"-95";s:1:"U";s:3:"-50";s:6:"Uacute";s:3:"-50";s:11:"Ucircumflex";s:3:"-50";s:9:"Udieresis";s:3:"-50";s:6:"Ugrave";s:3:"-50";s:13:"Uhungarumlaut";s:3:"-50";s:7:"Umacron";s:3:"-50";s:7:"Uogonek";s:3:"-50";s:5:"Uring";s:3:"-50";s:1:"V";s:4:"-145";s:1:"W";s:4:"-130";s:1:"Y";s:4:"-100";s:6:"Yacute";s:4:"-100";s:9:"Ydieresis";s:4:"-100";s:1:"p";s:3:"-25";s:10:"quoteright";s:3:"-74";s:1:"u";s:3:"-50";s:6:"uacute";s:3:"-50";s:11:"ucircumflex";s:3:"-50";s:9:"udieresis";s:3:"-50";s:6:"ugrave";s:3:"-50";s:13:"uhungarumlaut";s:3:"-50";s:7:"umacron";s:3:"-50";s:7:"uogonek";s:3:"-50";s:5:"uring";s:3:"-50";s:1:"v";s:4:"-100";s:1:"w";s:3:"-90";s:1:"y";s:3:"-74";s:6:"yacute";s:3:"-74";s:9:"ydieresis";s:3:"-74";}s:9:"Adieresis";a:50:{s:1:"C";s:3:"-55";s:6:"Cacute";s:3:"-55";s:6:"Ccaron";s:3:"-55";s:8:"Ccedilla";s:3:"-55";s:1:"G";s:3:"-55";s:6:"Gbreve";s:3:"-55";s:12:"Gcommaaccent";s:3:"-55";s:1:"O";s:3:"-45";s:6:"Oacute";s:3:"-45";s:11:"Ocircumflex";s:3:"-45";s:9:"Odieresis";s:3:"-45";s:6:"Ograve";s:3:"-45";s:13:"Ohungarumlaut";s:3:"-45";s:7:"Omacron";s:3:"-45";s:6:"Oslash";s:3:"-45";s:6:"Otilde";s:3:"-45";s:1:"Q";s:3:"-45";s:1:"T";s:3:"-95";s:6:"Tcaron";s:3:"-95";s:12:"Tcommaaccent";s:3:"-95";s:1:"U";s:3:"-50";s:6:"Uacute";s:3:"-50";s:11:"Ucircumflex";s:3:"-50";s:9:"Udieresis";s:3:"-50";s:6:"Ugrave";s:3:"-50";s:13:"Uhungarumlaut";s:3:"-50";s:7:"Umacron";s:3:"-50";s:7:"Uogonek";s:3:"-50";s:5:"Uring";s:3:"-50";s:1:"V";s:4:"-145";s:1:"W";s:4:"-130";s:1:"Y";s:4:"-100";s:6:"Yacute";s:4:"-100";s:9:"Ydieresis";s:4:"-100";s:1:"p";s:3:"-25";s:10:"quoteright";s:3:"-74";s:1:"u";s:3:"-50";s:6:"uacute";s:3:"-50";s:11:"ucircumflex";s:3:"-50";s:9:"udieresis";s:3:"-50";s:6:"ugrave";s:3:"-50";s:13:"uhungarumlaut";s:3:"-50";s:7:"umacron";s:3:"-50";s:7:"uogonek";s:3:"-50";s:5:"uring";s:3:"-50";s:1:"v";s:4:"-100";s:1:"w";s:3:"-90";s:1:"y";s:3:"-74";s:6:"yacute";s:3:"-74";s:9:"ydieresis";s:3:"-74";}s:6:"Agrave";a:50:{s:1:"C";s:3:"-55";s:6:"Cacute";s:3:"-55";s:6:"Ccaron";s:3:"-55";s:8:"Ccedilla";s:3:"-55";s:1:"G";s:3:"-55";s:6:"Gbreve";s:3:"-55";s:12:"Gcommaaccent";s:3:"-55";s:1:"O";s:3:"-45";s:6:"Oacute";s:3:"-45";s:11:"Ocircumflex";s:3:"-45";s:9:"Odieresis";s:3:"-45";s:6:"Ograve";s:3:"-45";s:13:"Ohungarumlaut";s:3:"-45";s:7:"Omacron";s:3:"-45";s:6:"Oslash";s:3:"-45";s:6:"Otilde";s:3:"-45";s:1:"Q";s:3:"-45";s:1:"T";s:3:"-95";s:6:"Tcaron";s:3:"-95";s:12:"Tcommaaccent";s:3:"-95";s:1:"U";s:3:"-50";s:6:"Uacute";s:3:"-50";s:11:"Ucircumflex";s:3:"-50";s:9:"Udieresis";s:3:"-50";s:6:"Ugrave";s:3:"-50";s:13:"Uhungarumlaut";s:3:"-50";s:7:"Umacron";s:3:"-50";s:7:"Uogonek";s:3:"-50";s:5:"Uring";s:3:"-50";s:1:"V";s:4:"-145";s:1:"W";s:4:"-130";s:1:"Y";s:4:"-100";s:6:"Yacute";s:4:"-100";s:9:"Ydieresis";s:4:"-100";s:1:"p";s:3:"-25";s:10:"quoteright";s:3:"-74";s:1:"u";s:3:"-50";s:6:"uacute";s:3:"-50";s:11:"ucircumflex";s:3:"-50";s:9:"udieresis";s:3:"-50";s:6:"ugrave";s:3:"-50";s:13:"uhungarumlaut";s:3:"-50";s:7:"umacron";s:3:"-50";s:7:"uogonek";s:3:"-50";s:5:"uring";s:3:"-50";s:1:"v";s:4:"-100";s:1:"w";s:3:"-90";s:1:"y";s:3:"-74";s:6:"yacute";s:3:"-74";s:9:"ydieresis";s:3:"-74";}s:7:"Amacron";a:50:{s:1:"C";s:3:"-55";s:6:"Cacute";s:3:"-55";s:6:"Ccaron";s:3:"-55";s:8:"Ccedilla";s:3:"-55";s:1:"G";s:3:"-55";s:6:"Gbreve";s:3:"-55";s:12:"Gcommaaccent";s:3:"-55";s:1:"O";s:3:"-45";s:6:"Oacute";s:3:"-45";s:11:"Ocircumflex";s:3:"-45";s:9:"Odieresis";s:3:"-45";s:6:"Ograve";s:3:"-45";s:13:"Ohungarumlaut";s:3:"-45";s:7:"Omacron";s:3:"-45";s:6:"Oslash";s:3:"-45";s:6:"Otilde";s:3:"-45";s:1:"Q";s:3:"-45";s:1:"T";s:3:"-95";s:6:"Tcaron";s:3:"-95";s:12:"Tcommaaccent";s:3:"-95";s:1:"U";s:3:"-50";s:6:"Uacute";s:3:"-50";s:11:"Ucircumflex";s:3:"-50";s:9:"Udieresis";s:3:"-50";s:6:"Ugrave";s:3:"-50";s:13:"Uhungarumlaut";s:3:"-50";s:7:"Umacron";s:3:"-50";s:7:"Uogonek";s:3:"-50";s:5:"Uring";s:3:"-50";s:1:"V";s:4:"-145";s:1:"W";s:4:"-130";s:1:"Y";s:4:"-100";s:6:"Yacute";s:4:"-100";s:9:"Ydieresis";s:4:"-100";s:1:"p";s:3:"-25";s:10:"quoteright";s:3:"-74";s:1:"u";s:3:"-50";s:6:"uacute";s:3:"-50";s:11:"ucircumflex";s:3:"-50";s:9:"udieresis";s:3:"-50";s:6:"ugrave";s:3:"-50";s:13:"uhungarumlaut";s:3:"-50";s:7:"umacron";s:3:"-50";s:7:"uogonek";s:3:"-50";s:5:"uring";s:3:"-50";s:1:"v";s:4:"-100";s:1:"w";s:3:"-90";s:1:"y";s:3:"-74";s:6:"yacute";s:3:"-74";s:9:"ydieresis";s:3:"-74";}s:7:"Aogonek";a:50:{s:1:"C";s:3:"-55";s:6:"Cacute";s:3:"-55";s:6:"Ccaron";s:3:"-55";s:8:"Ccedilla";s:3:"-55";s:1:"G";s:3:"-55";s:6:"Gbreve";s:3:"-55";s:12:"Gcommaaccent";s:3:"-55";s:1:"O";s:3:"-45";s:6:"Oacute";s:3:"-45";s:11:"Ocircumflex";s:3:"-45";s:9:"Odieresis";s:3:"-45";s:6:"Ograve";s:3:"-45";s:13:"Ohungarumlaut";s:3:"-45";s:7:"Omacron";s:3:"-45";s:6:"Oslash";s:3:"-45";s:6:"Otilde";s:3:"-45";s:1:"Q";s:3:"-45";s:1:"T";s:3:"-95";s:6:"Tcaron";s:3:"-95";s:12:"Tcommaaccent";s:3:"-95";s:1:"U";s:3:"-50";s:6:"Uacute";s:3:"-50";s:11:"Ucircumflex";s:3:"-50";s:9:"Udieresis";s:3:"-50";s:6:"Ugrave";s:3:"-50";s:13:"Uhungarumlaut";s:3:"-50";s:7:"Umacron";s:3:"-50";s:7:"Uogonek";s:3:"-50";s:5:"Uring";s:3:"-50";s:1:"V";s:4:"-145";s:1:"W";s:4:"-130";s:1:"Y";s:4:"-100";s:6:"Yacute";s:4:"-100";s:9:"Ydieresis";s:4:"-100";s:1:"p";s:3:"-25";s:10:"quoteright";s:3:"-74";s:1:"u";s:3:"-50";s:6:"uacute";s:3:"-50";s:11:"ucircumflex";s:3:"-50";s:9:"udieresis";s:3:"-50";s:6:"ugrave";s:3:"-50";s:13:"uhungarumlaut";s:3:"-50";s:7:"umacron";s:3:"-50";s:7:"uogonek";s:3:"-50";s:5:"uring";s:3:"-50";s:1:"v";s:4:"-100";s:1:"w";s:3:"-90";s:1:"y";s:3:"-34";s:6:"yacute";s:3:"-34";s:9:"ydieresis";s:3:"-34";}s:5:"Aring";a:50:{s:1:"C";s:3:"-55";s:6:"Cacute";s:3:"-55";s:6:"Ccaron";s:3:"-55";s:8:"Ccedilla";s:3:"-55";s:1:"G";s:3:"-55";s:6:"Gbreve";s:3:"-55";s:12:"Gcommaaccent";s:3:"-55";s:1:"O";s:3:"-45";s:6:"Oacute";s:3:"-45";s:11:"Ocircumflex";s:3:"-45";s:9:"Odieresis";s:3:"-45";s:6:"Ograve";s:3:"-45";s:13:"Ohungarumlaut";s:3:"-45";s:7:"Omacron";s:3:"-45";s:6:"Oslash";s:3:"-45";s:6:"Otilde";s:3:"-45";s:1:"Q";s:3:"-45";s:1:"T";s:3:"-95";s:6:"Tcaron";s:3:"-95";s:12:"Tcommaaccent";s:3:"-95";s:1:"U";s:3:"-50";s:6:"Uacute";s:3:"-50";s:11:"Ucircumflex";s:3:"-50";s:9:"Udieresis";s:3:"-50";s:6:"Ugrave";s:3:"-50";s:13:"Uhungarumlaut";s:3:"-50";s:7:"Umacron";s:3:"-50";s:7:"Uogonek";s:3:"-50";s:5:"Uring";s:3:"-50";s:1:"V";s:4:"-145";s:1:"W";s:4:"-130";s:1:"Y";s:4:"-100";s:6:"Yacute";s:4:"-100";s:9:"Ydieresis";s:4:"-100";s:1:"p";s:3:"-25";s:10:"quoteright";s:3:"-74";s:1:"u";s:3:"-50";s:6:"uacute";s:3:"-50";s:11:"ucircumflex";s:3:"-50";s:9:"udieresis";s:3:"-50";s:6:"ugrave";s:3:"-50";s:13:"uhungarumlaut";s:3:"-50";s:7:"umacron";s:3:"-50";s:7:"uogonek";s:3:"-50";s:5:"uring";s:3:"-50";s:1:"v";s:4:"-100";s:1:"w";s:3:"-90";s:1:"y";s:3:"-74";s:6:"yacute";s:3:"-74";s:9:"ydieresis";s:3:"-74";}s:6:"Atilde";a:50:{s:1:"C";s:3:"-55";s:6:"Cacute";s:3:"-55";s:6:"Ccaron";s:3:"-55";s:8:"Ccedilla";s:3:"-55";s:1:"G";s:3:"-55";s:6:"Gbreve";s:3:"-55";s:12:"Gcommaaccent";s:3:"-55";s:1:"O";s:3:"-45";s:6:"Oacute";s:3:"-45";s:11:"Ocircumflex";s:3:"-45";s:9:"Odieresis";s:3:"-45";s:6:"Ograve";s:3:"-45";s:13:"Ohungarumlaut";s:3:"-45";s:7:"Omacron";s:3:"-45";s:6:"Oslash";s:3:"-45";s:6:"Otilde";s:3:"-45";s:1:"Q";s:3:"-45";s:1:"T";s:3:"-95";s:6:"Tcaron";s:3:"-95";s:12:"Tcommaaccent";s:3:"-95";s:1:"U";s:3:"-50";s:6:"Uacute";s:3:"-50";s:11:"Ucircumflex";s:3:"-50";s:9:"Udieresis";s:3:"-50";s:6:"Ugrave";s:3:"-50";s:13:"Uhungarumlaut";s:3:"-50";s:7:"Umacron";s:3:"-50";s:7:"Uogonek";s:3:"-50";s:5:"Uring";s:3:"-50";s:1:"V";s:4:"-145";s:1:"W";s:4:"-130";s:1:"Y";s:4:"-100";s:6:"Yacute";s:4:"-100";s:9:"Ydieresis";s:4:"-100";s:1:"p";s:3:"-25";s:10:"quoteright";s:3:"-74";s:1:"u";s:3:"-50";s:6:"uacute";s:3:"-50";s:11:"ucircumflex";s:3:"-50";s:9:"udieresis";s:3:"-50";s:6:"ugrave";s:3:"-50";s:13:"uhungarumlaut";s:3:"-50";s:7:"umacron";s:3:"-50";s:7:"uogonek";s:3:"-50";s:5:"uring";s:3:"-50";s:1:"v";s:4:"-100";s:1:"w";s:3:"-90";s:1:"y";s:3:"-74";s:6:"yacute";s:3:"-74";s:9:"ydieresis";s:3:"-74";}s:1:"B";a:19:{s:1:"A";s:3:"-30";s:6:"Aacute";s:3:"-30";s:6:"Abreve";s:3:"-30";s:11:"Acircumflex";s:3:"-30";s:9:"Adieresis";s:3:"-30";s:6:"Agrave";s:3:"-30";s:7:"Amacron";s:3:"-30";s:7:"Aogonek";s:3:"-30";s:5:"Aring";s:3:"-30";s:6:"Atilde";s:3:"-30";s:1:"U";s:3:"-10";s:6:"Uacute";s:3:"-10";s:11:"Ucircumflex";s:3:"-10";s:9:"Udieresis";s:3:"-10";s:6:"Ugrave";s:3:"-10";s:13:"Uhungarumlaut";s:3:"-10";s:7:"Umacron";s:3:"-10";s:7:"Uogonek";s:3:"-10";s:5:"Uring";s:3:"-10";}s:1:"D";a:16:{s:1:"A";s:3:"-35";s:6:"Aacute";s:3:"-35";s:6:"Abreve";s:3:"-35";s:11:"Acircumflex";s:3:"-35";s:9:"Adieresis";s:3:"-35";s:6:"Agrave";s:3:"-35";s:7:"Amacron";s:3:"-35";s:7:"Aogonek";s:3:"-35";s:5:"Aring";s:3:"-35";s:6:"Atilde";s:3:"-35";s:1:"V";s:3:"-40";s:1:"W";s:3:"-40";s:1:"Y";s:3:"-40";s:6:"Yacute";s:3:"-40";s:9:"Ydieresis";s:3:"-40";s:6:"period";s:3:"-20";}s:6:"Dcaron";a:16:{s:1:"A";s:3:"-35";s:6:"Aacute";s:3:"-35";s:6:"Abreve";s:3:"-35";s:11:"Acircumflex";s:3:"-35";s:9:"Adieresis";s:3:"-35";s:6:"Agrave";s:3:"-35";s:7:"Amacron";s:3:"-35";s:7:"Aogonek";s:3:"-35";s:5:"Aring";s:3:"-35";s:6:"Atilde";s:3:"-35";s:1:"V";s:3:"-40";s:1:"W";s:3:"-40";s:1:"Y";s:3:"-40";s:6:"Yacute";s:3:"-40";s:9:"Ydieresis";s:3:"-40";s:6:"period";s:3:"-20";}s:6:"Dcroat";a:16:{s:1:"A";s:3:"-35";s:6:"Aacute";s:3:"-35";s:6:"Abreve";s:3:"-35";s:11:"Acircumflex";s:3:"-35";s:9:"Adieresis";s:3:"-35";s:6:"Agrave";s:3:"-35";s:7:"Amacron";s:3:"-35";s:7:"Aogonek";s:3:"-35";s:5:"Aring";s:3:"-35";s:6:"Atilde";s:3:"-35";s:1:"V";s:3:"-40";s:1:"W";s:3:"-40";s:1:"Y";s:3:"-40";s:6:"Yacute";s:3:"-40";s:9:"Ydieresis";s:3:"-40";s:6:"period";s:3:"-20";}s:1:"F";a:40:{s:1:"A";s:3:"-90";s:6:"Aacute";s:3:"-90";s:6:"Abreve";s:3:"-90";s:11:"Acircumflex";s:3:"-90";s:9:"Adieresis";s:3:"-90";s:6:"Agrave";s:3:"-90";s:7:"Amacron";s:3:"-90";s:7:"Aogonek";s:3:"-90";s:5:"Aring";s:3:"-90";s:6:"Atilde";s:3:"-90";s:1:"a";s:3:"-25";s:6:"aacute";s:3:"-25";s:6:"abreve";s:3:"-25";s:11:"acircumflex";s:3:"-25";s:9:"adieresis";s:3:"-25";s:6:"agrave";s:3:"-25";s:7:"amacron";s:3:"-25";s:7:"aogonek";s:3:"-25";s:5:"aring";s:3:"-25";s:6:"atilde";s:3:"-25";s:5:"comma";s:3:"-92";s:1:"e";s:3:"-25";s:6:"eacute";s:3:"-25";s:6:"ecaron";s:3:"-25";s:11:"ecircumflex";s:3:"-25";s:9:"edieresis";s:3:"-25";s:10:"edotaccent";s:3:"-25";s:6:"egrave";s:3:"-25";s:7:"emacron";s:3:"-25";s:7:"eogonek";s:3:"-25";s:1:"o";s:3:"-25";s:6:"oacute";s:3:"-25";s:11:"ocircumflex";s:3:"-25";s:9:"odieresis";s:3:"-25";s:6:"ograve";s:3:"-25";s:13:"ohungarumlaut";s:3:"-25";s:7:"omacron";s:3:"-25";s:6:"oslash";s:3:"-25";s:6:"otilde";s:3:"-25";s:6:"period";s:4:"-110";}s:1:"J";a:48:{s:1:"A";s:3:"-30";s:6:"Aacute";s:3:"-30";s:6:"Abreve";s:3:"-30";s:11:"Acircumflex";s:3:"-30";s:9:"Adieresis";s:3:"-30";s:6:"Agrave";s:3:"-30";s:7:"Amacron";s:3:"-30";s:7:"Aogonek";s:3:"-30";s:5:"Aring";s:3:"-30";s:6:"Atilde";s:3:"-30";s:1:"a";s:3:"-15";s:6:"aacute";s:3:"-15";s:6:"abreve";s:3:"-15";s:11:"acircumflex";s:3:"-15";s:9:"adieresis";s:3:"-15";s:6:"agrave";s:3:"-15";s:7:"amacron";s:3:"-15";s:7:"aogonek";s:3:"-15";s:5:"aring";s:3:"-15";s:6:"atilde";s:3:"-15";s:1:"e";s:3:"-15";s:6:"eacute";s:3:"-15";s:6:"ecaron";s:3:"-15";s:11:"ecircumflex";s:3:"-15";s:9:"edieresis";s:3:"-15";s:10:"edotaccent";s:3:"-15";s:6:"egrave";s:3:"-15";s:7:"emacron";s:3:"-15";s:7:"eogonek";s:3:"-15";s:1:"o";s:3:"-15";s:6:"oacute";s:3:"-15";s:11:"ocircumflex";s:3:"-15";s:9:"odieresis";s:3:"-15";s:6:"ograve";s:3:"-15";s:13:"ohungarumlaut";s:3:"-15";s:7:"omacron";s:3:"-15";s:6:"oslash";s:3:"-15";s:6:"otilde";s:3:"-15";s:6:"period";s:3:"-20";s:1:"u";s:3:"-15";s:6:"uacute";s:3:"-15";s:11:"ucircumflex";s:3:"-15";s:9:"udieresis";s:3:"-15";s:6:"ugrave";s:3:"-15";s:13:"uhungarumlaut";s:3:"-15";s:7:"umacron";s:3:"-15";s:7:"uogonek";s:3:"-15";s:5:"uring";s:3:"-15";}s:1:"K";a:39:{s:1:"O";s:3:"-30";s:6:"Oacute";s:3:"-30";s:11:"Ocircumflex";s:3:"-30";s:9:"Odieresis";s:3:"-30";s:6:"Ograve";s:3:"-30";s:13:"Ohungarumlaut";s:3:"-30";s:7:"Omacron";s:3:"-30";s:6:"Oslash";s:3:"-30";s:6:"Otilde";s:3:"-30";s:1:"e";s:3:"-25";s:6:"eacute";s:3:"-25";s:6:"ecaron";s:3:"-25";s:11:"ecircumflex";s:3:"-25";s:9:"edieresis";s:3:"-25";s:10:"edotaccent";s:3:"-25";s:6:"egrave";s:3:"-25";s:7:"emacron";s:3:"-25";s:7:"eogonek";s:3:"-25";s:1:"o";s:3:"-25";s:6:"oacute";s:3:"-25";s:11:"ocircumflex";s:3:"-25";s:9:"odieresis";s:3:"-25";s:6:"ograve";s:3:"-25";s:13:"ohungarumlaut";s:3:"-25";s:7:"omacron";s:3:"-25";s:6:"oslash";s:3:"-25";s:6:"otilde";s:3:"-25";s:1:"u";s:3:"-15";s:6:"uacute";s:3:"-15";s:11:"ucircumflex";s:3:"-15";s:9:"udieresis";s:3:"-15";s:6:"ugrave";s:3:"-15";s:13:"uhungarumlaut";s:3:"-15";s:7:"umacron";s:3:"-15";s:7:"uogonek";s:3:"-15";s:5:"uring";s:3:"-15";s:1:"y";s:3:"-45";s:6:"yacute";s:3:"-45";s:9:"ydieresis";s:3:"-45";}s:12:"Kcommaaccent";a:39:{s:1:"O";s:3:"-30";s:6:"Oacute";s:3:"-30";s:11:"Ocircumflex";s:3:"-30";s:9:"Odieresis";s:3:"-30";s:6:"Ograve";s:3:"-30";s:13:"Ohungarumlaut";s:3:"-30";s:7:"Omacron";s:3:"-30";s:6:"Oslash";s:3:"-30";s:6:"Otilde";s:3:"-30";s:1:"e";s:3:"-25";s:6:"eacute";s:3:"-25";s:6:"ecaron";s:3:"-25";s:11:"ecircumflex";s:3:"-25";s:9:"edieresis";s:3:"-25";s:10:"edotaccent";s:3:"-25";s:6:"egrave";s:3:"-25";s:7:"emacron";s:3:"-25";s:7:"eogonek";s:3:"-25";s:1:"o";s:3:"-25";s:6:"oacute";s:3:"-25";s:11:"ocircumflex";s:3:"-25";s:9:"odieresis";s:3:"-25";s:6:"ograve";s:3:"-25";s:13:"ohungarumlaut";s:3:"-25";s:7:"omacron";s:3:"-25";s:6:"oslash";s:3:"-25";s:6:"otilde";s:3:"-25";s:1:"u";s:3:"-15";s:6:"uacute";s:3:"-15";s:11:"ucircumflex";s:3:"-15";s:9:"udieresis";s:3:"-15";s:6:"ugrave";s:3:"-15";s:13:"uhungarumlaut";s:3:"-15";s:7:"umacron";s:3:"-15";s:7:"uogonek";s:3:"-15";s:5:"uring";s:3:"-15";s:1:"y";s:3:"-45";s:6:"yacute";s:3:"-45";s:9:"ydieresis";s:3:"-45";}s:1:"L";a:13:{s:1:"T";s:3:"-92";s:6:"Tcaron";s:3:"-92";s:12:"Tcommaaccent";s:3:"-92";s:1:"V";s:3:"-92";s:1:"W";s:3:"-92";s:1:"Y";s:3:"-92";s:6:"Yacute";s:3:"-92";s:9:"Ydieresis";s:3:"-92";s:13:"quotedblright";s:3:"-20";s:10:"quoteright";s:4:"-110";s:1:"y";s:3:"-55";s:6:"yacute";s:3:"-55";s:9:"ydieresis";s:3:"-55";}s:6:"Lacute";a:13:{s:1:"T";s:3:"-92";s:6:"Tcaron";s:3:"-92";s:12:"Tcommaaccent";s:3:"-92";s:1:"V";s:3:"-92";s:1:"W";s:3:"-92";s:1:"Y";s:3:"-92";s:6:"Yacute";s:3:"-92";s:9:"Ydieresis";s:3:"-92";s:13:"quotedblright";s:3:"-20";s:10:"quoteright";s:4:"-110";s:1:"y";s:3:"-55";s:6:"yacute";s:3:"-55";s:9:"ydieresis";s:3:"-55";}s:12:"Lcommaaccent";a:13:{s:1:"T";s:3:"-92";s:6:"Tcaron";s:3:"-92";s:12:"Tcommaaccent";s:3:"-92";s:1:"V";s:3:"-92";s:1:"W";s:3:"-92";s:1:"Y";s:3:"-92";s:6:"Yacute";s:3:"-92";s:9:"Ydieresis";s:3:"-92";s:13:"quotedblright";s:3:"-20";s:10:"quoteright";s:4:"-110";s:1:"y";s:3:"-55";s:6:"yacute";s:3:"-55";s:9:"ydieresis";s:3:"-55";}s:6:"Lslash";a:13:{s:1:"T";s:3:"-92";s:6:"Tcaron";s:3:"-92";s:12:"Tcommaaccent";s:3:"-92";s:1:"V";s:3:"-92";s:1:"W";s:3:"-92";s:1:"Y";s:3:"-92";s:6:"Yacute";s:3:"-92";s:9:"Ydieresis";s:3:"-92";s:13:"quotedblright";s:3:"-20";s:10:"quoteright";s:4:"-110";s:1:"y";s:3:"-55";s:6:"yacute";s:3:"-55";s:9:"ydieresis";s:3:"-55";}s:1:"N";a:10:{s:1:"A";s:3:"-20";s:6:"Aacute";s:3:"-20";s:6:"Abreve";s:3:"-20";s:11:"Acircumflex";s:3:"-20";s:9:"Adieresis";s:3:"-20";s:6:"Agrave";s:3:"-20";s:7:"Amacron";s:3:"-20";s:7:"Aogonek";s:3:"-20";s:5:"Aring";s:3:"-20";s:6:"Atilde";s:3:"-20";}s:6:"Nacute";a:10:{s:1:"A";s:3:"-20";s:6:"Aacute";s:3:"-20";s:6:"Abreve";s:3:"-20";s:11:"Acircumflex";s:3:"-20";s:9:"Adieresis";s:3:"-20";s:6:"Agrave";s:3:"-20";s:7:"Amacron";s:3:"-20";s:7:"Aogonek";s:3:"-20";s:5:"Aring";s:3:"-20";s:6:"Atilde";s:3:"-20";}s:6:"Ncaron";a:10:{s:1:"A";s:3:"-20";s:6:"Aacute";s:3:"-20";s:6:"Abreve";s:3:"-20";s:11:"Acircumflex";s:3:"-20";s:9:"Adieresis";s:3:"-20";s:6:"Agrave";s:3:"-20";s:7:"Amacron";s:3:"-20";s:7:"Aogonek";s:3:"-20";s:5:"Aring";s:3:"-20";s:6:"Atilde";s:3:"-20";}s:12:"Ncommaaccent";a:10:{s:1:"A";s:3:"-20";s:6:"Aacute";s:3:"-20";s:6:"Abreve";s:3:"-20";s:11:"Acircumflex";s:3:"-20";s:9:"Adieresis";s:3:"-20";s:6:"Agrave";s:3:"-20";s:7:"Amacron";s:3:"-20";s:7:"Aogonek";s:3:"-20";s:5:"Aring";s:3:"-20";s:6:"Atilde";s:3:"-20";}s:6:"Ntilde";a:10:{s:1:"A";s:3:"-20";s:6:"Aacute";s:3:"-20";s:6:"Abreve";s:3:"-20";s:11:"Acircumflex";s:3:"-20";s:9:"Adieresis";s:3:"-20";s:6:"Agrave";s:3:"-20";s:7:"Amacron";s:3:"-20";s:7:"Aogonek";s:3:"-20";s:5:"Aring";s:3:"-20";s:6:"Atilde";s:3:"-20";}s:1:"O";a:19:{s:1:"A";s:3:"-40";s:6:"Aacute";s:3:"-40";s:6:"Abreve";s:3:"-40";s:11:"Acircumflex";s:3:"-40";s:9:"Adieresis";s:3:"-40";s:6:"Agrave";s:3:"-40";s:7:"Amacron";s:3:"-40";s:7:"Aogonek";s:3:"-40";s:5:"Aring";s:3:"-40";s:6:"Atilde";s:3:"-40";s:1:"T";s:3:"-40";s:6:"Tcaron";s:3:"-40";s:12:"Tcommaaccent";s:3:"-40";s:1:"V";s:3:"-50";s:1:"W";s:3:"-50";s:1:"X";s:3:"-40";s:1:"Y";s:3:"-50";s:6:"Yacute";s:3:"-50";s:9:"Ydieresis";s:3:"-50";}s:6:"Oacute";a:19:{s:1:"A";s:3:"-40";s:6:"Aacute";s:3:"-40";s:6:"Abreve";s:3:"-40";s:11:"Acircumflex";s:3:"-40";s:9:"Adieresis";s:3:"-40";s:6:"Agrave";s:3:"-40";s:7:"Amacron";s:3:"-40";s:7:"Aogonek";s:3:"-40";s:5:"Aring";s:3:"-40";s:6:"Atilde";s:3:"-40";s:1:"T";s:3:"-40";s:6:"Tcaron";s:3:"-40";s:12:"Tcommaaccent";s:3:"-40";s:1:"V";s:3:"-50";s:1:"W";s:3:"-50";s:1:"X";s:3:"-40";s:1:"Y";s:3:"-50";s:6:"Yacute";s:3:"-50";s:9:"Ydieresis";s:3:"-50";}s:11:"Ocircumflex";a:19:{s:1:"A";s:3:"-40";s:6:"Aacute";s:3:"-40";s:6:"Abreve";s:3:"-40";s:11:"Acircumflex";s:3:"-40";s:9:"Adieresis";s:3:"-40";s:6:"Agrave";s:3:"-40";s:7:"Amacron";s:3:"-40";s:7:"Aogonek";s:3:"-40";s:5:"Aring";s:3:"-40";s:6:"Atilde";s:3:"-40";s:1:"T";s:3:"-40";s:6:"Tcaron";s:3:"-40";s:12:"Tcommaaccent";s:3:"-40";s:1:"V";s:3:"-50";s:1:"W";s:3:"-50";s:1:"X";s:3:"-40";s:1:"Y";s:3:"-50";s:6:"Yacute";s:3:"-50";s:9:"Ydieresis";s:3:"-50";}s:9:"Odieresis";a:19:{s:1:"A";s:3:"-40";s:6:"Aacute";s:3:"-40";s:6:"Abreve";s:3:"-40";s:11:"Acircumflex";s:3:"-40";s:9:"Adieresis";s:3:"-40";s:6:"Agrave";s:3:"-40";s:7:"Amacron";s:3:"-40";s:7:"Aogonek";s:3:"-40";s:5:"Aring";s:3:"-40";s:6:"Atilde";s:3:"-40";s:1:"T";s:3:"-40";s:6:"Tcaron";s:3:"-40";s:12:"Tcommaaccent";s:3:"-40";s:1:"V";s:3:"-50";s:1:"W";s:3:"-50";s:1:"X";s:3:"-40";s:1:"Y";s:3:"-50";s:6:"Yacute";s:3:"-50";s:9:"Ydieresis";s:3:"-50";}s:6:"Ograve";a:19:{s:1:"A";s:3:"-40";s:6:"Aacute";s:3:"-40";s:6:"Abreve";s:3:"-40";s:11:"Acircumflex";s:3:"-40";s:9:"Adieresis";s:3:"-40";s:6:"Agrave";s:3:"-40";s:7:"Amacron";s:3:"-40";s:7:"Aogonek";s:3:"-40";s:5:"Aring";s:3:"-40";s:6:"Atilde";s:3:"-40";s:1:"T";s:3:"-40";s:6:"Tcaron";s:3:"-40";s:12:"Tcommaaccent";s:3:"-40";s:1:"V";s:3:"-50";s:1:"W";s:3:"-50";s:1:"X";s:3:"-40";s:1:"Y";s:3:"-50";s:6:"Yacute";s:3:"-50";s:9:"Ydieresis";s:3:"-50";}s:13:"Ohungarumlaut";a:19:{s:1:"A";s:3:"-40";s:6:"Aacute";s:3:"-40";s:6:"Abreve";s:3:"-40";s:11:"Acircumflex";s:3:"-40";s:9:"Adieresis";s:3:"-40";s:6:"Agrave";s:3:"-40";s:7:"Amacron";s:3:"-40";s:7:"Aogonek";s:3:"-40";s:5:"Aring";s:3:"-40";s:6:"Atilde";s:3:"-40";s:1:"T";s:3:"-40";s:6:"Tcaron";s:3:"-40";s:12:"Tcommaaccent";s:3:"-40";s:1:"V";s:3:"-50";s:1:"W";s:3:"-50";s:1:"X";s:3:"-40";s:1:"Y";s:3:"-50";s:6:"Yacute";s:3:"-50";s:9:"Ydieresis";s:3:"-50";}s:7:"Omacron";a:19:{s:1:"A";s:3:"-40";s:6:"Aacute";s:3:"-40";s:6:"Abreve";s:3:"-40";s:11:"Acircumflex";s:3:"-40";s:9:"Adieresis";s:3:"-40";s:6:"Agrave";s:3:"-40";s:7:"Amacron";s:3:"-40";s:7:"Aogonek";s:3:"-40";s:5:"Aring";s:3:"-40";s:6:"Atilde";s:3:"-40";s:1:"T";s:3:"-40";s:6:"Tcaron";s:3:"-40";s:12:"Tcommaaccent";s:3:"-40";s:1:"V";s:3:"-50";s:1:"W";s:3:"-50";s:1:"X";s:3:"-40";s:1:"Y";s:3:"-50";s:6:"Yacute";s:3:"-50";s:9:"Ydieresis";s:3:"-50";}s:6:"Oslash";a:19:{s:1:"A";s:3:"-40";s:6:"Aacute";s:3:"-40";s:6:"Abreve";s:3:"-40";s:11:"Acircumflex";s:3:"-40";s:9:"Adieresis";s:3:"-40";s:6:"Agrave";s:3:"-40";s:7:"Amacron";s:3:"-40";s:7:"Aogonek";s:3:"-40";s:5:"Aring";s:3:"-40";s:6:"Atilde";s:3:"-40";s:1:"T";s:3:"-40";s:6:"Tcaron";s:3:"-40";s:12:"Tcommaaccent";s:3:"-40";s:1:"V";s:3:"-50";s:1:"W";s:3:"-50";s:1:"X";s:3:"-40";s:1:"Y";s:3:"-50";s:6:"Yacute";s:3:"-50";s:9:"Ydieresis";s:3:"-50";}s:6:"Otilde";a:19:{s:1:"A";s:3:"-40";s:6:"Aacute";s:3:"-40";s:6:"Abreve";s:3:"-40";s:11:"Acircumflex";s:3:"-40";s:9:"Adieresis";s:3:"-40";s:6:"Agrave";s:3:"-40";s:7:"Amacron";s:3:"-40";s:7:"Aogonek";s:3:"-40";s:5:"Aring";s:3:"-40";s:6:"Atilde";s:3:"-40";s:1:"T";s:3:"-40";s:6:"Tcaron";s:3:"-40";s:12:"Tcommaaccent";s:3:"-40";s:1:"V";s:3:"-50";s:1:"W";s:3:"-50";s:1:"X";s:3:"-40";s:1:"Y";s:3:"-50";s:6:"Yacute";s:3:"-50";s:9:"Ydieresis";s:3:"-50";}s:1:"P";a:40:{s:1:"A";s:3:"-74";s:6:"Aacute";s:3:"-74";s:6:"Abreve";s:3:"-74";s:11:"Acircumflex";s:3:"-74";s:9:"Adieresis";s:3:"-74";s:6:"Agrave";s:3:"-74";s:7:"Amacron";s:3:"-74";s:7:"Aogonek";s:3:"-74";s:5:"Aring";s:3:"-74";s:6:"Atilde";s:3:"-74";s:1:"a";s:3:"-10";s:6:"aacute";s:3:"-10";s:6:"abreve";s:3:"-10";s:11:"acircumflex";s:3:"-10";s:9:"adieresis";s:3:"-10";s:6:"agrave";s:3:"-10";s:7:"amacron";s:3:"-10";s:7:"aogonek";s:3:"-10";s:5:"aring";s:3:"-10";s:6:"atilde";s:3:"-10";s:5:"comma";s:3:"-92";s:1:"e";s:3:"-20";s:6:"eacute";s:3:"-20";s:6:"ecaron";s:3:"-20";s:11:"ecircumflex";s:3:"-20";s:9:"edieresis";s:3:"-20";s:10:"edotaccent";s:3:"-20";s:6:"egrave";s:3:"-20";s:7:"emacron";s:3:"-20";s:7:"eogonek";s:3:"-20";s:1:"o";s:3:"-20";s:6:"oacute";s:3:"-20";s:11:"ocircumflex";s:3:"-20";s:9:"odieresis";s:3:"-20";s:6:"ograve";s:3:"-20";s:13:"ohungarumlaut";s:3:"-20";s:7:"omacron";s:3:"-20";s:6:"oslash";s:3:"-20";s:6:"otilde";s:3:"-20";s:6:"period";s:4:"-110";}s:1:"Q";a:10:{s:1:"U";s:3:"-10";s:6:"Uacute";s:3:"-10";s:11:"Ucircumflex";s:3:"-10";s:9:"Udieresis";s:3:"-10";s:6:"Ugrave";s:3:"-10";s:13:"Uhungarumlaut";s:3:"-10";s:7:"Umacron";s:3:"-10";s:7:"Uogonek";s:3:"-10";s:5:"Uring";s:3:"-10";s:6:"period";s:3:"-20";}s:1:"R";a:26:{s:1:"O";s:3:"-30";s:6:"Oacute";s:3:"-30";s:11:"Ocircumflex";s:3:"-30";s:9:"Odieresis";s:3:"-30";s:6:"Ograve";s:3:"-30";s:13:"Ohungarumlaut";s:3:"-30";s:7:"Omacron";s:3:"-30";s:6:"Oslash";s:3:"-30";s:6:"Otilde";s:3:"-30";s:1:"T";s:3:"-40";s:6:"Tcaron";s:3:"-40";s:12:"Tcommaaccent";s:3:"-40";s:1:"U";s:3:"-30";s:6:"Uacute";s:3:"-30";s:11:"Ucircumflex";s:3:"-30";s:9:"Udieresis";s:3:"-30";s:6:"Ugrave";s:3:"-30";s:13:"Uhungarumlaut";s:3:"-30";s:7:"Umacron";s:3:"-30";s:7:"Uogonek";s:3:"-30";s:5:"Uring";s:3:"-30";s:1:"V";s:3:"-55";s:1:"W";s:3:"-35";s:1:"Y";s:3:"-35";s:6:"Yacute";s:3:"-35";s:9:"Ydieresis";s:3:"-35";}s:6:"Racute";a:26:{s:1:"O";s:3:"-30";s:6:"Oacute";s:3:"-30";s:11:"Ocircumflex";s:3:"-30";s:9:"Odieresis";s:3:"-30";s:6:"Ograve";s:3:"-30";s:13:"Ohungarumlaut";s:3:"-30";s:7:"Omacron";s:3:"-30";s:6:"Oslash";s:3:"-30";s:6:"Otilde";s:3:"-30";s:1:"T";s:3:"-40";s:6:"Tcaron";s:3:"-40";s:12:"Tcommaaccent";s:3:"-40";s:1:"U";s:3:"-30";s:6:"Uacute";s:3:"-30";s:11:"Ucircumflex";s:3:"-30";s:9:"Udieresis";s:3:"-30";s:6:"Ugrave";s:3:"-30";s:13:"Uhungarumlaut";s:3:"-30";s:7:"Umacron";s:3:"-30";s:7:"Uogonek";s:3:"-30";s:5:"Uring";s:3:"-30";s:1:"V";s:3:"-55";s:1:"W";s:3:"-35";s:1:"Y";s:3:"-35";s:6:"Yacute";s:3:"-35";s:9:"Ydieresis";s:3:"-35";}s:6:"Rcaron";a:26:{s:1:"O";s:3:"-30";s:6:"Oacute";s:3:"-30";s:11:"Ocircumflex";s:3:"-30";s:9:"Odieresis";s:3:"-30";s:6:"Ograve";s:3:"-30";s:13:"Ohungarumlaut";s:3:"-30";s:7:"Omacron";s:3:"-30";s:6:"Oslash";s:3:"-30";s:6:"Otilde";s:3:"-30";s:1:"T";s:3:"-40";s:6:"Tcaron";s:3:"-40";s:12:"Tcommaaccent";s:3:"-40";s:1:"U";s:3:"-30";s:6:"Uacute";s:3:"-30";s:11:"Ucircumflex";s:3:"-30";s:9:"Udieresis";s:3:"-30";s:6:"Ugrave";s:3:"-30";s:13:"Uhungarumlaut";s:3:"-30";s:7:"Umacron";s:3:"-30";s:7:"Uogonek";s:3:"-30";s:5:"Uring";s:3:"-30";s:1:"V";s:3:"-55";s:1:"W";s:3:"-35";s:1:"Y";s:3:"-35";s:6:"Yacute";s:3:"-35";s:9:"Ydieresis";s:3:"-35";}s:12:"Rcommaaccent";a:26:{s:1:"O";s:3:"-30";s:6:"Oacute";s:3:"-30";s:11:"Ocircumflex";s:3:"-30";s:9:"Odieresis";s:3:"-30";s:6:"Ograve";s:3:"-30";s:13:"Ohungarumlaut";s:3:"-30";s:7:"Omacron";s:3:"-30";s:6:"Oslash";s:3:"-30";s:6:"Otilde";s:3:"-30";s:1:"T";s:3:"-40";s:6:"Tcaron";s:3:"-40";s:12:"Tcommaaccent";s:3:"-40";s:1:"U";s:3:"-30";s:6:"Uacute";s:3:"-30";s:11:"Ucircumflex";s:3:"-30";s:9:"Udieresis";s:3:"-30";s:6:"Ugrave";s:3:"-30";s:13:"Uhungarumlaut";s:3:"-30";s:7:"Umacron";s:3:"-30";s:7:"Uogonek";s:3:"-30";s:5:"Uring";s:3:"-30";s:1:"V";s:3:"-55";s:1:"W";s:3:"-35";s:1:"Y";s:3:"-35";s:6:"Yacute";s:3:"-35";s:9:"Ydieresis";s:3:"-35";}s:1:"T";a:72:{s:1:"A";s:3:"-90";s:6:"Aacute";s:3:"-90";s:6:"Abreve";s:3:"-90";s:11:"Acircumflex";s:3:"-90";s:9:"Adieresis";s:3:"-90";s:6:"Agrave";s:3:"-90";s:7:"Amacron";s:3:"-90";s:7:"Aogonek";s:3:"-90";s:5:"Aring";s:3:"-90";s:6:"Atilde";s:3:"-90";s:1:"O";s:3:"-18";s:6:"Oacute";s:3:"-18";s:11:"Ocircumflex";s:3:"-18";s:9:"Odieresis";s:3:"-18";s:6:"Ograve";s:3:"-18";s:13:"Ohungarumlaut";s:3:"-18";s:7:"Omacron";s:3:"-18";s:6:"Oslash";s:3:"-18";s:6:"Otilde";s:3:"-18";s:1:"a";s:3:"-92";s:6:"aacute";s:3:"-92";s:6:"abreve";s:3:"-52";s:11:"acircumflex";s:3:"-52";s:9:"adieresis";s:3:"-52";s:6:"agrave";s:3:"-52";s:7:"amacron";s:3:"-52";s:7:"aogonek";s:3:"-92";s:5:"aring";s:3:"-92";s:6:"atilde";s:3:"-52";s:5:"colon";s:3:"-74";s:5:"comma";s:3:"-74";s:1:"e";s:3:"-92";s:6:"eacute";s:3:"-92";s:6:"ecaron";s:3:"-92";s:11:"ecircumflex";s:3:"-92";s:9:"edieresis";s:3:"-52";s:10:"edotaccent";s:3:"-92";s:6:"egrave";s:3:"-52";s:7:"emacron";s:3:"-52";s:7:"eogonek";s:3:"-92";s:6:"hyphen";s:3:"-92";s:1:"i";s:3:"-18";s:6:"iacute";s:3:"-18";s:7:"iogonek";s:3:"-18";s:1:"o";s:3:"-92";s:6:"oacute";s:3:"-92";s:11:"ocircumflex";s:3:"-92";s:9:"odieresis";s:3:"-92";s:6:"ograve";s:3:"-92";s:13:"ohungarumlaut";s:3:"-92";s:7:"omacron";s:3:"-92";s:6:"oslash";s:3:"-92";s:6:"otilde";s:3:"-92";s:6:"period";s:3:"-90";s:1:"r";s:3:"-74";s:6:"racute";s:3:"-74";s:6:"rcaron";s:3:"-74";s:12:"rcommaaccent";s:3:"-74";s:9:"semicolon";s:3:"-74";s:1:"u";s:3:"-92";s:6:"uacute";s:3:"-92";s:11:"ucircumflex";s:3:"-92";s:9:"udieresis";s:3:"-92";s:6:"ugrave";s:3:"-92";s:13:"uhungarumlaut";s:3:"-92";s:7:"umacron";s:3:"-92";s:7:"uogonek";s:3:"-92";s:5:"uring";s:3:"-92";s:1:"w";s:3:"-74";s:1:"y";s:3:"-34";s:6:"yacute";s:3:"-34";s:9:"ydieresis";s:3:"-34";}s:6:"Tcaron";a:72:{s:1:"A";s:3:"-90";s:6:"Aacute";s:3:"-90";s:6:"Abreve";s:3:"-90";s:11:"Acircumflex";s:3:"-90";s:9:"Adieresis";s:3:"-90";s:6:"Agrave";s:3:"-90";s:7:"Amacron";s:3:"-90";s:7:"Aogonek";s:3:"-90";s:5:"Aring";s:3:"-90";s:6:"Atilde";s:3:"-90";s:1:"O";s:3:"-18";s:6:"Oacute";s:3:"-18";s:11:"Ocircumflex";s:3:"-18";s:9:"Odieresis";s:3:"-18";s:6:"Ograve";s:3:"-18";s:13:"Ohungarumlaut";s:3:"-18";s:7:"Omacron";s:3:"-18";s:6:"Oslash";s:3:"-18";s:6:"Otilde";s:3:"-18";s:1:"a";s:3:"-92";s:6:"aacute";s:3:"-92";s:6:"abreve";s:3:"-52";s:11:"acircumflex";s:3:"-52";s:9:"adieresis";s:3:"-52";s:6:"agrave";s:3:"-52";s:7:"amacron";s:3:"-52";s:7:"aogonek";s:3:"-92";s:5:"aring";s:3:"-92";s:6:"atilde";s:3:"-52";s:5:"colon";s:3:"-74";s:5:"comma";s:3:"-74";s:1:"e";s:3:"-92";s:6:"eacute";s:3:"-92";s:6:"ecaron";s:3:"-92";s:11:"ecircumflex";s:3:"-92";s:9:"edieresis";s:3:"-52";s:10:"edotaccent";s:3:"-92";s:6:"egrave";s:3:"-52";s:7:"emacron";s:3:"-52";s:7:"eogonek";s:3:"-92";s:6:"hyphen";s:3:"-92";s:1:"i";s:3:"-18";s:6:"iacute";s:3:"-18";s:7:"iogonek";s:3:"-18";s:1:"o";s:3:"-92";s:6:"oacute";s:3:"-92";s:11:"ocircumflex";s:3:"-92";s:9:"odieresis";s:3:"-92";s:6:"ograve";s:3:"-92";s:13:"ohungarumlaut";s:3:"-92";s:7:"omacron";s:3:"-92";s:6:"oslash";s:3:"-92";s:6:"otilde";s:3:"-92";s:6:"period";s:3:"-90";s:1:"r";s:3:"-74";s:6:"racute";s:3:"-74";s:6:"rcaron";s:3:"-74";s:12:"rcommaaccent";s:3:"-74";s:9:"semicolon";s:3:"-74";s:1:"u";s:3:"-92";s:6:"uacute";s:3:"-92";s:11:"ucircumflex";s:3:"-92";s:9:"udieresis";s:3:"-92";s:6:"ugrave";s:3:"-92";s:13:"uhungarumlaut";s:3:"-92";s:7:"umacron";s:3:"-92";s:7:"uogonek";s:3:"-92";s:5:"uring";s:3:"-92";s:1:"w";s:3:"-74";s:1:"y";s:3:"-34";s:6:"yacute";s:3:"-34";s:9:"ydieresis";s:3:"-34";}s:12:"Tcommaaccent";a:72:{s:1:"A";s:3:"-90";s:6:"Aacute";s:3:"-90";s:6:"Abreve";s:3:"-90";s:11:"Acircumflex";s:3:"-90";s:9:"Adieresis";s:3:"-90";s:6:"Agrave";s:3:"-90";s:7:"Amacron";s:3:"-90";s:7:"Aogonek";s:3:"-90";s:5:"Aring";s:3:"-90";s:6:"Atilde";s:3:"-90";s:1:"O";s:3:"-18";s:6:"Oacute";s:3:"-18";s:11:"Ocircumflex";s:3:"-18";s:9:"Odieresis";s:3:"-18";s:6:"Ograve";s:3:"-18";s:13:"Ohungarumlaut";s:3:"-18";s:7:"Omacron";s:3:"-18";s:6:"Oslash";s:3:"-18";s:6:"Otilde";s:3:"-18";s:1:"a";s:3:"-92";s:6:"aacute";s:3:"-92";s:6:"abreve";s:3:"-52";s:11:"acircumflex";s:3:"-52";s:9:"adieresis";s:3:"-52";s:6:"agrave";s:3:"-52";s:7:"amacron";s:3:"-52";s:7:"aogonek";s:3:"-92";s:5:"aring";s:3:"-92";s:6:"atilde";s:3:"-52";s:5:"colon";s:3:"-74";s:5:"comma";s:3:"-74";s:1:"e";s:3:"-92";s:6:"eacute";s:3:"-92";s:6:"ecaron";s:3:"-92";s:11:"ecircumflex";s:3:"-92";s:9:"edieresis";s:3:"-52";s:10:"edotaccent";s:3:"-92";s:6:"egrave";s:3:"-52";s:7:"emacron";s:3:"-52";s:7:"eogonek";s:3:"-92";s:6:"hyphen";s:3:"-92";s:1:"i";s:3:"-18";s:6:"iacute";s:3:"-18";s:7:"iogonek";s:3:"-18";s:1:"o";s:3:"-92";s:6:"oacute";s:3:"-92";s:11:"ocircumflex";s:3:"-92";s:9:"odieresis";s:3:"-92";s:6:"ograve";s:3:"-92";s:13:"ohungarumlaut";s:3:"-92";s:7:"omacron";s:3:"-92";s:6:"oslash";s:3:"-92";s:6:"otilde";s:3:"-92";s:6:"period";s:3:"-90";s:1:"r";s:3:"-74";s:6:"racute";s:3:"-74";s:6:"rcaron";s:3:"-74";s:12:"rcommaaccent";s:3:"-74";s:9:"semicolon";s:3:"-74";s:1:"u";s:3:"-92";s:6:"uacute";s:3:"-92";s:11:"ucircumflex";s:3:"-92";s:9:"udieresis";s:3:"-92";s:6:"ugrave";s:3:"-92";s:13:"uhungarumlaut";s:3:"-92";s:7:"umacron";s:3:"-92";s:7:"uogonek";s:3:"-92";s:5:"uring";s:3:"-92";s:1:"w";s:3:"-74";s:1:"y";s:3:"-34";s:6:"yacute";s:3:"-34";s:9:"ydieresis";s:3:"-34";}s:1:"U";a:12:{s:1:"A";s:3:"-60";s:6:"Aacute";s:3:"-60";s:6:"Abreve";s:3:"-60";s:11:"Acircumflex";s:3:"-60";s:9:"Adieresis";s:3:"-60";s:6:"Agrave";s:3:"-60";s:7:"Amacron";s:3:"-60";s:7:"Aogonek";s:3:"-60";s:5:"Aring";s:3:"-60";s:6:"Atilde";s:3:"-60";s:5:"comma";s:3:"-50";s:6:"period";s:3:"-50";}s:6:"Uacute";a:12:{s:1:"A";s:3:"-60";s:6:"Aacute";s:3:"-60";s:6:"Abreve";s:3:"-60";s:11:"Acircumflex";s:3:"-60";s:9:"Adieresis";s:3:"-60";s:6:"Agrave";s:3:"-60";s:7:"Amacron";s:3:"-60";s:7:"Aogonek";s:3:"-60";s:5:"Aring";s:3:"-60";s:6:"Atilde";s:3:"-60";s:5:"comma";s:3:"-50";s:6:"period";s:3:"-50";}s:11:"Ucircumflex";a:12:{s:1:"A";s:3:"-60";s:6:"Aacute";s:3:"-60";s:6:"Abreve";s:3:"-60";s:11:"Acircumflex";s:3:"-60";s:9:"Adieresis";s:3:"-60";s:6:"Agrave";s:3:"-60";s:7:"Amacron";s:3:"-60";s:7:"Aogonek";s:3:"-60";s:5:"Aring";s:3:"-60";s:6:"Atilde";s:3:"-60";s:5:"comma";s:3:"-50";s:6:"period";s:3:"-50";}s:9:"Udieresis";a:12:{s:1:"A";s:3:"-60";s:6:"Aacute";s:3:"-60";s:6:"Abreve";s:3:"-60";s:11:"Acircumflex";s:3:"-60";s:9:"Adieresis";s:3:"-60";s:6:"Agrave";s:3:"-60";s:7:"Amacron";s:3:"-60";s:7:"Aogonek";s:3:"-60";s:5:"Aring";s:3:"-60";s:6:"Atilde";s:3:"-60";s:5:"comma";s:3:"-50";s:6:"period";s:3:"-50";}s:6:"Ugrave";a:12:{s:1:"A";s:3:"-60";s:6:"Aacute";s:3:"-60";s:6:"Abreve";s:3:"-60";s:11:"Acircumflex";s:3:"-60";s:9:"Adieresis";s:3:"-60";s:6:"Agrave";s:3:"-60";s:7:"Amacron";s:3:"-60";s:7:"Aogonek";s:3:"-60";s:5:"Aring";s:3:"-60";s:6:"Atilde";s:3:"-60";s:5:"comma";s:3:"-50";s:6:"period";s:3:"-50";}s:13:"Uhungarumlaut";a:12:{s:1:"A";s:3:"-60";s:6:"Aacute";s:3:"-60";s:6:"Abreve";s:3:"-60";s:11:"Acircumflex";s:3:"-60";s:9:"Adieresis";s:3:"-60";s:6:"Agrave";s:3:"-60";s:7:"Amacron";s:3:"-60";s:7:"Aogonek";s:3:"-60";s:5:"Aring";s:3:"-60";s:6:"Atilde";s:3:"-60";s:5:"comma";s:3:"-50";s:6:"period";s:3:"-50";}s:7:"Umacron";a:12:{s:1:"A";s:3:"-60";s:6:"Aacute";s:3:"-60";s:6:"Abreve";s:3:"-60";s:11:"Acircumflex";s:3:"-60";s:9:"Adieresis";s:3:"-60";s:6:"Agrave";s:3:"-60";s:7:"Amacron";s:3:"-60";s:7:"Aogonek";s:3:"-60";s:5:"Aring";s:3:"-60";s:6:"Atilde";s:3:"-60";s:5:"comma";s:3:"-50";s:6:"period";s:3:"-50";}s:7:"Uogonek";a:12:{s:1:"A";s:3:"-60";s:6:"Aacute";s:3:"-60";s:6:"Abreve";s:3:"-60";s:11:"Acircumflex";s:3:"-60";s:9:"Adieresis";s:3:"-60";s:6:"Agrave";s:3:"-60";s:7:"Amacron";s:3:"-60";s:7:"Aogonek";s:3:"-60";s:5:"Aring";s:3:"-60";s:6:"Atilde";s:3:"-60";s:5:"comma";s:3:"-50";s:6:"period";s:3:"-50";}s:5:"Uring";a:12:{s:1:"A";s:3:"-60";s:6:"Aacute";s:3:"-60";s:6:"Abreve";s:3:"-60";s:11:"Acircumflex";s:3:"-60";s:9:"Adieresis";s:3:"-60";s:6:"Agrave";s:3:"-60";s:7:"Amacron";s:3:"-60";s:7:"Aogonek";s:3:"-60";s:5:"Aring";s:3:"-60";s:6:"Atilde";s:3:"-60";s:5:"comma";s:3:"-50";s:6:"period";s:3:"-50";}s:1:"V";a:71:{s:1:"A";s:4:"-135";s:6:"Aacute";s:4:"-135";s:6:"Abreve";s:4:"-135";s:11:"Acircumflex";s:4:"-135";s:9:"Adieresis";s:4:"-135";s:6:"Agrave";s:4:"-135";s:7:"Amacron";s:4:"-135";s:7:"Aogonek";s:4:"-135";s:5:"Aring";s:4:"-135";s:6:"Atilde";s:4:"-135";s:1:"G";s:3:"-30";s:6:"Gbreve";s:3:"-30";s:12:"Gcommaaccent";s:3:"-30";s:1:"O";s:3:"-45";s:6:"Oacute";s:3:"-45";s:11:"Ocircumflex";s:3:"-45";s:9:"Odieresis";s:3:"-45";s:6:"Ograve";s:3:"-45";s:13:"Ohungarumlaut";s:3:"-45";s:7:"Omacron";s:3:"-45";s:6:"Oslash";s:3:"-45";s:6:"Otilde";s:3:"-45";s:1:"a";s:3:"-92";s:6:"aacute";s:3:"-92";s:6:"abreve";s:3:"-92";s:11:"acircumflex";s:3:"-92";s:9:"adieresis";s:3:"-92";s:6:"agrave";s:3:"-92";s:7:"amacron";s:3:"-92";s:7:"aogonek";s:3:"-92";s:5:"aring";s:3:"-92";s:6:"atilde";s:3:"-92";s:5:"colon";s:3:"-92";s:5:"comma";s:4:"-129";s:1:"e";s:4:"-100";s:6:"eacute";s:4:"-100";s:6:"ecaron";s:4:"-100";s:11:"ecircumflex";s:4:"-100";s:9:"edieresis";s:4:"-100";s:10:"edotaccent";s:4:"-100";s:6:"egrave";s:4:"-100";s:7:"emacron";s:4:"-100";s:7:"eogonek";s:4:"-100";s:6:"hyphen";s:3:"-74";s:1:"i";s:3:"-37";s:6:"iacute";s:3:"-37";s:11:"icircumflex";s:3:"-37";s:9:"idieresis";s:3:"-37";s:6:"igrave";s:3:"-37";s:7:"imacron";s:3:"-37";s:7:"iogonek";s:3:"-37";s:1:"o";s:4:"-100";s:6:"oacute";s:4:"-100";s:11:"ocircumflex";s:4:"-100";s:9:"odieresis";s:4:"-100";s:6:"ograve";s:4:"-100";s:13:"ohungarumlaut";s:4:"-100";s:7:"omacron";s:4:"-100";s:6:"oslash";s:4:"-100";s:6:"otilde";s:4:"-100";s:6:"period";s:4:"-145";s:9:"semicolon";s:3:"-92";s:1:"u";s:3:"-92";s:6:"uacute";s:3:"-92";s:11:"ucircumflex";s:3:"-92";s:9:"udieresis";s:3:"-92";s:6:"ugrave";s:3:"-92";s:13:"uhungarumlaut";s:3:"-92";s:7:"umacron";s:3:"-92";s:7:"uogonek";s:3:"-92";s:5:"uring";s:3:"-92";}s:1:"W";a:67:{s:1:"A";s:4:"-120";s:6:"Aacute";s:4:"-120";s:6:"Abreve";s:4:"-120";s:11:"Acircumflex";s:4:"-120";s:9:"Adieresis";s:4:"-120";s:6:"Agrave";s:4:"-120";s:7:"Amacron";s:4:"-120";s:7:"Aogonek";s:4:"-120";s:5:"Aring";s:4:"-120";s:6:"Atilde";s:4:"-120";s:1:"O";s:3:"-10";s:6:"Oacute";s:3:"-10";s:11:"Ocircumflex";s:3:"-10";s:9:"Odieresis";s:3:"-10";s:6:"Ograve";s:3:"-10";s:13:"Ohungarumlaut";s:3:"-10";s:7:"Omacron";s:3:"-10";s:6:"Oslash";s:3:"-10";s:6:"Otilde";s:3:"-10";s:1:"a";s:3:"-65";s:6:"aacute";s:3:"-65";s:6:"abreve";s:3:"-65";s:11:"acircumflex";s:3:"-65";s:9:"adieresis";s:3:"-65";s:6:"agrave";s:3:"-65";s:7:"amacron";s:3:"-65";s:7:"aogonek";s:3:"-65";s:5:"aring";s:3:"-65";s:6:"atilde";s:3:"-65";s:5:"colon";s:3:"-55";s:5:"comma";s:3:"-92";s:1:"e";s:3:"-65";s:6:"eacute";s:3:"-65";s:6:"ecaron";s:3:"-65";s:11:"ecircumflex";s:3:"-65";s:9:"edieresis";s:3:"-65";s:10:"edotaccent";s:3:"-65";s:6:"egrave";s:3:"-65";s:7:"emacron";s:3:"-65";s:7:"eogonek";s:3:"-65";s:6:"hyphen";s:3:"-37";s:1:"i";s:3:"-18";s:6:"iacute";s:3:"-18";s:7:"iogonek";s:3:"-18";s:1:"o";s:3:"-75";s:6:"oacute";s:3:"-75";s:11:"ocircumflex";s:3:"-75";s:9:"odieresis";s:3:"-75";s:6:"ograve";s:3:"-75";s:13:"ohungarumlaut";s:3:"-75";s:7:"omacron";s:3:"-75";s:6:"oslash";s:3:"-75";s:6:"otilde";s:3:"-75";s:6:"period";s:3:"-92";s:9:"semicolon";s:3:"-55";s:1:"u";s:3:"-50";s:6:"uacute";s:3:"-50";s:11:"ucircumflex";s:3:"-50";s:9:"udieresis";s:3:"-50";s:6:"ugrave";s:3:"-50";s:13:"uhungarumlaut";s:3:"-50";s:7:"umacron";s:3:"-50";s:7:"uogonek";s:3:"-50";s:5:"uring";s:3:"-50";s:1:"y";s:3:"-60";s:6:"yacute";s:3:"-60";s:9:"ydieresis";s:3:"-60";}s:1:"Y";a:64:{s:1:"A";s:4:"-110";s:6:"Aacute";s:4:"-110";s:6:"Abreve";s:4:"-110";s:11:"Acircumflex";s:4:"-110";s:9:"Adieresis";s:4:"-110";s:6:"Agrave";s:4:"-110";s:7:"Amacron";s:4:"-110";s:7:"Aogonek";s:4:"-110";s:5:"Aring";s:4:"-110";s:6:"Atilde";s:4:"-110";s:1:"O";s:3:"-35";s:6:"Oacute";s:3:"-35";s:11:"Ocircumflex";s:3:"-35";s:9:"Odieresis";s:3:"-35";s:6:"Ograve";s:3:"-35";s:13:"Ohungarumlaut";s:3:"-35";s:7:"Omacron";s:3:"-35";s:6:"Oslash";s:3:"-35";s:6:"Otilde";s:3:"-35";s:1:"a";s:3:"-85";s:6:"aacute";s:3:"-85";s:6:"abreve";s:3:"-85";s:11:"acircumflex";s:3:"-85";s:9:"adieresis";s:3:"-85";s:6:"agrave";s:3:"-85";s:7:"amacron";s:3:"-85";s:7:"aogonek";s:3:"-85";s:5:"aring";s:3:"-85";s:6:"atilde";s:3:"-85";s:5:"colon";s:3:"-92";s:5:"comma";s:3:"-92";s:1:"e";s:4:"-111";s:6:"eacute";s:4:"-111";s:6:"ecaron";s:4:"-111";s:11:"ecircumflex";s:4:"-111";s:9:"edieresis";s:3:"-71";s:10:"edotaccent";s:4:"-111";s:6:"egrave";s:3:"-71";s:7:"emacron";s:3:"-71";s:7:"eogonek";s:4:"-111";s:6:"hyphen";s:3:"-92";s:1:"i";s:3:"-37";s:6:"iacute";s:3:"-37";s:7:"iogonek";s:3:"-37";s:1:"o";s:4:"-111";s:6:"oacute";s:4:"-111";s:11:"ocircumflex";s:4:"-111";s:9:"odieresis";s:4:"-111";s:6:"ograve";s:4:"-111";s:13:"ohungarumlaut";s:4:"-111";s:7:"omacron";s:4:"-111";s:6:"oslash";s:4:"-111";s:6:"otilde";s:4:"-111";s:6:"period";s:3:"-92";s:9:"semicolon";s:3:"-92";s:1:"u";s:3:"-92";s:6:"uacute";s:3:"-92";s:11:"ucircumflex";s:3:"-92";s:9:"udieresis";s:3:"-92";s:6:"ugrave";s:3:"-92";s:13:"uhungarumlaut";s:3:"-92";s:7:"umacron";s:3:"-92";s:7:"uogonek";s:3:"-92";s:5:"uring";s:3:"-92";}s:6:"Yacute";a:64:{s:1:"A";s:4:"-110";s:6:"Aacute";s:4:"-110";s:6:"Abreve";s:4:"-110";s:11:"Acircumflex";s:4:"-110";s:9:"Adieresis";s:4:"-110";s:6:"Agrave";s:4:"-110";s:7:"Amacron";s:4:"-110";s:7:"Aogonek";s:4:"-110";s:5:"Aring";s:4:"-110";s:6:"Atilde";s:4:"-110";s:1:"O";s:3:"-35";s:6:"Oacute";s:3:"-35";s:11:"Ocircumflex";s:3:"-35";s:9:"Odieresis";s:3:"-35";s:6:"Ograve";s:3:"-35";s:13:"Ohungarumlaut";s:3:"-35";s:7:"Omacron";s:3:"-35";s:6:"Oslash";s:3:"-35";s:6:"Otilde";s:3:"-35";s:1:"a";s:3:"-85";s:6:"aacute";s:3:"-85";s:6:"abreve";s:3:"-85";s:11:"acircumflex";s:3:"-85";s:9:"adieresis";s:3:"-85";s:6:"agrave";s:3:"-85";s:7:"amacron";s:3:"-85";s:7:"aogonek";s:3:"-85";s:5:"aring";s:3:"-85";s:6:"atilde";s:3:"-85";s:5:"colon";s:3:"-92";s:5:"comma";s:3:"-92";s:1:"e";s:4:"-111";s:6:"eacute";s:4:"-111";s:6:"ecaron";s:4:"-111";s:11:"ecircumflex";s:4:"-111";s:9:"edieresis";s:3:"-71";s:10:"edotaccent";s:4:"-111";s:6:"egrave";s:3:"-71";s:7:"emacron";s:3:"-71";s:7:"eogonek";s:4:"-111";s:6:"hyphen";s:3:"-92";s:1:"i";s:3:"-37";s:6:"iacute";s:3:"-37";s:7:"iogonek";s:3:"-37";s:1:"o";s:4:"-111";s:6:"oacute";s:4:"-111";s:11:"ocircumflex";s:4:"-111";s:9:"odieresis";s:4:"-111";s:6:"ograve";s:4:"-111";s:13:"ohungarumlaut";s:4:"-111";s:7:"omacron";s:4:"-111";s:6:"oslash";s:4:"-111";s:6:"otilde";s:4:"-111";s:6:"period";s:3:"-92";s:9:"semicolon";s:3:"-92";s:1:"u";s:3:"-92";s:6:"uacute";s:3:"-92";s:11:"ucircumflex";s:3:"-92";s:9:"udieresis";s:3:"-92";s:6:"ugrave";s:3:"-92";s:13:"uhungarumlaut";s:3:"-92";s:7:"umacron";s:3:"-92";s:7:"uogonek";s:3:"-92";s:5:"uring";s:3:"-92";}s:9:"Ydieresis";a:64:{s:1:"A";s:4:"-110";s:6:"Aacute";s:4:"-110";s:6:"Abreve";s:4:"-110";s:11:"Acircumflex";s:4:"-110";s:9:"Adieresis";s:4:"-110";s:6:"Agrave";s:4:"-110";s:7:"Amacron";s:4:"-110";s:7:"Aogonek";s:4:"-110";s:5:"Aring";s:4:"-110";s:6:"Atilde";s:4:"-110";s:1:"O";s:3:"-35";s:6:"Oacute";s:3:"-35";s:11:"Ocircumflex";s:3:"-35";s:9:"Odieresis";s:3:"-35";s:6:"Ograve";s:3:"-35";s:13:"Ohungarumlaut";s:3:"-35";s:7:"Omacron";s:3:"-35";s:6:"Oslash";s:3:"-35";s:6:"Otilde";s:3:"-35";s:1:"a";s:3:"-85";s:6:"aacute";s:3:"-85";s:6:"abreve";s:3:"-85";s:11:"acircumflex";s:3:"-85";s:9:"adieresis";s:3:"-85";s:6:"agrave";s:3:"-85";s:7:"amacron";s:3:"-85";s:7:"aogonek";s:3:"-85";s:5:"aring";s:3:"-85";s:6:"atilde";s:3:"-85";s:5:"colon";s:3:"-92";s:5:"comma";s:3:"-92";s:1:"e";s:4:"-111";s:6:"eacute";s:4:"-111";s:6:"ecaron";s:4:"-111";s:11:"ecircumflex";s:4:"-111";s:9:"edieresis";s:3:"-71";s:10:"edotaccent";s:4:"-111";s:6:"egrave";s:3:"-71";s:7:"emacron";s:3:"-71";s:7:"eogonek";s:4:"-111";s:6:"hyphen";s:3:"-92";s:1:"i";s:3:"-37";s:6:"iacute";s:3:"-37";s:7:"iogonek";s:3:"-37";s:1:"o";s:4:"-111";s:6:"oacute";s:4:"-111";s:11:"ocircumflex";s:4:"-111";s:9:"odieresis";s:4:"-111";s:6:"ograve";s:4:"-111";s:13:"ohungarumlaut";s:4:"-111";s:7:"omacron";s:4:"-111";s:6:"oslash";s:4:"-111";s:6:"otilde";s:4:"-111";s:6:"period";s:3:"-92";s:9:"semicolon";s:3:"-92";s:1:"u";s:3:"-92";s:6:"uacute";s:3:"-92";s:11:"ucircumflex";s:3:"-92";s:9:"udieresis";s:3:"-92";s:6:"ugrave";s:3:"-92";s:13:"uhungarumlaut";s:3:"-92";s:7:"umacron";s:3:"-92";s:7:"uogonek";s:3:"-92";s:5:"uring";s:3:"-92";}s:1:"a";a:1:{s:1:"v";s:3:"-25";}s:6:"aacute";a:1:{s:1:"v";s:3:"-25";}s:6:"abreve";a:1:{s:1:"v";s:3:"-25";}s:11:"acircumflex";a:1:{s:1:"v";s:3:"-25";}s:9:"adieresis";a:1:{s:1:"v";s:3:"-25";}s:6:"agrave";a:1:{s:1:"v";s:3:"-25";}s:7:"amacron";a:1:{s:1:"v";s:3:"-25";}s:7:"aogonek";a:1:{s:1:"v";s:3:"-25";}s:5:"aring";a:1:{s:1:"v";s:3:"-25";}s:6:"atilde";a:1:{s:1:"v";s:3:"-25";}s:1:"b";a:12:{s:1:"b";s:3:"-10";s:6:"period";s:3:"-40";s:1:"u";s:3:"-20";s:6:"uacute";s:3:"-20";s:11:"ucircumflex";s:3:"-20";s:9:"udieresis";s:3:"-20";s:6:"ugrave";s:3:"-20";s:13:"uhungarumlaut";s:3:"-20";s:7:"umacron";s:3:"-20";s:7:"uogonek";s:3:"-20";s:5:"uring";s:3:"-20";s:1:"v";s:3:"-15";}s:5:"comma";a:2:{s:13:"quotedblright";s:3:"-45";s:10:"quoteright";s:3:"-55";}s:1:"d";a:1:{s:1:"w";s:3:"-15";}s:6:"dcroat";a:1:{s:1:"w";s:3:"-15";}s:1:"e";a:1:{s:1:"v";s:3:"-15";}s:6:"eacute";a:1:{s:1:"v";s:3:"-15";}s:6:"ecaron";a:1:{s:1:"v";s:3:"-15";}s:11:"ecircumflex";a:1:{s:1:"v";s:3:"-15";}s:9:"edieresis";a:1:{s:1:"v";s:3:"-15";}s:10:"edotaccent";a:1:{s:1:"v";s:3:"-15";}s:6:"egrave";a:1:{s:1:"v";s:3:"-15";}s:7:"emacron";a:1:{s:1:"v";s:3:"-15";}s:7:"eogonek";a:1:{s:1:"v";s:3:"-15";}s:1:"f";a:15:{s:5:"comma";s:3:"-15";s:8:"dotlessi";s:3:"-35";s:1:"i";s:3:"-25";s:1:"o";s:3:"-25";s:6:"oacute";s:3:"-25";s:11:"ocircumflex";s:3:"-25";s:9:"odieresis";s:3:"-25";s:6:"ograve";s:3:"-25";s:13:"ohungarumlaut";s:3:"-25";s:7:"omacron";s:3:"-25";s:6:"oslash";s:3:"-25";s:6:"otilde";s:3:"-25";s:6:"period";s:3:"-15";s:13:"quotedblright";s:2:"50";s:10:"quoteright";s:2:"55";}s:1:"g";a:1:{s:6:"period";s:3:"-15";}s:6:"gbreve";a:1:{s:6:"period";s:3:"-15";}s:12:"gcommaaccent";a:1:{s:6:"period";s:3:"-15";}s:1:"h";a:3:{s:1:"y";s:3:"-15";s:6:"yacute";s:3:"-15";s:9:"ydieresis";s:3:"-15";}s:1:"i";a:1:{s:1:"v";s:3:"-10";}s:6:"iacute";a:1:{s:1:"v";s:3:"-10";}s:11:"icircumflex";a:1:{s:1:"v";s:3:"-10";}s:9:"idieresis";a:1:{s:1:"v";s:3:"-10";}s:6:"igrave";a:1:{s:1:"v";s:3:"-10";}s:7:"imacron";a:1:{s:1:"v";s:3:"-10";}s:7:"iogonek";a:1:{s:1:"v";s:3:"-10";}s:1:"k";a:21:{s:1:"e";s:3:"-10";s:6:"eacute";s:3:"-10";s:6:"ecaron";s:3:"-10";s:11:"ecircumflex";s:3:"-10";s:9:"edieresis";s:3:"-10";s:10:"edotaccent";s:3:"-10";s:6:"egrave";s:3:"-10";s:7:"emacron";s:3:"-10";s:7:"eogonek";s:3:"-10";s:1:"o";s:3:"-15";s:6:"oacute";s:3:"-15";s:11:"ocircumflex";s:3:"-15";s:9:"odieresis";s:3:"-15";s:6:"ograve";s:3:"-15";s:13:"ohungarumlaut";s:3:"-15";s:7:"omacron";s:3:"-15";s:6:"oslash";s:3:"-15";s:6:"otilde";s:3:"-15";s:1:"y";s:3:"-15";s:6:"yacute";s:3:"-15";s:9:"ydieresis";s:3:"-15";}s:12:"kcommaaccent";a:21:{s:1:"e";s:3:"-10";s:6:"eacute";s:3:"-10";s:6:"ecaron";s:3:"-10";s:11:"ecircumflex";s:3:"-10";s:9:"edieresis";s:3:"-10";s:10:"edotaccent";s:3:"-10";s:6:"egrave";s:3:"-10";s:7:"emacron";s:3:"-10";s:7:"eogonek";s:3:"-10";s:1:"o";s:3:"-15";s:6:"oacute";s:3:"-15";s:11:"ocircumflex";s:3:"-15";s:9:"odieresis";s:3:"-15";s:6:"ograve";s:3:"-15";s:13:"ohungarumlaut";s:3:"-15";s:7:"omacron";s:3:"-15";s:6:"oslash";s:3:"-15";s:6:"otilde";s:3:"-15";s:1:"y";s:3:"-15";s:6:"yacute";s:3:"-15";s:9:"ydieresis";s:3:"-15";}s:1:"n";a:1:{s:1:"v";s:3:"-40";}s:6:"nacute";a:1:{s:1:"v";s:3:"-40";}s:6:"ncaron";a:1:{s:1:"v";s:3:"-40";}s:12:"ncommaaccent";a:1:{s:1:"v";s:3:"-40";}s:6:"ntilde";a:1:{s:1:"v";s:3:"-40";}s:1:"o";a:2:{s:1:"v";s:3:"-10";s:1:"w";s:3:"-10";}s:6:"oacute";a:2:{s:1:"v";s:3:"-10";s:1:"w";s:3:"-10";}s:11:"ocircumflex";a:2:{s:1:"v";s:3:"-10";s:1:"w";s:3:"-10";}s:9:"odieresis";a:2:{s:1:"v";s:3:"-10";s:1:"w";s:3:"-10";}s:6:"ograve";a:2:{s:1:"v";s:3:"-10";s:1:"w";s:3:"-10";}s:13:"ohungarumlaut";a:2:{s:1:"v";s:3:"-10";s:1:"w";s:3:"-10";}s:7:"omacron";a:2:{s:1:"v";s:3:"-10";s:1:"w";s:3:"-10";}s:6:"oslash";a:2:{s:1:"v";s:3:"-10";s:1:"w";s:3:"-10";}s:6:"otilde";a:2:{s:1:"v";s:3:"-10";s:1:"w";s:3:"-10";}s:6:"period";a:2:{s:13:"quotedblright";s:3:"-55";s:10:"quoteright";s:3:"-55";}s:12:"quotedblleft";a:10:{s:1:"A";s:3:"-10";s:6:"Aacute";s:3:"-10";s:6:"Abreve";s:3:"-10";s:11:"Acircumflex";s:3:"-10";s:9:"Adieresis";s:3:"-10";s:6:"Agrave";s:3:"-10";s:7:"Amacron";s:3:"-10";s:7:"Aogonek";s:3:"-10";s:5:"Aring";s:3:"-10";s:6:"Atilde";s:3:"-10";}s:9:"quoteleft";a:11:{s:1:"A";s:3:"-10";s:6:"Aacute";s:3:"-10";s:6:"Abreve";s:3:"-10";s:11:"Acircumflex";s:3:"-10";s:9:"Adieresis";s:3:"-10";s:6:"Agrave";s:3:"-10";s:7:"Amacron";s:3:"-10";s:7:"Aogonek";s:3:"-10";s:5:"Aring";s:3:"-10";s:6:"Atilde";s:3:"-10";s:9:"quoteleft";s:3:"-63";}s:10:"quoteright";a:14:{s:1:"d";s:3:"-20";s:6:"dcroat";s:3:"-20";s:10:"quoteright";s:3:"-63";s:1:"r";s:3:"-20";s:6:"racute";s:3:"-20";s:6:"rcaron";s:3:"-20";s:12:"rcommaaccent";s:3:"-20";s:1:"s";s:3:"-37";s:6:"sacute";s:3:"-37";s:6:"scaron";s:3:"-37";s:8:"scedilla";s:3:"-37";s:12:"scommaaccent";s:3:"-37";s:5:"space";s:3:"-74";s:1:"v";s:3:"-20";}s:1:"r";a:36:{s:1:"c";s:3:"-18";s:6:"cacute";s:3:"-18";s:6:"ccaron";s:3:"-18";s:8:"ccedilla";s:3:"-18";s:5:"comma";s:3:"-92";s:1:"e";s:3:"-18";s:6:"eacute";s:3:"-18";s:6:"ecaron";s:3:"-18";s:11:"ecircumflex";s:3:"-18";s:9:"edieresis";s:3:"-18";s:10:"edotaccent";s:3:"-18";s:6:"egrave";s:3:"-18";s:7:"emacron";s:3:"-18";s:7:"eogonek";s:3:"-18";s:1:"g";s:3:"-10";s:6:"gbreve";s:3:"-10";s:12:"gcommaaccent";s:3:"-10";s:6:"hyphen";s:3:"-37";s:1:"n";s:3:"-15";s:6:"nacute";s:3:"-15";s:6:"ncaron";s:3:"-15";s:12:"ncommaaccent";s:3:"-15";s:6:"ntilde";s:3:"-15";s:1:"o";s:3:"-18";s:6:"oacute";s:3:"-18";s:11:"ocircumflex";s:3:"-18";s:9:"odieresis";s:3:"-18";s:6:"ograve";s:3:"-18";s:13:"ohungarumlaut";s:3:"-18";s:7:"omacron";s:3:"-18";s:6:"oslash";s:3:"-18";s:6:"otilde";s:3:"-18";s:1:"p";s:3:"-10";s:6:"period";s:4:"-100";s:1:"q";s:3:"-18";s:1:"v";s:3:"-10";}s:6:"racute";a:36:{s:1:"c";s:3:"-18";s:6:"cacute";s:3:"-18";s:6:"ccaron";s:3:"-18";s:8:"ccedilla";s:3:"-18";s:5:"comma";s:3:"-92";s:1:"e";s:3:"-18";s:6:"eacute";s:3:"-18";s:6:"ecaron";s:3:"-18";s:11:"ecircumflex";s:3:"-18";s:9:"edieresis";s:3:"-18";s:10:"edotaccent";s:3:"-18";s:6:"egrave";s:3:"-18";s:7:"emacron";s:3:"-18";s:7:"eogonek";s:3:"-18";s:1:"g";s:3:"-10";s:6:"gbreve";s:3:"-10";s:12:"gcommaaccent";s:3:"-10";s:6:"hyphen";s:3:"-37";s:1:"n";s:3:"-15";s:6:"nacute";s:3:"-15";s:6:"ncaron";s:3:"-15";s:12:"ncommaaccent";s:3:"-15";s:6:"ntilde";s:3:"-15";s:1:"o";s:3:"-18";s:6:"oacute";s:3:"-18";s:11:"ocircumflex";s:3:"-18";s:9:"odieresis";s:3:"-18";s:6:"ograve";s:3:"-18";s:13:"ohungarumlaut";s:3:"-18";s:7:"omacron";s:3:"-18";s:6:"oslash";s:3:"-18";s:6:"otilde";s:3:"-18";s:1:"p";s:3:"-10";s:6:"period";s:4:"-100";s:1:"q";s:3:"-18";s:1:"v";s:3:"-10";}s:6:"rcaron";a:36:{s:1:"c";s:3:"-18";s:6:"cacute";s:3:"-18";s:6:"ccaron";s:3:"-18";s:8:"ccedilla";s:3:"-18";s:5:"comma";s:3:"-92";s:1:"e";s:3:"-18";s:6:"eacute";s:3:"-18";s:6:"ecaron";s:3:"-18";s:11:"ecircumflex";s:3:"-18";s:9:"edieresis";s:3:"-18";s:10:"edotaccent";s:3:"-18";s:6:"egrave";s:3:"-18";s:7:"emacron";s:3:"-18";s:7:"eogonek";s:3:"-18";s:1:"g";s:3:"-10";s:6:"gbreve";s:3:"-10";s:12:"gcommaaccent";s:3:"-10";s:6:"hyphen";s:3:"-37";s:1:"n";s:3:"-15";s:6:"nacute";s:3:"-15";s:6:"ncaron";s:3:"-15";s:12:"ncommaaccent";s:3:"-15";s:6:"ntilde";s:3:"-15";s:1:"o";s:3:"-18";s:6:"oacute";s:3:"-18";s:11:"ocircumflex";s:3:"-18";s:9:"odieresis";s:3:"-18";s:6:"ograve";s:3:"-18";s:13:"ohungarumlaut";s:3:"-18";s:7:"omacron";s:3:"-18";s:6:"oslash";s:3:"-18";s:6:"otilde";s:3:"-18";s:1:"p";s:3:"-10";s:6:"period";s:4:"-100";s:1:"q";s:3:"-18";s:1:"v";s:3:"-10";}s:12:"rcommaaccent";a:36:{s:1:"c";s:3:"-18";s:6:"cacute";s:3:"-18";s:6:"ccaron";s:3:"-18";s:8:"ccedilla";s:3:"-18";s:5:"comma";s:3:"-92";s:1:"e";s:3:"-18";s:6:"eacute";s:3:"-18";s:6:"ecaron";s:3:"-18";s:11:"ecircumflex";s:3:"-18";s:9:"edieresis";s:3:"-18";s:10:"edotaccent";s:3:"-18";s:6:"egrave";s:3:"-18";s:7:"emacron";s:3:"-18";s:7:"eogonek";s:3:"-18";s:1:"g";s:3:"-10";s:6:"gbreve";s:3:"-10";s:12:"gcommaaccent";s:3:"-10";s:6:"hyphen";s:3:"-37";s:1:"n";s:3:"-15";s:6:"nacute";s:3:"-15";s:6:"ncaron";s:3:"-15";s:12:"ncommaaccent";s:3:"-15";s:6:"ntilde";s:3:"-15";s:1:"o";s:3:"-18";s:6:"oacute";s:3:"-18";s:11:"ocircumflex";s:3:"-18";s:9:"odieresis";s:3:"-18";s:6:"ograve";s:3:"-18";s:13:"ohungarumlaut";s:3:"-18";s:7:"omacron";s:3:"-18";s:6:"oslash";s:3:"-18";s:6:"otilde";s:3:"-18";s:1:"p";s:3:"-10";s:6:"period";s:4:"-100";s:1:"q";s:3:"-18";s:1:"v";s:3:"-10";}s:5:"space";a:18:{s:1:"A";s:3:"-55";s:6:"Aacute";s:3:"-55";s:6:"Abreve";s:3:"-55";s:11:"Acircumflex";s:3:"-55";s:9:"Adieresis";s:3:"-55";s:6:"Agrave";s:3:"-55";s:7:"Amacron";s:3:"-55";s:7:"Aogonek";s:3:"-55";s:5:"Aring";s:3:"-55";s:6:"Atilde";s:3:"-55";s:1:"T";s:3:"-30";s:6:"Tcaron";s:3:"-30";s:12:"Tcommaaccent";s:3:"-30";s:1:"V";s:3:"-45";s:1:"W";s:3:"-30";s:1:"Y";s:3:"-55";s:6:"Yacute";s:3:"-55";s:9:"Ydieresis";s:3:"-55";}s:1:"v";a:30:{s:1:"a";s:3:"-10";s:6:"aacute";s:3:"-10";s:6:"abreve";s:3:"-10";s:11:"acircumflex";s:3:"-10";s:9:"adieresis";s:3:"-10";s:6:"agrave";s:3:"-10";s:7:"amacron";s:3:"-10";s:7:"aogonek";s:3:"-10";s:5:"aring";s:3:"-10";s:6:"atilde";s:3:"-10";s:5:"comma";s:3:"-55";s:1:"e";s:3:"-10";s:6:"eacute";s:3:"-10";s:6:"ecaron";s:3:"-10";s:11:"ecircumflex";s:3:"-10";s:9:"edieresis";s:3:"-10";s:10:"edotaccent";s:3:"-10";s:6:"egrave";s:3:"-10";s:7:"emacron";s:3:"-10";s:7:"eogonek";s:3:"-10";s:1:"o";s:3:"-10";s:6:"oacute";s:3:"-10";s:11:"ocircumflex";s:3:"-10";s:9:"odieresis";s:3:"-10";s:6:"ograve";s:3:"-10";s:13:"ohungarumlaut";s:3:"-10";s:7:"omacron";s:3:"-10";s:6:"oslash";s:3:"-10";s:6:"otilde";s:3:"-10";s:6:"period";s:3:"-70";}s:1:"w";a:11:{s:5:"comma";s:3:"-55";s:1:"o";s:3:"-10";s:6:"oacute";s:3:"-10";s:11:"ocircumflex";s:3:"-10";s:9:"odieresis";s:3:"-10";s:6:"ograve";s:3:"-10";s:13:"ohungarumlaut";s:3:"-10";s:7:"omacron";s:3:"-10";s:6:"oslash";s:3:"-10";s:6:"otilde";s:3:"-10";s:6:"period";s:3:"-70";}s:1:"y";a:20:{s:5:"comma";s:3:"-55";s:1:"e";s:3:"-10";s:6:"eacute";s:3:"-10";s:6:"ecaron";s:3:"-10";s:11:"ecircumflex";s:3:"-10";s:9:"edieresis";s:3:"-10";s:10:"edotaccent";s:3:"-10";s:6:"egrave";s:3:"-10";s:7:"emacron";s:3:"-10";s:7:"eogonek";s:3:"-10";s:1:"o";s:3:"-25";s:6:"oacute";s:3:"-25";s:11:"ocircumflex";s:3:"-25";s:9:"odieresis";s:3:"-25";s:6:"ograve";s:3:"-25";s:13:"ohungarumlaut";s:3:"-25";s:7:"omacron";s:3:"-25";s:6:"oslash";s:3:"-25";s:6:"otilde";s:3:"-25";s:6:"period";s:3:"-70";}s:6:"yacute";a:20:{s:5:"comma";s:3:"-55";s:1:"e";s:3:"-10";s:6:"eacute";s:3:"-10";s:6:"ecaron";s:3:"-10";s:11:"ecircumflex";s:3:"-10";s:9:"edieresis";s:3:"-10";s:10:"edotaccent";s:3:"-10";s:6:"egrave";s:3:"-10";s:7:"emacron";s:3:"-10";s:7:"eogonek";s:3:"-10";s:1:"o";s:3:"-25";s:6:"oacute";s:3:"-25";s:11:"ocircumflex";s:3:"-25";s:9:"odieresis";s:3:"-25";s:6:"ograve";s:3:"-25";s:13:"ohungarumlaut";s:3:"-25";s:7:"omacron";s:3:"-25";s:6:"oslash";s:3:"-25";s:6:"otilde";s:3:"-25";s:6:"period";s:3:"-70";}s:9:"ydieresis";a:20:{s:5:"comma";s:3:"-55";s:1:"e";s:3:"-10";s:6:"eacute";s:3:"-10";s:6:"ecaron";s:3:"-10";s:11:"ecircumflex";s:3:"-10";s:9:"edieresis";s:3:"-10";s:10:"edotaccent";s:3:"-10";s:6:"egrave";s:3:"-10";s:7:"emacron";s:3:"-10";s:7:"eogonek";s:3:"-10";s:1:"o";s:3:"-25";s:6:"oacute";s:3:"-25";s:11:"ocircumflex";s:3:"-25";s:9:"odieresis";s:3:"-25";s:6:"ograve";s:3:"-25";s:13:"ohungarumlaut";s:3:"-25";s:7:"omacron";s:3:"-25";s:6:"oslash";s:3:"-25";s:6:"otilde";s:3:"-25";s:6:"period";s:3:"-70";}}s:9:"_version_";i:1;}
\ No newline at end of file diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/PDF/default/templates/fonts/php_Times-BoldItalic.afm b/buildscripts/PhpDocumentor/phpDocumentor/Converters/PDF/default/templates/fonts/php_Times-BoldItalic.afm new file mode 100755 index 00000000..6a8c171a --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/PDF/default/templates/fonts/php_Times-BoldItalic.afm @@ -0,0 +1 @@ +a:22:{s:8:"FontName";s:16:"Times-BoldItalic";s:8:"FullName";s:17:"Times Bold Italic";s:10:"FamilyName";s:5:"Times";s:6:"Weight";s:4:"Bold";s:11:"ItalicAngle";s:3:"-15";s:12:"IsFixedPitch";s:5:"false";s:12:"CharacterSet";s:13:"ExtendedRoman";s:8:"FontBBox";a:4:{i:0;s:4:"-200";i:1;s:4:"-218";i:2;s:3:"996";i:3;s:3:"921";}s:17:"UnderlinePosition";s:4:"-100";s:18:"UnderlineThickness";s:2:"50";s:7:"Version";s:7:"002.000";s:14:"EncodingScheme";s:21:"AdobeStandardEncoding";s:9:"CapHeight";s:3:"669";s:7:"XHeight";s:3:"462";s:8:"Ascender";s:3:"683";s:9:"Descender";s:4:"-217";s:5:"StdHW";s:2:"42";s:5:"StdVW";s:3:"121";s:16:"StartCharMetrics";s:3:"315";s:1:"C";a:464:{i:32;a:4:{s:1:"C";s:2:"32";s:2:"WX";s:3:"250";s:1:"N";s:5:"space";s:1:"B";a:4:{i:0;s:1:"0";i:1;s:1:"0";i:2;s:1:"0";i:3;s:1:"0";}}s:5:"space";a:4:{s:1:"C";s:2:"32";s:2:"WX";s:3:"250";s:1:"N";s:5:"space";s:1:"B";a:4:{i:0;s:1:"0";i:1;s:1:"0";i:2;s:1:"0";i:3;s:1:"0";}}i:33;a:4:{s:1:"C";s:2:"33";s:2:"WX";s:3:"389";s:1:"N";s:6:"exclam";s:1:"B";a:4:{i:0;s:2:"67";i:1;s:3:"-13";i:2;s:3:"370";i:3;s:3:"684";}}s:6:"exclam";a:4:{s:1:"C";s:2:"33";s:2:"WX";s:3:"389";s:1:"N";s:6:"exclam";s:1:"B";a:4:{i:0;s:2:"67";i:1;s:3:"-13";i:2;s:3:"370";i:3;s:3:"684";}}i:34;a:4:{s:1:"C";s:2:"34";s:2:"WX";s:3:"555";s:1:"N";s:8:"quotedbl";s:1:"B";a:4:{i:0;s:3:"136";i:1;s:3:"398";i:2;s:3:"536";i:3;s:3:"685";}}s:8:"quotedbl";a:4:{s:1:"C";s:2:"34";s:2:"WX";s:3:"555";s:1:"N";s:8:"quotedbl";s:1:"B";a:4:{i:0;s:3:"136";i:1;s:3:"398";i:2;s:3:"536";i:3;s:3:"685";}}i:35;a:4:{s:1:"C";s:2:"35";s:2:"WX";s:3:"500";s:1:"N";s:10:"numbersign";s:1:"B";a:4:{i:0;s:3:"-33";i:1;s:1:"0";i:2;s:3:"533";i:3;s:3:"700";}}s:10:"numbersign";a:4:{s:1:"C";s:2:"35";s:2:"WX";s:3:"500";s:1:"N";s:10:"numbersign";s:1:"B";a:4:{i:0;s:3:"-33";i:1;s:1:"0";i:2;s:3:"533";i:3;s:3:"700";}}i:36;a:4:{s:1:"C";s:2:"36";s:2:"WX";s:3:"500";s:1:"N";s:6:"dollar";s:1:"B";a:4:{i:0;s:3:"-20";i:1;s:4:"-100";i:2;s:3:"497";i:3;s:3:"733";}}s:6:"dollar";a:4:{s:1:"C";s:2:"36";s:2:"WX";s:3:"500";s:1:"N";s:6:"dollar";s:1:"B";a:4:{i:0;s:3:"-20";i:1;s:4:"-100";i:2;s:3:"497";i:3;s:3:"733";}}i:37;a:4:{s:1:"C";s:2:"37";s:2:"WX";s:3:"833";s:1:"N";s:7:"percent";s:1:"B";a:4:{i:0;s:2:"39";i:1;s:3:"-10";i:2;s:3:"793";i:3;s:3:"692";}}s:7:"percent";a:4:{s:1:"C";s:2:"37";s:2:"WX";s:3:"833";s:1:"N";s:7:"percent";s:1:"B";a:4:{i:0;s:2:"39";i:1;s:3:"-10";i:2;s:3:"793";i:3;s:3:"692";}}i:38;a:4:{s:1:"C";s:2:"38";s:2:"WX";s:3:"778";s:1:"N";s:9:"ampersand";s:1:"B";a:4:{i:0;s:1:"5";i:1;s:3:"-19";i:2;s:3:"699";i:3;s:3:"682";}}s:9:"ampersand";a:4:{s:1:"C";s:2:"38";s:2:"WX";s:3:"778";s:1:"N";s:9:"ampersand";s:1:"B";a:4:{i:0;s:1:"5";i:1;s:3:"-19";i:2;s:3:"699";i:3;s:3:"682";}}i:39;a:4:{s:1:"C";s:2:"39";s:2:"WX";s:3:"333";s:1:"N";s:10:"quoteright";s:1:"B";a:4:{i:0;s:2:"98";i:1;s:3:"369";i:2;s:3:"302";i:3;s:3:"685";}}s:10:"quoteright";a:4:{s:1:"C";s:2:"39";s:2:"WX";s:3:"333";s:1:"N";s:10:"quoteright";s:1:"B";a:4:{i:0;s:2:"98";i:1;s:3:"369";i:2;s:3:"302";i:3;s:3:"685";}}i:40;a:4:{s:1:"C";s:2:"40";s:2:"WX";s:3:"333";s:1:"N";s:9:"parenleft";s:1:"B";a:4:{i:0;s:2:"28";i:1;s:4:"-179";i:2;s:3:"344";i:3;s:3:"685";}}s:9:"parenleft";a:4:{s:1:"C";s:2:"40";s:2:"WX";s:3:"333";s:1:"N";s:9:"parenleft";s:1:"B";a:4:{i:0;s:2:"28";i:1;s:4:"-179";i:2;s:3:"344";i:3;s:3:"685";}}i:41;a:4:{s:1:"C";s:2:"41";s:2:"WX";s:3:"333";s:1:"N";s:10:"parenright";s:1:"B";a:4:{i:0;s:3:"-44";i:1;s:4:"-179";i:2;s:3:"271";i:3;s:3:"685";}}s:10:"parenright";a:4:{s:1:"C";s:2:"41";s:2:"WX";s:3:"333";s:1:"N";s:10:"parenright";s:1:"B";a:4:{i:0;s:3:"-44";i:1;s:4:"-179";i:2;s:3:"271";i:3;s:3:"685";}}i:42;a:4:{s:1:"C";s:2:"42";s:2:"WX";s:3:"500";s:1:"N";s:8:"asterisk";s:1:"B";a:4:{i:0;s:2:"65";i:1;s:3:"249";i:2;s:3:"456";i:3;s:3:"685";}}s:8:"asterisk";a:4:{s:1:"C";s:2:"42";s:2:"WX";s:3:"500";s:1:"N";s:8:"asterisk";s:1:"B";a:4:{i:0;s:2:"65";i:1;s:3:"249";i:2;s:3:"456";i:3;s:3:"685";}}i:43;a:4:{s:1:"C";s:2:"43";s:2:"WX";s:3:"570";s:1:"N";s:4:"plus";s:1:"B";a:4:{i:0;s:2:"33";i:1;s:1:"0";i:2;s:3:"537";i:3;s:3:"506";}}s:4:"plus";a:4:{s:1:"C";s:2:"43";s:2:"WX";s:3:"570";s:1:"N";s:4:"plus";s:1:"B";a:4:{i:0;s:2:"33";i:1;s:1:"0";i:2;s:3:"537";i:3;s:3:"506";}}i:44;a:4:{s:1:"C";s:2:"44";s:2:"WX";s:3:"250";s:1:"N";s:5:"comma";s:1:"B";a:4:{i:0;s:3:"-60";i:1;s:4:"-182";i:2;s:3:"144";i:3;s:3:"134";}}s:5:"comma";a:4:{s:1:"C";s:2:"44";s:2:"WX";s:3:"250";s:1:"N";s:5:"comma";s:1:"B";a:4:{i:0;s:3:"-60";i:1;s:4:"-182";i:2;s:3:"144";i:3;s:3:"134";}}i:45;a:4:{s:1:"C";s:2:"45";s:2:"WX";s:3:"333";s:1:"N";s:6:"hyphen";s:1:"B";a:4:{i:0;s:1:"2";i:1;s:3:"166";i:2;s:3:"271";i:3;s:3:"282";}}s:6:"hyphen";a:4:{s:1:"C";s:2:"45";s:2:"WX";s:3:"333";s:1:"N";s:6:"hyphen";s:1:"B";a:4:{i:0;s:1:"2";i:1;s:3:"166";i:2;s:3:"271";i:3;s:3:"282";}}i:46;a:4:{s:1:"C";s:2:"46";s:2:"WX";s:3:"250";s:1:"N";s:6:"period";s:1:"B";a:4:{i:0;s:2:"-9";i:1;s:3:"-13";i:2;s:3:"139";i:3;s:3:"135";}}s:6:"period";a:4:{s:1:"C";s:2:"46";s:2:"WX";s:3:"250";s:1:"N";s:6:"period";s:1:"B";a:4:{i:0;s:2:"-9";i:1;s:3:"-13";i:2;s:3:"139";i:3;s:3:"135";}}i:47;a:4:{s:1:"C";s:2:"47";s:2:"WX";s:3:"278";s:1:"N";s:5:"slash";s:1:"B";a:4:{i:0;s:3:"-64";i:1;s:3:"-18";i:2;s:3:"342";i:3;s:3:"685";}}s:5:"slash";a:4:{s:1:"C";s:2:"47";s:2:"WX";s:3:"278";s:1:"N";s:5:"slash";s:1:"B";a:4:{i:0;s:3:"-64";i:1;s:3:"-18";i:2;s:3:"342";i:3;s:3:"685";}}i:48;a:4:{s:1:"C";s:2:"48";s:2:"WX";s:3:"500";s:1:"N";s:4:"zero";s:1:"B";a:4:{i:0;s:2:"17";i:1;s:3:"-14";i:2;s:3:"477";i:3;s:3:"683";}}s:4:"zero";a:4:{s:1:"C";s:2:"48";s:2:"WX";s:3:"500";s:1:"N";s:4:"zero";s:1:"B";a:4:{i:0;s:2:"17";i:1;s:3:"-14";i:2;s:3:"477";i:3;s:3:"683";}}i:49;a:4:{s:1:"C";s:2:"49";s:2:"WX";s:3:"500";s:1:"N";s:3:"one";s:1:"B";a:4:{i:0;s:1:"5";i:1;s:1:"0";i:2;s:3:"419";i:3;s:3:"683";}}s:3:"one";a:4:{s:1:"C";s:2:"49";s:2:"WX";s:3:"500";s:1:"N";s:3:"one";s:1:"B";a:4:{i:0;s:1:"5";i:1;s:1:"0";i:2;s:3:"419";i:3;s:3:"683";}}i:50;a:4:{s:1:"C";s:2:"50";s:2:"WX";s:3:"500";s:1:"N";s:3:"two";s:1:"B";a:4:{i:0;s:3:"-27";i:1;s:1:"0";i:2;s:3:"446";i:3;s:3:"683";}}s:3:"two";a:4:{s:1:"C";s:2:"50";s:2:"WX";s:3:"500";s:1:"N";s:3:"two";s:1:"B";a:4:{i:0;s:3:"-27";i:1;s:1:"0";i:2;s:3:"446";i:3;s:3:"683";}}i:51;a:4:{s:1:"C";s:2:"51";s:2:"WX";s:3:"500";s:1:"N";s:5:"three";s:1:"B";a:4:{i:0;s:3:"-15";i:1;s:3:"-13";i:2;s:3:"450";i:3;s:3:"683";}}s:5:"three";a:4:{s:1:"C";s:2:"51";s:2:"WX";s:3:"500";s:1:"N";s:5:"three";s:1:"B";a:4:{i:0;s:3:"-15";i:1;s:3:"-13";i:2;s:3:"450";i:3;s:3:"683";}}i:52;a:4:{s:1:"C";s:2:"52";s:2:"WX";s:3:"500";s:1:"N";s:4:"four";s:1:"B";a:4:{i:0;s:3:"-15";i:1;s:1:"0";i:2;s:3:"503";i:3;s:3:"683";}}s:4:"four";a:4:{s:1:"C";s:2:"52";s:2:"WX";s:3:"500";s:1:"N";s:4:"four";s:1:"B";a:4:{i:0;s:3:"-15";i:1;s:1:"0";i:2;s:3:"503";i:3;s:3:"683";}}i:53;a:4:{s:1:"C";s:2:"53";s:2:"WX";s:3:"500";s:1:"N";s:4:"five";s:1:"B";a:4:{i:0;s:3:"-11";i:1;s:3:"-13";i:2;s:3:"487";i:3;s:3:"669";}}s:4:"five";a:4:{s:1:"C";s:2:"53";s:2:"WX";s:3:"500";s:1:"N";s:4:"five";s:1:"B";a:4:{i:0;s:3:"-11";i:1;s:3:"-13";i:2;s:3:"487";i:3;s:3:"669";}}i:54;a:4:{s:1:"C";s:2:"54";s:2:"WX";s:3:"500";s:1:"N";s:3:"six";s:1:"B";a:4:{i:0;s:2:"23";i:1;s:3:"-15";i:2;s:3:"509";i:3;s:3:"679";}}s:3:"six";a:4:{s:1:"C";s:2:"54";s:2:"WX";s:3:"500";s:1:"N";s:3:"six";s:1:"B";a:4:{i:0;s:2:"23";i:1;s:3:"-15";i:2;s:3:"509";i:3;s:3:"679";}}i:55;a:4:{s:1:"C";s:2:"55";s:2:"WX";s:3:"500";s:1:"N";s:5:"seven";s:1:"B";a:4:{i:0;s:2:"52";i:1;s:1:"0";i:2;s:3:"525";i:3;s:3:"669";}}s:5:"seven";a:4:{s:1:"C";s:2:"55";s:2:"WX";s:3:"500";s:1:"N";s:5:"seven";s:1:"B";a:4:{i:0;s:2:"52";i:1;s:1:"0";i:2;s:3:"525";i:3;s:3:"669";}}i:56;a:4:{s:1:"C";s:2:"56";s:2:"WX";s:3:"500";s:1:"N";s:5:"eight";s:1:"B";a:4:{i:0;s:1:"3";i:1;s:3:"-13";i:2;s:3:"476";i:3;s:3:"683";}}s:5:"eight";a:4:{s:1:"C";s:2:"56";s:2:"WX";s:3:"500";s:1:"N";s:5:"eight";s:1:"B";a:4:{i:0;s:1:"3";i:1;s:3:"-13";i:2;s:3:"476";i:3;s:3:"683";}}i:57;a:4:{s:1:"C";s:2:"57";s:2:"WX";s:3:"500";s:1:"N";s:4:"nine";s:1:"B";a:4:{i:0;s:3:"-12";i:1;s:3:"-10";i:2;s:3:"475";i:3;s:3:"683";}}s:4:"nine";a:4:{s:1:"C";s:2:"57";s:2:"WX";s:3:"500";s:1:"N";s:4:"nine";s:1:"B";a:4:{i:0;s:3:"-12";i:1;s:3:"-10";i:2;s:3:"475";i:3;s:3:"683";}}i:58;a:4:{s:1:"C";s:2:"58";s:2:"WX";s:3:"333";s:1:"N";s:5:"colon";s:1:"B";a:4:{i:0;s:2:"23";i:1;s:3:"-13";i:2;s:3:"264";i:3;s:3:"459";}}s:5:"colon";a:4:{s:1:"C";s:2:"58";s:2:"WX";s:3:"333";s:1:"N";s:5:"colon";s:1:"B";a:4:{i:0;s:2:"23";i:1;s:3:"-13";i:2;s:3:"264";i:3;s:3:"459";}}i:59;a:4:{s:1:"C";s:2:"59";s:2:"WX";s:3:"333";s:1:"N";s:9:"semicolon";s:1:"B";a:4:{i:0;s:3:"-25";i:1;s:4:"-183";i:2;s:3:"264";i:3;s:3:"459";}}s:9:"semicolon";a:4:{s:1:"C";s:2:"59";s:2:"WX";s:3:"333";s:1:"N";s:9:"semicolon";s:1:"B";a:4:{i:0;s:3:"-25";i:1;s:4:"-183";i:2;s:3:"264";i:3;s:3:"459";}}i:60;a:4:{s:1:"C";s:2:"60";s:2:"WX";s:3:"570";s:1:"N";s:4:"less";s:1:"B";a:4:{i:0;s:2:"31";i:1;s:2:"-8";i:2;s:3:"539";i:3;s:3:"514";}}s:4:"less";a:4:{s:1:"C";s:2:"60";s:2:"WX";s:3:"570";s:1:"N";s:4:"less";s:1:"B";a:4:{i:0;s:2:"31";i:1;s:2:"-8";i:2;s:3:"539";i:3;s:3:"514";}}i:61;a:4:{s:1:"C";s:2:"61";s:2:"WX";s:3:"570";s:1:"N";s:5:"equal";s:1:"B";a:4:{i:0;s:2:"33";i:1;s:3:"107";i:2;s:3:"537";i:3;s:3:"399";}}s:5:"equal";a:4:{s:1:"C";s:2:"61";s:2:"WX";s:3:"570";s:1:"N";s:5:"equal";s:1:"B";a:4:{i:0;s:2:"33";i:1;s:3:"107";i:2;s:3:"537";i:3;s:3:"399";}}i:62;a:4:{s:1:"C";s:2:"62";s:2:"WX";s:3:"570";s:1:"N";s:7:"greater";s:1:"B";a:4:{i:0;s:2:"31";i:1;s:2:"-8";i:2;s:3:"539";i:3;s:3:"514";}}s:7:"greater";a:4:{s:1:"C";s:2:"62";s:2:"WX";s:3:"570";s:1:"N";s:7:"greater";s:1:"B";a:4:{i:0;s:2:"31";i:1;s:2:"-8";i:2;s:3:"539";i:3;s:3:"514";}}i:63;a:4:{s:1:"C";s:2:"63";s:2:"WX";s:3:"500";s:1:"N";s:8:"question";s:1:"B";a:4:{i:0;s:2:"79";i:1;s:3:"-13";i:2;s:3:"470";i:3;s:3:"684";}}s:8:"question";a:4:{s:1:"C";s:2:"63";s:2:"WX";s:3:"500";s:1:"N";s:8:"question";s:1:"B";a:4:{i:0;s:2:"79";i:1;s:3:"-13";i:2;s:3:"470";i:3;s:3:"684";}}i:64;a:4:{s:1:"C";s:2:"64";s:2:"WX";s:3:"832";s:1:"N";s:2:"at";s:1:"B";a:4:{i:0;s:2:"63";i:1;s:3:"-18";i:2;s:3:"770";i:3;s:3:"685";}}s:2:"at";a:4:{s:1:"C";s:2:"64";s:2:"WX";s:3:"832";s:1:"N";s:2:"at";s:1:"B";a:4:{i:0;s:2:"63";i:1;s:3:"-18";i:2;s:3:"770";i:3;s:3:"685";}}i:65;a:4:{s:1:"C";s:2:"65";s:2:"WX";s:3:"667";s:1:"N";s:1:"A";s:1:"B";a:4:{i:0;s:3:"-67";i:1;s:1:"0";i:2;s:3:"593";i:3;s:3:"683";}}s:1:"A";a:4:{s:1:"C";s:2:"65";s:2:"WX";s:3:"667";s:1:"N";s:1:"A";s:1:"B";a:4:{i:0;s:3:"-67";i:1;s:1:"0";i:2;s:3:"593";i:3;s:3:"683";}}i:66;a:4:{s:1:"C";s:2:"66";s:2:"WX";s:3:"667";s:1:"N";s:1:"B";s:1:"B";a:4:{i:0;s:3:"-24";i:1;s:1:"0";i:2;s:3:"624";i:3;s:3:"669";}}s:1:"B";a:4:{s:1:"C";s:2:"66";s:2:"WX";s:3:"667";s:1:"N";s:1:"B";s:1:"B";a:4:{i:0;s:3:"-24";i:1;s:1:"0";i:2;s:3:"624";i:3;s:3:"669";}}i:67;a:4:{s:1:"C";s:2:"67";s:2:"WX";s:3:"667";s:1:"N";s:1:"C";s:1:"B";a:4:{i:0;s:2:"32";i:1;s:3:"-18";i:2;s:3:"677";i:3;s:3:"685";}}s:1:"C";a:4:{s:1:"C";s:2:"67";s:2:"WX";s:3:"667";s:1:"N";s:1:"C";s:1:"B";a:4:{i:0;s:2:"32";i:1;s:3:"-18";i:2;s:3:"677";i:3;s:3:"685";}}i:68;a:4:{s:1:"C";s:2:"68";s:2:"WX";s:3:"722";s:1:"N";s:1:"D";s:1:"B";a:4:{i:0;s:3:"-46";i:1;s:1:"0";i:2;s:3:"685";i:3;s:3:"669";}}s:1:"D";a:4:{s:1:"C";s:2:"68";s:2:"WX";s:3:"722";s:1:"N";s:1:"D";s:1:"B";a:4:{i:0;s:3:"-46";i:1;s:1:"0";i:2;s:3:"685";i:3;s:3:"669";}}i:69;a:4:{s:1:"C";s:2:"69";s:2:"WX";s:3:"667";s:1:"N";s:1:"E";s:1:"B";a:4:{i:0;s:3:"-27";i:1;s:1:"0";i:2;s:3:"653";i:3;s:3:"669";}}s:1:"E";a:4:{s:1:"C";s:2:"69";s:2:"WX";s:3:"667";s:1:"N";s:1:"E";s:1:"B";a:4:{i:0;s:3:"-27";i:1;s:1:"0";i:2;s:3:"653";i:3;s:3:"669";}}i:70;a:4:{s:1:"C";s:2:"70";s:2:"WX";s:3:"667";s:1:"N";s:1:"F";s:1:"B";a:4:{i:0;s:3:"-13";i:1;s:1:"0";i:2;s:3:"660";i:3;s:3:"669";}}s:1:"F";a:4:{s:1:"C";s:2:"70";s:2:"WX";s:3:"667";s:1:"N";s:1:"F";s:1:"B";a:4:{i:0;s:3:"-13";i:1;s:1:"0";i:2;s:3:"660";i:3;s:3:"669";}}i:71;a:4:{s:1:"C";s:2:"71";s:2:"WX";s:3:"722";s:1:"N";s:1:"G";s:1:"B";a:4:{i:0;s:2:"21";i:1;s:3:"-18";i:2;s:3:"706";i:3;s:3:"685";}}s:1:"G";a:4:{s:1:"C";s:2:"71";s:2:"WX";s:3:"722";s:1:"N";s:1:"G";s:1:"B";a:4:{i:0;s:2:"21";i:1;s:3:"-18";i:2;s:3:"706";i:3;s:3:"685";}}i:72;a:4:{s:1:"C";s:2:"72";s:2:"WX";s:3:"778";s:1:"N";s:1:"H";s:1:"B";a:4:{i:0;s:3:"-24";i:1;s:1:"0";i:2;s:3:"799";i:3;s:3:"669";}}s:1:"H";a:4:{s:1:"C";s:2:"72";s:2:"WX";s:3:"778";s:1:"N";s:1:"H";s:1:"B";a:4:{i:0;s:3:"-24";i:1;s:1:"0";i:2;s:3:"799";i:3;s:3:"669";}}i:73;a:4:{s:1:"C";s:2:"73";s:2:"WX";s:3:"389";s:1:"N";s:1:"I";s:1:"B";a:4:{i:0;s:3:"-32";i:1;s:1:"0";i:2;s:3:"406";i:3;s:3:"669";}}s:1:"I";a:4:{s:1:"C";s:2:"73";s:2:"WX";s:3:"389";s:1:"N";s:1:"I";s:1:"B";a:4:{i:0;s:3:"-32";i:1;s:1:"0";i:2;s:3:"406";i:3;s:3:"669";}}i:74;a:4:{s:1:"C";s:2:"74";s:2:"WX";s:3:"500";s:1:"N";s:1:"J";s:1:"B";a:4:{i:0;s:3:"-46";i:1;s:3:"-99";i:2;s:3:"524";i:3;s:3:"669";}}s:1:"J";a:4:{s:1:"C";s:2:"74";s:2:"WX";s:3:"500";s:1:"N";s:1:"J";s:1:"B";a:4:{i:0;s:3:"-46";i:1;s:3:"-99";i:2;s:3:"524";i:3;s:3:"669";}}i:75;a:4:{s:1:"C";s:2:"75";s:2:"WX";s:3:"667";s:1:"N";s:1:"K";s:1:"B";a:4:{i:0;s:3:"-21";i:1;s:1:"0";i:2;s:3:"702";i:3;s:3:"669";}}s:1:"K";a:4:{s:1:"C";s:2:"75";s:2:"WX";s:3:"667";s:1:"N";s:1:"K";s:1:"B";a:4:{i:0;s:3:"-21";i:1;s:1:"0";i:2;s:3:"702";i:3;s:3:"669";}}i:76;a:4:{s:1:"C";s:2:"76";s:2:"WX";s:3:"611";s:1:"N";s:1:"L";s:1:"B";a:4:{i:0;s:3:"-22";i:1;s:1:"0";i:2;s:3:"590";i:3;s:3:"669";}}s:1:"L";a:4:{s:1:"C";s:2:"76";s:2:"WX";s:3:"611";s:1:"N";s:1:"L";s:1:"B";a:4:{i:0;s:3:"-22";i:1;s:1:"0";i:2;s:3:"590";i:3;s:3:"669";}}i:77;a:4:{s:1:"C";s:2:"77";s:2:"WX";s:3:"889";s:1:"N";s:1:"M";s:1:"B";a:4:{i:0;s:3:"-29";i:1;s:3:"-12";i:2;s:3:"917";i:3;s:3:"669";}}s:1:"M";a:4:{s:1:"C";s:2:"77";s:2:"WX";s:3:"889";s:1:"N";s:1:"M";s:1:"B";a:4:{i:0;s:3:"-29";i:1;s:3:"-12";i:2;s:3:"917";i:3;s:3:"669";}}i:78;a:4:{s:1:"C";s:2:"78";s:2:"WX";s:3:"722";s:1:"N";s:1:"N";s:1:"B";a:4:{i:0;s:3:"-27";i:1;s:3:"-15";i:2;s:3:"748";i:3;s:3:"669";}}s:1:"N";a:4:{s:1:"C";s:2:"78";s:2:"WX";s:3:"722";s:1:"N";s:1:"N";s:1:"B";a:4:{i:0;s:3:"-27";i:1;s:3:"-15";i:2;s:3:"748";i:3;s:3:"669";}}i:79;a:4:{s:1:"C";s:2:"79";s:2:"WX";s:3:"722";s:1:"N";s:1:"O";s:1:"B";a:4:{i:0;s:2:"27";i:1;s:3:"-18";i:2;s:3:"691";i:3;s:3:"685";}}s:1:"O";a:4:{s:1:"C";s:2:"79";s:2:"WX";s:3:"722";s:1:"N";s:1:"O";s:1:"B";a:4:{i:0;s:2:"27";i:1;s:3:"-18";i:2;s:3:"691";i:3;s:3:"685";}}i:80;a:4:{s:1:"C";s:2:"80";s:2:"WX";s:3:"611";s:1:"N";s:1:"P";s:1:"B";a:4:{i:0;s:3:"-27";i:1;s:1:"0";i:2;s:3:"613";i:3;s:3:"669";}}s:1:"P";a:4:{s:1:"C";s:2:"80";s:2:"WX";s:3:"611";s:1:"N";s:1:"P";s:1:"B";a:4:{i:0;s:3:"-27";i:1;s:1:"0";i:2;s:3:"613";i:3;s:3:"669";}}i:81;a:4:{s:1:"C";s:2:"81";s:2:"WX";s:3:"722";s:1:"N";s:1:"Q";s:1:"B";a:4:{i:0;s:2:"27";i:1;s:4:"-208";i:2;s:3:"691";i:3;s:3:"685";}}s:1:"Q";a:4:{s:1:"C";s:2:"81";s:2:"WX";s:3:"722";s:1:"N";s:1:"Q";s:1:"B";a:4:{i:0;s:2:"27";i:1;s:4:"-208";i:2;s:3:"691";i:3;s:3:"685";}}i:82;a:4:{s:1:"C";s:2:"82";s:2:"WX";s:3:"667";s:1:"N";s:1:"R";s:1:"B";a:4:{i:0;s:3:"-29";i:1;s:1:"0";i:2;s:3:"623";i:3;s:3:"669";}}s:1:"R";a:4:{s:1:"C";s:2:"82";s:2:"WX";s:3:"667";s:1:"N";s:1:"R";s:1:"B";a:4:{i:0;s:3:"-29";i:1;s:1:"0";i:2;s:3:"623";i:3;s:3:"669";}}i:83;a:4:{s:1:"C";s:2:"83";s:2:"WX";s:3:"556";s:1:"N";s:1:"S";s:1:"B";a:4:{i:0;s:1:"2";i:1;s:3:"-18";i:2;s:3:"526";i:3;s:3:"685";}}s:1:"S";a:4:{s:1:"C";s:2:"83";s:2:"WX";s:3:"556";s:1:"N";s:1:"S";s:1:"B";a:4:{i:0;s:1:"2";i:1;s:3:"-18";i:2;s:3:"526";i:3;s:3:"685";}}i:84;a:4:{s:1:"C";s:2:"84";s:2:"WX";s:3:"611";s:1:"N";s:1:"T";s:1:"B";a:4:{i:0;s:2:"50";i:1;s:1:"0";i:2;s:3:"650";i:3;s:3:"669";}}s:1:"T";a:4:{s:1:"C";s:2:"84";s:2:"WX";s:3:"611";s:1:"N";s:1:"T";s:1:"B";a:4:{i:0;s:2:"50";i:1;s:1:"0";i:2;s:3:"650";i:3;s:3:"669";}}i:85;a:4:{s:1:"C";s:2:"85";s:2:"WX";s:3:"722";s:1:"N";s:1:"U";s:1:"B";a:4:{i:0;s:2:"67";i:1;s:3:"-18";i:2;s:3:"744";i:3;s:3:"669";}}s:1:"U";a:4:{s:1:"C";s:2:"85";s:2:"WX";s:3:"722";s:1:"N";s:1:"U";s:1:"B";a:4:{i:0;s:2:"67";i:1;s:3:"-18";i:2;s:3:"744";i:3;s:3:"669";}}i:86;a:4:{s:1:"C";s:2:"86";s:2:"WX";s:3:"667";s:1:"N";s:1:"V";s:1:"B";a:4:{i:0;s:2:"65";i:1;s:3:"-18";i:2;s:3:"715";i:3;s:3:"669";}}s:1:"V";a:4:{s:1:"C";s:2:"86";s:2:"WX";s:3:"667";s:1:"N";s:1:"V";s:1:"B";a:4:{i:0;s:2:"65";i:1;s:3:"-18";i:2;s:3:"715";i:3;s:3:"669";}}i:87;a:4:{s:1:"C";s:2:"87";s:2:"WX";s:3:"889";s:1:"N";s:1:"W";s:1:"B";a:4:{i:0;s:2:"65";i:1;s:3:"-18";i:2;s:3:"940";i:3;s:3:"669";}}s:1:"W";a:4:{s:1:"C";s:2:"87";s:2:"WX";s:3:"889";s:1:"N";s:1:"W";s:1:"B";a:4:{i:0;s:2:"65";i:1;s:3:"-18";i:2;s:3:"940";i:3;s:3:"669";}}i:88;a:4:{s:1:"C";s:2:"88";s:2:"WX";s:3:"667";s:1:"N";s:1:"X";s:1:"B";a:4:{i:0;s:3:"-24";i:1;s:1:"0";i:2;s:3:"694";i:3;s:3:"669";}}s:1:"X";a:4:{s:1:"C";s:2:"88";s:2:"WX";s:3:"667";s:1:"N";s:1:"X";s:1:"B";a:4:{i:0;s:3:"-24";i:1;s:1:"0";i:2;s:3:"694";i:3;s:3:"669";}}i:89;a:4:{s:1:"C";s:2:"89";s:2:"WX";s:3:"611";s:1:"N";s:1:"Y";s:1:"B";a:4:{i:0;s:2:"73";i:1;s:1:"0";i:2;s:3:"659";i:3;s:3:"669";}}s:1:"Y";a:4:{s:1:"C";s:2:"89";s:2:"WX";s:3:"611";s:1:"N";s:1:"Y";s:1:"B";a:4:{i:0;s:2:"73";i:1;s:1:"0";i:2;s:3:"659";i:3;s:3:"669";}}i:90;a:4:{s:1:"C";s:2:"90";s:2:"WX";s:3:"611";s:1:"N";s:1:"Z";s:1:"B";a:4:{i:0;s:3:"-11";i:1;s:1:"0";i:2;s:3:"590";i:3;s:3:"669";}}s:1:"Z";a:4:{s:1:"C";s:2:"90";s:2:"WX";s:3:"611";s:1:"N";s:1:"Z";s:1:"B";a:4:{i:0;s:3:"-11";i:1;s:1:"0";i:2;s:3:"590";i:3;s:3:"669";}}i:91;a:4:{s:1:"C";s:2:"91";s:2:"WX";s:3:"333";s:1:"N";s:11:"bracketleft";s:1:"B";a:4:{i:0;s:3:"-37";i:1;s:4:"-159";i:2;s:3:"362";i:3;s:3:"674";}}s:11:"bracketleft";a:4:{s:1:"C";s:2:"91";s:2:"WX";s:3:"333";s:1:"N";s:11:"bracketleft";s:1:"B";a:4:{i:0;s:3:"-37";i:1;s:4:"-159";i:2;s:3:"362";i:3;s:3:"674";}}i:92;a:4:{s:1:"C";s:2:"92";s:2:"WX";s:3:"278";s:1:"N";s:9:"backslash";s:1:"B";a:4:{i:0;s:2:"-1";i:1;s:3:"-18";i:2;s:3:"279";i:3;s:3:"685";}}s:9:"backslash";a:4:{s:1:"C";s:2:"92";s:2:"WX";s:3:"278";s:1:"N";s:9:"backslash";s:1:"B";a:4:{i:0;s:2:"-1";i:1;s:3:"-18";i:2;s:3:"279";i:3;s:3:"685";}}i:93;a:4:{s:1:"C";s:2:"93";s:2:"WX";s:3:"333";s:1:"N";s:12:"bracketright";s:1:"B";a:4:{i:0;s:3:"-56";i:1;s:4:"-157";i:2;s:3:"343";i:3;s:3:"674";}}s:12:"bracketright";a:4:{s:1:"C";s:2:"93";s:2:"WX";s:3:"333";s:1:"N";s:12:"bracketright";s:1:"B";a:4:{i:0;s:3:"-56";i:1;s:4:"-157";i:2;s:3:"343";i:3;s:3:"674";}}i:94;a:4:{s:1:"C";s:2:"94";s:2:"WX";s:3:"570";s:1:"N";s:11:"asciicircum";s:1:"B";a:4:{i:0;s:2:"67";i:1;s:3:"304";i:2;s:3:"503";i:3;s:3:"669";}}s:11:"asciicircum";a:4:{s:1:"C";s:2:"94";s:2:"WX";s:3:"570";s:1:"N";s:11:"asciicircum";s:1:"B";a:4:{i:0;s:2:"67";i:1;s:3:"304";i:2;s:3:"503";i:3;s:3:"669";}}i:95;a:4:{s:1:"C";s:2:"95";s:2:"WX";s:3:"500";s:1:"N";s:10:"underscore";s:1:"B";a:4:{i:0;s:1:"0";i:1;s:4:"-125";i:2;s:3:"500";i:3;s:3:"-75";}}s:10:"underscore";a:4:{s:1:"C";s:2:"95";s:2:"WX";s:3:"500";s:1:"N";s:10:"underscore";s:1:"B";a:4:{i:0;s:1:"0";i:1;s:4:"-125";i:2;s:3:"500";i:3;s:3:"-75";}}i:96;a:4:{s:1:"C";s:2:"96";s:2:"WX";s:3:"333";s:1:"N";s:9:"quoteleft";s:1:"B";a:4:{i:0;s:3:"128";i:1;s:3:"369";i:2;s:3:"332";i:3;s:3:"685";}}s:9:"quoteleft";a:4:{s:1:"C";s:2:"96";s:2:"WX";s:3:"333";s:1:"N";s:9:"quoteleft";s:1:"B";a:4:{i:0;s:3:"128";i:1;s:3:"369";i:2;s:3:"332";i:3;s:3:"685";}}i:97;a:4:{s:1:"C";s:2:"97";s:2:"WX";s:3:"500";s:1:"N";s:1:"a";s:1:"B";a:4:{i:0;s:3:"-21";i:1;s:3:"-14";i:2;s:3:"455";i:3;s:3:"462";}}s:1:"a";a:4:{s:1:"C";s:2:"97";s:2:"WX";s:3:"500";s:1:"N";s:1:"a";s:1:"B";a:4:{i:0;s:3:"-21";i:1;s:3:"-14";i:2;s:3:"455";i:3;s:3:"462";}}i:98;a:4:{s:1:"C";s:2:"98";s:2:"WX";s:3:"500";s:1:"N";s:1:"b";s:1:"B";a:4:{i:0;s:3:"-14";i:1;s:3:"-13";i:2;s:3:"444";i:3;s:3:"699";}}s:1:"b";a:4:{s:1:"C";s:2:"98";s:2:"WX";s:3:"500";s:1:"N";s:1:"b";s:1:"B";a:4:{i:0;s:3:"-14";i:1;s:3:"-13";i:2;s:3:"444";i:3;s:3:"699";}}i:99;a:4:{s:1:"C";s:2:"99";s:2:"WX";s:3:"444";s:1:"N";s:1:"c";s:1:"B";a:4:{i:0;s:2:"-5";i:1;s:3:"-13";i:2;s:3:"392";i:3;s:3:"462";}}s:1:"c";a:4:{s:1:"C";s:2:"99";s:2:"WX";s:3:"444";s:1:"N";s:1:"c";s:1:"B";a:4:{i:0;s:2:"-5";i:1;s:3:"-13";i:2;s:3:"392";i:3;s:3:"462";}}i:100;a:4:{s:1:"C";s:3:"100";s:2:"WX";s:3:"500";s:1:"N";s:1:"d";s:1:"B";a:4:{i:0;s:3:"-21";i:1;s:3:"-13";i:2;s:3:"517";i:3;s:3:"699";}}s:1:"d";a:4:{s:1:"C";s:3:"100";s:2:"WX";s:3:"500";s:1:"N";s:1:"d";s:1:"B";a:4:{i:0;s:3:"-21";i:1;s:3:"-13";i:2;s:3:"517";i:3;s:3:"699";}}i:101;a:4:{s:1:"C";s:3:"101";s:2:"WX";s:3:"444";s:1:"N";s:1:"e";s:1:"B";a:4:{i:0;s:1:"5";i:1;s:3:"-13";i:2;s:3:"398";i:3;s:3:"462";}}s:1:"e";a:4:{s:1:"C";s:3:"101";s:2:"WX";s:3:"444";s:1:"N";s:1:"e";s:1:"B";a:4:{i:0;s:1:"5";i:1;s:3:"-13";i:2;s:3:"398";i:3;s:3:"462";}}i:102;a:5:{s:1:"C";s:3:"102";s:2:"WX";s:3:"333";s:1:"N";s:1:"f";s:1:"B";a:4:{i:0;s:4:"-169";i:1;s:4:"-205";i:2;s:3:"446";i:3;s:3:"698";}s:1:"L";a:2:{i:0;s:1:"l";i:1;s:2:"fl";}}s:1:"f";a:5:{s:1:"C";s:3:"102";s:2:"WX";s:3:"333";s:1:"N";s:1:"f";s:1:"B";a:4:{i:0;s:4:"-169";i:1;s:4:"-205";i:2;s:3:"446";i:3;s:3:"698";}s:1:"L";a:2:{i:0;s:1:"l";i:1;s:2:"fl";}}i:103;a:4:{s:1:"C";s:3:"103";s:2:"WX";s:3:"500";s:1:"N";s:1:"g";s:1:"B";a:4:{i:0;s:3:"-52";i:1;s:4:"-203";i:2;s:3:"478";i:3;s:3:"462";}}s:1:"g";a:4:{s:1:"C";s:3:"103";s:2:"WX";s:3:"500";s:1:"N";s:1:"g";s:1:"B";a:4:{i:0;s:3:"-52";i:1;s:4:"-203";i:2;s:3:"478";i:3;s:3:"462";}}i:104;a:4:{s:1:"C";s:3:"104";s:2:"WX";s:3:"556";s:1:"N";s:1:"h";s:1:"B";a:4:{i:0;s:3:"-13";i:1;s:2:"-9";i:2;s:3:"498";i:3;s:3:"699";}}s:1:"h";a:4:{s:1:"C";s:3:"104";s:2:"WX";s:3:"556";s:1:"N";s:1:"h";s:1:"B";a:4:{i:0;s:3:"-13";i:1;s:2:"-9";i:2;s:3:"498";i:3;s:3:"699";}}i:105;a:4:{s:1:"C";s:3:"105";s:2:"WX";s:3:"278";s:1:"N";s:1:"i";s:1:"B";a:4:{i:0;s:1:"2";i:1;s:2:"-9";i:2;s:3:"263";i:3;s:3:"684";}}s:1:"i";a:4:{s:1:"C";s:3:"105";s:2:"WX";s:3:"278";s:1:"N";s:1:"i";s:1:"B";a:4:{i:0;s:1:"2";i:1;s:2:"-9";i:2;s:3:"263";i:3;s:3:"684";}}i:106;a:4:{s:1:"C";s:3:"106";s:2:"WX";s:3:"278";s:1:"N";s:1:"j";s:1:"B";a:4:{i:0;s:4:"-189";i:1;s:4:"-207";i:2;s:3:"279";i:3;s:3:"684";}}s:1:"j";a:4:{s:1:"C";s:3:"106";s:2:"WX";s:3:"278";s:1:"N";s:1:"j";s:1:"B";a:4:{i:0;s:4:"-189";i:1;s:4:"-207";i:2;s:3:"279";i:3;s:3:"684";}}i:107;a:4:{s:1:"C";s:3:"107";s:2:"WX";s:3:"500";s:1:"N";s:1:"k";s:1:"B";a:4:{i:0;s:3:"-23";i:1;s:2:"-8";i:2;s:3:"483";i:3;s:3:"699";}}s:1:"k";a:4:{s:1:"C";s:3:"107";s:2:"WX";s:3:"500";s:1:"N";s:1:"k";s:1:"B";a:4:{i:0;s:3:"-23";i:1;s:2:"-8";i:2;s:3:"483";i:3;s:3:"699";}}i:108;a:4:{s:1:"C";s:3:"108";s:2:"WX";s:3:"278";s:1:"N";s:1:"l";s:1:"B";a:4:{i:0;s:1:"2";i:1;s:2:"-9";i:2;s:3:"290";i:3;s:3:"699";}}s:1:"l";a:4:{s:1:"C";s:3:"108";s:2:"WX";s:3:"278";s:1:"N";s:1:"l";s:1:"B";a:4:{i:0;s:1:"2";i:1;s:2:"-9";i:2;s:3:"290";i:3;s:3:"699";}}i:109;a:4:{s:1:"C";s:3:"109";s:2:"WX";s:3:"778";s:1:"N";s:1:"m";s:1:"B";a:4:{i:0;s:3:"-14";i:1;s:2:"-9";i:2;s:3:"722";i:3;s:3:"462";}}s:1:"m";a:4:{s:1:"C";s:3:"109";s:2:"WX";s:3:"778";s:1:"N";s:1:"m";s:1:"B";a:4:{i:0;s:3:"-14";i:1;s:2:"-9";i:2;s:3:"722";i:3;s:3:"462";}}i:110;a:4:{s:1:"C";s:3:"110";s:2:"WX";s:3:"556";s:1:"N";s:1:"n";s:1:"B";a:4:{i:0;s:2:"-6";i:1;s:2:"-9";i:2;s:3:"493";i:3;s:3:"462";}}s:1:"n";a:4:{s:1:"C";s:3:"110";s:2:"WX";s:3:"556";s:1:"N";s:1:"n";s:1:"B";a:4:{i:0;s:2:"-6";i:1;s:2:"-9";i:2;s:3:"493";i:3;s:3:"462";}}i:111;a:4:{s:1:"C";s:3:"111";s:2:"WX";s:3:"500";s:1:"N";s:1:"o";s:1:"B";a:4:{i:0;s:2:"-3";i:1;s:3:"-13";i:2;s:3:"441";i:3;s:3:"462";}}s:1:"o";a:4:{s:1:"C";s:3:"111";s:2:"WX";s:3:"500";s:1:"N";s:1:"o";s:1:"B";a:4:{i:0;s:2:"-3";i:1;s:3:"-13";i:2;s:3:"441";i:3;s:3:"462";}}i:112;a:4:{s:1:"C";s:3:"112";s:2:"WX";s:3:"500";s:1:"N";s:1:"p";s:1:"B";a:4:{i:0;s:4:"-120";i:1;s:4:"-205";i:2;s:3:"446";i:3;s:3:"462";}}s:1:"p";a:4:{s:1:"C";s:3:"112";s:2:"WX";s:3:"500";s:1:"N";s:1:"p";s:1:"B";a:4:{i:0;s:4:"-120";i:1;s:4:"-205";i:2;s:3:"446";i:3;s:3:"462";}}i:113;a:4:{s:1:"C";s:3:"113";s:2:"WX";s:3:"500";s:1:"N";s:1:"q";s:1:"B";a:4:{i:0;s:1:"1";i:1;s:4:"-205";i:2;s:3:"471";i:3;s:3:"462";}}s:1:"q";a:4:{s:1:"C";s:3:"113";s:2:"WX";s:3:"500";s:1:"N";s:1:"q";s:1:"B";a:4:{i:0;s:1:"1";i:1;s:4:"-205";i:2;s:3:"471";i:3;s:3:"462";}}i:114;a:4:{s:1:"C";s:3:"114";s:2:"WX";s:3:"389";s:1:"N";s:1:"r";s:1:"B";a:4:{i:0;s:3:"-21";i:1;s:1:"0";i:2;s:3:"389";i:3;s:3:"462";}}s:1:"r";a:4:{s:1:"C";s:3:"114";s:2:"WX";s:3:"389";s:1:"N";s:1:"r";s:1:"B";a:4:{i:0;s:3:"-21";i:1;s:1:"0";i:2;s:3:"389";i:3;s:3:"462";}}i:115;a:4:{s:1:"C";s:3:"115";s:2:"WX";s:3:"389";s:1:"N";s:1:"s";s:1:"B";a:4:{i:0;s:3:"-19";i:1;s:3:"-13";i:2;s:3:"333";i:3;s:3:"462";}}s:1:"s";a:4:{s:1:"C";s:3:"115";s:2:"WX";s:3:"389";s:1:"N";s:1:"s";s:1:"B";a:4:{i:0;s:3:"-19";i:1;s:3:"-13";i:2;s:3:"333";i:3;s:3:"462";}}i:116;a:4:{s:1:"C";s:3:"116";s:2:"WX";s:3:"278";s:1:"N";s:1:"t";s:1:"B";a:4:{i:0;s:3:"-11";i:1;s:2:"-9";i:2;s:3:"281";i:3;s:3:"594";}}s:1:"t";a:4:{s:1:"C";s:3:"116";s:2:"WX";s:3:"278";s:1:"N";s:1:"t";s:1:"B";a:4:{i:0;s:3:"-11";i:1;s:2:"-9";i:2;s:3:"281";i:3;s:3:"594";}}i:117;a:4:{s:1:"C";s:3:"117";s:2:"WX";s:3:"556";s:1:"N";s:1:"u";s:1:"B";a:4:{i:0;s:2:"15";i:1;s:2:"-9";i:2;s:3:"492";i:3;s:3:"462";}}s:1:"u";a:4:{s:1:"C";s:3:"117";s:2:"WX";s:3:"556";s:1:"N";s:1:"u";s:1:"B";a:4:{i:0;s:2:"15";i:1;s:2:"-9";i:2;s:3:"492";i:3;s:3:"462";}}i:118;a:4:{s:1:"C";s:3:"118";s:2:"WX";s:3:"444";s:1:"N";s:1:"v";s:1:"B";a:4:{i:0;s:2:"16";i:1;s:3:"-13";i:2;s:3:"401";i:3;s:3:"462";}}s:1:"v";a:4:{s:1:"C";s:3:"118";s:2:"WX";s:3:"444";s:1:"N";s:1:"v";s:1:"B";a:4:{i:0;s:2:"16";i:1;s:3:"-13";i:2;s:3:"401";i:3;s:3:"462";}}i:119;a:4:{s:1:"C";s:3:"119";s:2:"WX";s:3:"667";s:1:"N";s:1:"w";s:1:"B";a:4:{i:0;s:2:"16";i:1;s:3:"-13";i:2;s:3:"614";i:3;s:3:"462";}}s:1:"w";a:4:{s:1:"C";s:3:"119";s:2:"WX";s:3:"667";s:1:"N";s:1:"w";s:1:"B";a:4:{i:0;s:2:"16";i:1;s:3:"-13";i:2;s:3:"614";i:3;s:3:"462";}}i:120;a:4:{s:1:"C";s:3:"120";s:2:"WX";s:3:"500";s:1:"N";s:1:"x";s:1:"B";a:4:{i:0;s:3:"-46";i:1;s:3:"-13";i:2;s:3:"469";i:3;s:3:"462";}}s:1:"x";a:4:{s:1:"C";s:3:"120";s:2:"WX";s:3:"500";s:1:"N";s:1:"x";s:1:"B";a:4:{i:0;s:3:"-46";i:1;s:3:"-13";i:2;s:3:"469";i:3;s:3:"462";}}i:121;a:4:{s:1:"C";s:3:"121";s:2:"WX";s:3:"444";s:1:"N";s:1:"y";s:1:"B";a:4:{i:0;s:3:"-94";i:1;s:4:"-205";i:2;s:3:"392";i:3;s:3:"462";}}s:1:"y";a:4:{s:1:"C";s:3:"121";s:2:"WX";s:3:"444";s:1:"N";s:1:"y";s:1:"B";a:4:{i:0;s:3:"-94";i:1;s:4:"-205";i:2;s:3:"392";i:3;s:3:"462";}}i:122;a:4:{s:1:"C";s:3:"122";s:2:"WX";s:3:"389";s:1:"N";s:1:"z";s:1:"B";a:4:{i:0;s:3:"-43";i:1;s:3:"-78";i:2;s:3:"368";i:3;s:3:"449";}}s:1:"z";a:4:{s:1:"C";s:3:"122";s:2:"WX";s:3:"389";s:1:"N";s:1:"z";s:1:"B";a:4:{i:0;s:3:"-43";i:1;s:3:"-78";i:2;s:3:"368";i:3;s:3:"449";}}i:123;a:4:{s:1:"C";s:3:"123";s:2:"WX";s:3:"348";s:1:"N";s:9:"braceleft";s:1:"B";a:4:{i:0;s:1:"5";i:1;s:4:"-187";i:2;s:3:"436";i:3;s:3:"686";}}s:9:"braceleft";a:4:{s:1:"C";s:3:"123";s:2:"WX";s:3:"348";s:1:"N";s:9:"braceleft";s:1:"B";a:4:{i:0;s:1:"5";i:1;s:4:"-187";i:2;s:3:"436";i:3;s:3:"686";}}i:124;a:4:{s:1:"C";s:3:"124";s:2:"WX";s:3:"220";s:1:"N";s:3:"bar";s:1:"B";a:4:{i:0;s:2:"66";i:1;s:4:"-218";i:2;s:3:"154";i:3;s:3:"782";}}s:3:"bar";a:4:{s:1:"C";s:3:"124";s:2:"WX";s:3:"220";s:1:"N";s:3:"bar";s:1:"B";a:4:{i:0;s:2:"66";i:1;s:4:"-218";i:2;s:3:"154";i:3;s:3:"782";}}i:125;a:4:{s:1:"C";s:3:"125";s:2:"WX";s:3:"348";s:1:"N";s:10:"braceright";s:1:"B";a:4:{i:0;s:4:"-129";i:1;s:4:"-187";i:2;s:3:"302";i:3;s:3:"686";}}s:10:"braceright";a:4:{s:1:"C";s:3:"125";s:2:"WX";s:3:"348";s:1:"N";s:10:"braceright";s:1:"B";a:4:{i:0;s:4:"-129";i:1;s:4:"-187";i:2;s:3:"302";i:3;s:3:"686";}}i:126;a:4:{s:1:"C";s:3:"126";s:2:"WX";s:3:"570";s:1:"N";s:10:"asciitilde";s:1:"B";a:4:{i:0;s:2:"54";i:1;s:3:"173";i:2;s:3:"516";i:3;s:3:"333";}}s:10:"asciitilde";a:4:{s:1:"C";s:3:"126";s:2:"WX";s:3:"570";s:1:"N";s:10:"asciitilde";s:1:"B";a:4:{i:0;s:2:"54";i:1;s:3:"173";i:2;s:3:"516";i:3;s:3:"333";}}i:161;a:4:{s:1:"C";s:3:"161";s:2:"WX";s:3:"389";s:1:"N";s:10:"exclamdown";s:1:"B";a:4:{i:0;s:2:"19";i:1;s:4:"-205";i:2;s:3:"322";i:3;s:3:"492";}}s:10:"exclamdown";a:4:{s:1:"C";s:3:"161";s:2:"WX";s:3:"389";s:1:"N";s:10:"exclamdown";s:1:"B";a:4:{i:0;s:2:"19";i:1;s:4:"-205";i:2;s:3:"322";i:3;s:3:"492";}}i:162;a:4:{s:1:"C";s:3:"162";s:2:"WX";s:3:"500";s:1:"N";s:4:"cent";s:1:"B";a:4:{i:0;s:2:"42";i:1;s:4:"-143";i:2;s:3:"439";i:3;s:3:"576";}}s:4:"cent";a:4:{s:1:"C";s:3:"162";s:2:"WX";s:3:"500";s:1:"N";s:4:"cent";s:1:"B";a:4:{i:0;s:2:"42";i:1;s:4:"-143";i:2;s:3:"439";i:3;s:3:"576";}}i:163;a:4:{s:1:"C";s:3:"163";s:2:"WX";s:3:"500";s:1:"N";s:8:"sterling";s:1:"B";a:4:{i:0;s:3:"-32";i:1;s:3:"-12";i:2;s:3:"510";i:3;s:3:"683";}}s:8:"sterling";a:4:{s:1:"C";s:3:"163";s:2:"WX";s:3:"500";s:1:"N";s:8:"sterling";s:1:"B";a:4:{i:0;s:3:"-32";i:1;s:3:"-12";i:2;s:3:"510";i:3;s:3:"683";}}i:164;a:4:{s:1:"C";s:3:"164";s:2:"WX";s:3:"167";s:1:"N";s:8:"fraction";s:1:"B";a:4:{i:0;s:4:"-169";i:1;s:3:"-14";i:2;s:3:"324";i:3;s:3:"683";}}s:8:"fraction";a:4:{s:1:"C";s:3:"164";s:2:"WX";s:3:"167";s:1:"N";s:8:"fraction";s:1:"B";a:4:{i:0;s:4:"-169";i:1;s:3:"-14";i:2;s:3:"324";i:3;s:3:"683";}}i:165;a:4:{s:1:"C";s:3:"165";s:2:"WX";s:3:"500";s:1:"N";s:3:"yen";s:1:"B";a:4:{i:0;s:2:"33";i:1;s:1:"0";i:2;s:3:"628";i:3;s:3:"669";}}s:3:"yen";a:4:{s:1:"C";s:3:"165";s:2:"WX";s:3:"500";s:1:"N";s:3:"yen";s:1:"B";a:4:{i:0;s:2:"33";i:1;s:1:"0";i:2;s:3:"628";i:3;s:3:"669";}}i:166;a:4:{s:1:"C";s:3:"166";s:2:"WX";s:3:"500";s:1:"N";s:6:"florin";s:1:"B";a:4:{i:0;s:3:"-87";i:1;s:4:"-156";i:2;s:3:"537";i:3;s:3:"707";}}s:6:"florin";a:4:{s:1:"C";s:3:"166";s:2:"WX";s:3:"500";s:1:"N";s:6:"florin";s:1:"B";a:4:{i:0;s:3:"-87";i:1;s:4:"-156";i:2;s:3:"537";i:3;s:3:"707";}}i:167;a:4:{s:1:"C";s:3:"167";s:2:"WX";s:3:"500";s:1:"N";s:7:"section";s:1:"B";a:4:{i:0;s:2:"36";i:1;s:4:"-143";i:2;s:3:"459";i:3;s:3:"685";}}s:7:"section";a:4:{s:1:"C";s:3:"167";s:2:"WX";s:3:"500";s:1:"N";s:7:"section";s:1:"B";a:4:{i:0;s:2:"36";i:1;s:4:"-143";i:2;s:3:"459";i:3;s:3:"685";}}i:168;a:4:{s:1:"C";s:3:"168";s:2:"WX";s:3:"500";s:1:"N";s:8:"currency";s:1:"B";a:4:{i:0;s:3:"-26";i:1;s:2:"34";i:2;s:3:"526";i:3;s:3:"586";}}s:8:"currency";a:4:{s:1:"C";s:3:"168";s:2:"WX";s:3:"500";s:1:"N";s:8:"currency";s:1:"B";a:4:{i:0;s:3:"-26";i:1;s:2:"34";i:2;s:3:"526";i:3;s:3:"586";}}i:169;a:4:{s:1:"C";s:3:"169";s:2:"WX";s:3:"278";s:1:"N";s:11:"quotesingle";s:1:"B";a:4:{i:0;s:3:"128";i:1;s:3:"398";i:2;s:3:"268";i:3;s:3:"685";}}s:11:"quotesingle";a:4:{s:1:"C";s:3:"169";s:2:"WX";s:3:"278";s:1:"N";s:11:"quotesingle";s:1:"B";a:4:{i:0;s:3:"128";i:1;s:3:"398";i:2;s:3:"268";i:3;s:3:"685";}}i:170;a:4:{s:1:"C";s:3:"170";s:2:"WX";s:3:"500";s:1:"N";s:12:"quotedblleft";s:1:"B";a:4:{i:0;s:2:"53";i:1;s:3:"369";i:2;s:3:"513";i:3;s:3:"685";}}s:12:"quotedblleft";a:4:{s:1:"C";s:3:"170";s:2:"WX";s:3:"500";s:1:"N";s:12:"quotedblleft";s:1:"B";a:4:{i:0;s:2:"53";i:1;s:3:"369";i:2;s:3:"513";i:3;s:3:"685";}}i:171;a:4:{s:1:"C";s:3:"171";s:2:"WX";s:3:"500";s:1:"N";s:13:"guillemotleft";s:1:"B";a:4:{i:0;s:2:"12";i:1;s:2:"32";i:2;s:3:"468";i:3;s:3:"415";}}s:13:"guillemotleft";a:4:{s:1:"C";s:3:"171";s:2:"WX";s:3:"500";s:1:"N";s:13:"guillemotleft";s:1:"B";a:4:{i:0;s:2:"12";i:1;s:2:"32";i:2;s:3:"468";i:3;s:3:"415";}}i:172;a:4:{s:1:"C";s:3:"172";s:2:"WX";s:3:"333";s:1:"N";s:13:"guilsinglleft";s:1:"B";a:4:{i:0;s:2:"32";i:1;s:2:"32";i:2;s:3:"303";i:3;s:3:"415";}}s:13:"guilsinglleft";a:4:{s:1:"C";s:3:"172";s:2:"WX";s:3:"333";s:1:"N";s:13:"guilsinglleft";s:1:"B";a:4:{i:0;s:2:"32";i:1;s:2:"32";i:2;s:3:"303";i:3;s:3:"415";}}i:173;a:4:{s:1:"C";s:3:"173";s:2:"WX";s:3:"333";s:1:"N";s:14:"guilsinglright";s:1:"B";a:4:{i:0;s:2:"10";i:1;s:2:"32";i:2;s:3:"281";i:3;s:3:"415";}}s:14:"guilsinglright";a:4:{s:1:"C";s:3:"173";s:2:"WX";s:3:"333";s:1:"N";s:14:"guilsinglright";s:1:"B";a:4:{i:0;s:2:"10";i:1;s:2:"32";i:2;s:3:"281";i:3;s:3:"415";}}i:174;a:4:{s:1:"C";s:3:"174";s:2:"WX";s:3:"556";s:1:"N";s:2:"fi";s:1:"B";a:4:{i:0;s:4:"-188";i:1;s:4:"-205";i:2;s:3:"514";i:3;s:3:"703";}}s:2:"fi";a:4:{s:1:"C";s:3:"174";s:2:"WX";s:3:"556";s:1:"N";s:2:"fi";s:1:"B";a:4:{i:0;s:4:"-188";i:1;s:4:"-205";i:2;s:3:"514";i:3;s:3:"703";}}i:175;a:4:{s:1:"C";s:3:"175";s:2:"WX";s:3:"556";s:1:"N";s:2:"fl";s:1:"B";a:4:{i:0;s:4:"-186";i:1;s:4:"-205";i:2;s:3:"553";i:3;s:3:"704";}}s:2:"fl";a:4:{s:1:"C";s:3:"175";s:2:"WX";s:3:"556";s:1:"N";s:2:"fl";s:1:"B";a:4:{i:0;s:4:"-186";i:1;s:4:"-205";i:2;s:3:"553";i:3;s:3:"704";}}i:177;a:4:{s:1:"C";s:3:"177";s:2:"WX";s:3:"500";s:1:"N";s:6:"endash";s:1:"B";a:4:{i:0;s:3:"-40";i:1;s:3:"178";i:2;s:3:"477";i:3;s:3:"269";}}s:6:"endash";a:4:{s:1:"C";s:3:"177";s:2:"WX";s:3:"500";s:1:"N";s:6:"endash";s:1:"B";a:4:{i:0;s:3:"-40";i:1;s:3:"178";i:2;s:3:"477";i:3;s:3:"269";}}i:178;a:4:{s:1:"C";s:3:"178";s:2:"WX";s:3:"500";s:1:"N";s:6:"dagger";s:1:"B";a:4:{i:0;s:2:"91";i:1;s:4:"-145";i:2;s:3:"494";i:3;s:3:"685";}}s:6:"dagger";a:4:{s:1:"C";s:3:"178";s:2:"WX";s:3:"500";s:1:"N";s:6:"dagger";s:1:"B";a:4:{i:0;s:2:"91";i:1;s:4:"-145";i:2;s:3:"494";i:3;s:3:"685";}}i:179;a:4:{s:1:"C";s:3:"179";s:2:"WX";s:3:"500";s:1:"N";s:9:"daggerdbl";s:1:"B";a:4:{i:0;s:2:"10";i:1;s:4:"-139";i:2;s:3:"493";i:3;s:3:"685";}}s:9:"daggerdbl";a:4:{s:1:"C";s:3:"179";s:2:"WX";s:3:"500";s:1:"N";s:9:"daggerdbl";s:1:"B";a:4:{i:0;s:2:"10";i:1;s:4:"-139";i:2;s:3:"493";i:3;s:3:"685";}}i:180;a:4:{s:1:"C";s:3:"180";s:2:"WX";s:3:"250";s:1:"N";s:14:"periodcentered";s:1:"B";a:4:{i:0;s:2:"51";i:1;s:3:"257";i:2;s:3:"199";i:3;s:3:"405";}}s:14:"periodcentered";a:4:{s:1:"C";s:3:"180";s:2:"WX";s:3:"250";s:1:"N";s:14:"periodcentered";s:1:"B";a:4:{i:0;s:2:"51";i:1;s:3:"257";i:2;s:3:"199";i:3;s:3:"405";}}i:182;a:4:{s:1:"C";s:3:"182";s:2:"WX";s:3:"500";s:1:"N";s:9:"paragraph";s:1:"B";a:4:{i:0;s:3:"-57";i:1;s:4:"-193";i:2;s:3:"562";i:3;s:3:"669";}}s:9:"paragraph";a:4:{s:1:"C";s:3:"182";s:2:"WX";s:3:"500";s:1:"N";s:9:"paragraph";s:1:"B";a:4:{i:0;s:3:"-57";i:1;s:4:"-193";i:2;s:3:"562";i:3;s:3:"669";}}i:183;a:4:{s:1:"C";s:3:"183";s:2:"WX";s:3:"350";s:1:"N";s:6:"bullet";s:1:"B";a:4:{i:0;s:1:"0";i:1;s:3:"175";i:2;s:3:"350";i:3;s:3:"525";}}s:6:"bullet";a:4:{s:1:"C";s:3:"183";s:2:"WX";s:3:"350";s:1:"N";s:6:"bullet";s:1:"B";a:4:{i:0;s:1:"0";i:1;s:3:"175";i:2;s:3:"350";i:3;s:3:"525";}}i:184;a:4:{s:1:"C";s:3:"184";s:2:"WX";s:3:"333";s:1:"N";s:14:"quotesinglbase";s:1:"B";a:4:{i:0;s:2:"-5";i:1;s:4:"-182";i:2;s:3:"199";i:3;s:3:"134";}}s:14:"quotesinglbase";a:4:{s:1:"C";s:3:"184";s:2:"WX";s:3:"333";s:1:"N";s:14:"quotesinglbase";s:1:"B";a:4:{i:0;s:2:"-5";i:1;s:4:"-182";i:2;s:3:"199";i:3;s:3:"134";}}i:185;a:4:{s:1:"C";s:3:"185";s:2:"WX";s:3:"500";s:1:"N";s:12:"quotedblbase";s:1:"B";a:4:{i:0;s:3:"-57";i:1;s:4:"-182";i:2;s:3:"403";i:3;s:3:"134";}}s:12:"quotedblbase";a:4:{s:1:"C";s:3:"185";s:2:"WX";s:3:"500";s:1:"N";s:12:"quotedblbase";s:1:"B";a:4:{i:0;s:3:"-57";i:1;s:4:"-182";i:2;s:3:"403";i:3;s:3:"134";}}i:186;a:4:{s:1:"C";s:3:"186";s:2:"WX";s:3:"500";s:1:"N";s:13:"quotedblright";s:1:"B";a:4:{i:0;s:2:"53";i:1;s:3:"369";i:2;s:3:"513";i:3;s:3:"685";}}s:13:"quotedblright";a:4:{s:1:"C";s:3:"186";s:2:"WX";s:3:"500";s:1:"N";s:13:"quotedblright";s:1:"B";a:4:{i:0;s:2:"53";i:1;s:3:"369";i:2;s:3:"513";i:3;s:3:"685";}}i:187;a:4:{s:1:"C";s:3:"187";s:2:"WX";s:3:"500";s:1:"N";s:14:"guillemotright";s:1:"B";a:4:{i:0;s:2:"12";i:1;s:2:"32";i:2;s:3:"468";i:3;s:3:"415";}}s:14:"guillemotright";a:4:{s:1:"C";s:3:"187";s:2:"WX";s:3:"500";s:1:"N";s:14:"guillemotright";s:1:"B";a:4:{i:0;s:2:"12";i:1;s:2:"32";i:2;s:3:"468";i:3;s:3:"415";}}i:188;a:4:{s:1:"C";s:3:"188";s:2:"WX";s:4:"1000";s:1:"N";s:8:"ellipsis";s:1:"B";a:4:{i:0;s:2:"40";i:1;s:3:"-13";i:2;s:3:"852";i:3;s:3:"135";}}s:8:"ellipsis";a:4:{s:1:"C";s:3:"188";s:2:"WX";s:4:"1000";s:1:"N";s:8:"ellipsis";s:1:"B";a:4:{i:0;s:2:"40";i:1;s:3:"-13";i:2;s:3:"852";i:3;s:3:"135";}}i:189;a:4:{s:1:"C";s:3:"189";s:2:"WX";s:4:"1000";s:1:"N";s:11:"perthousand";s:1:"B";a:4:{i:0;s:1:"7";i:1;s:3:"-29";i:2;s:3:"996";i:3;s:3:"706";}}s:11:"perthousand";a:4:{s:1:"C";s:3:"189";s:2:"WX";s:4:"1000";s:1:"N";s:11:"perthousand";s:1:"B";a:4:{i:0;s:1:"7";i:1;s:3:"-29";i:2;s:3:"996";i:3;s:3:"706";}}i:191;a:4:{s:1:"C";s:3:"191";s:2:"WX";s:3:"500";s:1:"N";s:12:"questiondown";s:1:"B";a:4:{i:0;s:2:"30";i:1;s:4:"-205";i:2;s:3:"421";i:3;s:3:"492";}}s:12:"questiondown";a:4:{s:1:"C";s:3:"191";s:2:"WX";s:3:"500";s:1:"N";s:12:"questiondown";s:1:"B";a:4:{i:0;s:2:"30";i:1;s:4:"-205";i:2;s:3:"421";i:3;s:3:"492";}}i:193;a:4:{s:1:"C";s:3:"193";s:2:"WX";s:3:"333";s:1:"N";s:5:"grave";s:1:"B";a:4:{i:0;s:2:"85";i:1;s:3:"516";i:2;s:3:"297";i:3;s:3:"697";}}s:5:"grave";a:4:{s:1:"C";s:3:"193";s:2:"WX";s:3:"333";s:1:"N";s:5:"grave";s:1:"B";a:4:{i:0;s:2:"85";i:1;s:3:"516";i:2;s:3:"297";i:3;s:3:"697";}}i:194;a:4:{s:1:"C";s:3:"194";s:2:"WX";s:3:"333";s:1:"N";s:5:"acute";s:1:"B";a:4:{i:0;s:3:"139";i:1;s:3:"516";i:2;s:3:"379";i:3;s:3:"697";}}s:5:"acute";a:4:{s:1:"C";s:3:"194";s:2:"WX";s:3:"333";s:1:"N";s:5:"acute";s:1:"B";a:4:{i:0;s:3:"139";i:1;s:3:"516";i:2;s:3:"379";i:3;s:3:"697";}}i:195;a:4:{s:1:"C";s:3:"195";s:2:"WX";s:3:"333";s:1:"N";s:10:"circumflex";s:1:"B";a:4:{i:0;s:2:"40";i:1;s:3:"516";i:2;s:3:"367";i:3;s:3:"690";}}s:10:"circumflex";a:4:{s:1:"C";s:3:"195";s:2:"WX";s:3:"333";s:1:"N";s:10:"circumflex";s:1:"B";a:4:{i:0;s:2:"40";i:1;s:3:"516";i:2;s:3:"367";i:3;s:3:"690";}}i:196;a:4:{s:1:"C";s:3:"196";s:2:"WX";s:3:"333";s:1:"N";s:5:"tilde";s:1:"B";a:4:{i:0;s:2:"48";i:1;s:3:"536";i:2;s:3:"407";i:3;s:3:"655";}}s:5:"tilde";a:4:{s:1:"C";s:3:"196";s:2:"WX";s:3:"333";s:1:"N";s:5:"tilde";s:1:"B";a:4:{i:0;s:2:"48";i:1;s:3:"536";i:2;s:3:"407";i:3;s:3:"655";}}i:197;a:4:{s:1:"C";s:3:"197";s:2:"WX";s:3:"333";s:1:"N";s:6:"macron";s:1:"B";a:4:{i:0;s:2:"51";i:1;s:3:"553";i:2;s:3:"393";i:3;s:3:"623";}}s:6:"macron";a:4:{s:1:"C";s:3:"197";s:2:"WX";s:3:"333";s:1:"N";s:6:"macron";s:1:"B";a:4:{i:0;s:2:"51";i:1;s:3:"553";i:2;s:3:"393";i:3;s:3:"623";}}i:198;a:4:{s:1:"C";s:3:"198";s:2:"WX";s:3:"333";s:1:"N";s:5:"breve";s:1:"B";a:4:{i:0;s:2:"71";i:1;s:3:"516";i:2;s:3:"387";i:3;s:3:"678";}}s:5:"breve";a:4:{s:1:"C";s:3:"198";s:2:"WX";s:3:"333";s:1:"N";s:5:"breve";s:1:"B";a:4:{i:0;s:2:"71";i:1;s:3:"516";i:2;s:3:"387";i:3;s:3:"678";}}i:199;a:4:{s:1:"C";s:3:"199";s:2:"WX";s:3:"333";s:1:"N";s:9:"dotaccent";s:1:"B";a:4:{i:0;s:3:"163";i:1;s:3:"550";i:2;s:3:"298";i:3;s:3:"684";}}s:9:"dotaccent";a:4:{s:1:"C";s:3:"199";s:2:"WX";s:3:"333";s:1:"N";s:9:"dotaccent";s:1:"B";a:4:{i:0;s:3:"163";i:1;s:3:"550";i:2;s:3:"298";i:3;s:3:"684";}}i:200;a:4:{s:1:"C";s:3:"200";s:2:"WX";s:3:"333";s:1:"N";s:8:"dieresis";s:1:"B";a:4:{i:0;s:2:"55";i:1;s:3:"550";i:2;s:3:"402";i:3;s:3:"684";}}s:8:"dieresis";a:4:{s:1:"C";s:3:"200";s:2:"WX";s:3:"333";s:1:"N";s:8:"dieresis";s:1:"B";a:4:{i:0;s:2:"55";i:1;s:3:"550";i:2;s:3:"402";i:3;s:3:"684";}}i:202;a:4:{s:1:"C";s:3:"202";s:2:"WX";s:3:"333";s:1:"N";s:4:"ring";s:1:"B";a:4:{i:0;s:3:"127";i:1;s:3:"516";i:2;s:3:"340";i:3;s:3:"729";}}s:4:"ring";a:4:{s:1:"C";s:3:"202";s:2:"WX";s:3:"333";s:1:"N";s:4:"ring";s:1:"B";a:4:{i:0;s:3:"127";i:1;s:3:"516";i:2;s:3:"340";i:3;s:3:"729";}}i:203;a:4:{s:1:"C";s:3:"203";s:2:"WX";s:3:"333";s:1:"N";s:7:"cedilla";s:1:"B";a:4:{i:0;s:3:"-80";i:1;s:4:"-218";i:2;s:3:"156";i:3;s:1:"5";}}s:7:"cedilla";a:4:{s:1:"C";s:3:"203";s:2:"WX";s:3:"333";s:1:"N";s:7:"cedilla";s:1:"B";a:4:{i:0;s:3:"-80";i:1;s:4:"-218";i:2;s:3:"156";i:3;s:1:"5";}}i:205;a:4:{s:1:"C";s:3:"205";s:2:"WX";s:3:"333";s:1:"N";s:12:"hungarumlaut";s:1:"B";a:4:{i:0;s:2:"69";i:1;s:3:"516";i:2;s:3:"498";i:3;s:3:"697";}}s:12:"hungarumlaut";a:4:{s:1:"C";s:3:"205";s:2:"WX";s:3:"333";s:1:"N";s:12:"hungarumlaut";s:1:"B";a:4:{i:0;s:2:"69";i:1;s:3:"516";i:2;s:3:"498";i:3;s:3:"697";}}i:206;a:4:{s:1:"C";s:3:"206";s:2:"WX";s:3:"333";s:1:"N";s:6:"ogonek";s:1:"B";a:4:{i:0;s:2:"15";i:1;s:4:"-183";i:2;s:3:"244";i:3;s:2:"34";}}s:6:"ogonek";a:4:{s:1:"C";s:3:"206";s:2:"WX";s:3:"333";s:1:"N";s:6:"ogonek";s:1:"B";a:4:{i:0;s:2:"15";i:1;s:4:"-183";i:2;s:3:"244";i:3;s:2:"34";}}i:207;a:4:{s:1:"C";s:3:"207";s:2:"WX";s:3:"333";s:1:"N";s:5:"caron";s:1:"B";a:4:{i:0;s:2:"79";i:1;s:3:"516";i:2;s:3:"411";i:3;s:3:"690";}}s:5:"caron";a:4:{s:1:"C";s:3:"207";s:2:"WX";s:3:"333";s:1:"N";s:5:"caron";s:1:"B";a:4:{i:0;s:2:"79";i:1;s:3:"516";i:2;s:3:"411";i:3;s:3:"690";}}i:208;a:4:{s:1:"C";s:3:"208";s:2:"WX";s:4:"1000";s:1:"N";s:6:"emdash";s:1:"B";a:4:{i:0;s:3:"-40";i:1;s:3:"178";i:2;s:3:"977";i:3;s:3:"269";}}s:6:"emdash";a:4:{s:1:"C";s:3:"208";s:2:"WX";s:4:"1000";s:1:"N";s:6:"emdash";s:1:"B";a:4:{i:0;s:3:"-40";i:1;s:3:"178";i:2;s:3:"977";i:3;s:3:"269";}}i:225;a:4:{s:1:"C";s:3:"225";s:2:"WX";s:3:"944";s:1:"N";s:2:"AE";s:1:"B";a:4:{i:0;s:3:"-64";i:1;s:1:"0";i:2;s:3:"918";i:3;s:3:"669";}}s:2:"AE";a:4:{s:1:"C";s:3:"225";s:2:"WX";s:3:"944";s:1:"N";s:2:"AE";s:1:"B";a:4:{i:0;s:3:"-64";i:1;s:1:"0";i:2;s:3:"918";i:3;s:3:"669";}}i:227;a:4:{s:1:"C";s:3:"227";s:2:"WX";s:3:"266";s:1:"N";s:11:"ordfeminine";s:1:"B";a:4:{i:0;s:2:"16";i:1;s:3:"399";i:2;s:3:"330";i:3;s:3:"685";}}s:11:"ordfeminine";a:4:{s:1:"C";s:3:"227";s:2:"WX";s:3:"266";s:1:"N";s:11:"ordfeminine";s:1:"B";a:4:{i:0;s:2:"16";i:1;s:3:"399";i:2;s:3:"330";i:3;s:3:"685";}}i:232;a:4:{s:1:"C";s:3:"232";s:2:"WX";s:3:"611";s:1:"N";s:6:"Lslash";s:1:"B";a:4:{i:0;s:3:"-22";i:1;s:1:"0";i:2;s:3:"590";i:3;s:3:"669";}}s:6:"Lslash";a:4:{s:1:"C";s:3:"232";s:2:"WX";s:3:"611";s:1:"N";s:6:"Lslash";s:1:"B";a:4:{i:0;s:3:"-22";i:1;s:1:"0";i:2;s:3:"590";i:3;s:3:"669";}}i:233;a:4:{s:1:"C";s:3:"233";s:2:"WX";s:3:"722";s:1:"N";s:6:"Oslash";s:1:"B";a:4:{i:0;s:2:"27";i:1;s:4:"-125";i:2;s:3:"691";i:3;s:3:"764";}}s:6:"Oslash";a:4:{s:1:"C";s:3:"233";s:2:"WX";s:3:"722";s:1:"N";s:6:"Oslash";s:1:"B";a:4:{i:0;s:2:"27";i:1;s:4:"-125";i:2;s:3:"691";i:3;s:3:"764";}}i:234;a:4:{s:1:"C";s:3:"234";s:2:"WX";s:3:"944";s:1:"N";s:2:"OE";s:1:"B";a:4:{i:0;s:2:"23";i:1;s:2:"-8";i:2;s:3:"946";i:3;s:3:"677";}}s:2:"OE";a:4:{s:1:"C";s:3:"234";s:2:"WX";s:3:"944";s:1:"N";s:2:"OE";s:1:"B";a:4:{i:0;s:2:"23";i:1;s:2:"-8";i:2;s:3:"946";i:3;s:3:"677";}}i:235;a:4:{s:1:"C";s:3:"235";s:2:"WX";s:3:"300";s:1:"N";s:12:"ordmasculine";s:1:"B";a:4:{i:0;s:2:"56";i:1;s:3:"400";i:2;s:3:"347";i:3;s:3:"685";}}s:12:"ordmasculine";a:4:{s:1:"C";s:3:"235";s:2:"WX";s:3:"300";s:1:"N";s:12:"ordmasculine";s:1:"B";a:4:{i:0;s:2:"56";i:1;s:3:"400";i:2;s:3:"347";i:3;s:3:"685";}}i:241;a:4:{s:1:"C";s:3:"241";s:2:"WX";s:3:"722";s:1:"N";s:2:"ae";s:1:"B";a:4:{i:0;s:2:"-5";i:1;s:3:"-13";i:2;s:3:"673";i:3;s:3:"462";}}s:2:"ae";a:4:{s:1:"C";s:3:"241";s:2:"WX";s:3:"722";s:1:"N";s:2:"ae";s:1:"B";a:4:{i:0;s:2:"-5";i:1;s:3:"-13";i:2;s:3:"673";i:3;s:3:"462";}}i:245;a:4:{s:1:"C";s:3:"245";s:2:"WX";s:3:"278";s:1:"N";s:8:"dotlessi";s:1:"B";a:4:{i:0;s:1:"2";i:1;s:2:"-9";i:2;s:3:"238";i:3;s:3:"462";}}s:8:"dotlessi";a:4:{s:1:"C";s:3:"245";s:2:"WX";s:3:"278";s:1:"N";s:8:"dotlessi";s:1:"B";a:4:{i:0;s:1:"2";i:1;s:2:"-9";i:2;s:3:"238";i:3;s:3:"462";}}i:248;a:4:{s:1:"C";s:3:"248";s:2:"WX";s:3:"278";s:1:"N";s:6:"lslash";s:1:"B";a:4:{i:0;s:2:"-7";i:1;s:2:"-9";i:2;s:3:"307";i:3;s:3:"699";}}s:6:"lslash";a:4:{s:1:"C";s:3:"248";s:2:"WX";s:3:"278";s:1:"N";s:6:"lslash";s:1:"B";a:4:{i:0;s:2:"-7";i:1;s:2:"-9";i:2;s:3:"307";i:3;s:3:"699";}}i:249;a:4:{s:1:"C";s:3:"249";s:2:"WX";s:3:"500";s:1:"N";s:6:"oslash";s:1:"B";a:4:{i:0;s:2:"-3";i:1;s:4:"-119";i:2;s:3:"441";i:3;s:3:"560";}}s:6:"oslash";a:4:{s:1:"C";s:3:"249";s:2:"WX";s:3:"500";s:1:"N";s:6:"oslash";s:1:"B";a:4:{i:0;s:2:"-3";i:1;s:4:"-119";i:2;s:3:"441";i:3;s:3:"560";}}i:250;a:4:{s:1:"C";s:3:"250";s:2:"WX";s:3:"722";s:1:"N";s:2:"oe";s:1:"B";a:4:{i:0;s:1:"6";i:1;s:3:"-13";i:2;s:3:"674";i:3;s:3:"462";}}s:2:"oe";a:4:{s:1:"C";s:3:"250";s:2:"WX";s:3:"722";s:1:"N";s:2:"oe";s:1:"B";a:4:{i:0;s:1:"6";i:1;s:3:"-13";i:2;s:3:"674";i:3;s:3:"462";}}i:251;a:4:{s:1:"C";s:3:"251";s:2:"WX";s:3:"500";s:1:"N";s:10:"germandbls";s:1:"B";a:4:{i:0;s:4:"-200";i:1;s:4:"-200";i:2;s:3:"473";i:3;s:3:"705";}}s:10:"germandbls";a:4:{s:1:"C";s:3:"251";s:2:"WX";s:3:"500";s:1:"N";s:10:"germandbls";s:1:"B";a:4:{i:0;s:4:"-200";i:1;s:4:"-200";i:2;s:3:"473";i:3;s:3:"705";}}s:9:"Idieresis";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"389";s:1:"N";s:9:"Idieresis";s:1:"B";a:4:{i:0;s:3:"-32";i:1;s:1:"0";i:2;s:3:"450";i:3;s:3:"862";}}s:6:"eacute";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"444";s:1:"N";s:6:"eacute";s:1:"B";a:4:{i:0;s:1:"5";i:1;s:3:"-13";i:2;s:3:"435";i:3;s:3:"697";}}s:6:"abreve";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"500";s:1:"N";s:6:"abreve";s:1:"B";a:4:{i:0;s:3:"-21";i:1;s:3:"-14";i:2;s:3:"471";i:3;s:3:"678";}}s:13:"uhungarumlaut";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"556";s:1:"N";s:13:"uhungarumlaut";s:1:"B";a:4:{i:0;s:2:"15";i:1;s:2:"-9";i:2;s:3:"610";i:3;s:3:"697";}}s:6:"ecaron";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"444";s:1:"N";s:6:"ecaron";s:1:"B";a:4:{i:0;s:1:"5";i:1;s:3:"-13";i:2;s:3:"467";i:3;s:3:"690";}}s:9:"Ydieresis";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"611";s:1:"N";s:9:"Ydieresis";s:1:"B";a:4:{i:0;s:2:"73";i:1;s:1:"0";i:2;s:3:"659";i:3;s:3:"862";}}s:6:"divide";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"570";s:1:"N";s:6:"divide";s:1:"B";a:4:{i:0;s:2:"33";i:1;s:3:"-29";i:2;s:3:"537";i:3;s:3:"535";}}s:6:"Yacute";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"611";s:1:"N";s:6:"Yacute";s:1:"B";a:4:{i:0;s:2:"73";i:1;s:1:"0";i:2;s:3:"659";i:3;s:3:"904";}}s:11:"Acircumflex";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"667";s:1:"N";s:11:"Acircumflex";s:1:"B";a:4:{i:0;s:3:"-67";i:1;s:1:"0";i:2;s:3:"593";i:3;s:3:"897";}}s:6:"aacute";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"500";s:1:"N";s:6:"aacute";s:1:"B";a:4:{i:0;s:3:"-21";i:1;s:3:"-14";i:2;s:3:"463";i:3;s:3:"697";}}s:11:"Ucircumflex";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"722";s:1:"N";s:11:"Ucircumflex";s:1:"B";a:4:{i:0;s:2:"67";i:1;s:3:"-18";i:2;s:3:"744";i:3;s:3:"897";}}s:6:"yacute";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"444";s:1:"N";s:6:"yacute";s:1:"B";a:4:{i:0;s:3:"-94";i:1;s:4:"-205";i:2;s:3:"435";i:3;s:3:"697";}}s:12:"scommaaccent";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"389";s:1:"N";s:12:"scommaaccent";s:1:"B";a:4:{i:0;s:3:"-19";i:1;s:4:"-218";i:2;s:3:"333";i:3;s:3:"462";}}s:11:"ecircumflex";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"444";s:1:"N";s:11:"ecircumflex";s:1:"B";a:4:{i:0;s:1:"5";i:1;s:3:"-13";i:2;s:3:"423";i:3;s:3:"690";}}s:5:"Uring";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"722";s:1:"N";s:5:"Uring";s:1:"B";a:4:{i:0;s:2:"67";i:1;s:3:"-18";i:2;s:3:"744";i:3;s:3:"921";}}s:9:"Udieresis";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"722";s:1:"N";s:9:"Udieresis";s:1:"B";a:4:{i:0;s:2:"67";i:1;s:3:"-18";i:2;s:3:"744";i:3;s:3:"862";}}s:7:"aogonek";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"500";s:1:"N";s:7:"aogonek";s:1:"B";a:4:{i:0;s:3:"-21";i:1;s:4:"-183";i:2;s:3:"455";i:3;s:3:"462";}}s:6:"Uacute";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"722";s:1:"N";s:6:"Uacute";s:1:"B";a:4:{i:0;s:2:"67";i:1;s:3:"-18";i:2;s:3:"744";i:3;s:3:"904";}}s:7:"uogonek";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"556";s:1:"N";s:7:"uogonek";s:1:"B";a:4:{i:0;s:2:"15";i:1;s:4:"-183";i:2;s:3:"492";i:3;s:3:"462";}}s:9:"Edieresis";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"667";s:1:"N";s:9:"Edieresis";s:1:"B";a:4:{i:0;s:3:"-27";i:1;s:1:"0";i:2;s:3:"653";i:3;s:3:"862";}}s:6:"Dcroat";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"722";s:1:"N";s:6:"Dcroat";s:1:"B";a:4:{i:0;s:3:"-31";i:1;s:1:"0";i:2;s:3:"700";i:3;s:3:"669";}}s:11:"commaaccent";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"250";s:1:"N";s:11:"commaaccent";s:1:"B";a:4:{i:0;s:3:"-36";i:1;s:4:"-218";i:2;s:3:"131";i:3;s:3:"-50";}}s:9:"copyright";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"747";s:1:"N";s:9:"copyright";s:1:"B";a:4:{i:0;s:2:"30";i:1;s:3:"-18";i:2;s:3:"718";i:3;s:3:"685";}}s:7:"Emacron";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"667";s:1:"N";s:7:"Emacron";s:1:"B";a:4:{i:0;s:3:"-27";i:1;s:1:"0";i:2;s:3:"653";i:3;s:3:"830";}}s:6:"ccaron";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"444";s:1:"N";s:6:"ccaron";s:1:"B";a:4:{i:0;s:2:"-5";i:1;s:3:"-13";i:2;s:3:"467";i:3;s:3:"690";}}s:5:"aring";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"500";s:1:"N";s:5:"aring";s:1:"B";a:4:{i:0;s:3:"-21";i:1;s:3:"-14";i:2;s:3:"455";i:3;s:3:"729";}}s:12:"Ncommaaccent";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"722";s:1:"N";s:12:"Ncommaaccent";s:1:"B";a:4:{i:0;s:3:"-27";i:1;s:4:"-218";i:2;s:3:"748";i:3;s:3:"669";}}s:6:"lacute";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"278";s:1:"N";s:6:"lacute";s:1:"B";a:4:{i:0;s:1:"2";i:1;s:2:"-9";i:2;s:3:"392";i:3;s:3:"904";}}s:6:"agrave";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"500";s:1:"N";s:6:"agrave";s:1:"B";a:4:{i:0;s:3:"-21";i:1;s:3:"-14";i:2;s:3:"455";i:3;s:3:"697";}}s:12:"Tcommaaccent";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"611";s:1:"N";s:12:"Tcommaaccent";s:1:"B";a:4:{i:0;s:2:"50";i:1;s:4:"-218";i:2;s:3:"650";i:3;s:3:"669";}}s:6:"Cacute";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"667";s:1:"N";s:6:"Cacute";s:1:"B";a:4:{i:0;s:2:"32";i:1;s:3:"-18";i:2;s:3:"677";i:3;s:3:"904";}}s:6:"atilde";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"500";s:1:"N";s:6:"atilde";s:1:"B";a:4:{i:0;s:3:"-21";i:1;s:3:"-14";i:2;s:3:"491";i:3;s:3:"655";}}s:10:"Edotaccent";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"667";s:1:"N";s:10:"Edotaccent";s:1:"B";a:4:{i:0;s:3:"-27";i:1;s:1:"0";i:2;s:3:"653";i:3;s:3:"862";}}s:6:"scaron";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"389";s:1:"N";s:6:"scaron";s:1:"B";a:4:{i:0;s:3:"-19";i:1;s:3:"-13";i:2;s:3:"424";i:3;s:3:"690";}}s:8:"scedilla";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"389";s:1:"N";s:8:"scedilla";s:1:"B";a:4:{i:0;s:3:"-19";i:1;s:4:"-218";i:2;s:3:"333";i:3;s:3:"462";}}s:6:"iacute";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"278";s:1:"N";s:6:"iacute";s:1:"B";a:4:{i:0;s:1:"2";i:1;s:2:"-9";i:2;s:3:"352";i:3;s:3:"697";}}s:7:"lozenge";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"494";s:1:"N";s:7:"lozenge";s:1:"B";a:4:{i:0;s:2:"10";i:1;s:1:"0";i:2;s:3:"484";i:3;s:3:"745";}}s:6:"Rcaron";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"667";s:1:"N";s:6:"Rcaron";s:1:"B";a:4:{i:0;s:3:"-29";i:1;s:1:"0";i:2;s:3:"623";i:3;s:3:"897";}}s:12:"Gcommaaccent";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"722";s:1:"N";s:12:"Gcommaaccent";s:1:"B";a:4:{i:0;s:2:"21";i:1;s:4:"-218";i:2;s:3:"706";i:3;s:3:"685";}}s:11:"ucircumflex";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"556";s:1:"N";s:11:"ucircumflex";s:1:"B";a:4:{i:0;s:2:"15";i:1;s:2:"-9";i:2;s:3:"492";i:3;s:3:"690";}}s:11:"acircumflex";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"500";s:1:"N";s:11:"acircumflex";s:1:"B";a:4:{i:0;s:3:"-21";i:1;s:3:"-14";i:2;s:3:"455";i:3;s:3:"690";}}s:7:"Amacron";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"667";s:1:"N";s:7:"Amacron";s:1:"B";a:4:{i:0;s:3:"-67";i:1;s:1:"0";i:2;s:3:"593";i:3;s:3:"830";}}s:6:"rcaron";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"389";s:1:"N";s:6:"rcaron";s:1:"B";a:4:{i:0;s:3:"-21";i:1;s:1:"0";i:2;s:3:"424";i:3;s:3:"690";}}s:8:"ccedilla";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"444";s:1:"N";s:8:"ccedilla";s:1:"B";a:4:{i:0;s:2:"-5";i:1;s:4:"-218";i:2;s:3:"392";i:3;s:3:"462";}}s:10:"Zdotaccent";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"611";s:1:"N";s:10:"Zdotaccent";s:1:"B";a:4:{i:0;s:3:"-11";i:1;s:1:"0";i:2;s:3:"590";i:3;s:3:"862";}}s:5:"Thorn";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"611";s:1:"N";s:5:"Thorn";s:1:"B";a:4:{i:0;s:3:"-27";i:1;s:1:"0";i:2;s:3:"573";i:3;s:3:"669";}}s:7:"Omacron";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"722";s:1:"N";s:7:"Omacron";s:1:"B";a:4:{i:0;s:2:"27";i:1;s:3:"-18";i:2;s:3:"691";i:3;s:3:"830";}}s:6:"Racute";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"667";s:1:"N";s:6:"Racute";s:1:"B";a:4:{i:0;s:3:"-29";i:1;s:1:"0";i:2;s:3:"623";i:3;s:3:"904";}}s:6:"Sacute";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"556";s:1:"N";s:6:"Sacute";s:1:"B";a:4:{i:0;s:1:"2";i:1;s:3:"-18";i:2;s:3:"531";i:3;s:3:"904";}}s:6:"dcaron";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"608";s:1:"N";s:6:"dcaron";s:1:"B";a:4:{i:0;s:3:"-21";i:1;s:3:"-13";i:2;s:3:"675";i:3;s:3:"708";}}s:7:"Umacron";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"722";s:1:"N";s:7:"Umacron";s:1:"B";a:4:{i:0;s:2:"67";i:1;s:3:"-18";i:2;s:3:"744";i:3;s:3:"830";}}s:5:"uring";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"556";s:1:"N";s:5:"uring";s:1:"B";a:4:{i:0;s:2:"15";i:1;s:2:"-9";i:2;s:3:"492";i:3;s:3:"729";}}s:13:"threesuperior";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"300";s:1:"N";s:13:"threesuperior";s:1:"B";a:4:{i:0;s:2:"17";i:1;s:3:"265";i:2;s:3:"321";i:3;s:3:"683";}}s:6:"Ograve";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"722";s:1:"N";s:6:"Ograve";s:1:"B";a:4:{i:0;s:2:"27";i:1;s:3:"-18";i:2;s:3:"691";i:3;s:3:"904";}}s:6:"Agrave";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"667";s:1:"N";s:6:"Agrave";s:1:"B";a:4:{i:0;s:3:"-67";i:1;s:1:"0";i:2;s:3:"593";i:3;s:3:"904";}}s:6:"Abreve";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"667";s:1:"N";s:6:"Abreve";s:1:"B";a:4:{i:0;s:3:"-67";i:1;s:1:"0";i:2;s:3:"593";i:3;s:3:"885";}}s:8:"multiply";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"570";s:1:"N";s:8:"multiply";s:1:"B";a:4:{i:0;s:2:"48";i:1;s:2:"16";i:2;s:3:"522";i:3;s:3:"490";}}s:6:"uacute";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"556";s:1:"N";s:6:"uacute";s:1:"B";a:4:{i:0;s:2:"15";i:1;s:2:"-9";i:2;s:3:"492";i:3;s:3:"697";}}s:6:"Tcaron";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"611";s:1:"N";s:6:"Tcaron";s:1:"B";a:4:{i:0;s:2:"50";i:1;s:1:"0";i:2;s:3:"650";i:3;s:3:"897";}}s:11:"partialdiff";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"494";s:1:"N";s:11:"partialdiff";s:1:"B";a:4:{i:0;s:2:"11";i:1;s:3:"-21";i:2;s:3:"494";i:3;s:3:"750";}}s:9:"ydieresis";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"444";s:1:"N";s:9:"ydieresis";s:1:"B";a:4:{i:0;s:3:"-94";i:1;s:4:"-205";i:2;s:3:"443";i:3;s:3:"655";}}s:6:"Nacute";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"722";s:1:"N";s:6:"Nacute";s:1:"B";a:4:{i:0;s:3:"-27";i:1;s:3:"-15";i:2;s:3:"748";i:3;s:3:"904";}}s:11:"icircumflex";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"278";s:1:"N";s:11:"icircumflex";s:1:"B";a:4:{i:0;s:2:"-3";i:1;s:2:"-9";i:2;s:3:"324";i:3;s:3:"690";}}s:11:"Ecircumflex";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"667";s:1:"N";s:11:"Ecircumflex";s:1:"B";a:4:{i:0;s:3:"-27";i:1;s:1:"0";i:2;s:3:"653";i:3;s:3:"897";}}s:9:"adieresis";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"500";s:1:"N";s:9:"adieresis";s:1:"B";a:4:{i:0;s:3:"-21";i:1;s:3:"-14";i:2;s:3:"476";i:3;s:3:"655";}}s:9:"edieresis";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"444";s:1:"N";s:9:"edieresis";s:1:"B";a:4:{i:0;s:1:"5";i:1;s:3:"-13";i:2;s:3:"448";i:3;s:3:"655";}}s:6:"cacute";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"444";s:1:"N";s:6:"cacute";s:1:"B";a:4:{i:0;s:2:"-5";i:1;s:3:"-13";i:2;s:3:"435";i:3;s:3:"697";}}s:6:"nacute";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"556";s:1:"N";s:6:"nacute";s:1:"B";a:4:{i:0;s:2:"-6";i:1;s:2:"-9";i:2;s:3:"493";i:3;s:3:"697";}}s:7:"umacron";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"556";s:1:"N";s:7:"umacron";s:1:"B";a:4:{i:0;s:2:"15";i:1;s:2:"-9";i:2;s:3:"492";i:3;s:3:"623";}}s:6:"Ncaron";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"722";s:1:"N";s:6:"Ncaron";s:1:"B";a:4:{i:0;s:3:"-27";i:1;s:3:"-15";i:2;s:3:"748";i:3;s:3:"897";}}s:6:"Iacute";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"389";s:1:"N";s:6:"Iacute";s:1:"B";a:4:{i:0;s:3:"-32";i:1;s:1:"0";i:2;s:3:"432";i:3;s:3:"904";}}s:9:"plusminus";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"570";s:1:"N";s:9:"plusminus";s:1:"B";a:4:{i:0;s:2:"33";i:1;s:1:"0";i:2;s:3:"537";i:3;s:3:"506";}}s:9:"brokenbar";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"220";s:1:"N";s:9:"brokenbar";s:1:"B";a:4:{i:0;s:2:"66";i:1;s:4:"-143";i:2;s:3:"154";i:3;s:3:"707";}}s:10:"registered";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"747";s:1:"N";s:10:"registered";s:1:"B";a:4:{i:0;s:2:"30";i:1;s:3:"-18";i:2;s:3:"718";i:3;s:3:"685";}}s:6:"Gbreve";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"722";s:1:"N";s:6:"Gbreve";s:1:"B";a:4:{i:0;s:2:"21";i:1;s:3:"-18";i:2;s:3:"706";i:3;s:3:"885";}}s:10:"Idotaccent";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"389";s:1:"N";s:10:"Idotaccent";s:1:"B";a:4:{i:0;s:3:"-32";i:1;s:1:"0";i:2;s:3:"406";i:3;s:3:"862";}}s:9:"summation";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:9:"summation";s:1:"B";a:4:{i:0;s:2:"14";i:1;s:3:"-10";i:2;s:3:"585";i:3;s:3:"706";}}s:6:"Egrave";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"667";s:1:"N";s:6:"Egrave";s:1:"B";a:4:{i:0;s:3:"-27";i:1;s:1:"0";i:2;s:3:"653";i:3;s:3:"904";}}s:6:"racute";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"389";s:1:"N";s:6:"racute";s:1:"B";a:4:{i:0;s:3:"-21";i:1;s:1:"0";i:2;s:3:"407";i:3;s:3:"697";}}s:7:"omacron";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"500";s:1:"N";s:7:"omacron";s:1:"B";a:4:{i:0;s:2:"-3";i:1;s:3:"-13";i:2;s:3:"462";i:3;s:3:"623";}}s:6:"Zacute";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"611";s:1:"N";s:6:"Zacute";s:1:"B";a:4:{i:0;s:3:"-11";i:1;s:1:"0";i:2;s:3:"590";i:3;s:3:"904";}}s:6:"Zcaron";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"611";s:1:"N";s:6:"Zcaron";s:1:"B";a:4:{i:0;s:3:"-11";i:1;s:1:"0";i:2;s:3:"590";i:3;s:3:"897";}}s:12:"greaterequal";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"549";s:1:"N";s:12:"greaterequal";s:1:"B";a:4:{i:0;s:2:"26";i:1;s:1:"0";i:2;s:3:"523";i:3;s:3:"704";}}s:3:"Eth";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"722";s:1:"N";s:3:"Eth";s:1:"B";a:4:{i:0;s:3:"-31";i:1;s:1:"0";i:2;s:3:"700";i:3;s:3:"669";}}s:8:"Ccedilla";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"667";s:1:"N";s:8:"Ccedilla";s:1:"B";a:4:{i:0;s:2:"32";i:1;s:4:"-218";i:2;s:3:"677";i:3;s:3:"685";}}s:12:"lcommaaccent";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"278";s:1:"N";s:12:"lcommaaccent";s:1:"B";a:4:{i:0;s:3:"-42";i:1;s:4:"-218";i:2;s:3:"290";i:3;s:3:"699";}}s:6:"tcaron";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"366";s:1:"N";s:6:"tcaron";s:1:"B";a:4:{i:0;s:3:"-11";i:1;s:2:"-9";i:2;s:3:"434";i:3;s:3:"754";}}s:7:"eogonek";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"444";s:1:"N";s:7:"eogonek";s:1:"B";a:4:{i:0;s:1:"5";i:1;s:4:"-183";i:2;s:3:"398";i:3;s:3:"462";}}s:7:"Uogonek";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"722";s:1:"N";s:7:"Uogonek";s:1:"B";a:4:{i:0;s:2:"67";i:1;s:4:"-183";i:2;s:3:"744";i:3;s:3:"669";}}s:6:"Aacute";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"667";s:1:"N";s:6:"Aacute";s:1:"B";a:4:{i:0;s:3:"-67";i:1;s:1:"0";i:2;s:3:"593";i:3;s:3:"904";}}s:9:"Adieresis";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"667";s:1:"N";s:9:"Adieresis";s:1:"B";a:4:{i:0;s:3:"-67";i:1;s:1:"0";i:2;s:3:"593";i:3;s:3:"862";}}s:6:"egrave";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"444";s:1:"N";s:6:"egrave";s:1:"B";a:4:{i:0;s:1:"5";i:1;s:3:"-13";i:2;s:3:"398";i:3;s:3:"697";}}s:6:"zacute";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"389";s:1:"N";s:6:"zacute";s:1:"B";a:4:{i:0;s:3:"-43";i:1;s:3:"-78";i:2;s:3:"407";i:3;s:3:"697";}}s:7:"iogonek";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"278";s:1:"N";s:7:"iogonek";s:1:"B";a:4:{i:0;s:3:"-20";i:1;s:4:"-183";i:2;s:3:"263";i:3;s:3:"684";}}s:6:"Oacute";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"722";s:1:"N";s:6:"Oacute";s:1:"B";a:4:{i:0;s:2:"27";i:1;s:3:"-18";i:2;s:3:"691";i:3;s:3:"904";}}s:6:"oacute";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"500";s:1:"N";s:6:"oacute";s:1:"B";a:4:{i:0;s:2:"-3";i:1;s:3:"-13";i:2;s:3:"463";i:3;s:3:"697";}}s:7:"amacron";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"500";s:1:"N";s:7:"amacron";s:1:"B";a:4:{i:0;s:3:"-21";i:1;s:3:"-14";i:2;s:3:"467";i:3;s:3:"623";}}s:6:"sacute";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"389";s:1:"N";s:6:"sacute";s:1:"B";a:4:{i:0;s:3:"-19";i:1;s:3:"-13";i:2;s:3:"407";i:3;s:3:"697";}}s:9:"idieresis";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"278";s:1:"N";s:9:"idieresis";s:1:"B";a:4:{i:0;s:1:"2";i:1;s:2:"-9";i:2;s:3:"364";i:3;s:3:"655";}}s:11:"Ocircumflex";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"722";s:1:"N";s:11:"Ocircumflex";s:1:"B";a:4:{i:0;s:2:"27";i:1;s:3:"-18";i:2;s:3:"691";i:3;s:3:"897";}}s:6:"Ugrave";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"722";s:1:"N";s:6:"Ugrave";s:1:"B";a:4:{i:0;s:2:"67";i:1;s:3:"-18";i:2;s:3:"744";i:3;s:3:"904";}}s:5:"Delta";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"612";s:1:"N";s:5:"Delta";s:1:"B";a:4:{i:0;s:1:"6";i:1;s:1:"0";i:2;s:3:"608";i:3;s:3:"688";}}s:5:"thorn";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"500";s:1:"N";s:5:"thorn";s:1:"B";a:4:{i:0;s:4:"-120";i:1;s:4:"-205";i:2;s:3:"446";i:3;s:3:"699";}}s:11:"twosuperior";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"300";s:1:"N";s:11:"twosuperior";s:1:"B";a:4:{i:0;s:1:"2";i:1;s:3:"274";i:2;s:3:"313";i:3;s:3:"683";}}s:9:"Odieresis";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"722";s:1:"N";s:9:"Odieresis";s:1:"B";a:4:{i:0;s:2:"27";i:1;s:3:"-18";i:2;s:3:"691";i:3;s:3:"862";}}s:2:"mu";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"576";s:1:"N";s:2:"mu";s:1:"B";a:4:{i:0;s:3:"-60";i:1;s:4:"-207";i:2;s:3:"516";i:3;s:3:"449";}}s:6:"igrave";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"278";s:1:"N";s:6:"igrave";s:1:"B";a:4:{i:0;s:1:"2";i:1;s:2:"-9";i:2;s:3:"259";i:3;s:3:"697";}}s:13:"ohungarumlaut";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"500";s:1:"N";s:13:"ohungarumlaut";s:1:"B";a:4:{i:0;s:2:"-3";i:1;s:3:"-13";i:2;s:3:"582";i:3;s:3:"697";}}s:7:"Eogonek";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"667";s:1:"N";s:7:"Eogonek";s:1:"B";a:4:{i:0;s:3:"-27";i:1;s:4:"-183";i:2;s:3:"653";i:3;s:3:"669";}}s:6:"dcroat";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"500";s:1:"N";s:6:"dcroat";s:1:"B";a:4:{i:0;s:3:"-21";i:1;s:3:"-13";i:2;s:3:"552";i:3;s:3:"699";}}s:13:"threequarters";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"750";s:1:"N";s:13:"threequarters";s:1:"B";a:4:{i:0;s:1:"7";i:1;s:3:"-14";i:2;s:3:"726";i:3;s:3:"683";}}s:8:"Scedilla";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"556";s:1:"N";s:8:"Scedilla";s:1:"B";a:4:{i:0;s:1:"2";i:1;s:4:"-218";i:2;s:3:"526";i:3;s:3:"685";}}s:6:"lcaron";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"382";s:1:"N";s:6:"lcaron";s:1:"B";a:4:{i:0;s:1:"2";i:1;s:2:"-9";i:2;s:3:"448";i:3;s:3:"708";}}s:12:"Kcommaaccent";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"667";s:1:"N";s:12:"Kcommaaccent";s:1:"B";a:4:{i:0;s:3:"-21";i:1;s:4:"-218";i:2;s:3:"702";i:3;s:3:"669";}}s:6:"Lacute";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"611";s:1:"N";s:6:"Lacute";s:1:"B";a:4:{i:0;s:3:"-22";i:1;s:1:"0";i:2;s:3:"590";i:3;s:3:"904";}}s:9:"trademark";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:4:"1000";s:1:"N";s:9:"trademark";s:1:"B";a:4:{i:0;s:2:"32";i:1;s:3:"263";i:2;s:3:"968";i:3;s:3:"669";}}s:10:"edotaccent";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"444";s:1:"N";s:10:"edotaccent";s:1:"B";a:4:{i:0;s:1:"5";i:1;s:3:"-13";i:2;s:3:"398";i:3;s:3:"655";}}s:6:"Igrave";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"389";s:1:"N";s:6:"Igrave";s:1:"B";a:4:{i:0;s:3:"-32";i:1;s:1:"0";i:2;s:3:"406";i:3;s:3:"904";}}s:7:"Imacron";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"389";s:1:"N";s:7:"Imacron";s:1:"B";a:4:{i:0;s:3:"-32";i:1;s:1:"0";i:2;s:3:"461";i:3;s:3:"830";}}s:6:"Lcaron";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"611";s:1:"N";s:6:"Lcaron";s:1:"B";a:4:{i:0;s:3:"-22";i:1;s:1:"0";i:2;s:3:"671";i:3;s:3:"718";}}s:7:"onehalf";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"750";s:1:"N";s:7:"onehalf";s:1:"B";a:4:{i:0;s:2:"-9";i:1;s:3:"-14";i:2;s:3:"723";i:3;s:3:"683";}}s:9:"lessequal";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"549";s:1:"N";s:9:"lessequal";s:1:"B";a:4:{i:0;s:2:"29";i:1;s:1:"0";i:2;s:3:"526";i:3;s:3:"704";}}s:11:"ocircumflex";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"500";s:1:"N";s:11:"ocircumflex";s:1:"B";a:4:{i:0;s:2:"-3";i:1;s:3:"-13";i:2;s:3:"451";i:3;s:3:"690";}}s:6:"ntilde";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"556";s:1:"N";s:6:"ntilde";s:1:"B";a:4:{i:0;s:2:"-6";i:1;s:2:"-9";i:2;s:3:"504";i:3;s:3:"655";}}s:13:"Uhungarumlaut";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"722";s:1:"N";s:13:"Uhungarumlaut";s:1:"B";a:4:{i:0;s:2:"67";i:1;s:3:"-18";i:2;s:3:"744";i:3;s:3:"904";}}s:6:"Eacute";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"667";s:1:"N";s:6:"Eacute";s:1:"B";a:4:{i:0;s:3:"-27";i:1;s:1:"0";i:2;s:3:"653";i:3;s:3:"904";}}s:7:"emacron";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"444";s:1:"N";s:7:"emacron";s:1:"B";a:4:{i:0;s:1:"5";i:1;s:3:"-13";i:2;s:3:"439";i:3;s:3:"623";}}s:6:"gbreve";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"500";s:1:"N";s:6:"gbreve";s:1:"B";a:4:{i:0;s:3:"-52";i:1;s:4:"-203";i:2;s:3:"478";i:3;s:3:"678";}}s:10:"onequarter";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"750";s:1:"N";s:10:"onequarter";s:1:"B";a:4:{i:0;s:1:"7";i:1;s:3:"-14";i:2;s:3:"721";i:3;s:3:"683";}}s:6:"Scaron";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"556";s:1:"N";s:6:"Scaron";s:1:"B";a:4:{i:0;s:1:"2";i:1;s:3:"-18";i:2;s:3:"553";i:3;s:3:"897";}}s:12:"Scommaaccent";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"556";s:1:"N";s:12:"Scommaaccent";s:1:"B";a:4:{i:0;s:1:"2";i:1;s:4:"-218";i:2;s:3:"526";i:3;s:3:"685";}}s:13:"Ohungarumlaut";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"722";s:1:"N";s:13:"Ohungarumlaut";s:1:"B";a:4:{i:0;s:2:"27";i:1;s:3:"-18";i:2;s:3:"723";i:3;s:3:"904";}}s:6:"degree";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"400";s:1:"N";s:6:"degree";s:1:"B";a:4:{i:0;s:2:"83";i:1;s:3:"397";i:2;s:3:"369";i:3;s:3:"683";}}s:6:"ograve";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"500";s:1:"N";s:6:"ograve";s:1:"B";a:4:{i:0;s:2:"-3";i:1;s:3:"-13";i:2;s:3:"441";i:3;s:3:"697";}}s:6:"Ccaron";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"667";s:1:"N";s:6:"Ccaron";s:1:"B";a:4:{i:0;s:2:"32";i:1;s:3:"-18";i:2;s:3:"677";i:3;s:3:"897";}}s:6:"ugrave";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"556";s:1:"N";s:6:"ugrave";s:1:"B";a:4:{i:0;s:2:"15";i:1;s:2:"-9";i:2;s:3:"492";i:3;s:3:"697";}}s:7:"radical";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"549";s:1:"N";s:7:"radical";s:1:"B";a:4:{i:0;s:2:"10";i:1;s:3:"-46";i:2;s:3:"512";i:3;s:3:"850";}}s:6:"Dcaron";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"722";s:1:"N";s:6:"Dcaron";s:1:"B";a:4:{i:0;s:3:"-46";i:1;s:1:"0";i:2;s:3:"685";i:3;s:3:"897";}}s:12:"rcommaaccent";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"389";s:1:"N";s:12:"rcommaaccent";s:1:"B";a:4:{i:0;s:3:"-67";i:1;s:4:"-218";i:2;s:3:"389";i:3;s:3:"462";}}s:6:"Ntilde";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"722";s:1:"N";s:6:"Ntilde";s:1:"B";a:4:{i:0;s:3:"-27";i:1;s:3:"-15";i:2;s:3:"748";i:3;s:3:"862";}}s:6:"otilde";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"500";s:1:"N";s:6:"otilde";s:1:"B";a:4:{i:0;s:2:"-3";i:1;s:3:"-13";i:2;s:3:"491";i:3;s:3:"655";}}s:12:"Rcommaaccent";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"667";s:1:"N";s:12:"Rcommaaccent";s:1:"B";a:4:{i:0;s:3:"-29";i:1;s:4:"-218";i:2;s:3:"623";i:3;s:3:"669";}}s:12:"Lcommaaccent";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"611";s:1:"N";s:12:"Lcommaaccent";s:1:"B";a:4:{i:0;s:3:"-22";i:1;s:4:"-218";i:2;s:3:"590";i:3;s:3:"669";}}s:6:"Atilde";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"667";s:1:"N";s:6:"Atilde";s:1:"B";a:4:{i:0;s:3:"-67";i:1;s:1:"0";i:2;s:3:"593";i:3;s:3:"862";}}s:7:"Aogonek";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"667";s:1:"N";s:7:"Aogonek";s:1:"B";a:4:{i:0;s:3:"-67";i:1;s:4:"-183";i:2;s:3:"604";i:3;s:3:"683";}}s:5:"Aring";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"667";s:1:"N";s:5:"Aring";s:1:"B";a:4:{i:0;s:3:"-67";i:1;s:1:"0";i:2;s:3:"593";i:3;s:3:"921";}}s:6:"Otilde";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"722";s:1:"N";s:6:"Otilde";s:1:"B";a:4:{i:0;s:2:"27";i:1;s:3:"-18";i:2;s:3:"691";i:3;s:3:"862";}}s:10:"zdotaccent";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"389";s:1:"N";s:10:"zdotaccent";s:1:"B";a:4:{i:0;s:3:"-43";i:1;s:3:"-78";i:2;s:3:"368";i:3;s:3:"655";}}s:6:"Ecaron";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"667";s:1:"N";s:6:"Ecaron";s:1:"B";a:4:{i:0;s:3:"-27";i:1;s:1:"0";i:2;s:3:"653";i:3;s:3:"897";}}s:7:"Iogonek";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"389";s:1:"N";s:7:"Iogonek";s:1:"B";a:4:{i:0;s:3:"-32";i:1;s:4:"-183";i:2;s:3:"406";i:3;s:3:"669";}}s:12:"kcommaaccent";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"500";s:1:"N";s:12:"kcommaaccent";s:1:"B";a:4:{i:0;s:3:"-23";i:1;s:4:"-218";i:2;s:3:"483";i:3;s:3:"699";}}s:5:"minus";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"606";s:1:"N";s:5:"minus";s:1:"B";a:4:{i:0;s:2:"51";i:1;s:3:"209";i:2;s:3:"555";i:3;s:3:"297";}}s:11:"Icircumflex";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"389";s:1:"N";s:11:"Icircumflex";s:1:"B";a:4:{i:0;s:3:"-32";i:1;s:1:"0";i:2;s:3:"450";i:3;s:3:"897";}}s:6:"ncaron";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"556";s:1:"N";s:6:"ncaron";s:1:"B";a:4:{i:0;s:2:"-6";i:1;s:2:"-9";i:2;s:3:"523";i:3;s:3:"690";}}s:12:"tcommaaccent";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"278";s:1:"N";s:12:"tcommaaccent";s:1:"B";a:4:{i:0;s:3:"-62";i:1;s:4:"-218";i:2;s:3:"281";i:3;s:3:"594";}}s:10:"logicalnot";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"606";s:1:"N";s:10:"logicalnot";s:1:"B";a:4:{i:0;s:2:"51";i:1;s:3:"108";i:2;s:3:"555";i:3;s:3:"399";}}s:9:"odieresis";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"500";s:1:"N";s:9:"odieresis";s:1:"B";a:4:{i:0;s:2:"-3";i:1;s:3:"-13";i:2;s:3:"471";i:3;s:3:"655";}}s:9:"udieresis";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"556";s:1:"N";s:9:"udieresis";s:1:"B";a:4:{i:0;s:2:"15";i:1;s:2:"-9";i:2;s:3:"499";i:3;s:3:"655";}}s:8:"notequal";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"549";s:1:"N";s:8:"notequal";s:1:"B";a:4:{i:0;s:2:"15";i:1;s:3:"-49";i:2;s:3:"540";i:3;s:3:"570";}}s:12:"gcommaaccent";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"500";s:1:"N";s:12:"gcommaaccent";s:1:"B";a:4:{i:0;s:3:"-52";i:1;s:4:"-203";i:2;s:3:"478";i:3;s:3:"767";}}s:3:"eth";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"500";s:1:"N";s:3:"eth";s:1:"B";a:4:{i:0;s:2:"-3";i:1;s:3:"-13";i:2;s:3:"454";i:3;s:3:"699";}}s:6:"zcaron";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"389";s:1:"N";s:6:"zcaron";s:1:"B";a:4:{i:0;s:3:"-43";i:1;s:3:"-78";i:2;s:3:"424";i:3;s:3:"690";}}s:12:"ncommaaccent";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"556";s:1:"N";s:12:"ncommaaccent";s:1:"B";a:4:{i:0;s:2:"-6";i:1;s:4:"-218";i:2;s:3:"493";i:3;s:3:"462";}}s:11:"onesuperior";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"300";s:1:"N";s:11:"onesuperior";s:1:"B";a:4:{i:0;s:2:"30";i:1;s:3:"274";i:2;s:3:"301";i:3;s:3:"683";}}s:7:"imacron";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"278";s:1:"N";s:7:"imacron";s:1:"B";a:4:{i:0;s:1:"2";i:1;s:2:"-9";i:2;s:3:"294";i:3;s:3:"623";}}s:4:"Euro";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"500";s:1:"N";s:4:"Euro";s:1:"B";a:4:{i:0;s:1:"0";i:1;s:1:"0";i:2;s:1:"0";i:3;s:1:"0";}}}s:3:"KPX";a:105:{s:1:"A";a:49:{s:1:"C";s:3:"-65";s:6:"Cacute";s:3:"-65";s:6:"Ccaron";s:3:"-65";s:8:"Ccedilla";s:3:"-65";s:1:"G";s:3:"-60";s:6:"Gbreve";s:3:"-60";s:12:"Gcommaaccent";s:3:"-60";s:1:"O";s:3:"-50";s:6:"Oacute";s:3:"-50";s:11:"Ocircumflex";s:3:"-50";s:9:"Odieresis";s:3:"-50";s:6:"Ograve";s:3:"-50";s:13:"Ohungarumlaut";s:3:"-50";s:7:"Omacron";s:3:"-50";s:6:"Oslash";s:3:"-50";s:6:"Otilde";s:3:"-50";s:1:"Q";s:3:"-55";s:1:"T";s:3:"-55";s:6:"Tcaron";s:3:"-55";s:12:"Tcommaaccent";s:3:"-55";s:1:"U";s:3:"-50";s:6:"Uacute";s:3:"-50";s:11:"Ucircumflex";s:3:"-50";s:9:"Udieresis";s:3:"-50";s:6:"Ugrave";s:3:"-50";s:13:"Uhungarumlaut";s:3:"-50";s:7:"Umacron";s:3:"-50";s:7:"Uogonek";s:3:"-50";s:5:"Uring";s:3:"-50";s:1:"V";s:3:"-95";s:1:"W";s:4:"-100";s:1:"Y";s:3:"-70";s:6:"Yacute";s:3:"-70";s:9:"Ydieresis";s:3:"-70";s:10:"quoteright";s:3:"-74";s:1:"u";s:3:"-30";s:6:"uacute";s:3:"-30";s:11:"ucircumflex";s:3:"-30";s:9:"udieresis";s:3:"-30";s:6:"ugrave";s:3:"-30";s:13:"uhungarumlaut";s:3:"-30";s:7:"umacron";s:3:"-30";s:7:"uogonek";s:3:"-30";s:5:"uring";s:3:"-30";s:1:"v";s:3:"-74";s:1:"w";s:3:"-74";s:1:"y";s:3:"-74";s:6:"yacute";s:3:"-74";s:9:"ydieresis";s:3:"-74";}s:6:"Aacute";a:49:{s:1:"C";s:3:"-65";s:6:"Cacute";s:3:"-65";s:6:"Ccaron";s:3:"-65";s:8:"Ccedilla";s:3:"-65";s:1:"G";s:3:"-60";s:6:"Gbreve";s:3:"-60";s:12:"Gcommaaccent";s:3:"-60";s:1:"O";s:3:"-50";s:6:"Oacute";s:3:"-50";s:11:"Ocircumflex";s:3:"-50";s:9:"Odieresis";s:3:"-50";s:6:"Ograve";s:3:"-50";s:13:"Ohungarumlaut";s:3:"-50";s:7:"Omacron";s:3:"-50";s:6:"Oslash";s:3:"-50";s:6:"Otilde";s:3:"-50";s:1:"Q";s:3:"-55";s:1:"T";s:3:"-55";s:6:"Tcaron";s:3:"-55";s:12:"Tcommaaccent";s:3:"-55";s:1:"U";s:3:"-50";s:6:"Uacute";s:3:"-50";s:11:"Ucircumflex";s:3:"-50";s:9:"Udieresis";s:3:"-50";s:6:"Ugrave";s:3:"-50";s:13:"Uhungarumlaut";s:3:"-50";s:7:"Umacron";s:3:"-50";s:7:"Uogonek";s:3:"-50";s:5:"Uring";s:3:"-50";s:1:"V";s:3:"-95";s:1:"W";s:4:"-100";s:1:"Y";s:3:"-70";s:6:"Yacute";s:3:"-70";s:9:"Ydieresis";s:3:"-70";s:10:"quoteright";s:3:"-74";s:1:"u";s:3:"-30";s:6:"uacute";s:3:"-30";s:11:"ucircumflex";s:3:"-30";s:9:"udieresis";s:3:"-30";s:6:"ugrave";s:3:"-30";s:13:"uhungarumlaut";s:3:"-30";s:7:"umacron";s:3:"-30";s:7:"uogonek";s:3:"-30";s:5:"uring";s:3:"-30";s:1:"v";s:3:"-74";s:1:"w";s:3:"-74";s:1:"y";s:3:"-74";s:6:"yacute";s:3:"-74";s:9:"ydieresis";s:3:"-74";}s:6:"Abreve";a:49:{s:1:"C";s:3:"-65";s:6:"Cacute";s:3:"-65";s:6:"Ccaron";s:3:"-65";s:8:"Ccedilla";s:3:"-65";s:1:"G";s:3:"-60";s:6:"Gbreve";s:3:"-60";s:12:"Gcommaaccent";s:3:"-60";s:1:"O";s:3:"-50";s:6:"Oacute";s:3:"-50";s:11:"Ocircumflex";s:3:"-50";s:9:"Odieresis";s:3:"-50";s:6:"Ograve";s:3:"-50";s:13:"Ohungarumlaut";s:3:"-50";s:7:"Omacron";s:3:"-50";s:6:"Oslash";s:3:"-50";s:6:"Otilde";s:3:"-50";s:1:"Q";s:3:"-55";s:1:"T";s:3:"-55";s:6:"Tcaron";s:3:"-55";s:12:"Tcommaaccent";s:3:"-55";s:1:"U";s:3:"-50";s:6:"Uacute";s:3:"-50";s:11:"Ucircumflex";s:3:"-50";s:9:"Udieresis";s:3:"-50";s:6:"Ugrave";s:3:"-50";s:13:"Uhungarumlaut";s:3:"-50";s:7:"Umacron";s:3:"-50";s:7:"Uogonek";s:3:"-50";s:5:"Uring";s:3:"-50";s:1:"V";s:3:"-95";s:1:"W";s:4:"-100";s:1:"Y";s:3:"-70";s:6:"Yacute";s:3:"-70";s:9:"Ydieresis";s:3:"-70";s:10:"quoteright";s:3:"-74";s:1:"u";s:3:"-30";s:6:"uacute";s:3:"-30";s:11:"ucircumflex";s:3:"-30";s:9:"udieresis";s:3:"-30";s:6:"ugrave";s:3:"-30";s:13:"uhungarumlaut";s:3:"-30";s:7:"umacron";s:3:"-30";s:7:"uogonek";s:3:"-30";s:5:"uring";s:3:"-30";s:1:"v";s:3:"-74";s:1:"w";s:3:"-74";s:1:"y";s:3:"-74";s:6:"yacute";s:3:"-74";s:9:"ydieresis";s:3:"-74";}s:11:"Acircumflex";a:49:{s:1:"C";s:3:"-65";s:6:"Cacute";s:3:"-65";s:6:"Ccaron";s:3:"-65";s:8:"Ccedilla";s:3:"-65";s:1:"G";s:3:"-60";s:6:"Gbreve";s:3:"-60";s:12:"Gcommaaccent";s:3:"-60";s:1:"O";s:3:"-50";s:6:"Oacute";s:3:"-50";s:11:"Ocircumflex";s:3:"-50";s:9:"Odieresis";s:3:"-50";s:6:"Ograve";s:3:"-50";s:13:"Ohungarumlaut";s:3:"-50";s:7:"Omacron";s:3:"-50";s:6:"Oslash";s:3:"-50";s:6:"Otilde";s:3:"-50";s:1:"Q";s:3:"-55";s:1:"T";s:3:"-55";s:6:"Tcaron";s:3:"-55";s:12:"Tcommaaccent";s:3:"-55";s:1:"U";s:3:"-50";s:6:"Uacute";s:3:"-50";s:11:"Ucircumflex";s:3:"-50";s:9:"Udieresis";s:3:"-50";s:6:"Ugrave";s:3:"-50";s:13:"Uhungarumlaut";s:3:"-50";s:7:"Umacron";s:3:"-50";s:7:"Uogonek";s:3:"-50";s:5:"Uring";s:3:"-50";s:1:"V";s:3:"-95";s:1:"W";s:4:"-100";s:1:"Y";s:3:"-70";s:6:"Yacute";s:3:"-70";s:9:"Ydieresis";s:3:"-70";s:10:"quoteright";s:3:"-74";s:1:"u";s:3:"-30";s:6:"uacute";s:3:"-30";s:11:"ucircumflex";s:3:"-30";s:9:"udieresis";s:3:"-30";s:6:"ugrave";s:3:"-30";s:13:"uhungarumlaut";s:3:"-30";s:7:"umacron";s:3:"-30";s:7:"uogonek";s:3:"-30";s:5:"uring";s:3:"-30";s:1:"v";s:3:"-74";s:1:"w";s:3:"-74";s:1:"y";s:3:"-74";s:6:"yacute";s:3:"-74";s:9:"ydieresis";s:3:"-74";}s:9:"Adieresis";a:49:{s:1:"C";s:3:"-65";s:6:"Cacute";s:3:"-65";s:6:"Ccaron";s:3:"-65";s:8:"Ccedilla";s:3:"-65";s:1:"G";s:3:"-60";s:6:"Gbreve";s:3:"-60";s:12:"Gcommaaccent";s:3:"-60";s:1:"O";s:3:"-50";s:6:"Oacute";s:3:"-50";s:11:"Ocircumflex";s:3:"-50";s:9:"Odieresis";s:3:"-50";s:6:"Ograve";s:3:"-50";s:13:"Ohungarumlaut";s:3:"-50";s:7:"Omacron";s:3:"-50";s:6:"Oslash";s:3:"-50";s:6:"Otilde";s:3:"-50";s:1:"Q";s:3:"-55";s:1:"T";s:3:"-55";s:6:"Tcaron";s:3:"-55";s:12:"Tcommaaccent";s:3:"-55";s:1:"U";s:3:"-50";s:6:"Uacute";s:3:"-50";s:11:"Ucircumflex";s:3:"-50";s:9:"Udieresis";s:3:"-50";s:6:"Ugrave";s:3:"-50";s:13:"Uhungarumlaut";s:3:"-50";s:7:"Umacron";s:3:"-50";s:7:"Uogonek";s:3:"-50";s:5:"Uring";s:3:"-50";s:1:"V";s:3:"-95";s:1:"W";s:4:"-100";s:1:"Y";s:3:"-70";s:6:"Yacute";s:3:"-70";s:9:"Ydieresis";s:3:"-70";s:10:"quoteright";s:3:"-74";s:1:"u";s:3:"-30";s:6:"uacute";s:3:"-30";s:11:"ucircumflex";s:3:"-30";s:9:"udieresis";s:3:"-30";s:6:"ugrave";s:3:"-30";s:13:"uhungarumlaut";s:3:"-30";s:7:"umacron";s:3:"-30";s:7:"uogonek";s:3:"-30";s:5:"uring";s:3:"-30";s:1:"v";s:3:"-74";s:1:"w";s:3:"-74";s:1:"y";s:3:"-74";s:6:"yacute";s:3:"-74";s:9:"ydieresis";s:3:"-74";}s:6:"Agrave";a:49:{s:1:"C";s:3:"-65";s:6:"Cacute";s:3:"-65";s:6:"Ccaron";s:3:"-65";s:8:"Ccedilla";s:3:"-65";s:1:"G";s:3:"-60";s:6:"Gbreve";s:3:"-60";s:12:"Gcommaaccent";s:3:"-60";s:1:"O";s:3:"-50";s:6:"Oacute";s:3:"-50";s:11:"Ocircumflex";s:3:"-50";s:9:"Odieresis";s:3:"-50";s:6:"Ograve";s:3:"-50";s:13:"Ohungarumlaut";s:3:"-50";s:7:"Omacron";s:3:"-50";s:6:"Oslash";s:3:"-50";s:6:"Otilde";s:3:"-50";s:1:"Q";s:3:"-55";s:1:"T";s:3:"-55";s:6:"Tcaron";s:3:"-55";s:12:"Tcommaaccent";s:3:"-55";s:1:"U";s:3:"-50";s:6:"Uacute";s:3:"-50";s:11:"Ucircumflex";s:3:"-50";s:9:"Udieresis";s:3:"-50";s:6:"Ugrave";s:3:"-50";s:13:"Uhungarumlaut";s:3:"-50";s:7:"Umacron";s:3:"-50";s:7:"Uogonek";s:3:"-50";s:5:"Uring";s:3:"-50";s:1:"V";s:3:"-95";s:1:"W";s:4:"-100";s:1:"Y";s:3:"-70";s:6:"Yacute";s:3:"-70";s:9:"Ydieresis";s:3:"-70";s:10:"quoteright";s:3:"-74";s:1:"u";s:3:"-30";s:6:"uacute";s:3:"-30";s:11:"ucircumflex";s:3:"-30";s:9:"udieresis";s:3:"-30";s:6:"ugrave";s:3:"-30";s:13:"uhungarumlaut";s:3:"-30";s:7:"umacron";s:3:"-30";s:7:"uogonek";s:3:"-30";s:5:"uring";s:3:"-30";s:1:"v";s:3:"-74";s:1:"w";s:3:"-74";s:1:"y";s:3:"-74";s:6:"yacute";s:3:"-74";s:9:"ydieresis";s:3:"-74";}s:7:"Amacron";a:49:{s:1:"C";s:3:"-65";s:6:"Cacute";s:3:"-65";s:6:"Ccaron";s:3:"-65";s:8:"Ccedilla";s:3:"-65";s:1:"G";s:3:"-60";s:6:"Gbreve";s:3:"-60";s:12:"Gcommaaccent";s:3:"-60";s:1:"O";s:3:"-50";s:6:"Oacute";s:3:"-50";s:11:"Ocircumflex";s:3:"-50";s:9:"Odieresis";s:3:"-50";s:6:"Ograve";s:3:"-50";s:13:"Ohungarumlaut";s:3:"-50";s:7:"Omacron";s:3:"-50";s:6:"Oslash";s:3:"-50";s:6:"Otilde";s:3:"-50";s:1:"Q";s:3:"-55";s:1:"T";s:3:"-55";s:6:"Tcaron";s:3:"-55";s:12:"Tcommaaccent";s:3:"-55";s:1:"U";s:3:"-50";s:6:"Uacute";s:3:"-50";s:11:"Ucircumflex";s:3:"-50";s:9:"Udieresis";s:3:"-50";s:6:"Ugrave";s:3:"-50";s:13:"Uhungarumlaut";s:3:"-50";s:7:"Umacron";s:3:"-50";s:7:"Uogonek";s:3:"-50";s:5:"Uring";s:3:"-50";s:1:"V";s:3:"-95";s:1:"W";s:4:"-100";s:1:"Y";s:3:"-70";s:6:"Yacute";s:3:"-70";s:9:"Ydieresis";s:3:"-70";s:10:"quoteright";s:3:"-74";s:1:"u";s:3:"-30";s:6:"uacute";s:3:"-30";s:11:"ucircumflex";s:3:"-30";s:9:"udieresis";s:3:"-30";s:6:"ugrave";s:3:"-30";s:13:"uhungarumlaut";s:3:"-30";s:7:"umacron";s:3:"-30";s:7:"uogonek";s:3:"-30";s:5:"uring";s:3:"-30";s:1:"v";s:3:"-74";s:1:"w";s:3:"-74";s:1:"y";s:3:"-74";s:6:"yacute";s:3:"-74";s:9:"ydieresis";s:3:"-74";}s:7:"Aogonek";a:49:{s:1:"C";s:3:"-65";s:6:"Cacute";s:3:"-65";s:6:"Ccaron";s:3:"-65";s:8:"Ccedilla";s:3:"-65";s:1:"G";s:3:"-60";s:6:"Gbreve";s:3:"-60";s:12:"Gcommaaccent";s:3:"-60";s:1:"O";s:3:"-50";s:6:"Oacute";s:3:"-50";s:11:"Ocircumflex";s:3:"-50";s:9:"Odieresis";s:3:"-50";s:6:"Ograve";s:3:"-50";s:13:"Ohungarumlaut";s:3:"-50";s:7:"Omacron";s:3:"-50";s:6:"Oslash";s:3:"-50";s:6:"Otilde";s:3:"-50";s:1:"Q";s:3:"-55";s:1:"T";s:3:"-55";s:6:"Tcaron";s:3:"-55";s:12:"Tcommaaccent";s:3:"-55";s:1:"U";s:3:"-50";s:6:"Uacute";s:3:"-50";s:11:"Ucircumflex";s:3:"-50";s:9:"Udieresis";s:3:"-50";s:6:"Ugrave";s:3:"-50";s:13:"Uhungarumlaut";s:3:"-50";s:7:"Umacron";s:3:"-50";s:7:"Uogonek";s:3:"-50";s:5:"Uring";s:3:"-50";s:1:"V";s:3:"-95";s:1:"W";s:4:"-100";s:1:"Y";s:3:"-70";s:6:"Yacute";s:3:"-70";s:9:"Ydieresis";s:3:"-70";s:10:"quoteright";s:3:"-74";s:1:"u";s:3:"-30";s:6:"uacute";s:3:"-30";s:11:"ucircumflex";s:3:"-30";s:9:"udieresis";s:3:"-30";s:6:"ugrave";s:3:"-30";s:13:"uhungarumlaut";s:3:"-30";s:7:"umacron";s:3:"-30";s:7:"uogonek";s:3:"-30";s:5:"uring";s:3:"-30";s:1:"v";s:3:"-74";s:1:"w";s:3:"-74";s:1:"y";s:3:"-34";s:6:"yacute";s:3:"-34";s:9:"ydieresis";s:3:"-34";}s:5:"Aring";a:49:{s:1:"C";s:3:"-65";s:6:"Cacute";s:3:"-65";s:6:"Ccaron";s:3:"-65";s:8:"Ccedilla";s:3:"-65";s:1:"G";s:3:"-60";s:6:"Gbreve";s:3:"-60";s:12:"Gcommaaccent";s:3:"-60";s:1:"O";s:3:"-50";s:6:"Oacute";s:3:"-50";s:11:"Ocircumflex";s:3:"-50";s:9:"Odieresis";s:3:"-50";s:6:"Ograve";s:3:"-50";s:13:"Ohungarumlaut";s:3:"-50";s:7:"Omacron";s:3:"-50";s:6:"Oslash";s:3:"-50";s:6:"Otilde";s:3:"-50";s:1:"Q";s:3:"-55";s:1:"T";s:3:"-55";s:6:"Tcaron";s:3:"-55";s:12:"Tcommaaccent";s:3:"-55";s:1:"U";s:3:"-50";s:6:"Uacute";s:3:"-50";s:11:"Ucircumflex";s:3:"-50";s:9:"Udieresis";s:3:"-50";s:6:"Ugrave";s:3:"-50";s:13:"Uhungarumlaut";s:3:"-50";s:7:"Umacron";s:3:"-50";s:7:"Uogonek";s:3:"-50";s:5:"Uring";s:3:"-50";s:1:"V";s:3:"-95";s:1:"W";s:4:"-100";s:1:"Y";s:3:"-70";s:6:"Yacute";s:3:"-70";s:9:"Ydieresis";s:3:"-70";s:10:"quoteright";s:3:"-74";s:1:"u";s:3:"-30";s:6:"uacute";s:3:"-30";s:11:"ucircumflex";s:3:"-30";s:9:"udieresis";s:3:"-30";s:6:"ugrave";s:3:"-30";s:13:"uhungarumlaut";s:3:"-30";s:7:"umacron";s:3:"-30";s:7:"uogonek";s:3:"-30";s:5:"uring";s:3:"-30";s:1:"v";s:3:"-74";s:1:"w";s:3:"-74";s:1:"y";s:3:"-74";s:6:"yacute";s:3:"-74";s:9:"ydieresis";s:3:"-74";}s:6:"Atilde";a:49:{s:1:"C";s:3:"-65";s:6:"Cacute";s:3:"-65";s:6:"Ccaron";s:3:"-65";s:8:"Ccedilla";s:3:"-65";s:1:"G";s:3:"-60";s:6:"Gbreve";s:3:"-60";s:12:"Gcommaaccent";s:3:"-60";s:1:"O";s:3:"-50";s:6:"Oacute";s:3:"-50";s:11:"Ocircumflex";s:3:"-50";s:9:"Odieresis";s:3:"-50";s:6:"Ograve";s:3:"-50";s:13:"Ohungarumlaut";s:3:"-50";s:7:"Omacron";s:3:"-50";s:6:"Oslash";s:3:"-50";s:6:"Otilde";s:3:"-50";s:1:"Q";s:3:"-55";s:1:"T";s:3:"-55";s:6:"Tcaron";s:3:"-55";s:12:"Tcommaaccent";s:3:"-55";s:1:"U";s:3:"-50";s:6:"Uacute";s:3:"-50";s:11:"Ucircumflex";s:3:"-50";s:9:"Udieresis";s:3:"-50";s:6:"Ugrave";s:3:"-50";s:13:"Uhungarumlaut";s:3:"-50";s:7:"Umacron";s:3:"-50";s:7:"Uogonek";s:3:"-50";s:5:"Uring";s:3:"-50";s:1:"V";s:3:"-95";s:1:"W";s:4:"-100";s:1:"Y";s:3:"-70";s:6:"Yacute";s:3:"-70";s:9:"Ydieresis";s:3:"-70";s:10:"quoteright";s:3:"-74";s:1:"u";s:3:"-30";s:6:"uacute";s:3:"-30";s:11:"ucircumflex";s:3:"-30";s:9:"udieresis";s:3:"-30";s:6:"ugrave";s:3:"-30";s:13:"uhungarumlaut";s:3:"-30";s:7:"umacron";s:3:"-30";s:7:"uogonek";s:3:"-30";s:5:"uring";s:3:"-30";s:1:"v";s:3:"-74";s:1:"w";s:3:"-74";s:1:"y";s:3:"-74";s:6:"yacute";s:3:"-74";s:9:"ydieresis";s:3:"-74";}s:1:"B";a:19:{s:1:"A";s:3:"-25";s:6:"Aacute";s:3:"-25";s:6:"Abreve";s:3:"-25";s:11:"Acircumflex";s:3:"-25";s:9:"Adieresis";s:3:"-25";s:6:"Agrave";s:3:"-25";s:7:"Amacron";s:3:"-25";s:7:"Aogonek";s:3:"-25";s:5:"Aring";s:3:"-25";s:6:"Atilde";s:3:"-25";s:1:"U";s:3:"-10";s:6:"Uacute";s:3:"-10";s:11:"Ucircumflex";s:3:"-10";s:9:"Udieresis";s:3:"-10";s:6:"Ugrave";s:3:"-10";s:13:"Uhungarumlaut";s:3:"-10";s:7:"Umacron";s:3:"-10";s:7:"Uogonek";s:3:"-10";s:5:"Uring";s:3:"-10";}s:1:"D";a:15:{s:1:"A";s:3:"-25";s:6:"Aacute";s:3:"-25";s:6:"Abreve";s:3:"-25";s:11:"Acircumflex";s:3:"-25";s:9:"Adieresis";s:3:"-25";s:6:"Agrave";s:3:"-25";s:7:"Amacron";s:3:"-25";s:7:"Aogonek";s:3:"-25";s:5:"Aring";s:3:"-25";s:6:"Atilde";s:3:"-25";s:1:"V";s:3:"-50";s:1:"W";s:3:"-40";s:1:"Y";s:3:"-50";s:6:"Yacute";s:3:"-50";s:9:"Ydieresis";s:3:"-50";}s:6:"Dcaron";a:15:{s:1:"A";s:3:"-25";s:6:"Aacute";s:3:"-25";s:6:"Abreve";s:3:"-25";s:11:"Acircumflex";s:3:"-25";s:9:"Adieresis";s:3:"-25";s:6:"Agrave";s:3:"-25";s:7:"Amacron";s:3:"-25";s:7:"Aogonek";s:3:"-25";s:5:"Aring";s:3:"-25";s:6:"Atilde";s:3:"-25";s:1:"V";s:3:"-50";s:1:"W";s:3:"-40";s:1:"Y";s:3:"-50";s:6:"Yacute";s:3:"-50";s:9:"Ydieresis";s:3:"-50";}s:6:"Dcroat";a:15:{s:1:"A";s:3:"-25";s:6:"Aacute";s:3:"-25";s:6:"Abreve";s:3:"-25";s:11:"Acircumflex";s:3:"-25";s:9:"Adieresis";s:3:"-25";s:6:"Agrave";s:3:"-25";s:7:"Amacron";s:3:"-25";s:7:"Aogonek";s:3:"-25";s:5:"Aring";s:3:"-25";s:6:"Atilde";s:3:"-25";s:1:"V";s:3:"-50";s:1:"W";s:3:"-40";s:1:"Y";s:3:"-50";s:6:"Yacute";s:3:"-50";s:9:"Ydieresis";s:3:"-50";}s:1:"F";a:51:{s:1:"A";s:4:"-100";s:6:"Aacute";s:4:"-100";s:6:"Abreve";s:4:"-100";s:11:"Acircumflex";s:4:"-100";s:9:"Adieresis";s:4:"-100";s:6:"Agrave";s:4:"-100";s:7:"Amacron";s:4:"-100";s:7:"Aogonek";s:4:"-100";s:5:"Aring";s:4:"-100";s:6:"Atilde";s:4:"-100";s:1:"a";s:3:"-95";s:6:"aacute";s:3:"-95";s:6:"abreve";s:3:"-95";s:11:"acircumflex";s:3:"-95";s:9:"adieresis";s:3:"-95";s:6:"agrave";s:3:"-95";s:7:"amacron";s:3:"-95";s:7:"aogonek";s:3:"-95";s:5:"aring";s:3:"-95";s:6:"atilde";s:3:"-95";s:5:"comma";s:4:"-129";s:1:"e";s:4:"-100";s:6:"eacute";s:4:"-100";s:6:"ecaron";s:4:"-100";s:11:"ecircumflex";s:4:"-100";s:9:"edieresis";s:4:"-100";s:10:"edotaccent";s:4:"-100";s:6:"egrave";s:4:"-100";s:7:"emacron";s:4:"-100";s:7:"eogonek";s:4:"-100";s:1:"i";s:3:"-40";s:6:"iacute";s:3:"-40";s:11:"icircumflex";s:3:"-40";s:9:"idieresis";s:3:"-40";s:6:"igrave";s:3:"-40";s:7:"imacron";s:3:"-40";s:7:"iogonek";s:3:"-40";s:1:"o";s:3:"-70";s:6:"oacute";s:3:"-70";s:11:"ocircumflex";s:3:"-70";s:9:"odieresis";s:3:"-70";s:6:"ograve";s:3:"-70";s:13:"ohungarumlaut";s:3:"-70";s:7:"omacron";s:3:"-70";s:6:"oslash";s:3:"-70";s:6:"otilde";s:3:"-70";s:6:"period";s:4:"-129";s:1:"r";s:3:"-50";s:6:"racute";s:3:"-50";s:6:"rcaron";s:3:"-50";s:12:"rcommaaccent";s:3:"-50";}s:1:"J";a:49:{s:1:"A";s:3:"-25";s:6:"Aacute";s:3:"-25";s:6:"Abreve";s:3:"-25";s:11:"Acircumflex";s:3:"-25";s:9:"Adieresis";s:3:"-25";s:6:"Agrave";s:3:"-25";s:7:"Amacron";s:3:"-25";s:7:"Aogonek";s:3:"-25";s:5:"Aring";s:3:"-25";s:6:"Atilde";s:3:"-25";s:1:"a";s:3:"-40";s:6:"aacute";s:3:"-40";s:6:"abreve";s:3:"-40";s:11:"acircumflex";s:3:"-40";s:9:"adieresis";s:3:"-40";s:6:"agrave";s:3:"-40";s:7:"amacron";s:3:"-40";s:7:"aogonek";s:3:"-40";s:5:"aring";s:3:"-40";s:6:"atilde";s:3:"-40";s:5:"comma";s:3:"-10";s:1:"e";s:3:"-40";s:6:"eacute";s:3:"-40";s:6:"ecaron";s:3:"-40";s:11:"ecircumflex";s:3:"-40";s:9:"edieresis";s:3:"-40";s:10:"edotaccent";s:3:"-40";s:6:"egrave";s:3:"-40";s:7:"emacron";s:3:"-40";s:7:"eogonek";s:3:"-40";s:1:"o";s:3:"-40";s:6:"oacute";s:3:"-40";s:11:"ocircumflex";s:3:"-40";s:9:"odieresis";s:3:"-40";s:6:"ograve";s:3:"-40";s:13:"ohungarumlaut";s:3:"-40";s:7:"omacron";s:3:"-40";s:6:"oslash";s:3:"-40";s:6:"otilde";s:3:"-40";s:6:"period";s:3:"-10";s:1:"u";s:3:"-40";s:6:"uacute";s:3:"-40";s:11:"ucircumflex";s:3:"-40";s:9:"udieresis";s:3:"-40";s:6:"ugrave";s:3:"-40";s:13:"uhungarumlaut";s:3:"-40";s:7:"umacron";s:3:"-40";s:7:"uogonek";s:3:"-40";s:5:"uring";s:3:"-40";}s:1:"K";a:39:{s:1:"O";s:3:"-30";s:6:"Oacute";s:3:"-30";s:11:"Ocircumflex";s:3:"-30";s:9:"Odieresis";s:3:"-30";s:6:"Ograve";s:3:"-30";s:13:"Ohungarumlaut";s:3:"-30";s:7:"Omacron";s:3:"-30";s:6:"Oslash";s:3:"-30";s:6:"Otilde";s:3:"-30";s:1:"e";s:3:"-25";s:6:"eacute";s:3:"-25";s:6:"ecaron";s:3:"-25";s:11:"ecircumflex";s:3:"-25";s:9:"edieresis";s:3:"-25";s:10:"edotaccent";s:3:"-25";s:6:"egrave";s:3:"-25";s:7:"emacron";s:3:"-25";s:7:"eogonek";s:3:"-25";s:1:"o";s:3:"-25";s:6:"oacute";s:3:"-25";s:11:"ocircumflex";s:3:"-25";s:9:"odieresis";s:3:"-25";s:6:"ograve";s:3:"-25";s:13:"ohungarumlaut";s:3:"-25";s:7:"omacron";s:3:"-25";s:6:"oslash";s:3:"-25";s:6:"otilde";s:3:"-25";s:1:"u";s:3:"-20";s:6:"uacute";s:3:"-20";s:11:"ucircumflex";s:3:"-20";s:9:"udieresis";s:3:"-20";s:6:"ugrave";s:3:"-20";s:13:"uhungarumlaut";s:3:"-20";s:7:"umacron";s:3:"-20";s:7:"uogonek";s:3:"-20";s:5:"uring";s:3:"-20";s:1:"y";s:3:"-20";s:6:"yacute";s:3:"-20";s:9:"ydieresis";s:3:"-20";}s:12:"Kcommaaccent";a:39:{s:1:"O";s:3:"-30";s:6:"Oacute";s:3:"-30";s:11:"Ocircumflex";s:3:"-30";s:9:"Odieresis";s:3:"-30";s:6:"Ograve";s:3:"-30";s:13:"Ohungarumlaut";s:3:"-30";s:7:"Omacron";s:3:"-30";s:6:"Oslash";s:3:"-30";s:6:"Otilde";s:3:"-30";s:1:"e";s:3:"-25";s:6:"eacute";s:3:"-25";s:6:"ecaron";s:3:"-25";s:11:"ecircumflex";s:3:"-25";s:9:"edieresis";s:3:"-25";s:10:"edotaccent";s:3:"-25";s:6:"egrave";s:3:"-25";s:7:"emacron";s:3:"-25";s:7:"eogonek";s:3:"-25";s:1:"o";s:3:"-25";s:6:"oacute";s:3:"-25";s:11:"ocircumflex";s:3:"-25";s:9:"odieresis";s:3:"-25";s:6:"ograve";s:3:"-25";s:13:"ohungarumlaut";s:3:"-25";s:7:"omacron";s:3:"-25";s:6:"oslash";s:3:"-25";s:6:"otilde";s:3:"-25";s:1:"u";s:3:"-20";s:6:"uacute";s:3:"-20";s:11:"ucircumflex";s:3:"-20";s:9:"udieresis";s:3:"-20";s:6:"ugrave";s:3:"-20";s:13:"uhungarumlaut";s:3:"-20";s:7:"umacron";s:3:"-20";s:7:"uogonek";s:3:"-20";s:5:"uring";s:3:"-20";s:1:"y";s:3:"-20";s:6:"yacute";s:3:"-20";s:9:"ydieresis";s:3:"-20";}s:1:"L";a:12:{s:1:"T";s:3:"-18";s:6:"Tcaron";s:3:"-18";s:12:"Tcommaaccent";s:3:"-18";s:1:"V";s:3:"-37";s:1:"W";s:3:"-37";s:1:"Y";s:3:"-37";s:6:"Yacute";s:3:"-37";s:9:"Ydieresis";s:3:"-37";s:10:"quoteright";s:3:"-55";s:1:"y";s:3:"-37";s:6:"yacute";s:3:"-37";s:9:"ydieresis";s:3:"-37";}s:6:"Lacute";a:12:{s:1:"T";s:3:"-18";s:6:"Tcaron";s:3:"-18";s:12:"Tcommaaccent";s:3:"-18";s:1:"V";s:3:"-37";s:1:"W";s:3:"-37";s:1:"Y";s:3:"-37";s:6:"Yacute";s:3:"-37";s:9:"Ydieresis";s:3:"-37";s:10:"quoteright";s:3:"-55";s:1:"y";s:3:"-37";s:6:"yacute";s:3:"-37";s:9:"ydieresis";s:3:"-37";}s:12:"Lcommaaccent";a:12:{s:1:"T";s:3:"-18";s:6:"Tcaron";s:3:"-18";s:12:"Tcommaaccent";s:3:"-18";s:1:"V";s:3:"-37";s:1:"W";s:3:"-37";s:1:"Y";s:3:"-37";s:6:"Yacute";s:3:"-37";s:9:"Ydieresis";s:3:"-37";s:10:"quoteright";s:3:"-55";s:1:"y";s:3:"-37";s:6:"yacute";s:3:"-37";s:9:"ydieresis";s:3:"-37";}s:6:"Lslash";a:12:{s:1:"T";s:3:"-18";s:6:"Tcaron";s:3:"-18";s:12:"Tcommaaccent";s:3:"-18";s:1:"V";s:3:"-37";s:1:"W";s:3:"-37";s:1:"Y";s:3:"-37";s:6:"Yacute";s:3:"-37";s:9:"Ydieresis";s:3:"-37";s:10:"quoteright";s:3:"-55";s:1:"y";s:3:"-37";s:6:"yacute";s:3:"-37";s:9:"ydieresis";s:3:"-37";}s:1:"N";a:10:{s:1:"A";s:3:"-30";s:6:"Aacute";s:3:"-30";s:6:"Abreve";s:3:"-30";s:11:"Acircumflex";s:3:"-30";s:9:"Adieresis";s:3:"-30";s:6:"Agrave";s:3:"-30";s:7:"Amacron";s:3:"-30";s:7:"Aogonek";s:3:"-30";s:5:"Aring";s:3:"-30";s:6:"Atilde";s:3:"-30";}s:6:"Nacute";a:10:{s:1:"A";s:3:"-30";s:6:"Aacute";s:3:"-30";s:6:"Abreve";s:3:"-30";s:11:"Acircumflex";s:3:"-30";s:9:"Adieresis";s:3:"-30";s:6:"Agrave";s:3:"-30";s:7:"Amacron";s:3:"-30";s:7:"Aogonek";s:3:"-30";s:5:"Aring";s:3:"-30";s:6:"Atilde";s:3:"-30";}s:6:"Ncaron";a:10:{s:1:"A";s:3:"-30";s:6:"Aacute";s:3:"-30";s:6:"Abreve";s:3:"-30";s:11:"Acircumflex";s:3:"-30";s:9:"Adieresis";s:3:"-30";s:6:"Agrave";s:3:"-30";s:7:"Amacron";s:3:"-30";s:7:"Aogonek";s:3:"-30";s:5:"Aring";s:3:"-30";s:6:"Atilde";s:3:"-30";}s:12:"Ncommaaccent";a:10:{s:1:"A";s:3:"-30";s:6:"Aacute";s:3:"-30";s:6:"Abreve";s:3:"-30";s:11:"Acircumflex";s:3:"-30";s:9:"Adieresis";s:3:"-30";s:6:"Agrave";s:3:"-30";s:7:"Amacron";s:3:"-30";s:7:"Aogonek";s:3:"-30";s:5:"Aring";s:3:"-30";s:6:"Atilde";s:3:"-30";}s:6:"Ntilde";a:10:{s:1:"A";s:3:"-30";s:6:"Aacute";s:3:"-30";s:6:"Abreve";s:3:"-30";s:11:"Acircumflex";s:3:"-30";s:9:"Adieresis";s:3:"-30";s:6:"Agrave";s:3:"-30";s:7:"Amacron";s:3:"-30";s:7:"Aogonek";s:3:"-30";s:5:"Aring";s:3:"-30";s:6:"Atilde";s:3:"-30";}s:1:"O";a:19:{s:1:"A";s:3:"-40";s:6:"Aacute";s:3:"-40";s:6:"Abreve";s:3:"-40";s:11:"Acircumflex";s:3:"-40";s:9:"Adieresis";s:3:"-40";s:6:"Agrave";s:3:"-40";s:7:"Amacron";s:3:"-40";s:7:"Aogonek";s:3:"-40";s:5:"Aring";s:3:"-40";s:6:"Atilde";s:3:"-40";s:1:"T";s:3:"-40";s:6:"Tcaron";s:3:"-40";s:12:"Tcommaaccent";s:3:"-40";s:1:"V";s:3:"-50";s:1:"W";s:3:"-50";s:1:"X";s:3:"-40";s:1:"Y";s:3:"-50";s:6:"Yacute";s:3:"-50";s:9:"Ydieresis";s:3:"-50";}s:6:"Oacute";a:19:{s:1:"A";s:3:"-40";s:6:"Aacute";s:3:"-40";s:6:"Abreve";s:3:"-40";s:11:"Acircumflex";s:3:"-40";s:9:"Adieresis";s:3:"-40";s:6:"Agrave";s:3:"-40";s:7:"Amacron";s:3:"-40";s:7:"Aogonek";s:3:"-40";s:5:"Aring";s:3:"-40";s:6:"Atilde";s:3:"-40";s:1:"T";s:3:"-40";s:6:"Tcaron";s:3:"-40";s:12:"Tcommaaccent";s:3:"-40";s:1:"V";s:3:"-50";s:1:"W";s:3:"-50";s:1:"X";s:3:"-40";s:1:"Y";s:3:"-50";s:6:"Yacute";s:3:"-50";s:9:"Ydieresis";s:3:"-50";}s:11:"Ocircumflex";a:19:{s:1:"A";s:3:"-40";s:6:"Aacute";s:3:"-40";s:6:"Abreve";s:3:"-40";s:11:"Acircumflex";s:3:"-40";s:9:"Adieresis";s:3:"-40";s:6:"Agrave";s:3:"-40";s:7:"Amacron";s:3:"-40";s:7:"Aogonek";s:3:"-40";s:5:"Aring";s:3:"-40";s:6:"Atilde";s:3:"-40";s:1:"T";s:3:"-40";s:6:"Tcaron";s:3:"-40";s:12:"Tcommaaccent";s:3:"-40";s:1:"V";s:3:"-50";s:1:"W";s:3:"-50";s:1:"X";s:3:"-40";s:1:"Y";s:3:"-50";s:6:"Yacute";s:3:"-50";s:9:"Ydieresis";s:3:"-50";}s:9:"Odieresis";a:19:{s:1:"A";s:3:"-40";s:6:"Aacute";s:3:"-40";s:6:"Abreve";s:3:"-40";s:11:"Acircumflex";s:3:"-40";s:9:"Adieresis";s:3:"-40";s:6:"Agrave";s:3:"-40";s:7:"Amacron";s:3:"-40";s:7:"Aogonek";s:3:"-40";s:5:"Aring";s:3:"-40";s:6:"Atilde";s:3:"-40";s:1:"T";s:3:"-40";s:6:"Tcaron";s:3:"-40";s:12:"Tcommaaccent";s:3:"-40";s:1:"V";s:3:"-50";s:1:"W";s:3:"-50";s:1:"X";s:3:"-40";s:1:"Y";s:3:"-50";s:6:"Yacute";s:3:"-50";s:9:"Ydieresis";s:3:"-50";}s:6:"Ograve";a:19:{s:1:"A";s:3:"-40";s:6:"Aacute";s:3:"-40";s:6:"Abreve";s:3:"-40";s:11:"Acircumflex";s:3:"-40";s:9:"Adieresis";s:3:"-40";s:6:"Agrave";s:3:"-40";s:7:"Amacron";s:3:"-40";s:7:"Aogonek";s:3:"-40";s:5:"Aring";s:3:"-40";s:6:"Atilde";s:3:"-40";s:1:"T";s:3:"-40";s:6:"Tcaron";s:3:"-40";s:12:"Tcommaaccent";s:3:"-40";s:1:"V";s:3:"-50";s:1:"W";s:3:"-50";s:1:"X";s:3:"-40";s:1:"Y";s:3:"-50";s:6:"Yacute";s:3:"-50";s:9:"Ydieresis";s:3:"-50";}s:13:"Ohungarumlaut";a:19:{s:1:"A";s:3:"-40";s:6:"Aacute";s:3:"-40";s:6:"Abreve";s:3:"-40";s:11:"Acircumflex";s:3:"-40";s:9:"Adieresis";s:3:"-40";s:6:"Agrave";s:3:"-40";s:7:"Amacron";s:3:"-40";s:7:"Aogonek";s:3:"-40";s:5:"Aring";s:3:"-40";s:6:"Atilde";s:3:"-40";s:1:"T";s:3:"-40";s:6:"Tcaron";s:3:"-40";s:12:"Tcommaaccent";s:3:"-40";s:1:"V";s:3:"-50";s:1:"W";s:3:"-50";s:1:"X";s:3:"-40";s:1:"Y";s:3:"-50";s:6:"Yacute";s:3:"-50";s:9:"Ydieresis";s:3:"-50";}s:7:"Omacron";a:19:{s:1:"A";s:3:"-40";s:6:"Aacute";s:3:"-40";s:6:"Abreve";s:3:"-40";s:11:"Acircumflex";s:3:"-40";s:9:"Adieresis";s:3:"-40";s:6:"Agrave";s:3:"-40";s:7:"Amacron";s:3:"-40";s:7:"Aogonek";s:3:"-40";s:5:"Aring";s:3:"-40";s:6:"Atilde";s:3:"-40";s:1:"T";s:3:"-40";s:6:"Tcaron";s:3:"-40";s:12:"Tcommaaccent";s:3:"-40";s:1:"V";s:3:"-50";s:1:"W";s:3:"-50";s:1:"X";s:3:"-40";s:1:"Y";s:3:"-50";s:6:"Yacute";s:3:"-50";s:9:"Ydieresis";s:3:"-50";}s:6:"Oslash";a:19:{s:1:"A";s:3:"-40";s:6:"Aacute";s:3:"-40";s:6:"Abreve";s:3:"-40";s:11:"Acircumflex";s:3:"-40";s:9:"Adieresis";s:3:"-40";s:6:"Agrave";s:3:"-40";s:7:"Amacron";s:3:"-40";s:7:"Aogonek";s:3:"-40";s:5:"Aring";s:3:"-40";s:6:"Atilde";s:3:"-40";s:1:"T";s:3:"-40";s:6:"Tcaron";s:3:"-40";s:12:"Tcommaaccent";s:3:"-40";s:1:"V";s:3:"-50";s:1:"W";s:3:"-50";s:1:"X";s:3:"-40";s:1:"Y";s:3:"-50";s:6:"Yacute";s:3:"-50";s:9:"Ydieresis";s:3:"-50";}s:6:"Otilde";a:19:{s:1:"A";s:3:"-40";s:6:"Aacute";s:3:"-40";s:6:"Abreve";s:3:"-40";s:11:"Acircumflex";s:3:"-40";s:9:"Adieresis";s:3:"-40";s:6:"Agrave";s:3:"-40";s:7:"Amacron";s:3:"-40";s:7:"Aogonek";s:3:"-40";s:5:"Aring";s:3:"-40";s:6:"Atilde";s:3:"-40";s:1:"T";s:3:"-40";s:6:"Tcaron";s:3:"-40";s:12:"Tcommaaccent";s:3:"-40";s:1:"V";s:3:"-50";s:1:"W";s:3:"-50";s:1:"X";s:3:"-40";s:1:"Y";s:3:"-50";s:6:"Yacute";s:3:"-50";s:9:"Ydieresis";s:3:"-50";}s:1:"P";a:40:{s:1:"A";s:3:"-85";s:6:"Aacute";s:3:"-85";s:6:"Abreve";s:3:"-85";s:11:"Acircumflex";s:3:"-85";s:9:"Adieresis";s:3:"-85";s:6:"Agrave";s:3:"-85";s:7:"Amacron";s:3:"-85";s:7:"Aogonek";s:3:"-85";s:5:"Aring";s:3:"-85";s:6:"Atilde";s:3:"-85";s:1:"a";s:3:"-40";s:6:"aacute";s:3:"-40";s:6:"abreve";s:3:"-40";s:11:"acircumflex";s:3:"-40";s:9:"adieresis";s:3:"-40";s:6:"agrave";s:3:"-40";s:7:"amacron";s:3:"-40";s:7:"aogonek";s:3:"-40";s:5:"aring";s:3:"-40";s:6:"atilde";s:3:"-40";s:5:"comma";s:4:"-129";s:1:"e";s:3:"-50";s:6:"eacute";s:3:"-50";s:6:"ecaron";s:3:"-50";s:11:"ecircumflex";s:3:"-50";s:9:"edieresis";s:3:"-50";s:10:"edotaccent";s:3:"-50";s:6:"egrave";s:3:"-50";s:7:"emacron";s:3:"-50";s:7:"eogonek";s:3:"-50";s:1:"o";s:3:"-55";s:6:"oacute";s:3:"-55";s:11:"ocircumflex";s:3:"-55";s:9:"odieresis";s:3:"-55";s:6:"ograve";s:3:"-55";s:13:"ohungarumlaut";s:3:"-55";s:7:"omacron";s:3:"-55";s:6:"oslash";s:3:"-55";s:6:"otilde";s:3:"-55";s:6:"period";s:4:"-129";}s:1:"Q";a:9:{s:1:"U";s:3:"-10";s:6:"Uacute";s:3:"-10";s:11:"Ucircumflex";s:3:"-10";s:9:"Udieresis";s:3:"-10";s:6:"Ugrave";s:3:"-10";s:13:"Uhungarumlaut";s:3:"-10";s:7:"Umacron";s:3:"-10";s:7:"Uogonek";s:3:"-10";s:5:"Uring";s:3:"-10";}s:1:"R";a:26:{s:1:"O";s:3:"-40";s:6:"Oacute";s:3:"-40";s:11:"Ocircumflex";s:3:"-40";s:9:"Odieresis";s:3:"-40";s:6:"Ograve";s:3:"-40";s:13:"Ohungarumlaut";s:3:"-40";s:7:"Omacron";s:3:"-40";s:6:"Oslash";s:3:"-40";s:6:"Otilde";s:3:"-40";s:1:"T";s:3:"-30";s:6:"Tcaron";s:3:"-30";s:12:"Tcommaaccent";s:3:"-30";s:1:"U";s:3:"-40";s:6:"Uacute";s:3:"-40";s:11:"Ucircumflex";s:3:"-40";s:9:"Udieresis";s:3:"-40";s:6:"Ugrave";s:3:"-40";s:13:"Uhungarumlaut";s:3:"-40";s:7:"Umacron";s:3:"-40";s:7:"Uogonek";s:3:"-40";s:5:"Uring";s:3:"-40";s:1:"V";s:3:"-18";s:1:"W";s:3:"-18";s:1:"Y";s:3:"-18";s:6:"Yacute";s:3:"-18";s:9:"Ydieresis";s:3:"-18";}s:6:"Racute";a:26:{s:1:"O";s:3:"-40";s:6:"Oacute";s:3:"-40";s:11:"Ocircumflex";s:3:"-40";s:9:"Odieresis";s:3:"-40";s:6:"Ograve";s:3:"-40";s:13:"Ohungarumlaut";s:3:"-40";s:7:"Omacron";s:3:"-40";s:6:"Oslash";s:3:"-40";s:6:"Otilde";s:3:"-40";s:1:"T";s:3:"-30";s:6:"Tcaron";s:3:"-30";s:12:"Tcommaaccent";s:3:"-30";s:1:"U";s:3:"-40";s:6:"Uacute";s:3:"-40";s:11:"Ucircumflex";s:3:"-40";s:9:"Udieresis";s:3:"-40";s:6:"Ugrave";s:3:"-40";s:13:"Uhungarumlaut";s:3:"-40";s:7:"Umacron";s:3:"-40";s:7:"Uogonek";s:3:"-40";s:5:"Uring";s:3:"-40";s:1:"V";s:3:"-18";s:1:"W";s:3:"-18";s:1:"Y";s:3:"-18";s:6:"Yacute";s:3:"-18";s:9:"Ydieresis";s:3:"-18";}s:6:"Rcaron";a:26:{s:1:"O";s:3:"-40";s:6:"Oacute";s:3:"-40";s:11:"Ocircumflex";s:3:"-40";s:9:"Odieresis";s:3:"-40";s:6:"Ograve";s:3:"-40";s:13:"Ohungarumlaut";s:3:"-40";s:7:"Omacron";s:3:"-40";s:6:"Oslash";s:3:"-40";s:6:"Otilde";s:3:"-40";s:1:"T";s:3:"-30";s:6:"Tcaron";s:3:"-30";s:12:"Tcommaaccent";s:3:"-30";s:1:"U";s:3:"-40";s:6:"Uacute";s:3:"-40";s:11:"Ucircumflex";s:3:"-40";s:9:"Udieresis";s:3:"-40";s:6:"Ugrave";s:3:"-40";s:13:"Uhungarumlaut";s:3:"-40";s:7:"Umacron";s:3:"-40";s:7:"Uogonek";s:3:"-40";s:5:"Uring";s:3:"-40";s:1:"V";s:3:"-18";s:1:"W";s:3:"-18";s:1:"Y";s:3:"-18";s:6:"Yacute";s:3:"-18";s:9:"Ydieresis";s:3:"-18";}s:12:"Rcommaaccent";a:26:{s:1:"O";s:3:"-40";s:6:"Oacute";s:3:"-40";s:11:"Ocircumflex";s:3:"-40";s:9:"Odieresis";s:3:"-40";s:6:"Ograve";s:3:"-40";s:13:"Ohungarumlaut";s:3:"-40";s:7:"Omacron";s:3:"-40";s:6:"Oslash";s:3:"-40";s:6:"Otilde";s:3:"-40";s:1:"T";s:3:"-30";s:6:"Tcaron";s:3:"-30";s:12:"Tcommaaccent";s:3:"-30";s:1:"U";s:3:"-40";s:6:"Uacute";s:3:"-40";s:11:"Ucircumflex";s:3:"-40";s:9:"Udieresis";s:3:"-40";s:6:"Ugrave";s:3:"-40";s:13:"Uhungarumlaut";s:3:"-40";s:7:"Umacron";s:3:"-40";s:7:"Uogonek";s:3:"-40";s:5:"Uring";s:3:"-40";s:1:"V";s:3:"-18";s:1:"W";s:3:"-18";s:1:"Y";s:3:"-18";s:6:"Yacute";s:3:"-18";s:9:"Ydieresis";s:3:"-18";}s:1:"T";a:72:{s:1:"A";s:3:"-55";s:6:"Aacute";s:3:"-55";s:6:"Abreve";s:3:"-55";s:11:"Acircumflex";s:3:"-55";s:9:"Adieresis";s:3:"-55";s:6:"Agrave";s:3:"-55";s:7:"Amacron";s:3:"-55";s:7:"Aogonek";s:3:"-55";s:5:"Aring";s:3:"-55";s:6:"Atilde";s:3:"-55";s:1:"O";s:3:"-18";s:6:"Oacute";s:3:"-18";s:11:"Ocircumflex";s:3:"-18";s:9:"Odieresis";s:3:"-18";s:6:"Ograve";s:3:"-18";s:13:"Ohungarumlaut";s:3:"-18";s:7:"Omacron";s:3:"-18";s:6:"Oslash";s:3:"-18";s:6:"Otilde";s:3:"-18";s:1:"a";s:3:"-92";s:6:"aacute";s:3:"-92";s:6:"abreve";s:3:"-92";s:11:"acircumflex";s:3:"-92";s:9:"adieresis";s:3:"-92";s:6:"agrave";s:3:"-92";s:7:"amacron";s:3:"-92";s:7:"aogonek";s:3:"-92";s:5:"aring";s:3:"-92";s:6:"atilde";s:3:"-92";s:5:"colon";s:3:"-74";s:5:"comma";s:3:"-92";s:1:"e";s:3:"-92";s:6:"eacute";s:3:"-92";s:6:"ecaron";s:3:"-92";s:11:"ecircumflex";s:3:"-92";s:9:"edieresis";s:3:"-52";s:10:"edotaccent";s:3:"-92";s:6:"egrave";s:3:"-52";s:7:"emacron";s:3:"-52";s:7:"eogonek";s:3:"-92";s:6:"hyphen";s:3:"-92";s:1:"i";s:3:"-37";s:6:"iacute";s:3:"-37";s:7:"iogonek";s:3:"-37";s:1:"o";s:3:"-95";s:6:"oacute";s:3:"-95";s:11:"ocircumflex";s:3:"-95";s:9:"odieresis";s:3:"-95";s:6:"ograve";s:3:"-95";s:13:"ohungarumlaut";s:3:"-95";s:7:"omacron";s:3:"-95";s:6:"oslash";s:3:"-95";s:6:"otilde";s:3:"-95";s:6:"period";s:3:"-92";s:1:"r";s:3:"-37";s:6:"racute";s:3:"-37";s:6:"rcaron";s:3:"-37";s:12:"rcommaaccent";s:3:"-37";s:9:"semicolon";s:3:"-74";s:1:"u";s:3:"-37";s:6:"uacute";s:3:"-37";s:11:"ucircumflex";s:3:"-37";s:9:"udieresis";s:3:"-37";s:6:"ugrave";s:3:"-37";s:13:"uhungarumlaut";s:3:"-37";s:7:"umacron";s:3:"-37";s:7:"uogonek";s:3:"-37";s:5:"uring";s:3:"-37";s:1:"w";s:3:"-37";s:1:"y";s:3:"-37";s:6:"yacute";s:3:"-37";s:9:"ydieresis";s:3:"-37";}s:6:"Tcaron";a:72:{s:1:"A";s:3:"-55";s:6:"Aacute";s:3:"-55";s:6:"Abreve";s:3:"-55";s:11:"Acircumflex";s:3:"-55";s:9:"Adieresis";s:3:"-55";s:6:"Agrave";s:3:"-55";s:7:"Amacron";s:3:"-55";s:7:"Aogonek";s:3:"-55";s:5:"Aring";s:3:"-55";s:6:"Atilde";s:3:"-55";s:1:"O";s:3:"-18";s:6:"Oacute";s:3:"-18";s:11:"Ocircumflex";s:3:"-18";s:9:"Odieresis";s:3:"-18";s:6:"Ograve";s:3:"-18";s:13:"Ohungarumlaut";s:3:"-18";s:7:"Omacron";s:3:"-18";s:6:"Oslash";s:3:"-18";s:6:"Otilde";s:3:"-18";s:1:"a";s:3:"-92";s:6:"aacute";s:3:"-92";s:6:"abreve";s:3:"-92";s:11:"acircumflex";s:3:"-92";s:9:"adieresis";s:3:"-92";s:6:"agrave";s:3:"-92";s:7:"amacron";s:3:"-92";s:7:"aogonek";s:3:"-92";s:5:"aring";s:3:"-92";s:6:"atilde";s:3:"-92";s:5:"colon";s:3:"-74";s:5:"comma";s:3:"-92";s:1:"e";s:3:"-92";s:6:"eacute";s:3:"-92";s:6:"ecaron";s:3:"-92";s:11:"ecircumflex";s:3:"-92";s:9:"edieresis";s:3:"-52";s:10:"edotaccent";s:3:"-92";s:6:"egrave";s:3:"-52";s:7:"emacron";s:3:"-52";s:7:"eogonek";s:3:"-92";s:6:"hyphen";s:3:"-92";s:1:"i";s:3:"-37";s:6:"iacute";s:3:"-37";s:7:"iogonek";s:3:"-37";s:1:"o";s:3:"-95";s:6:"oacute";s:3:"-95";s:11:"ocircumflex";s:3:"-95";s:9:"odieresis";s:3:"-95";s:6:"ograve";s:3:"-95";s:13:"ohungarumlaut";s:3:"-95";s:7:"omacron";s:3:"-95";s:6:"oslash";s:3:"-95";s:6:"otilde";s:3:"-95";s:6:"period";s:3:"-92";s:1:"r";s:3:"-37";s:6:"racute";s:3:"-37";s:6:"rcaron";s:3:"-37";s:12:"rcommaaccent";s:3:"-37";s:9:"semicolon";s:3:"-74";s:1:"u";s:3:"-37";s:6:"uacute";s:3:"-37";s:11:"ucircumflex";s:3:"-37";s:9:"udieresis";s:3:"-37";s:6:"ugrave";s:3:"-37";s:13:"uhungarumlaut";s:3:"-37";s:7:"umacron";s:3:"-37";s:7:"uogonek";s:3:"-37";s:5:"uring";s:3:"-37";s:1:"w";s:3:"-37";s:1:"y";s:3:"-37";s:6:"yacute";s:3:"-37";s:9:"ydieresis";s:3:"-37";}s:12:"Tcommaaccent";a:72:{s:1:"A";s:3:"-55";s:6:"Aacute";s:3:"-55";s:6:"Abreve";s:3:"-55";s:11:"Acircumflex";s:3:"-55";s:9:"Adieresis";s:3:"-55";s:6:"Agrave";s:3:"-55";s:7:"Amacron";s:3:"-55";s:7:"Aogonek";s:3:"-55";s:5:"Aring";s:3:"-55";s:6:"Atilde";s:3:"-55";s:1:"O";s:3:"-18";s:6:"Oacute";s:3:"-18";s:11:"Ocircumflex";s:3:"-18";s:9:"Odieresis";s:3:"-18";s:6:"Ograve";s:3:"-18";s:13:"Ohungarumlaut";s:3:"-18";s:7:"Omacron";s:3:"-18";s:6:"Oslash";s:3:"-18";s:6:"Otilde";s:3:"-18";s:1:"a";s:3:"-92";s:6:"aacute";s:3:"-92";s:6:"abreve";s:3:"-92";s:11:"acircumflex";s:3:"-92";s:9:"adieresis";s:3:"-92";s:6:"agrave";s:3:"-92";s:7:"amacron";s:3:"-92";s:7:"aogonek";s:3:"-92";s:5:"aring";s:3:"-92";s:6:"atilde";s:3:"-92";s:5:"colon";s:3:"-74";s:5:"comma";s:3:"-92";s:1:"e";s:3:"-92";s:6:"eacute";s:3:"-92";s:6:"ecaron";s:3:"-92";s:11:"ecircumflex";s:3:"-92";s:9:"edieresis";s:3:"-52";s:10:"edotaccent";s:3:"-92";s:6:"egrave";s:3:"-52";s:7:"emacron";s:3:"-52";s:7:"eogonek";s:3:"-92";s:6:"hyphen";s:3:"-92";s:1:"i";s:3:"-37";s:6:"iacute";s:3:"-37";s:7:"iogonek";s:3:"-37";s:1:"o";s:3:"-95";s:6:"oacute";s:3:"-95";s:11:"ocircumflex";s:3:"-95";s:9:"odieresis";s:3:"-95";s:6:"ograve";s:3:"-95";s:13:"ohungarumlaut";s:3:"-95";s:7:"omacron";s:3:"-95";s:6:"oslash";s:3:"-95";s:6:"otilde";s:3:"-95";s:6:"period";s:3:"-92";s:1:"r";s:3:"-37";s:6:"racute";s:3:"-37";s:6:"rcaron";s:3:"-37";s:12:"rcommaaccent";s:3:"-37";s:9:"semicolon";s:3:"-74";s:1:"u";s:3:"-37";s:6:"uacute";s:3:"-37";s:11:"ucircumflex";s:3:"-37";s:9:"udieresis";s:3:"-37";s:6:"ugrave";s:3:"-37";s:13:"uhungarumlaut";s:3:"-37";s:7:"umacron";s:3:"-37";s:7:"uogonek";s:3:"-37";s:5:"uring";s:3:"-37";s:1:"w";s:3:"-37";s:1:"y";s:3:"-37";s:6:"yacute";s:3:"-37";s:9:"ydieresis";s:3:"-37";}s:1:"U";a:10:{s:1:"A";s:3:"-45";s:6:"Aacute";s:3:"-45";s:6:"Abreve";s:3:"-45";s:11:"Acircumflex";s:3:"-45";s:9:"Adieresis";s:3:"-45";s:6:"Agrave";s:3:"-45";s:7:"Amacron";s:3:"-45";s:7:"Aogonek";s:3:"-45";s:5:"Aring";s:3:"-45";s:6:"Atilde";s:3:"-45";}s:6:"Uacute";a:10:{s:1:"A";s:3:"-45";s:6:"Aacute";s:3:"-45";s:6:"Abreve";s:3:"-45";s:11:"Acircumflex";s:3:"-45";s:9:"Adieresis";s:3:"-45";s:6:"Agrave";s:3:"-45";s:7:"Amacron";s:3:"-45";s:7:"Aogonek";s:3:"-45";s:5:"Aring";s:3:"-45";s:6:"Atilde";s:3:"-45";}s:11:"Ucircumflex";a:10:{s:1:"A";s:3:"-45";s:6:"Aacute";s:3:"-45";s:6:"Abreve";s:3:"-45";s:11:"Acircumflex";s:3:"-45";s:9:"Adieresis";s:3:"-45";s:6:"Agrave";s:3:"-45";s:7:"Amacron";s:3:"-45";s:7:"Aogonek";s:3:"-45";s:5:"Aring";s:3:"-45";s:6:"Atilde";s:3:"-45";}s:9:"Udieresis";a:10:{s:1:"A";s:3:"-45";s:6:"Aacute";s:3:"-45";s:6:"Abreve";s:3:"-45";s:11:"Acircumflex";s:3:"-45";s:9:"Adieresis";s:3:"-45";s:6:"Agrave";s:3:"-45";s:7:"Amacron";s:3:"-45";s:7:"Aogonek";s:3:"-45";s:5:"Aring";s:3:"-45";s:6:"Atilde";s:3:"-45";}s:6:"Ugrave";a:10:{s:1:"A";s:3:"-45";s:6:"Aacute";s:3:"-45";s:6:"Abreve";s:3:"-45";s:11:"Acircumflex";s:3:"-45";s:9:"Adieresis";s:3:"-45";s:6:"Agrave";s:3:"-45";s:7:"Amacron";s:3:"-45";s:7:"Aogonek";s:3:"-45";s:5:"Aring";s:3:"-45";s:6:"Atilde";s:3:"-45";}s:13:"Uhungarumlaut";a:10:{s:1:"A";s:3:"-45";s:6:"Aacute";s:3:"-45";s:6:"Abreve";s:3:"-45";s:11:"Acircumflex";s:3:"-45";s:9:"Adieresis";s:3:"-45";s:6:"Agrave";s:3:"-45";s:7:"Amacron";s:3:"-45";s:7:"Aogonek";s:3:"-45";s:5:"Aring";s:3:"-45";s:6:"Atilde";s:3:"-45";}s:7:"Umacron";a:10:{s:1:"A";s:3:"-45";s:6:"Aacute";s:3:"-45";s:6:"Abreve";s:3:"-45";s:11:"Acircumflex";s:3:"-45";s:9:"Adieresis";s:3:"-45";s:6:"Agrave";s:3:"-45";s:7:"Amacron";s:3:"-45";s:7:"Aogonek";s:3:"-45";s:5:"Aring";s:3:"-45";s:6:"Atilde";s:3:"-45";}s:7:"Uogonek";a:10:{s:1:"A";s:3:"-45";s:6:"Aacute";s:3:"-45";s:6:"Abreve";s:3:"-45";s:11:"Acircumflex";s:3:"-45";s:9:"Adieresis";s:3:"-45";s:6:"Agrave";s:3:"-45";s:7:"Amacron";s:3:"-45";s:7:"Aogonek";s:3:"-45";s:5:"Aring";s:3:"-45";s:6:"Atilde";s:3:"-45";}s:5:"Uring";a:10:{s:1:"A";s:3:"-45";s:6:"Aacute";s:3:"-45";s:6:"Abreve";s:3:"-45";s:11:"Acircumflex";s:3:"-45";s:9:"Adieresis";s:3:"-45";s:6:"Agrave";s:3:"-45";s:7:"Amacron";s:3:"-45";s:7:"Aogonek";s:3:"-45";s:5:"Aring";s:3:"-45";s:6:"Atilde";s:3:"-45";}s:1:"V";a:67:{s:1:"A";s:3:"-85";s:6:"Aacute";s:3:"-85";s:6:"Abreve";s:3:"-85";s:11:"Acircumflex";s:3:"-85";s:9:"Adieresis";s:3:"-85";s:6:"Agrave";s:3:"-85";s:7:"Amacron";s:3:"-85";s:7:"Aogonek";s:3:"-85";s:5:"Aring";s:3:"-85";s:6:"Atilde";s:3:"-85";s:1:"G";s:3:"-10";s:6:"Gbreve";s:3:"-10";s:12:"Gcommaaccent";s:3:"-10";s:1:"O";s:3:"-30";s:6:"Oacute";s:3:"-30";s:11:"Ocircumflex";s:3:"-30";s:9:"Odieresis";s:3:"-30";s:6:"Ograve";s:3:"-30";s:13:"Ohungarumlaut";s:3:"-30";s:7:"Omacron";s:3:"-30";s:6:"Oslash";s:3:"-30";s:6:"Otilde";s:3:"-30";s:1:"a";s:4:"-111";s:6:"aacute";s:4:"-111";s:6:"abreve";s:4:"-111";s:11:"acircumflex";s:4:"-111";s:9:"adieresis";s:4:"-111";s:6:"agrave";s:4:"-111";s:7:"amacron";s:4:"-111";s:7:"aogonek";s:4:"-111";s:5:"aring";s:4:"-111";s:6:"atilde";s:4:"-111";s:5:"colon";s:3:"-74";s:5:"comma";s:4:"-129";s:1:"e";s:4:"-111";s:6:"eacute";s:4:"-111";s:6:"ecaron";s:4:"-111";s:11:"ecircumflex";s:4:"-111";s:9:"edieresis";s:3:"-71";s:10:"edotaccent";s:4:"-111";s:6:"egrave";s:3:"-71";s:7:"emacron";s:3:"-71";s:7:"eogonek";s:4:"-111";s:6:"hyphen";s:3:"-70";s:1:"i";s:3:"-55";s:6:"iacute";s:3:"-55";s:7:"iogonek";s:3:"-55";s:1:"o";s:4:"-111";s:6:"oacute";s:4:"-111";s:11:"ocircumflex";s:4:"-111";s:9:"odieresis";s:4:"-111";s:6:"ograve";s:4:"-111";s:13:"ohungarumlaut";s:4:"-111";s:7:"omacron";s:4:"-111";s:6:"oslash";s:4:"-111";s:6:"otilde";s:4:"-111";s:6:"period";s:4:"-129";s:9:"semicolon";s:3:"-74";s:1:"u";s:3:"-55";s:6:"uacute";s:3:"-55";s:11:"ucircumflex";s:3:"-55";s:9:"udieresis";s:3:"-55";s:6:"ugrave";s:3:"-55";s:13:"uhungarumlaut";s:3:"-55";s:7:"umacron";s:3:"-55";s:7:"uogonek";s:3:"-55";s:5:"uring";s:3:"-55";}s:1:"W";a:67:{s:1:"A";s:3:"-74";s:6:"Aacute";s:3:"-74";s:6:"Abreve";s:3:"-74";s:11:"Acircumflex";s:3:"-74";s:9:"Adieresis";s:3:"-74";s:6:"Agrave";s:3:"-74";s:7:"Amacron";s:3:"-74";s:7:"Aogonek";s:3:"-74";s:5:"Aring";s:3:"-74";s:6:"Atilde";s:3:"-74";s:1:"O";s:3:"-15";s:6:"Oacute";s:3:"-15";s:11:"Ocircumflex";s:3:"-15";s:9:"Odieresis";s:3:"-15";s:6:"Ograve";s:3:"-15";s:13:"Ohungarumlaut";s:3:"-15";s:7:"Omacron";s:3:"-15";s:6:"Oslash";s:3:"-15";s:6:"Otilde";s:3:"-15";s:1:"a";s:3:"-85";s:6:"aacute";s:3:"-85";s:6:"abreve";s:3:"-85";s:11:"acircumflex";s:3:"-85";s:9:"adieresis";s:3:"-85";s:6:"agrave";s:3:"-85";s:7:"amacron";s:3:"-85";s:7:"aogonek";s:3:"-85";s:5:"aring";s:3:"-85";s:6:"atilde";s:3:"-85";s:5:"colon";s:3:"-55";s:5:"comma";s:3:"-74";s:1:"e";s:3:"-90";s:6:"eacute";s:3:"-90";s:6:"ecaron";s:3:"-90";s:11:"ecircumflex";s:3:"-90";s:9:"edieresis";s:3:"-50";s:10:"edotaccent";s:3:"-90";s:6:"egrave";s:3:"-50";s:7:"emacron";s:3:"-50";s:7:"eogonek";s:3:"-90";s:6:"hyphen";s:3:"-50";s:1:"i";s:3:"-37";s:6:"iacute";s:3:"-37";s:7:"iogonek";s:3:"-37";s:1:"o";s:3:"-80";s:6:"oacute";s:3:"-80";s:11:"ocircumflex";s:3:"-80";s:9:"odieresis";s:3:"-80";s:6:"ograve";s:3:"-80";s:13:"ohungarumlaut";s:3:"-80";s:7:"omacron";s:3:"-80";s:6:"oslash";s:3:"-80";s:6:"otilde";s:3:"-80";s:6:"period";s:3:"-74";s:9:"semicolon";s:3:"-55";s:1:"u";s:3:"-55";s:6:"uacute";s:3:"-55";s:11:"ucircumflex";s:3:"-55";s:9:"udieresis";s:3:"-55";s:6:"ugrave";s:3:"-55";s:13:"uhungarumlaut";s:3:"-55";s:7:"umacron";s:3:"-55";s:7:"uogonek";s:3:"-55";s:5:"uring";s:3:"-55";s:1:"y";s:3:"-55";s:6:"yacute";s:3:"-55";s:9:"ydieresis";s:3:"-55";}s:1:"Y";a:64:{s:1:"A";s:3:"-74";s:6:"Aacute";s:3:"-74";s:6:"Abreve";s:3:"-74";s:11:"Acircumflex";s:3:"-74";s:9:"Adieresis";s:3:"-74";s:6:"Agrave";s:3:"-74";s:7:"Amacron";s:3:"-74";s:7:"Aogonek";s:3:"-74";s:5:"Aring";s:3:"-74";s:6:"Atilde";s:3:"-74";s:1:"O";s:3:"-25";s:6:"Oacute";s:3:"-25";s:11:"Ocircumflex";s:3:"-25";s:9:"Odieresis";s:3:"-25";s:6:"Ograve";s:3:"-25";s:13:"Ohungarumlaut";s:3:"-25";s:7:"Omacron";s:3:"-25";s:6:"Oslash";s:3:"-25";s:6:"Otilde";s:3:"-25";s:1:"a";s:3:"-92";s:6:"aacute";s:3:"-92";s:6:"abreve";s:3:"-92";s:11:"acircumflex";s:3:"-92";s:9:"adieresis";s:3:"-92";s:6:"agrave";s:3:"-92";s:7:"amacron";s:3:"-92";s:7:"aogonek";s:3:"-92";s:5:"aring";s:3:"-92";s:6:"atilde";s:3:"-92";s:5:"colon";s:3:"-92";s:5:"comma";s:3:"-92";s:1:"e";s:4:"-111";s:6:"eacute";s:4:"-111";s:6:"ecaron";s:4:"-111";s:11:"ecircumflex";s:3:"-71";s:9:"edieresis";s:3:"-71";s:10:"edotaccent";s:4:"-111";s:6:"egrave";s:3:"-71";s:7:"emacron";s:3:"-71";s:7:"eogonek";s:4:"-111";s:6:"hyphen";s:3:"-92";s:1:"i";s:3:"-55";s:6:"iacute";s:3:"-55";s:7:"iogonek";s:3:"-55";s:1:"o";s:4:"-111";s:6:"oacute";s:4:"-111";s:11:"ocircumflex";s:4:"-111";s:9:"odieresis";s:4:"-111";s:6:"ograve";s:4:"-111";s:13:"ohungarumlaut";s:4:"-111";s:7:"omacron";s:4:"-111";s:6:"oslash";s:4:"-111";s:6:"otilde";s:4:"-111";s:6:"period";s:3:"-74";s:9:"semicolon";s:3:"-92";s:1:"u";s:3:"-92";s:6:"uacute";s:3:"-92";s:11:"ucircumflex";s:3:"-92";s:9:"udieresis";s:3:"-92";s:6:"ugrave";s:3:"-92";s:13:"uhungarumlaut";s:3:"-92";s:7:"umacron";s:3:"-92";s:7:"uogonek";s:3:"-92";s:5:"uring";s:3:"-92";}s:6:"Yacute";a:64:{s:1:"A";s:3:"-74";s:6:"Aacute";s:3:"-74";s:6:"Abreve";s:3:"-74";s:11:"Acircumflex";s:3:"-74";s:9:"Adieresis";s:3:"-74";s:6:"Agrave";s:3:"-74";s:7:"Amacron";s:3:"-74";s:7:"Aogonek";s:3:"-74";s:5:"Aring";s:3:"-74";s:6:"Atilde";s:3:"-74";s:1:"O";s:3:"-25";s:6:"Oacute";s:3:"-25";s:11:"Ocircumflex";s:3:"-25";s:9:"Odieresis";s:3:"-25";s:6:"Ograve";s:3:"-25";s:13:"Ohungarumlaut";s:3:"-25";s:7:"Omacron";s:3:"-25";s:6:"Oslash";s:3:"-25";s:6:"Otilde";s:3:"-25";s:1:"a";s:3:"-92";s:6:"aacute";s:3:"-92";s:6:"abreve";s:3:"-92";s:11:"acircumflex";s:3:"-92";s:9:"adieresis";s:3:"-92";s:6:"agrave";s:3:"-92";s:7:"amacron";s:3:"-92";s:7:"aogonek";s:3:"-92";s:5:"aring";s:3:"-92";s:6:"atilde";s:3:"-92";s:5:"colon";s:3:"-92";s:5:"comma";s:3:"-92";s:1:"e";s:4:"-111";s:6:"eacute";s:4:"-111";s:6:"ecaron";s:4:"-111";s:11:"ecircumflex";s:3:"-71";s:9:"edieresis";s:3:"-71";s:10:"edotaccent";s:4:"-111";s:6:"egrave";s:3:"-71";s:7:"emacron";s:3:"-71";s:7:"eogonek";s:4:"-111";s:6:"hyphen";s:3:"-92";s:1:"i";s:3:"-55";s:6:"iacute";s:3:"-55";s:7:"iogonek";s:3:"-55";s:1:"o";s:4:"-111";s:6:"oacute";s:4:"-111";s:11:"ocircumflex";s:4:"-111";s:9:"odieresis";s:4:"-111";s:6:"ograve";s:4:"-111";s:13:"ohungarumlaut";s:4:"-111";s:7:"omacron";s:4:"-111";s:6:"oslash";s:4:"-111";s:6:"otilde";s:4:"-111";s:6:"period";s:3:"-74";s:9:"semicolon";s:3:"-92";s:1:"u";s:3:"-92";s:6:"uacute";s:3:"-92";s:11:"ucircumflex";s:3:"-92";s:9:"udieresis";s:3:"-92";s:6:"ugrave";s:3:"-92";s:13:"uhungarumlaut";s:3:"-92";s:7:"umacron";s:3:"-92";s:7:"uogonek";s:3:"-92";s:5:"uring";s:3:"-92";}s:9:"Ydieresis";a:64:{s:1:"A";s:3:"-74";s:6:"Aacute";s:3:"-74";s:6:"Abreve";s:3:"-74";s:11:"Acircumflex";s:3:"-74";s:9:"Adieresis";s:3:"-74";s:6:"Agrave";s:3:"-74";s:7:"Amacron";s:3:"-74";s:7:"Aogonek";s:3:"-74";s:5:"Aring";s:3:"-74";s:6:"Atilde";s:3:"-74";s:1:"O";s:3:"-25";s:6:"Oacute";s:3:"-25";s:11:"Ocircumflex";s:3:"-25";s:9:"Odieresis";s:3:"-25";s:6:"Ograve";s:3:"-25";s:13:"Ohungarumlaut";s:3:"-25";s:7:"Omacron";s:3:"-25";s:6:"Oslash";s:3:"-25";s:6:"Otilde";s:3:"-25";s:1:"a";s:3:"-92";s:6:"aacute";s:3:"-92";s:6:"abreve";s:3:"-92";s:11:"acircumflex";s:3:"-92";s:9:"adieresis";s:3:"-92";s:6:"agrave";s:3:"-92";s:7:"amacron";s:3:"-92";s:7:"aogonek";s:3:"-92";s:5:"aring";s:3:"-92";s:6:"atilde";s:3:"-92";s:5:"colon";s:3:"-92";s:5:"comma";s:3:"-92";s:1:"e";s:4:"-111";s:6:"eacute";s:4:"-111";s:6:"ecaron";s:4:"-111";s:11:"ecircumflex";s:3:"-71";s:9:"edieresis";s:3:"-71";s:10:"edotaccent";s:4:"-111";s:6:"egrave";s:3:"-71";s:7:"emacron";s:3:"-71";s:7:"eogonek";s:4:"-111";s:6:"hyphen";s:3:"-92";s:1:"i";s:3:"-55";s:6:"iacute";s:3:"-55";s:7:"iogonek";s:3:"-55";s:1:"o";s:4:"-111";s:6:"oacute";s:4:"-111";s:11:"ocircumflex";s:4:"-111";s:9:"odieresis";s:4:"-111";s:6:"ograve";s:4:"-111";s:13:"ohungarumlaut";s:4:"-111";s:7:"omacron";s:4:"-111";s:6:"oslash";s:4:"-111";s:6:"otilde";s:4:"-111";s:6:"period";s:3:"-74";s:9:"semicolon";s:3:"-92";s:1:"u";s:3:"-92";s:6:"uacute";s:3:"-92";s:11:"ucircumflex";s:3:"-92";s:9:"udieresis";s:3:"-92";s:6:"ugrave";s:3:"-92";s:13:"uhungarumlaut";s:3:"-92";s:7:"umacron";s:3:"-92";s:7:"uogonek";s:3:"-92";s:5:"uring";s:3:"-92";}s:1:"b";a:11:{s:1:"b";s:3:"-10";s:6:"period";s:3:"-40";s:1:"u";s:3:"-20";s:6:"uacute";s:3:"-20";s:11:"ucircumflex";s:3:"-20";s:9:"udieresis";s:3:"-20";s:6:"ugrave";s:3:"-20";s:13:"uhungarumlaut";s:3:"-20";s:7:"umacron";s:3:"-20";s:7:"uogonek";s:3:"-20";s:5:"uring";s:3:"-20";}s:1:"c";a:3:{s:1:"h";s:3:"-10";s:1:"k";s:3:"-10";s:12:"kcommaaccent";s:3:"-10";}s:6:"cacute";a:3:{s:1:"h";s:3:"-10";s:1:"k";s:3:"-10";s:12:"kcommaaccent";s:3:"-10";}s:6:"ccaron";a:3:{s:1:"h";s:3:"-10";s:1:"k";s:3:"-10";s:12:"kcommaaccent";s:3:"-10";}s:8:"ccedilla";a:3:{s:1:"h";s:3:"-10";s:1:"k";s:3:"-10";s:12:"kcommaaccent";s:3:"-10";}s:5:"comma";a:2:{s:13:"quotedblright";s:3:"-95";s:10:"quoteright";s:3:"-95";}s:1:"e";a:1:{s:1:"b";s:3:"-10";}s:6:"eacute";a:1:{s:1:"b";s:3:"-10";}s:6:"ecaron";a:1:{s:1:"b";s:3:"-10";}s:11:"ecircumflex";a:1:{s:1:"b";s:3:"-10";}s:9:"edieresis";a:1:{s:1:"b";s:3:"-10";}s:10:"edotaccent";a:1:{s:1:"b";s:3:"-10";}s:6:"egrave";a:1:{s:1:"b";s:3:"-10";}s:7:"emacron";a:1:{s:1:"b";s:3:"-10";}s:7:"eogonek";a:1:{s:1:"b";s:3:"-10";}s:1:"f";a:16:{s:5:"comma";s:3:"-10";s:8:"dotlessi";s:3:"-30";s:1:"e";s:3:"-10";s:6:"eacute";s:3:"-10";s:10:"edotaccent";s:3:"-10";s:7:"eogonek";s:3:"-10";s:1:"f";s:3:"-18";s:1:"o";s:3:"-10";s:6:"oacute";s:3:"-10";s:11:"ocircumflex";s:3:"-10";s:6:"ograve";s:3:"-10";s:13:"ohungarumlaut";s:3:"-10";s:6:"oslash";s:3:"-10";s:6:"otilde";s:3:"-10";s:6:"period";s:3:"-10";s:10:"quoteright";s:2:"55";}s:1:"k";a:18:{s:1:"e";s:3:"-30";s:6:"eacute";s:3:"-30";s:6:"ecaron";s:3:"-30";s:11:"ecircumflex";s:3:"-30";s:9:"edieresis";s:3:"-30";s:10:"edotaccent";s:3:"-30";s:6:"egrave";s:3:"-30";s:7:"emacron";s:3:"-30";s:7:"eogonek";s:3:"-30";s:1:"o";s:3:"-10";s:6:"oacute";s:3:"-10";s:11:"ocircumflex";s:3:"-10";s:9:"odieresis";s:3:"-10";s:6:"ograve";s:3:"-10";s:13:"ohungarumlaut";s:3:"-10";s:7:"omacron";s:3:"-10";s:6:"oslash";s:3:"-10";s:6:"otilde";s:3:"-10";}s:12:"kcommaaccent";a:18:{s:1:"e";s:3:"-30";s:6:"eacute";s:3:"-30";s:6:"ecaron";s:3:"-30";s:11:"ecircumflex";s:3:"-30";s:9:"edieresis";s:3:"-30";s:10:"edotaccent";s:3:"-30";s:6:"egrave";s:3:"-30";s:7:"emacron";s:3:"-30";s:7:"eogonek";s:3:"-30";s:1:"o";s:3:"-10";s:6:"oacute";s:3:"-10";s:11:"ocircumflex";s:3:"-10";s:9:"odieresis";s:3:"-10";s:6:"ograve";s:3:"-10";s:13:"ohungarumlaut";s:3:"-10";s:7:"omacron";s:3:"-10";s:6:"oslash";s:3:"-10";s:6:"otilde";s:3:"-10";}s:1:"n";a:1:{s:1:"v";s:3:"-40";}s:6:"nacute";a:1:{s:1:"v";s:3:"-40";}s:6:"ncaron";a:1:{s:1:"v";s:3:"-40";}s:12:"ncommaaccent";a:1:{s:1:"v";s:3:"-40";}s:6:"ntilde";a:1:{s:1:"v";s:3:"-40";}s:1:"o";a:6:{s:1:"v";s:3:"-15";s:1:"w";s:3:"-25";s:1:"x";s:3:"-10";s:1:"y";s:3:"-10";s:6:"yacute";s:3:"-10";s:9:"ydieresis";s:3:"-10";}s:6:"oacute";a:6:{s:1:"v";s:3:"-15";s:1:"w";s:3:"-25";s:1:"x";s:3:"-10";s:1:"y";s:3:"-10";s:6:"yacute";s:3:"-10";s:9:"ydieresis";s:3:"-10";}s:11:"ocircumflex";a:6:{s:1:"v";s:3:"-15";s:1:"w";s:3:"-25";s:1:"x";s:3:"-10";s:1:"y";s:3:"-10";s:6:"yacute";s:3:"-10";s:9:"ydieresis";s:3:"-10";}s:9:"odieresis";a:6:{s:1:"v";s:3:"-15";s:1:"w";s:3:"-25";s:1:"x";s:3:"-10";s:1:"y";s:3:"-10";s:6:"yacute";s:3:"-10";s:9:"ydieresis";s:3:"-10";}s:6:"ograve";a:6:{s:1:"v";s:3:"-15";s:1:"w";s:3:"-25";s:1:"x";s:3:"-10";s:1:"y";s:3:"-10";s:6:"yacute";s:3:"-10";s:9:"ydieresis";s:3:"-10";}s:13:"ohungarumlaut";a:6:{s:1:"v";s:3:"-15";s:1:"w";s:3:"-25";s:1:"x";s:3:"-10";s:1:"y";s:3:"-10";s:6:"yacute";s:3:"-10";s:9:"ydieresis";s:3:"-10";}s:7:"omacron";a:6:{s:1:"v";s:3:"-15";s:1:"w";s:3:"-25";s:1:"x";s:3:"-10";s:1:"y";s:3:"-10";s:6:"yacute";s:3:"-10";s:9:"ydieresis";s:3:"-10";}s:6:"oslash";a:6:{s:1:"v";s:3:"-15";s:1:"w";s:3:"-25";s:1:"x";s:3:"-10";s:1:"y";s:3:"-10";s:6:"yacute";s:3:"-10";s:9:"ydieresis";s:3:"-10";}s:6:"otilde";a:6:{s:1:"v";s:3:"-15";s:1:"w";s:3:"-25";s:1:"x";s:3:"-10";s:1:"y";s:3:"-10";s:6:"yacute";s:3:"-10";s:9:"ydieresis";s:3:"-10";}s:6:"period";a:2:{s:13:"quotedblright";s:3:"-95";s:10:"quoteright";s:3:"-95";}s:9:"quoteleft";a:1:{s:9:"quoteleft";s:3:"-74";}s:10:"quoteright";a:16:{s:1:"d";s:3:"-15";s:6:"dcroat";s:3:"-15";s:10:"quoteright";s:3:"-74";s:1:"r";s:3:"-15";s:6:"racute";s:3:"-15";s:6:"rcaron";s:3:"-15";s:12:"rcommaaccent";s:3:"-15";s:1:"s";s:3:"-74";s:6:"sacute";s:3:"-74";s:6:"scaron";s:3:"-74";s:8:"scedilla";s:3:"-74";s:12:"scommaaccent";s:3:"-74";s:5:"space";s:3:"-74";s:1:"t";s:3:"-37";s:12:"tcommaaccent";s:3:"-37";s:1:"v";s:3:"-15";}s:1:"r";a:2:{s:5:"comma";s:3:"-65";s:6:"period";s:3:"-65";}s:6:"racute";a:2:{s:5:"comma";s:3:"-65";s:6:"period";s:3:"-65";}s:6:"rcaron";a:2:{s:5:"comma";s:3:"-65";s:6:"period";s:3:"-65";}s:12:"rcommaaccent";a:2:{s:5:"comma";s:3:"-65";s:6:"period";s:3:"-65";}s:5:"space";a:15:{s:1:"A";s:3:"-37";s:6:"Aacute";s:3:"-37";s:6:"Abreve";s:3:"-37";s:11:"Acircumflex";s:3:"-37";s:9:"Adieresis";s:3:"-37";s:6:"Agrave";s:3:"-37";s:7:"Amacron";s:3:"-37";s:7:"Aogonek";s:3:"-37";s:5:"Aring";s:3:"-37";s:6:"Atilde";s:3:"-37";s:1:"V";s:3:"-70";s:1:"W";s:3:"-70";s:1:"Y";s:3:"-70";s:6:"Yacute";s:3:"-70";s:9:"Ydieresis";s:3:"-70";}s:1:"v";a:20:{s:5:"comma";s:3:"-37";s:1:"e";s:3:"-15";s:6:"eacute";s:3:"-15";s:6:"ecaron";s:3:"-15";s:11:"ecircumflex";s:3:"-15";s:9:"edieresis";s:3:"-15";s:10:"edotaccent";s:3:"-15";s:6:"egrave";s:3:"-15";s:7:"emacron";s:3:"-15";s:7:"eogonek";s:3:"-15";s:1:"o";s:3:"-15";s:6:"oacute";s:3:"-15";s:11:"ocircumflex";s:3:"-15";s:9:"odieresis";s:3:"-15";s:6:"ograve";s:3:"-15";s:13:"ohungarumlaut";s:3:"-15";s:7:"omacron";s:3:"-15";s:6:"oslash";s:3:"-15";s:6:"otilde";s:3:"-15";s:6:"period";s:3:"-37";}s:1:"w";a:30:{s:1:"a";s:3:"-10";s:6:"aacute";s:3:"-10";s:6:"abreve";s:3:"-10";s:11:"acircumflex";s:3:"-10";s:9:"adieresis";s:3:"-10";s:6:"agrave";s:3:"-10";s:7:"amacron";s:3:"-10";s:7:"aogonek";s:3:"-10";s:5:"aring";s:3:"-10";s:6:"atilde";s:3:"-10";s:5:"comma";s:3:"-37";s:1:"e";s:3:"-10";s:6:"eacute";s:3:"-10";s:6:"ecaron";s:3:"-10";s:11:"ecircumflex";s:3:"-10";s:9:"edieresis";s:3:"-10";s:10:"edotaccent";s:3:"-10";s:6:"egrave";s:3:"-10";s:7:"emacron";s:3:"-10";s:7:"eogonek";s:3:"-10";s:1:"o";s:3:"-15";s:6:"oacute";s:3:"-15";s:11:"ocircumflex";s:3:"-15";s:9:"odieresis";s:3:"-15";s:6:"ograve";s:3:"-15";s:13:"ohungarumlaut";s:3:"-15";s:7:"omacron";s:3:"-15";s:6:"oslash";s:3:"-15";s:6:"otilde";s:3:"-15";s:6:"period";s:3:"-37";}s:1:"x";a:9:{s:1:"e";s:3:"-10";s:6:"eacute";s:3:"-10";s:6:"ecaron";s:3:"-10";s:11:"ecircumflex";s:3:"-10";s:9:"edieresis";s:3:"-10";s:10:"edotaccent";s:3:"-10";s:6:"egrave";s:3:"-10";s:7:"emacron";s:3:"-10";s:7:"eogonek";s:3:"-10";}s:1:"y";a:2:{s:5:"comma";s:3:"-37";s:6:"period";s:3:"-37";}s:6:"yacute";a:2:{s:5:"comma";s:3:"-37";s:6:"period";s:3:"-37";}s:9:"ydieresis";a:2:{s:5:"comma";s:3:"-37";s:6:"period";s:3:"-37";}}s:9:"_version_";i:1;}
\ No newline at end of file diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/PDF/default/templates/fonts/php_Times-Italic.afm b/buildscripts/PhpDocumentor/phpDocumentor/Converters/PDF/default/templates/fonts/php_Times-Italic.afm new file mode 100755 index 00000000..19afb671 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/PDF/default/templates/fonts/php_Times-Italic.afm @@ -0,0 +1 @@ +a:22:{s:8:"FontName";s:12:"Times-Italic";s:8:"FullName";s:12:"Times Italic";s:10:"FamilyName";s:5:"Times";s:6:"Weight";s:6:"Medium";s:11:"ItalicAngle";s:5:"-15.5";s:12:"IsFixedPitch";s:5:"false";s:12:"CharacterSet";s:13:"ExtendedRoman";s:8:"FontBBox";a:4:{i:0;s:4:"-169";i:1;s:4:"-217";i:2;s:4:"1010";i:3;s:3:"883";}s:17:"UnderlinePosition";s:4:"-100";s:18:"UnderlineThickness";s:2:"50";s:7:"Version";s:7:"002.000";s:14:"EncodingScheme";s:21:"AdobeStandardEncoding";s:9:"CapHeight";s:3:"653";s:7:"XHeight";s:3:"441";s:8:"Ascender";s:3:"683";s:9:"Descender";s:4:"-217";s:5:"StdHW";s:2:"32";s:5:"StdVW";s:2:"76";s:16:"StartCharMetrics";s:3:"315";s:1:"C";a:464:{i:32;a:4:{s:1:"C";s:2:"32";s:2:"WX";s:3:"250";s:1:"N";s:5:"space";s:1:"B";a:4:{i:0;s:1:"0";i:1;s:1:"0";i:2;s:1:"0";i:3;s:1:"0";}}s:5:"space";a:4:{s:1:"C";s:2:"32";s:2:"WX";s:3:"250";s:1:"N";s:5:"space";s:1:"B";a:4:{i:0;s:1:"0";i:1;s:1:"0";i:2;s:1:"0";i:3;s:1:"0";}}i:33;a:4:{s:1:"C";s:2:"33";s:2:"WX";s:3:"333";s:1:"N";s:6:"exclam";s:1:"B";a:4:{i:0;s:2:"39";i:1;s:3:"-11";i:2;s:3:"302";i:3;s:3:"667";}}s:6:"exclam";a:4:{s:1:"C";s:2:"33";s:2:"WX";s:3:"333";s:1:"N";s:6:"exclam";s:1:"B";a:4:{i:0;s:2:"39";i:1;s:3:"-11";i:2;s:3:"302";i:3;s:3:"667";}}i:34;a:4:{s:1:"C";s:2:"34";s:2:"WX";s:3:"420";s:1:"N";s:8:"quotedbl";s:1:"B";a:4:{i:0;s:3:"144";i:1;s:3:"421";i:2;s:3:"432";i:3;s:3:"666";}}s:8:"quotedbl";a:4:{s:1:"C";s:2:"34";s:2:"WX";s:3:"420";s:1:"N";s:8:"quotedbl";s:1:"B";a:4:{i:0;s:3:"144";i:1;s:3:"421";i:2;s:3:"432";i:3;s:3:"666";}}i:35;a:4:{s:1:"C";s:2:"35";s:2:"WX";s:3:"500";s:1:"N";s:10:"numbersign";s:1:"B";a:4:{i:0;s:1:"2";i:1;s:1:"0";i:2;s:3:"540";i:3;s:3:"676";}}s:10:"numbersign";a:4:{s:1:"C";s:2:"35";s:2:"WX";s:3:"500";s:1:"N";s:10:"numbersign";s:1:"B";a:4:{i:0;s:1:"2";i:1;s:1:"0";i:2;s:3:"540";i:3;s:3:"676";}}i:36;a:4:{s:1:"C";s:2:"36";s:2:"WX";s:3:"500";s:1:"N";s:6:"dollar";s:1:"B";a:4:{i:0;s:2:"31";i:1;s:3:"-89";i:2;s:3:"497";i:3;s:3:"731";}}s:6:"dollar";a:4:{s:1:"C";s:2:"36";s:2:"WX";s:3:"500";s:1:"N";s:6:"dollar";s:1:"B";a:4:{i:0;s:2:"31";i:1;s:3:"-89";i:2;s:3:"497";i:3;s:3:"731";}}i:37;a:4:{s:1:"C";s:2:"37";s:2:"WX";s:3:"833";s:1:"N";s:7:"percent";s:1:"B";a:4:{i:0;s:2:"79";i:1;s:3:"-13";i:2;s:3:"790";i:3;s:3:"676";}}s:7:"percent";a:4:{s:1:"C";s:2:"37";s:2:"WX";s:3:"833";s:1:"N";s:7:"percent";s:1:"B";a:4:{i:0;s:2:"79";i:1;s:3:"-13";i:2;s:3:"790";i:3;s:3:"676";}}i:38;a:4:{s:1:"C";s:2:"38";s:2:"WX";s:3:"778";s:1:"N";s:9:"ampersand";s:1:"B";a:4:{i:0;s:2:"76";i:1;s:3:"-18";i:2;s:3:"723";i:3;s:3:"666";}}s:9:"ampersand";a:4:{s:1:"C";s:2:"38";s:2:"WX";s:3:"778";s:1:"N";s:9:"ampersand";s:1:"B";a:4:{i:0;s:2:"76";i:1;s:3:"-18";i:2;s:3:"723";i:3;s:3:"666";}}i:39;a:4:{s:1:"C";s:2:"39";s:2:"WX";s:3:"333";s:1:"N";s:10:"quoteright";s:1:"B";a:4:{i:0;s:3:"151";i:1;s:3:"436";i:2;s:3:"290";i:3;s:3:"666";}}s:10:"quoteright";a:4:{s:1:"C";s:2:"39";s:2:"WX";s:3:"333";s:1:"N";s:10:"quoteright";s:1:"B";a:4:{i:0;s:3:"151";i:1;s:3:"436";i:2;s:3:"290";i:3;s:3:"666";}}i:40;a:4:{s:1:"C";s:2:"40";s:2:"WX";s:3:"333";s:1:"N";s:9:"parenleft";s:1:"B";a:4:{i:0;s:2:"42";i:1;s:4:"-181";i:2;s:3:"315";i:3;s:3:"669";}}s:9:"parenleft";a:4:{s:1:"C";s:2:"40";s:2:"WX";s:3:"333";s:1:"N";s:9:"parenleft";s:1:"B";a:4:{i:0;s:2:"42";i:1;s:4:"-181";i:2;s:3:"315";i:3;s:3:"669";}}i:41;a:4:{s:1:"C";s:2:"41";s:2:"WX";s:3:"333";s:1:"N";s:10:"parenright";s:1:"B";a:4:{i:0;s:2:"16";i:1;s:4:"-180";i:2;s:3:"289";i:3;s:3:"669";}}s:10:"parenright";a:4:{s:1:"C";s:2:"41";s:2:"WX";s:3:"333";s:1:"N";s:10:"parenright";s:1:"B";a:4:{i:0;s:2:"16";i:1;s:4:"-180";i:2;s:3:"289";i:3;s:3:"669";}}i:42;a:4:{s:1:"C";s:2:"42";s:2:"WX";s:3:"500";s:1:"N";s:8:"asterisk";s:1:"B";a:4:{i:0;s:3:"128";i:1;s:3:"255";i:2;s:3:"492";i:3;s:3:"666";}}s:8:"asterisk";a:4:{s:1:"C";s:2:"42";s:2:"WX";s:3:"500";s:1:"N";s:8:"asterisk";s:1:"B";a:4:{i:0;s:3:"128";i:1;s:3:"255";i:2;s:3:"492";i:3;s:3:"666";}}i:43;a:4:{s:1:"C";s:2:"43";s:2:"WX";s:3:"675";s:1:"N";s:4:"plus";s:1:"B";a:4:{i:0;s:2:"86";i:1;s:1:"0";i:2;s:3:"590";i:3;s:3:"506";}}s:4:"plus";a:4:{s:1:"C";s:2:"43";s:2:"WX";s:3:"675";s:1:"N";s:4:"plus";s:1:"B";a:4:{i:0;s:2:"86";i:1;s:1:"0";i:2;s:3:"590";i:3;s:3:"506";}}i:44;a:4:{s:1:"C";s:2:"44";s:2:"WX";s:3:"250";s:1:"N";s:5:"comma";s:1:"B";a:4:{i:0;s:2:"-4";i:1;s:4:"-129";i:2;s:3:"135";i:3;s:3:"101";}}s:5:"comma";a:4:{s:1:"C";s:2:"44";s:2:"WX";s:3:"250";s:1:"N";s:5:"comma";s:1:"B";a:4:{i:0;s:2:"-4";i:1;s:4:"-129";i:2;s:3:"135";i:3;s:3:"101";}}i:45;a:4:{s:1:"C";s:2:"45";s:2:"WX";s:3:"333";s:1:"N";s:6:"hyphen";s:1:"B";a:4:{i:0;s:2:"49";i:1;s:3:"192";i:2;s:3:"282";i:3;s:3:"255";}}s:6:"hyphen";a:4:{s:1:"C";s:2:"45";s:2:"WX";s:3:"333";s:1:"N";s:6:"hyphen";s:1:"B";a:4:{i:0;s:2:"49";i:1;s:3:"192";i:2;s:3:"282";i:3;s:3:"255";}}i:46;a:4:{s:1:"C";s:2:"46";s:2:"WX";s:3:"250";s:1:"N";s:6:"period";s:1:"B";a:4:{i:0;s:2:"27";i:1;s:3:"-11";i:2;s:3:"138";i:3;s:3:"100";}}s:6:"period";a:4:{s:1:"C";s:2:"46";s:2:"WX";s:3:"250";s:1:"N";s:6:"period";s:1:"B";a:4:{i:0;s:2:"27";i:1;s:3:"-11";i:2;s:3:"138";i:3;s:3:"100";}}i:47;a:4:{s:1:"C";s:2:"47";s:2:"WX";s:3:"278";s:1:"N";s:5:"slash";s:1:"B";a:4:{i:0;s:3:"-65";i:1;s:3:"-18";i:2;s:3:"386";i:3;s:3:"666";}}s:5:"slash";a:4:{s:1:"C";s:2:"47";s:2:"WX";s:3:"278";s:1:"N";s:5:"slash";s:1:"B";a:4:{i:0;s:3:"-65";i:1;s:3:"-18";i:2;s:3:"386";i:3;s:3:"666";}}i:48;a:4:{s:1:"C";s:2:"48";s:2:"WX";s:3:"500";s:1:"N";s:4:"zero";s:1:"B";a:4:{i:0;s:2:"32";i:1;s:2:"-7";i:2;s:3:"497";i:3;s:3:"676";}}s:4:"zero";a:4:{s:1:"C";s:2:"48";s:2:"WX";s:3:"500";s:1:"N";s:4:"zero";s:1:"B";a:4:{i:0;s:2:"32";i:1;s:2:"-7";i:2;s:3:"497";i:3;s:3:"676";}}i:49;a:4:{s:1:"C";s:2:"49";s:2:"WX";s:3:"500";s:1:"N";s:3:"one";s:1:"B";a:4:{i:0;s:2:"49";i:1;s:1:"0";i:2;s:3:"409";i:3;s:3:"676";}}s:3:"one";a:4:{s:1:"C";s:2:"49";s:2:"WX";s:3:"500";s:1:"N";s:3:"one";s:1:"B";a:4:{i:0;s:2:"49";i:1;s:1:"0";i:2;s:3:"409";i:3;s:3:"676";}}i:50;a:4:{s:1:"C";s:2:"50";s:2:"WX";s:3:"500";s:1:"N";s:3:"two";s:1:"B";a:4:{i:0;s:2:"12";i:1;s:1:"0";i:2;s:3:"452";i:3;s:3:"676";}}s:3:"two";a:4:{s:1:"C";s:2:"50";s:2:"WX";s:3:"500";s:1:"N";s:3:"two";s:1:"B";a:4:{i:0;s:2:"12";i:1;s:1:"0";i:2;s:3:"452";i:3;s:3:"676";}}i:51;a:4:{s:1:"C";s:2:"51";s:2:"WX";s:3:"500";s:1:"N";s:5:"three";s:1:"B";a:4:{i:0;s:2:"15";i:1;s:2:"-7";i:2;s:3:"465";i:3;s:3:"676";}}s:5:"three";a:4:{s:1:"C";s:2:"51";s:2:"WX";s:3:"500";s:1:"N";s:5:"three";s:1:"B";a:4:{i:0;s:2:"15";i:1;s:2:"-7";i:2;s:3:"465";i:3;s:3:"676";}}i:52;a:4:{s:1:"C";s:2:"52";s:2:"WX";s:3:"500";s:1:"N";s:4:"four";s:1:"B";a:4:{i:0;s:1:"1";i:1;s:1:"0";i:2;s:3:"479";i:3;s:3:"676";}}s:4:"four";a:4:{s:1:"C";s:2:"52";s:2:"WX";s:3:"500";s:1:"N";s:4:"four";s:1:"B";a:4:{i:0;s:1:"1";i:1;s:1:"0";i:2;s:3:"479";i:3;s:3:"676";}}i:53;a:4:{s:1:"C";s:2:"53";s:2:"WX";s:3:"500";s:1:"N";s:4:"five";s:1:"B";a:4:{i:0;s:2:"15";i:1;s:2:"-7";i:2;s:3:"491";i:3;s:3:"666";}}s:4:"five";a:4:{s:1:"C";s:2:"53";s:2:"WX";s:3:"500";s:1:"N";s:4:"five";s:1:"B";a:4:{i:0;s:2:"15";i:1;s:2:"-7";i:2;s:3:"491";i:3;s:3:"666";}}i:54;a:4:{s:1:"C";s:2:"54";s:2:"WX";s:3:"500";s:1:"N";s:3:"six";s:1:"B";a:4:{i:0;s:2:"30";i:1;s:2:"-7";i:2;s:3:"521";i:3;s:3:"686";}}s:3:"six";a:4:{s:1:"C";s:2:"54";s:2:"WX";s:3:"500";s:1:"N";s:3:"six";s:1:"B";a:4:{i:0;s:2:"30";i:1;s:2:"-7";i:2;s:3:"521";i:3;s:3:"686";}}i:55;a:4:{s:1:"C";s:2:"55";s:2:"WX";s:3:"500";s:1:"N";s:5:"seven";s:1:"B";a:4:{i:0;s:2:"75";i:1;s:2:"-8";i:2;s:3:"537";i:3;s:3:"666";}}s:5:"seven";a:4:{s:1:"C";s:2:"55";s:2:"WX";s:3:"500";s:1:"N";s:5:"seven";s:1:"B";a:4:{i:0;s:2:"75";i:1;s:2:"-8";i:2;s:3:"537";i:3;s:3:"666";}}i:56;a:4:{s:1:"C";s:2:"56";s:2:"WX";s:3:"500";s:1:"N";s:5:"eight";s:1:"B";a:4:{i:0;s:2:"30";i:1;s:2:"-7";i:2;s:3:"493";i:3;s:3:"676";}}s:5:"eight";a:4:{s:1:"C";s:2:"56";s:2:"WX";s:3:"500";s:1:"N";s:5:"eight";s:1:"B";a:4:{i:0;s:2:"30";i:1;s:2:"-7";i:2;s:3:"493";i:3;s:3:"676";}}i:57;a:4:{s:1:"C";s:2:"57";s:2:"WX";s:3:"500";s:1:"N";s:4:"nine";s:1:"B";a:4:{i:0;s:2:"23";i:1;s:3:"-17";i:2;s:3:"492";i:3;s:3:"676";}}s:4:"nine";a:4:{s:1:"C";s:2:"57";s:2:"WX";s:3:"500";s:1:"N";s:4:"nine";s:1:"B";a:4:{i:0;s:2:"23";i:1;s:3:"-17";i:2;s:3:"492";i:3;s:3:"676";}}i:58;a:4:{s:1:"C";s:2:"58";s:2:"WX";s:3:"333";s:1:"N";s:5:"colon";s:1:"B";a:4:{i:0;s:2:"50";i:1;s:3:"-11";i:2;s:3:"261";i:3;s:3:"441";}}s:5:"colon";a:4:{s:1:"C";s:2:"58";s:2:"WX";s:3:"333";s:1:"N";s:5:"colon";s:1:"B";a:4:{i:0;s:2:"50";i:1;s:3:"-11";i:2;s:3:"261";i:3;s:3:"441";}}i:59;a:4:{s:1:"C";s:2:"59";s:2:"WX";s:3:"333";s:1:"N";s:9:"semicolon";s:1:"B";a:4:{i:0;s:2:"27";i:1;s:4:"-129";i:2;s:3:"261";i:3;s:3:"441";}}s:9:"semicolon";a:4:{s:1:"C";s:2:"59";s:2:"WX";s:3:"333";s:1:"N";s:9:"semicolon";s:1:"B";a:4:{i:0;s:2:"27";i:1;s:4:"-129";i:2;s:3:"261";i:3;s:3:"441";}}i:60;a:4:{s:1:"C";s:2:"60";s:2:"WX";s:3:"675";s:1:"N";s:4:"less";s:1:"B";a:4:{i:0;s:2:"84";i:1;s:2:"-8";i:2;s:3:"592";i:3;s:3:"514";}}s:4:"less";a:4:{s:1:"C";s:2:"60";s:2:"WX";s:3:"675";s:1:"N";s:4:"less";s:1:"B";a:4:{i:0;s:2:"84";i:1;s:2:"-8";i:2;s:3:"592";i:3;s:3:"514";}}i:61;a:4:{s:1:"C";s:2:"61";s:2:"WX";s:3:"675";s:1:"N";s:5:"equal";s:1:"B";a:4:{i:0;s:2:"86";i:1;s:3:"120";i:2;s:3:"590";i:3;s:3:"386";}}s:5:"equal";a:4:{s:1:"C";s:2:"61";s:2:"WX";s:3:"675";s:1:"N";s:5:"equal";s:1:"B";a:4:{i:0;s:2:"86";i:1;s:3:"120";i:2;s:3:"590";i:3;s:3:"386";}}i:62;a:4:{s:1:"C";s:2:"62";s:2:"WX";s:3:"675";s:1:"N";s:7:"greater";s:1:"B";a:4:{i:0;s:2:"84";i:1;s:2:"-8";i:2;s:3:"592";i:3;s:3:"514";}}s:7:"greater";a:4:{s:1:"C";s:2:"62";s:2:"WX";s:3:"675";s:1:"N";s:7:"greater";s:1:"B";a:4:{i:0;s:2:"84";i:1;s:2:"-8";i:2;s:3:"592";i:3;s:3:"514";}}i:63;a:4:{s:1:"C";s:2:"63";s:2:"WX";s:3:"500";s:1:"N";s:8:"question";s:1:"B";a:4:{i:0;s:3:"132";i:1;s:3:"-12";i:2;s:3:"472";i:3;s:3:"664";}}s:8:"question";a:4:{s:1:"C";s:2:"63";s:2:"WX";s:3:"500";s:1:"N";s:8:"question";s:1:"B";a:4:{i:0;s:3:"132";i:1;s:3:"-12";i:2;s:3:"472";i:3;s:3:"664";}}i:64;a:4:{s:1:"C";s:2:"64";s:2:"WX";s:3:"920";s:1:"N";s:2:"at";s:1:"B";a:4:{i:0;s:3:"118";i:1;s:3:"-18";i:2;s:3:"806";i:3;s:3:"666";}}s:2:"at";a:4:{s:1:"C";s:2:"64";s:2:"WX";s:3:"920";s:1:"N";s:2:"at";s:1:"B";a:4:{i:0;s:3:"118";i:1;s:3:"-18";i:2;s:3:"806";i:3;s:3:"666";}}i:65;a:4:{s:1:"C";s:2:"65";s:2:"WX";s:3:"611";s:1:"N";s:1:"A";s:1:"B";a:4:{i:0;s:3:"-51";i:1;s:1:"0";i:2;s:3:"564";i:3;s:3:"668";}}s:1:"A";a:4:{s:1:"C";s:2:"65";s:2:"WX";s:3:"611";s:1:"N";s:1:"A";s:1:"B";a:4:{i:0;s:3:"-51";i:1;s:1:"0";i:2;s:3:"564";i:3;s:3:"668";}}i:66;a:4:{s:1:"C";s:2:"66";s:2:"WX";s:3:"611";s:1:"N";s:1:"B";s:1:"B";a:4:{i:0;s:2:"-8";i:1;s:1:"0";i:2;s:3:"588";i:3;s:3:"653";}}s:1:"B";a:4:{s:1:"C";s:2:"66";s:2:"WX";s:3:"611";s:1:"N";s:1:"B";s:1:"B";a:4:{i:0;s:2:"-8";i:1;s:1:"0";i:2;s:3:"588";i:3;s:3:"653";}}i:67;a:4:{s:1:"C";s:2:"67";s:2:"WX";s:3:"667";s:1:"N";s:1:"C";s:1:"B";a:4:{i:0;s:2:"66";i:1;s:3:"-18";i:2;s:3:"689";i:3;s:3:"666";}}s:1:"C";a:4:{s:1:"C";s:2:"67";s:2:"WX";s:3:"667";s:1:"N";s:1:"C";s:1:"B";a:4:{i:0;s:2:"66";i:1;s:3:"-18";i:2;s:3:"689";i:3;s:3:"666";}}i:68;a:4:{s:1:"C";s:2:"68";s:2:"WX";s:3:"722";s:1:"N";s:1:"D";s:1:"B";a:4:{i:0;s:2:"-8";i:1;s:1:"0";i:2;s:3:"700";i:3;s:3:"653";}}s:1:"D";a:4:{s:1:"C";s:2:"68";s:2:"WX";s:3:"722";s:1:"N";s:1:"D";s:1:"B";a:4:{i:0;s:2:"-8";i:1;s:1:"0";i:2;s:3:"700";i:3;s:3:"653";}}i:69;a:4:{s:1:"C";s:2:"69";s:2:"WX";s:3:"611";s:1:"N";s:1:"E";s:1:"B";a:4:{i:0;s:2:"-1";i:1;s:1:"0";i:2;s:3:"634";i:3;s:3:"653";}}s:1:"E";a:4:{s:1:"C";s:2:"69";s:2:"WX";s:3:"611";s:1:"N";s:1:"E";s:1:"B";a:4:{i:0;s:2:"-1";i:1;s:1:"0";i:2;s:3:"634";i:3;s:3:"653";}}i:70;a:4:{s:1:"C";s:2:"70";s:2:"WX";s:3:"611";s:1:"N";s:1:"F";s:1:"B";a:4:{i:0;s:1:"8";i:1;s:1:"0";i:2;s:3:"645";i:3;s:3:"653";}}s:1:"F";a:4:{s:1:"C";s:2:"70";s:2:"WX";s:3:"611";s:1:"N";s:1:"F";s:1:"B";a:4:{i:0;s:1:"8";i:1;s:1:"0";i:2;s:3:"645";i:3;s:3:"653";}}i:71;a:4:{s:1:"C";s:2:"71";s:2:"WX";s:3:"722";s:1:"N";s:1:"G";s:1:"B";a:4:{i:0;s:2:"52";i:1;s:3:"-18";i:2;s:3:"722";i:3;s:3:"666";}}s:1:"G";a:4:{s:1:"C";s:2:"71";s:2:"WX";s:3:"722";s:1:"N";s:1:"G";s:1:"B";a:4:{i:0;s:2:"52";i:1;s:3:"-18";i:2;s:3:"722";i:3;s:3:"666";}}i:72;a:4:{s:1:"C";s:2:"72";s:2:"WX";s:3:"722";s:1:"N";s:1:"H";s:1:"B";a:4:{i:0;s:2:"-8";i:1;s:1:"0";i:2;s:3:"767";i:3;s:3:"653";}}s:1:"H";a:4:{s:1:"C";s:2:"72";s:2:"WX";s:3:"722";s:1:"N";s:1:"H";s:1:"B";a:4:{i:0;s:2:"-8";i:1;s:1:"0";i:2;s:3:"767";i:3;s:3:"653";}}i:73;a:4:{s:1:"C";s:2:"73";s:2:"WX";s:3:"333";s:1:"N";s:1:"I";s:1:"B";a:4:{i:0;s:2:"-8";i:1;s:1:"0";i:2;s:3:"384";i:3;s:3:"653";}}s:1:"I";a:4:{s:1:"C";s:2:"73";s:2:"WX";s:3:"333";s:1:"N";s:1:"I";s:1:"B";a:4:{i:0;s:2:"-8";i:1;s:1:"0";i:2;s:3:"384";i:3;s:3:"653";}}i:74;a:4:{s:1:"C";s:2:"74";s:2:"WX";s:3:"444";s:1:"N";s:1:"J";s:1:"B";a:4:{i:0;s:2:"-6";i:1;s:3:"-18";i:2;s:3:"491";i:3;s:3:"653";}}s:1:"J";a:4:{s:1:"C";s:2:"74";s:2:"WX";s:3:"444";s:1:"N";s:1:"J";s:1:"B";a:4:{i:0;s:2:"-6";i:1;s:3:"-18";i:2;s:3:"491";i:3;s:3:"653";}}i:75;a:4:{s:1:"C";s:2:"75";s:2:"WX";s:3:"667";s:1:"N";s:1:"K";s:1:"B";a:4:{i:0;s:1:"7";i:1;s:1:"0";i:2;s:3:"722";i:3;s:3:"653";}}s:1:"K";a:4:{s:1:"C";s:2:"75";s:2:"WX";s:3:"667";s:1:"N";s:1:"K";s:1:"B";a:4:{i:0;s:1:"7";i:1;s:1:"0";i:2;s:3:"722";i:3;s:3:"653";}}i:76;a:4:{s:1:"C";s:2:"76";s:2:"WX";s:3:"556";s:1:"N";s:1:"L";s:1:"B";a:4:{i:0;s:2:"-8";i:1;s:1:"0";i:2;s:3:"559";i:3;s:3:"653";}}s:1:"L";a:4:{s:1:"C";s:2:"76";s:2:"WX";s:3:"556";s:1:"N";s:1:"L";s:1:"B";a:4:{i:0;s:2:"-8";i:1;s:1:"0";i:2;s:3:"559";i:3;s:3:"653";}}i:77;a:4:{s:1:"C";s:2:"77";s:2:"WX";s:3:"833";s:1:"N";s:1:"M";s:1:"B";a:4:{i:0;s:3:"-18";i:1;s:1:"0";i:2;s:3:"873";i:3;s:3:"653";}}s:1:"M";a:4:{s:1:"C";s:2:"77";s:2:"WX";s:3:"833";s:1:"N";s:1:"M";s:1:"B";a:4:{i:0;s:3:"-18";i:1;s:1:"0";i:2;s:3:"873";i:3;s:3:"653";}}i:78;a:4:{s:1:"C";s:2:"78";s:2:"WX";s:3:"667";s:1:"N";s:1:"N";s:1:"B";a:4:{i:0;s:3:"-20";i:1;s:3:"-15";i:2;s:3:"727";i:3;s:3:"653";}}s:1:"N";a:4:{s:1:"C";s:2:"78";s:2:"WX";s:3:"667";s:1:"N";s:1:"N";s:1:"B";a:4:{i:0;s:3:"-20";i:1;s:3:"-15";i:2;s:3:"727";i:3;s:3:"653";}}i:79;a:4:{s:1:"C";s:2:"79";s:2:"WX";s:3:"722";s:1:"N";s:1:"O";s:1:"B";a:4:{i:0;s:2:"60";i:1;s:3:"-18";i:2;s:3:"699";i:3;s:3:"666";}}s:1:"O";a:4:{s:1:"C";s:2:"79";s:2:"WX";s:3:"722";s:1:"N";s:1:"O";s:1:"B";a:4:{i:0;s:2:"60";i:1;s:3:"-18";i:2;s:3:"699";i:3;s:3:"666";}}i:80;a:4:{s:1:"C";s:2:"80";s:2:"WX";s:3:"611";s:1:"N";s:1:"P";s:1:"B";a:4:{i:0;s:1:"0";i:1;s:1:"0";i:2;s:3:"605";i:3;s:3:"653";}}s:1:"P";a:4:{s:1:"C";s:2:"80";s:2:"WX";s:3:"611";s:1:"N";s:1:"P";s:1:"B";a:4:{i:0;s:1:"0";i:1;s:1:"0";i:2;s:3:"605";i:3;s:3:"653";}}i:81;a:4:{s:1:"C";s:2:"81";s:2:"WX";s:3:"722";s:1:"N";s:1:"Q";s:1:"B";a:4:{i:0;s:2:"59";i:1;s:4:"-182";i:2;s:3:"699";i:3;s:3:"666";}}s:1:"Q";a:4:{s:1:"C";s:2:"81";s:2:"WX";s:3:"722";s:1:"N";s:1:"Q";s:1:"B";a:4:{i:0;s:2:"59";i:1;s:4:"-182";i:2;s:3:"699";i:3;s:3:"666";}}i:82;a:4:{s:1:"C";s:2:"82";s:2:"WX";s:3:"611";s:1:"N";s:1:"R";s:1:"B";a:4:{i:0;s:3:"-13";i:1;s:1:"0";i:2;s:3:"588";i:3;s:3:"653";}}s:1:"R";a:4:{s:1:"C";s:2:"82";s:2:"WX";s:3:"611";s:1:"N";s:1:"R";s:1:"B";a:4:{i:0;s:3:"-13";i:1;s:1:"0";i:2;s:3:"588";i:3;s:3:"653";}}i:83;a:4:{s:1:"C";s:2:"83";s:2:"WX";s:3:"500";s:1:"N";s:1:"S";s:1:"B";a:4:{i:0;s:2:"17";i:1;s:3:"-18";i:2;s:3:"508";i:3;s:3:"667";}}s:1:"S";a:4:{s:1:"C";s:2:"83";s:2:"WX";s:3:"500";s:1:"N";s:1:"S";s:1:"B";a:4:{i:0;s:2:"17";i:1;s:3:"-18";i:2;s:3:"508";i:3;s:3:"667";}}i:84;a:4:{s:1:"C";s:2:"84";s:2:"WX";s:3:"556";s:1:"N";s:1:"T";s:1:"B";a:4:{i:0;s:2:"59";i:1;s:1:"0";i:2;s:3:"633";i:3;s:3:"653";}}s:1:"T";a:4:{s:1:"C";s:2:"84";s:2:"WX";s:3:"556";s:1:"N";s:1:"T";s:1:"B";a:4:{i:0;s:2:"59";i:1;s:1:"0";i:2;s:3:"633";i:3;s:3:"653";}}i:85;a:4:{s:1:"C";s:2:"85";s:2:"WX";s:3:"722";s:1:"N";s:1:"U";s:1:"B";a:4:{i:0;s:3:"102";i:1;s:3:"-18";i:2;s:3:"765";i:3;s:3:"653";}}s:1:"U";a:4:{s:1:"C";s:2:"85";s:2:"WX";s:3:"722";s:1:"N";s:1:"U";s:1:"B";a:4:{i:0;s:3:"102";i:1;s:3:"-18";i:2;s:3:"765";i:3;s:3:"653";}}i:86;a:4:{s:1:"C";s:2:"86";s:2:"WX";s:3:"611";s:1:"N";s:1:"V";s:1:"B";a:4:{i:0;s:2:"76";i:1;s:3:"-18";i:2;s:3:"688";i:3;s:3:"653";}}s:1:"V";a:4:{s:1:"C";s:2:"86";s:2:"WX";s:3:"611";s:1:"N";s:1:"V";s:1:"B";a:4:{i:0;s:2:"76";i:1;s:3:"-18";i:2;s:3:"688";i:3;s:3:"653";}}i:87;a:4:{s:1:"C";s:2:"87";s:2:"WX";s:3:"833";s:1:"N";s:1:"W";s:1:"B";a:4:{i:0;s:2:"71";i:1;s:3:"-18";i:2;s:3:"906";i:3;s:3:"653";}}s:1:"W";a:4:{s:1:"C";s:2:"87";s:2:"WX";s:3:"833";s:1:"N";s:1:"W";s:1:"B";a:4:{i:0;s:2:"71";i:1;s:3:"-18";i:2;s:3:"906";i:3;s:3:"653";}}i:88;a:4:{s:1:"C";s:2:"88";s:2:"WX";s:3:"611";s:1:"N";s:1:"X";s:1:"B";a:4:{i:0;s:3:"-29";i:1;s:1:"0";i:2;s:3:"655";i:3;s:3:"653";}}s:1:"X";a:4:{s:1:"C";s:2:"88";s:2:"WX";s:3:"611";s:1:"N";s:1:"X";s:1:"B";a:4:{i:0;s:3:"-29";i:1;s:1:"0";i:2;s:3:"655";i:3;s:3:"653";}}i:89;a:4:{s:1:"C";s:2:"89";s:2:"WX";s:3:"556";s:1:"N";s:1:"Y";s:1:"B";a:4:{i:0;s:2:"78";i:1;s:1:"0";i:2;s:3:"633";i:3;s:3:"653";}}s:1:"Y";a:4:{s:1:"C";s:2:"89";s:2:"WX";s:3:"556";s:1:"N";s:1:"Y";s:1:"B";a:4:{i:0;s:2:"78";i:1;s:1:"0";i:2;s:3:"633";i:3;s:3:"653";}}i:90;a:4:{s:1:"C";s:2:"90";s:2:"WX";s:3:"556";s:1:"N";s:1:"Z";s:1:"B";a:4:{i:0;s:2:"-6";i:1;s:1:"0";i:2;s:3:"606";i:3;s:3:"653";}}s:1:"Z";a:4:{s:1:"C";s:2:"90";s:2:"WX";s:3:"556";s:1:"N";s:1:"Z";s:1:"B";a:4:{i:0;s:2:"-6";i:1;s:1:"0";i:2;s:3:"606";i:3;s:3:"653";}}i:91;a:4:{s:1:"C";s:2:"91";s:2:"WX";s:3:"389";s:1:"N";s:11:"bracketleft";s:1:"B";a:4:{i:0;s:2:"21";i:1;s:4:"-153";i:2;s:3:"391";i:3;s:3:"663";}}s:11:"bracketleft";a:4:{s:1:"C";s:2:"91";s:2:"WX";s:3:"389";s:1:"N";s:11:"bracketleft";s:1:"B";a:4:{i:0;s:2:"21";i:1;s:4:"-153";i:2;s:3:"391";i:3;s:3:"663";}}i:92;a:4:{s:1:"C";s:2:"92";s:2:"WX";s:3:"278";s:1:"N";s:9:"backslash";s:1:"B";a:4:{i:0;s:3:"-41";i:1;s:3:"-18";i:2;s:3:"319";i:3;s:3:"666";}}s:9:"backslash";a:4:{s:1:"C";s:2:"92";s:2:"WX";s:3:"278";s:1:"N";s:9:"backslash";s:1:"B";a:4:{i:0;s:3:"-41";i:1;s:3:"-18";i:2;s:3:"319";i:3;s:3:"666";}}i:93;a:4:{s:1:"C";s:2:"93";s:2:"WX";s:3:"389";s:1:"N";s:12:"bracketright";s:1:"B";a:4:{i:0;s:2:"12";i:1;s:4:"-153";i:2;s:3:"382";i:3;s:3:"663";}}s:12:"bracketright";a:4:{s:1:"C";s:2:"93";s:2:"WX";s:3:"389";s:1:"N";s:12:"bracketright";s:1:"B";a:4:{i:0;s:2:"12";i:1;s:4:"-153";i:2;s:3:"382";i:3;s:3:"663";}}i:94;a:4:{s:1:"C";s:2:"94";s:2:"WX";s:3:"422";s:1:"N";s:11:"asciicircum";s:1:"B";a:4:{i:0;s:1:"0";i:1;s:3:"301";i:2;s:3:"422";i:3;s:3:"666";}}s:11:"asciicircum";a:4:{s:1:"C";s:2:"94";s:2:"WX";s:3:"422";s:1:"N";s:11:"asciicircum";s:1:"B";a:4:{i:0;s:1:"0";i:1;s:3:"301";i:2;s:3:"422";i:3;s:3:"666";}}i:95;a:4:{s:1:"C";s:2:"95";s:2:"WX";s:3:"500";s:1:"N";s:10:"underscore";s:1:"B";a:4:{i:0;s:1:"0";i:1;s:4:"-125";i:2;s:3:"500";i:3;s:3:"-75";}}s:10:"underscore";a:4:{s:1:"C";s:2:"95";s:2:"WX";s:3:"500";s:1:"N";s:10:"underscore";s:1:"B";a:4:{i:0;s:1:"0";i:1;s:4:"-125";i:2;s:3:"500";i:3;s:3:"-75";}}i:96;a:4:{s:1:"C";s:2:"96";s:2:"WX";s:3:"333";s:1:"N";s:9:"quoteleft";s:1:"B";a:4:{i:0;s:3:"171";i:1;s:3:"436";i:2;s:3:"310";i:3;s:3:"666";}}s:9:"quoteleft";a:4:{s:1:"C";s:2:"96";s:2:"WX";s:3:"333";s:1:"N";s:9:"quoteleft";s:1:"B";a:4:{i:0;s:3:"171";i:1;s:3:"436";i:2;s:3:"310";i:3;s:3:"666";}}i:97;a:4:{s:1:"C";s:2:"97";s:2:"WX";s:3:"500";s:1:"N";s:1:"a";s:1:"B";a:4:{i:0;s:2:"17";i:1;s:3:"-11";i:2;s:3:"476";i:3;s:3:"441";}}s:1:"a";a:4:{s:1:"C";s:2:"97";s:2:"WX";s:3:"500";s:1:"N";s:1:"a";s:1:"B";a:4:{i:0;s:2:"17";i:1;s:3:"-11";i:2;s:3:"476";i:3;s:3:"441";}}i:98;a:4:{s:1:"C";s:2:"98";s:2:"WX";s:3:"500";s:1:"N";s:1:"b";s:1:"B";a:4:{i:0;s:2:"23";i:1;s:3:"-11";i:2;s:3:"473";i:3;s:3:"683";}}s:1:"b";a:4:{s:1:"C";s:2:"98";s:2:"WX";s:3:"500";s:1:"N";s:1:"b";s:1:"B";a:4:{i:0;s:2:"23";i:1;s:3:"-11";i:2;s:3:"473";i:3;s:3:"683";}}i:99;a:4:{s:1:"C";s:2:"99";s:2:"WX";s:3:"444";s:1:"N";s:1:"c";s:1:"B";a:4:{i:0;s:2:"30";i:1;s:3:"-11";i:2;s:3:"425";i:3;s:3:"441";}}s:1:"c";a:4:{s:1:"C";s:2:"99";s:2:"WX";s:3:"444";s:1:"N";s:1:"c";s:1:"B";a:4:{i:0;s:2:"30";i:1;s:3:"-11";i:2;s:3:"425";i:3;s:3:"441";}}i:100;a:4:{s:1:"C";s:3:"100";s:2:"WX";s:3:"500";s:1:"N";s:1:"d";s:1:"B";a:4:{i:0;s:2:"15";i:1;s:3:"-13";i:2;s:3:"527";i:3;s:3:"683";}}s:1:"d";a:4:{s:1:"C";s:3:"100";s:2:"WX";s:3:"500";s:1:"N";s:1:"d";s:1:"B";a:4:{i:0;s:2:"15";i:1;s:3:"-13";i:2;s:3:"527";i:3;s:3:"683";}}i:101;a:4:{s:1:"C";s:3:"101";s:2:"WX";s:3:"444";s:1:"N";s:1:"e";s:1:"B";a:4:{i:0;s:2:"31";i:1;s:3:"-11";i:2;s:3:"412";i:3;s:3:"441";}}s:1:"e";a:4:{s:1:"C";s:3:"101";s:2:"WX";s:3:"444";s:1:"N";s:1:"e";s:1:"B";a:4:{i:0;s:2:"31";i:1;s:3:"-11";i:2;s:3:"412";i:3;s:3:"441";}}i:102;a:5:{s:1:"C";s:3:"102";s:2:"WX";s:3:"278";s:1:"N";s:1:"f";s:1:"B";a:4:{i:0;s:4:"-147";i:1;s:4:"-207";i:2;s:3:"424";i:3;s:3:"678";}s:1:"L";a:2:{i:0;s:1:"l";i:1;s:2:"fl";}}s:1:"f";a:5:{s:1:"C";s:3:"102";s:2:"WX";s:3:"278";s:1:"N";s:1:"f";s:1:"B";a:4:{i:0;s:4:"-147";i:1;s:4:"-207";i:2;s:3:"424";i:3;s:3:"678";}s:1:"L";a:2:{i:0;s:1:"l";i:1;s:2:"fl";}}i:103;a:4:{s:1:"C";s:3:"103";s:2:"WX";s:3:"500";s:1:"N";s:1:"g";s:1:"B";a:4:{i:0;s:1:"8";i:1;s:4:"-206";i:2;s:3:"472";i:3;s:3:"441";}}s:1:"g";a:4:{s:1:"C";s:3:"103";s:2:"WX";s:3:"500";s:1:"N";s:1:"g";s:1:"B";a:4:{i:0;s:1:"8";i:1;s:4:"-206";i:2;s:3:"472";i:3;s:3:"441";}}i:104;a:4:{s:1:"C";s:3:"104";s:2:"WX";s:3:"500";s:1:"N";s:1:"h";s:1:"B";a:4:{i:0;s:2:"19";i:1;s:2:"-9";i:2;s:3:"478";i:3;s:3:"683";}}s:1:"h";a:4:{s:1:"C";s:3:"104";s:2:"WX";s:3:"500";s:1:"N";s:1:"h";s:1:"B";a:4:{i:0;s:2:"19";i:1;s:2:"-9";i:2;s:3:"478";i:3;s:3:"683";}}i:105;a:4:{s:1:"C";s:3:"105";s:2:"WX";s:3:"278";s:1:"N";s:1:"i";s:1:"B";a:4:{i:0;s:2:"49";i:1;s:3:"-11";i:2;s:3:"264";i:3;s:3:"654";}}s:1:"i";a:4:{s:1:"C";s:3:"105";s:2:"WX";s:3:"278";s:1:"N";s:1:"i";s:1:"B";a:4:{i:0;s:2:"49";i:1;s:3:"-11";i:2;s:3:"264";i:3;s:3:"654";}}i:106;a:4:{s:1:"C";s:3:"106";s:2:"WX";s:3:"278";s:1:"N";s:1:"j";s:1:"B";a:4:{i:0;s:4:"-124";i:1;s:4:"-207";i:2;s:3:"276";i:3;s:3:"654";}}s:1:"j";a:4:{s:1:"C";s:3:"106";s:2:"WX";s:3:"278";s:1:"N";s:1:"j";s:1:"B";a:4:{i:0;s:4:"-124";i:1;s:4:"-207";i:2;s:3:"276";i:3;s:3:"654";}}i:107;a:4:{s:1:"C";s:3:"107";s:2:"WX";s:3:"444";s:1:"N";s:1:"k";s:1:"B";a:4:{i:0;s:2:"14";i:1;s:3:"-11";i:2;s:3:"461";i:3;s:3:"683";}}s:1:"k";a:4:{s:1:"C";s:3:"107";s:2:"WX";s:3:"444";s:1:"N";s:1:"k";s:1:"B";a:4:{i:0;s:2:"14";i:1;s:3:"-11";i:2;s:3:"461";i:3;s:3:"683";}}i:108;a:4:{s:1:"C";s:3:"108";s:2:"WX";s:3:"278";s:1:"N";s:1:"l";s:1:"B";a:4:{i:0;s:2:"41";i:1;s:3:"-11";i:2;s:3:"279";i:3;s:3:"683";}}s:1:"l";a:4:{s:1:"C";s:3:"108";s:2:"WX";s:3:"278";s:1:"N";s:1:"l";s:1:"B";a:4:{i:0;s:2:"41";i:1;s:3:"-11";i:2;s:3:"279";i:3;s:3:"683";}}i:109;a:4:{s:1:"C";s:3:"109";s:2:"WX";s:3:"722";s:1:"N";s:1:"m";s:1:"B";a:4:{i:0;s:2:"12";i:1;s:2:"-9";i:2;s:3:"704";i:3;s:3:"441";}}s:1:"m";a:4:{s:1:"C";s:3:"109";s:2:"WX";s:3:"722";s:1:"N";s:1:"m";s:1:"B";a:4:{i:0;s:2:"12";i:1;s:2:"-9";i:2;s:3:"704";i:3;s:3:"441";}}i:110;a:4:{s:1:"C";s:3:"110";s:2:"WX";s:3:"500";s:1:"N";s:1:"n";s:1:"B";a:4:{i:0;s:2:"14";i:1;s:2:"-9";i:2;s:3:"474";i:3;s:3:"441";}}s:1:"n";a:4:{s:1:"C";s:3:"110";s:2:"WX";s:3:"500";s:1:"N";s:1:"n";s:1:"B";a:4:{i:0;s:2:"14";i:1;s:2:"-9";i:2;s:3:"474";i:3;s:3:"441";}}i:111;a:4:{s:1:"C";s:3:"111";s:2:"WX";s:3:"500";s:1:"N";s:1:"o";s:1:"B";a:4:{i:0;s:2:"27";i:1;s:3:"-11";i:2;s:3:"468";i:3;s:3:"441";}}s:1:"o";a:4:{s:1:"C";s:3:"111";s:2:"WX";s:3:"500";s:1:"N";s:1:"o";s:1:"B";a:4:{i:0;s:2:"27";i:1;s:3:"-11";i:2;s:3:"468";i:3;s:3:"441";}}i:112;a:4:{s:1:"C";s:3:"112";s:2:"WX";s:3:"500";s:1:"N";s:1:"p";s:1:"B";a:4:{i:0;s:3:"-75";i:1;s:4:"-205";i:2;s:3:"469";i:3;s:3:"441";}}s:1:"p";a:4:{s:1:"C";s:3:"112";s:2:"WX";s:3:"500";s:1:"N";s:1:"p";s:1:"B";a:4:{i:0;s:3:"-75";i:1;s:4:"-205";i:2;s:3:"469";i:3;s:3:"441";}}i:113;a:4:{s:1:"C";s:3:"113";s:2:"WX";s:3:"500";s:1:"N";s:1:"q";s:1:"B";a:4:{i:0;s:2:"25";i:1;s:4:"-209";i:2;s:3:"483";i:3;s:3:"441";}}s:1:"q";a:4:{s:1:"C";s:3:"113";s:2:"WX";s:3:"500";s:1:"N";s:1:"q";s:1:"B";a:4:{i:0;s:2:"25";i:1;s:4:"-209";i:2;s:3:"483";i:3;s:3:"441";}}i:114;a:4:{s:1:"C";s:3:"114";s:2:"WX";s:3:"389";s:1:"N";s:1:"r";s:1:"B";a:4:{i:0;s:2:"45";i:1;s:1:"0";i:2;s:3:"412";i:3;s:3:"441";}}s:1:"r";a:4:{s:1:"C";s:3:"114";s:2:"WX";s:3:"389";s:1:"N";s:1:"r";s:1:"B";a:4:{i:0;s:2:"45";i:1;s:1:"0";i:2;s:3:"412";i:3;s:3:"441";}}i:115;a:4:{s:1:"C";s:3:"115";s:2:"WX";s:3:"389";s:1:"N";s:1:"s";s:1:"B";a:4:{i:0;s:2:"16";i:1;s:3:"-13";i:2;s:3:"366";i:3;s:3:"442";}}s:1:"s";a:4:{s:1:"C";s:3:"115";s:2:"WX";s:3:"389";s:1:"N";s:1:"s";s:1:"B";a:4:{i:0;s:2:"16";i:1;s:3:"-13";i:2;s:3:"366";i:3;s:3:"442";}}i:116;a:4:{s:1:"C";s:3:"116";s:2:"WX";s:3:"278";s:1:"N";s:1:"t";s:1:"B";a:4:{i:0;s:2:"37";i:1;s:3:"-11";i:2;s:3:"296";i:3;s:3:"546";}}s:1:"t";a:4:{s:1:"C";s:3:"116";s:2:"WX";s:3:"278";s:1:"N";s:1:"t";s:1:"B";a:4:{i:0;s:2:"37";i:1;s:3:"-11";i:2;s:3:"296";i:3;s:3:"546";}}i:117;a:4:{s:1:"C";s:3:"117";s:2:"WX";s:3:"500";s:1:"N";s:1:"u";s:1:"B";a:4:{i:0;s:2:"42";i:1;s:3:"-11";i:2;s:3:"475";i:3;s:3:"441";}}s:1:"u";a:4:{s:1:"C";s:3:"117";s:2:"WX";s:3:"500";s:1:"N";s:1:"u";s:1:"B";a:4:{i:0;s:2:"42";i:1;s:3:"-11";i:2;s:3:"475";i:3;s:3:"441";}}i:118;a:4:{s:1:"C";s:3:"118";s:2:"WX";s:3:"444";s:1:"N";s:1:"v";s:1:"B";a:4:{i:0;s:2:"21";i:1;s:3:"-18";i:2;s:3:"426";i:3;s:3:"441";}}s:1:"v";a:4:{s:1:"C";s:3:"118";s:2:"WX";s:3:"444";s:1:"N";s:1:"v";s:1:"B";a:4:{i:0;s:2:"21";i:1;s:3:"-18";i:2;s:3:"426";i:3;s:3:"441";}}i:119;a:4:{s:1:"C";s:3:"119";s:2:"WX";s:3:"667";s:1:"N";s:1:"w";s:1:"B";a:4:{i:0;s:2:"16";i:1;s:3:"-18";i:2;s:3:"648";i:3;s:3:"441";}}s:1:"w";a:4:{s:1:"C";s:3:"119";s:2:"WX";s:3:"667";s:1:"N";s:1:"w";s:1:"B";a:4:{i:0;s:2:"16";i:1;s:3:"-18";i:2;s:3:"648";i:3;s:3:"441";}}i:120;a:4:{s:1:"C";s:3:"120";s:2:"WX";s:3:"444";s:1:"N";s:1:"x";s:1:"B";a:4:{i:0;s:3:"-27";i:1;s:3:"-11";i:2;s:3:"447";i:3;s:3:"441";}}s:1:"x";a:4:{s:1:"C";s:3:"120";s:2:"WX";s:3:"444";s:1:"N";s:1:"x";s:1:"B";a:4:{i:0;s:3:"-27";i:1;s:3:"-11";i:2;s:3:"447";i:3;s:3:"441";}}i:121;a:4:{s:1:"C";s:3:"121";s:2:"WX";s:3:"444";s:1:"N";s:1:"y";s:1:"B";a:4:{i:0;s:3:"-24";i:1;s:4:"-206";i:2;s:3:"426";i:3;s:3:"441";}}s:1:"y";a:4:{s:1:"C";s:3:"121";s:2:"WX";s:3:"444";s:1:"N";s:1:"y";s:1:"B";a:4:{i:0;s:3:"-24";i:1;s:4:"-206";i:2;s:3:"426";i:3;s:3:"441";}}i:122;a:4:{s:1:"C";s:3:"122";s:2:"WX";s:3:"389";s:1:"N";s:1:"z";s:1:"B";a:4:{i:0;s:2:"-2";i:1;s:3:"-81";i:2;s:3:"380";i:3;s:3:"428";}}s:1:"z";a:4:{s:1:"C";s:3:"122";s:2:"WX";s:3:"389";s:1:"N";s:1:"z";s:1:"B";a:4:{i:0;s:2:"-2";i:1;s:3:"-81";i:2;s:3:"380";i:3;s:3:"428";}}i:123;a:4:{s:1:"C";s:3:"123";s:2:"WX";s:3:"400";s:1:"N";s:9:"braceleft";s:1:"B";a:4:{i:0;s:2:"51";i:1;s:4:"-177";i:2;s:3:"407";i:3;s:3:"687";}}s:9:"braceleft";a:4:{s:1:"C";s:3:"123";s:2:"WX";s:3:"400";s:1:"N";s:9:"braceleft";s:1:"B";a:4:{i:0;s:2:"51";i:1;s:4:"-177";i:2;s:3:"407";i:3;s:3:"687";}}i:124;a:4:{s:1:"C";s:3:"124";s:2:"WX";s:3:"275";s:1:"N";s:3:"bar";s:1:"B";a:4:{i:0;s:3:"105";i:1;s:4:"-217";i:2;s:3:"171";i:3;s:3:"783";}}s:3:"bar";a:4:{s:1:"C";s:3:"124";s:2:"WX";s:3:"275";s:1:"N";s:3:"bar";s:1:"B";a:4:{i:0;s:3:"105";i:1;s:4:"-217";i:2;s:3:"171";i:3;s:3:"783";}}i:125;a:4:{s:1:"C";s:3:"125";s:2:"WX";s:3:"400";s:1:"N";s:10:"braceright";s:1:"B";a:4:{i:0;s:2:"-7";i:1;s:4:"-177";i:2;s:3:"349";i:3;s:3:"687";}}s:10:"braceright";a:4:{s:1:"C";s:3:"125";s:2:"WX";s:3:"400";s:1:"N";s:10:"braceright";s:1:"B";a:4:{i:0;s:2:"-7";i:1;s:4:"-177";i:2;s:3:"349";i:3;s:3:"687";}}i:126;a:4:{s:1:"C";s:3:"126";s:2:"WX";s:3:"541";s:1:"N";s:10:"asciitilde";s:1:"B";a:4:{i:0;s:2:"40";i:1;s:3:"183";i:2;s:3:"502";i:3;s:3:"323";}}s:10:"asciitilde";a:4:{s:1:"C";s:3:"126";s:2:"WX";s:3:"541";s:1:"N";s:10:"asciitilde";s:1:"B";a:4:{i:0;s:2:"40";i:1;s:3:"183";i:2;s:3:"502";i:3;s:3:"323";}}i:161;a:4:{s:1:"C";s:3:"161";s:2:"WX";s:3:"389";s:1:"N";s:10:"exclamdown";s:1:"B";a:4:{i:0;s:2:"59";i:1;s:4:"-205";i:2;s:3:"322";i:3;s:3:"473";}}s:10:"exclamdown";a:4:{s:1:"C";s:3:"161";s:2:"WX";s:3:"389";s:1:"N";s:10:"exclamdown";s:1:"B";a:4:{i:0;s:2:"59";i:1;s:4:"-205";i:2;s:3:"322";i:3;s:3:"473";}}i:162;a:4:{s:1:"C";s:3:"162";s:2:"WX";s:3:"500";s:1:"N";s:4:"cent";s:1:"B";a:4:{i:0;s:2:"77";i:1;s:4:"-143";i:2;s:3:"472";i:3;s:3:"560";}}s:4:"cent";a:4:{s:1:"C";s:3:"162";s:2:"WX";s:3:"500";s:1:"N";s:4:"cent";s:1:"B";a:4:{i:0;s:2:"77";i:1;s:4:"-143";i:2;s:3:"472";i:3;s:3:"560";}}i:163;a:4:{s:1:"C";s:3:"163";s:2:"WX";s:3:"500";s:1:"N";s:8:"sterling";s:1:"B";a:4:{i:0;s:2:"10";i:1;s:2:"-6";i:2;s:3:"517";i:3;s:3:"670";}}s:8:"sterling";a:4:{s:1:"C";s:3:"163";s:2:"WX";s:3:"500";s:1:"N";s:8:"sterling";s:1:"B";a:4:{i:0;s:2:"10";i:1;s:2:"-6";i:2;s:3:"517";i:3;s:3:"670";}}i:164;a:4:{s:1:"C";s:3:"164";s:2:"WX";s:3:"167";s:1:"N";s:8:"fraction";s:1:"B";a:4:{i:0;s:4:"-169";i:1;s:3:"-10";i:2;s:3:"337";i:3;s:3:"676";}}s:8:"fraction";a:4:{s:1:"C";s:3:"164";s:2:"WX";s:3:"167";s:1:"N";s:8:"fraction";s:1:"B";a:4:{i:0;s:4:"-169";i:1;s:3:"-10";i:2;s:3:"337";i:3;s:3:"676";}}i:165;a:4:{s:1:"C";s:3:"165";s:2:"WX";s:3:"500";s:1:"N";s:3:"yen";s:1:"B";a:4:{i:0;s:2:"27";i:1;s:1:"0";i:2;s:3:"603";i:3;s:3:"653";}}s:3:"yen";a:4:{s:1:"C";s:3:"165";s:2:"WX";s:3:"500";s:1:"N";s:3:"yen";s:1:"B";a:4:{i:0;s:2:"27";i:1;s:1:"0";i:2;s:3:"603";i:3;s:3:"653";}}i:166;a:4:{s:1:"C";s:3:"166";s:2:"WX";s:3:"500";s:1:"N";s:6:"florin";s:1:"B";a:4:{i:0;s:2:"25";i:1;s:4:"-182";i:2;s:3:"507";i:3;s:3:"682";}}s:6:"florin";a:4:{s:1:"C";s:3:"166";s:2:"WX";s:3:"500";s:1:"N";s:6:"florin";s:1:"B";a:4:{i:0;s:2:"25";i:1;s:4:"-182";i:2;s:3:"507";i:3;s:3:"682";}}i:167;a:4:{s:1:"C";s:3:"167";s:2:"WX";s:3:"500";s:1:"N";s:7:"section";s:1:"B";a:4:{i:0;s:2:"53";i:1;s:4:"-162";i:2;s:3:"461";i:3;s:3:"666";}}s:7:"section";a:4:{s:1:"C";s:3:"167";s:2:"WX";s:3:"500";s:1:"N";s:7:"section";s:1:"B";a:4:{i:0;s:2:"53";i:1;s:4:"-162";i:2;s:3:"461";i:3;s:3:"666";}}i:168;a:4:{s:1:"C";s:3:"168";s:2:"WX";s:3:"500";s:1:"N";s:8:"currency";s:1:"B";a:4:{i:0;s:3:"-22";i:1;s:2:"53";i:2;s:3:"522";i:3;s:3:"597";}}s:8:"currency";a:4:{s:1:"C";s:3:"168";s:2:"WX";s:3:"500";s:1:"N";s:8:"currency";s:1:"B";a:4:{i:0;s:3:"-22";i:1;s:2:"53";i:2;s:3:"522";i:3;s:3:"597";}}i:169;a:4:{s:1:"C";s:3:"169";s:2:"WX";s:3:"214";s:1:"N";s:11:"quotesingle";s:1:"B";a:4:{i:0;s:3:"132";i:1;s:3:"421";i:2;s:3:"241";i:3;s:3:"666";}}s:11:"quotesingle";a:4:{s:1:"C";s:3:"169";s:2:"WX";s:3:"214";s:1:"N";s:11:"quotesingle";s:1:"B";a:4:{i:0;s:3:"132";i:1;s:3:"421";i:2;s:3:"241";i:3;s:3:"666";}}i:170;a:4:{s:1:"C";s:3:"170";s:2:"WX";s:3:"556";s:1:"N";s:12:"quotedblleft";s:1:"B";a:4:{i:0;s:3:"166";i:1;s:3:"436";i:2;s:3:"514";i:3;s:3:"666";}}s:12:"quotedblleft";a:4:{s:1:"C";s:3:"170";s:2:"WX";s:3:"556";s:1:"N";s:12:"quotedblleft";s:1:"B";a:4:{i:0;s:3:"166";i:1;s:3:"436";i:2;s:3:"514";i:3;s:3:"666";}}i:171;a:4:{s:1:"C";s:3:"171";s:2:"WX";s:3:"500";s:1:"N";s:13:"guillemotleft";s:1:"B";a:4:{i:0;s:2:"53";i:1;s:2:"37";i:2;s:3:"445";i:3;s:3:"403";}}s:13:"guillemotleft";a:4:{s:1:"C";s:3:"171";s:2:"WX";s:3:"500";s:1:"N";s:13:"guillemotleft";s:1:"B";a:4:{i:0;s:2:"53";i:1;s:2:"37";i:2;s:3:"445";i:3;s:3:"403";}}i:172;a:4:{s:1:"C";s:3:"172";s:2:"WX";s:3:"333";s:1:"N";s:13:"guilsinglleft";s:1:"B";a:4:{i:0;s:2:"51";i:1;s:2:"37";i:2;s:3:"281";i:3;s:3:"403";}}s:13:"guilsinglleft";a:4:{s:1:"C";s:3:"172";s:2:"WX";s:3:"333";s:1:"N";s:13:"guilsinglleft";s:1:"B";a:4:{i:0;s:2:"51";i:1;s:2:"37";i:2;s:3:"281";i:3;s:3:"403";}}i:173;a:4:{s:1:"C";s:3:"173";s:2:"WX";s:3:"333";s:1:"N";s:14:"guilsinglright";s:1:"B";a:4:{i:0;s:2:"52";i:1;s:2:"37";i:2;s:3:"282";i:3;s:3:"403";}}s:14:"guilsinglright";a:4:{s:1:"C";s:3:"173";s:2:"WX";s:3:"333";s:1:"N";s:14:"guilsinglright";s:1:"B";a:4:{i:0;s:2:"52";i:1;s:2:"37";i:2;s:3:"282";i:3;s:3:"403";}}i:174;a:4:{s:1:"C";s:3:"174";s:2:"WX";s:3:"500";s:1:"N";s:2:"fi";s:1:"B";a:4:{i:0;s:4:"-141";i:1;s:4:"-207";i:2;s:3:"481";i:3;s:3:"681";}}s:2:"fi";a:4:{s:1:"C";s:3:"174";s:2:"WX";s:3:"500";s:1:"N";s:2:"fi";s:1:"B";a:4:{i:0;s:4:"-141";i:1;s:4:"-207";i:2;s:3:"481";i:3;s:3:"681";}}i:175;a:4:{s:1:"C";s:3:"175";s:2:"WX";s:3:"500";s:1:"N";s:2:"fl";s:1:"B";a:4:{i:0;s:4:"-141";i:1;s:4:"-204";i:2;s:3:"518";i:3;s:3:"682";}}s:2:"fl";a:4:{s:1:"C";s:3:"175";s:2:"WX";s:3:"500";s:1:"N";s:2:"fl";s:1:"B";a:4:{i:0;s:4:"-141";i:1;s:4:"-204";i:2;s:3:"518";i:3;s:3:"682";}}i:177;a:4:{s:1:"C";s:3:"177";s:2:"WX";s:3:"500";s:1:"N";s:6:"endash";s:1:"B";a:4:{i:0;s:2:"-6";i:1;s:3:"197";i:2;s:3:"505";i:3;s:3:"243";}}s:6:"endash";a:4:{s:1:"C";s:3:"177";s:2:"WX";s:3:"500";s:1:"N";s:6:"endash";s:1:"B";a:4:{i:0;s:2:"-6";i:1;s:3:"197";i:2;s:3:"505";i:3;s:3:"243";}}i:178;a:4:{s:1:"C";s:3:"178";s:2:"WX";s:3:"500";s:1:"N";s:6:"dagger";s:1:"B";a:4:{i:0;s:3:"101";i:1;s:4:"-159";i:2;s:3:"488";i:3;s:3:"666";}}s:6:"dagger";a:4:{s:1:"C";s:3:"178";s:2:"WX";s:3:"500";s:1:"N";s:6:"dagger";s:1:"B";a:4:{i:0;s:3:"101";i:1;s:4:"-159";i:2;s:3:"488";i:3;s:3:"666";}}i:179;a:4:{s:1:"C";s:3:"179";s:2:"WX";s:3:"500";s:1:"N";s:9:"daggerdbl";s:1:"B";a:4:{i:0;s:2:"22";i:1;s:4:"-143";i:2;s:3:"491";i:3;s:3:"666";}}s:9:"daggerdbl";a:4:{s:1:"C";s:3:"179";s:2:"WX";s:3:"500";s:1:"N";s:9:"daggerdbl";s:1:"B";a:4:{i:0;s:2:"22";i:1;s:4:"-143";i:2;s:3:"491";i:3;s:3:"666";}}i:180;a:4:{s:1:"C";s:3:"180";s:2:"WX";s:3:"250";s:1:"N";s:14:"periodcentered";s:1:"B";a:4:{i:0;s:2:"70";i:1;s:3:"199";i:2;s:3:"181";i:3;s:3:"310";}}s:14:"periodcentered";a:4:{s:1:"C";s:3:"180";s:2:"WX";s:3:"250";s:1:"N";s:14:"periodcentered";s:1:"B";a:4:{i:0;s:2:"70";i:1;s:3:"199";i:2;s:3:"181";i:3;s:3:"310";}}i:182;a:4:{s:1:"C";s:3:"182";s:2:"WX";s:3:"523";s:1:"N";s:9:"paragraph";s:1:"B";a:4:{i:0;s:2:"55";i:1;s:4:"-123";i:2;s:3:"616";i:3;s:3:"653";}}s:9:"paragraph";a:4:{s:1:"C";s:3:"182";s:2:"WX";s:3:"523";s:1:"N";s:9:"paragraph";s:1:"B";a:4:{i:0;s:2:"55";i:1;s:4:"-123";i:2;s:3:"616";i:3;s:3:"653";}}i:183;a:4:{s:1:"C";s:3:"183";s:2:"WX";s:3:"350";s:1:"N";s:6:"bullet";s:1:"B";a:4:{i:0;s:2:"40";i:1;s:3:"191";i:2;s:3:"310";i:3;s:3:"461";}}s:6:"bullet";a:4:{s:1:"C";s:3:"183";s:2:"WX";s:3:"350";s:1:"N";s:6:"bullet";s:1:"B";a:4:{i:0;s:2:"40";i:1;s:3:"191";i:2;s:3:"310";i:3;s:3:"461";}}i:184;a:4:{s:1:"C";s:3:"184";s:2:"WX";s:3:"333";s:1:"N";s:14:"quotesinglbase";s:1:"B";a:4:{i:0;s:2:"44";i:1;s:4:"-129";i:2;s:3:"183";i:3;s:3:"101";}}s:14:"quotesinglbase";a:4:{s:1:"C";s:3:"184";s:2:"WX";s:3:"333";s:1:"N";s:14:"quotesinglbase";s:1:"B";a:4:{i:0;s:2:"44";i:1;s:4:"-129";i:2;s:3:"183";i:3;s:3:"101";}}i:185;a:4:{s:1:"C";s:3:"185";s:2:"WX";s:3:"556";s:1:"N";s:12:"quotedblbase";s:1:"B";a:4:{i:0;s:2:"57";i:1;s:4:"-129";i:2;s:3:"405";i:3;s:3:"101";}}s:12:"quotedblbase";a:4:{s:1:"C";s:3:"185";s:2:"WX";s:3:"556";s:1:"N";s:12:"quotedblbase";s:1:"B";a:4:{i:0;s:2:"57";i:1;s:4:"-129";i:2;s:3:"405";i:3;s:3:"101";}}i:186;a:4:{s:1:"C";s:3:"186";s:2:"WX";s:3:"556";s:1:"N";s:13:"quotedblright";s:1:"B";a:4:{i:0;s:3:"151";i:1;s:3:"436";i:2;s:3:"499";i:3;s:3:"666";}}s:13:"quotedblright";a:4:{s:1:"C";s:3:"186";s:2:"WX";s:3:"556";s:1:"N";s:13:"quotedblright";s:1:"B";a:4:{i:0;s:3:"151";i:1;s:3:"436";i:2;s:3:"499";i:3;s:3:"666";}}i:187;a:4:{s:1:"C";s:3:"187";s:2:"WX";s:3:"500";s:1:"N";s:14:"guillemotright";s:1:"B";a:4:{i:0;s:2:"55";i:1;s:2:"37";i:2;s:3:"447";i:3;s:3:"403";}}s:14:"guillemotright";a:4:{s:1:"C";s:3:"187";s:2:"WX";s:3:"500";s:1:"N";s:14:"guillemotright";s:1:"B";a:4:{i:0;s:2:"55";i:1;s:2:"37";i:2;s:3:"447";i:3;s:3:"403";}}i:188;a:4:{s:1:"C";s:3:"188";s:2:"WX";s:3:"889";s:1:"N";s:8:"ellipsis";s:1:"B";a:4:{i:0;s:2:"57";i:1;s:3:"-11";i:2;s:3:"762";i:3;s:3:"100";}}s:8:"ellipsis";a:4:{s:1:"C";s:3:"188";s:2:"WX";s:3:"889";s:1:"N";s:8:"ellipsis";s:1:"B";a:4:{i:0;s:2:"57";i:1;s:3:"-11";i:2;s:3:"762";i:3;s:3:"100";}}i:189;a:4:{s:1:"C";s:3:"189";s:2:"WX";s:4:"1000";s:1:"N";s:11:"perthousand";s:1:"B";a:4:{i:0;s:2:"25";i:1;s:3:"-19";i:2;s:4:"1010";i:3;s:3:"706";}}s:11:"perthousand";a:4:{s:1:"C";s:3:"189";s:2:"WX";s:4:"1000";s:1:"N";s:11:"perthousand";s:1:"B";a:4:{i:0;s:2:"25";i:1;s:3:"-19";i:2;s:4:"1010";i:3;s:3:"706";}}i:191;a:4:{s:1:"C";s:3:"191";s:2:"WX";s:3:"500";s:1:"N";s:12:"questiondown";s:1:"B";a:4:{i:0;s:2:"28";i:1;s:4:"-205";i:2;s:3:"368";i:3;s:3:"471";}}s:12:"questiondown";a:4:{s:1:"C";s:3:"191";s:2:"WX";s:3:"500";s:1:"N";s:12:"questiondown";s:1:"B";a:4:{i:0;s:2:"28";i:1;s:4:"-205";i:2;s:3:"368";i:3;s:3:"471";}}i:193;a:4:{s:1:"C";s:3:"193";s:2:"WX";s:3:"333";s:1:"N";s:5:"grave";s:1:"B";a:4:{i:0;s:3:"121";i:1;s:3:"492";i:2;s:3:"311";i:3;s:3:"664";}}s:5:"grave";a:4:{s:1:"C";s:3:"193";s:2:"WX";s:3:"333";s:1:"N";s:5:"grave";s:1:"B";a:4:{i:0;s:3:"121";i:1;s:3:"492";i:2;s:3:"311";i:3;s:3:"664";}}i:194;a:4:{s:1:"C";s:3:"194";s:2:"WX";s:3:"333";s:1:"N";s:5:"acute";s:1:"B";a:4:{i:0;s:3:"180";i:1;s:3:"494";i:2;s:3:"403";i:3;s:3:"664";}}s:5:"acute";a:4:{s:1:"C";s:3:"194";s:2:"WX";s:3:"333";s:1:"N";s:5:"acute";s:1:"B";a:4:{i:0;s:3:"180";i:1;s:3:"494";i:2;s:3:"403";i:3;s:3:"664";}}i:195;a:4:{s:1:"C";s:3:"195";s:2:"WX";s:3:"333";s:1:"N";s:10:"circumflex";s:1:"B";a:4:{i:0;s:2:"91";i:1;s:3:"492";i:2;s:3:"385";i:3;s:3:"661";}}s:10:"circumflex";a:4:{s:1:"C";s:3:"195";s:2:"WX";s:3:"333";s:1:"N";s:10:"circumflex";s:1:"B";a:4:{i:0;s:2:"91";i:1;s:3:"492";i:2;s:3:"385";i:3;s:3:"661";}}i:196;a:4:{s:1:"C";s:3:"196";s:2:"WX";s:3:"333";s:1:"N";s:5:"tilde";s:1:"B";a:4:{i:0;s:3:"100";i:1;s:3:"517";i:2;s:3:"427";i:3;s:3:"624";}}s:5:"tilde";a:4:{s:1:"C";s:3:"196";s:2:"WX";s:3:"333";s:1:"N";s:5:"tilde";s:1:"B";a:4:{i:0;s:3:"100";i:1;s:3:"517";i:2;s:3:"427";i:3;s:3:"624";}}i:197;a:4:{s:1:"C";s:3:"197";s:2:"WX";s:3:"333";s:1:"N";s:6:"macron";s:1:"B";a:4:{i:0;s:2:"99";i:1;s:3:"532";i:2;s:3:"411";i:3;s:3:"583";}}s:6:"macron";a:4:{s:1:"C";s:3:"197";s:2:"WX";s:3:"333";s:1:"N";s:6:"macron";s:1:"B";a:4:{i:0;s:2:"99";i:1;s:3:"532";i:2;s:3:"411";i:3;s:3:"583";}}i:198;a:4:{s:1:"C";s:3:"198";s:2:"WX";s:3:"333";s:1:"N";s:5:"breve";s:1:"B";a:4:{i:0;s:3:"117";i:1;s:3:"492";i:2;s:3:"418";i:3;s:3:"650";}}s:5:"breve";a:4:{s:1:"C";s:3:"198";s:2:"WX";s:3:"333";s:1:"N";s:5:"breve";s:1:"B";a:4:{i:0;s:3:"117";i:1;s:3:"492";i:2;s:3:"418";i:3;s:3:"650";}}i:199;a:4:{s:1:"C";s:3:"199";s:2:"WX";s:3:"333";s:1:"N";s:9:"dotaccent";s:1:"B";a:4:{i:0;s:3:"207";i:1;s:3:"548";i:2;s:3:"305";i:3;s:3:"646";}}s:9:"dotaccent";a:4:{s:1:"C";s:3:"199";s:2:"WX";s:3:"333";s:1:"N";s:9:"dotaccent";s:1:"B";a:4:{i:0;s:3:"207";i:1;s:3:"548";i:2;s:3:"305";i:3;s:3:"646";}}i:200;a:4:{s:1:"C";s:3:"200";s:2:"WX";s:3:"333";s:1:"N";s:8:"dieresis";s:1:"B";a:4:{i:0;s:3:"107";i:1;s:3:"548";i:2;s:3:"405";i:3;s:3:"646";}}s:8:"dieresis";a:4:{s:1:"C";s:3:"200";s:2:"WX";s:3:"333";s:1:"N";s:8:"dieresis";s:1:"B";a:4:{i:0;s:3:"107";i:1;s:3:"548";i:2;s:3:"405";i:3;s:3:"646";}}i:202;a:4:{s:1:"C";s:3:"202";s:2:"WX";s:3:"333";s:1:"N";s:4:"ring";s:1:"B";a:4:{i:0;s:3:"155";i:1;s:3:"492";i:2;s:3:"355";i:3;s:3:"691";}}s:4:"ring";a:4:{s:1:"C";s:3:"202";s:2:"WX";s:3:"333";s:1:"N";s:4:"ring";s:1:"B";a:4:{i:0;s:3:"155";i:1;s:3:"492";i:2;s:3:"355";i:3;s:3:"691";}}i:203;a:4:{s:1:"C";s:3:"203";s:2:"WX";s:3:"333";s:1:"N";s:7:"cedilla";s:1:"B";a:4:{i:0;s:3:"-30";i:1;s:4:"-217";i:2;s:3:"182";i:3;s:1:"0";}}s:7:"cedilla";a:4:{s:1:"C";s:3:"203";s:2:"WX";s:3:"333";s:1:"N";s:7:"cedilla";s:1:"B";a:4:{i:0;s:3:"-30";i:1;s:4:"-217";i:2;s:3:"182";i:3;s:1:"0";}}i:205;a:4:{s:1:"C";s:3:"205";s:2:"WX";s:3:"333";s:1:"N";s:12:"hungarumlaut";s:1:"B";a:4:{i:0;s:2:"93";i:1;s:3:"494";i:2;s:3:"486";i:3;s:3:"664";}}s:12:"hungarumlaut";a:4:{s:1:"C";s:3:"205";s:2:"WX";s:3:"333";s:1:"N";s:12:"hungarumlaut";s:1:"B";a:4:{i:0;s:2:"93";i:1;s:3:"494";i:2;s:3:"486";i:3;s:3:"664";}}i:206;a:4:{s:1:"C";s:3:"206";s:2:"WX";s:3:"333";s:1:"N";s:6:"ogonek";s:1:"B";a:4:{i:0;s:2:"20";i:1;s:4:"-169";i:2;s:3:"203";i:3;s:2:"40";}}s:6:"ogonek";a:4:{s:1:"C";s:3:"206";s:2:"WX";s:3:"333";s:1:"N";s:6:"ogonek";s:1:"B";a:4:{i:0;s:2:"20";i:1;s:4:"-169";i:2;s:3:"203";i:3;s:2:"40";}}i:207;a:4:{s:1:"C";s:3:"207";s:2:"WX";s:3:"333";s:1:"N";s:5:"caron";s:1:"B";a:4:{i:0;s:3:"121";i:1;s:3:"492";i:2;s:3:"426";i:3;s:3:"661";}}s:5:"caron";a:4:{s:1:"C";s:3:"207";s:2:"WX";s:3:"333";s:1:"N";s:5:"caron";s:1:"B";a:4:{i:0;s:3:"121";i:1;s:3:"492";i:2;s:3:"426";i:3;s:3:"661";}}i:208;a:4:{s:1:"C";s:3:"208";s:2:"WX";s:3:"889";s:1:"N";s:6:"emdash";s:1:"B";a:4:{i:0;s:2:"-6";i:1;s:3:"197";i:2;s:3:"894";i:3;s:3:"243";}}s:6:"emdash";a:4:{s:1:"C";s:3:"208";s:2:"WX";s:3:"889";s:1:"N";s:6:"emdash";s:1:"B";a:4:{i:0;s:2:"-6";i:1;s:3:"197";i:2;s:3:"894";i:3;s:3:"243";}}i:225;a:4:{s:1:"C";s:3:"225";s:2:"WX";s:3:"889";s:1:"N";s:2:"AE";s:1:"B";a:4:{i:0;s:3:"-27";i:1;s:1:"0";i:2;s:3:"911";i:3;s:3:"653";}}s:2:"AE";a:4:{s:1:"C";s:3:"225";s:2:"WX";s:3:"889";s:1:"N";s:2:"AE";s:1:"B";a:4:{i:0;s:3:"-27";i:1;s:1:"0";i:2;s:3:"911";i:3;s:3:"653";}}i:227;a:4:{s:1:"C";s:3:"227";s:2:"WX";s:3:"276";s:1:"N";s:11:"ordfeminine";s:1:"B";a:4:{i:0;s:2:"42";i:1;s:3:"406";i:2;s:3:"352";i:3;s:3:"676";}}s:11:"ordfeminine";a:4:{s:1:"C";s:3:"227";s:2:"WX";s:3:"276";s:1:"N";s:11:"ordfeminine";s:1:"B";a:4:{i:0;s:2:"42";i:1;s:3:"406";i:2;s:3:"352";i:3;s:3:"676";}}i:232;a:4:{s:1:"C";s:3:"232";s:2:"WX";s:3:"556";s:1:"N";s:6:"Lslash";s:1:"B";a:4:{i:0;s:2:"-8";i:1;s:1:"0";i:2;s:3:"559";i:3;s:3:"653";}}s:6:"Lslash";a:4:{s:1:"C";s:3:"232";s:2:"WX";s:3:"556";s:1:"N";s:6:"Lslash";s:1:"B";a:4:{i:0;s:2:"-8";i:1;s:1:"0";i:2;s:3:"559";i:3;s:3:"653";}}i:233;a:4:{s:1:"C";s:3:"233";s:2:"WX";s:3:"722";s:1:"N";s:6:"Oslash";s:1:"B";a:4:{i:0;s:2:"60";i:1;s:4:"-105";i:2;s:3:"699";i:3;s:3:"722";}}s:6:"Oslash";a:4:{s:1:"C";s:3:"233";s:2:"WX";s:3:"722";s:1:"N";s:6:"Oslash";s:1:"B";a:4:{i:0;s:2:"60";i:1;s:4:"-105";i:2;s:3:"699";i:3;s:3:"722";}}i:234;a:4:{s:1:"C";s:3:"234";s:2:"WX";s:3:"944";s:1:"N";s:2:"OE";s:1:"B";a:4:{i:0;s:2:"49";i:1;s:2:"-8";i:2;s:3:"964";i:3;s:3:"666";}}s:2:"OE";a:4:{s:1:"C";s:3:"234";s:2:"WX";s:3:"944";s:1:"N";s:2:"OE";s:1:"B";a:4:{i:0;s:2:"49";i:1;s:2:"-8";i:2;s:3:"964";i:3;s:3:"666";}}i:235;a:4:{s:1:"C";s:3:"235";s:2:"WX";s:3:"310";s:1:"N";s:12:"ordmasculine";s:1:"B";a:4:{i:0;s:2:"67";i:1;s:3:"406";i:2;s:3:"362";i:3;s:3:"676";}}s:12:"ordmasculine";a:4:{s:1:"C";s:3:"235";s:2:"WX";s:3:"310";s:1:"N";s:12:"ordmasculine";s:1:"B";a:4:{i:0;s:2:"67";i:1;s:3:"406";i:2;s:3:"362";i:3;s:3:"676";}}i:241;a:4:{s:1:"C";s:3:"241";s:2:"WX";s:3:"667";s:1:"N";s:2:"ae";s:1:"B";a:4:{i:0;s:2:"23";i:1;s:3:"-11";i:2;s:3:"640";i:3;s:3:"441";}}s:2:"ae";a:4:{s:1:"C";s:3:"241";s:2:"WX";s:3:"667";s:1:"N";s:2:"ae";s:1:"B";a:4:{i:0;s:2:"23";i:1;s:3:"-11";i:2;s:3:"640";i:3;s:3:"441";}}i:245;a:4:{s:1:"C";s:3:"245";s:2:"WX";s:3:"278";s:1:"N";s:8:"dotlessi";s:1:"B";a:4:{i:0;s:2:"49";i:1;s:3:"-11";i:2;s:3:"235";i:3;s:3:"441";}}s:8:"dotlessi";a:4:{s:1:"C";s:3:"245";s:2:"WX";s:3:"278";s:1:"N";s:8:"dotlessi";s:1:"B";a:4:{i:0;s:2:"49";i:1;s:3:"-11";i:2;s:3:"235";i:3;s:3:"441";}}i:248;a:4:{s:1:"C";s:3:"248";s:2:"WX";s:3:"278";s:1:"N";s:6:"lslash";s:1:"B";a:4:{i:0;s:2:"41";i:1;s:3:"-11";i:2;s:3:"312";i:3;s:3:"683";}}s:6:"lslash";a:4:{s:1:"C";s:3:"248";s:2:"WX";s:3:"278";s:1:"N";s:6:"lslash";s:1:"B";a:4:{i:0;s:2:"41";i:1;s:3:"-11";i:2;s:3:"312";i:3;s:3:"683";}}i:249;a:4:{s:1:"C";s:3:"249";s:2:"WX";s:3:"500";s:1:"N";s:6:"oslash";s:1:"B";a:4:{i:0;s:2:"28";i:1;s:4:"-135";i:2;s:3:"469";i:3;s:3:"554";}}s:6:"oslash";a:4:{s:1:"C";s:3:"249";s:2:"WX";s:3:"500";s:1:"N";s:6:"oslash";s:1:"B";a:4:{i:0;s:2:"28";i:1;s:4:"-135";i:2;s:3:"469";i:3;s:3:"554";}}i:250;a:4:{s:1:"C";s:3:"250";s:2:"WX";s:3:"667";s:1:"N";s:2:"oe";s:1:"B";a:4:{i:0;s:2:"20";i:1;s:3:"-12";i:2;s:3:"646";i:3;s:3:"441";}}s:2:"oe";a:4:{s:1:"C";s:3:"250";s:2:"WX";s:3:"667";s:1:"N";s:2:"oe";s:1:"B";a:4:{i:0;s:2:"20";i:1;s:3:"-12";i:2;s:3:"646";i:3;s:3:"441";}}i:251;a:4:{s:1:"C";s:3:"251";s:2:"WX";s:3:"500";s:1:"N";s:10:"germandbls";s:1:"B";a:4:{i:0;s:4:"-168";i:1;s:4:"-207";i:2;s:3:"493";i:3;s:3:"679";}}s:10:"germandbls";a:4:{s:1:"C";s:3:"251";s:2:"WX";s:3:"500";s:1:"N";s:10:"germandbls";s:1:"B";a:4:{i:0;s:4:"-168";i:1;s:4:"-207";i:2;s:3:"493";i:3;s:3:"679";}}s:9:"Idieresis";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"333";s:1:"N";s:9:"Idieresis";s:1:"B";a:4:{i:0;s:2:"-8";i:1;s:1:"0";i:2;s:3:"435";i:3;s:3:"818";}}s:6:"eacute";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"444";s:1:"N";s:6:"eacute";s:1:"B";a:4:{i:0;s:2:"31";i:1;s:3:"-11";i:2;s:3:"459";i:3;s:3:"664";}}s:6:"abreve";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"500";s:1:"N";s:6:"abreve";s:1:"B";a:4:{i:0;s:2:"17";i:1;s:3:"-11";i:2;s:3:"502";i:3;s:3:"650";}}s:13:"uhungarumlaut";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"500";s:1:"N";s:13:"uhungarumlaut";s:1:"B";a:4:{i:0;s:2:"42";i:1;s:3:"-11";i:2;s:3:"580";i:3;s:3:"664";}}s:6:"ecaron";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"444";s:1:"N";s:6:"ecaron";s:1:"B";a:4:{i:0;s:2:"31";i:1;s:3:"-11";i:2;s:3:"482";i:3;s:3:"661";}}s:9:"Ydieresis";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"556";s:1:"N";s:9:"Ydieresis";s:1:"B";a:4:{i:0;s:2:"78";i:1;s:1:"0";i:2;s:3:"633";i:3;s:3:"818";}}s:6:"divide";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"675";s:1:"N";s:6:"divide";s:1:"B";a:4:{i:0;s:2:"86";i:1;s:3:"-11";i:2;s:3:"590";i:3;s:3:"517";}}s:6:"Yacute";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"556";s:1:"N";s:6:"Yacute";s:1:"B";a:4:{i:0;s:2:"78";i:1;s:1:"0";i:2;s:3:"633";i:3;s:3:"876";}}s:11:"Acircumflex";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"611";s:1:"N";s:11:"Acircumflex";s:1:"B";a:4:{i:0;s:3:"-51";i:1;s:1:"0";i:2;s:3:"564";i:3;s:3:"873";}}s:6:"aacute";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"500";s:1:"N";s:6:"aacute";s:1:"B";a:4:{i:0;s:2:"17";i:1;s:3:"-11";i:2;s:3:"487";i:3;s:3:"664";}}s:11:"Ucircumflex";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"722";s:1:"N";s:11:"Ucircumflex";s:1:"B";a:4:{i:0;s:3:"102";i:1;s:3:"-18";i:2;s:3:"765";i:3;s:3:"873";}}s:6:"yacute";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"444";s:1:"N";s:6:"yacute";s:1:"B";a:4:{i:0;s:3:"-24";i:1;s:4:"-206";i:2;s:3:"459";i:3;s:3:"664";}}s:12:"scommaaccent";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"389";s:1:"N";s:12:"scommaaccent";s:1:"B";a:4:{i:0;s:2:"16";i:1;s:4:"-217";i:2;s:3:"366";i:3;s:3:"442";}}s:11:"ecircumflex";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"444";s:1:"N";s:11:"ecircumflex";s:1:"B";a:4:{i:0;s:2:"31";i:1;s:3:"-11";i:2;s:3:"441";i:3;s:3:"661";}}s:5:"Uring";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"722";s:1:"N";s:5:"Uring";s:1:"B";a:4:{i:0;s:3:"102";i:1;s:3:"-18";i:2;s:3:"765";i:3;s:3:"883";}}s:9:"Udieresis";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"722";s:1:"N";s:9:"Udieresis";s:1:"B";a:4:{i:0;s:3:"102";i:1;s:3:"-18";i:2;s:3:"765";i:3;s:3:"818";}}s:7:"aogonek";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"500";s:1:"N";s:7:"aogonek";s:1:"B";a:4:{i:0;s:2:"17";i:1;s:4:"-169";i:2;s:3:"476";i:3;s:3:"441";}}s:6:"Uacute";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"722";s:1:"N";s:6:"Uacute";s:1:"B";a:4:{i:0;s:3:"102";i:1;s:3:"-18";i:2;s:3:"765";i:3;s:3:"876";}}s:7:"uogonek";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"500";s:1:"N";s:7:"uogonek";s:1:"B";a:4:{i:0;s:2:"42";i:1;s:4:"-169";i:2;s:3:"477";i:3;s:3:"441";}}s:9:"Edieresis";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"611";s:1:"N";s:9:"Edieresis";s:1:"B";a:4:{i:0;s:2:"-1";i:1;s:1:"0";i:2;s:3:"634";i:3;s:3:"818";}}s:6:"Dcroat";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"722";s:1:"N";s:6:"Dcroat";s:1:"B";a:4:{i:0;s:2:"-8";i:1;s:1:"0";i:2;s:3:"700";i:3;s:3:"653";}}s:11:"commaaccent";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"250";s:1:"N";s:11:"commaaccent";s:1:"B";a:4:{i:0;s:1:"8";i:1;s:4:"-217";i:2;s:3:"133";i:3;s:3:"-50";}}s:9:"copyright";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"760";s:1:"N";s:9:"copyright";s:1:"B";a:4:{i:0;s:2:"41";i:1;s:3:"-18";i:2;s:3:"719";i:3;s:3:"666";}}s:7:"Emacron";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"611";s:1:"N";s:7:"Emacron";s:1:"B";a:4:{i:0;s:2:"-1";i:1;s:1:"0";i:2;s:3:"634";i:3;s:3:"795";}}s:6:"ccaron";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"444";s:1:"N";s:6:"ccaron";s:1:"B";a:4:{i:0;s:2:"30";i:1;s:3:"-11";i:2;s:3:"482";i:3;s:3:"661";}}s:5:"aring";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"500";s:1:"N";s:5:"aring";s:1:"B";a:4:{i:0;s:2:"17";i:1;s:3:"-11";i:2;s:3:"476";i:3;s:3:"691";}}s:12:"Ncommaaccent";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"667";s:1:"N";s:12:"Ncommaaccent";s:1:"B";a:4:{i:0;s:3:"-20";i:1;s:4:"-187";i:2;s:3:"727";i:3;s:3:"653";}}s:6:"lacute";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"278";s:1:"N";s:6:"lacute";s:1:"B";a:4:{i:0;s:2:"41";i:1;s:3:"-11";i:2;s:3:"395";i:3;s:3:"876";}}s:6:"agrave";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"500";s:1:"N";s:6:"agrave";s:1:"B";a:4:{i:0;s:2:"17";i:1;s:3:"-11";i:2;s:3:"476";i:3;s:3:"664";}}s:12:"Tcommaaccent";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"556";s:1:"N";s:12:"Tcommaaccent";s:1:"B";a:4:{i:0;s:2:"59";i:1;s:4:"-217";i:2;s:3:"633";i:3;s:3:"653";}}s:6:"Cacute";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"667";s:1:"N";s:6:"Cacute";s:1:"B";a:4:{i:0;s:2:"66";i:1;s:3:"-18";i:2;s:3:"690";i:3;s:3:"876";}}s:6:"atilde";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"500";s:1:"N";s:6:"atilde";s:1:"B";a:4:{i:0;s:2:"17";i:1;s:3:"-11";i:2;s:3:"511";i:3;s:3:"624";}}s:10:"Edotaccent";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"611";s:1:"N";s:10:"Edotaccent";s:1:"B";a:4:{i:0;s:2:"-1";i:1;s:1:"0";i:2;s:3:"634";i:3;s:3:"818";}}s:6:"scaron";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"389";s:1:"N";s:6:"scaron";s:1:"B";a:4:{i:0;s:2:"16";i:1;s:3:"-13";i:2;s:3:"454";i:3;s:3:"661";}}s:8:"scedilla";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"389";s:1:"N";s:8:"scedilla";s:1:"B";a:4:{i:0;s:2:"16";i:1;s:4:"-217";i:2;s:3:"366";i:3;s:3:"442";}}s:6:"iacute";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"278";s:1:"N";s:6:"iacute";s:1:"B";a:4:{i:0;s:2:"49";i:1;s:3:"-11";i:2;s:3:"355";i:3;s:3:"664";}}s:7:"lozenge";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"471";s:1:"N";s:7:"lozenge";s:1:"B";a:4:{i:0;s:2:"13";i:1;s:1:"0";i:2;s:3:"459";i:3;s:3:"724";}}s:6:"Rcaron";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"611";s:1:"N";s:6:"Rcaron";s:1:"B";a:4:{i:0;s:3:"-13";i:1;s:1:"0";i:2;s:3:"588";i:3;s:3:"873";}}s:12:"Gcommaaccent";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"722";s:1:"N";s:12:"Gcommaaccent";s:1:"B";a:4:{i:0;s:2:"52";i:1;s:4:"-217";i:2;s:3:"722";i:3;s:3:"666";}}s:11:"ucircumflex";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"500";s:1:"N";s:11:"ucircumflex";s:1:"B";a:4:{i:0;s:2:"42";i:1;s:3:"-11";i:2;s:3:"475";i:3;s:3:"661";}}s:11:"acircumflex";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"500";s:1:"N";s:11:"acircumflex";s:1:"B";a:4:{i:0;s:2:"17";i:1;s:3:"-11";i:2;s:3:"476";i:3;s:3:"661";}}s:7:"Amacron";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"611";s:1:"N";s:7:"Amacron";s:1:"B";a:4:{i:0;s:3:"-51";i:1;s:1:"0";i:2;s:3:"564";i:3;s:3:"795";}}s:6:"rcaron";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"389";s:1:"N";s:6:"rcaron";s:1:"B";a:4:{i:0;s:2:"45";i:1;s:1:"0";i:2;s:3:"434";i:3;s:3:"661";}}s:8:"ccedilla";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"444";s:1:"N";s:8:"ccedilla";s:1:"B";a:4:{i:0;s:2:"30";i:1;s:4:"-217";i:2;s:3:"425";i:3;s:3:"441";}}s:10:"Zdotaccent";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"556";s:1:"N";s:10:"Zdotaccent";s:1:"B";a:4:{i:0;s:2:"-6";i:1;s:1:"0";i:2;s:3:"606";i:3;s:3:"818";}}s:5:"Thorn";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"611";s:1:"N";s:5:"Thorn";s:1:"B";a:4:{i:0;s:1:"0";i:1;s:1:"0";i:2;s:3:"569";i:3;s:3:"653";}}s:7:"Omacron";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"722";s:1:"N";s:7:"Omacron";s:1:"B";a:4:{i:0;s:2:"60";i:1;s:3:"-18";i:2;s:3:"699";i:3;s:3:"795";}}s:6:"Racute";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"611";s:1:"N";s:6:"Racute";s:1:"B";a:4:{i:0;s:3:"-13";i:1;s:1:"0";i:2;s:3:"588";i:3;s:3:"876";}}s:6:"Sacute";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"500";s:1:"N";s:6:"Sacute";s:1:"B";a:4:{i:0;s:2:"17";i:1;s:3:"-18";i:2;s:3:"508";i:3;s:3:"876";}}s:6:"dcaron";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"544";s:1:"N";s:6:"dcaron";s:1:"B";a:4:{i:0;s:2:"15";i:1;s:3:"-13";i:2;s:3:"658";i:3;s:3:"683";}}s:7:"Umacron";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"722";s:1:"N";s:7:"Umacron";s:1:"B";a:4:{i:0;s:3:"102";i:1;s:3:"-18";i:2;s:3:"765";i:3;s:3:"795";}}s:5:"uring";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"500";s:1:"N";s:5:"uring";s:1:"B";a:4:{i:0;s:2:"42";i:1;s:3:"-11";i:2;s:3:"475";i:3;s:3:"691";}}s:13:"threesuperior";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"300";s:1:"N";s:13:"threesuperior";s:1:"B";a:4:{i:0;s:2:"43";i:1;s:3:"268";i:2;s:3:"339";i:3;s:3:"676";}}s:6:"Ograve";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"722";s:1:"N";s:6:"Ograve";s:1:"B";a:4:{i:0;s:2:"60";i:1;s:3:"-18";i:2;s:3:"699";i:3;s:3:"876";}}s:6:"Agrave";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"611";s:1:"N";s:6:"Agrave";s:1:"B";a:4:{i:0;s:3:"-51";i:1;s:1:"0";i:2;s:3:"564";i:3;s:3:"876";}}s:6:"Abreve";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"611";s:1:"N";s:6:"Abreve";s:1:"B";a:4:{i:0;s:3:"-51";i:1;s:1:"0";i:2;s:3:"564";i:3;s:3:"862";}}s:8:"multiply";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"675";s:1:"N";s:8:"multiply";s:1:"B";a:4:{i:0;s:2:"93";i:1;s:1:"8";i:2;s:3:"582";i:3;s:3:"497";}}s:6:"uacute";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"500";s:1:"N";s:6:"uacute";s:1:"B";a:4:{i:0;s:2:"42";i:1;s:3:"-11";i:2;s:3:"477";i:3;s:3:"664";}}s:6:"Tcaron";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"556";s:1:"N";s:6:"Tcaron";s:1:"B";a:4:{i:0;s:2:"59";i:1;s:1:"0";i:2;s:3:"633";i:3;s:3:"873";}}s:11:"partialdiff";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"476";s:1:"N";s:11:"partialdiff";s:1:"B";a:4:{i:0;s:2:"17";i:1;s:3:"-38";i:2;s:3:"459";i:3;s:3:"710";}}s:9:"ydieresis";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"444";s:1:"N";s:9:"ydieresis";s:1:"B";a:4:{i:0;s:3:"-24";i:1;s:4:"-206";i:2;s:3:"441";i:3;s:3:"606";}}s:6:"Nacute";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"667";s:1:"N";s:6:"Nacute";s:1:"B";a:4:{i:0;s:3:"-20";i:1;s:3:"-15";i:2;s:3:"727";i:3;s:3:"876";}}s:11:"icircumflex";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"278";s:1:"N";s:11:"icircumflex";s:1:"B";a:4:{i:0;s:2:"33";i:1;s:3:"-11";i:2;s:3:"327";i:3;s:3:"661";}}s:11:"Ecircumflex";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"611";s:1:"N";s:11:"Ecircumflex";s:1:"B";a:4:{i:0;s:2:"-1";i:1;s:1:"0";i:2;s:3:"634";i:3;s:3:"873";}}s:9:"adieresis";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"500";s:1:"N";s:9:"adieresis";s:1:"B";a:4:{i:0;s:2:"17";i:1;s:3:"-11";i:2;s:3:"489";i:3;s:3:"606";}}s:9:"edieresis";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"444";s:1:"N";s:9:"edieresis";s:1:"B";a:4:{i:0;s:2:"31";i:1;s:3:"-11";i:2;s:3:"451";i:3;s:3:"606";}}s:6:"cacute";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"444";s:1:"N";s:6:"cacute";s:1:"B";a:4:{i:0;s:2:"30";i:1;s:3:"-11";i:2;s:3:"459";i:3;s:3:"664";}}s:6:"nacute";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"500";s:1:"N";s:6:"nacute";s:1:"B";a:4:{i:0;s:2:"14";i:1;s:2:"-9";i:2;s:3:"477";i:3;s:3:"664";}}s:7:"umacron";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"500";s:1:"N";s:7:"umacron";s:1:"B";a:4:{i:0;s:2:"42";i:1;s:3:"-11";i:2;s:3:"485";i:3;s:3:"583";}}s:6:"Ncaron";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"667";s:1:"N";s:6:"Ncaron";s:1:"B";a:4:{i:0;s:3:"-20";i:1;s:3:"-15";i:2;s:3:"727";i:3;s:3:"873";}}s:6:"Iacute";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"333";s:1:"N";s:6:"Iacute";s:1:"B";a:4:{i:0;s:2:"-8";i:1;s:1:"0";i:2;s:3:"433";i:3;s:3:"876";}}s:9:"plusminus";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"675";s:1:"N";s:9:"plusminus";s:1:"B";a:4:{i:0;s:2:"86";i:1;s:1:"0";i:2;s:3:"590";i:3;s:3:"506";}}s:9:"brokenbar";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"275";s:1:"N";s:9:"brokenbar";s:1:"B";a:4:{i:0;s:3:"105";i:1;s:4:"-142";i:2;s:3:"171";i:3;s:3:"708";}}s:10:"registered";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"760";s:1:"N";s:10:"registered";s:1:"B";a:4:{i:0;s:2:"41";i:1;s:3:"-18";i:2;s:3:"719";i:3;s:3:"666";}}s:6:"Gbreve";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"722";s:1:"N";s:6:"Gbreve";s:1:"B";a:4:{i:0;s:2:"52";i:1;s:3:"-18";i:2;s:3:"722";i:3;s:3:"862";}}s:10:"Idotaccent";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"333";s:1:"N";s:10:"Idotaccent";s:1:"B";a:4:{i:0;s:2:"-8";i:1;s:1:"0";i:2;s:3:"384";i:3;s:3:"818";}}s:9:"summation";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:9:"summation";s:1:"B";a:4:{i:0;s:2:"15";i:1;s:3:"-10";i:2;s:3:"585";i:3;s:3:"706";}}s:6:"Egrave";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"611";s:1:"N";s:6:"Egrave";s:1:"B";a:4:{i:0;s:2:"-1";i:1;s:1:"0";i:2;s:3:"634";i:3;s:3:"876";}}s:6:"racute";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"389";s:1:"N";s:6:"racute";s:1:"B";a:4:{i:0;s:2:"45";i:1;s:1:"0";i:2;s:3:"431";i:3;s:3:"664";}}s:7:"omacron";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"500";s:1:"N";s:7:"omacron";s:1:"B";a:4:{i:0;s:2:"27";i:1;s:3:"-11";i:2;s:3:"495";i:3;s:3:"583";}}s:6:"Zacute";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"556";s:1:"N";s:6:"Zacute";s:1:"B";a:4:{i:0;s:2:"-6";i:1;s:1:"0";i:2;s:3:"606";i:3;s:3:"876";}}s:6:"Zcaron";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"556";s:1:"N";s:6:"Zcaron";s:1:"B";a:4:{i:0;s:2:"-6";i:1;s:1:"0";i:2;s:3:"606";i:3;s:3:"873";}}s:12:"greaterequal";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"549";s:1:"N";s:12:"greaterequal";s:1:"B";a:4:{i:0;s:2:"26";i:1;s:1:"0";i:2;s:3:"523";i:3;s:3:"658";}}s:3:"Eth";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"722";s:1:"N";s:3:"Eth";s:1:"B";a:4:{i:0;s:2:"-8";i:1;s:1:"0";i:2;s:3:"700";i:3;s:3:"653";}}s:8:"Ccedilla";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"667";s:1:"N";s:8:"Ccedilla";s:1:"B";a:4:{i:0;s:2:"66";i:1;s:4:"-217";i:2;s:3:"689";i:3;s:3:"666";}}s:12:"lcommaaccent";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"278";s:1:"N";s:12:"lcommaaccent";s:1:"B";a:4:{i:0;s:2:"22";i:1;s:4:"-217";i:2;s:3:"279";i:3;s:3:"683";}}s:6:"tcaron";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"300";s:1:"N";s:6:"tcaron";s:1:"B";a:4:{i:0;s:2:"37";i:1;s:3:"-11";i:2;s:3:"407";i:3;s:3:"681";}}s:7:"eogonek";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"444";s:1:"N";s:7:"eogonek";s:1:"B";a:4:{i:0;s:2:"31";i:1;s:4:"-169";i:2;s:3:"412";i:3;s:3:"441";}}s:7:"Uogonek";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"722";s:1:"N";s:7:"Uogonek";s:1:"B";a:4:{i:0;s:3:"102";i:1;s:4:"-184";i:2;s:3:"765";i:3;s:3:"653";}}s:6:"Aacute";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"611";s:1:"N";s:6:"Aacute";s:1:"B";a:4:{i:0;s:3:"-51";i:1;s:1:"0";i:2;s:3:"564";i:3;s:3:"876";}}s:9:"Adieresis";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"611";s:1:"N";s:9:"Adieresis";s:1:"B";a:4:{i:0;s:3:"-51";i:1;s:1:"0";i:2;s:3:"564";i:3;s:3:"818";}}s:6:"egrave";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"444";s:1:"N";s:6:"egrave";s:1:"B";a:4:{i:0;s:2:"31";i:1;s:3:"-11";i:2;s:3:"412";i:3;s:3:"664";}}s:6:"zacute";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"389";s:1:"N";s:6:"zacute";s:1:"B";a:4:{i:0;s:2:"-2";i:1;s:3:"-81";i:2;s:3:"431";i:3;s:3:"664";}}s:7:"iogonek";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"278";s:1:"N";s:7:"iogonek";s:1:"B";a:4:{i:0;s:2:"49";i:1;s:4:"-169";i:2;s:3:"264";i:3;s:3:"654";}}s:6:"Oacute";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"722";s:1:"N";s:6:"Oacute";s:1:"B";a:4:{i:0;s:2:"60";i:1;s:3:"-18";i:2;s:3:"699";i:3;s:3:"876";}}s:6:"oacute";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"500";s:1:"N";s:6:"oacute";s:1:"B";a:4:{i:0;s:2:"27";i:1;s:3:"-11";i:2;s:3:"487";i:3;s:3:"664";}}s:7:"amacron";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"500";s:1:"N";s:7:"amacron";s:1:"B";a:4:{i:0;s:2:"17";i:1;s:3:"-11";i:2;s:3:"495";i:3;s:3:"583";}}s:6:"sacute";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"389";s:1:"N";s:6:"sacute";s:1:"B";a:4:{i:0;s:2:"16";i:1;s:3:"-13";i:2;s:3:"431";i:3;s:3:"664";}}s:9:"idieresis";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"278";s:1:"N";s:9:"idieresis";s:1:"B";a:4:{i:0;s:2:"49";i:1;s:3:"-11";i:2;s:3:"352";i:3;s:3:"606";}}s:11:"Ocircumflex";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"722";s:1:"N";s:11:"Ocircumflex";s:1:"B";a:4:{i:0;s:2:"60";i:1;s:3:"-18";i:2;s:3:"699";i:3;s:3:"873";}}s:6:"Ugrave";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"722";s:1:"N";s:6:"Ugrave";s:1:"B";a:4:{i:0;s:3:"102";i:1;s:3:"-18";i:2;s:3:"765";i:3;s:3:"876";}}s:5:"Delta";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"612";s:1:"N";s:5:"Delta";s:1:"B";a:4:{i:0;s:1:"6";i:1;s:1:"0";i:2;s:3:"608";i:3;s:3:"688";}}s:5:"thorn";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"500";s:1:"N";s:5:"thorn";s:1:"B";a:4:{i:0;s:3:"-75";i:1;s:4:"-205";i:2;s:3:"469";i:3;s:3:"683";}}s:11:"twosuperior";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"300";s:1:"N";s:11:"twosuperior";s:1:"B";a:4:{i:0;s:2:"33";i:1;s:3:"271";i:2;s:3:"324";i:3;s:3:"676";}}s:9:"Odieresis";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"722";s:1:"N";s:9:"Odieresis";s:1:"B";a:4:{i:0;s:2:"60";i:1;s:3:"-18";i:2;s:3:"699";i:3;s:3:"818";}}s:2:"mu";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"500";s:1:"N";s:2:"mu";s:1:"B";a:4:{i:0;s:3:"-30";i:1;s:4:"-209";i:2;s:3:"497";i:3;s:3:"428";}}s:6:"igrave";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"278";s:1:"N";s:6:"igrave";s:1:"B";a:4:{i:0;s:2:"49";i:1;s:3:"-11";i:2;s:3:"284";i:3;s:3:"664";}}s:13:"ohungarumlaut";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"500";s:1:"N";s:13:"ohungarumlaut";s:1:"B";a:4:{i:0;s:2:"27";i:1;s:3:"-11";i:2;s:3:"590";i:3;s:3:"664";}}s:7:"Eogonek";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"611";s:1:"N";s:7:"Eogonek";s:1:"B";a:4:{i:0;s:2:"-1";i:1;s:4:"-169";i:2;s:3:"634";i:3;s:3:"653";}}s:6:"dcroat";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"500";s:1:"N";s:6:"dcroat";s:1:"B";a:4:{i:0;s:2:"15";i:1;s:3:"-13";i:2;s:3:"572";i:3;s:3:"683";}}s:13:"threequarters";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"750";s:1:"N";s:13:"threequarters";s:1:"B";a:4:{i:0;s:2:"23";i:1;s:3:"-10";i:2;s:3:"736";i:3;s:3:"676";}}s:8:"Scedilla";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"500";s:1:"N";s:8:"Scedilla";s:1:"B";a:4:{i:0;s:2:"17";i:1;s:4:"-217";i:2;s:3:"508";i:3;s:3:"667";}}s:6:"lcaron";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"300";s:1:"N";s:6:"lcaron";s:1:"B";a:4:{i:0;s:2:"41";i:1;s:3:"-11";i:2;s:3:"407";i:3;s:3:"683";}}s:12:"Kcommaaccent";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"667";s:1:"N";s:12:"Kcommaaccent";s:1:"B";a:4:{i:0;s:1:"7";i:1;s:4:"-217";i:2;s:3:"722";i:3;s:3:"653";}}s:6:"Lacute";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"556";s:1:"N";s:6:"Lacute";s:1:"B";a:4:{i:0;s:2:"-8";i:1;s:1:"0";i:2;s:3:"559";i:3;s:3:"876";}}s:9:"trademark";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"980";s:1:"N";s:9:"trademark";s:1:"B";a:4:{i:0;s:2:"30";i:1;s:3:"247";i:2;s:3:"957";i:3;s:3:"653";}}s:10:"edotaccent";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"444";s:1:"N";s:10:"edotaccent";s:1:"B";a:4:{i:0;s:2:"31";i:1;s:3:"-11";i:2;s:3:"412";i:3;s:3:"606";}}s:6:"Igrave";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"333";s:1:"N";s:6:"Igrave";s:1:"B";a:4:{i:0;s:2:"-8";i:1;s:1:"0";i:2;s:3:"384";i:3;s:3:"876";}}s:7:"Imacron";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"333";s:1:"N";s:7:"Imacron";s:1:"B";a:4:{i:0;s:2:"-8";i:1;s:1:"0";i:2;s:3:"441";i:3;s:3:"795";}}s:6:"Lcaron";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"611";s:1:"N";s:6:"Lcaron";s:1:"B";a:4:{i:0;s:2:"-8";i:1;s:1:"0";i:2;s:3:"586";i:3;s:3:"653";}}s:7:"onehalf";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"750";s:1:"N";s:7:"onehalf";s:1:"B";a:4:{i:0;s:2:"34";i:1;s:3:"-10";i:2;s:3:"749";i:3;s:3:"676";}}s:9:"lessequal";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"549";s:1:"N";s:9:"lessequal";s:1:"B";a:4:{i:0;s:2:"26";i:1;s:1:"0";i:2;s:3:"523";i:3;s:3:"658";}}s:11:"ocircumflex";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"500";s:1:"N";s:11:"ocircumflex";s:1:"B";a:4:{i:0;s:2:"27";i:1;s:3:"-11";i:2;s:3:"468";i:3;s:3:"661";}}s:6:"ntilde";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"500";s:1:"N";s:6:"ntilde";s:1:"B";a:4:{i:0;s:2:"14";i:1;s:2:"-9";i:2;s:3:"476";i:3;s:3:"624";}}s:13:"Uhungarumlaut";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"722";s:1:"N";s:13:"Uhungarumlaut";s:1:"B";a:4:{i:0;s:3:"102";i:1;s:3:"-18";i:2;s:3:"765";i:3;s:3:"876";}}s:6:"Eacute";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"611";s:1:"N";s:6:"Eacute";s:1:"B";a:4:{i:0;s:2:"-1";i:1;s:1:"0";i:2;s:3:"634";i:3;s:3:"876";}}s:7:"emacron";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"444";s:1:"N";s:7:"emacron";s:1:"B";a:4:{i:0;s:2:"31";i:1;s:3:"-11";i:2;s:3:"457";i:3;s:3:"583";}}s:6:"gbreve";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"500";s:1:"N";s:6:"gbreve";s:1:"B";a:4:{i:0;s:1:"8";i:1;s:4:"-206";i:2;s:3:"487";i:3;s:3:"650";}}s:10:"onequarter";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"750";s:1:"N";s:10:"onequarter";s:1:"B";a:4:{i:0;s:2:"33";i:1;s:3:"-10";i:2;s:3:"736";i:3;s:3:"676";}}s:6:"Scaron";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"500";s:1:"N";s:6:"Scaron";s:1:"B";a:4:{i:0;s:2:"17";i:1;s:3:"-18";i:2;s:3:"520";i:3;s:3:"873";}}s:12:"Scommaaccent";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"500";s:1:"N";s:12:"Scommaaccent";s:1:"B";a:4:{i:0;s:2:"17";i:1;s:4:"-217";i:2;s:3:"508";i:3;s:3:"667";}}s:13:"Ohungarumlaut";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"722";s:1:"N";s:13:"Ohungarumlaut";s:1:"B";a:4:{i:0;s:2:"60";i:1;s:3:"-18";i:2;s:3:"699";i:3;s:3:"876";}}s:6:"degree";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"400";s:1:"N";s:6:"degree";s:1:"B";a:4:{i:0;s:3:"101";i:1;s:3:"390";i:2;s:3:"387";i:3;s:3:"676";}}s:6:"ograve";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"500";s:1:"N";s:6:"ograve";s:1:"B";a:4:{i:0;s:2:"27";i:1;s:3:"-11";i:2;s:3:"468";i:3;s:3:"664";}}s:6:"Ccaron";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"667";s:1:"N";s:6:"Ccaron";s:1:"B";a:4:{i:0;s:2:"66";i:1;s:3:"-18";i:2;s:3:"689";i:3;s:3:"873";}}s:6:"ugrave";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"500";s:1:"N";s:6:"ugrave";s:1:"B";a:4:{i:0;s:2:"42";i:1;s:3:"-11";i:2;s:3:"475";i:3;s:3:"664";}}s:7:"radical";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"453";s:1:"N";s:7:"radical";s:1:"B";a:4:{i:0;s:1:"2";i:1;s:3:"-60";i:2;s:3:"452";i:3;s:3:"768";}}s:6:"Dcaron";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"722";s:1:"N";s:6:"Dcaron";s:1:"B";a:4:{i:0;s:2:"-8";i:1;s:1:"0";i:2;s:3:"700";i:3;s:3:"873";}}s:12:"rcommaaccent";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"389";s:1:"N";s:12:"rcommaaccent";s:1:"B";a:4:{i:0;s:2:"-3";i:1;s:4:"-217";i:2;s:3:"412";i:3;s:3:"441";}}s:6:"Ntilde";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"667";s:1:"N";s:6:"Ntilde";s:1:"B";a:4:{i:0;s:3:"-20";i:1;s:3:"-15";i:2;s:3:"727";i:3;s:3:"836";}}s:6:"otilde";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"500";s:1:"N";s:6:"otilde";s:1:"B";a:4:{i:0;s:2:"27";i:1;s:3:"-11";i:2;s:3:"496";i:3;s:3:"624";}}s:12:"Rcommaaccent";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"611";s:1:"N";s:12:"Rcommaaccent";s:1:"B";a:4:{i:0;s:3:"-13";i:1;s:4:"-187";i:2;s:3:"588";i:3;s:3:"653";}}s:12:"Lcommaaccent";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"556";s:1:"N";s:12:"Lcommaaccent";s:1:"B";a:4:{i:0;s:2:"-8";i:1;s:4:"-217";i:2;s:3:"559";i:3;s:3:"653";}}s:6:"Atilde";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"611";s:1:"N";s:6:"Atilde";s:1:"B";a:4:{i:0;s:3:"-51";i:1;s:1:"0";i:2;s:3:"566";i:3;s:3:"836";}}s:7:"Aogonek";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"611";s:1:"N";s:7:"Aogonek";s:1:"B";a:4:{i:0;s:3:"-51";i:1;s:4:"-169";i:2;s:3:"566";i:3;s:3:"668";}}s:5:"Aring";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"611";s:1:"N";s:5:"Aring";s:1:"B";a:4:{i:0;s:3:"-51";i:1;s:1:"0";i:2;s:3:"564";i:3;s:3:"883";}}s:6:"Otilde";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"722";s:1:"N";s:6:"Otilde";s:1:"B";a:4:{i:0;s:2:"60";i:1;s:3:"-18";i:2;s:3:"699";i:3;s:3:"836";}}s:10:"zdotaccent";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"389";s:1:"N";s:10:"zdotaccent";s:1:"B";a:4:{i:0;s:2:"-2";i:1;s:3:"-81";i:2;s:3:"380";i:3;s:3:"606";}}s:6:"Ecaron";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"611";s:1:"N";s:6:"Ecaron";s:1:"B";a:4:{i:0;s:2:"-1";i:1;s:1:"0";i:2;s:3:"634";i:3;s:3:"873";}}s:7:"Iogonek";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"333";s:1:"N";s:7:"Iogonek";s:1:"B";a:4:{i:0;s:2:"-8";i:1;s:4:"-169";i:2;s:3:"384";i:3;s:3:"653";}}s:12:"kcommaaccent";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"444";s:1:"N";s:12:"kcommaaccent";s:1:"B";a:4:{i:0;s:2:"14";i:1;s:4:"-187";i:2;s:3:"461";i:3;s:3:"683";}}s:5:"minus";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"675";s:1:"N";s:5:"minus";s:1:"B";a:4:{i:0;s:2:"86";i:1;s:3:"220";i:2;s:3:"590";i:3;s:3:"286";}}s:11:"Icircumflex";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"333";s:1:"N";s:11:"Icircumflex";s:1:"B";a:4:{i:0;s:2:"-8";i:1;s:1:"0";i:2;s:3:"425";i:3;s:3:"873";}}s:6:"ncaron";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"500";s:1:"N";s:6:"ncaron";s:1:"B";a:4:{i:0;s:2:"14";i:1;s:2:"-9";i:2;s:3:"510";i:3;s:3:"661";}}s:12:"tcommaaccent";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"278";s:1:"N";s:12:"tcommaaccent";s:1:"B";a:4:{i:0;s:1:"2";i:1;s:4:"-217";i:2;s:3:"296";i:3;s:3:"546";}}s:10:"logicalnot";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"675";s:1:"N";s:10:"logicalnot";s:1:"B";a:4:{i:0;s:2:"86";i:1;s:3:"108";i:2;s:3:"590";i:3;s:3:"386";}}s:9:"odieresis";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"500";s:1:"N";s:9:"odieresis";s:1:"B";a:4:{i:0;s:2:"27";i:1;s:3:"-11";i:2;s:3:"489";i:3;s:3:"606";}}s:9:"udieresis";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"500";s:1:"N";s:9:"udieresis";s:1:"B";a:4:{i:0;s:2:"42";i:1;s:3:"-11";i:2;s:3:"479";i:3;s:3:"606";}}s:8:"notequal";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"549";s:1:"N";s:8:"notequal";s:1:"B";a:4:{i:0;s:2:"12";i:1;s:3:"-29";i:2;s:3:"537";i:3;s:3:"541";}}s:12:"gcommaaccent";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"500";s:1:"N";s:12:"gcommaaccent";s:1:"B";a:4:{i:0;s:1:"8";i:1;s:4:"-206";i:2;s:3:"472";i:3;s:3:"706";}}s:3:"eth";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"500";s:1:"N";s:3:"eth";s:1:"B";a:4:{i:0;s:2:"27";i:1;s:3:"-11";i:2;s:3:"482";i:3;s:3:"683";}}s:6:"zcaron";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"389";s:1:"N";s:6:"zcaron";s:1:"B";a:4:{i:0;s:2:"-2";i:1;s:3:"-81";i:2;s:3:"434";i:3;s:3:"661";}}s:12:"ncommaaccent";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"500";s:1:"N";s:12:"ncommaaccent";s:1:"B";a:4:{i:0;s:2:"14";i:1;s:4:"-187";i:2;s:3:"474";i:3;s:3:"441";}}s:11:"onesuperior";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"300";s:1:"N";s:11:"onesuperior";s:1:"B";a:4:{i:0;s:2:"43";i:1;s:3:"271";i:2;s:3:"284";i:3;s:3:"676";}}s:7:"imacron";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"278";s:1:"N";s:7:"imacron";s:1:"B";a:4:{i:0;s:2:"46";i:1;s:3:"-11";i:2;s:3:"311";i:3;s:3:"583";}}s:4:"Euro";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"500";s:1:"N";s:4:"Euro";s:1:"B";a:4:{i:0;s:1:"0";i:1;s:1:"0";i:2;s:1:"0";i:3;s:1:"0";}}}s:3:"KPX";a:117:{s:1:"A";a:49:{s:1:"C";s:3:"-30";s:6:"Cacute";s:3:"-30";s:6:"Ccaron";s:3:"-30";s:8:"Ccedilla";s:3:"-30";s:1:"G";s:3:"-35";s:6:"Gbreve";s:3:"-35";s:12:"Gcommaaccent";s:3:"-35";s:1:"O";s:3:"-40";s:6:"Oacute";s:3:"-40";s:11:"Ocircumflex";s:3:"-40";s:9:"Odieresis";s:3:"-40";s:6:"Ograve";s:3:"-40";s:13:"Ohungarumlaut";s:3:"-40";s:7:"Omacron";s:3:"-40";s:6:"Oslash";s:3:"-40";s:6:"Otilde";s:3:"-40";s:1:"Q";s:3:"-40";s:1:"T";s:3:"-37";s:6:"Tcaron";s:3:"-37";s:12:"Tcommaaccent";s:3:"-37";s:1:"U";s:3:"-50";s:6:"Uacute";s:3:"-50";s:11:"Ucircumflex";s:3:"-50";s:9:"Udieresis";s:3:"-50";s:6:"Ugrave";s:3:"-50";s:13:"Uhungarumlaut";s:3:"-50";s:7:"Umacron";s:3:"-50";s:7:"Uogonek";s:3:"-50";s:5:"Uring";s:3:"-50";s:1:"V";s:4:"-105";s:1:"W";s:3:"-95";s:1:"Y";s:3:"-55";s:6:"Yacute";s:3:"-55";s:9:"Ydieresis";s:3:"-55";s:10:"quoteright";s:3:"-37";s:1:"u";s:3:"-20";s:6:"uacute";s:3:"-20";s:11:"ucircumflex";s:3:"-20";s:9:"udieresis";s:3:"-20";s:6:"ugrave";s:3:"-20";s:13:"uhungarumlaut";s:3:"-20";s:7:"umacron";s:3:"-20";s:7:"uogonek";s:3:"-20";s:5:"uring";s:3:"-20";s:1:"v";s:3:"-55";s:1:"w";s:3:"-55";s:1:"y";s:3:"-55";s:6:"yacute";s:3:"-55";s:9:"ydieresis";s:3:"-55";}s:6:"Aacute";a:49:{s:1:"C";s:3:"-30";s:6:"Cacute";s:3:"-30";s:6:"Ccaron";s:3:"-30";s:8:"Ccedilla";s:3:"-30";s:1:"G";s:3:"-35";s:6:"Gbreve";s:3:"-35";s:12:"Gcommaaccent";s:3:"-35";s:1:"O";s:3:"-40";s:6:"Oacute";s:3:"-40";s:11:"Ocircumflex";s:3:"-40";s:9:"Odieresis";s:3:"-40";s:6:"Ograve";s:3:"-40";s:13:"Ohungarumlaut";s:3:"-40";s:7:"Omacron";s:3:"-40";s:6:"Oslash";s:3:"-40";s:6:"Otilde";s:3:"-40";s:1:"Q";s:3:"-40";s:1:"T";s:3:"-37";s:6:"Tcaron";s:3:"-37";s:12:"Tcommaaccent";s:3:"-37";s:1:"U";s:3:"-50";s:6:"Uacute";s:3:"-50";s:11:"Ucircumflex";s:3:"-50";s:9:"Udieresis";s:3:"-50";s:6:"Ugrave";s:3:"-50";s:13:"Uhungarumlaut";s:3:"-50";s:7:"Umacron";s:3:"-50";s:7:"Uogonek";s:3:"-50";s:5:"Uring";s:3:"-50";s:1:"V";s:4:"-105";s:1:"W";s:3:"-95";s:1:"Y";s:3:"-55";s:6:"Yacute";s:3:"-55";s:9:"Ydieresis";s:3:"-55";s:10:"quoteright";s:3:"-37";s:1:"u";s:3:"-20";s:6:"uacute";s:3:"-20";s:11:"ucircumflex";s:3:"-20";s:9:"udieresis";s:3:"-20";s:6:"ugrave";s:3:"-20";s:13:"uhungarumlaut";s:3:"-20";s:7:"umacron";s:3:"-20";s:7:"uogonek";s:3:"-20";s:5:"uring";s:3:"-20";s:1:"v";s:3:"-55";s:1:"w";s:3:"-55";s:1:"y";s:3:"-55";s:6:"yacute";s:3:"-55";s:9:"ydieresis";s:3:"-55";}s:6:"Abreve";a:49:{s:1:"C";s:3:"-30";s:6:"Cacute";s:3:"-30";s:6:"Ccaron";s:3:"-30";s:8:"Ccedilla";s:3:"-30";s:1:"G";s:3:"-35";s:6:"Gbreve";s:3:"-35";s:12:"Gcommaaccent";s:3:"-35";s:1:"O";s:3:"-40";s:6:"Oacute";s:3:"-40";s:11:"Ocircumflex";s:3:"-40";s:9:"Odieresis";s:3:"-40";s:6:"Ograve";s:3:"-40";s:13:"Ohungarumlaut";s:3:"-40";s:7:"Omacron";s:3:"-40";s:6:"Oslash";s:3:"-40";s:6:"Otilde";s:3:"-40";s:1:"Q";s:3:"-40";s:1:"T";s:3:"-37";s:6:"Tcaron";s:3:"-37";s:12:"Tcommaaccent";s:3:"-37";s:1:"U";s:3:"-50";s:6:"Uacute";s:3:"-50";s:11:"Ucircumflex";s:3:"-50";s:9:"Udieresis";s:3:"-50";s:6:"Ugrave";s:3:"-50";s:13:"Uhungarumlaut";s:3:"-50";s:7:"Umacron";s:3:"-50";s:7:"Uogonek";s:3:"-50";s:5:"Uring";s:3:"-50";s:1:"V";s:4:"-105";s:1:"W";s:3:"-95";s:1:"Y";s:3:"-55";s:6:"Yacute";s:3:"-55";s:9:"Ydieresis";s:3:"-55";s:10:"quoteright";s:3:"-37";s:1:"u";s:3:"-20";s:6:"uacute";s:3:"-20";s:11:"ucircumflex";s:3:"-20";s:9:"udieresis";s:3:"-20";s:6:"ugrave";s:3:"-20";s:13:"uhungarumlaut";s:3:"-20";s:7:"umacron";s:3:"-20";s:7:"uogonek";s:3:"-20";s:5:"uring";s:3:"-20";s:1:"v";s:3:"-55";s:1:"w";s:3:"-55";s:1:"y";s:3:"-55";s:6:"yacute";s:3:"-55";s:9:"ydieresis";s:3:"-55";}s:11:"Acircumflex";a:49:{s:1:"C";s:3:"-30";s:6:"Cacute";s:3:"-30";s:6:"Ccaron";s:3:"-30";s:8:"Ccedilla";s:3:"-30";s:1:"G";s:3:"-35";s:6:"Gbreve";s:3:"-35";s:12:"Gcommaaccent";s:3:"-35";s:1:"O";s:3:"-40";s:6:"Oacute";s:3:"-40";s:11:"Ocircumflex";s:3:"-40";s:9:"Odieresis";s:3:"-40";s:6:"Ograve";s:3:"-40";s:13:"Ohungarumlaut";s:3:"-40";s:7:"Omacron";s:3:"-40";s:6:"Oslash";s:3:"-40";s:6:"Otilde";s:3:"-40";s:1:"Q";s:3:"-40";s:1:"T";s:3:"-37";s:6:"Tcaron";s:3:"-37";s:12:"Tcommaaccent";s:3:"-37";s:1:"U";s:3:"-50";s:6:"Uacute";s:3:"-50";s:11:"Ucircumflex";s:3:"-50";s:9:"Udieresis";s:3:"-50";s:6:"Ugrave";s:3:"-50";s:13:"Uhungarumlaut";s:3:"-50";s:7:"Umacron";s:3:"-50";s:7:"Uogonek";s:3:"-50";s:5:"Uring";s:3:"-50";s:1:"V";s:4:"-105";s:1:"W";s:3:"-95";s:1:"Y";s:3:"-55";s:6:"Yacute";s:3:"-55";s:9:"Ydieresis";s:3:"-55";s:10:"quoteright";s:3:"-37";s:1:"u";s:3:"-20";s:6:"uacute";s:3:"-20";s:11:"ucircumflex";s:3:"-20";s:9:"udieresis";s:3:"-20";s:6:"ugrave";s:3:"-20";s:13:"uhungarumlaut";s:3:"-20";s:7:"umacron";s:3:"-20";s:7:"uogonek";s:3:"-20";s:5:"uring";s:3:"-20";s:1:"v";s:3:"-55";s:1:"w";s:3:"-55";s:1:"y";s:3:"-55";s:6:"yacute";s:3:"-55";s:9:"ydieresis";s:3:"-55";}s:9:"Adieresis";a:49:{s:1:"C";s:3:"-30";s:6:"Cacute";s:3:"-30";s:6:"Ccaron";s:3:"-30";s:8:"Ccedilla";s:3:"-30";s:1:"G";s:3:"-35";s:6:"Gbreve";s:3:"-35";s:12:"Gcommaaccent";s:3:"-35";s:1:"O";s:3:"-40";s:6:"Oacute";s:3:"-40";s:11:"Ocircumflex";s:3:"-40";s:9:"Odieresis";s:3:"-40";s:6:"Ograve";s:3:"-40";s:13:"Ohungarumlaut";s:3:"-40";s:7:"Omacron";s:3:"-40";s:6:"Oslash";s:3:"-40";s:6:"Otilde";s:3:"-40";s:1:"Q";s:3:"-40";s:1:"T";s:3:"-37";s:6:"Tcaron";s:3:"-37";s:12:"Tcommaaccent";s:3:"-37";s:1:"U";s:3:"-50";s:6:"Uacute";s:3:"-50";s:11:"Ucircumflex";s:3:"-50";s:9:"Udieresis";s:3:"-50";s:6:"Ugrave";s:3:"-50";s:13:"Uhungarumlaut";s:3:"-50";s:7:"Umacron";s:3:"-50";s:7:"Uogonek";s:3:"-50";s:5:"Uring";s:3:"-50";s:1:"V";s:4:"-105";s:1:"W";s:3:"-95";s:1:"Y";s:3:"-55";s:6:"Yacute";s:3:"-55";s:9:"Ydieresis";s:3:"-55";s:10:"quoteright";s:3:"-37";s:1:"u";s:3:"-20";s:6:"uacute";s:3:"-20";s:11:"ucircumflex";s:3:"-20";s:9:"udieresis";s:3:"-20";s:6:"ugrave";s:3:"-20";s:13:"uhungarumlaut";s:3:"-20";s:7:"umacron";s:3:"-20";s:7:"uogonek";s:3:"-20";s:5:"uring";s:3:"-20";s:1:"v";s:3:"-55";s:1:"w";s:3:"-55";s:1:"y";s:3:"-55";s:6:"yacute";s:3:"-55";s:9:"ydieresis";s:3:"-55";}s:6:"Agrave";a:49:{s:1:"C";s:3:"-30";s:6:"Cacute";s:3:"-30";s:6:"Ccaron";s:3:"-30";s:8:"Ccedilla";s:3:"-30";s:1:"G";s:3:"-35";s:6:"Gbreve";s:3:"-35";s:12:"Gcommaaccent";s:3:"-35";s:1:"O";s:3:"-40";s:6:"Oacute";s:3:"-40";s:11:"Ocircumflex";s:3:"-40";s:9:"Odieresis";s:3:"-40";s:6:"Ograve";s:3:"-40";s:13:"Ohungarumlaut";s:3:"-40";s:7:"Omacron";s:3:"-40";s:6:"Oslash";s:3:"-40";s:6:"Otilde";s:3:"-40";s:1:"Q";s:3:"-40";s:1:"T";s:3:"-37";s:6:"Tcaron";s:3:"-37";s:12:"Tcommaaccent";s:3:"-37";s:1:"U";s:3:"-50";s:6:"Uacute";s:3:"-50";s:11:"Ucircumflex";s:3:"-50";s:9:"Udieresis";s:3:"-50";s:6:"Ugrave";s:3:"-50";s:13:"Uhungarumlaut";s:3:"-50";s:7:"Umacron";s:3:"-50";s:7:"Uogonek";s:3:"-50";s:5:"Uring";s:3:"-50";s:1:"V";s:4:"-105";s:1:"W";s:3:"-95";s:1:"Y";s:3:"-55";s:6:"Yacute";s:3:"-55";s:9:"Ydieresis";s:3:"-55";s:10:"quoteright";s:3:"-37";s:1:"u";s:3:"-20";s:6:"uacute";s:3:"-20";s:11:"ucircumflex";s:3:"-20";s:9:"udieresis";s:3:"-20";s:6:"ugrave";s:3:"-20";s:13:"uhungarumlaut";s:3:"-20";s:7:"umacron";s:3:"-20";s:7:"uogonek";s:3:"-20";s:5:"uring";s:3:"-20";s:1:"v";s:3:"-55";s:1:"w";s:3:"-55";s:1:"y";s:3:"-55";s:6:"yacute";s:3:"-55";s:9:"ydieresis";s:3:"-55";}s:7:"Amacron";a:49:{s:1:"C";s:3:"-30";s:6:"Cacute";s:3:"-30";s:6:"Ccaron";s:3:"-30";s:8:"Ccedilla";s:3:"-30";s:1:"G";s:3:"-35";s:6:"Gbreve";s:3:"-35";s:12:"Gcommaaccent";s:3:"-35";s:1:"O";s:3:"-40";s:6:"Oacute";s:3:"-40";s:11:"Ocircumflex";s:3:"-40";s:9:"Odieresis";s:3:"-40";s:6:"Ograve";s:3:"-40";s:13:"Ohungarumlaut";s:3:"-40";s:7:"Omacron";s:3:"-40";s:6:"Oslash";s:3:"-40";s:6:"Otilde";s:3:"-40";s:1:"Q";s:3:"-40";s:1:"T";s:3:"-37";s:6:"Tcaron";s:3:"-37";s:12:"Tcommaaccent";s:3:"-37";s:1:"U";s:3:"-50";s:6:"Uacute";s:3:"-50";s:11:"Ucircumflex";s:3:"-50";s:9:"Udieresis";s:3:"-50";s:6:"Ugrave";s:3:"-50";s:13:"Uhungarumlaut";s:3:"-50";s:7:"Umacron";s:3:"-50";s:7:"Uogonek";s:3:"-50";s:5:"Uring";s:3:"-50";s:1:"V";s:4:"-105";s:1:"W";s:3:"-95";s:1:"Y";s:3:"-55";s:6:"Yacute";s:3:"-55";s:9:"Ydieresis";s:3:"-55";s:10:"quoteright";s:3:"-37";s:1:"u";s:3:"-20";s:6:"uacute";s:3:"-20";s:11:"ucircumflex";s:3:"-20";s:9:"udieresis";s:3:"-20";s:6:"ugrave";s:3:"-20";s:13:"uhungarumlaut";s:3:"-20";s:7:"umacron";s:3:"-20";s:7:"uogonek";s:3:"-20";s:5:"uring";s:3:"-20";s:1:"v";s:3:"-55";s:1:"w";s:3:"-55";s:1:"y";s:3:"-55";s:6:"yacute";s:3:"-55";s:9:"ydieresis";s:3:"-55";}s:7:"Aogonek";a:49:{s:1:"C";s:3:"-30";s:6:"Cacute";s:3:"-30";s:6:"Ccaron";s:3:"-30";s:8:"Ccedilla";s:3:"-30";s:1:"G";s:3:"-35";s:6:"Gbreve";s:3:"-35";s:12:"Gcommaaccent";s:3:"-35";s:1:"O";s:3:"-40";s:6:"Oacute";s:3:"-40";s:11:"Ocircumflex";s:3:"-40";s:9:"Odieresis";s:3:"-40";s:6:"Ograve";s:3:"-40";s:13:"Ohungarumlaut";s:3:"-40";s:7:"Omacron";s:3:"-40";s:6:"Oslash";s:3:"-40";s:6:"Otilde";s:3:"-40";s:1:"Q";s:3:"-40";s:1:"T";s:3:"-37";s:6:"Tcaron";s:3:"-37";s:12:"Tcommaaccent";s:3:"-37";s:1:"U";s:3:"-50";s:6:"Uacute";s:3:"-50";s:11:"Ucircumflex";s:3:"-50";s:9:"Udieresis";s:3:"-50";s:6:"Ugrave";s:3:"-50";s:13:"Uhungarumlaut";s:3:"-50";s:7:"Umacron";s:3:"-50";s:7:"Uogonek";s:3:"-50";s:5:"Uring";s:3:"-50";s:1:"V";s:4:"-105";s:1:"W";s:3:"-95";s:1:"Y";s:3:"-55";s:6:"Yacute";s:3:"-55";s:9:"Ydieresis";s:3:"-55";s:10:"quoteright";s:3:"-37";s:1:"u";s:3:"-20";s:6:"uacute";s:3:"-20";s:11:"ucircumflex";s:3:"-20";s:9:"udieresis";s:3:"-20";s:6:"ugrave";s:3:"-20";s:13:"uhungarumlaut";s:3:"-20";s:7:"umacron";s:3:"-20";s:7:"uogonek";s:3:"-20";s:5:"uring";s:3:"-20";s:1:"v";s:3:"-55";s:1:"w";s:3:"-55";s:1:"y";s:3:"-55";s:6:"yacute";s:3:"-55";s:9:"ydieresis";s:3:"-55";}s:5:"Aring";a:49:{s:1:"C";s:3:"-30";s:6:"Cacute";s:3:"-30";s:6:"Ccaron";s:3:"-30";s:8:"Ccedilla";s:3:"-30";s:1:"G";s:3:"-35";s:6:"Gbreve";s:3:"-35";s:12:"Gcommaaccent";s:3:"-35";s:1:"O";s:3:"-40";s:6:"Oacute";s:3:"-40";s:11:"Ocircumflex";s:3:"-40";s:9:"Odieresis";s:3:"-40";s:6:"Ograve";s:3:"-40";s:13:"Ohungarumlaut";s:3:"-40";s:7:"Omacron";s:3:"-40";s:6:"Oslash";s:3:"-40";s:6:"Otilde";s:3:"-40";s:1:"Q";s:3:"-40";s:1:"T";s:3:"-37";s:6:"Tcaron";s:3:"-37";s:12:"Tcommaaccent";s:3:"-37";s:1:"U";s:3:"-50";s:6:"Uacute";s:3:"-50";s:11:"Ucircumflex";s:3:"-50";s:9:"Udieresis";s:3:"-50";s:6:"Ugrave";s:3:"-50";s:13:"Uhungarumlaut";s:3:"-50";s:7:"Umacron";s:3:"-50";s:7:"Uogonek";s:3:"-50";s:5:"Uring";s:3:"-50";s:1:"V";s:4:"-105";s:1:"W";s:3:"-95";s:1:"Y";s:3:"-55";s:6:"Yacute";s:3:"-55";s:9:"Ydieresis";s:3:"-55";s:10:"quoteright";s:3:"-37";s:1:"u";s:3:"-20";s:6:"uacute";s:3:"-20";s:11:"ucircumflex";s:3:"-20";s:9:"udieresis";s:3:"-20";s:6:"ugrave";s:3:"-20";s:13:"uhungarumlaut";s:3:"-20";s:7:"umacron";s:3:"-20";s:7:"uogonek";s:3:"-20";s:5:"uring";s:3:"-20";s:1:"v";s:3:"-55";s:1:"w";s:3:"-55";s:1:"y";s:3:"-55";s:6:"yacute";s:3:"-55";s:9:"ydieresis";s:3:"-55";}s:6:"Atilde";a:49:{s:1:"C";s:3:"-30";s:6:"Cacute";s:3:"-30";s:6:"Ccaron";s:3:"-30";s:8:"Ccedilla";s:3:"-30";s:1:"G";s:3:"-35";s:6:"Gbreve";s:3:"-35";s:12:"Gcommaaccent";s:3:"-35";s:1:"O";s:3:"-40";s:6:"Oacute";s:3:"-40";s:11:"Ocircumflex";s:3:"-40";s:9:"Odieresis";s:3:"-40";s:6:"Ograve";s:3:"-40";s:13:"Ohungarumlaut";s:3:"-40";s:7:"Omacron";s:3:"-40";s:6:"Oslash";s:3:"-40";s:6:"Otilde";s:3:"-40";s:1:"Q";s:3:"-40";s:1:"T";s:3:"-37";s:6:"Tcaron";s:3:"-37";s:12:"Tcommaaccent";s:3:"-37";s:1:"U";s:3:"-50";s:6:"Uacute";s:3:"-50";s:11:"Ucircumflex";s:3:"-50";s:9:"Udieresis";s:3:"-50";s:6:"Ugrave";s:3:"-50";s:13:"Uhungarumlaut";s:3:"-50";s:7:"Umacron";s:3:"-50";s:7:"Uogonek";s:3:"-50";s:5:"Uring";s:3:"-50";s:1:"V";s:4:"-105";s:1:"W";s:3:"-95";s:1:"Y";s:3:"-55";s:6:"Yacute";s:3:"-55";s:9:"Ydieresis";s:3:"-55";s:10:"quoteright";s:3:"-37";s:1:"u";s:3:"-20";s:6:"uacute";s:3:"-20";s:11:"ucircumflex";s:3:"-20";s:9:"udieresis";s:3:"-20";s:6:"ugrave";s:3:"-20";s:13:"uhungarumlaut";s:3:"-20";s:7:"umacron";s:3:"-20";s:7:"uogonek";s:3:"-20";s:5:"uring";s:3:"-20";s:1:"v";s:3:"-55";s:1:"w";s:3:"-55";s:1:"y";s:3:"-55";s:6:"yacute";s:3:"-55";s:9:"ydieresis";s:3:"-55";}s:1:"B";a:19:{s:1:"A";s:3:"-25";s:6:"Aacute";s:3:"-25";s:6:"Abreve";s:3:"-25";s:11:"Acircumflex";s:3:"-25";s:9:"Adieresis";s:3:"-25";s:6:"Agrave";s:3:"-25";s:7:"Amacron";s:3:"-25";s:7:"Aogonek";s:3:"-25";s:5:"Aring";s:3:"-25";s:6:"Atilde";s:3:"-25";s:1:"U";s:3:"-10";s:6:"Uacute";s:3:"-10";s:11:"Ucircumflex";s:3:"-10";s:9:"Udieresis";s:3:"-10";s:6:"Ugrave";s:3:"-10";s:13:"Uhungarumlaut";s:3:"-10";s:7:"Umacron";s:3:"-10";s:7:"Uogonek";s:3:"-10";s:5:"Uring";s:3:"-10";}s:1:"D";a:15:{s:1:"A";s:3:"-35";s:6:"Aacute";s:3:"-35";s:6:"Abreve";s:3:"-35";s:11:"Acircumflex";s:3:"-35";s:9:"Adieresis";s:3:"-35";s:6:"Agrave";s:3:"-35";s:7:"Amacron";s:3:"-35";s:7:"Aogonek";s:3:"-35";s:5:"Aring";s:3:"-35";s:6:"Atilde";s:3:"-35";s:1:"V";s:3:"-40";s:1:"W";s:3:"-40";s:1:"Y";s:3:"-40";s:6:"Yacute";s:3:"-40";s:9:"Ydieresis";s:3:"-40";}s:6:"Dcaron";a:15:{s:1:"A";s:3:"-35";s:6:"Aacute";s:3:"-35";s:6:"Abreve";s:3:"-35";s:11:"Acircumflex";s:3:"-35";s:9:"Adieresis";s:3:"-35";s:6:"Agrave";s:3:"-35";s:7:"Amacron";s:3:"-35";s:7:"Aogonek";s:3:"-35";s:5:"Aring";s:3:"-35";s:6:"Atilde";s:3:"-35";s:1:"V";s:3:"-40";s:1:"W";s:3:"-40";s:1:"Y";s:3:"-40";s:6:"Yacute";s:3:"-40";s:9:"Ydieresis";s:3:"-40";}s:6:"Dcroat";a:15:{s:1:"A";s:3:"-35";s:6:"Aacute";s:3:"-35";s:6:"Abreve";s:3:"-35";s:11:"Acircumflex";s:3:"-35";s:9:"Adieresis";s:3:"-35";s:6:"Agrave";s:3:"-35";s:7:"Amacron";s:3:"-35";s:7:"Aogonek";s:3:"-35";s:5:"Aring";s:3:"-35";s:6:"Atilde";s:3:"-35";s:1:"V";s:3:"-40";s:1:"W";s:3:"-40";s:1:"Y";s:3:"-40";s:6:"Yacute";s:3:"-40";s:9:"Ydieresis";s:3:"-40";}s:1:"F";a:51:{s:1:"A";s:4:"-115";s:6:"Aacute";s:4:"-115";s:6:"Abreve";s:4:"-115";s:11:"Acircumflex";s:4:"-115";s:9:"Adieresis";s:4:"-115";s:6:"Agrave";s:4:"-115";s:7:"Amacron";s:4:"-115";s:7:"Aogonek";s:4:"-115";s:5:"Aring";s:4:"-115";s:6:"Atilde";s:4:"-115";s:1:"a";s:3:"-75";s:6:"aacute";s:3:"-75";s:6:"abreve";s:3:"-75";s:11:"acircumflex";s:3:"-75";s:9:"adieresis";s:3:"-75";s:6:"agrave";s:3:"-75";s:7:"amacron";s:3:"-75";s:7:"aogonek";s:3:"-75";s:5:"aring";s:3:"-75";s:6:"atilde";s:3:"-75";s:5:"comma";s:4:"-135";s:1:"e";s:3:"-75";s:6:"eacute";s:3:"-75";s:6:"ecaron";s:3:"-75";s:11:"ecircumflex";s:3:"-75";s:9:"edieresis";s:3:"-75";s:10:"edotaccent";s:3:"-75";s:6:"egrave";s:3:"-75";s:7:"emacron";s:3:"-75";s:7:"eogonek";s:3:"-75";s:1:"i";s:3:"-45";s:6:"iacute";s:3:"-45";s:11:"icircumflex";s:3:"-45";s:9:"idieresis";s:3:"-45";s:6:"igrave";s:3:"-45";s:7:"imacron";s:3:"-45";s:7:"iogonek";s:3:"-45";s:1:"o";s:4:"-105";s:6:"oacute";s:4:"-105";s:11:"ocircumflex";s:4:"-105";s:9:"odieresis";s:4:"-105";s:6:"ograve";s:4:"-105";s:13:"ohungarumlaut";s:4:"-105";s:7:"omacron";s:4:"-105";s:6:"oslash";s:4:"-105";s:6:"otilde";s:4:"-105";s:6:"period";s:4:"-135";s:1:"r";s:3:"-55";s:6:"racute";s:3:"-55";s:6:"rcaron";s:3:"-55";s:12:"rcommaaccent";s:3:"-55";}s:1:"J";a:49:{s:1:"A";s:3:"-40";s:6:"Aacute";s:3:"-40";s:6:"Abreve";s:3:"-40";s:11:"Acircumflex";s:3:"-40";s:9:"Adieresis";s:3:"-40";s:6:"Agrave";s:3:"-40";s:7:"Amacron";s:3:"-40";s:7:"Aogonek";s:3:"-40";s:5:"Aring";s:3:"-40";s:6:"Atilde";s:3:"-40";s:1:"a";s:3:"-35";s:6:"aacute";s:3:"-35";s:6:"abreve";s:3:"-35";s:11:"acircumflex";s:3:"-35";s:9:"adieresis";s:3:"-35";s:6:"agrave";s:3:"-35";s:7:"amacron";s:3:"-35";s:7:"aogonek";s:3:"-35";s:5:"aring";s:3:"-35";s:6:"atilde";s:3:"-35";s:5:"comma";s:3:"-25";s:1:"e";s:3:"-25";s:6:"eacute";s:3:"-25";s:6:"ecaron";s:3:"-25";s:11:"ecircumflex";s:3:"-25";s:9:"edieresis";s:3:"-25";s:10:"edotaccent";s:3:"-25";s:6:"egrave";s:3:"-25";s:7:"emacron";s:3:"-25";s:7:"eogonek";s:3:"-25";s:1:"o";s:3:"-25";s:6:"oacute";s:3:"-25";s:11:"ocircumflex";s:3:"-25";s:9:"odieresis";s:3:"-25";s:6:"ograve";s:3:"-25";s:13:"ohungarumlaut";s:3:"-25";s:7:"omacron";s:3:"-25";s:6:"oslash";s:3:"-25";s:6:"otilde";s:3:"-25";s:6:"period";s:3:"-25";s:1:"u";s:3:"-35";s:6:"uacute";s:3:"-35";s:11:"ucircumflex";s:3:"-35";s:9:"udieresis";s:3:"-35";s:6:"ugrave";s:3:"-35";s:13:"uhungarumlaut";s:3:"-35";s:7:"umacron";s:3:"-35";s:7:"uogonek";s:3:"-35";s:5:"uring";s:3:"-35";}s:1:"K";a:39:{s:1:"O";s:3:"-50";s:6:"Oacute";s:3:"-50";s:11:"Ocircumflex";s:3:"-50";s:9:"Odieresis";s:3:"-50";s:6:"Ograve";s:3:"-50";s:13:"Ohungarumlaut";s:3:"-50";s:7:"Omacron";s:3:"-50";s:6:"Oslash";s:3:"-50";s:6:"Otilde";s:3:"-50";s:1:"e";s:3:"-35";s:6:"eacute";s:3:"-35";s:6:"ecaron";s:3:"-35";s:11:"ecircumflex";s:3:"-35";s:9:"edieresis";s:3:"-35";s:10:"edotaccent";s:3:"-35";s:6:"egrave";s:3:"-35";s:7:"emacron";s:3:"-35";s:7:"eogonek";s:3:"-35";s:1:"o";s:3:"-40";s:6:"oacute";s:3:"-40";s:11:"ocircumflex";s:3:"-40";s:9:"odieresis";s:3:"-40";s:6:"ograve";s:3:"-40";s:13:"ohungarumlaut";s:3:"-40";s:7:"omacron";s:3:"-40";s:6:"oslash";s:3:"-40";s:6:"otilde";s:3:"-40";s:1:"u";s:3:"-40";s:6:"uacute";s:3:"-40";s:11:"ucircumflex";s:3:"-40";s:9:"udieresis";s:3:"-40";s:6:"ugrave";s:3:"-40";s:13:"uhungarumlaut";s:3:"-40";s:7:"umacron";s:3:"-40";s:7:"uogonek";s:3:"-40";s:5:"uring";s:3:"-40";s:1:"y";s:3:"-40";s:6:"yacute";s:3:"-40";s:9:"ydieresis";s:3:"-40";}s:12:"Kcommaaccent";a:39:{s:1:"O";s:3:"-50";s:6:"Oacute";s:3:"-50";s:11:"Ocircumflex";s:3:"-50";s:9:"Odieresis";s:3:"-50";s:6:"Ograve";s:3:"-50";s:13:"Ohungarumlaut";s:3:"-50";s:7:"Omacron";s:3:"-50";s:6:"Oslash";s:3:"-50";s:6:"Otilde";s:3:"-50";s:1:"e";s:3:"-35";s:6:"eacute";s:3:"-35";s:6:"ecaron";s:3:"-35";s:11:"ecircumflex";s:3:"-35";s:9:"edieresis";s:3:"-35";s:10:"edotaccent";s:3:"-35";s:6:"egrave";s:3:"-35";s:7:"emacron";s:3:"-35";s:7:"eogonek";s:3:"-35";s:1:"o";s:3:"-40";s:6:"oacute";s:3:"-40";s:11:"ocircumflex";s:3:"-40";s:9:"odieresis";s:3:"-40";s:6:"ograve";s:3:"-40";s:13:"ohungarumlaut";s:3:"-40";s:7:"omacron";s:3:"-40";s:6:"oslash";s:3:"-40";s:6:"otilde";s:3:"-40";s:1:"u";s:3:"-40";s:6:"uacute";s:3:"-40";s:11:"ucircumflex";s:3:"-40";s:9:"udieresis";s:3:"-40";s:6:"ugrave";s:3:"-40";s:13:"uhungarumlaut";s:3:"-40";s:7:"umacron";s:3:"-40";s:7:"uogonek";s:3:"-40";s:5:"uring";s:3:"-40";s:1:"y";s:3:"-40";s:6:"yacute";s:3:"-40";s:9:"ydieresis";s:3:"-40";}s:1:"L";a:12:{s:1:"T";s:3:"-20";s:6:"Tcaron";s:3:"-20";s:12:"Tcommaaccent";s:3:"-20";s:1:"V";s:3:"-55";s:1:"W";s:3:"-55";s:1:"Y";s:3:"-20";s:6:"Yacute";s:3:"-20";s:9:"Ydieresis";s:3:"-20";s:10:"quoteright";s:3:"-37";s:1:"y";s:3:"-30";s:6:"yacute";s:3:"-30";s:9:"ydieresis";s:3:"-30";}s:6:"Lacute";a:12:{s:1:"T";s:3:"-20";s:6:"Tcaron";s:3:"-20";s:12:"Tcommaaccent";s:3:"-20";s:1:"V";s:3:"-55";s:1:"W";s:3:"-55";s:1:"Y";s:3:"-20";s:6:"Yacute";s:3:"-20";s:9:"Ydieresis";s:3:"-20";s:10:"quoteright";s:3:"-37";s:1:"y";s:3:"-30";s:6:"yacute";s:3:"-30";s:9:"ydieresis";s:3:"-30";}s:12:"Lcommaaccent";a:12:{s:1:"T";s:3:"-20";s:6:"Tcaron";s:3:"-20";s:12:"Tcommaaccent";s:3:"-20";s:1:"V";s:3:"-55";s:1:"W";s:3:"-55";s:1:"Y";s:3:"-20";s:6:"Yacute";s:3:"-20";s:9:"Ydieresis";s:3:"-20";s:10:"quoteright";s:3:"-37";s:1:"y";s:3:"-30";s:6:"yacute";s:3:"-30";s:9:"ydieresis";s:3:"-30";}s:6:"Lslash";a:12:{s:1:"T";s:3:"-20";s:6:"Tcaron";s:3:"-20";s:12:"Tcommaaccent";s:3:"-20";s:1:"V";s:3:"-55";s:1:"W";s:3:"-55";s:1:"Y";s:3:"-20";s:6:"Yacute";s:3:"-20";s:9:"Ydieresis";s:3:"-20";s:10:"quoteright";s:3:"-37";s:1:"y";s:3:"-30";s:6:"yacute";s:3:"-30";s:9:"ydieresis";s:3:"-30";}s:1:"N";a:10:{s:1:"A";s:3:"-27";s:6:"Aacute";s:3:"-27";s:6:"Abreve";s:3:"-27";s:11:"Acircumflex";s:3:"-27";s:9:"Adieresis";s:3:"-27";s:6:"Agrave";s:3:"-27";s:7:"Amacron";s:3:"-27";s:7:"Aogonek";s:3:"-27";s:5:"Aring";s:3:"-27";s:6:"Atilde";s:3:"-27";}s:6:"Nacute";a:10:{s:1:"A";s:3:"-27";s:6:"Aacute";s:3:"-27";s:6:"Abreve";s:3:"-27";s:11:"Acircumflex";s:3:"-27";s:9:"Adieresis";s:3:"-27";s:6:"Agrave";s:3:"-27";s:7:"Amacron";s:3:"-27";s:7:"Aogonek";s:3:"-27";s:5:"Aring";s:3:"-27";s:6:"Atilde";s:3:"-27";}s:6:"Ncaron";a:10:{s:1:"A";s:3:"-27";s:6:"Aacute";s:3:"-27";s:6:"Abreve";s:3:"-27";s:11:"Acircumflex";s:3:"-27";s:9:"Adieresis";s:3:"-27";s:6:"Agrave";s:3:"-27";s:7:"Amacron";s:3:"-27";s:7:"Aogonek";s:3:"-27";s:5:"Aring";s:3:"-27";s:6:"Atilde";s:3:"-27";}s:12:"Ncommaaccent";a:10:{s:1:"A";s:3:"-27";s:6:"Aacute";s:3:"-27";s:6:"Abreve";s:3:"-27";s:11:"Acircumflex";s:3:"-27";s:9:"Adieresis";s:3:"-27";s:6:"Agrave";s:3:"-27";s:7:"Amacron";s:3:"-27";s:7:"Aogonek";s:3:"-27";s:5:"Aring";s:3:"-27";s:6:"Atilde";s:3:"-27";}s:6:"Ntilde";a:10:{s:1:"A";s:3:"-27";s:6:"Aacute";s:3:"-27";s:6:"Abreve";s:3:"-27";s:11:"Acircumflex";s:3:"-27";s:9:"Adieresis";s:3:"-27";s:6:"Agrave";s:3:"-27";s:7:"Amacron";s:3:"-27";s:7:"Aogonek";s:3:"-27";s:5:"Aring";s:3:"-27";s:6:"Atilde";s:3:"-27";}s:1:"O";a:19:{s:1:"A";s:3:"-55";s:6:"Aacute";s:3:"-55";s:6:"Abreve";s:3:"-55";s:11:"Acircumflex";s:3:"-55";s:9:"Adieresis";s:3:"-55";s:6:"Agrave";s:3:"-55";s:7:"Amacron";s:3:"-55";s:7:"Aogonek";s:3:"-55";s:5:"Aring";s:3:"-55";s:6:"Atilde";s:3:"-55";s:1:"T";s:3:"-40";s:6:"Tcaron";s:3:"-40";s:12:"Tcommaaccent";s:3:"-40";s:1:"V";s:3:"-50";s:1:"W";s:3:"-50";s:1:"X";s:3:"-40";s:1:"Y";s:3:"-50";s:6:"Yacute";s:3:"-50";s:9:"Ydieresis";s:3:"-50";}s:6:"Oacute";a:19:{s:1:"A";s:3:"-55";s:6:"Aacute";s:3:"-55";s:6:"Abreve";s:3:"-55";s:11:"Acircumflex";s:3:"-55";s:9:"Adieresis";s:3:"-55";s:6:"Agrave";s:3:"-55";s:7:"Amacron";s:3:"-55";s:7:"Aogonek";s:3:"-55";s:5:"Aring";s:3:"-55";s:6:"Atilde";s:3:"-55";s:1:"T";s:3:"-40";s:6:"Tcaron";s:3:"-40";s:12:"Tcommaaccent";s:3:"-40";s:1:"V";s:3:"-50";s:1:"W";s:3:"-50";s:1:"X";s:3:"-40";s:1:"Y";s:3:"-50";s:6:"Yacute";s:3:"-50";s:9:"Ydieresis";s:3:"-50";}s:11:"Ocircumflex";a:19:{s:1:"A";s:3:"-55";s:6:"Aacute";s:3:"-55";s:6:"Abreve";s:3:"-55";s:11:"Acircumflex";s:3:"-55";s:9:"Adieresis";s:3:"-55";s:6:"Agrave";s:3:"-55";s:7:"Amacron";s:3:"-55";s:7:"Aogonek";s:3:"-55";s:5:"Aring";s:3:"-55";s:6:"Atilde";s:3:"-55";s:1:"T";s:3:"-40";s:6:"Tcaron";s:3:"-40";s:12:"Tcommaaccent";s:3:"-40";s:1:"V";s:3:"-50";s:1:"W";s:3:"-50";s:1:"X";s:3:"-40";s:1:"Y";s:3:"-50";s:6:"Yacute";s:3:"-50";s:9:"Ydieresis";s:3:"-50";}s:9:"Odieresis";a:19:{s:1:"A";s:3:"-55";s:6:"Aacute";s:3:"-55";s:6:"Abreve";s:3:"-55";s:11:"Acircumflex";s:3:"-55";s:9:"Adieresis";s:3:"-55";s:6:"Agrave";s:3:"-55";s:7:"Amacron";s:3:"-55";s:7:"Aogonek";s:3:"-55";s:5:"Aring";s:3:"-55";s:6:"Atilde";s:3:"-55";s:1:"T";s:3:"-40";s:6:"Tcaron";s:3:"-40";s:12:"Tcommaaccent";s:3:"-40";s:1:"V";s:3:"-50";s:1:"W";s:3:"-50";s:1:"X";s:3:"-40";s:1:"Y";s:3:"-50";s:6:"Yacute";s:3:"-50";s:9:"Ydieresis";s:3:"-50";}s:6:"Ograve";a:19:{s:1:"A";s:3:"-55";s:6:"Aacute";s:3:"-55";s:6:"Abreve";s:3:"-55";s:11:"Acircumflex";s:3:"-55";s:9:"Adieresis";s:3:"-55";s:6:"Agrave";s:3:"-55";s:7:"Amacron";s:3:"-55";s:7:"Aogonek";s:3:"-55";s:5:"Aring";s:3:"-55";s:6:"Atilde";s:3:"-55";s:1:"T";s:3:"-40";s:6:"Tcaron";s:3:"-40";s:12:"Tcommaaccent";s:3:"-40";s:1:"V";s:3:"-50";s:1:"W";s:3:"-50";s:1:"X";s:3:"-40";s:1:"Y";s:3:"-50";s:6:"Yacute";s:3:"-50";s:9:"Ydieresis";s:3:"-50";}s:13:"Ohungarumlaut";a:19:{s:1:"A";s:3:"-55";s:6:"Aacute";s:3:"-55";s:6:"Abreve";s:3:"-55";s:11:"Acircumflex";s:3:"-55";s:9:"Adieresis";s:3:"-55";s:6:"Agrave";s:3:"-55";s:7:"Amacron";s:3:"-55";s:7:"Aogonek";s:3:"-55";s:5:"Aring";s:3:"-55";s:6:"Atilde";s:3:"-55";s:1:"T";s:3:"-40";s:6:"Tcaron";s:3:"-40";s:12:"Tcommaaccent";s:3:"-40";s:1:"V";s:3:"-50";s:1:"W";s:3:"-50";s:1:"X";s:3:"-40";s:1:"Y";s:3:"-50";s:6:"Yacute";s:3:"-50";s:9:"Ydieresis";s:3:"-50";}s:7:"Omacron";a:19:{s:1:"A";s:3:"-55";s:6:"Aacute";s:3:"-55";s:6:"Abreve";s:3:"-55";s:11:"Acircumflex";s:3:"-55";s:9:"Adieresis";s:3:"-55";s:6:"Agrave";s:3:"-55";s:7:"Amacron";s:3:"-55";s:7:"Aogonek";s:3:"-55";s:5:"Aring";s:3:"-55";s:6:"Atilde";s:3:"-55";s:1:"T";s:3:"-40";s:6:"Tcaron";s:3:"-40";s:12:"Tcommaaccent";s:3:"-40";s:1:"V";s:3:"-50";s:1:"W";s:3:"-50";s:1:"X";s:3:"-40";s:1:"Y";s:3:"-50";s:6:"Yacute";s:3:"-50";s:9:"Ydieresis";s:3:"-50";}s:6:"Oslash";a:19:{s:1:"A";s:3:"-55";s:6:"Aacute";s:3:"-55";s:6:"Abreve";s:3:"-55";s:11:"Acircumflex";s:3:"-55";s:9:"Adieresis";s:3:"-55";s:6:"Agrave";s:3:"-55";s:7:"Amacron";s:3:"-55";s:7:"Aogonek";s:3:"-55";s:5:"Aring";s:3:"-55";s:6:"Atilde";s:3:"-55";s:1:"T";s:3:"-40";s:6:"Tcaron";s:3:"-40";s:12:"Tcommaaccent";s:3:"-40";s:1:"V";s:3:"-50";s:1:"W";s:3:"-50";s:1:"X";s:3:"-40";s:1:"Y";s:3:"-50";s:6:"Yacute";s:3:"-50";s:9:"Ydieresis";s:3:"-50";}s:6:"Otilde";a:19:{s:1:"A";s:3:"-55";s:6:"Aacute";s:3:"-55";s:6:"Abreve";s:3:"-55";s:11:"Acircumflex";s:3:"-55";s:9:"Adieresis";s:3:"-55";s:6:"Agrave";s:3:"-55";s:7:"Amacron";s:3:"-55";s:7:"Aogonek";s:3:"-55";s:5:"Aring";s:3:"-55";s:6:"Atilde";s:3:"-55";s:1:"T";s:3:"-40";s:6:"Tcaron";s:3:"-40";s:12:"Tcommaaccent";s:3:"-40";s:1:"V";s:3:"-50";s:1:"W";s:3:"-50";s:1:"X";s:3:"-40";s:1:"Y";s:3:"-50";s:6:"Yacute";s:3:"-50";s:9:"Ydieresis";s:3:"-50";}s:1:"P";a:40:{s:1:"A";s:3:"-90";s:6:"Aacute";s:3:"-90";s:6:"Abreve";s:3:"-90";s:11:"Acircumflex";s:3:"-90";s:9:"Adieresis";s:3:"-90";s:6:"Agrave";s:3:"-90";s:7:"Amacron";s:3:"-90";s:7:"Aogonek";s:3:"-90";s:5:"Aring";s:3:"-90";s:6:"Atilde";s:3:"-90";s:1:"a";s:3:"-80";s:6:"aacute";s:3:"-80";s:6:"abreve";s:3:"-80";s:11:"acircumflex";s:3:"-80";s:9:"adieresis";s:3:"-80";s:6:"agrave";s:3:"-80";s:7:"amacron";s:3:"-80";s:7:"aogonek";s:3:"-80";s:5:"aring";s:3:"-80";s:6:"atilde";s:3:"-80";s:5:"comma";s:4:"-135";s:1:"e";s:3:"-80";s:6:"eacute";s:3:"-80";s:6:"ecaron";s:3:"-80";s:11:"ecircumflex";s:3:"-80";s:9:"edieresis";s:3:"-80";s:10:"edotaccent";s:3:"-80";s:6:"egrave";s:3:"-80";s:7:"emacron";s:3:"-80";s:7:"eogonek";s:3:"-80";s:1:"o";s:3:"-80";s:6:"oacute";s:3:"-80";s:11:"ocircumflex";s:3:"-80";s:9:"odieresis";s:3:"-80";s:6:"ograve";s:3:"-80";s:13:"ohungarumlaut";s:3:"-80";s:7:"omacron";s:3:"-80";s:6:"oslash";s:3:"-80";s:6:"otilde";s:3:"-80";s:6:"period";s:4:"-135";}s:1:"Q";a:9:{s:1:"U";s:3:"-10";s:6:"Uacute";s:3:"-10";s:11:"Ucircumflex";s:3:"-10";s:9:"Udieresis";s:3:"-10";s:6:"Ugrave";s:3:"-10";s:13:"Uhungarumlaut";s:3:"-10";s:7:"Umacron";s:3:"-10";s:7:"Uogonek";s:3:"-10";s:5:"Uring";s:3:"-10";}s:1:"R";a:23:{s:1:"O";s:3:"-40";s:6:"Oacute";s:3:"-40";s:11:"Ocircumflex";s:3:"-40";s:9:"Odieresis";s:3:"-40";s:6:"Ograve";s:3:"-40";s:13:"Ohungarumlaut";s:3:"-40";s:7:"Omacron";s:3:"-40";s:6:"Oslash";s:3:"-40";s:6:"Otilde";s:3:"-40";s:1:"U";s:3:"-40";s:6:"Uacute";s:3:"-40";s:11:"Ucircumflex";s:3:"-40";s:9:"Udieresis";s:3:"-40";s:6:"Ugrave";s:3:"-40";s:13:"Uhungarumlaut";s:3:"-40";s:7:"Umacron";s:3:"-40";s:7:"Uogonek";s:3:"-40";s:5:"Uring";s:3:"-40";s:1:"V";s:3:"-18";s:1:"W";s:3:"-18";s:1:"Y";s:3:"-18";s:6:"Yacute";s:3:"-18";s:9:"Ydieresis";s:3:"-18";}s:6:"Racute";a:23:{s:1:"O";s:3:"-40";s:6:"Oacute";s:3:"-40";s:11:"Ocircumflex";s:3:"-40";s:9:"Odieresis";s:3:"-40";s:6:"Ograve";s:3:"-40";s:13:"Ohungarumlaut";s:3:"-40";s:7:"Omacron";s:3:"-40";s:6:"Oslash";s:3:"-40";s:6:"Otilde";s:3:"-40";s:1:"U";s:3:"-40";s:6:"Uacute";s:3:"-40";s:11:"Ucircumflex";s:3:"-40";s:9:"Udieresis";s:3:"-40";s:6:"Ugrave";s:3:"-40";s:13:"Uhungarumlaut";s:3:"-40";s:7:"Umacron";s:3:"-40";s:7:"Uogonek";s:3:"-40";s:5:"Uring";s:3:"-40";s:1:"V";s:3:"-18";s:1:"W";s:3:"-18";s:1:"Y";s:3:"-18";s:6:"Yacute";s:3:"-18";s:9:"Ydieresis";s:3:"-18";}s:6:"Rcaron";a:23:{s:1:"O";s:3:"-40";s:6:"Oacute";s:3:"-40";s:11:"Ocircumflex";s:3:"-40";s:9:"Odieresis";s:3:"-40";s:6:"Ograve";s:3:"-40";s:13:"Ohungarumlaut";s:3:"-40";s:7:"Omacron";s:3:"-40";s:6:"Oslash";s:3:"-40";s:6:"Otilde";s:3:"-40";s:1:"U";s:3:"-40";s:6:"Uacute";s:3:"-40";s:11:"Ucircumflex";s:3:"-40";s:9:"Udieresis";s:3:"-40";s:6:"Ugrave";s:3:"-40";s:13:"Uhungarumlaut";s:3:"-40";s:7:"Umacron";s:3:"-40";s:7:"Uogonek";s:3:"-40";s:5:"Uring";s:3:"-40";s:1:"V";s:3:"-18";s:1:"W";s:3:"-18";s:1:"Y";s:3:"-18";s:6:"Yacute";s:3:"-18";s:9:"Ydieresis";s:3:"-18";}s:12:"Rcommaaccent";a:23:{s:1:"O";s:3:"-40";s:6:"Oacute";s:3:"-40";s:11:"Ocircumflex";s:3:"-40";s:9:"Odieresis";s:3:"-40";s:6:"Ograve";s:3:"-40";s:13:"Ohungarumlaut";s:3:"-40";s:7:"Omacron";s:3:"-40";s:6:"Oslash";s:3:"-40";s:6:"Otilde";s:3:"-40";s:1:"U";s:3:"-40";s:6:"Uacute";s:3:"-40";s:11:"Ucircumflex";s:3:"-40";s:9:"Udieresis";s:3:"-40";s:6:"Ugrave";s:3:"-40";s:13:"Uhungarumlaut";s:3:"-40";s:7:"Umacron";s:3:"-40";s:7:"Uogonek";s:3:"-40";s:5:"Uring";s:3:"-40";s:1:"V";s:3:"-18";s:1:"W";s:3:"-18";s:1:"Y";s:3:"-18";s:6:"Yacute";s:3:"-18";s:9:"Ydieresis";s:3:"-18";}s:1:"T";a:72:{s:1:"A";s:3:"-50";s:6:"Aacute";s:3:"-50";s:6:"Abreve";s:3:"-50";s:11:"Acircumflex";s:3:"-50";s:9:"Adieresis";s:3:"-50";s:6:"Agrave";s:3:"-50";s:7:"Amacron";s:3:"-50";s:7:"Aogonek";s:3:"-50";s:5:"Aring";s:3:"-50";s:6:"Atilde";s:3:"-50";s:1:"O";s:3:"-18";s:6:"Oacute";s:3:"-18";s:11:"Ocircumflex";s:3:"-18";s:9:"Odieresis";s:3:"-18";s:6:"Ograve";s:3:"-18";s:13:"Ohungarumlaut";s:3:"-18";s:7:"Omacron";s:3:"-18";s:6:"Oslash";s:3:"-18";s:6:"Otilde";s:3:"-18";s:1:"a";s:3:"-92";s:6:"aacute";s:3:"-92";s:6:"abreve";s:3:"-92";s:11:"acircumflex";s:3:"-92";s:9:"adieresis";s:3:"-92";s:6:"agrave";s:3:"-92";s:7:"amacron";s:3:"-92";s:7:"aogonek";s:3:"-92";s:5:"aring";s:3:"-92";s:6:"atilde";s:3:"-92";s:5:"colon";s:3:"-55";s:5:"comma";s:3:"-74";s:1:"e";s:3:"-92";s:6:"eacute";s:3:"-92";s:6:"ecaron";s:3:"-92";s:11:"ecircumflex";s:3:"-52";s:9:"edieresis";s:3:"-52";s:10:"edotaccent";s:3:"-92";s:6:"egrave";s:3:"-52";s:7:"emacron";s:3:"-52";s:7:"eogonek";s:3:"-92";s:6:"hyphen";s:3:"-74";s:1:"i";s:3:"-55";s:6:"iacute";s:3:"-55";s:7:"iogonek";s:3:"-55";s:1:"o";s:3:"-92";s:6:"oacute";s:3:"-92";s:11:"ocircumflex";s:3:"-92";s:9:"odieresis";s:3:"-92";s:6:"ograve";s:3:"-92";s:13:"ohungarumlaut";s:3:"-92";s:7:"omacron";s:3:"-92";s:6:"oslash";s:3:"-92";s:6:"otilde";s:3:"-92";s:6:"period";s:3:"-74";s:1:"r";s:3:"-55";s:6:"racute";s:3:"-55";s:6:"rcaron";s:3:"-55";s:12:"rcommaaccent";s:3:"-55";s:9:"semicolon";s:3:"-65";s:1:"u";s:3:"-55";s:6:"uacute";s:3:"-55";s:11:"ucircumflex";s:3:"-55";s:9:"udieresis";s:3:"-55";s:6:"ugrave";s:3:"-55";s:13:"uhungarumlaut";s:3:"-55";s:7:"umacron";s:3:"-55";s:7:"uogonek";s:3:"-55";s:5:"uring";s:3:"-55";s:1:"w";s:3:"-74";s:1:"y";s:3:"-74";s:6:"yacute";s:3:"-74";s:9:"ydieresis";s:3:"-34";}s:6:"Tcaron";a:72:{s:1:"A";s:3:"-50";s:6:"Aacute";s:3:"-50";s:6:"Abreve";s:3:"-50";s:11:"Acircumflex";s:3:"-50";s:9:"Adieresis";s:3:"-50";s:6:"Agrave";s:3:"-50";s:7:"Amacron";s:3:"-50";s:7:"Aogonek";s:3:"-50";s:5:"Aring";s:3:"-50";s:6:"Atilde";s:3:"-50";s:1:"O";s:3:"-18";s:6:"Oacute";s:3:"-18";s:11:"Ocircumflex";s:3:"-18";s:9:"Odieresis";s:3:"-18";s:6:"Ograve";s:3:"-18";s:13:"Ohungarumlaut";s:3:"-18";s:7:"Omacron";s:3:"-18";s:6:"Oslash";s:3:"-18";s:6:"Otilde";s:3:"-18";s:1:"a";s:3:"-92";s:6:"aacute";s:3:"-92";s:6:"abreve";s:3:"-92";s:11:"acircumflex";s:3:"-92";s:9:"adieresis";s:3:"-92";s:6:"agrave";s:3:"-92";s:7:"amacron";s:3:"-92";s:7:"aogonek";s:3:"-92";s:5:"aring";s:3:"-92";s:6:"atilde";s:3:"-92";s:5:"colon";s:3:"-55";s:5:"comma";s:3:"-74";s:1:"e";s:3:"-92";s:6:"eacute";s:3:"-92";s:6:"ecaron";s:3:"-92";s:11:"ecircumflex";s:3:"-52";s:9:"edieresis";s:3:"-52";s:10:"edotaccent";s:3:"-92";s:6:"egrave";s:3:"-52";s:7:"emacron";s:3:"-52";s:7:"eogonek";s:3:"-92";s:6:"hyphen";s:3:"-74";s:1:"i";s:3:"-55";s:6:"iacute";s:3:"-55";s:7:"iogonek";s:3:"-55";s:1:"o";s:3:"-92";s:6:"oacute";s:3:"-92";s:11:"ocircumflex";s:3:"-92";s:9:"odieresis";s:3:"-92";s:6:"ograve";s:3:"-92";s:13:"ohungarumlaut";s:3:"-92";s:7:"omacron";s:3:"-92";s:6:"oslash";s:3:"-92";s:6:"otilde";s:3:"-92";s:6:"period";s:3:"-74";s:1:"r";s:3:"-55";s:6:"racute";s:3:"-55";s:6:"rcaron";s:3:"-55";s:12:"rcommaaccent";s:3:"-55";s:9:"semicolon";s:3:"-65";s:1:"u";s:3:"-55";s:6:"uacute";s:3:"-55";s:11:"ucircumflex";s:3:"-55";s:9:"udieresis";s:3:"-55";s:6:"ugrave";s:3:"-55";s:13:"uhungarumlaut";s:3:"-55";s:7:"umacron";s:3:"-55";s:7:"uogonek";s:3:"-55";s:5:"uring";s:3:"-55";s:1:"w";s:3:"-74";s:1:"y";s:3:"-74";s:6:"yacute";s:3:"-74";s:9:"ydieresis";s:3:"-34";}s:12:"Tcommaaccent";a:72:{s:1:"A";s:3:"-50";s:6:"Aacute";s:3:"-50";s:6:"Abreve";s:3:"-50";s:11:"Acircumflex";s:3:"-50";s:9:"Adieresis";s:3:"-50";s:6:"Agrave";s:3:"-50";s:7:"Amacron";s:3:"-50";s:7:"Aogonek";s:3:"-50";s:5:"Aring";s:3:"-50";s:6:"Atilde";s:3:"-50";s:1:"O";s:3:"-18";s:6:"Oacute";s:3:"-18";s:11:"Ocircumflex";s:3:"-18";s:9:"Odieresis";s:3:"-18";s:6:"Ograve";s:3:"-18";s:13:"Ohungarumlaut";s:3:"-18";s:7:"Omacron";s:3:"-18";s:6:"Oslash";s:3:"-18";s:6:"Otilde";s:3:"-18";s:1:"a";s:3:"-92";s:6:"aacute";s:3:"-92";s:6:"abreve";s:3:"-92";s:11:"acircumflex";s:3:"-92";s:9:"adieresis";s:3:"-92";s:6:"agrave";s:3:"-92";s:7:"amacron";s:3:"-92";s:7:"aogonek";s:3:"-92";s:5:"aring";s:3:"-92";s:6:"atilde";s:3:"-92";s:5:"colon";s:3:"-55";s:5:"comma";s:3:"-74";s:1:"e";s:3:"-92";s:6:"eacute";s:3:"-92";s:6:"ecaron";s:3:"-92";s:11:"ecircumflex";s:3:"-52";s:9:"edieresis";s:3:"-52";s:10:"edotaccent";s:3:"-92";s:6:"egrave";s:3:"-52";s:7:"emacron";s:3:"-52";s:7:"eogonek";s:3:"-92";s:6:"hyphen";s:3:"-74";s:1:"i";s:3:"-55";s:6:"iacute";s:3:"-55";s:7:"iogonek";s:3:"-55";s:1:"o";s:3:"-92";s:6:"oacute";s:3:"-92";s:11:"ocircumflex";s:3:"-92";s:9:"odieresis";s:3:"-92";s:6:"ograve";s:3:"-92";s:13:"ohungarumlaut";s:3:"-92";s:7:"omacron";s:3:"-92";s:6:"oslash";s:3:"-92";s:6:"otilde";s:3:"-92";s:6:"period";s:3:"-74";s:1:"r";s:3:"-55";s:6:"racute";s:3:"-55";s:6:"rcaron";s:3:"-55";s:12:"rcommaaccent";s:3:"-55";s:9:"semicolon";s:3:"-65";s:1:"u";s:3:"-55";s:6:"uacute";s:3:"-55";s:11:"ucircumflex";s:3:"-55";s:9:"udieresis";s:3:"-55";s:6:"ugrave";s:3:"-55";s:13:"uhungarumlaut";s:3:"-55";s:7:"umacron";s:3:"-55";s:7:"uogonek";s:3:"-55";s:5:"uring";s:3:"-55";s:1:"w";s:3:"-74";s:1:"y";s:3:"-74";s:6:"yacute";s:3:"-74";s:9:"ydieresis";s:3:"-34";}s:1:"U";a:12:{s:1:"A";s:3:"-40";s:6:"Aacute";s:3:"-40";s:6:"Abreve";s:3:"-40";s:11:"Acircumflex";s:3:"-40";s:9:"Adieresis";s:3:"-40";s:6:"Agrave";s:3:"-40";s:7:"Amacron";s:3:"-40";s:7:"Aogonek";s:3:"-40";s:5:"Aring";s:3:"-40";s:6:"Atilde";s:3:"-40";s:5:"comma";s:3:"-25";s:6:"period";s:3:"-25";}s:6:"Uacute";a:12:{s:1:"A";s:3:"-40";s:6:"Aacute";s:3:"-40";s:6:"Abreve";s:3:"-40";s:11:"Acircumflex";s:3:"-40";s:9:"Adieresis";s:3:"-40";s:6:"Agrave";s:3:"-40";s:7:"Amacron";s:3:"-40";s:7:"Aogonek";s:3:"-40";s:5:"Aring";s:3:"-40";s:6:"Atilde";s:3:"-40";s:5:"comma";s:3:"-25";s:6:"period";s:3:"-25";}s:11:"Ucircumflex";a:12:{s:1:"A";s:3:"-40";s:6:"Aacute";s:3:"-40";s:6:"Abreve";s:3:"-40";s:11:"Acircumflex";s:3:"-40";s:9:"Adieresis";s:3:"-40";s:6:"Agrave";s:3:"-40";s:7:"Amacron";s:3:"-40";s:7:"Aogonek";s:3:"-40";s:5:"Aring";s:3:"-40";s:6:"Atilde";s:3:"-40";s:5:"comma";s:3:"-25";s:6:"period";s:3:"-25";}s:9:"Udieresis";a:12:{s:1:"A";s:3:"-40";s:6:"Aacute";s:3:"-40";s:6:"Abreve";s:3:"-40";s:11:"Acircumflex";s:3:"-40";s:9:"Adieresis";s:3:"-40";s:6:"Agrave";s:3:"-40";s:7:"Amacron";s:3:"-40";s:7:"Aogonek";s:3:"-40";s:5:"Aring";s:3:"-40";s:6:"Atilde";s:3:"-40";s:5:"comma";s:3:"-25";s:6:"period";s:3:"-25";}s:6:"Ugrave";a:12:{s:1:"A";s:3:"-40";s:6:"Aacute";s:3:"-40";s:6:"Abreve";s:3:"-40";s:11:"Acircumflex";s:3:"-40";s:9:"Adieresis";s:3:"-40";s:6:"Agrave";s:3:"-40";s:7:"Amacron";s:3:"-40";s:7:"Aogonek";s:3:"-40";s:5:"Aring";s:3:"-40";s:6:"Atilde";s:3:"-40";s:5:"comma";s:3:"-25";s:6:"period";s:3:"-25";}s:13:"Uhungarumlaut";a:12:{s:1:"A";s:3:"-40";s:6:"Aacute";s:3:"-40";s:6:"Abreve";s:3:"-40";s:11:"Acircumflex";s:3:"-40";s:9:"Adieresis";s:3:"-40";s:6:"Agrave";s:3:"-40";s:7:"Amacron";s:3:"-40";s:7:"Aogonek";s:3:"-40";s:5:"Aring";s:3:"-40";s:6:"Atilde";s:3:"-40";s:5:"comma";s:3:"-25";s:6:"period";s:3:"-25";}s:7:"Umacron";a:12:{s:1:"A";s:3:"-40";s:6:"Aacute";s:3:"-40";s:6:"Abreve";s:3:"-40";s:11:"Acircumflex";s:3:"-40";s:9:"Adieresis";s:3:"-40";s:6:"Agrave";s:3:"-40";s:7:"Amacron";s:3:"-40";s:7:"Aogonek";s:3:"-40";s:5:"Aring";s:3:"-40";s:6:"Atilde";s:3:"-40";s:5:"comma";s:3:"-25";s:6:"period";s:3:"-25";}s:7:"Uogonek";a:12:{s:1:"A";s:3:"-40";s:6:"Aacute";s:3:"-40";s:6:"Abreve";s:3:"-40";s:11:"Acircumflex";s:3:"-40";s:9:"Adieresis";s:3:"-40";s:6:"Agrave";s:3:"-40";s:7:"Amacron";s:3:"-40";s:7:"Aogonek";s:3:"-40";s:5:"Aring";s:3:"-40";s:6:"Atilde";s:3:"-40";s:5:"comma";s:3:"-25";s:6:"period";s:3:"-25";}s:5:"Uring";a:12:{s:1:"A";s:3:"-40";s:6:"Aacute";s:3:"-40";s:6:"Abreve";s:3:"-40";s:11:"Acircumflex";s:3:"-40";s:9:"Adieresis";s:3:"-40";s:6:"Agrave";s:3:"-40";s:7:"Amacron";s:3:"-40";s:7:"Aogonek";s:3:"-40";s:5:"Aring";s:3:"-40";s:6:"Atilde";s:3:"-40";s:5:"comma";s:3:"-25";s:6:"period";s:3:"-25";}s:1:"V";a:68:{s:1:"A";s:3:"-60";s:6:"Aacute";s:3:"-60";s:6:"Abreve";s:3:"-60";s:11:"Acircumflex";s:3:"-60";s:9:"Adieresis";s:3:"-60";s:6:"Agrave";s:3:"-60";s:7:"Amacron";s:3:"-60";s:7:"Aogonek";s:3:"-60";s:5:"Aring";s:3:"-60";s:6:"Atilde";s:3:"-60";s:1:"O";s:3:"-30";s:6:"Oacute";s:3:"-30";s:11:"Ocircumflex";s:3:"-30";s:9:"Odieresis";s:3:"-30";s:6:"Ograve";s:3:"-30";s:13:"Ohungarumlaut";s:3:"-30";s:7:"Omacron";s:3:"-30";s:6:"Oslash";s:3:"-30";s:6:"Otilde";s:3:"-30";s:1:"a";s:4:"-111";s:6:"aacute";s:4:"-111";s:6:"abreve";s:4:"-111";s:11:"acircumflex";s:4:"-111";s:9:"adieresis";s:4:"-111";s:6:"agrave";s:4:"-111";s:7:"amacron";s:4:"-111";s:7:"aogonek";s:4:"-111";s:5:"aring";s:4:"-111";s:6:"atilde";s:4:"-111";s:5:"colon";s:3:"-65";s:5:"comma";s:4:"-129";s:1:"e";s:4:"-111";s:6:"eacute";s:4:"-111";s:6:"ecaron";s:4:"-111";s:11:"ecircumflex";s:4:"-111";s:9:"edieresis";s:3:"-71";s:10:"edotaccent";s:4:"-111";s:6:"egrave";s:3:"-71";s:7:"emacron";s:3:"-71";s:7:"eogonek";s:4:"-111";s:6:"hyphen";s:3:"-55";s:1:"i";s:3:"-74";s:6:"iacute";s:3:"-74";s:11:"icircumflex";s:3:"-34";s:9:"idieresis";s:3:"-34";s:6:"igrave";s:3:"-34";s:7:"imacron";s:3:"-34";s:7:"iogonek";s:3:"-74";s:1:"o";s:4:"-111";s:6:"oacute";s:4:"-111";s:11:"ocircumflex";s:4:"-111";s:9:"odieresis";s:4:"-111";s:6:"ograve";s:4:"-111";s:13:"ohungarumlaut";s:4:"-111";s:7:"omacron";s:4:"-111";s:6:"oslash";s:4:"-111";s:6:"otilde";s:4:"-111";s:6:"period";s:4:"-129";s:9:"semicolon";s:3:"-74";s:1:"u";s:3:"-74";s:6:"uacute";s:3:"-74";s:11:"ucircumflex";s:3:"-74";s:9:"udieresis";s:3:"-74";s:6:"ugrave";s:3:"-74";s:13:"uhungarumlaut";s:3:"-74";s:7:"umacron";s:3:"-74";s:7:"uogonek";s:3:"-74";s:5:"uring";s:3:"-74";}s:1:"W";a:67:{s:1:"A";s:3:"-60";s:6:"Aacute";s:3:"-60";s:6:"Abreve";s:3:"-60";s:11:"Acircumflex";s:3:"-60";s:9:"Adieresis";s:3:"-60";s:6:"Agrave";s:3:"-60";s:7:"Amacron";s:3:"-60";s:7:"Aogonek";s:3:"-60";s:5:"Aring";s:3:"-60";s:6:"Atilde";s:3:"-60";s:1:"O";s:3:"-25";s:6:"Oacute";s:3:"-25";s:11:"Ocircumflex";s:3:"-25";s:9:"Odieresis";s:3:"-25";s:6:"Ograve";s:3:"-25";s:13:"Ohungarumlaut";s:3:"-25";s:7:"Omacron";s:3:"-25";s:6:"Oslash";s:3:"-25";s:6:"Otilde";s:3:"-25";s:1:"a";s:3:"-92";s:6:"aacute";s:3:"-92";s:6:"abreve";s:3:"-92";s:11:"acircumflex";s:3:"-92";s:9:"adieresis";s:3:"-92";s:6:"agrave";s:3:"-92";s:7:"amacron";s:3:"-92";s:7:"aogonek";s:3:"-92";s:5:"aring";s:3:"-92";s:6:"atilde";s:3:"-92";s:5:"colon";s:3:"-65";s:5:"comma";s:3:"-92";s:1:"e";s:3:"-92";s:6:"eacute";s:3:"-92";s:6:"ecaron";s:3:"-92";s:11:"ecircumflex";s:3:"-92";s:9:"edieresis";s:3:"-52";s:10:"edotaccent";s:3:"-92";s:6:"egrave";s:3:"-52";s:7:"emacron";s:3:"-52";s:7:"eogonek";s:3:"-92";s:6:"hyphen";s:3:"-37";s:1:"i";s:3:"-55";s:6:"iacute";s:3:"-55";s:7:"iogonek";s:3:"-55";s:1:"o";s:3:"-92";s:6:"oacute";s:3:"-92";s:11:"ocircumflex";s:3:"-92";s:9:"odieresis";s:3:"-92";s:6:"ograve";s:3:"-92";s:13:"ohungarumlaut";s:3:"-92";s:7:"omacron";s:3:"-92";s:6:"oslash";s:3:"-92";s:6:"otilde";s:3:"-92";s:6:"period";s:3:"-92";s:9:"semicolon";s:3:"-65";s:1:"u";s:3:"-55";s:6:"uacute";s:3:"-55";s:11:"ucircumflex";s:3:"-55";s:9:"udieresis";s:3:"-55";s:6:"ugrave";s:3:"-55";s:13:"uhungarumlaut";s:3:"-55";s:7:"umacron";s:3:"-55";s:7:"uogonek";s:3:"-55";s:5:"uring";s:3:"-55";s:1:"y";s:3:"-70";s:6:"yacute";s:3:"-70";s:9:"ydieresis";s:3:"-70";}s:1:"Y";a:68:{s:1:"A";s:3:"-50";s:6:"Aacute";s:3:"-50";s:6:"Abreve";s:3:"-50";s:11:"Acircumflex";s:3:"-50";s:9:"Adieresis";s:3:"-50";s:6:"Agrave";s:3:"-50";s:7:"Amacron";s:3:"-50";s:7:"Aogonek";s:3:"-50";s:5:"Aring";s:3:"-50";s:6:"Atilde";s:3:"-50";s:1:"O";s:3:"-15";s:6:"Oacute";s:3:"-15";s:11:"Ocircumflex";s:3:"-15";s:9:"Odieresis";s:3:"-15";s:6:"Ograve";s:3:"-15";s:13:"Ohungarumlaut";s:3:"-15";s:7:"Omacron";s:3:"-15";s:6:"Oslash";s:3:"-15";s:6:"Otilde";s:3:"-15";s:1:"a";s:3:"-92";s:6:"aacute";s:3:"-92";s:6:"abreve";s:3:"-92";s:11:"acircumflex";s:3:"-92";s:9:"adieresis";s:3:"-92";s:6:"agrave";s:3:"-92";s:7:"amacron";s:3:"-92";s:7:"aogonek";s:3:"-92";s:5:"aring";s:3:"-92";s:6:"atilde";s:3:"-92";s:5:"colon";s:3:"-65";s:5:"comma";s:3:"-92";s:1:"e";s:3:"-92";s:6:"eacute";s:3:"-92";s:6:"ecaron";s:3:"-92";s:11:"ecircumflex";s:3:"-92";s:9:"edieresis";s:3:"-52";s:10:"edotaccent";s:3:"-92";s:6:"egrave";s:3:"-52";s:7:"emacron";s:3:"-52";s:7:"eogonek";s:3:"-92";s:6:"hyphen";s:3:"-74";s:1:"i";s:3:"-74";s:6:"iacute";s:3:"-74";s:11:"icircumflex";s:3:"-34";s:9:"idieresis";s:3:"-34";s:6:"igrave";s:3:"-34";s:7:"imacron";s:3:"-34";s:7:"iogonek";s:3:"-74";s:1:"o";s:3:"-92";s:6:"oacute";s:3:"-92";s:11:"ocircumflex";s:3:"-92";s:9:"odieresis";s:3:"-92";s:6:"ograve";s:3:"-92";s:13:"ohungarumlaut";s:3:"-92";s:7:"omacron";s:3:"-92";s:6:"oslash";s:3:"-92";s:6:"otilde";s:3:"-92";s:6:"period";s:3:"-92";s:9:"semicolon";s:3:"-65";s:1:"u";s:3:"-92";s:6:"uacute";s:3:"-92";s:11:"ucircumflex";s:3:"-92";s:9:"udieresis";s:3:"-92";s:6:"ugrave";s:3:"-92";s:13:"uhungarumlaut";s:3:"-92";s:7:"umacron";s:3:"-92";s:7:"uogonek";s:3:"-92";s:5:"uring";s:3:"-92";}s:6:"Yacute";a:68:{s:1:"A";s:3:"-50";s:6:"Aacute";s:3:"-50";s:6:"Abreve";s:3:"-50";s:11:"Acircumflex";s:3:"-50";s:9:"Adieresis";s:3:"-50";s:6:"Agrave";s:3:"-50";s:7:"Amacron";s:3:"-50";s:7:"Aogonek";s:3:"-50";s:5:"Aring";s:3:"-50";s:6:"Atilde";s:3:"-50";s:1:"O";s:3:"-15";s:6:"Oacute";s:3:"-15";s:11:"Ocircumflex";s:3:"-15";s:9:"Odieresis";s:3:"-15";s:6:"Ograve";s:3:"-15";s:13:"Ohungarumlaut";s:3:"-15";s:7:"Omacron";s:3:"-15";s:6:"Oslash";s:3:"-15";s:6:"Otilde";s:3:"-15";s:1:"a";s:3:"-92";s:6:"aacute";s:3:"-92";s:6:"abreve";s:3:"-92";s:11:"acircumflex";s:3:"-92";s:9:"adieresis";s:3:"-92";s:6:"agrave";s:3:"-92";s:7:"amacron";s:3:"-92";s:7:"aogonek";s:3:"-92";s:5:"aring";s:3:"-92";s:6:"atilde";s:3:"-92";s:5:"colon";s:3:"-65";s:5:"comma";s:3:"-92";s:1:"e";s:3:"-92";s:6:"eacute";s:3:"-92";s:6:"ecaron";s:3:"-92";s:11:"ecircumflex";s:3:"-92";s:9:"edieresis";s:3:"-52";s:10:"edotaccent";s:3:"-92";s:6:"egrave";s:3:"-52";s:7:"emacron";s:3:"-52";s:7:"eogonek";s:3:"-92";s:6:"hyphen";s:3:"-74";s:1:"i";s:3:"-74";s:6:"iacute";s:3:"-74";s:11:"icircumflex";s:3:"-34";s:9:"idieresis";s:3:"-34";s:6:"igrave";s:3:"-34";s:7:"imacron";s:3:"-34";s:7:"iogonek";s:3:"-74";s:1:"o";s:3:"-92";s:6:"oacute";s:3:"-92";s:11:"ocircumflex";s:3:"-92";s:9:"odieresis";s:3:"-92";s:6:"ograve";s:3:"-92";s:13:"ohungarumlaut";s:3:"-92";s:7:"omacron";s:3:"-92";s:6:"oslash";s:3:"-92";s:6:"otilde";s:3:"-92";s:6:"period";s:3:"-92";s:9:"semicolon";s:3:"-65";s:1:"u";s:3:"-92";s:6:"uacute";s:3:"-92";s:11:"ucircumflex";s:3:"-92";s:9:"udieresis";s:3:"-92";s:6:"ugrave";s:3:"-92";s:13:"uhungarumlaut";s:3:"-92";s:7:"umacron";s:3:"-92";s:7:"uogonek";s:3:"-92";s:5:"uring";s:3:"-92";}s:9:"Ydieresis";a:68:{s:1:"A";s:3:"-50";s:6:"Aacute";s:3:"-50";s:6:"Abreve";s:3:"-50";s:11:"Acircumflex";s:3:"-50";s:9:"Adieresis";s:3:"-50";s:6:"Agrave";s:3:"-50";s:7:"Amacron";s:3:"-50";s:7:"Aogonek";s:3:"-50";s:5:"Aring";s:3:"-50";s:6:"Atilde";s:3:"-50";s:1:"O";s:3:"-15";s:6:"Oacute";s:3:"-15";s:11:"Ocircumflex";s:3:"-15";s:9:"Odieresis";s:3:"-15";s:6:"Ograve";s:3:"-15";s:13:"Ohungarumlaut";s:3:"-15";s:7:"Omacron";s:3:"-15";s:6:"Oslash";s:3:"-15";s:6:"Otilde";s:3:"-15";s:1:"a";s:3:"-92";s:6:"aacute";s:3:"-92";s:6:"abreve";s:3:"-92";s:11:"acircumflex";s:3:"-92";s:9:"adieresis";s:3:"-92";s:6:"agrave";s:3:"-92";s:7:"amacron";s:3:"-92";s:7:"aogonek";s:3:"-92";s:5:"aring";s:3:"-92";s:6:"atilde";s:3:"-92";s:5:"colon";s:3:"-65";s:5:"comma";s:3:"-92";s:1:"e";s:3:"-92";s:6:"eacute";s:3:"-92";s:6:"ecaron";s:3:"-92";s:11:"ecircumflex";s:3:"-92";s:9:"edieresis";s:3:"-52";s:10:"edotaccent";s:3:"-92";s:6:"egrave";s:3:"-52";s:7:"emacron";s:3:"-52";s:7:"eogonek";s:3:"-92";s:6:"hyphen";s:3:"-74";s:1:"i";s:3:"-74";s:6:"iacute";s:3:"-74";s:11:"icircumflex";s:3:"-34";s:9:"idieresis";s:3:"-34";s:6:"igrave";s:3:"-34";s:7:"imacron";s:3:"-34";s:7:"iogonek";s:3:"-74";s:1:"o";s:3:"-92";s:6:"oacute";s:3:"-92";s:11:"ocircumflex";s:3:"-92";s:9:"odieresis";s:3:"-92";s:6:"ograve";s:3:"-92";s:13:"ohungarumlaut";s:3:"-92";s:7:"omacron";s:3:"-92";s:6:"oslash";s:3:"-92";s:6:"otilde";s:3:"-92";s:6:"period";s:3:"-92";s:9:"semicolon";s:3:"-65";s:1:"u";s:3:"-92";s:6:"uacute";s:3:"-92";s:11:"ucircumflex";s:3:"-92";s:9:"udieresis";s:3:"-92";s:6:"ugrave";s:3:"-92";s:13:"uhungarumlaut";s:3:"-92";s:7:"umacron";s:3:"-92";s:7:"uogonek";s:3:"-92";s:5:"uring";s:3:"-92";}s:1:"a";a:3:{s:1:"g";s:3:"-10";s:6:"gbreve";s:3:"-10";s:12:"gcommaaccent";s:3:"-10";}s:6:"aacute";a:3:{s:1:"g";s:3:"-10";s:6:"gbreve";s:3:"-10";s:12:"gcommaaccent";s:3:"-10";}s:6:"abreve";a:3:{s:1:"g";s:3:"-10";s:6:"gbreve";s:3:"-10";s:12:"gcommaaccent";s:3:"-10";}s:11:"acircumflex";a:3:{s:1:"g";s:3:"-10";s:6:"gbreve";s:3:"-10";s:12:"gcommaaccent";s:3:"-10";}s:9:"adieresis";a:3:{s:1:"g";s:3:"-10";s:6:"gbreve";s:3:"-10";s:12:"gcommaaccent";s:3:"-10";}s:6:"agrave";a:3:{s:1:"g";s:3:"-10";s:6:"gbreve";s:3:"-10";s:12:"gcommaaccent";s:3:"-10";}s:7:"amacron";a:3:{s:1:"g";s:3:"-10";s:6:"gbreve";s:3:"-10";s:12:"gcommaaccent";s:3:"-10";}s:7:"aogonek";a:3:{s:1:"g";s:3:"-10";s:6:"gbreve";s:3:"-10";s:12:"gcommaaccent";s:3:"-10";}s:5:"aring";a:3:{s:1:"g";s:3:"-10";s:6:"gbreve";s:3:"-10";s:12:"gcommaaccent";s:3:"-10";}s:6:"atilde";a:3:{s:1:"g";s:3:"-10";s:6:"gbreve";s:3:"-10";s:12:"gcommaaccent";s:3:"-10";}s:1:"b";a:10:{s:6:"period";s:3:"-40";s:1:"u";s:3:"-20";s:6:"uacute";s:3:"-20";s:11:"ucircumflex";s:3:"-20";s:9:"udieresis";s:3:"-20";s:6:"ugrave";s:3:"-20";s:13:"uhungarumlaut";s:3:"-20";s:7:"umacron";s:3:"-20";s:7:"uogonek";s:3:"-20";s:5:"uring";s:3:"-20";}s:1:"c";a:3:{s:1:"h";s:3:"-15";s:1:"k";s:3:"-20";s:12:"kcommaaccent";s:3:"-20";}s:6:"cacute";a:3:{s:1:"h";s:3:"-15";s:1:"k";s:3:"-20";s:12:"kcommaaccent";s:3:"-20";}s:6:"ccaron";a:3:{s:1:"h";s:3:"-15";s:1:"k";s:3:"-20";s:12:"kcommaaccent";s:3:"-20";}s:8:"ccedilla";a:3:{s:1:"h";s:3:"-15";s:1:"k";s:3:"-20";s:12:"kcommaaccent";s:3:"-20";}s:5:"comma";a:2:{s:13:"quotedblright";s:4:"-140";s:10:"quoteright";s:4:"-140";}s:1:"e";a:11:{s:5:"comma";s:3:"-10";s:1:"g";s:3:"-40";s:6:"gbreve";s:3:"-40";s:12:"gcommaaccent";s:3:"-40";s:6:"period";s:3:"-15";s:1:"v";s:3:"-15";s:1:"w";s:3:"-15";s:1:"x";s:3:"-20";s:1:"y";s:3:"-30";s:6:"yacute";s:3:"-30";s:9:"ydieresis";s:3:"-30";}s:6:"eacute";a:11:{s:5:"comma";s:3:"-10";s:1:"g";s:3:"-40";s:6:"gbreve";s:3:"-40";s:12:"gcommaaccent";s:3:"-40";s:6:"period";s:3:"-15";s:1:"v";s:3:"-15";s:1:"w";s:3:"-15";s:1:"x";s:3:"-20";s:1:"y";s:3:"-30";s:6:"yacute";s:3:"-30";s:9:"ydieresis";s:3:"-30";}s:6:"ecaron";a:11:{s:5:"comma";s:3:"-10";s:1:"g";s:3:"-40";s:6:"gbreve";s:3:"-40";s:12:"gcommaaccent";s:3:"-40";s:6:"period";s:3:"-15";s:1:"v";s:3:"-15";s:1:"w";s:3:"-15";s:1:"x";s:3:"-20";s:1:"y";s:3:"-30";s:6:"yacute";s:3:"-30";s:9:"ydieresis";s:3:"-30";}s:11:"ecircumflex";a:11:{s:5:"comma";s:3:"-10";s:1:"g";s:3:"-40";s:6:"gbreve";s:3:"-40";s:12:"gcommaaccent";s:3:"-40";s:6:"period";s:3:"-15";s:1:"v";s:3:"-15";s:1:"w";s:3:"-15";s:1:"x";s:3:"-20";s:1:"y";s:3:"-30";s:6:"yacute";s:3:"-30";s:9:"ydieresis";s:3:"-30";}s:9:"edieresis";a:11:{s:5:"comma";s:3:"-10";s:1:"g";s:3:"-40";s:6:"gbreve";s:3:"-40";s:12:"gcommaaccent";s:3:"-40";s:6:"period";s:3:"-15";s:1:"v";s:3:"-15";s:1:"w";s:3:"-15";s:1:"x";s:3:"-20";s:1:"y";s:3:"-30";s:6:"yacute";s:3:"-30";s:9:"ydieresis";s:3:"-30";}s:10:"edotaccent";a:11:{s:5:"comma";s:3:"-10";s:1:"g";s:3:"-40";s:6:"gbreve";s:3:"-40";s:12:"gcommaaccent";s:3:"-40";s:6:"period";s:3:"-15";s:1:"v";s:3:"-15";s:1:"w";s:3:"-15";s:1:"x";s:3:"-20";s:1:"y";s:3:"-30";s:6:"yacute";s:3:"-30";s:9:"ydieresis";s:3:"-30";}s:6:"egrave";a:11:{s:5:"comma";s:3:"-10";s:1:"g";s:3:"-40";s:6:"gbreve";s:3:"-40";s:12:"gcommaaccent";s:3:"-40";s:6:"period";s:3:"-15";s:1:"v";s:3:"-15";s:1:"w";s:3:"-15";s:1:"x";s:3:"-20";s:1:"y";s:3:"-30";s:6:"yacute";s:3:"-30";s:9:"ydieresis";s:3:"-30";}s:7:"emacron";a:11:{s:5:"comma";s:3:"-10";s:1:"g";s:3:"-40";s:6:"gbreve";s:3:"-40";s:12:"gcommaaccent";s:3:"-40";s:6:"period";s:3:"-15";s:1:"v";s:3:"-15";s:1:"w";s:3:"-15";s:1:"x";s:3:"-20";s:1:"y";s:3:"-30";s:6:"yacute";s:3:"-30";s:9:"ydieresis";s:3:"-30";}s:7:"eogonek";a:11:{s:5:"comma";s:3:"-10";s:1:"g";s:3:"-40";s:6:"gbreve";s:3:"-40";s:12:"gcommaaccent";s:3:"-40";s:6:"period";s:3:"-15";s:1:"v";s:3:"-15";s:1:"w";s:3:"-15";s:1:"x";s:3:"-20";s:1:"y";s:3:"-30";s:6:"yacute";s:3:"-30";s:9:"ydieresis";s:3:"-30";}s:1:"f";a:7:{s:5:"comma";s:3:"-10";s:8:"dotlessi";s:3:"-60";s:1:"f";s:3:"-18";s:1:"i";s:3:"-20";s:7:"iogonek";s:3:"-20";s:6:"period";s:3:"-15";s:10:"quoteright";s:2:"92";}s:1:"g";a:14:{s:5:"comma";s:3:"-10";s:1:"e";s:3:"-10";s:6:"eacute";s:3:"-10";s:6:"ecaron";s:3:"-10";s:11:"ecircumflex";s:3:"-10";s:9:"edieresis";s:3:"-10";s:10:"edotaccent";s:3:"-10";s:6:"egrave";s:3:"-10";s:7:"emacron";s:3:"-10";s:7:"eogonek";s:3:"-10";s:1:"g";s:3:"-10";s:6:"gbreve";s:3:"-10";s:12:"gcommaaccent";s:3:"-10";s:6:"period";s:3:"-15";}s:6:"gbreve";a:14:{s:5:"comma";s:3:"-10";s:1:"e";s:3:"-10";s:6:"eacute";s:3:"-10";s:6:"ecaron";s:3:"-10";s:11:"ecircumflex";s:3:"-10";s:9:"edieresis";s:3:"-10";s:10:"edotaccent";s:3:"-10";s:6:"egrave";s:3:"-10";s:7:"emacron";s:3:"-10";s:7:"eogonek";s:3:"-10";s:1:"g";s:3:"-10";s:6:"gbreve";s:3:"-10";s:12:"gcommaaccent";s:3:"-10";s:6:"period";s:3:"-15";}s:12:"gcommaaccent";a:14:{s:5:"comma";s:3:"-10";s:1:"e";s:3:"-10";s:6:"eacute";s:3:"-10";s:6:"ecaron";s:3:"-10";s:11:"ecircumflex";s:3:"-10";s:9:"edieresis";s:3:"-10";s:10:"edotaccent";s:3:"-10";s:6:"egrave";s:3:"-10";s:7:"emacron";s:3:"-10";s:7:"eogonek";s:3:"-10";s:1:"g";s:3:"-10";s:6:"gbreve";s:3:"-10";s:12:"gcommaaccent";s:3:"-10";s:6:"period";s:3:"-15";}s:1:"k";a:21:{s:1:"e";s:3:"-10";s:6:"eacute";s:3:"-10";s:6:"ecaron";s:3:"-10";s:11:"ecircumflex";s:3:"-10";s:9:"edieresis";s:3:"-10";s:10:"edotaccent";s:3:"-10";s:6:"egrave";s:3:"-10";s:7:"emacron";s:3:"-10";s:7:"eogonek";s:3:"-10";s:1:"o";s:3:"-10";s:6:"oacute";s:3:"-10";s:11:"ocircumflex";s:3:"-10";s:9:"odieresis";s:3:"-10";s:6:"ograve";s:3:"-10";s:13:"ohungarumlaut";s:3:"-10";s:7:"omacron";s:3:"-10";s:6:"oslash";s:3:"-10";s:6:"otilde";s:3:"-10";s:1:"y";s:3:"-10";s:6:"yacute";s:3:"-10";s:9:"ydieresis";s:3:"-10";}s:12:"kcommaaccent";a:21:{s:1:"e";s:3:"-10";s:6:"eacute";s:3:"-10";s:6:"ecaron";s:3:"-10";s:11:"ecircumflex";s:3:"-10";s:9:"edieresis";s:3:"-10";s:10:"edotaccent";s:3:"-10";s:6:"egrave";s:3:"-10";s:7:"emacron";s:3:"-10";s:7:"eogonek";s:3:"-10";s:1:"o";s:3:"-10";s:6:"oacute";s:3:"-10";s:11:"ocircumflex";s:3:"-10";s:9:"odieresis";s:3:"-10";s:6:"ograve";s:3:"-10";s:13:"ohungarumlaut";s:3:"-10";s:7:"omacron";s:3:"-10";s:6:"oslash";s:3:"-10";s:6:"otilde";s:3:"-10";s:1:"y";s:3:"-10";s:6:"yacute";s:3:"-10";s:9:"ydieresis";s:3:"-10";}s:1:"n";a:1:{s:1:"v";s:3:"-40";}s:6:"nacute";a:1:{s:1:"v";s:3:"-40";}s:6:"ncaron";a:1:{s:1:"v";s:3:"-40";}s:12:"ncommaaccent";a:1:{s:1:"v";s:3:"-40";}s:6:"ntilde";a:1:{s:1:"v";s:3:"-40";}s:1:"o";a:4:{s:1:"g";s:3:"-10";s:6:"gbreve";s:3:"-10";s:12:"gcommaaccent";s:3:"-10";s:1:"v";s:3:"-10";}s:6:"oacute";a:4:{s:1:"g";s:3:"-10";s:6:"gbreve";s:3:"-10";s:12:"gcommaaccent";s:3:"-10";s:1:"v";s:3:"-10";}s:11:"ocircumflex";a:4:{s:1:"g";s:3:"-10";s:6:"gbreve";s:3:"-10";s:12:"gcommaaccent";s:3:"-10";s:1:"v";s:3:"-10";}s:9:"odieresis";a:4:{s:1:"g";s:3:"-10";s:6:"gbreve";s:3:"-10";s:12:"gcommaaccent";s:3:"-10";s:1:"v";s:3:"-10";}s:6:"ograve";a:4:{s:1:"g";s:3:"-10";s:6:"gbreve";s:3:"-10";s:12:"gcommaaccent";s:3:"-10";s:1:"v";s:3:"-10";}s:13:"ohungarumlaut";a:4:{s:1:"g";s:3:"-10";s:6:"gbreve";s:3:"-10";s:12:"gcommaaccent";s:3:"-10";s:1:"v";s:3:"-10";}s:7:"omacron";a:4:{s:1:"g";s:3:"-10";s:6:"gbreve";s:3:"-10";s:12:"gcommaaccent";s:3:"-10";s:1:"v";s:3:"-10";}s:6:"oslash";a:4:{s:1:"g";s:3:"-10";s:6:"gbreve";s:3:"-10";s:12:"gcommaaccent";s:3:"-10";s:1:"v";s:3:"-10";}s:6:"otilde";a:4:{s:1:"g";s:3:"-10";s:6:"gbreve";s:3:"-10";s:12:"gcommaaccent";s:3:"-10";s:1:"v";s:3:"-10";}s:6:"period";a:2:{s:13:"quotedblright";s:4:"-140";s:10:"quoteright";s:4:"-140";}s:9:"quoteleft";a:1:{s:9:"quoteleft";s:4:"-111";}s:10:"quoteright";a:16:{s:1:"d";s:3:"-25";s:6:"dcroat";s:3:"-25";s:10:"quoteright";s:4:"-111";s:1:"r";s:3:"-25";s:6:"racute";s:3:"-25";s:6:"rcaron";s:3:"-25";s:12:"rcommaaccent";s:3:"-25";s:1:"s";s:3:"-40";s:6:"sacute";s:3:"-40";s:6:"scaron";s:3:"-40";s:8:"scedilla";s:3:"-40";s:12:"scommaaccent";s:3:"-40";s:5:"space";s:4:"-111";s:1:"t";s:3:"-30";s:12:"tcommaaccent";s:3:"-30";s:1:"v";s:3:"-10";}s:1:"r";a:46:{s:1:"a";s:3:"-15";s:6:"aacute";s:3:"-15";s:6:"abreve";s:3:"-15";s:11:"acircumflex";s:3:"-15";s:9:"adieresis";s:3:"-15";s:6:"agrave";s:3:"-15";s:7:"amacron";s:3:"-15";s:7:"aogonek";s:3:"-15";s:5:"aring";s:3:"-15";s:6:"atilde";s:3:"-15";s:1:"c";s:3:"-37";s:6:"cacute";s:3:"-37";s:6:"ccaron";s:3:"-37";s:8:"ccedilla";s:3:"-37";s:5:"comma";s:4:"-111";s:1:"d";s:3:"-37";s:6:"dcroat";s:3:"-37";s:1:"e";s:3:"-37";s:6:"eacute";s:3:"-37";s:6:"ecaron";s:3:"-37";s:11:"ecircumflex";s:3:"-37";s:9:"edieresis";s:3:"-37";s:10:"edotaccent";s:3:"-37";s:6:"egrave";s:3:"-37";s:7:"emacron";s:3:"-37";s:7:"eogonek";s:3:"-37";s:1:"g";s:3:"-37";s:6:"gbreve";s:3:"-37";s:12:"gcommaaccent";s:3:"-37";s:6:"hyphen";s:3:"-20";s:1:"o";s:3:"-45";s:6:"oacute";s:3:"-45";s:11:"ocircumflex";s:3:"-45";s:9:"odieresis";s:3:"-45";s:6:"ograve";s:3:"-45";s:13:"ohungarumlaut";s:3:"-45";s:7:"omacron";s:3:"-45";s:6:"oslash";s:3:"-45";s:6:"otilde";s:3:"-45";s:6:"period";s:4:"-111";s:1:"q";s:3:"-37";s:1:"s";s:3:"-10";s:6:"sacute";s:3:"-10";s:6:"scaron";s:3:"-10";s:8:"scedilla";s:3:"-10";s:12:"scommaaccent";s:3:"-10";}s:6:"racute";a:46:{s:1:"a";s:3:"-15";s:6:"aacute";s:3:"-15";s:6:"abreve";s:3:"-15";s:11:"acircumflex";s:3:"-15";s:9:"adieresis";s:3:"-15";s:6:"agrave";s:3:"-15";s:7:"amacron";s:3:"-15";s:7:"aogonek";s:3:"-15";s:5:"aring";s:3:"-15";s:6:"atilde";s:3:"-15";s:1:"c";s:3:"-37";s:6:"cacute";s:3:"-37";s:6:"ccaron";s:3:"-37";s:8:"ccedilla";s:3:"-37";s:5:"comma";s:4:"-111";s:1:"d";s:3:"-37";s:6:"dcroat";s:3:"-37";s:1:"e";s:3:"-37";s:6:"eacute";s:3:"-37";s:6:"ecaron";s:3:"-37";s:11:"ecircumflex";s:3:"-37";s:9:"edieresis";s:3:"-37";s:10:"edotaccent";s:3:"-37";s:6:"egrave";s:3:"-37";s:7:"emacron";s:3:"-37";s:7:"eogonek";s:3:"-37";s:1:"g";s:3:"-37";s:6:"gbreve";s:3:"-37";s:12:"gcommaaccent";s:3:"-37";s:6:"hyphen";s:3:"-20";s:1:"o";s:3:"-45";s:6:"oacute";s:3:"-45";s:11:"ocircumflex";s:3:"-45";s:9:"odieresis";s:3:"-45";s:6:"ograve";s:3:"-45";s:13:"ohungarumlaut";s:3:"-45";s:7:"omacron";s:3:"-45";s:6:"oslash";s:3:"-45";s:6:"otilde";s:3:"-45";s:6:"period";s:4:"-111";s:1:"q";s:3:"-37";s:1:"s";s:3:"-10";s:6:"sacute";s:3:"-10";s:6:"scaron";s:3:"-10";s:8:"scedilla";s:3:"-10";s:12:"scommaaccent";s:3:"-10";}s:6:"rcaron";a:46:{s:1:"a";s:3:"-15";s:6:"aacute";s:3:"-15";s:6:"abreve";s:3:"-15";s:11:"acircumflex";s:3:"-15";s:9:"adieresis";s:3:"-15";s:6:"agrave";s:3:"-15";s:7:"amacron";s:3:"-15";s:7:"aogonek";s:3:"-15";s:5:"aring";s:3:"-15";s:6:"atilde";s:3:"-15";s:1:"c";s:3:"-37";s:6:"cacute";s:3:"-37";s:6:"ccaron";s:3:"-37";s:8:"ccedilla";s:3:"-37";s:5:"comma";s:4:"-111";s:1:"d";s:3:"-37";s:6:"dcroat";s:3:"-37";s:1:"e";s:3:"-37";s:6:"eacute";s:3:"-37";s:6:"ecaron";s:3:"-37";s:11:"ecircumflex";s:3:"-37";s:9:"edieresis";s:3:"-37";s:10:"edotaccent";s:3:"-37";s:6:"egrave";s:3:"-37";s:7:"emacron";s:3:"-37";s:7:"eogonek";s:3:"-37";s:1:"g";s:3:"-37";s:6:"gbreve";s:3:"-37";s:12:"gcommaaccent";s:3:"-37";s:6:"hyphen";s:3:"-20";s:1:"o";s:3:"-45";s:6:"oacute";s:3:"-45";s:11:"ocircumflex";s:3:"-45";s:9:"odieresis";s:3:"-45";s:6:"ograve";s:3:"-45";s:13:"ohungarumlaut";s:3:"-45";s:7:"omacron";s:3:"-45";s:6:"oslash";s:3:"-45";s:6:"otilde";s:3:"-45";s:6:"period";s:4:"-111";s:1:"q";s:3:"-37";s:1:"s";s:3:"-10";s:6:"sacute";s:3:"-10";s:6:"scaron";s:3:"-10";s:8:"scedilla";s:3:"-10";s:12:"scommaaccent";s:3:"-10";}s:12:"rcommaaccent";a:46:{s:1:"a";s:3:"-15";s:6:"aacute";s:3:"-15";s:6:"abreve";s:3:"-15";s:11:"acircumflex";s:3:"-15";s:9:"adieresis";s:3:"-15";s:6:"agrave";s:3:"-15";s:7:"amacron";s:3:"-15";s:7:"aogonek";s:3:"-15";s:5:"aring";s:3:"-15";s:6:"atilde";s:3:"-15";s:1:"c";s:3:"-37";s:6:"cacute";s:3:"-37";s:6:"ccaron";s:3:"-37";s:8:"ccedilla";s:3:"-37";s:5:"comma";s:4:"-111";s:1:"d";s:3:"-37";s:6:"dcroat";s:3:"-37";s:1:"e";s:3:"-37";s:6:"eacute";s:3:"-37";s:6:"ecaron";s:3:"-37";s:11:"ecircumflex";s:3:"-37";s:9:"edieresis";s:3:"-37";s:10:"edotaccent";s:3:"-37";s:6:"egrave";s:3:"-37";s:7:"emacron";s:3:"-37";s:7:"eogonek";s:3:"-37";s:1:"g";s:3:"-37";s:6:"gbreve";s:3:"-37";s:12:"gcommaaccent";s:3:"-37";s:6:"hyphen";s:3:"-20";s:1:"o";s:3:"-45";s:6:"oacute";s:3:"-45";s:11:"ocircumflex";s:3:"-45";s:9:"odieresis";s:3:"-45";s:6:"ograve";s:3:"-45";s:13:"ohungarumlaut";s:3:"-45";s:7:"omacron";s:3:"-45";s:6:"oslash";s:3:"-45";s:6:"otilde";s:3:"-45";s:6:"period";s:4:"-111";s:1:"q";s:3:"-37";s:1:"s";s:3:"-10";s:6:"sacute";s:3:"-10";s:6:"scaron";s:3:"-10";s:8:"scedilla";s:3:"-10";s:12:"scommaaccent";s:3:"-10";}s:5:"space";a:18:{s:1:"A";s:3:"-18";s:6:"Aacute";s:3:"-18";s:6:"Abreve";s:3:"-18";s:11:"Acircumflex";s:3:"-18";s:9:"Adieresis";s:3:"-18";s:6:"Agrave";s:3:"-18";s:7:"Amacron";s:3:"-18";s:7:"Aogonek";s:3:"-18";s:5:"Aring";s:3:"-18";s:6:"Atilde";s:3:"-18";s:1:"T";s:3:"-18";s:6:"Tcaron";s:3:"-18";s:12:"Tcommaaccent";s:3:"-18";s:1:"V";s:3:"-35";s:1:"W";s:3:"-40";s:1:"Y";s:3:"-75";s:6:"Yacute";s:3:"-75";s:9:"Ydieresis";s:3:"-75";}s:1:"v";a:2:{s:5:"comma";s:3:"-74";s:6:"period";s:3:"-74";}s:1:"w";a:2:{s:5:"comma";s:3:"-74";s:6:"period";s:3:"-74";}s:1:"y";a:2:{s:5:"comma";s:3:"-55";s:6:"period";s:3:"-55";}s:6:"yacute";a:2:{s:5:"comma";s:3:"-55";s:6:"period";s:3:"-55";}s:9:"ydieresis";a:2:{s:5:"comma";s:3:"-55";s:6:"period";s:3:"-55";}}s:9:"_version_";i:1;}
\ No newline at end of file diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/PDF/default/templates/fonts/php_Times-Roman.afm b/buildscripts/PhpDocumentor/phpDocumentor/Converters/PDF/default/templates/fonts/php_Times-Roman.afm new file mode 100755 index 00000000..0f30f290 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/PDF/default/templates/fonts/php_Times-Roman.afm @@ -0,0 +1 @@ +a:22:{s:8:"FontName";s:11:"Times-Roman";s:8:"FullName";s:11:"Times Roman";s:10:"FamilyName";s:5:"Times";s:6:"Weight";s:5:"Roman";s:11:"ItalicAngle";s:1:"0";s:12:"IsFixedPitch";s:5:"false";s:12:"CharacterSet";s:13:"ExtendedRoman";s:8:"FontBBox";a:4:{i:0;s:4:"-168";i:1;s:4:"-218";i:2;s:4:"1000";i:3;s:3:"898";}s:17:"UnderlinePosition";s:4:"-100";s:18:"UnderlineThickness";s:2:"50";s:7:"Version";s:7:"002.000";s:14:"EncodingScheme";s:21:"AdobeStandardEncoding";s:9:"CapHeight";s:3:"662";s:7:"XHeight";s:3:"450";s:8:"Ascender";s:3:"683";s:9:"Descender";s:4:"-217";s:5:"StdHW";s:2:"28";s:5:"StdVW";s:2:"84";s:16:"StartCharMetrics";s:3:"315";s:1:"C";a:464:{i:32;a:4:{s:1:"C";s:2:"32";s:2:"WX";s:3:"250";s:1:"N";s:5:"space";s:1:"B";a:4:{i:0;s:1:"0";i:1;s:1:"0";i:2;s:1:"0";i:3;s:1:"0";}}s:5:"space";a:4:{s:1:"C";s:2:"32";s:2:"WX";s:3:"250";s:1:"N";s:5:"space";s:1:"B";a:4:{i:0;s:1:"0";i:1;s:1:"0";i:2;s:1:"0";i:3;s:1:"0";}}i:33;a:4:{s:1:"C";s:2:"33";s:2:"WX";s:3:"333";s:1:"N";s:6:"exclam";s:1:"B";a:4:{i:0;s:3:"130";i:1;s:2:"-9";i:2;s:3:"238";i:3;s:3:"676";}}s:6:"exclam";a:4:{s:1:"C";s:2:"33";s:2:"WX";s:3:"333";s:1:"N";s:6:"exclam";s:1:"B";a:4:{i:0;s:3:"130";i:1;s:2:"-9";i:2;s:3:"238";i:3;s:3:"676";}}i:34;a:4:{s:1:"C";s:2:"34";s:2:"WX";s:3:"408";s:1:"N";s:8:"quotedbl";s:1:"B";a:4:{i:0;s:2:"77";i:1;s:3:"431";i:2;s:3:"331";i:3;s:3:"676";}}s:8:"quotedbl";a:4:{s:1:"C";s:2:"34";s:2:"WX";s:3:"408";s:1:"N";s:8:"quotedbl";s:1:"B";a:4:{i:0;s:2:"77";i:1;s:3:"431";i:2;s:3:"331";i:3;s:3:"676";}}i:35;a:4:{s:1:"C";s:2:"35";s:2:"WX";s:3:"500";s:1:"N";s:10:"numbersign";s:1:"B";a:4:{i:0;s:1:"5";i:1;s:1:"0";i:2;s:3:"496";i:3;s:3:"662";}}s:10:"numbersign";a:4:{s:1:"C";s:2:"35";s:2:"WX";s:3:"500";s:1:"N";s:10:"numbersign";s:1:"B";a:4:{i:0;s:1:"5";i:1;s:1:"0";i:2;s:3:"496";i:3;s:3:"662";}}i:36;a:4:{s:1:"C";s:2:"36";s:2:"WX";s:3:"500";s:1:"N";s:6:"dollar";s:1:"B";a:4:{i:0;s:2:"44";i:1;s:3:"-87";i:2;s:3:"457";i:3;s:3:"727";}}s:6:"dollar";a:4:{s:1:"C";s:2:"36";s:2:"WX";s:3:"500";s:1:"N";s:6:"dollar";s:1:"B";a:4:{i:0;s:2:"44";i:1;s:3:"-87";i:2;s:3:"457";i:3;s:3:"727";}}i:37;a:4:{s:1:"C";s:2:"37";s:2:"WX";s:3:"833";s:1:"N";s:7:"percent";s:1:"B";a:4:{i:0;s:2:"61";i:1;s:3:"-13";i:2;s:3:"772";i:3;s:3:"676";}}s:7:"percent";a:4:{s:1:"C";s:2:"37";s:2:"WX";s:3:"833";s:1:"N";s:7:"percent";s:1:"B";a:4:{i:0;s:2:"61";i:1;s:3:"-13";i:2;s:3:"772";i:3;s:3:"676";}}i:38;a:4:{s:1:"C";s:2:"38";s:2:"WX";s:3:"778";s:1:"N";s:9:"ampersand";s:1:"B";a:4:{i:0;s:2:"42";i:1;s:3:"-13";i:2;s:3:"750";i:3;s:3:"676";}}s:9:"ampersand";a:4:{s:1:"C";s:2:"38";s:2:"WX";s:3:"778";s:1:"N";s:9:"ampersand";s:1:"B";a:4:{i:0;s:2:"42";i:1;s:3:"-13";i:2;s:3:"750";i:3;s:3:"676";}}i:39;a:4:{s:1:"C";s:2:"39";s:2:"WX";s:3:"333";s:1:"N";s:10:"quoteright";s:1:"B";a:4:{i:0;s:2:"79";i:1;s:3:"433";i:2;s:3:"218";i:3;s:3:"676";}}s:10:"quoteright";a:4:{s:1:"C";s:2:"39";s:2:"WX";s:3:"333";s:1:"N";s:10:"quoteright";s:1:"B";a:4:{i:0;s:2:"79";i:1;s:3:"433";i:2;s:3:"218";i:3;s:3:"676";}}i:40;a:4:{s:1:"C";s:2:"40";s:2:"WX";s:3:"333";s:1:"N";s:9:"parenleft";s:1:"B";a:4:{i:0;s:2:"48";i:1;s:4:"-177";i:2;s:3:"304";i:3;s:3:"676";}}s:9:"parenleft";a:4:{s:1:"C";s:2:"40";s:2:"WX";s:3:"333";s:1:"N";s:9:"parenleft";s:1:"B";a:4:{i:0;s:2:"48";i:1;s:4:"-177";i:2;s:3:"304";i:3;s:3:"676";}}i:41;a:4:{s:1:"C";s:2:"41";s:2:"WX";s:3:"333";s:1:"N";s:10:"parenright";s:1:"B";a:4:{i:0;s:2:"29";i:1;s:4:"-177";i:2;s:3:"285";i:3;s:3:"676";}}s:10:"parenright";a:4:{s:1:"C";s:2:"41";s:2:"WX";s:3:"333";s:1:"N";s:10:"parenright";s:1:"B";a:4:{i:0;s:2:"29";i:1;s:4:"-177";i:2;s:3:"285";i:3;s:3:"676";}}i:42;a:4:{s:1:"C";s:2:"42";s:2:"WX";s:3:"500";s:1:"N";s:8:"asterisk";s:1:"B";a:4:{i:0;s:2:"69";i:1;s:3:"265";i:2;s:3:"432";i:3;s:3:"676";}}s:8:"asterisk";a:4:{s:1:"C";s:2:"42";s:2:"WX";s:3:"500";s:1:"N";s:8:"asterisk";s:1:"B";a:4:{i:0;s:2:"69";i:1;s:3:"265";i:2;s:3:"432";i:3;s:3:"676";}}i:43;a:4:{s:1:"C";s:2:"43";s:2:"WX";s:3:"564";s:1:"N";s:4:"plus";s:1:"B";a:4:{i:0;s:2:"30";i:1;s:1:"0";i:2;s:3:"534";i:3;s:3:"506";}}s:4:"plus";a:4:{s:1:"C";s:2:"43";s:2:"WX";s:3:"564";s:1:"N";s:4:"plus";s:1:"B";a:4:{i:0;s:2:"30";i:1;s:1:"0";i:2;s:3:"534";i:3;s:3:"506";}}i:44;a:4:{s:1:"C";s:2:"44";s:2:"WX";s:3:"250";s:1:"N";s:5:"comma";s:1:"B";a:4:{i:0;s:2:"56";i:1;s:4:"-141";i:2;s:3:"195";i:3;s:3:"102";}}s:5:"comma";a:4:{s:1:"C";s:2:"44";s:2:"WX";s:3:"250";s:1:"N";s:5:"comma";s:1:"B";a:4:{i:0;s:2:"56";i:1;s:4:"-141";i:2;s:3:"195";i:3;s:3:"102";}}i:45;a:4:{s:1:"C";s:2:"45";s:2:"WX";s:3:"333";s:1:"N";s:6:"hyphen";s:1:"B";a:4:{i:0;s:2:"39";i:1;s:3:"194";i:2;s:3:"285";i:3;s:3:"257";}}s:6:"hyphen";a:4:{s:1:"C";s:2:"45";s:2:"WX";s:3:"333";s:1:"N";s:6:"hyphen";s:1:"B";a:4:{i:0;s:2:"39";i:1;s:3:"194";i:2;s:3:"285";i:3;s:3:"257";}}i:46;a:4:{s:1:"C";s:2:"46";s:2:"WX";s:3:"250";s:1:"N";s:6:"period";s:1:"B";a:4:{i:0;s:2:"70";i:1;s:3:"-11";i:2;s:3:"181";i:3;s:3:"100";}}s:6:"period";a:4:{s:1:"C";s:2:"46";s:2:"WX";s:3:"250";s:1:"N";s:6:"period";s:1:"B";a:4:{i:0;s:2:"70";i:1;s:3:"-11";i:2;s:3:"181";i:3;s:3:"100";}}i:47;a:4:{s:1:"C";s:2:"47";s:2:"WX";s:3:"278";s:1:"N";s:5:"slash";s:1:"B";a:4:{i:0;s:2:"-9";i:1;s:3:"-14";i:2;s:3:"287";i:3;s:3:"676";}}s:5:"slash";a:4:{s:1:"C";s:2:"47";s:2:"WX";s:3:"278";s:1:"N";s:5:"slash";s:1:"B";a:4:{i:0;s:2:"-9";i:1;s:3:"-14";i:2;s:3:"287";i:3;s:3:"676";}}i:48;a:4:{s:1:"C";s:2:"48";s:2:"WX";s:3:"500";s:1:"N";s:4:"zero";s:1:"B";a:4:{i:0;s:2:"24";i:1;s:3:"-14";i:2;s:3:"476";i:3;s:3:"676";}}s:4:"zero";a:4:{s:1:"C";s:2:"48";s:2:"WX";s:3:"500";s:1:"N";s:4:"zero";s:1:"B";a:4:{i:0;s:2:"24";i:1;s:3:"-14";i:2;s:3:"476";i:3;s:3:"676";}}i:49;a:4:{s:1:"C";s:2:"49";s:2:"WX";s:3:"500";s:1:"N";s:3:"one";s:1:"B";a:4:{i:0;s:3:"111";i:1;s:1:"0";i:2;s:3:"394";i:3;s:3:"676";}}s:3:"one";a:4:{s:1:"C";s:2:"49";s:2:"WX";s:3:"500";s:1:"N";s:3:"one";s:1:"B";a:4:{i:0;s:3:"111";i:1;s:1:"0";i:2;s:3:"394";i:3;s:3:"676";}}i:50;a:4:{s:1:"C";s:2:"50";s:2:"WX";s:3:"500";s:1:"N";s:3:"two";s:1:"B";a:4:{i:0;s:2:"30";i:1;s:1:"0";i:2;s:3:"475";i:3;s:3:"676";}}s:3:"two";a:4:{s:1:"C";s:2:"50";s:2:"WX";s:3:"500";s:1:"N";s:3:"two";s:1:"B";a:4:{i:0;s:2:"30";i:1;s:1:"0";i:2;s:3:"475";i:3;s:3:"676";}}i:51;a:4:{s:1:"C";s:2:"51";s:2:"WX";s:3:"500";s:1:"N";s:5:"three";s:1:"B";a:4:{i:0;s:2:"43";i:1;s:3:"-14";i:2;s:3:"431";i:3;s:3:"676";}}s:5:"three";a:4:{s:1:"C";s:2:"51";s:2:"WX";s:3:"500";s:1:"N";s:5:"three";s:1:"B";a:4:{i:0;s:2:"43";i:1;s:3:"-14";i:2;s:3:"431";i:3;s:3:"676";}}i:52;a:4:{s:1:"C";s:2:"52";s:2:"WX";s:3:"500";s:1:"N";s:4:"four";s:1:"B";a:4:{i:0;s:2:"12";i:1;s:1:"0";i:2;s:3:"472";i:3;s:3:"676";}}s:4:"four";a:4:{s:1:"C";s:2:"52";s:2:"WX";s:3:"500";s:1:"N";s:4:"four";s:1:"B";a:4:{i:0;s:2:"12";i:1;s:1:"0";i:2;s:3:"472";i:3;s:3:"676";}}i:53;a:4:{s:1:"C";s:2:"53";s:2:"WX";s:3:"500";s:1:"N";s:4:"five";s:1:"B";a:4:{i:0;s:2:"32";i:1;s:3:"-14";i:2;s:3:"438";i:3;s:3:"688";}}s:4:"five";a:4:{s:1:"C";s:2:"53";s:2:"WX";s:3:"500";s:1:"N";s:4:"five";s:1:"B";a:4:{i:0;s:2:"32";i:1;s:3:"-14";i:2;s:3:"438";i:3;s:3:"688";}}i:54;a:4:{s:1:"C";s:2:"54";s:2:"WX";s:3:"500";s:1:"N";s:3:"six";s:1:"B";a:4:{i:0;s:2:"34";i:1;s:3:"-14";i:2;s:3:"468";i:3;s:3:"684";}}s:3:"six";a:4:{s:1:"C";s:2:"54";s:2:"WX";s:3:"500";s:1:"N";s:3:"six";s:1:"B";a:4:{i:0;s:2:"34";i:1;s:3:"-14";i:2;s:3:"468";i:3;s:3:"684";}}i:55;a:4:{s:1:"C";s:2:"55";s:2:"WX";s:3:"500";s:1:"N";s:5:"seven";s:1:"B";a:4:{i:0;s:2:"20";i:1;s:2:"-8";i:2;s:3:"449";i:3;s:3:"662";}}s:5:"seven";a:4:{s:1:"C";s:2:"55";s:2:"WX";s:3:"500";s:1:"N";s:5:"seven";s:1:"B";a:4:{i:0;s:2:"20";i:1;s:2:"-8";i:2;s:3:"449";i:3;s:3:"662";}}i:56;a:4:{s:1:"C";s:2:"56";s:2:"WX";s:3:"500";s:1:"N";s:5:"eight";s:1:"B";a:4:{i:0;s:2:"56";i:1;s:3:"-14";i:2;s:3:"445";i:3;s:3:"676";}}s:5:"eight";a:4:{s:1:"C";s:2:"56";s:2:"WX";s:3:"500";s:1:"N";s:5:"eight";s:1:"B";a:4:{i:0;s:2:"56";i:1;s:3:"-14";i:2;s:3:"445";i:3;s:3:"676";}}i:57;a:4:{s:1:"C";s:2:"57";s:2:"WX";s:3:"500";s:1:"N";s:4:"nine";s:1:"B";a:4:{i:0;s:2:"30";i:1;s:3:"-22";i:2;s:3:"459";i:3;s:3:"676";}}s:4:"nine";a:4:{s:1:"C";s:2:"57";s:2:"WX";s:3:"500";s:1:"N";s:4:"nine";s:1:"B";a:4:{i:0;s:2:"30";i:1;s:3:"-22";i:2;s:3:"459";i:3;s:3:"676";}}i:58;a:4:{s:1:"C";s:2:"58";s:2:"WX";s:3:"278";s:1:"N";s:5:"colon";s:1:"B";a:4:{i:0;s:2:"81";i:1;s:3:"-11";i:2;s:3:"192";i:3;s:3:"459";}}s:5:"colon";a:4:{s:1:"C";s:2:"58";s:2:"WX";s:3:"278";s:1:"N";s:5:"colon";s:1:"B";a:4:{i:0;s:2:"81";i:1;s:3:"-11";i:2;s:3:"192";i:3;s:3:"459";}}i:59;a:4:{s:1:"C";s:2:"59";s:2:"WX";s:3:"278";s:1:"N";s:9:"semicolon";s:1:"B";a:4:{i:0;s:2:"80";i:1;s:4:"-141";i:2;s:3:"219";i:3;s:3:"459";}}s:9:"semicolon";a:4:{s:1:"C";s:2:"59";s:2:"WX";s:3:"278";s:1:"N";s:9:"semicolon";s:1:"B";a:4:{i:0;s:2:"80";i:1;s:4:"-141";i:2;s:3:"219";i:3;s:3:"459";}}i:60;a:4:{s:1:"C";s:2:"60";s:2:"WX";s:3:"564";s:1:"N";s:4:"less";s:1:"B";a:4:{i:0;s:2:"28";i:1;s:2:"-8";i:2;s:3:"536";i:3;s:3:"514";}}s:4:"less";a:4:{s:1:"C";s:2:"60";s:2:"WX";s:3:"564";s:1:"N";s:4:"less";s:1:"B";a:4:{i:0;s:2:"28";i:1;s:2:"-8";i:2;s:3:"536";i:3;s:3:"514";}}i:61;a:4:{s:1:"C";s:2:"61";s:2:"WX";s:3:"564";s:1:"N";s:5:"equal";s:1:"B";a:4:{i:0;s:2:"30";i:1;s:3:"120";i:2;s:3:"534";i:3;s:3:"386";}}s:5:"equal";a:4:{s:1:"C";s:2:"61";s:2:"WX";s:3:"564";s:1:"N";s:5:"equal";s:1:"B";a:4:{i:0;s:2:"30";i:1;s:3:"120";i:2;s:3:"534";i:3;s:3:"386";}}i:62;a:4:{s:1:"C";s:2:"62";s:2:"WX";s:3:"564";s:1:"N";s:7:"greater";s:1:"B";a:4:{i:0;s:2:"28";i:1;s:2:"-8";i:2;s:3:"536";i:3;s:3:"514";}}s:7:"greater";a:4:{s:1:"C";s:2:"62";s:2:"WX";s:3:"564";s:1:"N";s:7:"greater";s:1:"B";a:4:{i:0;s:2:"28";i:1;s:2:"-8";i:2;s:3:"536";i:3;s:3:"514";}}i:63;a:4:{s:1:"C";s:2:"63";s:2:"WX";s:3:"444";s:1:"N";s:8:"question";s:1:"B";a:4:{i:0;s:2:"68";i:1;s:2:"-8";i:2;s:3:"414";i:3;s:3:"676";}}s:8:"question";a:4:{s:1:"C";s:2:"63";s:2:"WX";s:3:"444";s:1:"N";s:8:"question";s:1:"B";a:4:{i:0;s:2:"68";i:1;s:2:"-8";i:2;s:3:"414";i:3;s:3:"676";}}i:64;a:4:{s:1:"C";s:2:"64";s:2:"WX";s:3:"921";s:1:"N";s:2:"at";s:1:"B";a:4:{i:0;s:3:"116";i:1;s:3:"-14";i:2;s:3:"809";i:3;s:3:"676";}}s:2:"at";a:4:{s:1:"C";s:2:"64";s:2:"WX";s:3:"921";s:1:"N";s:2:"at";s:1:"B";a:4:{i:0;s:3:"116";i:1;s:3:"-14";i:2;s:3:"809";i:3;s:3:"676";}}i:65;a:4:{s:1:"C";s:2:"65";s:2:"WX";s:3:"722";s:1:"N";s:1:"A";s:1:"B";a:4:{i:0;s:2:"15";i:1;s:1:"0";i:2;s:3:"706";i:3;s:3:"674";}}s:1:"A";a:4:{s:1:"C";s:2:"65";s:2:"WX";s:3:"722";s:1:"N";s:1:"A";s:1:"B";a:4:{i:0;s:2:"15";i:1;s:1:"0";i:2;s:3:"706";i:3;s:3:"674";}}i:66;a:4:{s:1:"C";s:2:"66";s:2:"WX";s:3:"667";s:1:"N";s:1:"B";s:1:"B";a:4:{i:0;s:2:"17";i:1;s:1:"0";i:2;s:3:"593";i:3;s:3:"662";}}s:1:"B";a:4:{s:1:"C";s:2:"66";s:2:"WX";s:3:"667";s:1:"N";s:1:"B";s:1:"B";a:4:{i:0;s:2:"17";i:1;s:1:"0";i:2;s:3:"593";i:3;s:3:"662";}}i:67;a:4:{s:1:"C";s:2:"67";s:2:"WX";s:3:"667";s:1:"N";s:1:"C";s:1:"B";a:4:{i:0;s:2:"28";i:1;s:3:"-14";i:2;s:3:"633";i:3;s:3:"676";}}s:1:"C";a:4:{s:1:"C";s:2:"67";s:2:"WX";s:3:"667";s:1:"N";s:1:"C";s:1:"B";a:4:{i:0;s:2:"28";i:1;s:3:"-14";i:2;s:3:"633";i:3;s:3:"676";}}i:68;a:4:{s:1:"C";s:2:"68";s:2:"WX";s:3:"722";s:1:"N";s:1:"D";s:1:"B";a:4:{i:0;s:2:"16";i:1;s:1:"0";i:2;s:3:"685";i:3;s:3:"662";}}s:1:"D";a:4:{s:1:"C";s:2:"68";s:2:"WX";s:3:"722";s:1:"N";s:1:"D";s:1:"B";a:4:{i:0;s:2:"16";i:1;s:1:"0";i:2;s:3:"685";i:3;s:3:"662";}}i:69;a:4:{s:1:"C";s:2:"69";s:2:"WX";s:3:"611";s:1:"N";s:1:"E";s:1:"B";a:4:{i:0;s:2:"12";i:1;s:1:"0";i:2;s:3:"597";i:3;s:3:"662";}}s:1:"E";a:4:{s:1:"C";s:2:"69";s:2:"WX";s:3:"611";s:1:"N";s:1:"E";s:1:"B";a:4:{i:0;s:2:"12";i:1;s:1:"0";i:2;s:3:"597";i:3;s:3:"662";}}i:70;a:4:{s:1:"C";s:2:"70";s:2:"WX";s:3:"556";s:1:"N";s:1:"F";s:1:"B";a:4:{i:0;s:2:"12";i:1;s:1:"0";i:2;s:3:"546";i:3;s:3:"662";}}s:1:"F";a:4:{s:1:"C";s:2:"70";s:2:"WX";s:3:"556";s:1:"N";s:1:"F";s:1:"B";a:4:{i:0;s:2:"12";i:1;s:1:"0";i:2;s:3:"546";i:3;s:3:"662";}}i:71;a:4:{s:1:"C";s:2:"71";s:2:"WX";s:3:"722";s:1:"N";s:1:"G";s:1:"B";a:4:{i:0;s:2:"32";i:1;s:3:"-14";i:2;s:3:"709";i:3;s:3:"676";}}s:1:"G";a:4:{s:1:"C";s:2:"71";s:2:"WX";s:3:"722";s:1:"N";s:1:"G";s:1:"B";a:4:{i:0;s:2:"32";i:1;s:3:"-14";i:2;s:3:"709";i:3;s:3:"676";}}i:72;a:4:{s:1:"C";s:2:"72";s:2:"WX";s:3:"722";s:1:"N";s:1:"H";s:1:"B";a:4:{i:0;s:2:"19";i:1;s:1:"0";i:2;s:3:"702";i:3;s:3:"662";}}s:1:"H";a:4:{s:1:"C";s:2:"72";s:2:"WX";s:3:"722";s:1:"N";s:1:"H";s:1:"B";a:4:{i:0;s:2:"19";i:1;s:1:"0";i:2;s:3:"702";i:3;s:3:"662";}}i:73;a:4:{s:1:"C";s:2:"73";s:2:"WX";s:3:"333";s:1:"N";s:1:"I";s:1:"B";a:4:{i:0;s:2:"18";i:1;s:1:"0";i:2;s:3:"315";i:3;s:3:"662";}}s:1:"I";a:4:{s:1:"C";s:2:"73";s:2:"WX";s:3:"333";s:1:"N";s:1:"I";s:1:"B";a:4:{i:0;s:2:"18";i:1;s:1:"0";i:2;s:3:"315";i:3;s:3:"662";}}i:74;a:4:{s:1:"C";s:2:"74";s:2:"WX";s:3:"389";s:1:"N";s:1:"J";s:1:"B";a:4:{i:0;s:2:"10";i:1;s:3:"-14";i:2;s:3:"370";i:3;s:3:"662";}}s:1:"J";a:4:{s:1:"C";s:2:"74";s:2:"WX";s:3:"389";s:1:"N";s:1:"J";s:1:"B";a:4:{i:0;s:2:"10";i:1;s:3:"-14";i:2;s:3:"370";i:3;s:3:"662";}}i:75;a:4:{s:1:"C";s:2:"75";s:2:"WX";s:3:"722";s:1:"N";s:1:"K";s:1:"B";a:4:{i:0;s:2:"34";i:1;s:1:"0";i:2;s:3:"723";i:3;s:3:"662";}}s:1:"K";a:4:{s:1:"C";s:2:"75";s:2:"WX";s:3:"722";s:1:"N";s:1:"K";s:1:"B";a:4:{i:0;s:2:"34";i:1;s:1:"0";i:2;s:3:"723";i:3;s:3:"662";}}i:76;a:4:{s:1:"C";s:2:"76";s:2:"WX";s:3:"611";s:1:"N";s:1:"L";s:1:"B";a:4:{i:0;s:2:"12";i:1;s:1:"0";i:2;s:3:"598";i:3;s:3:"662";}}s:1:"L";a:4:{s:1:"C";s:2:"76";s:2:"WX";s:3:"611";s:1:"N";s:1:"L";s:1:"B";a:4:{i:0;s:2:"12";i:1;s:1:"0";i:2;s:3:"598";i:3;s:3:"662";}}i:77;a:4:{s:1:"C";s:2:"77";s:2:"WX";s:3:"889";s:1:"N";s:1:"M";s:1:"B";a:4:{i:0;s:2:"12";i:1;s:1:"0";i:2;s:3:"863";i:3;s:3:"662";}}s:1:"M";a:4:{s:1:"C";s:2:"77";s:2:"WX";s:3:"889";s:1:"N";s:1:"M";s:1:"B";a:4:{i:0;s:2:"12";i:1;s:1:"0";i:2;s:3:"863";i:3;s:3:"662";}}i:78;a:4:{s:1:"C";s:2:"78";s:2:"WX";s:3:"722";s:1:"N";s:1:"N";s:1:"B";a:4:{i:0;s:2:"12";i:1;s:3:"-11";i:2;s:3:"707";i:3;s:3:"662";}}s:1:"N";a:4:{s:1:"C";s:2:"78";s:2:"WX";s:3:"722";s:1:"N";s:1:"N";s:1:"B";a:4:{i:0;s:2:"12";i:1;s:3:"-11";i:2;s:3:"707";i:3;s:3:"662";}}i:79;a:4:{s:1:"C";s:2:"79";s:2:"WX";s:3:"722";s:1:"N";s:1:"O";s:1:"B";a:4:{i:0;s:2:"34";i:1;s:3:"-14";i:2;s:3:"688";i:3;s:3:"676";}}s:1:"O";a:4:{s:1:"C";s:2:"79";s:2:"WX";s:3:"722";s:1:"N";s:1:"O";s:1:"B";a:4:{i:0;s:2:"34";i:1;s:3:"-14";i:2;s:3:"688";i:3;s:3:"676";}}i:80;a:4:{s:1:"C";s:2:"80";s:2:"WX";s:3:"556";s:1:"N";s:1:"P";s:1:"B";a:4:{i:0;s:2:"16";i:1;s:1:"0";i:2;s:3:"542";i:3;s:3:"662";}}s:1:"P";a:4:{s:1:"C";s:2:"80";s:2:"WX";s:3:"556";s:1:"N";s:1:"P";s:1:"B";a:4:{i:0;s:2:"16";i:1;s:1:"0";i:2;s:3:"542";i:3;s:3:"662";}}i:81;a:4:{s:1:"C";s:2:"81";s:2:"WX";s:3:"722";s:1:"N";s:1:"Q";s:1:"B";a:4:{i:0;s:2:"34";i:1;s:4:"-178";i:2;s:3:"701";i:3;s:3:"676";}}s:1:"Q";a:4:{s:1:"C";s:2:"81";s:2:"WX";s:3:"722";s:1:"N";s:1:"Q";s:1:"B";a:4:{i:0;s:2:"34";i:1;s:4:"-178";i:2;s:3:"701";i:3;s:3:"676";}}i:82;a:4:{s:1:"C";s:2:"82";s:2:"WX";s:3:"667";s:1:"N";s:1:"R";s:1:"B";a:4:{i:0;s:2:"17";i:1;s:1:"0";i:2;s:3:"659";i:3;s:3:"662";}}s:1:"R";a:4:{s:1:"C";s:2:"82";s:2:"WX";s:3:"667";s:1:"N";s:1:"R";s:1:"B";a:4:{i:0;s:2:"17";i:1;s:1:"0";i:2;s:3:"659";i:3;s:3:"662";}}i:83;a:4:{s:1:"C";s:2:"83";s:2:"WX";s:3:"556";s:1:"N";s:1:"S";s:1:"B";a:4:{i:0;s:2:"42";i:1;s:3:"-14";i:2;s:3:"491";i:3;s:3:"676";}}s:1:"S";a:4:{s:1:"C";s:2:"83";s:2:"WX";s:3:"556";s:1:"N";s:1:"S";s:1:"B";a:4:{i:0;s:2:"42";i:1;s:3:"-14";i:2;s:3:"491";i:3;s:3:"676";}}i:84;a:4:{s:1:"C";s:2:"84";s:2:"WX";s:3:"611";s:1:"N";s:1:"T";s:1:"B";a:4:{i:0;s:2:"17";i:1;s:1:"0";i:2;s:3:"593";i:3;s:3:"662";}}s:1:"T";a:4:{s:1:"C";s:2:"84";s:2:"WX";s:3:"611";s:1:"N";s:1:"T";s:1:"B";a:4:{i:0;s:2:"17";i:1;s:1:"0";i:2;s:3:"593";i:3;s:3:"662";}}i:85;a:4:{s:1:"C";s:2:"85";s:2:"WX";s:3:"722";s:1:"N";s:1:"U";s:1:"B";a:4:{i:0;s:2:"14";i:1;s:3:"-14";i:2;s:3:"705";i:3;s:3:"662";}}s:1:"U";a:4:{s:1:"C";s:2:"85";s:2:"WX";s:3:"722";s:1:"N";s:1:"U";s:1:"B";a:4:{i:0;s:2:"14";i:1;s:3:"-14";i:2;s:3:"705";i:3;s:3:"662";}}i:86;a:4:{s:1:"C";s:2:"86";s:2:"WX";s:3:"722";s:1:"N";s:1:"V";s:1:"B";a:4:{i:0;s:2:"16";i:1;s:3:"-11";i:2;s:3:"697";i:3;s:3:"662";}}s:1:"V";a:4:{s:1:"C";s:2:"86";s:2:"WX";s:3:"722";s:1:"N";s:1:"V";s:1:"B";a:4:{i:0;s:2:"16";i:1;s:3:"-11";i:2;s:3:"697";i:3;s:3:"662";}}i:87;a:4:{s:1:"C";s:2:"87";s:2:"WX";s:3:"944";s:1:"N";s:1:"W";s:1:"B";a:4:{i:0;s:1:"5";i:1;s:3:"-11";i:2;s:3:"932";i:3;s:3:"662";}}s:1:"W";a:4:{s:1:"C";s:2:"87";s:2:"WX";s:3:"944";s:1:"N";s:1:"W";s:1:"B";a:4:{i:0;s:1:"5";i:1;s:3:"-11";i:2;s:3:"932";i:3;s:3:"662";}}i:88;a:4:{s:1:"C";s:2:"88";s:2:"WX";s:3:"722";s:1:"N";s:1:"X";s:1:"B";a:4:{i:0;s:2:"10";i:1;s:1:"0";i:2;s:3:"704";i:3;s:3:"662";}}s:1:"X";a:4:{s:1:"C";s:2:"88";s:2:"WX";s:3:"722";s:1:"N";s:1:"X";s:1:"B";a:4:{i:0;s:2:"10";i:1;s:1:"0";i:2;s:3:"704";i:3;s:3:"662";}}i:89;a:4:{s:1:"C";s:2:"89";s:2:"WX";s:3:"722";s:1:"N";s:1:"Y";s:1:"B";a:4:{i:0;s:2:"22";i:1;s:1:"0";i:2;s:3:"703";i:3;s:3:"662";}}s:1:"Y";a:4:{s:1:"C";s:2:"89";s:2:"WX";s:3:"722";s:1:"N";s:1:"Y";s:1:"B";a:4:{i:0;s:2:"22";i:1;s:1:"0";i:2;s:3:"703";i:3;s:3:"662";}}i:90;a:4:{s:1:"C";s:2:"90";s:2:"WX";s:3:"611";s:1:"N";s:1:"Z";s:1:"B";a:4:{i:0;s:1:"9";i:1;s:1:"0";i:2;s:3:"597";i:3;s:3:"662";}}s:1:"Z";a:4:{s:1:"C";s:2:"90";s:2:"WX";s:3:"611";s:1:"N";s:1:"Z";s:1:"B";a:4:{i:0;s:1:"9";i:1;s:1:"0";i:2;s:3:"597";i:3;s:3:"662";}}i:91;a:4:{s:1:"C";s:2:"91";s:2:"WX";s:3:"333";s:1:"N";s:11:"bracketleft";s:1:"B";a:4:{i:0;s:2:"88";i:1;s:4:"-156";i:2;s:3:"299";i:3;s:3:"662";}}s:11:"bracketleft";a:4:{s:1:"C";s:2:"91";s:2:"WX";s:3:"333";s:1:"N";s:11:"bracketleft";s:1:"B";a:4:{i:0;s:2:"88";i:1;s:4:"-156";i:2;s:3:"299";i:3;s:3:"662";}}i:92;a:4:{s:1:"C";s:2:"92";s:2:"WX";s:3:"278";s:1:"N";s:9:"backslash";s:1:"B";a:4:{i:0;s:2:"-9";i:1;s:3:"-14";i:2;s:3:"287";i:3;s:3:"676";}}s:9:"backslash";a:4:{s:1:"C";s:2:"92";s:2:"WX";s:3:"278";s:1:"N";s:9:"backslash";s:1:"B";a:4:{i:0;s:2:"-9";i:1;s:3:"-14";i:2;s:3:"287";i:3;s:3:"676";}}i:93;a:4:{s:1:"C";s:2:"93";s:2:"WX";s:3:"333";s:1:"N";s:12:"bracketright";s:1:"B";a:4:{i:0;s:2:"34";i:1;s:4:"-156";i:2;s:3:"245";i:3;s:3:"662";}}s:12:"bracketright";a:4:{s:1:"C";s:2:"93";s:2:"WX";s:3:"333";s:1:"N";s:12:"bracketright";s:1:"B";a:4:{i:0;s:2:"34";i:1;s:4:"-156";i:2;s:3:"245";i:3;s:3:"662";}}i:94;a:4:{s:1:"C";s:2:"94";s:2:"WX";s:3:"469";s:1:"N";s:11:"asciicircum";s:1:"B";a:4:{i:0;s:2:"24";i:1;s:3:"297";i:2;s:3:"446";i:3;s:3:"662";}}s:11:"asciicircum";a:4:{s:1:"C";s:2:"94";s:2:"WX";s:3:"469";s:1:"N";s:11:"asciicircum";s:1:"B";a:4:{i:0;s:2:"24";i:1;s:3:"297";i:2;s:3:"446";i:3;s:3:"662";}}i:95;a:4:{s:1:"C";s:2:"95";s:2:"WX";s:3:"500";s:1:"N";s:10:"underscore";s:1:"B";a:4:{i:0;s:1:"0";i:1;s:4:"-125";i:2;s:3:"500";i:3;s:3:"-75";}}s:10:"underscore";a:4:{s:1:"C";s:2:"95";s:2:"WX";s:3:"500";s:1:"N";s:10:"underscore";s:1:"B";a:4:{i:0;s:1:"0";i:1;s:4:"-125";i:2;s:3:"500";i:3;s:3:"-75";}}i:96;a:4:{s:1:"C";s:2:"96";s:2:"WX";s:3:"333";s:1:"N";s:9:"quoteleft";s:1:"B";a:4:{i:0;s:3:"115";i:1;s:3:"433";i:2;s:3:"254";i:3;s:3:"676";}}s:9:"quoteleft";a:4:{s:1:"C";s:2:"96";s:2:"WX";s:3:"333";s:1:"N";s:9:"quoteleft";s:1:"B";a:4:{i:0;s:3:"115";i:1;s:3:"433";i:2;s:3:"254";i:3;s:3:"676";}}i:97;a:4:{s:1:"C";s:2:"97";s:2:"WX";s:3:"444";s:1:"N";s:1:"a";s:1:"B";a:4:{i:0;s:2:"37";i:1;s:3:"-10";i:2;s:3:"442";i:3;s:3:"460";}}s:1:"a";a:4:{s:1:"C";s:2:"97";s:2:"WX";s:3:"444";s:1:"N";s:1:"a";s:1:"B";a:4:{i:0;s:2:"37";i:1;s:3:"-10";i:2;s:3:"442";i:3;s:3:"460";}}i:98;a:4:{s:1:"C";s:2:"98";s:2:"WX";s:3:"500";s:1:"N";s:1:"b";s:1:"B";a:4:{i:0;s:1:"3";i:1;s:3:"-10";i:2;s:3:"468";i:3;s:3:"683";}}s:1:"b";a:4:{s:1:"C";s:2:"98";s:2:"WX";s:3:"500";s:1:"N";s:1:"b";s:1:"B";a:4:{i:0;s:1:"3";i:1;s:3:"-10";i:2;s:3:"468";i:3;s:3:"683";}}i:99;a:4:{s:1:"C";s:2:"99";s:2:"WX";s:3:"444";s:1:"N";s:1:"c";s:1:"B";a:4:{i:0;s:2:"25";i:1;s:3:"-10";i:2;s:3:"412";i:3;s:3:"460";}}s:1:"c";a:4:{s:1:"C";s:2:"99";s:2:"WX";s:3:"444";s:1:"N";s:1:"c";s:1:"B";a:4:{i:0;s:2:"25";i:1;s:3:"-10";i:2;s:3:"412";i:3;s:3:"460";}}i:100;a:4:{s:1:"C";s:3:"100";s:2:"WX";s:3:"500";s:1:"N";s:1:"d";s:1:"B";a:4:{i:0;s:2:"27";i:1;s:3:"-10";i:2;s:3:"491";i:3;s:3:"683";}}s:1:"d";a:4:{s:1:"C";s:3:"100";s:2:"WX";s:3:"500";s:1:"N";s:1:"d";s:1:"B";a:4:{i:0;s:2:"27";i:1;s:3:"-10";i:2;s:3:"491";i:3;s:3:"683";}}i:101;a:4:{s:1:"C";s:3:"101";s:2:"WX";s:3:"444";s:1:"N";s:1:"e";s:1:"B";a:4:{i:0;s:2:"25";i:1;s:3:"-10";i:2;s:3:"424";i:3;s:3:"460";}}s:1:"e";a:4:{s:1:"C";s:3:"101";s:2:"WX";s:3:"444";s:1:"N";s:1:"e";s:1:"B";a:4:{i:0;s:2:"25";i:1;s:3:"-10";i:2;s:3:"424";i:3;s:3:"460";}}i:102;a:5:{s:1:"C";s:3:"102";s:2:"WX";s:3:"333";s:1:"N";s:1:"f";s:1:"B";a:4:{i:0;s:2:"20";i:1;s:1:"0";i:2;s:3:"383";i:3;s:3:"683";}s:1:"L";a:2:{i:0;s:1:"l";i:1;s:2:"fl";}}s:1:"f";a:5:{s:1:"C";s:3:"102";s:2:"WX";s:3:"333";s:1:"N";s:1:"f";s:1:"B";a:4:{i:0;s:2:"20";i:1;s:1:"0";i:2;s:3:"383";i:3;s:3:"683";}s:1:"L";a:2:{i:0;s:1:"l";i:1;s:2:"fl";}}i:103;a:4:{s:1:"C";s:3:"103";s:2:"WX";s:3:"500";s:1:"N";s:1:"g";s:1:"B";a:4:{i:0;s:2:"28";i:1;s:4:"-218";i:2;s:3:"470";i:3;s:3:"460";}}s:1:"g";a:4:{s:1:"C";s:3:"103";s:2:"WX";s:3:"500";s:1:"N";s:1:"g";s:1:"B";a:4:{i:0;s:2:"28";i:1;s:4:"-218";i:2;s:3:"470";i:3;s:3:"460";}}i:104;a:4:{s:1:"C";s:3:"104";s:2:"WX";s:3:"500";s:1:"N";s:1:"h";s:1:"B";a:4:{i:0;s:1:"9";i:1;s:1:"0";i:2;s:3:"487";i:3;s:3:"683";}}s:1:"h";a:4:{s:1:"C";s:3:"104";s:2:"WX";s:3:"500";s:1:"N";s:1:"h";s:1:"B";a:4:{i:0;s:1:"9";i:1;s:1:"0";i:2;s:3:"487";i:3;s:3:"683";}}i:105;a:4:{s:1:"C";s:3:"105";s:2:"WX";s:3:"278";s:1:"N";s:1:"i";s:1:"B";a:4:{i:0;s:2:"16";i:1;s:1:"0";i:2;s:3:"253";i:3;s:3:"683";}}s:1:"i";a:4:{s:1:"C";s:3:"105";s:2:"WX";s:3:"278";s:1:"N";s:1:"i";s:1:"B";a:4:{i:0;s:2:"16";i:1;s:1:"0";i:2;s:3:"253";i:3;s:3:"683";}}i:106;a:4:{s:1:"C";s:3:"106";s:2:"WX";s:3:"278";s:1:"N";s:1:"j";s:1:"B";a:4:{i:0;s:3:"-70";i:1;s:4:"-218";i:2;s:3:"194";i:3;s:3:"683";}}s:1:"j";a:4:{s:1:"C";s:3:"106";s:2:"WX";s:3:"278";s:1:"N";s:1:"j";s:1:"B";a:4:{i:0;s:3:"-70";i:1;s:4:"-218";i:2;s:3:"194";i:3;s:3:"683";}}i:107;a:4:{s:1:"C";s:3:"107";s:2:"WX";s:3:"500";s:1:"N";s:1:"k";s:1:"B";a:4:{i:0;s:1:"7";i:1;s:1:"0";i:2;s:3:"505";i:3;s:3:"683";}}s:1:"k";a:4:{s:1:"C";s:3:"107";s:2:"WX";s:3:"500";s:1:"N";s:1:"k";s:1:"B";a:4:{i:0;s:1:"7";i:1;s:1:"0";i:2;s:3:"505";i:3;s:3:"683";}}i:108;a:4:{s:1:"C";s:3:"108";s:2:"WX";s:3:"278";s:1:"N";s:1:"l";s:1:"B";a:4:{i:0;s:2:"19";i:1;s:1:"0";i:2;s:3:"257";i:3;s:3:"683";}}s:1:"l";a:4:{s:1:"C";s:3:"108";s:2:"WX";s:3:"278";s:1:"N";s:1:"l";s:1:"B";a:4:{i:0;s:2:"19";i:1;s:1:"0";i:2;s:3:"257";i:3;s:3:"683";}}i:109;a:4:{s:1:"C";s:3:"109";s:2:"WX";s:3:"778";s:1:"N";s:1:"m";s:1:"B";a:4:{i:0;s:2:"16";i:1;s:1:"0";i:2;s:3:"775";i:3;s:3:"460";}}s:1:"m";a:4:{s:1:"C";s:3:"109";s:2:"WX";s:3:"778";s:1:"N";s:1:"m";s:1:"B";a:4:{i:0;s:2:"16";i:1;s:1:"0";i:2;s:3:"775";i:3;s:3:"460";}}i:110;a:4:{s:1:"C";s:3:"110";s:2:"WX";s:3:"500";s:1:"N";s:1:"n";s:1:"B";a:4:{i:0;s:2:"16";i:1;s:1:"0";i:2;s:3:"485";i:3;s:3:"460";}}s:1:"n";a:4:{s:1:"C";s:3:"110";s:2:"WX";s:3:"500";s:1:"N";s:1:"n";s:1:"B";a:4:{i:0;s:2:"16";i:1;s:1:"0";i:2;s:3:"485";i:3;s:3:"460";}}i:111;a:4:{s:1:"C";s:3:"111";s:2:"WX";s:3:"500";s:1:"N";s:1:"o";s:1:"B";a:4:{i:0;s:2:"29";i:1;s:3:"-10";i:2;s:3:"470";i:3;s:3:"460";}}s:1:"o";a:4:{s:1:"C";s:3:"111";s:2:"WX";s:3:"500";s:1:"N";s:1:"o";s:1:"B";a:4:{i:0;s:2:"29";i:1;s:3:"-10";i:2;s:3:"470";i:3;s:3:"460";}}i:112;a:4:{s:1:"C";s:3:"112";s:2:"WX";s:3:"500";s:1:"N";s:1:"p";s:1:"B";a:4:{i:0;s:1:"5";i:1;s:4:"-217";i:2;s:3:"470";i:3;s:3:"460";}}s:1:"p";a:4:{s:1:"C";s:3:"112";s:2:"WX";s:3:"500";s:1:"N";s:1:"p";s:1:"B";a:4:{i:0;s:1:"5";i:1;s:4:"-217";i:2;s:3:"470";i:3;s:3:"460";}}i:113;a:4:{s:1:"C";s:3:"113";s:2:"WX";s:3:"500";s:1:"N";s:1:"q";s:1:"B";a:4:{i:0;s:2:"24";i:1;s:4:"-217";i:2;s:3:"488";i:3;s:3:"460";}}s:1:"q";a:4:{s:1:"C";s:3:"113";s:2:"WX";s:3:"500";s:1:"N";s:1:"q";s:1:"B";a:4:{i:0;s:2:"24";i:1;s:4:"-217";i:2;s:3:"488";i:3;s:3:"460";}}i:114;a:4:{s:1:"C";s:3:"114";s:2:"WX";s:3:"333";s:1:"N";s:1:"r";s:1:"B";a:4:{i:0;s:1:"5";i:1;s:1:"0";i:2;s:3:"335";i:3;s:3:"460";}}s:1:"r";a:4:{s:1:"C";s:3:"114";s:2:"WX";s:3:"333";s:1:"N";s:1:"r";s:1:"B";a:4:{i:0;s:1:"5";i:1;s:1:"0";i:2;s:3:"335";i:3;s:3:"460";}}i:115;a:4:{s:1:"C";s:3:"115";s:2:"WX";s:3:"389";s:1:"N";s:1:"s";s:1:"B";a:4:{i:0;s:2:"51";i:1;s:3:"-10";i:2;s:3:"348";i:3;s:3:"460";}}s:1:"s";a:4:{s:1:"C";s:3:"115";s:2:"WX";s:3:"389";s:1:"N";s:1:"s";s:1:"B";a:4:{i:0;s:2:"51";i:1;s:3:"-10";i:2;s:3:"348";i:3;s:3:"460";}}i:116;a:4:{s:1:"C";s:3:"116";s:2:"WX";s:3:"278";s:1:"N";s:1:"t";s:1:"B";a:4:{i:0;s:2:"13";i:1;s:3:"-10";i:2;s:3:"279";i:3;s:3:"579";}}s:1:"t";a:4:{s:1:"C";s:3:"116";s:2:"WX";s:3:"278";s:1:"N";s:1:"t";s:1:"B";a:4:{i:0;s:2:"13";i:1;s:3:"-10";i:2;s:3:"279";i:3;s:3:"579";}}i:117;a:4:{s:1:"C";s:3:"117";s:2:"WX";s:3:"500";s:1:"N";s:1:"u";s:1:"B";a:4:{i:0;s:1:"9";i:1;s:3:"-10";i:2;s:3:"479";i:3;s:3:"450";}}s:1:"u";a:4:{s:1:"C";s:3:"117";s:2:"WX";s:3:"500";s:1:"N";s:1:"u";s:1:"B";a:4:{i:0;s:1:"9";i:1;s:3:"-10";i:2;s:3:"479";i:3;s:3:"450";}}i:118;a:4:{s:1:"C";s:3:"118";s:2:"WX";s:3:"500";s:1:"N";s:1:"v";s:1:"B";a:4:{i:0;s:2:"19";i:1;s:3:"-14";i:2;s:3:"477";i:3;s:3:"450";}}s:1:"v";a:4:{s:1:"C";s:3:"118";s:2:"WX";s:3:"500";s:1:"N";s:1:"v";s:1:"B";a:4:{i:0;s:2:"19";i:1;s:3:"-14";i:2;s:3:"477";i:3;s:3:"450";}}i:119;a:4:{s:1:"C";s:3:"119";s:2:"WX";s:3:"722";s:1:"N";s:1:"w";s:1:"B";a:4:{i:0;s:2:"21";i:1;s:3:"-14";i:2;s:3:"694";i:3;s:3:"450";}}s:1:"w";a:4:{s:1:"C";s:3:"119";s:2:"WX";s:3:"722";s:1:"N";s:1:"w";s:1:"B";a:4:{i:0;s:2:"21";i:1;s:3:"-14";i:2;s:3:"694";i:3;s:3:"450";}}i:120;a:4:{s:1:"C";s:3:"120";s:2:"WX";s:3:"500";s:1:"N";s:1:"x";s:1:"B";a:4:{i:0;s:2:"17";i:1;s:1:"0";i:2;s:3:"479";i:3;s:3:"450";}}s:1:"x";a:4:{s:1:"C";s:3:"120";s:2:"WX";s:3:"500";s:1:"N";s:1:"x";s:1:"B";a:4:{i:0;s:2:"17";i:1;s:1:"0";i:2;s:3:"479";i:3;s:3:"450";}}i:121;a:4:{s:1:"C";s:3:"121";s:2:"WX";s:3:"500";s:1:"N";s:1:"y";s:1:"B";a:4:{i:0;s:2:"14";i:1;s:4:"-218";i:2;s:3:"475";i:3;s:3:"450";}}s:1:"y";a:4:{s:1:"C";s:3:"121";s:2:"WX";s:3:"500";s:1:"N";s:1:"y";s:1:"B";a:4:{i:0;s:2:"14";i:1;s:4:"-218";i:2;s:3:"475";i:3;s:3:"450";}}i:122;a:4:{s:1:"C";s:3:"122";s:2:"WX";s:3:"444";s:1:"N";s:1:"z";s:1:"B";a:4:{i:0;s:2:"27";i:1;s:1:"0";i:2;s:3:"418";i:3;s:3:"450";}}s:1:"z";a:4:{s:1:"C";s:3:"122";s:2:"WX";s:3:"444";s:1:"N";s:1:"z";s:1:"B";a:4:{i:0;s:2:"27";i:1;s:1:"0";i:2;s:3:"418";i:3;s:3:"450";}}i:123;a:4:{s:1:"C";s:3:"123";s:2:"WX";s:3:"480";s:1:"N";s:9:"braceleft";s:1:"B";a:4:{i:0;s:3:"100";i:1;s:4:"-181";i:2;s:3:"350";i:3;s:3:"680";}}s:9:"braceleft";a:4:{s:1:"C";s:3:"123";s:2:"WX";s:3:"480";s:1:"N";s:9:"braceleft";s:1:"B";a:4:{i:0;s:3:"100";i:1;s:4:"-181";i:2;s:3:"350";i:3;s:3:"680";}}i:124;a:4:{s:1:"C";s:3:"124";s:2:"WX";s:3:"200";s:1:"N";s:3:"bar";s:1:"B";a:4:{i:0;s:2:"67";i:1;s:4:"-218";i:2;s:3:"133";i:3;s:3:"782";}}s:3:"bar";a:4:{s:1:"C";s:3:"124";s:2:"WX";s:3:"200";s:1:"N";s:3:"bar";s:1:"B";a:4:{i:0;s:2:"67";i:1;s:4:"-218";i:2;s:3:"133";i:3;s:3:"782";}}i:125;a:4:{s:1:"C";s:3:"125";s:2:"WX";s:3:"480";s:1:"N";s:10:"braceright";s:1:"B";a:4:{i:0;s:3:"130";i:1;s:4:"-181";i:2;s:3:"380";i:3;s:3:"680";}}s:10:"braceright";a:4:{s:1:"C";s:3:"125";s:2:"WX";s:3:"480";s:1:"N";s:10:"braceright";s:1:"B";a:4:{i:0;s:3:"130";i:1;s:4:"-181";i:2;s:3:"380";i:3;s:3:"680";}}i:126;a:4:{s:1:"C";s:3:"126";s:2:"WX";s:3:"541";s:1:"N";s:10:"asciitilde";s:1:"B";a:4:{i:0;s:2:"40";i:1;s:3:"183";i:2;s:3:"502";i:3;s:3:"323";}}s:10:"asciitilde";a:4:{s:1:"C";s:3:"126";s:2:"WX";s:3:"541";s:1:"N";s:10:"asciitilde";s:1:"B";a:4:{i:0;s:2:"40";i:1;s:3:"183";i:2;s:3:"502";i:3;s:3:"323";}}i:161;a:4:{s:1:"C";s:3:"161";s:2:"WX";s:3:"333";s:1:"N";s:10:"exclamdown";s:1:"B";a:4:{i:0;s:2:"97";i:1;s:4:"-218";i:2;s:3:"205";i:3;s:3:"467";}}s:10:"exclamdown";a:4:{s:1:"C";s:3:"161";s:2:"WX";s:3:"333";s:1:"N";s:10:"exclamdown";s:1:"B";a:4:{i:0;s:2:"97";i:1;s:4:"-218";i:2;s:3:"205";i:3;s:3:"467";}}i:162;a:4:{s:1:"C";s:3:"162";s:2:"WX";s:3:"500";s:1:"N";s:4:"cent";s:1:"B";a:4:{i:0;s:2:"53";i:1;s:4:"-138";i:2;s:3:"448";i:3;s:3:"579";}}s:4:"cent";a:4:{s:1:"C";s:3:"162";s:2:"WX";s:3:"500";s:1:"N";s:4:"cent";s:1:"B";a:4:{i:0;s:2:"53";i:1;s:4:"-138";i:2;s:3:"448";i:3;s:3:"579";}}i:163;a:4:{s:1:"C";s:3:"163";s:2:"WX";s:3:"500";s:1:"N";s:8:"sterling";s:1:"B";a:4:{i:0;s:2:"12";i:1;s:2:"-8";i:2;s:3:"490";i:3;s:3:"676";}}s:8:"sterling";a:4:{s:1:"C";s:3:"163";s:2:"WX";s:3:"500";s:1:"N";s:8:"sterling";s:1:"B";a:4:{i:0;s:2:"12";i:1;s:2:"-8";i:2;s:3:"490";i:3;s:3:"676";}}i:164;a:4:{s:1:"C";s:3:"164";s:2:"WX";s:3:"167";s:1:"N";s:8:"fraction";s:1:"B";a:4:{i:0;s:4:"-168";i:1;s:3:"-14";i:2;s:3:"331";i:3;s:3:"676";}}s:8:"fraction";a:4:{s:1:"C";s:3:"164";s:2:"WX";s:3:"167";s:1:"N";s:8:"fraction";s:1:"B";a:4:{i:0;s:4:"-168";i:1;s:3:"-14";i:2;s:3:"331";i:3;s:3:"676";}}i:165;a:4:{s:1:"C";s:3:"165";s:2:"WX";s:3:"500";s:1:"N";s:3:"yen";s:1:"B";a:4:{i:0;s:3:"-53";i:1;s:1:"0";i:2;s:3:"512";i:3;s:3:"662";}}s:3:"yen";a:4:{s:1:"C";s:3:"165";s:2:"WX";s:3:"500";s:1:"N";s:3:"yen";s:1:"B";a:4:{i:0;s:3:"-53";i:1;s:1:"0";i:2;s:3:"512";i:3;s:3:"662";}}i:166;a:4:{s:1:"C";s:3:"166";s:2:"WX";s:3:"500";s:1:"N";s:6:"florin";s:1:"B";a:4:{i:0;s:1:"7";i:1;s:4:"-189";i:2;s:3:"490";i:3;s:3:"676";}}s:6:"florin";a:4:{s:1:"C";s:3:"166";s:2:"WX";s:3:"500";s:1:"N";s:6:"florin";s:1:"B";a:4:{i:0;s:1:"7";i:1;s:4:"-189";i:2;s:3:"490";i:3;s:3:"676";}}i:167;a:4:{s:1:"C";s:3:"167";s:2:"WX";s:3:"500";s:1:"N";s:7:"section";s:1:"B";a:4:{i:0;s:2:"70";i:1;s:4:"-148";i:2;s:3:"426";i:3;s:3:"676";}}s:7:"section";a:4:{s:1:"C";s:3:"167";s:2:"WX";s:3:"500";s:1:"N";s:7:"section";s:1:"B";a:4:{i:0;s:2:"70";i:1;s:4:"-148";i:2;s:3:"426";i:3;s:3:"676";}}i:168;a:4:{s:1:"C";s:3:"168";s:2:"WX";s:3:"500";s:1:"N";s:8:"currency";s:1:"B";a:4:{i:0;s:3:"-22";i:1;s:2:"58";i:2;s:3:"522";i:3;s:3:"602";}}s:8:"currency";a:4:{s:1:"C";s:3:"168";s:2:"WX";s:3:"500";s:1:"N";s:8:"currency";s:1:"B";a:4:{i:0;s:3:"-22";i:1;s:2:"58";i:2;s:3:"522";i:3;s:3:"602";}}i:169;a:4:{s:1:"C";s:3:"169";s:2:"WX";s:3:"180";s:1:"N";s:11:"quotesingle";s:1:"B";a:4:{i:0;s:2:"48";i:1;s:3:"431";i:2;s:3:"133";i:3;s:3:"676";}}s:11:"quotesingle";a:4:{s:1:"C";s:3:"169";s:2:"WX";s:3:"180";s:1:"N";s:11:"quotesingle";s:1:"B";a:4:{i:0;s:2:"48";i:1;s:3:"431";i:2;s:3:"133";i:3;s:3:"676";}}i:170;a:4:{s:1:"C";s:3:"170";s:2:"WX";s:3:"444";s:1:"N";s:12:"quotedblleft";s:1:"B";a:4:{i:0;s:2:"43";i:1;s:3:"433";i:2;s:3:"414";i:3;s:3:"676";}}s:12:"quotedblleft";a:4:{s:1:"C";s:3:"170";s:2:"WX";s:3:"444";s:1:"N";s:12:"quotedblleft";s:1:"B";a:4:{i:0;s:2:"43";i:1;s:3:"433";i:2;s:3:"414";i:3;s:3:"676";}}i:171;a:4:{s:1:"C";s:3:"171";s:2:"WX";s:3:"500";s:1:"N";s:13:"guillemotleft";s:1:"B";a:4:{i:0;s:2:"42";i:1;s:2:"33";i:2;s:3:"456";i:3;s:3:"416";}}s:13:"guillemotleft";a:4:{s:1:"C";s:3:"171";s:2:"WX";s:3:"500";s:1:"N";s:13:"guillemotleft";s:1:"B";a:4:{i:0;s:2:"42";i:1;s:2:"33";i:2;s:3:"456";i:3;s:3:"416";}}i:172;a:4:{s:1:"C";s:3:"172";s:2:"WX";s:3:"333";s:1:"N";s:13:"guilsinglleft";s:1:"B";a:4:{i:0;s:2:"63";i:1;s:2:"33";i:2;s:3:"285";i:3;s:3:"416";}}s:13:"guilsinglleft";a:4:{s:1:"C";s:3:"172";s:2:"WX";s:3:"333";s:1:"N";s:13:"guilsinglleft";s:1:"B";a:4:{i:0;s:2:"63";i:1;s:2:"33";i:2;s:3:"285";i:3;s:3:"416";}}i:173;a:4:{s:1:"C";s:3:"173";s:2:"WX";s:3:"333";s:1:"N";s:14:"guilsinglright";s:1:"B";a:4:{i:0;s:2:"48";i:1;s:2:"33";i:2;s:3:"270";i:3;s:3:"416";}}s:14:"guilsinglright";a:4:{s:1:"C";s:3:"173";s:2:"WX";s:3:"333";s:1:"N";s:14:"guilsinglright";s:1:"B";a:4:{i:0;s:2:"48";i:1;s:2:"33";i:2;s:3:"270";i:3;s:3:"416";}}i:174;a:4:{s:1:"C";s:3:"174";s:2:"WX";s:3:"556";s:1:"N";s:2:"fi";s:1:"B";a:4:{i:0;s:2:"31";i:1;s:1:"0";i:2;s:3:"521";i:3;s:3:"683";}}s:2:"fi";a:4:{s:1:"C";s:3:"174";s:2:"WX";s:3:"556";s:1:"N";s:2:"fi";s:1:"B";a:4:{i:0;s:2:"31";i:1;s:1:"0";i:2;s:3:"521";i:3;s:3:"683";}}i:175;a:4:{s:1:"C";s:3:"175";s:2:"WX";s:3:"556";s:1:"N";s:2:"fl";s:1:"B";a:4:{i:0;s:2:"32";i:1;s:1:"0";i:2;s:3:"521";i:3;s:3:"683";}}s:2:"fl";a:4:{s:1:"C";s:3:"175";s:2:"WX";s:3:"556";s:1:"N";s:2:"fl";s:1:"B";a:4:{i:0;s:2:"32";i:1;s:1:"0";i:2;s:3:"521";i:3;s:3:"683";}}i:177;a:4:{s:1:"C";s:3:"177";s:2:"WX";s:3:"500";s:1:"N";s:6:"endash";s:1:"B";a:4:{i:0;s:1:"0";i:1;s:3:"201";i:2;s:3:"500";i:3;s:3:"250";}}s:6:"endash";a:4:{s:1:"C";s:3:"177";s:2:"WX";s:3:"500";s:1:"N";s:6:"endash";s:1:"B";a:4:{i:0;s:1:"0";i:1;s:3:"201";i:2;s:3:"500";i:3;s:3:"250";}}i:178;a:4:{s:1:"C";s:3:"178";s:2:"WX";s:3:"500";s:1:"N";s:6:"dagger";s:1:"B";a:4:{i:0;s:2:"59";i:1;s:4:"-149";i:2;s:3:"442";i:3;s:3:"676";}}s:6:"dagger";a:4:{s:1:"C";s:3:"178";s:2:"WX";s:3:"500";s:1:"N";s:6:"dagger";s:1:"B";a:4:{i:0;s:2:"59";i:1;s:4:"-149";i:2;s:3:"442";i:3;s:3:"676";}}i:179;a:4:{s:1:"C";s:3:"179";s:2:"WX";s:3:"500";s:1:"N";s:9:"daggerdbl";s:1:"B";a:4:{i:0;s:2:"58";i:1;s:4:"-153";i:2;s:3:"442";i:3;s:3:"676";}}s:9:"daggerdbl";a:4:{s:1:"C";s:3:"179";s:2:"WX";s:3:"500";s:1:"N";s:9:"daggerdbl";s:1:"B";a:4:{i:0;s:2:"58";i:1;s:4:"-153";i:2;s:3:"442";i:3;s:3:"676";}}i:180;a:4:{s:1:"C";s:3:"180";s:2:"WX";s:3:"250";s:1:"N";s:14:"periodcentered";s:1:"B";a:4:{i:0;s:2:"70";i:1;s:3:"199";i:2;s:3:"181";i:3;s:3:"310";}}s:14:"periodcentered";a:4:{s:1:"C";s:3:"180";s:2:"WX";s:3:"250";s:1:"N";s:14:"periodcentered";s:1:"B";a:4:{i:0;s:2:"70";i:1;s:3:"199";i:2;s:3:"181";i:3;s:3:"310";}}i:182;a:4:{s:1:"C";s:3:"182";s:2:"WX";s:3:"453";s:1:"N";s:9:"paragraph";s:1:"B";a:4:{i:0;s:3:"-22";i:1;s:4:"-154";i:2;s:3:"450";i:3;s:3:"662";}}s:9:"paragraph";a:4:{s:1:"C";s:3:"182";s:2:"WX";s:3:"453";s:1:"N";s:9:"paragraph";s:1:"B";a:4:{i:0;s:3:"-22";i:1;s:4:"-154";i:2;s:3:"450";i:3;s:3:"662";}}i:183;a:4:{s:1:"C";s:3:"183";s:2:"WX";s:3:"350";s:1:"N";s:6:"bullet";s:1:"B";a:4:{i:0;s:2:"40";i:1;s:3:"196";i:2;s:3:"310";i:3;s:3:"466";}}s:6:"bullet";a:4:{s:1:"C";s:3:"183";s:2:"WX";s:3:"350";s:1:"N";s:6:"bullet";s:1:"B";a:4:{i:0;s:2:"40";i:1;s:3:"196";i:2;s:3:"310";i:3;s:3:"466";}}i:184;a:4:{s:1:"C";s:3:"184";s:2:"WX";s:3:"333";s:1:"N";s:14:"quotesinglbase";s:1:"B";a:4:{i:0;s:2:"79";i:1;s:4:"-141";i:2;s:3:"218";i:3;s:3:"102";}}s:14:"quotesinglbase";a:4:{s:1:"C";s:3:"184";s:2:"WX";s:3:"333";s:1:"N";s:14:"quotesinglbase";s:1:"B";a:4:{i:0;s:2:"79";i:1;s:4:"-141";i:2;s:3:"218";i:3;s:3:"102";}}i:185;a:4:{s:1:"C";s:3:"185";s:2:"WX";s:3:"444";s:1:"N";s:12:"quotedblbase";s:1:"B";a:4:{i:0;s:2:"45";i:1;s:4:"-141";i:2;s:3:"416";i:3;s:3:"102";}}s:12:"quotedblbase";a:4:{s:1:"C";s:3:"185";s:2:"WX";s:3:"444";s:1:"N";s:12:"quotedblbase";s:1:"B";a:4:{i:0;s:2:"45";i:1;s:4:"-141";i:2;s:3:"416";i:3;s:3:"102";}}i:186;a:4:{s:1:"C";s:3:"186";s:2:"WX";s:3:"444";s:1:"N";s:13:"quotedblright";s:1:"B";a:4:{i:0;s:2:"30";i:1;s:3:"433";i:2;s:3:"401";i:3;s:3:"676";}}s:13:"quotedblright";a:4:{s:1:"C";s:3:"186";s:2:"WX";s:3:"444";s:1:"N";s:13:"quotedblright";s:1:"B";a:4:{i:0;s:2:"30";i:1;s:3:"433";i:2;s:3:"401";i:3;s:3:"676";}}i:187;a:4:{s:1:"C";s:3:"187";s:2:"WX";s:3:"500";s:1:"N";s:14:"guillemotright";s:1:"B";a:4:{i:0;s:2:"44";i:1;s:2:"33";i:2;s:3:"458";i:3;s:3:"416";}}s:14:"guillemotright";a:4:{s:1:"C";s:3:"187";s:2:"WX";s:3:"500";s:1:"N";s:14:"guillemotright";s:1:"B";a:4:{i:0;s:2:"44";i:1;s:2:"33";i:2;s:3:"458";i:3;s:3:"416";}}i:188;a:4:{s:1:"C";s:3:"188";s:2:"WX";s:4:"1000";s:1:"N";s:8:"ellipsis";s:1:"B";a:4:{i:0;s:3:"111";i:1;s:3:"-11";i:2;s:3:"888";i:3;s:3:"100";}}s:8:"ellipsis";a:4:{s:1:"C";s:3:"188";s:2:"WX";s:4:"1000";s:1:"N";s:8:"ellipsis";s:1:"B";a:4:{i:0;s:3:"111";i:1;s:3:"-11";i:2;s:3:"888";i:3;s:3:"100";}}i:189;a:4:{s:1:"C";s:3:"189";s:2:"WX";s:4:"1000";s:1:"N";s:11:"perthousand";s:1:"B";a:4:{i:0;s:1:"7";i:1;s:3:"-19";i:2;s:3:"994";i:3;s:3:"706";}}s:11:"perthousand";a:4:{s:1:"C";s:3:"189";s:2:"WX";s:4:"1000";s:1:"N";s:11:"perthousand";s:1:"B";a:4:{i:0;s:1:"7";i:1;s:3:"-19";i:2;s:3:"994";i:3;s:3:"706";}}i:191;a:4:{s:1:"C";s:3:"191";s:2:"WX";s:3:"444";s:1:"N";s:12:"questiondown";s:1:"B";a:4:{i:0;s:2:"30";i:1;s:4:"-218";i:2;s:3:"376";i:3;s:3:"466";}}s:12:"questiondown";a:4:{s:1:"C";s:3:"191";s:2:"WX";s:3:"444";s:1:"N";s:12:"questiondown";s:1:"B";a:4:{i:0;s:2:"30";i:1;s:4:"-218";i:2;s:3:"376";i:3;s:3:"466";}}i:193;a:4:{s:1:"C";s:3:"193";s:2:"WX";s:3:"333";s:1:"N";s:5:"grave";s:1:"B";a:4:{i:0;s:2:"19";i:1;s:3:"507";i:2;s:3:"242";i:3;s:3:"678";}}s:5:"grave";a:4:{s:1:"C";s:3:"193";s:2:"WX";s:3:"333";s:1:"N";s:5:"grave";s:1:"B";a:4:{i:0;s:2:"19";i:1;s:3:"507";i:2;s:3:"242";i:3;s:3:"678";}}i:194;a:4:{s:1:"C";s:3:"194";s:2:"WX";s:3:"333";s:1:"N";s:5:"acute";s:1:"B";a:4:{i:0;s:2:"93";i:1;s:3:"507";i:2;s:3:"317";i:3;s:3:"678";}}s:5:"acute";a:4:{s:1:"C";s:3:"194";s:2:"WX";s:3:"333";s:1:"N";s:5:"acute";s:1:"B";a:4:{i:0;s:2:"93";i:1;s:3:"507";i:2;s:3:"317";i:3;s:3:"678";}}i:195;a:4:{s:1:"C";s:3:"195";s:2:"WX";s:3:"333";s:1:"N";s:10:"circumflex";s:1:"B";a:4:{i:0;s:2:"11";i:1;s:3:"507";i:2;s:3:"322";i:3;s:3:"674";}}s:10:"circumflex";a:4:{s:1:"C";s:3:"195";s:2:"WX";s:3:"333";s:1:"N";s:10:"circumflex";s:1:"B";a:4:{i:0;s:2:"11";i:1;s:3:"507";i:2;s:3:"322";i:3;s:3:"674";}}i:196;a:4:{s:1:"C";s:3:"196";s:2:"WX";s:3:"333";s:1:"N";s:5:"tilde";s:1:"B";a:4:{i:0;s:1:"1";i:1;s:3:"532";i:2;s:3:"331";i:3;s:3:"638";}}s:5:"tilde";a:4:{s:1:"C";s:3:"196";s:2:"WX";s:3:"333";s:1:"N";s:5:"tilde";s:1:"B";a:4:{i:0;s:1:"1";i:1;s:3:"532";i:2;s:3:"331";i:3;s:3:"638";}}i:197;a:4:{s:1:"C";s:3:"197";s:2:"WX";s:3:"333";s:1:"N";s:6:"macron";s:1:"B";a:4:{i:0;s:2:"11";i:1;s:3:"547";i:2;s:3:"322";i:3;s:3:"601";}}s:6:"macron";a:4:{s:1:"C";s:3:"197";s:2:"WX";s:3:"333";s:1:"N";s:6:"macron";s:1:"B";a:4:{i:0;s:2:"11";i:1;s:3:"547";i:2;s:3:"322";i:3;s:3:"601";}}i:198;a:4:{s:1:"C";s:3:"198";s:2:"WX";s:3:"333";s:1:"N";s:5:"breve";s:1:"B";a:4:{i:0;s:2:"26";i:1;s:3:"507";i:2;s:3:"307";i:3;s:3:"664";}}s:5:"breve";a:4:{s:1:"C";s:3:"198";s:2:"WX";s:3:"333";s:1:"N";s:5:"breve";s:1:"B";a:4:{i:0;s:2:"26";i:1;s:3:"507";i:2;s:3:"307";i:3;s:3:"664";}}i:199;a:4:{s:1:"C";s:3:"199";s:2:"WX";s:3:"333";s:1:"N";s:9:"dotaccent";s:1:"B";a:4:{i:0;s:3:"118";i:1;s:3:"581";i:2;s:3:"216";i:3;s:3:"681";}}s:9:"dotaccent";a:4:{s:1:"C";s:3:"199";s:2:"WX";s:3:"333";s:1:"N";s:9:"dotaccent";s:1:"B";a:4:{i:0;s:3:"118";i:1;s:3:"581";i:2;s:3:"216";i:3;s:3:"681";}}i:200;a:4:{s:1:"C";s:3:"200";s:2:"WX";s:3:"333";s:1:"N";s:8:"dieresis";s:1:"B";a:4:{i:0;s:2:"18";i:1;s:3:"581";i:2;s:3:"315";i:3;s:3:"681";}}s:8:"dieresis";a:4:{s:1:"C";s:3:"200";s:2:"WX";s:3:"333";s:1:"N";s:8:"dieresis";s:1:"B";a:4:{i:0;s:2:"18";i:1;s:3:"581";i:2;s:3:"315";i:3;s:3:"681";}}i:202;a:4:{s:1:"C";s:3:"202";s:2:"WX";s:3:"333";s:1:"N";s:4:"ring";s:1:"B";a:4:{i:0;s:2:"67";i:1;s:3:"512";i:2;s:3:"266";i:3;s:3:"711";}}s:4:"ring";a:4:{s:1:"C";s:3:"202";s:2:"WX";s:3:"333";s:1:"N";s:4:"ring";s:1:"B";a:4:{i:0;s:2:"67";i:1;s:3:"512";i:2;s:3:"266";i:3;s:3:"711";}}i:203;a:4:{s:1:"C";s:3:"203";s:2:"WX";s:3:"333";s:1:"N";s:7:"cedilla";s:1:"B";a:4:{i:0;s:2:"52";i:1;s:4:"-215";i:2;s:3:"261";i:3;s:1:"0";}}s:7:"cedilla";a:4:{s:1:"C";s:3:"203";s:2:"WX";s:3:"333";s:1:"N";s:7:"cedilla";s:1:"B";a:4:{i:0;s:2:"52";i:1;s:4:"-215";i:2;s:3:"261";i:3;s:1:"0";}}i:205;a:4:{s:1:"C";s:3:"205";s:2:"WX";s:3:"333";s:1:"N";s:12:"hungarumlaut";s:1:"B";a:4:{i:0;s:2:"-3";i:1;s:3:"507";i:2;s:3:"377";i:3;s:3:"678";}}s:12:"hungarumlaut";a:4:{s:1:"C";s:3:"205";s:2:"WX";s:3:"333";s:1:"N";s:12:"hungarumlaut";s:1:"B";a:4:{i:0;s:2:"-3";i:1;s:3:"507";i:2;s:3:"377";i:3;s:3:"678";}}i:206;a:4:{s:1:"C";s:3:"206";s:2:"WX";s:3:"333";s:1:"N";s:6:"ogonek";s:1:"B";a:4:{i:0;s:2:"62";i:1;s:4:"-165";i:2;s:3:"243";i:3;s:1:"0";}}s:6:"ogonek";a:4:{s:1:"C";s:3:"206";s:2:"WX";s:3:"333";s:1:"N";s:6:"ogonek";s:1:"B";a:4:{i:0;s:2:"62";i:1;s:4:"-165";i:2;s:3:"243";i:3;s:1:"0";}}i:207;a:4:{s:1:"C";s:3:"207";s:2:"WX";s:3:"333";s:1:"N";s:5:"caron";s:1:"B";a:4:{i:0;s:2:"11";i:1;s:3:"507";i:2;s:3:"322";i:3;s:3:"674";}}s:5:"caron";a:4:{s:1:"C";s:3:"207";s:2:"WX";s:3:"333";s:1:"N";s:5:"caron";s:1:"B";a:4:{i:0;s:2:"11";i:1;s:3:"507";i:2;s:3:"322";i:3;s:3:"674";}}i:208;a:4:{s:1:"C";s:3:"208";s:2:"WX";s:4:"1000";s:1:"N";s:6:"emdash";s:1:"B";a:4:{i:0;s:1:"0";i:1;s:3:"201";i:2;s:4:"1000";i:3;s:3:"250";}}s:6:"emdash";a:4:{s:1:"C";s:3:"208";s:2:"WX";s:4:"1000";s:1:"N";s:6:"emdash";s:1:"B";a:4:{i:0;s:1:"0";i:1;s:3:"201";i:2;s:4:"1000";i:3;s:3:"250";}}i:225;a:4:{s:1:"C";s:3:"225";s:2:"WX";s:3:"889";s:1:"N";s:2:"AE";s:1:"B";a:4:{i:0;s:1:"0";i:1;s:1:"0";i:2;s:3:"863";i:3;s:3:"662";}}s:2:"AE";a:4:{s:1:"C";s:3:"225";s:2:"WX";s:3:"889";s:1:"N";s:2:"AE";s:1:"B";a:4:{i:0;s:1:"0";i:1;s:1:"0";i:2;s:3:"863";i:3;s:3:"662";}}i:227;a:4:{s:1:"C";s:3:"227";s:2:"WX";s:3:"276";s:1:"N";s:11:"ordfeminine";s:1:"B";a:4:{i:0;s:1:"4";i:1;s:3:"394";i:2;s:3:"270";i:3;s:3:"676";}}s:11:"ordfeminine";a:4:{s:1:"C";s:3:"227";s:2:"WX";s:3:"276";s:1:"N";s:11:"ordfeminine";s:1:"B";a:4:{i:0;s:1:"4";i:1;s:3:"394";i:2;s:3:"270";i:3;s:3:"676";}}i:232;a:4:{s:1:"C";s:3:"232";s:2:"WX";s:3:"611";s:1:"N";s:6:"Lslash";s:1:"B";a:4:{i:0;s:2:"12";i:1;s:1:"0";i:2;s:3:"598";i:3;s:3:"662";}}s:6:"Lslash";a:4:{s:1:"C";s:3:"232";s:2:"WX";s:3:"611";s:1:"N";s:6:"Lslash";s:1:"B";a:4:{i:0;s:2:"12";i:1;s:1:"0";i:2;s:3:"598";i:3;s:3:"662";}}i:233;a:4:{s:1:"C";s:3:"233";s:2:"WX";s:3:"722";s:1:"N";s:6:"Oslash";s:1:"B";a:4:{i:0;s:2:"34";i:1;s:3:"-80";i:2;s:3:"688";i:3;s:3:"734";}}s:6:"Oslash";a:4:{s:1:"C";s:3:"233";s:2:"WX";s:3:"722";s:1:"N";s:6:"Oslash";s:1:"B";a:4:{i:0;s:2:"34";i:1;s:3:"-80";i:2;s:3:"688";i:3;s:3:"734";}}i:234;a:4:{s:1:"C";s:3:"234";s:2:"WX";s:3:"889";s:1:"N";s:2:"OE";s:1:"B";a:4:{i:0;s:2:"30";i:1;s:2:"-6";i:2;s:3:"885";i:3;s:3:"668";}}s:2:"OE";a:4:{s:1:"C";s:3:"234";s:2:"WX";s:3:"889";s:1:"N";s:2:"OE";s:1:"B";a:4:{i:0;s:2:"30";i:1;s:2:"-6";i:2;s:3:"885";i:3;s:3:"668";}}i:235;a:4:{s:1:"C";s:3:"235";s:2:"WX";s:3:"310";s:1:"N";s:12:"ordmasculine";s:1:"B";a:4:{i:0;s:1:"6";i:1;s:3:"394";i:2;s:3:"304";i:3;s:3:"676";}}s:12:"ordmasculine";a:4:{s:1:"C";s:3:"235";s:2:"WX";s:3:"310";s:1:"N";s:12:"ordmasculine";s:1:"B";a:4:{i:0;s:1:"6";i:1;s:3:"394";i:2;s:3:"304";i:3;s:3:"676";}}i:241;a:4:{s:1:"C";s:3:"241";s:2:"WX";s:3:"667";s:1:"N";s:2:"ae";s:1:"B";a:4:{i:0;s:2:"38";i:1;s:3:"-10";i:2;s:3:"632";i:3;s:3:"460";}}s:2:"ae";a:4:{s:1:"C";s:3:"241";s:2:"WX";s:3:"667";s:1:"N";s:2:"ae";s:1:"B";a:4:{i:0;s:2:"38";i:1;s:3:"-10";i:2;s:3:"632";i:3;s:3:"460";}}i:245;a:4:{s:1:"C";s:3:"245";s:2:"WX";s:3:"278";s:1:"N";s:8:"dotlessi";s:1:"B";a:4:{i:0;s:2:"16";i:1;s:1:"0";i:2;s:3:"253";i:3;s:3:"460";}}s:8:"dotlessi";a:4:{s:1:"C";s:3:"245";s:2:"WX";s:3:"278";s:1:"N";s:8:"dotlessi";s:1:"B";a:4:{i:0;s:2:"16";i:1;s:1:"0";i:2;s:3:"253";i:3;s:3:"460";}}i:248;a:4:{s:1:"C";s:3:"248";s:2:"WX";s:3:"278";s:1:"N";s:6:"lslash";s:1:"B";a:4:{i:0;s:2:"19";i:1;s:1:"0";i:2;s:3:"259";i:3;s:3:"683";}}s:6:"lslash";a:4:{s:1:"C";s:3:"248";s:2:"WX";s:3:"278";s:1:"N";s:6:"lslash";s:1:"B";a:4:{i:0;s:2:"19";i:1;s:1:"0";i:2;s:3:"259";i:3;s:3:"683";}}i:249;a:4:{s:1:"C";s:3:"249";s:2:"WX";s:3:"500";s:1:"N";s:6:"oslash";s:1:"B";a:4:{i:0;s:2:"29";i:1;s:4:"-112";i:2;s:3:"470";i:3;s:3:"551";}}s:6:"oslash";a:4:{s:1:"C";s:3:"249";s:2:"WX";s:3:"500";s:1:"N";s:6:"oslash";s:1:"B";a:4:{i:0;s:2:"29";i:1;s:4:"-112";i:2;s:3:"470";i:3;s:3:"551";}}i:250;a:4:{s:1:"C";s:3:"250";s:2:"WX";s:3:"722";s:1:"N";s:2:"oe";s:1:"B";a:4:{i:0;s:2:"30";i:1;s:3:"-10";i:2;s:3:"690";i:3;s:3:"460";}}s:2:"oe";a:4:{s:1:"C";s:3:"250";s:2:"WX";s:3:"722";s:1:"N";s:2:"oe";s:1:"B";a:4:{i:0;s:2:"30";i:1;s:3:"-10";i:2;s:3:"690";i:3;s:3:"460";}}i:251;a:4:{s:1:"C";s:3:"251";s:2:"WX";s:3:"500";s:1:"N";s:10:"germandbls";s:1:"B";a:4:{i:0;s:2:"12";i:1;s:2:"-9";i:2;s:3:"468";i:3;s:3:"683";}}s:10:"germandbls";a:4:{s:1:"C";s:3:"251";s:2:"WX";s:3:"500";s:1:"N";s:10:"germandbls";s:1:"B";a:4:{i:0;s:2:"12";i:1;s:2:"-9";i:2;s:3:"468";i:3;s:3:"683";}}s:9:"Idieresis";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"333";s:1:"N";s:9:"Idieresis";s:1:"B";a:4:{i:0;s:2:"18";i:1;s:1:"0";i:2;s:3:"315";i:3;s:3:"835";}}s:6:"eacute";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"444";s:1:"N";s:6:"eacute";s:1:"B";a:4:{i:0;s:2:"25";i:1;s:3:"-10";i:2;s:3:"424";i:3;s:3:"678";}}s:6:"abreve";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"444";s:1:"N";s:6:"abreve";s:1:"B";a:4:{i:0;s:2:"37";i:1;s:3:"-10";i:2;s:3:"442";i:3;s:3:"664";}}s:13:"uhungarumlaut";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"500";s:1:"N";s:13:"uhungarumlaut";s:1:"B";a:4:{i:0;s:1:"9";i:1;s:3:"-10";i:2;s:3:"501";i:3;s:3:"678";}}s:6:"ecaron";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"444";s:1:"N";s:6:"ecaron";s:1:"B";a:4:{i:0;s:2:"25";i:1;s:3:"-10";i:2;s:3:"424";i:3;s:3:"674";}}s:9:"Ydieresis";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"722";s:1:"N";s:9:"Ydieresis";s:1:"B";a:4:{i:0;s:2:"22";i:1;s:1:"0";i:2;s:3:"703";i:3;s:3:"835";}}s:6:"divide";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"564";s:1:"N";s:6:"divide";s:1:"B";a:4:{i:0;s:2:"30";i:1;s:3:"-10";i:2;s:3:"534";i:3;s:3:"516";}}s:6:"Yacute";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"722";s:1:"N";s:6:"Yacute";s:1:"B";a:4:{i:0;s:2:"22";i:1;s:1:"0";i:2;s:3:"703";i:3;s:3:"890";}}s:11:"Acircumflex";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"722";s:1:"N";s:11:"Acircumflex";s:1:"B";a:4:{i:0;s:2:"15";i:1;s:1:"0";i:2;s:3:"706";i:3;s:3:"886";}}s:6:"aacute";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"444";s:1:"N";s:6:"aacute";s:1:"B";a:4:{i:0;s:2:"37";i:1;s:3:"-10";i:2;s:3:"442";i:3;s:3:"678";}}s:11:"Ucircumflex";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"722";s:1:"N";s:11:"Ucircumflex";s:1:"B";a:4:{i:0;s:2:"14";i:1;s:3:"-14";i:2;s:3:"705";i:3;s:3:"886";}}s:6:"yacute";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"500";s:1:"N";s:6:"yacute";s:1:"B";a:4:{i:0;s:2:"14";i:1;s:4:"-218";i:2;s:3:"475";i:3;s:3:"678";}}s:12:"scommaaccent";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"389";s:1:"N";s:12:"scommaaccent";s:1:"B";a:4:{i:0;s:2:"51";i:1;s:4:"-218";i:2;s:3:"348";i:3;s:3:"460";}}s:11:"ecircumflex";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"444";s:1:"N";s:11:"ecircumflex";s:1:"B";a:4:{i:0;s:2:"25";i:1;s:3:"-10";i:2;s:3:"424";i:3;s:3:"674";}}s:5:"Uring";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"722";s:1:"N";s:5:"Uring";s:1:"B";a:4:{i:0;s:2:"14";i:1;s:3:"-14";i:2;s:3:"705";i:3;s:3:"898";}}s:9:"Udieresis";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"722";s:1:"N";s:9:"Udieresis";s:1:"B";a:4:{i:0;s:2:"14";i:1;s:3:"-14";i:2;s:3:"705";i:3;s:3:"835";}}s:7:"aogonek";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"444";s:1:"N";s:7:"aogonek";s:1:"B";a:4:{i:0;s:2:"37";i:1;s:4:"-165";i:2;s:3:"469";i:3;s:3:"460";}}s:6:"Uacute";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"722";s:1:"N";s:6:"Uacute";s:1:"B";a:4:{i:0;s:2:"14";i:1;s:3:"-14";i:2;s:3:"705";i:3;s:3:"890";}}s:7:"uogonek";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"500";s:1:"N";s:7:"uogonek";s:1:"B";a:4:{i:0;s:1:"9";i:1;s:4:"-155";i:2;s:3:"487";i:3;s:3:"450";}}s:9:"Edieresis";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"611";s:1:"N";s:9:"Edieresis";s:1:"B";a:4:{i:0;s:2:"12";i:1;s:1:"0";i:2;s:3:"597";i:3;s:3:"835";}}s:6:"Dcroat";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"722";s:1:"N";s:6:"Dcroat";s:1:"B";a:4:{i:0;s:2:"16";i:1;s:1:"0";i:2;s:3:"685";i:3;s:3:"662";}}s:11:"commaaccent";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"250";s:1:"N";s:11:"commaaccent";s:1:"B";a:4:{i:0;s:2:"59";i:1;s:4:"-218";i:2;s:3:"184";i:3;s:3:"-50";}}s:9:"copyright";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"760";s:1:"N";s:9:"copyright";s:1:"B";a:4:{i:0;s:2:"38";i:1;s:3:"-14";i:2;s:3:"722";i:3;s:3:"676";}}s:7:"Emacron";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"611";s:1:"N";s:7:"Emacron";s:1:"B";a:4:{i:0;s:2:"12";i:1;s:1:"0";i:2;s:3:"597";i:3;s:3:"813";}}s:6:"ccaron";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"444";s:1:"N";s:6:"ccaron";s:1:"B";a:4:{i:0;s:2:"25";i:1;s:3:"-10";i:2;s:3:"412";i:3;s:3:"674";}}s:5:"aring";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"444";s:1:"N";s:5:"aring";s:1:"B";a:4:{i:0;s:2:"37";i:1;s:3:"-10";i:2;s:3:"442";i:3;s:3:"711";}}s:12:"Ncommaaccent";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"722";s:1:"N";s:12:"Ncommaaccent";s:1:"B";a:4:{i:0;s:2:"12";i:1;s:4:"-198";i:2;s:3:"707";i:3;s:3:"662";}}s:6:"lacute";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"278";s:1:"N";s:6:"lacute";s:1:"B";a:4:{i:0;s:2:"19";i:1;s:1:"0";i:2;s:3:"290";i:3;s:3:"890";}}s:6:"agrave";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"444";s:1:"N";s:6:"agrave";s:1:"B";a:4:{i:0;s:2:"37";i:1;s:3:"-10";i:2;s:3:"442";i:3;s:3:"678";}}s:12:"Tcommaaccent";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"611";s:1:"N";s:12:"Tcommaaccent";s:1:"B";a:4:{i:0;s:2:"17";i:1;s:4:"-218";i:2;s:3:"593";i:3;s:3:"662";}}s:6:"Cacute";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"667";s:1:"N";s:6:"Cacute";s:1:"B";a:4:{i:0;s:2:"28";i:1;s:3:"-14";i:2;s:3:"633";i:3;s:3:"890";}}s:6:"atilde";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"444";s:1:"N";s:6:"atilde";s:1:"B";a:4:{i:0;s:2:"37";i:1;s:3:"-10";i:2;s:3:"442";i:3;s:3:"638";}}s:10:"Edotaccent";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"611";s:1:"N";s:10:"Edotaccent";s:1:"B";a:4:{i:0;s:2:"12";i:1;s:1:"0";i:2;s:3:"597";i:3;s:3:"835";}}s:6:"scaron";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"389";s:1:"N";s:6:"scaron";s:1:"B";a:4:{i:0;s:2:"39";i:1;s:3:"-10";i:2;s:3:"350";i:3;s:3:"674";}}s:8:"scedilla";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"389";s:1:"N";s:8:"scedilla";s:1:"B";a:4:{i:0;s:2:"51";i:1;s:4:"-215";i:2;s:3:"348";i:3;s:3:"460";}}s:6:"iacute";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"278";s:1:"N";s:6:"iacute";s:1:"B";a:4:{i:0;s:2:"16";i:1;s:1:"0";i:2;s:3:"290";i:3;s:3:"678";}}s:7:"lozenge";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"471";s:1:"N";s:7:"lozenge";s:1:"B";a:4:{i:0;s:2:"13";i:1;s:1:"0";i:2;s:3:"459";i:3;s:3:"724";}}s:6:"Rcaron";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"667";s:1:"N";s:6:"Rcaron";s:1:"B";a:4:{i:0;s:2:"17";i:1;s:1:"0";i:2;s:3:"659";i:3;s:3:"886";}}s:12:"Gcommaaccent";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"722";s:1:"N";s:12:"Gcommaaccent";s:1:"B";a:4:{i:0;s:2:"32";i:1;s:4:"-218";i:2;s:3:"709";i:3;s:3:"676";}}s:11:"ucircumflex";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"500";s:1:"N";s:11:"ucircumflex";s:1:"B";a:4:{i:0;s:1:"9";i:1;s:3:"-10";i:2;s:3:"479";i:3;s:3:"674";}}s:11:"acircumflex";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"444";s:1:"N";s:11:"acircumflex";s:1:"B";a:4:{i:0;s:2:"37";i:1;s:3:"-10";i:2;s:3:"442";i:3;s:3:"674";}}s:7:"Amacron";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"722";s:1:"N";s:7:"Amacron";s:1:"B";a:4:{i:0;s:2:"15";i:1;s:1:"0";i:2;s:3:"706";i:3;s:3:"813";}}s:6:"rcaron";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"333";s:1:"N";s:6:"rcaron";s:1:"B";a:4:{i:0;s:1:"5";i:1;s:1:"0";i:2;s:3:"335";i:3;s:3:"674";}}s:8:"ccedilla";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"444";s:1:"N";s:8:"ccedilla";s:1:"B";a:4:{i:0;s:2:"25";i:1;s:4:"-215";i:2;s:3:"412";i:3;s:3:"460";}}s:10:"Zdotaccent";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"611";s:1:"N";s:10:"Zdotaccent";s:1:"B";a:4:{i:0;s:1:"9";i:1;s:1:"0";i:2;s:3:"597";i:3;s:3:"835";}}s:5:"Thorn";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"556";s:1:"N";s:5:"Thorn";s:1:"B";a:4:{i:0;s:2:"16";i:1;s:1:"0";i:2;s:3:"542";i:3;s:3:"662";}}s:7:"Omacron";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"722";s:1:"N";s:7:"Omacron";s:1:"B";a:4:{i:0;s:2:"34";i:1;s:3:"-14";i:2;s:3:"688";i:3;s:3:"813";}}s:6:"Racute";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"667";s:1:"N";s:6:"Racute";s:1:"B";a:4:{i:0;s:2:"17";i:1;s:1:"0";i:2;s:3:"659";i:3;s:3:"890";}}s:6:"Sacute";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"556";s:1:"N";s:6:"Sacute";s:1:"B";a:4:{i:0;s:2:"42";i:1;s:3:"-14";i:2;s:3:"491";i:3;s:3:"890";}}s:6:"dcaron";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"588";s:1:"N";s:6:"dcaron";s:1:"B";a:4:{i:0;s:2:"27";i:1;s:3:"-10";i:2;s:3:"589";i:3;s:3:"695";}}s:7:"Umacron";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"722";s:1:"N";s:7:"Umacron";s:1:"B";a:4:{i:0;s:2:"14";i:1;s:3:"-14";i:2;s:3:"705";i:3;s:3:"813";}}s:5:"uring";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"500";s:1:"N";s:5:"uring";s:1:"B";a:4:{i:0;s:1:"9";i:1;s:3:"-10";i:2;s:3:"479";i:3;s:3:"711";}}s:13:"threesuperior";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"300";s:1:"N";s:13:"threesuperior";s:1:"B";a:4:{i:0;s:2:"15";i:1;s:3:"262";i:2;s:3:"291";i:3;s:3:"676";}}s:6:"Ograve";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"722";s:1:"N";s:6:"Ograve";s:1:"B";a:4:{i:0;s:2:"34";i:1;s:3:"-14";i:2;s:3:"688";i:3;s:3:"890";}}s:6:"Agrave";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"722";s:1:"N";s:6:"Agrave";s:1:"B";a:4:{i:0;s:2:"15";i:1;s:1:"0";i:2;s:3:"706";i:3;s:3:"890";}}s:6:"Abreve";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"722";s:1:"N";s:6:"Abreve";s:1:"B";a:4:{i:0;s:2:"15";i:1;s:1:"0";i:2;s:3:"706";i:3;s:3:"876";}}s:8:"multiply";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"564";s:1:"N";s:8:"multiply";s:1:"B";a:4:{i:0;s:2:"38";i:1;s:1:"8";i:2;s:3:"527";i:3;s:3:"497";}}s:6:"uacute";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"500";s:1:"N";s:6:"uacute";s:1:"B";a:4:{i:0;s:1:"9";i:1;s:3:"-10";i:2;s:3:"479";i:3;s:3:"678";}}s:6:"Tcaron";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"611";s:1:"N";s:6:"Tcaron";s:1:"B";a:4:{i:0;s:2:"17";i:1;s:1:"0";i:2;s:3:"593";i:3;s:3:"886";}}s:11:"partialdiff";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"476";s:1:"N";s:11:"partialdiff";s:1:"B";a:4:{i:0;s:2:"17";i:1;s:3:"-38";i:2;s:3:"459";i:3;s:3:"710";}}s:9:"ydieresis";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"500";s:1:"N";s:9:"ydieresis";s:1:"B";a:4:{i:0;s:2:"14";i:1;s:4:"-218";i:2;s:3:"475";i:3;s:3:"623";}}s:6:"Nacute";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"722";s:1:"N";s:6:"Nacute";s:1:"B";a:4:{i:0;s:2:"12";i:1;s:3:"-11";i:2;s:3:"707";i:3;s:3:"890";}}s:11:"icircumflex";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"278";s:1:"N";s:11:"icircumflex";s:1:"B";a:4:{i:0;s:3:"-16";i:1;s:1:"0";i:2;s:3:"295";i:3;s:3:"674";}}s:11:"Ecircumflex";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"611";s:1:"N";s:11:"Ecircumflex";s:1:"B";a:4:{i:0;s:2:"12";i:1;s:1:"0";i:2;s:3:"597";i:3;s:3:"886";}}s:9:"adieresis";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"444";s:1:"N";s:9:"adieresis";s:1:"B";a:4:{i:0;s:2:"37";i:1;s:3:"-10";i:2;s:3:"442";i:3;s:3:"623";}}s:9:"edieresis";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"444";s:1:"N";s:9:"edieresis";s:1:"B";a:4:{i:0;s:2:"25";i:1;s:3:"-10";i:2;s:3:"424";i:3;s:3:"623";}}s:6:"cacute";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"444";s:1:"N";s:6:"cacute";s:1:"B";a:4:{i:0;s:2:"25";i:1;s:3:"-10";i:2;s:3:"413";i:3;s:3:"678";}}s:6:"nacute";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"500";s:1:"N";s:6:"nacute";s:1:"B";a:4:{i:0;s:2:"16";i:1;s:1:"0";i:2;s:3:"485";i:3;s:3:"678";}}s:7:"umacron";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"500";s:1:"N";s:7:"umacron";s:1:"B";a:4:{i:0;s:1:"9";i:1;s:3:"-10";i:2;s:3:"479";i:3;s:3:"601";}}s:6:"Ncaron";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"722";s:1:"N";s:6:"Ncaron";s:1:"B";a:4:{i:0;s:2:"12";i:1;s:3:"-11";i:2;s:3:"707";i:3;s:3:"886";}}s:6:"Iacute";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"333";s:1:"N";s:6:"Iacute";s:1:"B";a:4:{i:0;s:2:"18";i:1;s:1:"0";i:2;s:3:"317";i:3;s:3:"890";}}s:9:"plusminus";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"564";s:1:"N";s:9:"plusminus";s:1:"B";a:4:{i:0;s:2:"30";i:1;s:1:"0";i:2;s:3:"534";i:3;s:3:"506";}}s:9:"brokenbar";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"200";s:1:"N";s:9:"brokenbar";s:1:"B";a:4:{i:0;s:2:"67";i:1;s:4:"-143";i:2;s:3:"133";i:3;s:3:"707";}}s:10:"registered";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"760";s:1:"N";s:10:"registered";s:1:"B";a:4:{i:0;s:2:"38";i:1;s:3:"-14";i:2;s:3:"722";i:3;s:3:"676";}}s:6:"Gbreve";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"722";s:1:"N";s:6:"Gbreve";s:1:"B";a:4:{i:0;s:2:"32";i:1;s:3:"-14";i:2;s:3:"709";i:3;s:3:"876";}}s:10:"Idotaccent";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"333";s:1:"N";s:10:"Idotaccent";s:1:"B";a:4:{i:0;s:2:"18";i:1;s:1:"0";i:2;s:3:"315";i:3;s:3:"835";}}s:9:"summation";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"600";s:1:"N";s:9:"summation";s:1:"B";a:4:{i:0;s:2:"15";i:1;s:3:"-10";i:2;s:3:"585";i:3;s:3:"706";}}s:6:"Egrave";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"611";s:1:"N";s:6:"Egrave";s:1:"B";a:4:{i:0;s:2:"12";i:1;s:1:"0";i:2;s:3:"597";i:3;s:3:"890";}}s:6:"racute";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"333";s:1:"N";s:6:"racute";s:1:"B";a:4:{i:0;s:1:"5";i:1;s:1:"0";i:2;s:3:"335";i:3;s:3:"678";}}s:7:"omacron";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"500";s:1:"N";s:7:"omacron";s:1:"B";a:4:{i:0;s:2:"29";i:1;s:3:"-10";i:2;s:3:"470";i:3;s:3:"601";}}s:6:"Zacute";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"611";s:1:"N";s:6:"Zacute";s:1:"B";a:4:{i:0;s:1:"9";i:1;s:1:"0";i:2;s:3:"597";i:3;s:3:"890";}}s:6:"Zcaron";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"611";s:1:"N";s:6:"Zcaron";s:1:"B";a:4:{i:0;s:1:"9";i:1;s:1:"0";i:2;s:3:"597";i:3;s:3:"886";}}s:12:"greaterequal";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"549";s:1:"N";s:12:"greaterequal";s:1:"B";a:4:{i:0;s:2:"26";i:1;s:1:"0";i:2;s:3:"523";i:3;s:3:"666";}}s:3:"Eth";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"722";s:1:"N";s:3:"Eth";s:1:"B";a:4:{i:0;s:2:"16";i:1;s:1:"0";i:2;s:3:"685";i:3;s:3:"662";}}s:8:"Ccedilla";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"667";s:1:"N";s:8:"Ccedilla";s:1:"B";a:4:{i:0;s:2:"28";i:1;s:4:"-215";i:2;s:3:"633";i:3;s:3:"676";}}s:12:"lcommaaccent";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"278";s:1:"N";s:12:"lcommaaccent";s:1:"B";a:4:{i:0;s:2:"19";i:1;s:4:"-218";i:2;s:3:"257";i:3;s:3:"683";}}s:6:"tcaron";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"326";s:1:"N";s:6:"tcaron";s:1:"B";a:4:{i:0;s:2:"13";i:1;s:3:"-10";i:2;s:3:"318";i:3;s:3:"722";}}s:7:"eogonek";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"444";s:1:"N";s:7:"eogonek";s:1:"B";a:4:{i:0;s:2:"25";i:1;s:4:"-165";i:2;s:3:"424";i:3;s:3:"460";}}s:7:"Uogonek";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"722";s:1:"N";s:7:"Uogonek";s:1:"B";a:4:{i:0;s:2:"14";i:1;s:4:"-165";i:2;s:3:"705";i:3;s:3:"662";}}s:6:"Aacute";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"722";s:1:"N";s:6:"Aacute";s:1:"B";a:4:{i:0;s:2:"15";i:1;s:1:"0";i:2;s:3:"706";i:3;s:3:"890";}}s:9:"Adieresis";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"722";s:1:"N";s:9:"Adieresis";s:1:"B";a:4:{i:0;s:2:"15";i:1;s:1:"0";i:2;s:3:"706";i:3;s:3:"835";}}s:6:"egrave";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"444";s:1:"N";s:6:"egrave";s:1:"B";a:4:{i:0;s:2:"25";i:1;s:3:"-10";i:2;s:3:"424";i:3;s:3:"678";}}s:6:"zacute";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"444";s:1:"N";s:6:"zacute";s:1:"B";a:4:{i:0;s:2:"27";i:1;s:1:"0";i:2;s:3:"418";i:3;s:3:"678";}}s:7:"iogonek";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"278";s:1:"N";s:7:"iogonek";s:1:"B";a:4:{i:0;s:2:"16";i:1;s:4:"-165";i:2;s:3:"265";i:3;s:3:"683";}}s:6:"Oacute";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"722";s:1:"N";s:6:"Oacute";s:1:"B";a:4:{i:0;s:2:"34";i:1;s:3:"-14";i:2;s:3:"688";i:3;s:3:"890";}}s:6:"oacute";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"500";s:1:"N";s:6:"oacute";s:1:"B";a:4:{i:0;s:2:"29";i:1;s:3:"-10";i:2;s:3:"470";i:3;s:3:"678";}}s:7:"amacron";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"444";s:1:"N";s:7:"amacron";s:1:"B";a:4:{i:0;s:2:"37";i:1;s:3:"-10";i:2;s:3:"442";i:3;s:3:"601";}}s:6:"sacute";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"389";s:1:"N";s:6:"sacute";s:1:"B";a:4:{i:0;s:2:"51";i:1;s:3:"-10";i:2;s:3:"348";i:3;s:3:"678";}}s:9:"idieresis";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"278";s:1:"N";s:9:"idieresis";s:1:"B";a:4:{i:0;s:2:"-9";i:1;s:1:"0";i:2;s:3:"288";i:3;s:3:"623";}}s:11:"Ocircumflex";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"722";s:1:"N";s:11:"Ocircumflex";s:1:"B";a:4:{i:0;s:2:"34";i:1;s:3:"-14";i:2;s:3:"688";i:3;s:3:"886";}}s:6:"Ugrave";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"722";s:1:"N";s:6:"Ugrave";s:1:"B";a:4:{i:0;s:2:"14";i:1;s:3:"-14";i:2;s:3:"705";i:3;s:3:"890";}}s:5:"Delta";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"612";s:1:"N";s:5:"Delta";s:1:"B";a:4:{i:0;s:1:"6";i:1;s:1:"0";i:2;s:3:"608";i:3;s:3:"688";}}s:5:"thorn";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"500";s:1:"N";s:5:"thorn";s:1:"B";a:4:{i:0;s:1:"5";i:1;s:4:"-217";i:2;s:3:"470";i:3;s:3:"683";}}s:11:"twosuperior";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"300";s:1:"N";s:11:"twosuperior";s:1:"B";a:4:{i:0;s:1:"1";i:1;s:3:"270";i:2;s:3:"296";i:3;s:3:"676";}}s:9:"Odieresis";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"722";s:1:"N";s:9:"Odieresis";s:1:"B";a:4:{i:0;s:2:"34";i:1;s:3:"-14";i:2;s:3:"688";i:3;s:3:"835";}}s:2:"mu";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"500";s:1:"N";s:2:"mu";s:1:"B";a:4:{i:0;s:2:"36";i:1;s:4:"-218";i:2;s:3:"512";i:3;s:3:"450";}}s:6:"igrave";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"278";s:1:"N";s:6:"igrave";s:1:"B";a:4:{i:0;s:2:"-8";i:1;s:1:"0";i:2;s:3:"253";i:3;s:3:"678";}}s:13:"ohungarumlaut";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"500";s:1:"N";s:13:"ohungarumlaut";s:1:"B";a:4:{i:0;s:2:"29";i:1;s:3:"-10";i:2;s:3:"491";i:3;s:3:"678";}}s:7:"Eogonek";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"611";s:1:"N";s:7:"Eogonek";s:1:"B";a:4:{i:0;s:2:"12";i:1;s:4:"-165";i:2;s:3:"597";i:3;s:3:"662";}}s:6:"dcroat";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"500";s:1:"N";s:6:"dcroat";s:1:"B";a:4:{i:0;s:2:"27";i:1;s:3:"-10";i:2;s:3:"500";i:3;s:3:"683";}}s:13:"threequarters";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"750";s:1:"N";s:13:"threequarters";s:1:"B";a:4:{i:0;s:2:"15";i:1;s:3:"-14";i:2;s:3:"718";i:3;s:3:"676";}}s:8:"Scedilla";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"556";s:1:"N";s:8:"Scedilla";s:1:"B";a:4:{i:0;s:2:"42";i:1;s:4:"-215";i:2;s:3:"491";i:3;s:3:"676";}}s:6:"lcaron";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"344";s:1:"N";s:6:"lcaron";s:1:"B";a:4:{i:0;s:2:"19";i:1;s:1:"0";i:2;s:3:"347";i:3;s:3:"695";}}s:12:"Kcommaaccent";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"722";s:1:"N";s:12:"Kcommaaccent";s:1:"B";a:4:{i:0;s:2:"34";i:1;s:4:"-198";i:2;s:3:"723";i:3;s:3:"662";}}s:6:"Lacute";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"611";s:1:"N";s:6:"Lacute";s:1:"B";a:4:{i:0;s:2:"12";i:1;s:1:"0";i:2;s:3:"598";i:3;s:3:"890";}}s:9:"trademark";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"980";s:1:"N";s:9:"trademark";s:1:"B";a:4:{i:0;s:2:"30";i:1;s:3:"256";i:2;s:3:"957";i:3;s:3:"662";}}s:10:"edotaccent";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"444";s:1:"N";s:10:"edotaccent";s:1:"B";a:4:{i:0;s:2:"25";i:1;s:3:"-10";i:2;s:3:"424";i:3;s:3:"623";}}s:6:"Igrave";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"333";s:1:"N";s:6:"Igrave";s:1:"B";a:4:{i:0;s:2:"18";i:1;s:1:"0";i:2;s:3:"315";i:3;s:3:"890";}}s:7:"Imacron";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"333";s:1:"N";s:7:"Imacron";s:1:"B";a:4:{i:0;s:2:"11";i:1;s:1:"0";i:2;s:3:"322";i:3;s:3:"813";}}s:6:"Lcaron";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"611";s:1:"N";s:6:"Lcaron";s:1:"B";a:4:{i:0;s:2:"12";i:1;s:1:"0";i:2;s:3:"598";i:3;s:3:"676";}}s:7:"onehalf";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"750";s:1:"N";s:7:"onehalf";s:1:"B";a:4:{i:0;s:2:"31";i:1;s:3:"-14";i:2;s:3:"746";i:3;s:3:"676";}}s:9:"lessequal";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"549";s:1:"N";s:9:"lessequal";s:1:"B";a:4:{i:0;s:2:"26";i:1;s:1:"0";i:2;s:3:"523";i:3;s:3:"666";}}s:11:"ocircumflex";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"500";s:1:"N";s:11:"ocircumflex";s:1:"B";a:4:{i:0;s:2:"29";i:1;s:3:"-10";i:2;s:3:"470";i:3;s:3:"674";}}s:6:"ntilde";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"500";s:1:"N";s:6:"ntilde";s:1:"B";a:4:{i:0;s:2:"16";i:1;s:1:"0";i:2;s:3:"485";i:3;s:3:"638";}}s:13:"Uhungarumlaut";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"722";s:1:"N";s:13:"Uhungarumlaut";s:1:"B";a:4:{i:0;s:2:"14";i:1;s:3:"-14";i:2;s:3:"705";i:3;s:3:"890";}}s:6:"Eacute";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"611";s:1:"N";s:6:"Eacute";s:1:"B";a:4:{i:0;s:2:"12";i:1;s:1:"0";i:2;s:3:"597";i:3;s:3:"890";}}s:7:"emacron";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"444";s:1:"N";s:7:"emacron";s:1:"B";a:4:{i:0;s:2:"25";i:1;s:3:"-10";i:2;s:3:"424";i:3;s:3:"601";}}s:6:"gbreve";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"500";s:1:"N";s:6:"gbreve";s:1:"B";a:4:{i:0;s:2:"28";i:1;s:4:"-218";i:2;s:3:"470";i:3;s:3:"664";}}s:10:"onequarter";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"750";s:1:"N";s:10:"onequarter";s:1:"B";a:4:{i:0;s:2:"37";i:1;s:3:"-14";i:2;s:3:"718";i:3;s:3:"676";}}s:6:"Scaron";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"556";s:1:"N";s:6:"Scaron";s:1:"B";a:4:{i:0;s:2:"42";i:1;s:3:"-14";i:2;s:3:"491";i:3;s:3:"886";}}s:12:"Scommaaccent";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"556";s:1:"N";s:12:"Scommaaccent";s:1:"B";a:4:{i:0;s:2:"42";i:1;s:4:"-218";i:2;s:3:"491";i:3;s:3:"676";}}s:13:"Ohungarumlaut";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"722";s:1:"N";s:13:"Ohungarumlaut";s:1:"B";a:4:{i:0;s:2:"34";i:1;s:3:"-14";i:2;s:3:"688";i:3;s:3:"890";}}s:6:"degree";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"400";s:1:"N";s:6:"degree";s:1:"B";a:4:{i:0;s:2:"57";i:1;s:3:"390";i:2;s:3:"343";i:3;s:3:"676";}}s:6:"ograve";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"500";s:1:"N";s:6:"ograve";s:1:"B";a:4:{i:0;s:2:"29";i:1;s:3:"-10";i:2;s:3:"470";i:3;s:3:"678";}}s:6:"Ccaron";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"667";s:1:"N";s:6:"Ccaron";s:1:"B";a:4:{i:0;s:2:"28";i:1;s:3:"-14";i:2;s:3:"633";i:3;s:3:"886";}}s:6:"ugrave";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"500";s:1:"N";s:6:"ugrave";s:1:"B";a:4:{i:0;s:1:"9";i:1;s:3:"-10";i:2;s:3:"479";i:3;s:3:"678";}}s:7:"radical";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"453";s:1:"N";s:7:"radical";s:1:"B";a:4:{i:0;s:1:"2";i:1;s:3:"-60";i:2;s:3:"452";i:3;s:3:"768";}}s:6:"Dcaron";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"722";s:1:"N";s:6:"Dcaron";s:1:"B";a:4:{i:0;s:2:"16";i:1;s:1:"0";i:2;s:3:"685";i:3;s:3:"886";}}s:12:"rcommaaccent";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"333";s:1:"N";s:12:"rcommaaccent";s:1:"B";a:4:{i:0;s:1:"5";i:1;s:4:"-218";i:2;s:3:"335";i:3;s:3:"460";}}s:6:"Ntilde";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"722";s:1:"N";s:6:"Ntilde";s:1:"B";a:4:{i:0;s:2:"12";i:1;s:3:"-11";i:2;s:3:"707";i:3;s:3:"850";}}s:6:"otilde";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"500";s:1:"N";s:6:"otilde";s:1:"B";a:4:{i:0;s:2:"29";i:1;s:3:"-10";i:2;s:3:"470";i:3;s:3:"638";}}s:12:"Rcommaaccent";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"667";s:1:"N";s:12:"Rcommaaccent";s:1:"B";a:4:{i:0;s:2:"17";i:1;s:4:"-198";i:2;s:3:"659";i:3;s:3:"662";}}s:12:"Lcommaaccent";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"611";s:1:"N";s:12:"Lcommaaccent";s:1:"B";a:4:{i:0;s:2:"12";i:1;s:4:"-218";i:2;s:3:"598";i:3;s:3:"662";}}s:6:"Atilde";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"722";s:1:"N";s:6:"Atilde";s:1:"B";a:4:{i:0;s:2:"15";i:1;s:1:"0";i:2;s:3:"706";i:3;s:3:"850";}}s:7:"Aogonek";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"722";s:1:"N";s:7:"Aogonek";s:1:"B";a:4:{i:0;s:2:"15";i:1;s:4:"-165";i:2;s:3:"738";i:3;s:3:"674";}}s:5:"Aring";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"722";s:1:"N";s:5:"Aring";s:1:"B";a:4:{i:0;s:2:"15";i:1;s:1:"0";i:2;s:3:"706";i:3;s:3:"898";}}s:6:"Otilde";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"722";s:1:"N";s:6:"Otilde";s:1:"B";a:4:{i:0;s:2:"34";i:1;s:3:"-14";i:2;s:3:"688";i:3;s:3:"850";}}s:10:"zdotaccent";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"444";s:1:"N";s:10:"zdotaccent";s:1:"B";a:4:{i:0;s:2:"27";i:1;s:1:"0";i:2;s:3:"418";i:3;s:3:"623";}}s:6:"Ecaron";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"611";s:1:"N";s:6:"Ecaron";s:1:"B";a:4:{i:0;s:2:"12";i:1;s:1:"0";i:2;s:3:"597";i:3;s:3:"886";}}s:7:"Iogonek";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"333";s:1:"N";s:7:"Iogonek";s:1:"B";a:4:{i:0;s:2:"18";i:1;s:4:"-165";i:2;s:3:"315";i:3;s:3:"662";}}s:12:"kcommaaccent";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"500";s:1:"N";s:12:"kcommaaccent";s:1:"B";a:4:{i:0;s:1:"7";i:1;s:4:"-218";i:2;s:3:"505";i:3;s:3:"683";}}s:5:"minus";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"564";s:1:"N";s:5:"minus";s:1:"B";a:4:{i:0;s:2:"30";i:1;s:3:"220";i:2;s:3:"534";i:3;s:3:"286";}}s:11:"Icircumflex";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"333";s:1:"N";s:11:"Icircumflex";s:1:"B";a:4:{i:0;s:2:"11";i:1;s:1:"0";i:2;s:3:"322";i:3;s:3:"886";}}s:6:"ncaron";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"500";s:1:"N";s:6:"ncaron";s:1:"B";a:4:{i:0;s:2:"16";i:1;s:1:"0";i:2;s:3:"485";i:3;s:3:"674";}}s:12:"tcommaaccent";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"278";s:1:"N";s:12:"tcommaaccent";s:1:"B";a:4:{i:0;s:2:"13";i:1;s:4:"-218";i:2;s:3:"279";i:3;s:3:"579";}}s:10:"logicalnot";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"564";s:1:"N";s:10:"logicalnot";s:1:"B";a:4:{i:0;s:2:"30";i:1;s:3:"108";i:2;s:3:"534";i:3;s:3:"386";}}s:9:"odieresis";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"500";s:1:"N";s:9:"odieresis";s:1:"B";a:4:{i:0;s:2:"29";i:1;s:3:"-10";i:2;s:3:"470";i:3;s:3:"623";}}s:9:"udieresis";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"500";s:1:"N";s:9:"udieresis";s:1:"B";a:4:{i:0;s:1:"9";i:1;s:3:"-10";i:2;s:3:"479";i:3;s:3:"623";}}s:8:"notequal";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"549";s:1:"N";s:8:"notequal";s:1:"B";a:4:{i:0;s:2:"12";i:1;s:3:"-31";i:2;s:3:"537";i:3;s:3:"547";}}s:12:"gcommaaccent";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"500";s:1:"N";s:12:"gcommaaccent";s:1:"B";a:4:{i:0;s:2:"28";i:1;s:4:"-218";i:2;s:3:"470";i:3;s:3:"749";}}s:3:"eth";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"500";s:1:"N";s:3:"eth";s:1:"B";a:4:{i:0;s:2:"29";i:1;s:3:"-10";i:2;s:3:"471";i:3;s:3:"686";}}s:6:"zcaron";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"444";s:1:"N";s:6:"zcaron";s:1:"B";a:4:{i:0;s:2:"27";i:1;s:1:"0";i:2;s:3:"418";i:3;s:3:"674";}}s:12:"ncommaaccent";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"500";s:1:"N";s:12:"ncommaaccent";s:1:"B";a:4:{i:0;s:2:"16";i:1;s:4:"-218";i:2;s:3:"485";i:3;s:3:"460";}}s:11:"onesuperior";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"300";s:1:"N";s:11:"onesuperior";s:1:"B";a:4:{i:0;s:2:"57";i:1;s:3:"270";i:2;s:3:"248";i:3;s:3:"676";}}s:7:"imacron";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"278";s:1:"N";s:7:"imacron";s:1:"B";a:4:{i:0;s:1:"6";i:1;s:1:"0";i:2;s:3:"271";i:3;s:3:"601";}}s:4:"Euro";a:4:{s:1:"C";s:2:"-1";s:2:"WX";s:3:"500";s:1:"N";s:4:"Euro";s:1:"B";a:4:{i:0;s:1:"0";i:1;s:1:"0";i:2;s:1:"0";i:3;s:1:"0";}}}s:3:"KPX";a:133:{s:1:"A";a:40:{s:1:"C";s:3:"-40";s:6:"Cacute";s:3:"-40";s:6:"Ccaron";s:3:"-40";s:8:"Ccedilla";s:3:"-40";s:1:"G";s:3:"-40";s:6:"Gbreve";s:3:"-40";s:12:"Gcommaaccent";s:3:"-40";s:1:"O";s:3:"-55";s:6:"Oacute";s:3:"-55";s:11:"Ocircumflex";s:3:"-55";s:9:"Odieresis";s:3:"-55";s:6:"Ograve";s:3:"-55";s:13:"Ohungarumlaut";s:3:"-55";s:7:"Omacron";s:3:"-55";s:6:"Oslash";s:3:"-55";s:6:"Otilde";s:3:"-55";s:1:"Q";s:3:"-55";s:1:"T";s:4:"-111";s:6:"Tcaron";s:4:"-111";s:12:"Tcommaaccent";s:4:"-111";s:1:"U";s:3:"-55";s:6:"Uacute";s:3:"-55";s:11:"Ucircumflex";s:3:"-55";s:9:"Udieresis";s:3:"-55";s:6:"Ugrave";s:3:"-55";s:13:"Uhungarumlaut";s:3:"-55";s:7:"Umacron";s:3:"-55";s:7:"Uogonek";s:3:"-55";s:5:"Uring";s:3:"-55";s:1:"V";s:4:"-135";s:1:"W";s:3:"-90";s:1:"Y";s:4:"-105";s:6:"Yacute";s:4:"-105";s:9:"Ydieresis";s:4:"-105";s:10:"quoteright";s:4:"-111";s:1:"v";s:3:"-74";s:1:"w";s:3:"-92";s:1:"y";s:3:"-92";s:6:"yacute";s:3:"-92";s:9:"ydieresis";s:3:"-92";}s:6:"Aacute";a:40:{s:1:"C";s:3:"-40";s:6:"Cacute";s:3:"-40";s:6:"Ccaron";s:3:"-40";s:8:"Ccedilla";s:3:"-40";s:1:"G";s:3:"-40";s:6:"Gbreve";s:3:"-40";s:12:"Gcommaaccent";s:3:"-40";s:1:"O";s:3:"-55";s:6:"Oacute";s:3:"-55";s:11:"Ocircumflex";s:3:"-55";s:9:"Odieresis";s:3:"-55";s:6:"Ograve";s:3:"-55";s:13:"Ohungarumlaut";s:3:"-55";s:7:"Omacron";s:3:"-55";s:6:"Oslash";s:3:"-55";s:6:"Otilde";s:3:"-55";s:1:"Q";s:3:"-55";s:1:"T";s:4:"-111";s:6:"Tcaron";s:4:"-111";s:12:"Tcommaaccent";s:4:"-111";s:1:"U";s:3:"-55";s:6:"Uacute";s:3:"-55";s:11:"Ucircumflex";s:3:"-55";s:9:"Udieresis";s:3:"-55";s:6:"Ugrave";s:3:"-55";s:13:"Uhungarumlaut";s:3:"-55";s:7:"Umacron";s:3:"-55";s:7:"Uogonek";s:3:"-55";s:5:"Uring";s:3:"-55";s:1:"V";s:4:"-135";s:1:"W";s:3:"-90";s:1:"Y";s:4:"-105";s:6:"Yacute";s:4:"-105";s:9:"Ydieresis";s:4:"-105";s:10:"quoteright";s:4:"-111";s:1:"v";s:3:"-74";s:1:"w";s:3:"-92";s:1:"y";s:3:"-92";s:6:"yacute";s:3:"-92";s:9:"ydieresis";s:3:"-92";}s:6:"Abreve";a:40:{s:1:"C";s:3:"-40";s:6:"Cacute";s:3:"-40";s:6:"Ccaron";s:3:"-40";s:8:"Ccedilla";s:3:"-40";s:1:"G";s:3:"-40";s:6:"Gbreve";s:3:"-40";s:12:"Gcommaaccent";s:3:"-40";s:1:"O";s:3:"-55";s:6:"Oacute";s:3:"-55";s:11:"Ocircumflex";s:3:"-55";s:9:"Odieresis";s:3:"-55";s:6:"Ograve";s:3:"-55";s:13:"Ohungarumlaut";s:3:"-55";s:7:"Omacron";s:3:"-55";s:6:"Oslash";s:3:"-55";s:6:"Otilde";s:3:"-55";s:1:"Q";s:3:"-55";s:1:"T";s:4:"-111";s:6:"Tcaron";s:4:"-111";s:12:"Tcommaaccent";s:4:"-111";s:1:"U";s:3:"-55";s:6:"Uacute";s:3:"-55";s:11:"Ucircumflex";s:3:"-55";s:9:"Udieresis";s:3:"-55";s:6:"Ugrave";s:3:"-55";s:13:"Uhungarumlaut";s:3:"-55";s:7:"Umacron";s:3:"-55";s:7:"Uogonek";s:3:"-55";s:5:"Uring";s:3:"-55";s:1:"V";s:4:"-135";s:1:"W";s:3:"-90";s:1:"Y";s:4:"-105";s:6:"Yacute";s:4:"-105";s:9:"Ydieresis";s:4:"-105";s:10:"quoteright";s:4:"-111";s:1:"v";s:3:"-74";s:1:"w";s:3:"-92";s:1:"y";s:3:"-92";s:6:"yacute";s:3:"-92";s:9:"ydieresis";s:3:"-92";}s:11:"Acircumflex";a:40:{s:1:"C";s:3:"-40";s:6:"Cacute";s:3:"-40";s:6:"Ccaron";s:3:"-40";s:8:"Ccedilla";s:3:"-40";s:1:"G";s:3:"-40";s:6:"Gbreve";s:3:"-40";s:12:"Gcommaaccent";s:3:"-40";s:1:"O";s:3:"-55";s:6:"Oacute";s:3:"-55";s:11:"Ocircumflex";s:3:"-55";s:9:"Odieresis";s:3:"-55";s:6:"Ograve";s:3:"-55";s:13:"Ohungarumlaut";s:3:"-55";s:7:"Omacron";s:3:"-55";s:6:"Oslash";s:3:"-55";s:6:"Otilde";s:3:"-55";s:1:"Q";s:3:"-55";s:1:"T";s:4:"-111";s:6:"Tcaron";s:4:"-111";s:12:"Tcommaaccent";s:4:"-111";s:1:"U";s:3:"-55";s:6:"Uacute";s:3:"-55";s:11:"Ucircumflex";s:3:"-55";s:9:"Udieresis";s:3:"-55";s:6:"Ugrave";s:3:"-55";s:13:"Uhungarumlaut";s:3:"-55";s:7:"Umacron";s:3:"-55";s:7:"Uogonek";s:3:"-55";s:5:"Uring";s:3:"-55";s:1:"V";s:4:"-135";s:1:"W";s:3:"-90";s:1:"Y";s:4:"-105";s:6:"Yacute";s:4:"-105";s:9:"Ydieresis";s:4:"-105";s:10:"quoteright";s:4:"-111";s:1:"v";s:3:"-74";s:1:"w";s:3:"-92";s:1:"y";s:3:"-92";s:6:"yacute";s:3:"-92";s:9:"ydieresis";s:3:"-92";}s:9:"Adieresis";a:40:{s:1:"C";s:3:"-40";s:6:"Cacute";s:3:"-40";s:6:"Ccaron";s:3:"-40";s:8:"Ccedilla";s:3:"-40";s:1:"G";s:3:"-40";s:6:"Gbreve";s:3:"-40";s:12:"Gcommaaccent";s:3:"-40";s:1:"O";s:3:"-55";s:6:"Oacute";s:3:"-55";s:11:"Ocircumflex";s:3:"-55";s:9:"Odieresis";s:3:"-55";s:6:"Ograve";s:3:"-55";s:13:"Ohungarumlaut";s:3:"-55";s:7:"Omacron";s:3:"-55";s:6:"Oslash";s:3:"-55";s:6:"Otilde";s:3:"-55";s:1:"Q";s:3:"-55";s:1:"T";s:4:"-111";s:6:"Tcaron";s:4:"-111";s:12:"Tcommaaccent";s:4:"-111";s:1:"U";s:3:"-55";s:6:"Uacute";s:3:"-55";s:11:"Ucircumflex";s:3:"-55";s:9:"Udieresis";s:3:"-55";s:6:"Ugrave";s:3:"-55";s:13:"Uhungarumlaut";s:3:"-55";s:7:"Umacron";s:3:"-55";s:7:"Uogonek";s:3:"-55";s:5:"Uring";s:3:"-55";s:1:"V";s:4:"-135";s:1:"W";s:3:"-90";s:1:"Y";s:4:"-105";s:6:"Yacute";s:4:"-105";s:9:"Ydieresis";s:4:"-105";s:10:"quoteright";s:4:"-111";s:1:"v";s:3:"-74";s:1:"w";s:3:"-92";s:1:"y";s:3:"-92";s:6:"yacute";s:3:"-92";s:9:"ydieresis";s:3:"-92";}s:6:"Agrave";a:40:{s:1:"C";s:3:"-40";s:6:"Cacute";s:3:"-40";s:6:"Ccaron";s:3:"-40";s:8:"Ccedilla";s:3:"-40";s:1:"G";s:3:"-40";s:6:"Gbreve";s:3:"-40";s:12:"Gcommaaccent";s:3:"-40";s:1:"O";s:3:"-55";s:6:"Oacute";s:3:"-55";s:11:"Ocircumflex";s:3:"-55";s:9:"Odieresis";s:3:"-55";s:6:"Ograve";s:3:"-55";s:13:"Ohungarumlaut";s:3:"-55";s:7:"Omacron";s:3:"-55";s:6:"Oslash";s:3:"-55";s:6:"Otilde";s:3:"-55";s:1:"Q";s:3:"-55";s:1:"T";s:4:"-111";s:6:"Tcaron";s:4:"-111";s:12:"Tcommaaccent";s:4:"-111";s:1:"U";s:3:"-55";s:6:"Uacute";s:3:"-55";s:11:"Ucircumflex";s:3:"-55";s:9:"Udieresis";s:3:"-55";s:6:"Ugrave";s:3:"-55";s:13:"Uhungarumlaut";s:3:"-55";s:7:"Umacron";s:3:"-55";s:7:"Uogonek";s:3:"-55";s:5:"Uring";s:3:"-55";s:1:"V";s:4:"-135";s:1:"W";s:3:"-90";s:1:"Y";s:4:"-105";s:6:"Yacute";s:4:"-105";s:9:"Ydieresis";s:4:"-105";s:10:"quoteright";s:4:"-111";s:1:"v";s:3:"-74";s:1:"w";s:3:"-92";s:1:"y";s:3:"-92";s:6:"yacute";s:3:"-92";s:9:"ydieresis";s:3:"-92";}s:7:"Amacron";a:40:{s:1:"C";s:3:"-40";s:6:"Cacute";s:3:"-40";s:6:"Ccaron";s:3:"-40";s:8:"Ccedilla";s:3:"-40";s:1:"G";s:3:"-40";s:6:"Gbreve";s:3:"-40";s:12:"Gcommaaccent";s:3:"-40";s:1:"O";s:3:"-55";s:6:"Oacute";s:3:"-55";s:11:"Ocircumflex";s:3:"-55";s:9:"Odieresis";s:3:"-55";s:6:"Ograve";s:3:"-55";s:13:"Ohungarumlaut";s:3:"-55";s:7:"Omacron";s:3:"-55";s:6:"Oslash";s:3:"-55";s:6:"Otilde";s:3:"-55";s:1:"Q";s:3:"-55";s:1:"T";s:4:"-111";s:6:"Tcaron";s:4:"-111";s:12:"Tcommaaccent";s:4:"-111";s:1:"U";s:3:"-55";s:6:"Uacute";s:3:"-55";s:11:"Ucircumflex";s:3:"-55";s:9:"Udieresis";s:3:"-55";s:6:"Ugrave";s:3:"-55";s:13:"Uhungarumlaut";s:3:"-55";s:7:"Umacron";s:3:"-55";s:7:"Uogonek";s:3:"-55";s:5:"Uring";s:3:"-55";s:1:"V";s:4:"-135";s:1:"W";s:3:"-90";s:1:"Y";s:4:"-105";s:6:"Yacute";s:4:"-105";s:9:"Ydieresis";s:4:"-105";s:10:"quoteright";s:4:"-111";s:1:"v";s:3:"-74";s:1:"w";s:3:"-92";s:1:"y";s:3:"-92";s:6:"yacute";s:3:"-92";s:9:"ydieresis";s:3:"-92";}s:7:"Aogonek";a:40:{s:1:"C";s:3:"-40";s:6:"Cacute";s:3:"-40";s:6:"Ccaron";s:3:"-40";s:8:"Ccedilla";s:3:"-40";s:1:"G";s:3:"-40";s:6:"Gbreve";s:3:"-40";s:12:"Gcommaaccent";s:3:"-40";s:1:"O";s:3:"-55";s:6:"Oacute";s:3:"-55";s:11:"Ocircumflex";s:3:"-55";s:9:"Odieresis";s:3:"-55";s:6:"Ograve";s:3:"-55";s:13:"Ohungarumlaut";s:3:"-55";s:7:"Omacron";s:3:"-55";s:6:"Oslash";s:3:"-55";s:6:"Otilde";s:3:"-55";s:1:"Q";s:3:"-55";s:1:"T";s:4:"-111";s:6:"Tcaron";s:4:"-111";s:12:"Tcommaaccent";s:4:"-111";s:1:"U";s:3:"-55";s:6:"Uacute";s:3:"-55";s:11:"Ucircumflex";s:3:"-55";s:9:"Udieresis";s:3:"-55";s:6:"Ugrave";s:3:"-55";s:13:"Uhungarumlaut";s:3:"-55";s:7:"Umacron";s:3:"-55";s:7:"Uogonek";s:3:"-55";s:5:"Uring";s:3:"-55";s:1:"V";s:4:"-135";s:1:"W";s:3:"-90";s:1:"Y";s:4:"-105";s:6:"Yacute";s:4:"-105";s:9:"Ydieresis";s:4:"-105";s:10:"quoteright";s:4:"-111";s:1:"v";s:3:"-74";s:1:"w";s:3:"-52";s:1:"y";s:3:"-52";s:6:"yacute";s:3:"-52";s:9:"ydieresis";s:3:"-52";}s:5:"Aring";a:40:{s:1:"C";s:3:"-40";s:6:"Cacute";s:3:"-40";s:6:"Ccaron";s:3:"-40";s:8:"Ccedilla";s:3:"-40";s:1:"G";s:3:"-40";s:6:"Gbreve";s:3:"-40";s:12:"Gcommaaccent";s:3:"-40";s:1:"O";s:3:"-55";s:6:"Oacute";s:3:"-55";s:11:"Ocircumflex";s:3:"-55";s:9:"Odieresis";s:3:"-55";s:6:"Ograve";s:3:"-55";s:13:"Ohungarumlaut";s:3:"-55";s:7:"Omacron";s:3:"-55";s:6:"Oslash";s:3:"-55";s:6:"Otilde";s:3:"-55";s:1:"Q";s:3:"-55";s:1:"T";s:4:"-111";s:6:"Tcaron";s:4:"-111";s:12:"Tcommaaccent";s:4:"-111";s:1:"U";s:3:"-55";s:6:"Uacute";s:3:"-55";s:11:"Ucircumflex";s:3:"-55";s:9:"Udieresis";s:3:"-55";s:6:"Ugrave";s:3:"-55";s:13:"Uhungarumlaut";s:3:"-55";s:7:"Umacron";s:3:"-55";s:7:"Uogonek";s:3:"-55";s:5:"Uring";s:3:"-55";s:1:"V";s:4:"-135";s:1:"W";s:3:"-90";s:1:"Y";s:4:"-105";s:6:"Yacute";s:4:"-105";s:9:"Ydieresis";s:4:"-105";s:10:"quoteright";s:4:"-111";s:1:"v";s:3:"-74";s:1:"w";s:3:"-92";s:1:"y";s:3:"-92";s:6:"yacute";s:3:"-92";s:9:"ydieresis";s:3:"-92";}s:6:"Atilde";a:40:{s:1:"C";s:3:"-40";s:6:"Cacute";s:3:"-40";s:6:"Ccaron";s:3:"-40";s:8:"Ccedilla";s:3:"-40";s:1:"G";s:3:"-40";s:6:"Gbreve";s:3:"-40";s:12:"Gcommaaccent";s:3:"-40";s:1:"O";s:3:"-55";s:6:"Oacute";s:3:"-55";s:11:"Ocircumflex";s:3:"-55";s:9:"Odieresis";s:3:"-55";s:6:"Ograve";s:3:"-55";s:13:"Ohungarumlaut";s:3:"-55";s:7:"Omacron";s:3:"-55";s:6:"Oslash";s:3:"-55";s:6:"Otilde";s:3:"-55";s:1:"Q";s:3:"-55";s:1:"T";s:4:"-111";s:6:"Tcaron";s:4:"-111";s:12:"Tcommaaccent";s:4:"-111";s:1:"U";s:3:"-55";s:6:"Uacute";s:3:"-55";s:11:"Ucircumflex";s:3:"-55";s:9:"Udieresis";s:3:"-55";s:6:"Ugrave";s:3:"-55";s:13:"Uhungarumlaut";s:3:"-55";s:7:"Umacron";s:3:"-55";s:7:"Uogonek";s:3:"-55";s:5:"Uring";s:3:"-55";s:1:"V";s:4:"-135";s:1:"W";s:3:"-90";s:1:"Y";s:4:"-105";s:6:"Yacute";s:4:"-105";s:9:"Ydieresis";s:4:"-105";s:10:"quoteright";s:4:"-111";s:1:"v";s:3:"-74";s:1:"w";s:3:"-92";s:1:"y";s:3:"-92";s:6:"yacute";s:3:"-92";s:9:"ydieresis";s:3:"-92";}s:1:"B";a:19:{s:1:"A";s:3:"-35";s:6:"Aacute";s:3:"-35";s:6:"Abreve";s:3:"-35";s:11:"Acircumflex";s:3:"-35";s:9:"Adieresis";s:3:"-35";s:6:"Agrave";s:3:"-35";s:7:"Amacron";s:3:"-35";s:7:"Aogonek";s:3:"-35";s:5:"Aring";s:3:"-35";s:6:"Atilde";s:3:"-35";s:1:"U";s:3:"-10";s:6:"Uacute";s:3:"-10";s:11:"Ucircumflex";s:3:"-10";s:9:"Udieresis";s:3:"-10";s:6:"Ugrave";s:3:"-10";s:13:"Uhungarumlaut";s:3:"-10";s:7:"Umacron";s:3:"-10";s:7:"Uogonek";s:3:"-10";s:5:"Uring";s:3:"-10";}s:1:"D";a:15:{s:1:"A";s:3:"-40";s:6:"Aacute";s:3:"-40";s:6:"Abreve";s:3:"-40";s:11:"Acircumflex";s:3:"-40";s:9:"Adieresis";s:3:"-40";s:6:"Agrave";s:3:"-40";s:7:"Amacron";s:3:"-40";s:7:"Aogonek";s:3:"-40";s:5:"Aring";s:3:"-40";s:6:"Atilde";s:3:"-40";s:1:"V";s:3:"-40";s:1:"W";s:3:"-30";s:1:"Y";s:3:"-55";s:6:"Yacute";s:3:"-55";s:9:"Ydieresis";s:3:"-55";}s:6:"Dcaron";a:15:{s:1:"A";s:3:"-40";s:6:"Aacute";s:3:"-40";s:6:"Abreve";s:3:"-40";s:11:"Acircumflex";s:3:"-40";s:9:"Adieresis";s:3:"-40";s:6:"Agrave";s:3:"-40";s:7:"Amacron";s:3:"-40";s:7:"Aogonek";s:3:"-40";s:5:"Aring";s:3:"-40";s:6:"Atilde";s:3:"-40";s:1:"V";s:3:"-40";s:1:"W";s:3:"-30";s:1:"Y";s:3:"-55";s:6:"Yacute";s:3:"-55";s:9:"Ydieresis";s:3:"-55";}s:6:"Dcroat";a:15:{s:1:"A";s:3:"-40";s:6:"Aacute";s:3:"-40";s:6:"Abreve";s:3:"-40";s:11:"Acircumflex";s:3:"-40";s:9:"Adieresis";s:3:"-40";s:6:"Agrave";s:3:"-40";s:7:"Amacron";s:3:"-40";s:7:"Aogonek";s:3:"-40";s:5:"Aring";s:3:"-40";s:6:"Atilde";s:3:"-40";s:1:"V";s:3:"-40";s:1:"W";s:3:"-30";s:1:"Y";s:3:"-55";s:6:"Yacute";s:3:"-55";s:9:"Ydieresis";s:3:"-55";}s:1:"F";a:31:{s:1:"A";s:3:"-74";s:6:"Aacute";s:3:"-74";s:6:"Abreve";s:3:"-74";s:11:"Acircumflex";s:3:"-74";s:9:"Adieresis";s:3:"-74";s:6:"Agrave";s:3:"-74";s:7:"Amacron";s:3:"-74";s:7:"Aogonek";s:3:"-74";s:5:"Aring";s:3:"-74";s:6:"Atilde";s:3:"-74";s:1:"a";s:3:"-15";s:6:"aacute";s:3:"-15";s:6:"abreve";s:3:"-15";s:11:"acircumflex";s:3:"-15";s:9:"adieresis";s:3:"-15";s:6:"agrave";s:3:"-15";s:7:"amacron";s:3:"-15";s:7:"aogonek";s:3:"-15";s:5:"aring";s:3:"-15";s:6:"atilde";s:3:"-15";s:5:"comma";s:3:"-80";s:1:"o";s:3:"-15";s:6:"oacute";s:3:"-15";s:11:"ocircumflex";s:3:"-15";s:9:"odieresis";s:3:"-15";s:6:"ograve";s:3:"-15";s:13:"ohungarumlaut";s:3:"-15";s:7:"omacron";s:3:"-15";s:6:"oslash";s:3:"-15";s:6:"otilde";s:3:"-15";s:6:"period";s:3:"-80";}s:1:"J";a:10:{s:1:"A";s:3:"-60";s:6:"Aacute";s:3:"-60";s:6:"Abreve";s:3:"-60";s:11:"Acircumflex";s:3:"-60";s:9:"Adieresis";s:3:"-60";s:6:"Agrave";s:3:"-60";s:7:"Amacron";s:3:"-60";s:7:"Aogonek";s:3:"-60";s:5:"Aring";s:3:"-60";s:6:"Atilde";s:3:"-60";}s:1:"K";a:39:{s:1:"O";s:3:"-30";s:6:"Oacute";s:3:"-30";s:11:"Ocircumflex";s:3:"-30";s:9:"Odieresis";s:3:"-30";s:6:"Ograve";s:3:"-30";s:13:"Ohungarumlaut";s:3:"-30";s:7:"Omacron";s:3:"-30";s:6:"Oslash";s:3:"-30";s:6:"Otilde";s:3:"-30";s:1:"e";s:3:"-25";s:6:"eacute";s:3:"-25";s:6:"ecaron";s:3:"-25";s:11:"ecircumflex";s:3:"-25";s:9:"edieresis";s:3:"-25";s:10:"edotaccent";s:3:"-25";s:6:"egrave";s:3:"-25";s:7:"emacron";s:3:"-25";s:7:"eogonek";s:3:"-25";s:1:"o";s:3:"-35";s:6:"oacute";s:3:"-35";s:11:"ocircumflex";s:3:"-35";s:9:"odieresis";s:3:"-35";s:6:"ograve";s:3:"-35";s:13:"ohungarumlaut";s:3:"-35";s:7:"omacron";s:3:"-35";s:6:"oslash";s:3:"-35";s:6:"otilde";s:3:"-35";s:1:"u";s:3:"-15";s:6:"uacute";s:3:"-15";s:11:"ucircumflex";s:3:"-15";s:9:"udieresis";s:3:"-15";s:6:"ugrave";s:3:"-15";s:13:"uhungarumlaut";s:3:"-15";s:7:"umacron";s:3:"-15";s:7:"uogonek";s:3:"-15";s:5:"uring";s:3:"-15";s:1:"y";s:3:"-25";s:6:"yacute";s:3:"-25";s:9:"ydieresis";s:3:"-25";}s:12:"Kcommaaccent";a:39:{s:1:"O";s:3:"-30";s:6:"Oacute";s:3:"-30";s:11:"Ocircumflex";s:3:"-30";s:9:"Odieresis";s:3:"-30";s:6:"Ograve";s:3:"-30";s:13:"Ohungarumlaut";s:3:"-30";s:7:"Omacron";s:3:"-30";s:6:"Oslash";s:3:"-30";s:6:"Otilde";s:3:"-30";s:1:"e";s:3:"-25";s:6:"eacute";s:3:"-25";s:6:"ecaron";s:3:"-25";s:11:"ecircumflex";s:3:"-25";s:9:"edieresis";s:3:"-25";s:10:"edotaccent";s:3:"-25";s:6:"egrave";s:3:"-25";s:7:"emacron";s:3:"-25";s:7:"eogonek";s:3:"-25";s:1:"o";s:3:"-35";s:6:"oacute";s:3:"-35";s:11:"ocircumflex";s:3:"-35";s:9:"odieresis";s:3:"-35";s:6:"ograve";s:3:"-35";s:13:"ohungarumlaut";s:3:"-35";s:7:"omacron";s:3:"-35";s:6:"oslash";s:3:"-35";s:6:"otilde";s:3:"-35";s:1:"u";s:3:"-15";s:6:"uacute";s:3:"-15";s:11:"ucircumflex";s:3:"-15";s:9:"udieresis";s:3:"-15";s:6:"ugrave";s:3:"-15";s:13:"uhungarumlaut";s:3:"-15";s:7:"umacron";s:3:"-15";s:7:"uogonek";s:3:"-15";s:5:"uring";s:3:"-15";s:1:"y";s:3:"-25";s:6:"yacute";s:3:"-25";s:9:"ydieresis";s:3:"-25";}s:1:"L";a:12:{s:1:"T";s:3:"-92";s:6:"Tcaron";s:3:"-92";s:12:"Tcommaaccent";s:3:"-92";s:1:"V";s:4:"-100";s:1:"W";s:3:"-74";s:1:"Y";s:4:"-100";s:6:"Yacute";s:4:"-100";s:9:"Ydieresis";s:4:"-100";s:10:"quoteright";s:3:"-92";s:1:"y";s:3:"-55";s:6:"yacute";s:3:"-55";s:9:"ydieresis";s:3:"-55";}s:6:"Lacute";a:12:{s:1:"T";s:3:"-92";s:6:"Tcaron";s:3:"-92";s:12:"Tcommaaccent";s:3:"-92";s:1:"V";s:4:"-100";s:1:"W";s:3:"-74";s:1:"Y";s:4:"-100";s:6:"Yacute";s:4:"-100";s:9:"Ydieresis";s:4:"-100";s:10:"quoteright";s:3:"-92";s:1:"y";s:3:"-55";s:6:"yacute";s:3:"-55";s:9:"ydieresis";s:3:"-55";}s:6:"Lcaron";a:4:{s:10:"quoteright";s:3:"-92";s:1:"y";s:3:"-55";s:6:"yacute";s:3:"-55";s:9:"ydieresis";s:3:"-55";}s:12:"Lcommaaccent";a:12:{s:1:"T";s:3:"-92";s:6:"Tcaron";s:3:"-92";s:12:"Tcommaaccent";s:3:"-92";s:1:"V";s:4:"-100";s:1:"W";s:3:"-74";s:1:"Y";s:4:"-100";s:6:"Yacute";s:4:"-100";s:9:"Ydieresis";s:4:"-100";s:10:"quoteright";s:3:"-92";s:1:"y";s:3:"-55";s:6:"yacute";s:3:"-55";s:9:"ydieresis";s:3:"-55";}s:6:"Lslash";a:12:{s:1:"T";s:3:"-92";s:6:"Tcaron";s:3:"-92";s:12:"Tcommaaccent";s:3:"-92";s:1:"V";s:4:"-100";s:1:"W";s:3:"-74";s:1:"Y";s:4:"-100";s:6:"Yacute";s:4:"-100";s:9:"Ydieresis";s:4:"-100";s:10:"quoteright";s:3:"-92";s:1:"y";s:3:"-55";s:6:"yacute";s:3:"-55";s:9:"ydieresis";s:3:"-55";}s:1:"N";a:10:{s:1:"A";s:3:"-35";s:6:"Aacute";s:3:"-35";s:6:"Abreve";s:3:"-35";s:11:"Acircumflex";s:3:"-35";s:9:"Adieresis";s:3:"-35";s:6:"Agrave";s:3:"-35";s:7:"Amacron";s:3:"-35";s:7:"Aogonek";s:3:"-35";s:5:"Aring";s:3:"-35";s:6:"Atilde";s:3:"-35";}s:6:"Nacute";a:10:{s:1:"A";s:3:"-35";s:6:"Aacute";s:3:"-35";s:6:"Abreve";s:3:"-35";s:11:"Acircumflex";s:3:"-35";s:9:"Adieresis";s:3:"-35";s:6:"Agrave";s:3:"-35";s:7:"Amacron";s:3:"-35";s:7:"Aogonek";s:3:"-35";s:5:"Aring";s:3:"-35";s:6:"Atilde";s:3:"-35";}s:6:"Ncaron";a:10:{s:1:"A";s:3:"-35";s:6:"Aacute";s:3:"-35";s:6:"Abreve";s:3:"-35";s:11:"Acircumflex";s:3:"-35";s:9:"Adieresis";s:3:"-35";s:6:"Agrave";s:3:"-35";s:7:"Amacron";s:3:"-35";s:7:"Aogonek";s:3:"-35";s:5:"Aring";s:3:"-35";s:6:"Atilde";s:3:"-35";}s:12:"Ncommaaccent";a:10:{s:1:"A";s:3:"-35";s:6:"Aacute";s:3:"-35";s:6:"Abreve";s:3:"-35";s:11:"Acircumflex";s:3:"-35";s:9:"Adieresis";s:3:"-35";s:6:"Agrave";s:3:"-35";s:7:"Amacron";s:3:"-35";s:7:"Aogonek";s:3:"-35";s:5:"Aring";s:3:"-35";s:6:"Atilde";s:3:"-35";}s:6:"Ntilde";a:10:{s:1:"A";s:3:"-35";s:6:"Aacute";s:3:"-35";s:6:"Abreve";s:3:"-35";s:11:"Acircumflex";s:3:"-35";s:9:"Adieresis";s:3:"-35";s:6:"Agrave";s:3:"-35";s:7:"Amacron";s:3:"-35";s:7:"Aogonek";s:3:"-35";s:5:"Aring";s:3:"-35";s:6:"Atilde";s:3:"-35";}s:1:"O";a:19:{s:1:"A";s:3:"-35";s:6:"Aacute";s:3:"-35";s:6:"Abreve";s:3:"-35";s:11:"Acircumflex";s:3:"-35";s:9:"Adieresis";s:3:"-35";s:6:"Agrave";s:3:"-35";s:7:"Amacron";s:3:"-35";s:7:"Aogonek";s:3:"-35";s:5:"Aring";s:3:"-35";s:6:"Atilde";s:3:"-35";s:1:"T";s:3:"-40";s:6:"Tcaron";s:3:"-40";s:12:"Tcommaaccent";s:3:"-40";s:1:"V";s:3:"-50";s:1:"W";s:3:"-35";s:1:"X";s:3:"-40";s:1:"Y";s:3:"-50";s:6:"Yacute";s:3:"-50";s:9:"Ydieresis";s:3:"-50";}s:6:"Oacute";a:19:{s:1:"A";s:3:"-35";s:6:"Aacute";s:3:"-35";s:6:"Abreve";s:3:"-35";s:11:"Acircumflex";s:3:"-35";s:9:"Adieresis";s:3:"-35";s:6:"Agrave";s:3:"-35";s:7:"Amacron";s:3:"-35";s:7:"Aogonek";s:3:"-35";s:5:"Aring";s:3:"-35";s:6:"Atilde";s:3:"-35";s:1:"T";s:3:"-40";s:6:"Tcaron";s:3:"-40";s:12:"Tcommaaccent";s:3:"-40";s:1:"V";s:3:"-50";s:1:"W";s:3:"-35";s:1:"X";s:3:"-40";s:1:"Y";s:3:"-50";s:6:"Yacute";s:3:"-50";s:9:"Ydieresis";s:3:"-50";}s:11:"Ocircumflex";a:19:{s:1:"A";s:3:"-35";s:6:"Aacute";s:3:"-35";s:6:"Abreve";s:3:"-35";s:11:"Acircumflex";s:3:"-35";s:9:"Adieresis";s:3:"-35";s:6:"Agrave";s:3:"-35";s:7:"Amacron";s:3:"-35";s:7:"Aogonek";s:3:"-35";s:5:"Aring";s:3:"-35";s:6:"Atilde";s:3:"-35";s:1:"T";s:3:"-40";s:6:"Tcaron";s:3:"-40";s:12:"Tcommaaccent";s:3:"-40";s:1:"V";s:3:"-50";s:1:"W";s:3:"-35";s:1:"X";s:3:"-40";s:1:"Y";s:3:"-50";s:6:"Yacute";s:3:"-50";s:9:"Ydieresis";s:3:"-50";}s:9:"Odieresis";a:19:{s:1:"A";s:3:"-35";s:6:"Aacute";s:3:"-35";s:6:"Abreve";s:3:"-35";s:11:"Acircumflex";s:3:"-35";s:9:"Adieresis";s:3:"-35";s:6:"Agrave";s:3:"-35";s:7:"Amacron";s:3:"-35";s:7:"Aogonek";s:3:"-35";s:5:"Aring";s:3:"-35";s:6:"Atilde";s:3:"-35";s:1:"T";s:3:"-40";s:6:"Tcaron";s:3:"-40";s:12:"Tcommaaccent";s:3:"-40";s:1:"V";s:3:"-50";s:1:"W";s:3:"-35";s:1:"X";s:3:"-40";s:1:"Y";s:3:"-50";s:6:"Yacute";s:3:"-50";s:9:"Ydieresis";s:3:"-50";}s:6:"Ograve";a:19:{s:1:"A";s:3:"-35";s:6:"Aacute";s:3:"-35";s:6:"Abreve";s:3:"-35";s:11:"Acircumflex";s:3:"-35";s:9:"Adieresis";s:3:"-35";s:6:"Agrave";s:3:"-35";s:7:"Amacron";s:3:"-35";s:7:"Aogonek";s:3:"-35";s:5:"Aring";s:3:"-35";s:6:"Atilde";s:3:"-35";s:1:"T";s:3:"-40";s:6:"Tcaron";s:3:"-40";s:12:"Tcommaaccent";s:3:"-40";s:1:"V";s:3:"-50";s:1:"W";s:3:"-35";s:1:"X";s:3:"-40";s:1:"Y";s:3:"-50";s:6:"Yacute";s:3:"-50";s:9:"Ydieresis";s:3:"-50";}s:13:"Ohungarumlaut";a:19:{s:1:"A";s:3:"-35";s:6:"Aacute";s:3:"-35";s:6:"Abreve";s:3:"-35";s:11:"Acircumflex";s:3:"-35";s:9:"Adieresis";s:3:"-35";s:6:"Agrave";s:3:"-35";s:7:"Amacron";s:3:"-35";s:7:"Aogonek";s:3:"-35";s:5:"Aring";s:3:"-35";s:6:"Atilde";s:3:"-35";s:1:"T";s:3:"-40";s:6:"Tcaron";s:3:"-40";s:12:"Tcommaaccent";s:3:"-40";s:1:"V";s:3:"-50";s:1:"W";s:3:"-35";s:1:"X";s:3:"-40";s:1:"Y";s:3:"-50";s:6:"Yacute";s:3:"-50";s:9:"Ydieresis";s:3:"-50";}s:7:"Omacron";a:19:{s:1:"A";s:3:"-35";s:6:"Aacute";s:3:"-35";s:6:"Abreve";s:3:"-35";s:11:"Acircumflex";s:3:"-35";s:9:"Adieresis";s:3:"-35";s:6:"Agrave";s:3:"-35";s:7:"Amacron";s:3:"-35";s:7:"Aogonek";s:3:"-35";s:5:"Aring";s:3:"-35";s:6:"Atilde";s:3:"-35";s:1:"T";s:3:"-40";s:6:"Tcaron";s:3:"-40";s:12:"Tcommaaccent";s:3:"-40";s:1:"V";s:3:"-50";s:1:"W";s:3:"-35";s:1:"X";s:3:"-40";s:1:"Y";s:3:"-50";s:6:"Yacute";s:3:"-50";s:9:"Ydieresis";s:3:"-50";}s:6:"Oslash";a:19:{s:1:"A";s:3:"-35";s:6:"Aacute";s:3:"-35";s:6:"Abreve";s:3:"-35";s:11:"Acircumflex";s:3:"-35";s:9:"Adieresis";s:3:"-35";s:6:"Agrave";s:3:"-35";s:7:"Amacron";s:3:"-35";s:7:"Aogonek";s:3:"-35";s:5:"Aring";s:3:"-35";s:6:"Atilde";s:3:"-35";s:1:"T";s:3:"-40";s:6:"Tcaron";s:3:"-40";s:12:"Tcommaaccent";s:3:"-40";s:1:"V";s:3:"-50";s:1:"W";s:3:"-35";s:1:"X";s:3:"-40";s:1:"Y";s:3:"-50";s:6:"Yacute";s:3:"-50";s:9:"Ydieresis";s:3:"-50";}s:6:"Otilde";a:19:{s:1:"A";s:3:"-35";s:6:"Aacute";s:3:"-35";s:6:"Abreve";s:3:"-35";s:11:"Acircumflex";s:3:"-35";s:9:"Adieresis";s:3:"-35";s:6:"Agrave";s:3:"-35";s:7:"Amacron";s:3:"-35";s:7:"Aogonek";s:3:"-35";s:5:"Aring";s:3:"-35";s:6:"Atilde";s:3:"-35";s:1:"T";s:3:"-40";s:6:"Tcaron";s:3:"-40";s:12:"Tcommaaccent";s:3:"-40";s:1:"V";s:3:"-50";s:1:"W";s:3:"-35";s:1:"X";s:3:"-40";s:1:"Y";s:3:"-50";s:6:"Yacute";s:3:"-50";s:9:"Ydieresis";s:3:"-50";}s:1:"P";a:22:{s:1:"A";s:3:"-92";s:6:"Aacute";s:3:"-92";s:6:"Abreve";s:3:"-92";s:11:"Acircumflex";s:3:"-92";s:9:"Adieresis";s:3:"-92";s:6:"Agrave";s:3:"-92";s:7:"Amacron";s:3:"-92";s:7:"Aogonek";s:3:"-92";s:5:"Aring";s:3:"-92";s:6:"Atilde";s:3:"-92";s:1:"a";s:3:"-15";s:6:"aacute";s:3:"-15";s:6:"abreve";s:3:"-15";s:11:"acircumflex";s:3:"-15";s:9:"adieresis";s:3:"-15";s:6:"agrave";s:3:"-15";s:7:"amacron";s:3:"-15";s:7:"aogonek";s:3:"-15";s:5:"aring";s:3:"-15";s:6:"atilde";s:3:"-15";s:5:"comma";s:4:"-111";s:6:"period";s:4:"-111";}s:1:"Q";a:9:{s:1:"U";s:3:"-10";s:6:"Uacute";s:3:"-10";s:11:"Ucircumflex";s:3:"-10";s:9:"Udieresis";s:3:"-10";s:6:"Ugrave";s:3:"-10";s:13:"Uhungarumlaut";s:3:"-10";s:7:"Umacron";s:3:"-10";s:7:"Uogonek";s:3:"-10";s:5:"Uring";s:3:"-10";}s:1:"R";a:26:{s:1:"O";s:3:"-40";s:6:"Oacute";s:3:"-40";s:11:"Ocircumflex";s:3:"-40";s:9:"Odieresis";s:3:"-40";s:6:"Ograve";s:3:"-40";s:13:"Ohungarumlaut";s:3:"-40";s:7:"Omacron";s:3:"-40";s:6:"Oslash";s:3:"-40";s:6:"Otilde";s:3:"-40";s:1:"T";s:3:"-60";s:6:"Tcaron";s:3:"-60";s:12:"Tcommaaccent";s:3:"-60";s:1:"U";s:3:"-40";s:6:"Uacute";s:3:"-40";s:11:"Ucircumflex";s:3:"-40";s:9:"Udieresis";s:3:"-40";s:6:"Ugrave";s:3:"-40";s:13:"Uhungarumlaut";s:3:"-40";s:7:"Umacron";s:3:"-40";s:7:"Uogonek";s:3:"-40";s:5:"Uring";s:3:"-40";s:1:"V";s:3:"-80";s:1:"W";s:3:"-55";s:1:"Y";s:3:"-65";s:6:"Yacute";s:3:"-65";s:9:"Ydieresis";s:3:"-65";}s:6:"Racute";a:26:{s:1:"O";s:3:"-40";s:6:"Oacute";s:3:"-40";s:11:"Ocircumflex";s:3:"-40";s:9:"Odieresis";s:3:"-40";s:6:"Ograve";s:3:"-40";s:13:"Ohungarumlaut";s:3:"-40";s:7:"Omacron";s:3:"-40";s:6:"Oslash";s:3:"-40";s:6:"Otilde";s:3:"-40";s:1:"T";s:3:"-60";s:6:"Tcaron";s:3:"-60";s:12:"Tcommaaccent";s:3:"-60";s:1:"U";s:3:"-40";s:6:"Uacute";s:3:"-40";s:11:"Ucircumflex";s:3:"-40";s:9:"Udieresis";s:3:"-40";s:6:"Ugrave";s:3:"-40";s:13:"Uhungarumlaut";s:3:"-40";s:7:"Umacron";s:3:"-40";s:7:"Uogonek";s:3:"-40";s:5:"Uring";s:3:"-40";s:1:"V";s:3:"-80";s:1:"W";s:3:"-55";s:1:"Y";s:3:"-65";s:6:"Yacute";s:3:"-65";s:9:"Ydieresis";s:3:"-65";}s:6:"Rcaron";a:26:{s:1:"O";s:3:"-40";s:6:"Oacute";s:3:"-40";s:11:"Ocircumflex";s:3:"-40";s:9:"Odieresis";s:3:"-40";s:6:"Ograve";s:3:"-40";s:13:"Ohungarumlaut";s:3:"-40";s:7:"Omacron";s:3:"-40";s:6:"Oslash";s:3:"-40";s:6:"Otilde";s:3:"-40";s:1:"T";s:3:"-60";s:6:"Tcaron";s:3:"-60";s:12:"Tcommaaccent";s:3:"-60";s:1:"U";s:3:"-40";s:6:"Uacute";s:3:"-40";s:11:"Ucircumflex";s:3:"-40";s:9:"Udieresis";s:3:"-40";s:6:"Ugrave";s:3:"-40";s:13:"Uhungarumlaut";s:3:"-40";s:7:"Umacron";s:3:"-40";s:7:"Uogonek";s:3:"-40";s:5:"Uring";s:3:"-40";s:1:"V";s:3:"-80";s:1:"W";s:3:"-55";s:1:"Y";s:3:"-65";s:6:"Yacute";s:3:"-65";s:9:"Ydieresis";s:3:"-65";}s:12:"Rcommaaccent";a:26:{s:1:"O";s:3:"-40";s:6:"Oacute";s:3:"-40";s:11:"Ocircumflex";s:3:"-40";s:9:"Odieresis";s:3:"-40";s:6:"Ograve";s:3:"-40";s:13:"Ohungarumlaut";s:3:"-40";s:7:"Omacron";s:3:"-40";s:6:"Oslash";s:3:"-40";s:6:"Otilde";s:3:"-40";s:1:"T";s:3:"-60";s:6:"Tcaron";s:3:"-60";s:12:"Tcommaaccent";s:3:"-60";s:1:"U";s:3:"-40";s:6:"Uacute";s:3:"-40";s:11:"Ucircumflex";s:3:"-40";s:9:"Udieresis";s:3:"-40";s:6:"Ugrave";s:3:"-40";s:13:"Uhungarumlaut";s:3:"-40";s:7:"Umacron";s:3:"-40";s:7:"Uogonek";s:3:"-40";s:5:"Uring";s:3:"-40";s:1:"V";s:3:"-80";s:1:"W";s:3:"-55";s:1:"Y";s:3:"-65";s:6:"Yacute";s:3:"-65";s:9:"Ydieresis";s:3:"-65";}s:1:"T";a:72:{s:1:"A";s:3:"-93";s:6:"Aacute";s:3:"-93";s:6:"Abreve";s:3:"-93";s:11:"Acircumflex";s:3:"-93";s:9:"Adieresis";s:3:"-93";s:6:"Agrave";s:3:"-93";s:7:"Amacron";s:3:"-93";s:7:"Aogonek";s:3:"-93";s:5:"Aring";s:3:"-93";s:6:"Atilde";s:3:"-93";s:1:"O";s:3:"-18";s:6:"Oacute";s:3:"-18";s:11:"Ocircumflex";s:3:"-18";s:9:"Odieresis";s:3:"-18";s:6:"Ograve";s:3:"-18";s:13:"Ohungarumlaut";s:3:"-18";s:7:"Omacron";s:3:"-18";s:6:"Oslash";s:3:"-18";s:6:"Otilde";s:3:"-18";s:1:"a";s:3:"-80";s:6:"aacute";s:3:"-80";s:6:"abreve";s:3:"-80";s:11:"acircumflex";s:3:"-80";s:9:"adieresis";s:3:"-40";s:6:"agrave";s:3:"-40";s:7:"amacron";s:3:"-40";s:7:"aogonek";s:3:"-80";s:5:"aring";s:3:"-80";s:6:"atilde";s:3:"-40";s:5:"colon";s:3:"-50";s:5:"comma";s:3:"-74";s:1:"e";s:3:"-70";s:6:"eacute";s:3:"-70";s:6:"ecaron";s:3:"-70";s:11:"ecircumflex";s:3:"-70";s:9:"edieresis";s:3:"-30";s:10:"edotaccent";s:3:"-70";s:6:"egrave";s:3:"-70";s:7:"emacron";s:3:"-30";s:7:"eogonek";s:3:"-70";s:6:"hyphen";s:3:"-92";s:1:"i";s:3:"-35";s:6:"iacute";s:3:"-35";s:7:"iogonek";s:3:"-35";s:1:"o";s:3:"-80";s:6:"oacute";s:3:"-80";s:11:"ocircumflex";s:3:"-80";s:9:"odieresis";s:3:"-80";s:6:"ograve";s:3:"-80";s:13:"ohungarumlaut";s:3:"-80";s:7:"omacron";s:3:"-80";s:6:"oslash";s:3:"-80";s:6:"otilde";s:3:"-80";s:6:"period";s:3:"-74";s:1:"r";s:3:"-35";s:6:"racute";s:3:"-35";s:6:"rcaron";s:3:"-35";s:12:"rcommaaccent";s:3:"-35";s:9:"semicolon";s:3:"-55";s:1:"u";s:3:"-45";s:6:"uacute";s:3:"-45";s:11:"ucircumflex";s:3:"-45";s:9:"udieresis";s:3:"-45";s:6:"ugrave";s:3:"-45";s:13:"uhungarumlaut";s:3:"-45";s:7:"umacron";s:3:"-45";s:7:"uogonek";s:3:"-45";s:5:"uring";s:3:"-45";s:1:"w";s:3:"-80";s:1:"y";s:3:"-80";s:6:"yacute";s:3:"-80";s:9:"ydieresis";s:3:"-80";}s:6:"Tcaron";a:72:{s:1:"A";s:3:"-93";s:6:"Aacute";s:3:"-93";s:6:"Abreve";s:3:"-93";s:11:"Acircumflex";s:3:"-93";s:9:"Adieresis";s:3:"-93";s:6:"Agrave";s:3:"-93";s:7:"Amacron";s:3:"-93";s:7:"Aogonek";s:3:"-93";s:5:"Aring";s:3:"-93";s:6:"Atilde";s:3:"-93";s:1:"O";s:3:"-18";s:6:"Oacute";s:3:"-18";s:11:"Ocircumflex";s:3:"-18";s:9:"Odieresis";s:3:"-18";s:6:"Ograve";s:3:"-18";s:13:"Ohungarumlaut";s:3:"-18";s:7:"Omacron";s:3:"-18";s:6:"Oslash";s:3:"-18";s:6:"Otilde";s:3:"-18";s:1:"a";s:3:"-80";s:6:"aacute";s:3:"-80";s:6:"abreve";s:3:"-80";s:11:"acircumflex";s:3:"-80";s:9:"adieresis";s:3:"-40";s:6:"agrave";s:3:"-40";s:7:"amacron";s:3:"-40";s:7:"aogonek";s:3:"-80";s:5:"aring";s:3:"-80";s:6:"atilde";s:3:"-40";s:5:"colon";s:3:"-50";s:5:"comma";s:3:"-74";s:1:"e";s:3:"-70";s:6:"eacute";s:3:"-70";s:6:"ecaron";s:3:"-70";s:11:"ecircumflex";s:3:"-30";s:9:"edieresis";s:3:"-30";s:10:"edotaccent";s:3:"-70";s:6:"egrave";s:3:"-70";s:7:"emacron";s:3:"-30";s:7:"eogonek";s:3:"-70";s:6:"hyphen";s:3:"-92";s:1:"i";s:3:"-35";s:6:"iacute";s:3:"-35";s:7:"iogonek";s:3:"-35";s:1:"o";s:3:"-80";s:6:"oacute";s:3:"-80";s:11:"ocircumflex";s:3:"-80";s:9:"odieresis";s:3:"-80";s:6:"ograve";s:3:"-80";s:13:"ohungarumlaut";s:3:"-80";s:7:"omacron";s:3:"-80";s:6:"oslash";s:3:"-80";s:6:"otilde";s:3:"-80";s:6:"period";s:3:"-74";s:1:"r";s:3:"-35";s:6:"racute";s:3:"-35";s:6:"rcaron";s:3:"-35";s:12:"rcommaaccent";s:3:"-35";s:9:"semicolon";s:3:"-55";s:1:"u";s:3:"-45";s:6:"uacute";s:3:"-45";s:11:"ucircumflex";s:3:"-45";s:9:"udieresis";s:3:"-45";s:6:"ugrave";s:3:"-45";s:13:"uhungarumlaut";s:3:"-45";s:7:"umacron";s:3:"-45";s:7:"uogonek";s:3:"-45";s:5:"uring";s:3:"-45";s:1:"w";s:3:"-80";s:1:"y";s:3:"-80";s:6:"yacute";s:3:"-80";s:9:"ydieresis";s:3:"-80";}s:12:"Tcommaaccent";a:72:{s:1:"A";s:3:"-93";s:6:"Aacute";s:3:"-93";s:6:"Abreve";s:3:"-93";s:11:"Acircumflex";s:3:"-93";s:9:"Adieresis";s:3:"-93";s:6:"Agrave";s:3:"-93";s:7:"Amacron";s:3:"-93";s:7:"Aogonek";s:3:"-93";s:5:"Aring";s:3:"-93";s:6:"Atilde";s:3:"-93";s:1:"O";s:3:"-18";s:6:"Oacute";s:3:"-18";s:11:"Ocircumflex";s:3:"-18";s:9:"Odieresis";s:3:"-18";s:6:"Ograve";s:3:"-18";s:13:"Ohungarumlaut";s:3:"-18";s:7:"Omacron";s:3:"-18";s:6:"Oslash";s:3:"-18";s:6:"Otilde";s:3:"-18";s:1:"a";s:3:"-80";s:6:"aacute";s:3:"-80";s:6:"abreve";s:3:"-80";s:11:"acircumflex";s:3:"-80";s:9:"adieresis";s:3:"-40";s:6:"agrave";s:3:"-40";s:7:"amacron";s:3:"-40";s:7:"aogonek";s:3:"-80";s:5:"aring";s:3:"-80";s:6:"atilde";s:3:"-40";s:5:"colon";s:3:"-50";s:5:"comma";s:3:"-74";s:1:"e";s:3:"-70";s:6:"eacute";s:3:"-70";s:6:"ecaron";s:3:"-70";s:11:"ecircumflex";s:3:"-30";s:9:"edieresis";s:3:"-30";s:10:"edotaccent";s:3:"-70";s:6:"egrave";s:3:"-30";s:7:"emacron";s:3:"-70";s:7:"eogonek";s:3:"-70";s:6:"hyphen";s:3:"-92";s:1:"i";s:3:"-35";s:6:"iacute";s:3:"-35";s:7:"iogonek";s:3:"-35";s:1:"o";s:3:"-80";s:6:"oacute";s:3:"-80";s:11:"ocircumflex";s:3:"-80";s:9:"odieresis";s:3:"-80";s:6:"ograve";s:3:"-80";s:13:"ohungarumlaut";s:3:"-80";s:7:"omacron";s:3:"-80";s:6:"oslash";s:3:"-80";s:6:"otilde";s:3:"-80";s:6:"period";s:3:"-74";s:1:"r";s:3:"-35";s:6:"racute";s:3:"-35";s:6:"rcaron";s:3:"-35";s:12:"rcommaaccent";s:3:"-35";s:9:"semicolon";s:3:"-55";s:1:"u";s:3:"-45";s:6:"uacute";s:3:"-45";s:11:"ucircumflex";s:3:"-45";s:9:"udieresis";s:3:"-45";s:6:"ugrave";s:3:"-45";s:13:"uhungarumlaut";s:3:"-45";s:7:"umacron";s:3:"-45";s:7:"uogonek";s:3:"-45";s:5:"uring";s:3:"-45";s:1:"w";s:3:"-80";s:1:"y";s:3:"-80";s:6:"yacute";s:3:"-80";s:9:"ydieresis";s:3:"-80";}s:1:"U";a:10:{s:1:"A";s:3:"-40";s:6:"Aacute";s:3:"-40";s:6:"Abreve";s:3:"-40";s:11:"Acircumflex";s:3:"-40";s:9:"Adieresis";s:3:"-40";s:6:"Agrave";s:3:"-40";s:7:"Amacron";s:3:"-40";s:7:"Aogonek";s:3:"-40";s:5:"Aring";s:3:"-40";s:6:"Atilde";s:3:"-40";}s:6:"Uacute";a:10:{s:1:"A";s:3:"-40";s:6:"Aacute";s:3:"-40";s:6:"Abreve";s:3:"-40";s:11:"Acircumflex";s:3:"-40";s:9:"Adieresis";s:3:"-40";s:6:"Agrave";s:3:"-40";s:7:"Amacron";s:3:"-40";s:7:"Aogonek";s:3:"-40";s:5:"Aring";s:3:"-40";s:6:"Atilde";s:3:"-40";}s:11:"Ucircumflex";a:10:{s:1:"A";s:3:"-40";s:6:"Aacute";s:3:"-40";s:6:"Abreve";s:3:"-40";s:11:"Acircumflex";s:3:"-40";s:9:"Adieresis";s:3:"-40";s:6:"Agrave";s:3:"-40";s:7:"Amacron";s:3:"-40";s:7:"Aogonek";s:3:"-40";s:5:"Aring";s:3:"-40";s:6:"Atilde";s:3:"-40";}s:9:"Udieresis";a:10:{s:1:"A";s:3:"-40";s:6:"Aacute";s:3:"-40";s:6:"Abreve";s:3:"-40";s:11:"Acircumflex";s:3:"-40";s:9:"Adieresis";s:3:"-40";s:6:"Agrave";s:3:"-40";s:7:"Amacron";s:3:"-40";s:7:"Aogonek";s:3:"-40";s:5:"Aring";s:3:"-40";s:6:"Atilde";s:3:"-40";}s:6:"Ugrave";a:10:{s:1:"A";s:3:"-40";s:6:"Aacute";s:3:"-40";s:6:"Abreve";s:3:"-40";s:11:"Acircumflex";s:3:"-40";s:9:"Adieresis";s:3:"-40";s:6:"Agrave";s:3:"-40";s:7:"Amacron";s:3:"-40";s:7:"Aogonek";s:3:"-40";s:5:"Aring";s:3:"-40";s:6:"Atilde";s:3:"-40";}s:13:"Uhungarumlaut";a:10:{s:1:"A";s:3:"-40";s:6:"Aacute";s:3:"-40";s:6:"Abreve";s:3:"-40";s:11:"Acircumflex";s:3:"-40";s:9:"Adieresis";s:3:"-40";s:6:"Agrave";s:3:"-40";s:7:"Amacron";s:3:"-40";s:7:"Aogonek";s:3:"-40";s:5:"Aring";s:3:"-40";s:6:"Atilde";s:3:"-40";}s:7:"Umacron";a:10:{s:1:"A";s:3:"-40";s:6:"Aacute";s:3:"-40";s:6:"Abreve";s:3:"-40";s:11:"Acircumflex";s:3:"-40";s:9:"Adieresis";s:3:"-40";s:6:"Agrave";s:3:"-40";s:7:"Amacron";s:3:"-40";s:7:"Aogonek";s:3:"-40";s:5:"Aring";s:3:"-40";s:6:"Atilde";s:3:"-40";}s:7:"Uogonek";a:10:{s:1:"A";s:3:"-40";s:6:"Aacute";s:3:"-40";s:6:"Abreve";s:3:"-40";s:11:"Acircumflex";s:3:"-40";s:9:"Adieresis";s:3:"-40";s:6:"Agrave";s:3:"-40";s:7:"Amacron";s:3:"-40";s:7:"Aogonek";s:3:"-40";s:5:"Aring";s:3:"-40";s:6:"Atilde";s:3:"-40";}s:5:"Uring";a:10:{s:1:"A";s:3:"-40";s:6:"Aacute";s:3:"-40";s:6:"Abreve";s:3:"-40";s:11:"Acircumflex";s:3:"-40";s:9:"Adieresis";s:3:"-40";s:6:"Agrave";s:3:"-40";s:7:"Amacron";s:3:"-40";s:7:"Aogonek";s:3:"-40";s:5:"Aring";s:3:"-40";s:6:"Atilde";s:3:"-40";}s:1:"V";a:71:{s:1:"A";s:4:"-135";s:6:"Aacute";s:4:"-135";s:6:"Abreve";s:4:"-135";s:11:"Acircumflex";s:4:"-135";s:9:"Adieresis";s:4:"-135";s:6:"Agrave";s:4:"-135";s:7:"Amacron";s:4:"-135";s:7:"Aogonek";s:4:"-135";s:5:"Aring";s:4:"-135";s:6:"Atilde";s:4:"-135";s:1:"G";s:3:"-15";s:6:"Gbreve";s:3:"-15";s:12:"Gcommaaccent";s:3:"-15";s:1:"O";s:3:"-40";s:6:"Oacute";s:3:"-40";s:11:"Ocircumflex";s:3:"-40";s:9:"Odieresis";s:3:"-40";s:6:"Ograve";s:3:"-40";s:13:"Ohungarumlaut";s:3:"-40";s:7:"Omacron";s:3:"-40";s:6:"Oslash";s:3:"-40";s:6:"Otilde";s:3:"-40";s:1:"a";s:4:"-111";s:6:"aacute";s:4:"-111";s:6:"abreve";s:4:"-111";s:11:"acircumflex";s:3:"-71";s:9:"adieresis";s:3:"-71";s:6:"agrave";s:3:"-71";s:7:"amacron";s:3:"-71";s:7:"aogonek";s:4:"-111";s:5:"aring";s:4:"-111";s:6:"atilde";s:3:"-71";s:5:"colon";s:3:"-74";s:5:"comma";s:4:"-129";s:1:"e";s:4:"-111";s:6:"eacute";s:4:"-111";s:6:"ecaron";s:3:"-71";s:11:"ecircumflex";s:3:"-71";s:9:"edieresis";s:3:"-71";s:10:"edotaccent";s:4:"-111";s:6:"egrave";s:3:"-71";s:7:"emacron";s:3:"-71";s:7:"eogonek";s:4:"-111";s:6:"hyphen";s:4:"-100";s:1:"i";s:3:"-60";s:6:"iacute";s:3:"-60";s:11:"icircumflex";s:3:"-20";s:9:"idieresis";s:3:"-20";s:6:"igrave";s:3:"-20";s:7:"imacron";s:3:"-20";s:7:"iogonek";s:3:"-60";s:1:"o";s:4:"-129";s:6:"oacute";s:4:"-129";s:11:"ocircumflex";s:4:"-129";s:9:"odieresis";s:3:"-89";s:6:"ograve";s:3:"-89";s:13:"ohungarumlaut";s:4:"-129";s:7:"omacron";s:3:"-89";s:6:"oslash";s:4:"-129";s:6:"otilde";s:3:"-89";s:6:"period";s:4:"-129";s:9:"semicolon";s:3:"-74";s:1:"u";s:3:"-75";s:6:"uacute";s:3:"-75";s:11:"ucircumflex";s:3:"-75";s:9:"udieresis";s:3:"-75";s:6:"ugrave";s:3:"-75";s:13:"uhungarumlaut";s:3:"-75";s:7:"umacron";s:3:"-75";s:7:"uogonek";s:3:"-75";s:5:"uring";s:3:"-75";}s:1:"W";a:67:{s:1:"A";s:4:"-120";s:6:"Aacute";s:4:"-120";s:6:"Abreve";s:4:"-120";s:11:"Acircumflex";s:4:"-120";s:9:"Adieresis";s:4:"-120";s:6:"Agrave";s:4:"-120";s:7:"Amacron";s:4:"-120";s:7:"Aogonek";s:4:"-120";s:5:"Aring";s:4:"-120";s:6:"Atilde";s:4:"-120";s:1:"O";s:3:"-10";s:6:"Oacute";s:3:"-10";s:11:"Ocircumflex";s:3:"-10";s:9:"Odieresis";s:3:"-10";s:6:"Ograve";s:3:"-10";s:13:"Ohungarumlaut";s:3:"-10";s:7:"Omacron";s:3:"-10";s:6:"Oslash";s:3:"-10";s:6:"Otilde";s:3:"-10";s:1:"a";s:3:"-80";s:6:"aacute";s:3:"-80";s:6:"abreve";s:3:"-80";s:11:"acircumflex";s:3:"-80";s:9:"adieresis";s:3:"-80";s:6:"agrave";s:3:"-80";s:7:"amacron";s:3:"-80";s:7:"aogonek";s:3:"-80";s:5:"aring";s:3:"-80";s:6:"atilde";s:3:"-80";s:5:"colon";s:3:"-37";s:5:"comma";s:3:"-92";s:1:"e";s:3:"-80";s:6:"eacute";s:3:"-80";s:6:"ecaron";s:3:"-80";s:11:"ecircumflex";s:3:"-80";s:9:"edieresis";s:3:"-40";s:10:"edotaccent";s:3:"-80";s:6:"egrave";s:3:"-40";s:7:"emacron";s:3:"-40";s:7:"eogonek";s:3:"-80";s:6:"hyphen";s:3:"-65";s:1:"i";s:3:"-40";s:6:"iacute";s:3:"-40";s:7:"iogonek";s:3:"-40";s:1:"o";s:3:"-80";s:6:"oacute";s:3:"-80";s:11:"ocircumflex";s:3:"-80";s:9:"odieresis";s:3:"-80";s:6:"ograve";s:3:"-80";s:13:"ohungarumlaut";s:3:"-80";s:7:"omacron";s:3:"-80";s:6:"oslash";s:3:"-80";s:6:"otilde";s:3:"-80";s:6:"period";s:3:"-92";s:9:"semicolon";s:3:"-37";s:1:"u";s:3:"-50";s:6:"uacute";s:3:"-50";s:11:"ucircumflex";s:3:"-50";s:9:"udieresis";s:3:"-50";s:6:"ugrave";s:3:"-50";s:13:"uhungarumlaut";s:3:"-50";s:7:"umacron";s:3:"-50";s:7:"uogonek";s:3:"-50";s:5:"uring";s:3:"-50";s:1:"y";s:3:"-73";s:6:"yacute";s:3:"-73";s:9:"ydieresis";s:3:"-73";}s:1:"Y";a:64:{s:1:"A";s:4:"-120";s:6:"Aacute";s:4:"-120";s:6:"Abreve";s:4:"-120";s:11:"Acircumflex";s:4:"-120";s:9:"Adieresis";s:4:"-120";s:6:"Agrave";s:4:"-120";s:7:"Amacron";s:4:"-120";s:7:"Aogonek";s:4:"-120";s:5:"Aring";s:4:"-120";s:6:"Atilde";s:4:"-120";s:1:"O";s:3:"-30";s:6:"Oacute";s:3:"-30";s:11:"Ocircumflex";s:3:"-30";s:9:"Odieresis";s:3:"-30";s:6:"Ograve";s:3:"-30";s:13:"Ohungarumlaut";s:3:"-30";s:7:"Omacron";s:3:"-30";s:6:"Oslash";s:3:"-30";s:6:"Otilde";s:3:"-30";s:1:"a";s:4:"-100";s:6:"aacute";s:4:"-100";s:6:"abreve";s:4:"-100";s:11:"acircumflex";s:4:"-100";s:9:"adieresis";s:3:"-60";s:6:"agrave";s:3:"-60";s:7:"amacron";s:3:"-60";s:7:"aogonek";s:4:"-100";s:5:"aring";s:4:"-100";s:6:"atilde";s:3:"-60";s:5:"colon";s:3:"-92";s:5:"comma";s:4:"-129";s:1:"e";s:4:"-100";s:6:"eacute";s:4:"-100";s:6:"ecaron";s:4:"-100";s:11:"ecircumflex";s:4:"-100";s:9:"edieresis";s:3:"-60";s:10:"edotaccent";s:4:"-100";s:6:"egrave";s:3:"-60";s:7:"emacron";s:3:"-60";s:7:"eogonek";s:4:"-100";s:6:"hyphen";s:4:"-111";s:1:"i";s:3:"-55";s:6:"iacute";s:3:"-55";s:7:"iogonek";s:3:"-55";s:1:"o";s:4:"-110";s:6:"oacute";s:4:"-110";s:11:"ocircumflex";s:4:"-110";s:9:"odieresis";s:3:"-70";s:6:"ograve";s:3:"-70";s:13:"ohungarumlaut";s:4:"-110";s:7:"omacron";s:3:"-70";s:6:"oslash";s:4:"-110";s:6:"otilde";s:3:"-70";s:6:"period";s:4:"-129";s:9:"semicolon";s:3:"-92";s:1:"u";s:4:"-111";s:6:"uacute";s:4:"-111";s:11:"ucircumflex";s:4:"-111";s:9:"udieresis";s:3:"-71";s:6:"ugrave";s:3:"-71";s:13:"uhungarumlaut";s:4:"-111";s:7:"umacron";s:3:"-71";s:7:"uogonek";s:4:"-111";s:5:"uring";s:4:"-111";}s:6:"Yacute";a:64:{s:1:"A";s:4:"-120";s:6:"Aacute";s:4:"-120";s:6:"Abreve";s:4:"-120";s:11:"Acircumflex";s:4:"-120";s:9:"Adieresis";s:4:"-120";s:6:"Agrave";s:4:"-120";s:7:"Amacron";s:4:"-120";s:7:"Aogonek";s:4:"-120";s:5:"Aring";s:4:"-120";s:6:"Atilde";s:4:"-120";s:1:"O";s:3:"-30";s:6:"Oacute";s:3:"-30";s:11:"Ocircumflex";s:3:"-30";s:9:"Odieresis";s:3:"-30";s:6:"Ograve";s:3:"-30";s:13:"Ohungarumlaut";s:3:"-30";s:7:"Omacron";s:3:"-30";s:6:"Oslash";s:3:"-30";s:6:"Otilde";s:3:"-30";s:1:"a";s:4:"-100";s:6:"aacute";s:4:"-100";s:6:"abreve";s:4:"-100";s:11:"acircumflex";s:4:"-100";s:9:"adieresis";s:3:"-60";s:6:"agrave";s:3:"-60";s:7:"amacron";s:3:"-60";s:7:"aogonek";s:4:"-100";s:5:"aring";s:4:"-100";s:6:"atilde";s:3:"-60";s:5:"colon";s:3:"-92";s:5:"comma";s:4:"-129";s:1:"e";s:4:"-100";s:6:"eacute";s:4:"-100";s:6:"ecaron";s:4:"-100";s:11:"ecircumflex";s:4:"-100";s:9:"edieresis";s:3:"-60";s:10:"edotaccent";s:4:"-100";s:6:"egrave";s:3:"-60";s:7:"emacron";s:3:"-60";s:7:"eogonek";s:4:"-100";s:6:"hyphen";s:4:"-111";s:1:"i";s:3:"-55";s:6:"iacute";s:3:"-55";s:7:"iogonek";s:3:"-55";s:1:"o";s:4:"-110";s:6:"oacute";s:4:"-110";s:11:"ocircumflex";s:4:"-110";s:9:"odieresis";s:3:"-70";s:6:"ograve";s:3:"-70";s:13:"ohungarumlaut";s:4:"-110";s:7:"omacron";s:3:"-70";s:6:"oslash";s:4:"-110";s:6:"otilde";s:3:"-70";s:6:"period";s:4:"-129";s:9:"semicolon";s:3:"-92";s:1:"u";s:4:"-111";s:6:"uacute";s:4:"-111";s:11:"ucircumflex";s:4:"-111";s:9:"udieresis";s:3:"-71";s:6:"ugrave";s:3:"-71";s:13:"uhungarumlaut";s:4:"-111";s:7:"umacron";s:3:"-71";s:7:"uogonek";s:4:"-111";s:5:"uring";s:4:"-111";}s:9:"Ydieresis";a:64:{s:1:"A";s:4:"-120";s:6:"Aacute";s:4:"-120";s:6:"Abreve";s:4:"-120";s:11:"Acircumflex";s:4:"-120";s:9:"Adieresis";s:4:"-120";s:6:"Agrave";s:4:"-120";s:7:"Amacron";s:4:"-120";s:7:"Aogonek";s:4:"-120";s:5:"Aring";s:4:"-120";s:6:"Atilde";s:4:"-120";s:1:"O";s:3:"-30";s:6:"Oacute";s:3:"-30";s:11:"Ocircumflex";s:3:"-30";s:9:"Odieresis";s:3:"-30";s:6:"Ograve";s:3:"-30";s:13:"Ohungarumlaut";s:3:"-30";s:7:"Omacron";s:3:"-30";s:6:"Oslash";s:3:"-30";s:6:"Otilde";s:3:"-30";s:1:"a";s:4:"-100";s:6:"aacute";s:4:"-100";s:6:"abreve";s:4:"-100";s:11:"acircumflex";s:4:"-100";s:9:"adieresis";s:3:"-60";s:6:"agrave";s:3:"-60";s:7:"amacron";s:3:"-60";s:7:"aogonek";s:4:"-100";s:5:"aring";s:4:"-100";s:6:"atilde";s:4:"-100";s:5:"colon";s:3:"-92";s:5:"comma";s:4:"-129";s:1:"e";s:4:"-100";s:6:"eacute";s:4:"-100";s:6:"ecaron";s:4:"-100";s:11:"ecircumflex";s:4:"-100";s:9:"edieresis";s:3:"-60";s:10:"edotaccent";s:4:"-100";s:6:"egrave";s:3:"-60";s:7:"emacron";s:3:"-60";s:7:"eogonek";s:4:"-100";s:6:"hyphen";s:4:"-111";s:1:"i";s:3:"-55";s:6:"iacute";s:3:"-55";s:7:"iogonek";s:3:"-55";s:1:"o";s:4:"-110";s:6:"oacute";s:4:"-110";s:11:"ocircumflex";s:4:"-110";s:9:"odieresis";s:3:"-70";s:6:"ograve";s:3:"-70";s:13:"ohungarumlaut";s:4:"-110";s:7:"omacron";s:3:"-70";s:6:"oslash";s:4:"-110";s:6:"otilde";s:3:"-70";s:6:"period";s:4:"-129";s:9:"semicolon";s:3:"-92";s:1:"u";s:4:"-111";s:6:"uacute";s:4:"-111";s:11:"ucircumflex";s:4:"-111";s:9:"udieresis";s:3:"-71";s:6:"ugrave";s:3:"-71";s:13:"uhungarumlaut";s:4:"-111";s:7:"umacron";s:3:"-71";s:7:"uogonek";s:4:"-111";s:5:"uring";s:4:"-111";}s:1:"a";a:2:{s:1:"v";s:3:"-20";s:1:"w";s:3:"-15";}s:6:"aacute";a:2:{s:1:"v";s:3:"-20";s:1:"w";s:3:"-15";}s:6:"abreve";a:2:{s:1:"v";s:3:"-20";s:1:"w";s:3:"-15";}s:11:"acircumflex";a:2:{s:1:"v";s:3:"-20";s:1:"w";s:3:"-15";}s:9:"adieresis";a:2:{s:1:"v";s:3:"-20";s:1:"w";s:3:"-15";}s:6:"agrave";a:2:{s:1:"v";s:3:"-20";s:1:"w";s:3:"-15";}s:7:"amacron";a:2:{s:1:"v";s:3:"-20";s:1:"w";s:3:"-15";}s:7:"aogonek";a:2:{s:1:"v";s:3:"-20";s:1:"w";s:3:"-15";}s:5:"aring";a:2:{s:1:"v";s:3:"-20";s:1:"w";s:3:"-15";}s:6:"atilde";a:2:{s:1:"v";s:3:"-20";s:1:"w";s:3:"-15";}s:1:"b";a:11:{s:6:"period";s:3:"-40";s:1:"u";s:3:"-20";s:6:"uacute";s:3:"-20";s:11:"ucircumflex";s:3:"-20";s:9:"udieresis";s:3:"-20";s:6:"ugrave";s:3:"-20";s:13:"uhungarumlaut";s:3:"-20";s:7:"umacron";s:3:"-20";s:7:"uogonek";s:3:"-20";s:5:"uring";s:3:"-20";s:1:"v";s:3:"-15";}s:1:"c";a:3:{s:1:"y";s:3:"-15";s:6:"yacute";s:3:"-15";s:9:"ydieresis";s:3:"-15";}s:6:"cacute";a:3:{s:1:"y";s:3:"-15";s:6:"yacute";s:3:"-15";s:9:"ydieresis";s:3:"-15";}s:6:"ccaron";a:3:{s:1:"y";s:3:"-15";s:6:"yacute";s:3:"-15";s:9:"ydieresis";s:3:"-15";}s:8:"ccedilla";a:3:{s:1:"y";s:3:"-15";s:6:"yacute";s:3:"-15";s:9:"ydieresis";s:3:"-15";}s:5:"comma";a:2:{s:13:"quotedblright";s:3:"-70";s:10:"quoteright";s:3:"-70";}s:1:"e";a:9:{s:1:"g";s:3:"-15";s:6:"gbreve";s:3:"-15";s:12:"gcommaaccent";s:3:"-15";s:1:"v";s:3:"-25";s:1:"w";s:3:"-25";s:1:"x";s:3:"-15";s:1:"y";s:3:"-15";s:6:"yacute";s:3:"-15";s:9:"ydieresis";s:3:"-15";}s:6:"eacute";a:9:{s:1:"g";s:3:"-15";s:6:"gbreve";s:3:"-15";s:12:"gcommaaccent";s:3:"-15";s:1:"v";s:3:"-25";s:1:"w";s:3:"-25";s:1:"x";s:3:"-15";s:1:"y";s:3:"-15";s:6:"yacute";s:3:"-15";s:9:"ydieresis";s:3:"-15";}s:6:"ecaron";a:9:{s:1:"g";s:3:"-15";s:6:"gbreve";s:3:"-15";s:12:"gcommaaccent";s:3:"-15";s:1:"v";s:3:"-25";s:1:"w";s:3:"-25";s:1:"x";s:3:"-15";s:1:"y";s:3:"-15";s:6:"yacute";s:3:"-15";s:9:"ydieresis";s:3:"-15";}s:11:"ecircumflex";a:9:{s:1:"g";s:3:"-15";s:6:"gbreve";s:3:"-15";s:12:"gcommaaccent";s:3:"-15";s:1:"v";s:3:"-25";s:1:"w";s:3:"-25";s:1:"x";s:3:"-15";s:1:"y";s:3:"-15";s:6:"yacute";s:3:"-15";s:9:"ydieresis";s:3:"-15";}s:9:"edieresis";a:9:{s:1:"g";s:3:"-15";s:6:"gbreve";s:3:"-15";s:12:"gcommaaccent";s:3:"-15";s:1:"v";s:3:"-25";s:1:"w";s:3:"-25";s:1:"x";s:3:"-15";s:1:"y";s:3:"-15";s:6:"yacute";s:3:"-15";s:9:"ydieresis";s:3:"-15";}s:10:"edotaccent";a:9:{s:1:"g";s:3:"-15";s:6:"gbreve";s:3:"-15";s:12:"gcommaaccent";s:3:"-15";s:1:"v";s:3:"-25";s:1:"w";s:3:"-25";s:1:"x";s:3:"-15";s:1:"y";s:3:"-15";s:6:"yacute";s:3:"-15";s:9:"ydieresis";s:3:"-15";}s:6:"egrave";a:9:{s:1:"g";s:3:"-15";s:6:"gbreve";s:3:"-15";s:12:"gcommaaccent";s:3:"-15";s:1:"v";s:3:"-25";s:1:"w";s:3:"-25";s:1:"x";s:3:"-15";s:1:"y";s:3:"-15";s:6:"yacute";s:3:"-15";s:9:"ydieresis";s:3:"-15";}s:7:"emacron";a:9:{s:1:"g";s:3:"-15";s:6:"gbreve";s:3:"-15";s:12:"gcommaaccent";s:3:"-15";s:1:"v";s:3:"-25";s:1:"w";s:3:"-25";s:1:"x";s:3:"-15";s:1:"y";s:3:"-15";s:6:"yacute";s:3:"-15";s:9:"ydieresis";s:3:"-15";}s:7:"eogonek";a:9:{s:1:"g";s:3:"-15";s:6:"gbreve";s:3:"-15";s:12:"gcommaaccent";s:3:"-15";s:1:"v";s:3:"-25";s:1:"w";s:3:"-25";s:1:"x";s:3:"-15";s:1:"y";s:3:"-15";s:6:"yacute";s:3:"-15";s:9:"ydieresis";s:3:"-15";}s:1:"f";a:15:{s:1:"a";s:3:"-10";s:6:"aacute";s:3:"-10";s:6:"abreve";s:3:"-10";s:11:"acircumflex";s:3:"-10";s:9:"adieresis";s:3:"-10";s:6:"agrave";s:3:"-10";s:7:"amacron";s:3:"-10";s:7:"aogonek";s:3:"-10";s:5:"aring";s:3:"-10";s:6:"atilde";s:3:"-10";s:8:"dotlessi";s:3:"-50";s:1:"f";s:3:"-25";s:1:"i";s:3:"-20";s:6:"iacute";s:3:"-20";s:10:"quoteright";s:2:"55";}s:1:"g";a:10:{s:1:"a";s:2:"-5";s:6:"aacute";s:2:"-5";s:6:"abreve";s:2:"-5";s:11:"acircumflex";s:2:"-5";s:9:"adieresis";s:2:"-5";s:6:"agrave";s:2:"-5";s:7:"amacron";s:2:"-5";s:7:"aogonek";s:2:"-5";s:5:"aring";s:2:"-5";s:6:"atilde";s:2:"-5";}s:6:"gbreve";a:10:{s:1:"a";s:2:"-5";s:6:"aacute";s:2:"-5";s:6:"abreve";s:2:"-5";s:11:"acircumflex";s:2:"-5";s:9:"adieresis";s:2:"-5";s:6:"agrave";s:2:"-5";s:7:"amacron";s:2:"-5";s:7:"aogonek";s:2:"-5";s:5:"aring";s:2:"-5";s:6:"atilde";s:2:"-5";}s:12:"gcommaaccent";a:10:{s:1:"a";s:2:"-5";s:6:"aacute";s:2:"-5";s:6:"abreve";s:2:"-5";s:11:"acircumflex";s:2:"-5";s:9:"adieresis";s:2:"-5";s:6:"agrave";s:2:"-5";s:7:"amacron";s:2:"-5";s:7:"aogonek";s:2:"-5";s:5:"aring";s:2:"-5";s:6:"atilde";s:2:"-5";}s:1:"h";a:3:{s:1:"y";s:2:"-5";s:6:"yacute";s:2:"-5";s:9:"ydieresis";s:2:"-5";}s:1:"i";a:1:{s:1:"v";s:3:"-25";}s:6:"iacute";a:1:{s:1:"v";s:3:"-25";}s:11:"icircumflex";a:1:{s:1:"v";s:3:"-25";}s:9:"idieresis";a:1:{s:1:"v";s:3:"-25";}s:6:"igrave";a:1:{s:1:"v";s:3:"-25";}s:7:"imacron";a:1:{s:1:"v";s:3:"-25";}s:7:"iogonek";a:1:{s:1:"v";s:3:"-25";}s:1:"k";a:21:{s:1:"e";s:3:"-10";s:6:"eacute";s:3:"-10";s:6:"ecaron";s:3:"-10";s:11:"ecircumflex";s:3:"-10";s:9:"edieresis";s:3:"-10";s:10:"edotaccent";s:3:"-10";s:6:"egrave";s:3:"-10";s:7:"emacron";s:3:"-10";s:7:"eogonek";s:3:"-10";s:1:"o";s:3:"-10";s:6:"oacute";s:3:"-10";s:11:"ocircumflex";s:3:"-10";s:9:"odieresis";s:3:"-10";s:6:"ograve";s:3:"-10";s:13:"ohungarumlaut";s:3:"-10";s:7:"omacron";s:3:"-10";s:6:"oslash";s:3:"-10";s:6:"otilde";s:3:"-10";s:1:"y";s:3:"-15";s:6:"yacute";s:3:"-15";s:9:"ydieresis";s:3:"-15";}s:12:"kcommaaccent";a:21:{s:1:"e";s:3:"-10";s:6:"eacute";s:3:"-10";s:6:"ecaron";s:3:"-10";s:11:"ecircumflex";s:3:"-10";s:9:"edieresis";s:3:"-10";s:10:"edotaccent";s:3:"-10";s:6:"egrave";s:3:"-10";s:7:"emacron";s:3:"-10";s:7:"eogonek";s:3:"-10";s:1:"o";s:3:"-10";s:6:"oacute";s:3:"-10";s:11:"ocircumflex";s:3:"-10";s:9:"odieresis";s:3:"-10";s:6:"ograve";s:3:"-10";s:13:"ohungarumlaut";s:3:"-10";s:7:"omacron";s:3:"-10";s:6:"oslash";s:3:"-10";s:6:"otilde";s:3:"-10";s:1:"y";s:3:"-15";s:6:"yacute";s:3:"-15";s:9:"ydieresis";s:3:"-15";}s:1:"l";a:1:{s:1:"w";s:3:"-10";}s:6:"lacute";a:1:{s:1:"w";s:3:"-10";}s:12:"lcommaaccent";a:1:{s:1:"w";s:3:"-10";}s:6:"lslash";a:1:{s:1:"w";s:3:"-10";}s:1:"n";a:4:{s:1:"v";s:3:"-40";s:1:"y";s:3:"-15";s:6:"yacute";s:3:"-15";s:9:"ydieresis";s:3:"-15";}s:6:"nacute";a:4:{s:1:"v";s:3:"-40";s:1:"y";s:3:"-15";s:6:"yacute";s:3:"-15";s:9:"ydieresis";s:3:"-15";}s:6:"ncaron";a:4:{s:1:"v";s:3:"-40";s:1:"y";s:3:"-15";s:6:"yacute";s:3:"-15";s:9:"ydieresis";s:3:"-15";}s:12:"ncommaaccent";a:4:{s:1:"v";s:3:"-40";s:1:"y";s:3:"-15";s:6:"yacute";s:3:"-15";s:9:"ydieresis";s:3:"-15";}s:6:"ntilde";a:4:{s:1:"v";s:3:"-40";s:1:"y";s:3:"-15";s:6:"yacute";s:3:"-15";s:9:"ydieresis";s:3:"-15";}s:1:"o";a:5:{s:1:"v";s:3:"-15";s:1:"w";s:3:"-25";s:1:"y";s:3:"-10";s:6:"yacute";s:3:"-10";s:9:"ydieresis";s:3:"-10";}s:6:"oacute";a:5:{s:1:"v";s:3:"-15";s:1:"w";s:3:"-25";s:1:"y";s:3:"-10";s:6:"yacute";s:3:"-10";s:9:"ydieresis";s:3:"-10";}s:11:"ocircumflex";a:5:{s:1:"v";s:3:"-15";s:1:"w";s:3:"-25";s:1:"y";s:3:"-10";s:6:"yacute";s:3:"-10";s:9:"ydieresis";s:3:"-10";}s:9:"odieresis";a:5:{s:1:"v";s:3:"-15";s:1:"w";s:3:"-25";s:1:"y";s:3:"-10";s:6:"yacute";s:3:"-10";s:9:"ydieresis";s:3:"-10";}s:6:"ograve";a:5:{s:1:"v";s:3:"-15";s:1:"w";s:3:"-25";s:1:"y";s:3:"-10";s:6:"yacute";s:3:"-10";s:9:"ydieresis";s:3:"-10";}s:13:"ohungarumlaut";a:5:{s:1:"v";s:3:"-15";s:1:"w";s:3:"-25";s:1:"y";s:3:"-10";s:6:"yacute";s:3:"-10";s:9:"ydieresis";s:3:"-10";}s:7:"omacron";a:5:{s:1:"v";s:3:"-15";s:1:"w";s:3:"-25";s:1:"y";s:3:"-10";s:6:"yacute";s:3:"-10";s:9:"ydieresis";s:3:"-10";}s:6:"oslash";a:5:{s:1:"v";s:3:"-15";s:1:"w";s:3:"-25";s:1:"y";s:3:"-10";s:6:"yacute";s:3:"-10";s:9:"ydieresis";s:3:"-10";}s:6:"otilde";a:5:{s:1:"v";s:3:"-15";s:1:"w";s:3:"-25";s:1:"y";s:3:"-10";s:6:"yacute";s:3:"-10";s:9:"ydieresis";s:3:"-10";}s:1:"p";a:3:{s:1:"y";s:3:"-10";s:6:"yacute";s:3:"-10";s:9:"ydieresis";s:3:"-10";}s:6:"period";a:2:{s:13:"quotedblright";s:3:"-70";s:10:"quoteright";s:3:"-70";}s:12:"quotedblleft";a:10:{s:1:"A";s:3:"-80";s:6:"Aacute";s:3:"-80";s:6:"Abreve";s:3:"-80";s:11:"Acircumflex";s:3:"-80";s:9:"Adieresis";s:3:"-80";s:6:"Agrave";s:3:"-80";s:7:"Amacron";s:3:"-80";s:7:"Aogonek";s:3:"-80";s:5:"Aring";s:3:"-80";s:6:"Atilde";s:3:"-80";}s:9:"quoteleft";a:11:{s:1:"A";s:3:"-80";s:6:"Aacute";s:3:"-80";s:6:"Abreve";s:3:"-80";s:11:"Acircumflex";s:3:"-80";s:9:"Adieresis";s:3:"-80";s:6:"Agrave";s:3:"-80";s:7:"Amacron";s:3:"-80";s:7:"Aogonek";s:3:"-80";s:5:"Aring";s:3:"-80";s:6:"Atilde";s:3:"-80";s:9:"quoteleft";s:3:"-74";}s:10:"quoteright";a:20:{s:1:"d";s:3:"-50";s:6:"dcroat";s:3:"-50";s:1:"l";s:3:"-10";s:6:"lacute";s:3:"-10";s:12:"lcommaaccent";s:3:"-10";s:6:"lslash";s:3:"-10";s:10:"quoteright";s:3:"-74";s:1:"r";s:3:"-50";s:6:"racute";s:3:"-50";s:6:"rcaron";s:3:"-50";s:12:"rcommaaccent";s:3:"-50";s:1:"s";s:3:"-55";s:6:"sacute";s:3:"-55";s:6:"scaron";s:3:"-55";s:8:"scedilla";s:3:"-55";s:12:"scommaaccent";s:3:"-55";s:5:"space";s:3:"-74";s:1:"t";s:3:"-18";s:12:"tcommaaccent";s:3:"-18";s:1:"v";s:3:"-50";}s:1:"r";a:6:{s:5:"comma";s:3:"-40";s:1:"g";s:3:"-18";s:6:"gbreve";s:3:"-18";s:12:"gcommaaccent";s:3:"-18";s:6:"hyphen";s:3:"-20";s:6:"period";s:3:"-55";}s:6:"racute";a:6:{s:5:"comma";s:3:"-40";s:1:"g";s:3:"-18";s:6:"gbreve";s:3:"-18";s:12:"gcommaaccent";s:3:"-18";s:6:"hyphen";s:3:"-20";s:6:"period";s:3:"-55";}s:6:"rcaron";a:6:{s:5:"comma";s:3:"-40";s:1:"g";s:3:"-18";s:6:"gbreve";s:3:"-18";s:12:"gcommaaccent";s:3:"-18";s:6:"hyphen";s:3:"-20";s:6:"period";s:3:"-55";}s:12:"rcommaaccent";a:6:{s:5:"comma";s:3:"-40";s:1:"g";s:3:"-18";s:6:"gbreve";s:3:"-18";s:12:"gcommaaccent";s:3:"-18";s:6:"hyphen";s:3:"-20";s:6:"period";s:3:"-55";}s:5:"space";a:18:{s:1:"A";s:3:"-55";s:6:"Aacute";s:3:"-55";s:6:"Abreve";s:3:"-55";s:11:"Acircumflex";s:3:"-55";s:9:"Adieresis";s:3:"-55";s:6:"Agrave";s:3:"-55";s:7:"Amacron";s:3:"-55";s:7:"Aogonek";s:3:"-55";s:5:"Aring";s:3:"-55";s:6:"Atilde";s:3:"-55";s:1:"T";s:3:"-18";s:6:"Tcaron";s:3:"-18";s:12:"Tcommaaccent";s:3:"-18";s:1:"V";s:3:"-50";s:1:"W";s:3:"-30";s:1:"Y";s:3:"-90";s:6:"Yacute";s:3:"-90";s:9:"Ydieresis";s:3:"-90";}s:1:"v";a:30:{s:1:"a";s:3:"-25";s:6:"aacute";s:3:"-25";s:6:"abreve";s:3:"-25";s:11:"acircumflex";s:3:"-25";s:9:"adieresis";s:3:"-25";s:6:"agrave";s:3:"-25";s:7:"amacron";s:3:"-25";s:7:"aogonek";s:3:"-25";s:5:"aring";s:3:"-25";s:6:"atilde";s:3:"-25";s:5:"comma";s:3:"-65";s:1:"e";s:3:"-15";s:6:"eacute";s:3:"-15";s:6:"ecaron";s:3:"-15";s:11:"ecircumflex";s:3:"-15";s:9:"edieresis";s:3:"-15";s:10:"edotaccent";s:3:"-15";s:6:"egrave";s:3:"-15";s:7:"emacron";s:3:"-15";s:7:"eogonek";s:3:"-15";s:1:"o";s:3:"-20";s:6:"oacute";s:3:"-20";s:11:"ocircumflex";s:3:"-20";s:9:"odieresis";s:3:"-20";s:6:"ograve";s:3:"-20";s:13:"ohungarumlaut";s:3:"-20";s:7:"omacron";s:3:"-20";s:6:"oslash";s:3:"-20";s:6:"otilde";s:3:"-20";s:6:"period";s:3:"-65";}s:1:"w";a:21:{s:1:"a";s:3:"-10";s:6:"aacute";s:3:"-10";s:6:"abreve";s:3:"-10";s:11:"acircumflex";s:3:"-10";s:9:"adieresis";s:3:"-10";s:6:"agrave";s:3:"-10";s:7:"amacron";s:3:"-10";s:7:"aogonek";s:3:"-10";s:5:"aring";s:3:"-10";s:6:"atilde";s:3:"-10";s:5:"comma";s:3:"-65";s:1:"o";s:3:"-10";s:6:"oacute";s:3:"-10";s:11:"ocircumflex";s:3:"-10";s:9:"odieresis";s:3:"-10";s:6:"ograve";s:3:"-10";s:13:"ohungarumlaut";s:3:"-10";s:7:"omacron";s:3:"-10";s:6:"oslash";s:3:"-10";s:6:"otilde";s:3:"-10";s:6:"period";s:3:"-65";}s:1:"x";a:9:{s:1:"e";s:3:"-15";s:6:"eacute";s:3:"-15";s:6:"ecaron";s:3:"-15";s:11:"ecircumflex";s:3:"-15";s:9:"edieresis";s:3:"-15";s:10:"edotaccent";s:3:"-15";s:6:"egrave";s:3:"-15";s:7:"emacron";s:3:"-15";s:7:"eogonek";s:3:"-15";}s:1:"y";a:2:{s:5:"comma";s:3:"-65";s:6:"period";s:3:"-65";}s:6:"yacute";a:2:{s:5:"comma";s:3:"-65";s:6:"period";s:3:"-65";}s:9:"ydieresis";a:2:{s:5:"comma";s:3:"-65";s:6:"period";s:3:"-65";}}s:9:"_version_";i:1;}
\ No newline at end of file diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/PDF/default/templates/fonts/php_ZapfDingbats.afm b/buildscripts/PhpDocumentor/phpDocumentor/Converters/PDF/default/templates/fonts/php_ZapfDingbats.afm new file mode 100755 index 00000000..12b5b973 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/PDF/default/templates/fonts/php_ZapfDingbats.afm @@ -0,0 +1 @@ +a:17:{s:8:"FontName";s:12:"ZapfDingbats";s:8:"FullName";s:17:"ITC Zapf Dingbats";s:10:"FamilyName";s:12:"ZapfDingbats";s:6:"Weight";s:6:"Medium";s:11:"ItalicAngle";s:1:"0";s:12:"IsFixedPitch";s:5:"false";s:12:"CharacterSet";s:7:"Special";s:8:"FontBBox";a:4:{i:0;s:2:"-1";i:1;s:4:"-143";i:2;s:3:"981";i:3;s:3:"820";}s:17:"UnderlinePosition";s:4:"-100";s:18:"UnderlineThickness";s:2:"50";s:7:"Version";s:7:"002.000";s:14:"EncodingScheme";s:12:"FontSpecific";s:5:"StdHW";s:2:"28";s:5:"StdVW";s:2:"90";s:16:"StartCharMetrics";s:3:"202";s:1:"C";a:404:{i:32;a:4:{s:1:"C";s:2:"32";s:2:"WX";s:3:"278";s:1:"N";s:5:"space";s:1:"B";a:4:{i:0;s:1:"0";i:1;s:1:"0";i:2;s:1:"0";i:3;s:1:"0";}}s:5:"space";a:4:{s:1:"C";s:2:"32";s:2:"WX";s:3:"278";s:1:"N";s:5:"space";s:1:"B";a:4:{i:0;s:1:"0";i:1;s:1:"0";i:2;s:1:"0";i:3;s:1:"0";}}i:33;a:4:{s:1:"C";s:2:"33";s:2:"WX";s:3:"974";s:1:"N";s:2:"a1";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:2:"72";i:2;s:3:"939";i:3;s:3:"621";}}s:2:"a1";a:4:{s:1:"C";s:2:"33";s:2:"WX";s:3:"974";s:1:"N";s:2:"a1";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:2:"72";i:2;s:3:"939";i:3;s:3:"621";}}i:34;a:4:{s:1:"C";s:2:"34";s:2:"WX";s:3:"961";s:1:"N";s:2:"a2";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:2:"81";i:2;s:3:"927";i:3;s:3:"611";}}s:2:"a2";a:4:{s:1:"C";s:2:"34";s:2:"WX";s:3:"961";s:1:"N";s:2:"a2";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:2:"81";i:2;s:3:"927";i:3;s:3:"611";}}i:35;a:4:{s:1:"C";s:2:"35";s:2:"WX";s:3:"974";s:1:"N";s:4:"a202";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:2:"72";i:2;s:3:"939";i:3;s:3:"621";}}s:4:"a202";a:4:{s:1:"C";s:2:"35";s:2:"WX";s:3:"974";s:1:"N";s:4:"a202";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:2:"72";i:2;s:3:"939";i:3;s:3:"621";}}i:36;a:4:{s:1:"C";s:2:"36";s:2:"WX";s:3:"980";s:1:"N";s:2:"a3";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:1:"0";i:2;s:3:"945";i:3;s:3:"692";}}s:2:"a3";a:4:{s:1:"C";s:2:"36";s:2:"WX";s:3:"980";s:1:"N";s:2:"a3";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:1:"0";i:2;s:3:"945";i:3;s:3:"692";}}i:37;a:4:{s:1:"C";s:2:"37";s:2:"WX";s:3:"719";s:1:"N";s:2:"a4";s:1:"B";a:4:{i:0;s:2:"34";i:1;s:3:"139";i:2;s:3:"685";i:3;s:3:"566";}}s:2:"a4";a:4:{s:1:"C";s:2:"37";s:2:"WX";s:3:"719";s:1:"N";s:2:"a4";s:1:"B";a:4:{i:0;s:2:"34";i:1;s:3:"139";i:2;s:3:"685";i:3;s:3:"566";}}i:38;a:4:{s:1:"C";s:2:"38";s:2:"WX";s:3:"789";s:1:"N";s:2:"a5";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:3:"-14";i:2;s:3:"755";i:3;s:3:"705";}}s:2:"a5";a:4:{s:1:"C";s:2:"38";s:2:"WX";s:3:"789";s:1:"N";s:2:"a5";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:3:"-14";i:2;s:3:"755";i:3;s:3:"705";}}i:39;a:4:{s:1:"C";s:2:"39";s:2:"WX";s:3:"790";s:1:"N";s:4:"a119";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:3:"-14";i:2;s:3:"755";i:3;s:3:"705";}}s:4:"a119";a:4:{s:1:"C";s:2:"39";s:2:"WX";s:3:"790";s:1:"N";s:4:"a119";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:3:"-14";i:2;s:3:"755";i:3;s:3:"705";}}i:40;a:4:{s:1:"C";s:2:"40";s:2:"WX";s:3:"791";s:1:"N";s:4:"a118";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:3:"-13";i:2;s:3:"761";i:3;s:3:"705";}}s:4:"a118";a:4:{s:1:"C";s:2:"40";s:2:"WX";s:3:"791";s:1:"N";s:4:"a118";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:3:"-13";i:2;s:3:"761";i:3;s:3:"705";}}i:41;a:4:{s:1:"C";s:2:"41";s:2:"WX";s:3:"690";s:1:"N";s:4:"a117";s:1:"B";a:4:{i:0;s:2:"34";i:1;s:3:"138";i:2;s:3:"655";i:3;s:3:"553";}}s:4:"a117";a:4:{s:1:"C";s:2:"41";s:2:"WX";s:3:"690";s:1:"N";s:4:"a117";s:1:"B";a:4:{i:0;s:2:"34";i:1;s:3:"138";i:2;s:3:"655";i:3;s:3:"553";}}i:42;a:4:{s:1:"C";s:2:"42";s:2:"WX";s:3:"960";s:1:"N";s:3:"a11";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:3:"123";i:2;s:3:"925";i:3;s:3:"568";}}s:3:"a11";a:4:{s:1:"C";s:2:"42";s:2:"WX";s:3:"960";s:1:"N";s:3:"a11";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:3:"123";i:2;s:3:"925";i:3;s:3:"568";}}i:43;a:4:{s:1:"C";s:2:"43";s:2:"WX";s:3:"939";s:1:"N";s:3:"a12";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:3:"134";i:2;s:3:"904";i:3;s:3:"559";}}s:3:"a12";a:4:{s:1:"C";s:2:"43";s:2:"WX";s:3:"939";s:1:"N";s:3:"a12";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:3:"134";i:2;s:3:"904";i:3;s:3:"559";}}i:44;a:4:{s:1:"C";s:2:"44";s:2:"WX";s:3:"549";s:1:"N";s:3:"a13";s:1:"B";a:4:{i:0;s:2:"29";i:1;s:3:"-11";i:2;s:3:"516";i:3;s:3:"705";}}s:3:"a13";a:4:{s:1:"C";s:2:"44";s:2:"WX";s:3:"549";s:1:"N";s:3:"a13";s:1:"B";a:4:{i:0;s:2:"29";i:1;s:3:"-11";i:2;s:3:"516";i:3;s:3:"705";}}i:45;a:4:{s:1:"C";s:2:"45";s:2:"WX";s:3:"855";s:1:"N";s:3:"a14";s:1:"B";a:4:{i:0;s:2:"34";i:1;s:2:"59";i:2;s:3:"820";i:3;s:3:"632";}}s:3:"a14";a:4:{s:1:"C";s:2:"45";s:2:"WX";s:3:"855";s:1:"N";s:3:"a14";s:1:"B";a:4:{i:0;s:2:"34";i:1;s:2:"59";i:2;s:3:"820";i:3;s:3:"632";}}i:46;a:4:{s:1:"C";s:2:"46";s:2:"WX";s:3:"911";s:1:"N";s:3:"a15";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:2:"50";i:2;s:3:"876";i:3;s:3:"642";}}s:3:"a15";a:4:{s:1:"C";s:2:"46";s:2:"WX";s:3:"911";s:1:"N";s:3:"a15";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:2:"50";i:2;s:3:"876";i:3;s:3:"642";}}i:47;a:4:{s:1:"C";s:2:"47";s:2:"WX";s:3:"933";s:1:"N";s:3:"a16";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:3:"139";i:2;s:3:"899";i:3;s:3:"550";}}s:3:"a16";a:4:{s:1:"C";s:2:"47";s:2:"WX";s:3:"933";s:1:"N";s:3:"a16";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:3:"139";i:2;s:3:"899";i:3;s:3:"550";}}i:48;a:4:{s:1:"C";s:2:"48";s:2:"WX";s:3:"911";s:1:"N";s:4:"a105";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:2:"50";i:2;s:3:"876";i:3;s:3:"642";}}s:4:"a105";a:4:{s:1:"C";s:2:"48";s:2:"WX";s:3:"911";s:1:"N";s:4:"a105";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:2:"50";i:2;s:3:"876";i:3;s:3:"642";}}i:49;a:4:{s:1:"C";s:2:"49";s:2:"WX";s:3:"945";s:1:"N";s:3:"a17";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:3:"139";i:2;s:3:"909";i:3;s:3:"553";}}s:3:"a17";a:4:{s:1:"C";s:2:"49";s:2:"WX";s:3:"945";s:1:"N";s:3:"a17";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:3:"139";i:2;s:3:"909";i:3;s:3:"553";}}i:50;a:4:{s:1:"C";s:2:"50";s:2:"WX";s:3:"974";s:1:"N";s:3:"a18";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:3:"104";i:2;s:3:"938";i:3;s:3:"587";}}s:3:"a18";a:4:{s:1:"C";s:2:"50";s:2:"WX";s:3:"974";s:1:"N";s:3:"a18";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:3:"104";i:2;s:3:"938";i:3;s:3:"587";}}i:51;a:4:{s:1:"C";s:2:"51";s:2:"WX";s:3:"755";s:1:"N";s:3:"a19";s:1:"B";a:4:{i:0;s:2:"34";i:1;s:3:"-13";i:2;s:3:"721";i:3;s:3:"705";}}s:3:"a19";a:4:{s:1:"C";s:2:"51";s:2:"WX";s:3:"755";s:1:"N";s:3:"a19";s:1:"B";a:4:{i:0;s:2:"34";i:1;s:3:"-13";i:2;s:3:"721";i:3;s:3:"705";}}i:52;a:4:{s:1:"C";s:2:"52";s:2:"WX";s:3:"846";s:1:"N";s:3:"a20";s:1:"B";a:4:{i:0;s:2:"36";i:1;s:3:"-14";i:2;s:3:"811";i:3;s:3:"705";}}s:3:"a20";a:4:{s:1:"C";s:2:"52";s:2:"WX";s:3:"846";s:1:"N";s:3:"a20";s:1:"B";a:4:{i:0;s:2:"36";i:1;s:3:"-14";i:2;s:3:"811";i:3;s:3:"705";}}i:53;a:4:{s:1:"C";s:2:"53";s:2:"WX";s:3:"762";s:1:"N";s:3:"a21";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:1:"0";i:2;s:3:"727";i:3;s:3:"692";}}s:3:"a21";a:4:{s:1:"C";s:2:"53";s:2:"WX";s:3:"762";s:1:"N";s:3:"a21";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:1:"0";i:2;s:3:"727";i:3;s:3:"692";}}i:54;a:4:{s:1:"C";s:2:"54";s:2:"WX";s:3:"761";s:1:"N";s:3:"a22";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:1:"0";i:2;s:3:"727";i:3;s:3:"692";}}s:3:"a22";a:4:{s:1:"C";s:2:"54";s:2:"WX";s:3:"761";s:1:"N";s:3:"a22";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:1:"0";i:2;s:3:"727";i:3;s:3:"692";}}i:55;a:4:{s:1:"C";s:2:"55";s:2:"WX";s:3:"571";s:1:"N";s:3:"a23";s:1:"B";a:4:{i:0;s:2:"-1";i:1;s:3:"-68";i:2;s:3:"571";i:3;s:3:"661";}}s:3:"a23";a:4:{s:1:"C";s:2:"55";s:2:"WX";s:3:"571";s:1:"N";s:3:"a23";s:1:"B";a:4:{i:0;s:2:"-1";i:1;s:3:"-68";i:2;s:3:"571";i:3;s:3:"661";}}i:56;a:4:{s:1:"C";s:2:"56";s:2:"WX";s:3:"677";s:1:"N";s:3:"a24";s:1:"B";a:4:{i:0;s:2:"36";i:1;s:3:"-13";i:2;s:3:"642";i:3;s:3:"705";}}s:3:"a24";a:4:{s:1:"C";s:2:"56";s:2:"WX";s:3:"677";s:1:"N";s:3:"a24";s:1:"B";a:4:{i:0;s:2:"36";i:1;s:3:"-13";i:2;s:3:"642";i:3;s:3:"705";}}i:57;a:4:{s:1:"C";s:2:"57";s:2:"WX";s:3:"763";s:1:"N";s:3:"a25";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:1:"0";i:2;s:3:"728";i:3;s:3:"692";}}s:3:"a25";a:4:{s:1:"C";s:2:"57";s:2:"WX";s:3:"763";s:1:"N";s:3:"a25";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:1:"0";i:2;s:3:"728";i:3;s:3:"692";}}i:58;a:4:{s:1:"C";s:2:"58";s:2:"WX";s:3:"760";s:1:"N";s:3:"a26";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:1:"0";i:2;s:3:"726";i:3;s:3:"692";}}s:3:"a26";a:4:{s:1:"C";s:2:"58";s:2:"WX";s:3:"760";s:1:"N";s:3:"a26";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:1:"0";i:2;s:3:"726";i:3;s:3:"692";}}i:59;a:4:{s:1:"C";s:2:"59";s:2:"WX";s:3:"759";s:1:"N";s:3:"a27";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:1:"0";i:2;s:3:"725";i:3;s:3:"692";}}s:3:"a27";a:4:{s:1:"C";s:2:"59";s:2:"WX";s:3:"759";s:1:"N";s:3:"a27";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:1:"0";i:2;s:3:"725";i:3;s:3:"692";}}i:60;a:4:{s:1:"C";s:2:"60";s:2:"WX";s:3:"754";s:1:"N";s:3:"a28";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:1:"0";i:2;s:3:"720";i:3;s:3:"692";}}s:3:"a28";a:4:{s:1:"C";s:2:"60";s:2:"WX";s:3:"754";s:1:"N";s:3:"a28";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:1:"0";i:2;s:3:"720";i:3;s:3:"692";}}i:61;a:4:{s:1:"C";s:2:"61";s:2:"WX";s:3:"494";s:1:"N";s:2:"a6";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:1:"0";i:2;s:3:"460";i:3;s:3:"692";}}s:2:"a6";a:4:{s:1:"C";s:2:"61";s:2:"WX";s:3:"494";s:1:"N";s:2:"a6";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:1:"0";i:2;s:3:"460";i:3;s:3:"692";}}i:62;a:4:{s:1:"C";s:2:"62";s:2:"WX";s:3:"552";s:1:"N";s:2:"a7";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:1:"0";i:2;s:3:"517";i:3;s:3:"692";}}s:2:"a7";a:4:{s:1:"C";s:2:"62";s:2:"WX";s:3:"552";s:1:"N";s:2:"a7";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:1:"0";i:2;s:3:"517";i:3;s:3:"692";}}i:63;a:4:{s:1:"C";s:2:"63";s:2:"WX";s:3:"537";s:1:"N";s:2:"a8";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:1:"0";i:2;s:3:"503";i:3;s:3:"692";}}s:2:"a8";a:4:{s:1:"C";s:2:"63";s:2:"WX";s:3:"537";s:1:"N";s:2:"a8";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:1:"0";i:2;s:3:"503";i:3;s:3:"692";}}i:64;a:4:{s:1:"C";s:2:"64";s:2:"WX";s:3:"577";s:1:"N";s:2:"a9";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:2:"96";i:2;s:3:"542";i:3;s:3:"596";}}s:2:"a9";a:4:{s:1:"C";s:2:"64";s:2:"WX";s:3:"577";s:1:"N";s:2:"a9";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:2:"96";i:2;s:3:"542";i:3;s:3:"596";}}i:65;a:4:{s:1:"C";s:2:"65";s:2:"WX";s:3:"692";s:1:"N";s:3:"a10";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:3:"-14";i:2;s:3:"657";i:3;s:3:"705";}}s:3:"a10";a:4:{s:1:"C";s:2:"65";s:2:"WX";s:3:"692";s:1:"N";s:3:"a10";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:3:"-14";i:2;s:3:"657";i:3;s:3:"705";}}i:66;a:4:{s:1:"C";s:2:"66";s:2:"WX";s:3:"786";s:1:"N";s:3:"a29";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:3:"-14";i:2;s:3:"751";i:3;s:3:"705";}}s:3:"a29";a:4:{s:1:"C";s:2:"66";s:2:"WX";s:3:"786";s:1:"N";s:3:"a29";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:3:"-14";i:2;s:3:"751";i:3;s:3:"705";}}i:67;a:4:{s:1:"C";s:2:"67";s:2:"WX";s:3:"788";s:1:"N";s:3:"a30";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:3:"-14";i:2;s:3:"752";i:3;s:3:"705";}}s:3:"a30";a:4:{s:1:"C";s:2:"67";s:2:"WX";s:3:"788";s:1:"N";s:3:"a30";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:3:"-14";i:2;s:3:"752";i:3;s:3:"705";}}i:68;a:4:{s:1:"C";s:2:"68";s:2:"WX";s:3:"788";s:1:"N";s:3:"a31";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:3:"-14";i:2;s:3:"753";i:3;s:3:"705";}}s:3:"a31";a:4:{s:1:"C";s:2:"68";s:2:"WX";s:3:"788";s:1:"N";s:3:"a31";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:3:"-14";i:2;s:3:"753";i:3;s:3:"705";}}i:69;a:4:{s:1:"C";s:2:"69";s:2:"WX";s:3:"790";s:1:"N";s:3:"a32";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:3:"-14";i:2;s:3:"756";i:3;s:3:"705";}}s:3:"a32";a:4:{s:1:"C";s:2:"69";s:2:"WX";s:3:"790";s:1:"N";s:3:"a32";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:3:"-14";i:2;s:3:"756";i:3;s:3:"705";}}i:70;a:4:{s:1:"C";s:2:"70";s:2:"WX";s:3:"793";s:1:"N";s:3:"a33";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:3:"-13";i:2;s:3:"759";i:3;s:3:"705";}}s:3:"a33";a:4:{s:1:"C";s:2:"70";s:2:"WX";s:3:"793";s:1:"N";s:3:"a33";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:3:"-13";i:2;s:3:"759";i:3;s:3:"705";}}i:71;a:4:{s:1:"C";s:2:"71";s:2:"WX";s:3:"794";s:1:"N";s:3:"a34";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:3:"-13";i:2;s:3:"759";i:3;s:3:"705";}}s:3:"a34";a:4:{s:1:"C";s:2:"71";s:2:"WX";s:3:"794";s:1:"N";s:3:"a34";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:3:"-13";i:2;s:3:"759";i:3;s:3:"705";}}i:72;a:4:{s:1:"C";s:2:"72";s:2:"WX";s:3:"816";s:1:"N";s:3:"a35";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:3:"-14";i:2;s:3:"782";i:3;s:3:"705";}}s:3:"a35";a:4:{s:1:"C";s:2:"72";s:2:"WX";s:3:"816";s:1:"N";s:3:"a35";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:3:"-14";i:2;s:3:"782";i:3;s:3:"705";}}i:73;a:4:{s:1:"C";s:2:"73";s:2:"WX";s:3:"823";s:1:"N";s:3:"a36";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:3:"-14";i:2;s:3:"787";i:3;s:3:"705";}}s:3:"a36";a:4:{s:1:"C";s:2:"73";s:2:"WX";s:3:"823";s:1:"N";s:3:"a36";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:3:"-14";i:2;s:3:"787";i:3;s:3:"705";}}i:74;a:4:{s:1:"C";s:2:"74";s:2:"WX";s:3:"789";s:1:"N";s:3:"a37";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:3:"-14";i:2;s:3:"754";i:3;s:3:"705";}}s:3:"a37";a:4:{s:1:"C";s:2:"74";s:2:"WX";s:3:"789";s:1:"N";s:3:"a37";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:3:"-14";i:2;s:3:"754";i:3;s:3:"705";}}i:75;a:4:{s:1:"C";s:2:"75";s:2:"WX";s:3:"841";s:1:"N";s:3:"a38";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:3:"-14";i:2;s:3:"807";i:3;s:3:"705";}}s:3:"a38";a:4:{s:1:"C";s:2:"75";s:2:"WX";s:3:"841";s:1:"N";s:3:"a38";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:3:"-14";i:2;s:3:"807";i:3;s:3:"705";}}i:76;a:4:{s:1:"C";s:2:"76";s:2:"WX";s:3:"823";s:1:"N";s:3:"a39";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:3:"-14";i:2;s:3:"789";i:3;s:3:"705";}}s:3:"a39";a:4:{s:1:"C";s:2:"76";s:2:"WX";s:3:"823";s:1:"N";s:3:"a39";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:3:"-14";i:2;s:3:"789";i:3;s:3:"705";}}i:77;a:4:{s:1:"C";s:2:"77";s:2:"WX";s:3:"833";s:1:"N";s:3:"a40";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:3:"-14";i:2;s:3:"798";i:3;s:3:"705";}}s:3:"a40";a:4:{s:1:"C";s:2:"77";s:2:"WX";s:3:"833";s:1:"N";s:3:"a40";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:3:"-14";i:2;s:3:"798";i:3;s:3:"705";}}i:78;a:4:{s:1:"C";s:2:"78";s:2:"WX";s:3:"816";s:1:"N";s:3:"a41";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:3:"-13";i:2;s:3:"782";i:3;s:3:"705";}}s:3:"a41";a:4:{s:1:"C";s:2:"78";s:2:"WX";s:3:"816";s:1:"N";s:3:"a41";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:3:"-13";i:2;s:3:"782";i:3;s:3:"705";}}i:79;a:4:{s:1:"C";s:2:"79";s:2:"WX";s:3:"831";s:1:"N";s:3:"a42";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:3:"-14";i:2;s:3:"796";i:3;s:3:"705";}}s:3:"a42";a:4:{s:1:"C";s:2:"79";s:2:"WX";s:3:"831";s:1:"N";s:3:"a42";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:3:"-14";i:2;s:3:"796";i:3;s:3:"705";}}i:80;a:4:{s:1:"C";s:2:"80";s:2:"WX";s:3:"923";s:1:"N";s:3:"a43";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:3:"-14";i:2;s:3:"888";i:3;s:3:"705";}}s:3:"a43";a:4:{s:1:"C";s:2:"80";s:2:"WX";s:3:"923";s:1:"N";s:3:"a43";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:3:"-14";i:2;s:3:"888";i:3;s:3:"705";}}i:81;a:4:{s:1:"C";s:2:"81";s:2:"WX";s:3:"744";s:1:"N";s:3:"a44";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:1:"0";i:2;s:3:"710";i:3;s:3:"692";}}s:3:"a44";a:4:{s:1:"C";s:2:"81";s:2:"WX";s:3:"744";s:1:"N";s:3:"a44";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:1:"0";i:2;s:3:"710";i:3;s:3:"692";}}i:82;a:4:{s:1:"C";s:2:"82";s:2:"WX";s:3:"723";s:1:"N";s:3:"a45";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:1:"0";i:2;s:3:"688";i:3;s:3:"692";}}s:3:"a45";a:4:{s:1:"C";s:2:"82";s:2:"WX";s:3:"723";s:1:"N";s:3:"a45";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:1:"0";i:2;s:3:"688";i:3;s:3:"692";}}i:83;a:4:{s:1:"C";s:2:"83";s:2:"WX";s:3:"749";s:1:"N";s:3:"a46";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:1:"0";i:2;s:3:"714";i:3;s:3:"692";}}s:3:"a46";a:4:{s:1:"C";s:2:"83";s:2:"WX";s:3:"749";s:1:"N";s:3:"a46";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:1:"0";i:2;s:3:"714";i:3;s:3:"692";}}i:84;a:4:{s:1:"C";s:2:"84";s:2:"WX";s:3:"790";s:1:"N";s:3:"a47";s:1:"B";a:4:{i:0;s:2:"34";i:1;s:3:"-14";i:2;s:3:"756";i:3;s:3:"705";}}s:3:"a47";a:4:{s:1:"C";s:2:"84";s:2:"WX";s:3:"790";s:1:"N";s:3:"a47";s:1:"B";a:4:{i:0;s:2:"34";i:1;s:3:"-14";i:2;s:3:"756";i:3;s:3:"705";}}i:85;a:4:{s:1:"C";s:2:"85";s:2:"WX";s:3:"792";s:1:"N";s:3:"a48";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:3:"-14";i:2;s:3:"758";i:3;s:3:"705";}}s:3:"a48";a:4:{s:1:"C";s:2:"85";s:2:"WX";s:3:"792";s:1:"N";s:3:"a48";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:3:"-14";i:2;s:3:"758";i:3;s:3:"705";}}i:86;a:4:{s:1:"C";s:2:"86";s:2:"WX";s:3:"695";s:1:"N";s:3:"a49";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:3:"-14";i:2;s:3:"661";i:3;s:3:"706";}}s:3:"a49";a:4:{s:1:"C";s:2:"86";s:2:"WX";s:3:"695";s:1:"N";s:3:"a49";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:3:"-14";i:2;s:3:"661";i:3;s:3:"706";}}i:87;a:4:{s:1:"C";s:2:"87";s:2:"WX";s:3:"776";s:1:"N";s:3:"a50";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:2:"-6";i:2;s:3:"741";i:3;s:3:"699";}}s:3:"a50";a:4:{s:1:"C";s:2:"87";s:2:"WX";s:3:"776";s:1:"N";s:3:"a50";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:2:"-6";i:2;s:3:"741";i:3;s:3:"699";}}i:88;a:4:{s:1:"C";s:2:"88";s:2:"WX";s:3:"768";s:1:"N";s:3:"a51";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:2:"-7";i:2;s:3:"734";i:3;s:3:"699";}}s:3:"a51";a:4:{s:1:"C";s:2:"88";s:2:"WX";s:3:"768";s:1:"N";s:3:"a51";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:2:"-7";i:2;s:3:"734";i:3;s:3:"699";}}i:89;a:4:{s:1:"C";s:2:"89";s:2:"WX";s:3:"792";s:1:"N";s:3:"a52";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:3:"-14";i:2;s:3:"757";i:3;s:3:"705";}}s:3:"a52";a:4:{s:1:"C";s:2:"89";s:2:"WX";s:3:"792";s:1:"N";s:3:"a52";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:3:"-14";i:2;s:3:"757";i:3;s:3:"705";}}i:90;a:4:{s:1:"C";s:2:"90";s:2:"WX";s:3:"759";s:1:"N";s:3:"a53";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:1:"0";i:2;s:3:"725";i:3;s:3:"692";}}s:3:"a53";a:4:{s:1:"C";s:2:"90";s:2:"WX";s:3:"759";s:1:"N";s:3:"a53";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:1:"0";i:2;s:3:"725";i:3;s:3:"692";}}i:91;a:4:{s:1:"C";s:2:"91";s:2:"WX";s:3:"707";s:1:"N";s:3:"a54";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:3:"-13";i:2;s:3:"672";i:3;s:3:"704";}}s:3:"a54";a:4:{s:1:"C";s:2:"91";s:2:"WX";s:3:"707";s:1:"N";s:3:"a54";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:3:"-13";i:2;s:3:"672";i:3;s:3:"704";}}i:92;a:4:{s:1:"C";s:2:"92";s:2:"WX";s:3:"708";s:1:"N";s:3:"a55";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:3:"-14";i:2;s:3:"672";i:3;s:3:"705";}}s:3:"a55";a:4:{s:1:"C";s:2:"92";s:2:"WX";s:3:"708";s:1:"N";s:3:"a55";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:3:"-14";i:2;s:3:"672";i:3;s:3:"705";}}i:93;a:4:{s:1:"C";s:2:"93";s:2:"WX";s:3:"682";s:1:"N";s:3:"a56";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:3:"-14";i:2;s:3:"647";i:3;s:3:"705";}}s:3:"a56";a:4:{s:1:"C";s:2:"93";s:2:"WX";s:3:"682";s:1:"N";s:3:"a56";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:3:"-14";i:2;s:3:"647";i:3;s:3:"705";}}i:94;a:4:{s:1:"C";s:2:"94";s:2:"WX";s:3:"701";s:1:"N";s:3:"a57";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:3:"-14";i:2;s:3:"666";i:3;s:3:"705";}}s:3:"a57";a:4:{s:1:"C";s:2:"94";s:2:"WX";s:3:"701";s:1:"N";s:3:"a57";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:3:"-14";i:2;s:3:"666";i:3;s:3:"705";}}i:95;a:4:{s:1:"C";s:2:"95";s:2:"WX";s:3:"826";s:1:"N";s:3:"a58";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:3:"-14";i:2;s:3:"791";i:3;s:3:"705";}}s:3:"a58";a:4:{s:1:"C";s:2:"95";s:2:"WX";s:3:"826";s:1:"N";s:3:"a58";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:3:"-14";i:2;s:3:"791";i:3;s:3:"705";}}i:96;a:4:{s:1:"C";s:2:"96";s:2:"WX";s:3:"815";s:1:"N";s:3:"a59";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:3:"-14";i:2;s:3:"780";i:3;s:3:"705";}}s:3:"a59";a:4:{s:1:"C";s:2:"96";s:2:"WX";s:3:"815";s:1:"N";s:3:"a59";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:3:"-14";i:2;s:3:"780";i:3;s:3:"705";}}i:97;a:4:{s:1:"C";s:2:"97";s:2:"WX";s:3:"789";s:1:"N";s:3:"a60";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:3:"-14";i:2;s:3:"754";i:3;s:3:"705";}}s:3:"a60";a:4:{s:1:"C";s:2:"97";s:2:"WX";s:3:"789";s:1:"N";s:3:"a60";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:3:"-14";i:2;s:3:"754";i:3;s:3:"705";}}i:98;a:4:{s:1:"C";s:2:"98";s:2:"WX";s:3:"789";s:1:"N";s:3:"a61";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:3:"-14";i:2;s:3:"754";i:3;s:3:"705";}}s:3:"a61";a:4:{s:1:"C";s:2:"98";s:2:"WX";s:3:"789";s:1:"N";s:3:"a61";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:3:"-14";i:2;s:3:"754";i:3;s:3:"705";}}i:99;a:4:{s:1:"C";s:2:"99";s:2:"WX";s:3:"707";s:1:"N";s:3:"a62";s:1:"B";a:4:{i:0;s:2:"34";i:1;s:3:"-14";i:2;s:3:"673";i:3;s:3:"705";}}s:3:"a62";a:4:{s:1:"C";s:2:"99";s:2:"WX";s:3:"707";s:1:"N";s:3:"a62";s:1:"B";a:4:{i:0;s:2:"34";i:1;s:3:"-14";i:2;s:3:"673";i:3;s:3:"705";}}i:100;a:4:{s:1:"C";s:3:"100";s:2:"WX";s:3:"687";s:1:"N";s:3:"a63";s:1:"B";a:4:{i:0;s:2:"36";i:1;s:1:"0";i:2;s:3:"651";i:3;s:3:"692";}}s:3:"a63";a:4:{s:1:"C";s:3:"100";s:2:"WX";s:3:"687";s:1:"N";s:3:"a63";s:1:"B";a:4:{i:0;s:2:"36";i:1;s:1:"0";i:2;s:3:"651";i:3;s:3:"692";}}i:101;a:4:{s:1:"C";s:3:"101";s:2:"WX";s:3:"696";s:1:"N";s:3:"a64";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:1:"0";i:2;s:3:"661";i:3;s:3:"691";}}s:3:"a64";a:4:{s:1:"C";s:3:"101";s:2:"WX";s:3:"696";s:1:"N";s:3:"a64";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:1:"0";i:2;s:3:"661";i:3;s:3:"691";}}i:102;a:4:{s:1:"C";s:3:"102";s:2:"WX";s:3:"689";s:1:"N";s:3:"a65";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:1:"0";i:2;s:3:"655";i:3;s:3:"692";}}s:3:"a65";a:4:{s:1:"C";s:3:"102";s:2:"WX";s:3:"689";s:1:"N";s:3:"a65";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:1:"0";i:2;s:3:"655";i:3;s:3:"692";}}i:103;a:4:{s:1:"C";s:3:"103";s:2:"WX";s:3:"786";s:1:"N";s:3:"a66";s:1:"B";a:4:{i:0;s:2:"34";i:1;s:3:"-14";i:2;s:3:"751";i:3;s:3:"705";}}s:3:"a66";a:4:{s:1:"C";s:3:"103";s:2:"WX";s:3:"786";s:1:"N";s:3:"a66";s:1:"B";a:4:{i:0;s:2:"34";i:1;s:3:"-14";i:2;s:3:"751";i:3;s:3:"705";}}i:104;a:4:{s:1:"C";s:3:"104";s:2:"WX";s:3:"787";s:1:"N";s:3:"a67";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:3:"-14";i:2;s:3:"752";i:3;s:3:"705";}}s:3:"a67";a:4:{s:1:"C";s:3:"104";s:2:"WX";s:3:"787";s:1:"N";s:3:"a67";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:3:"-14";i:2;s:3:"752";i:3;s:3:"705";}}i:105;a:4:{s:1:"C";s:3:"105";s:2:"WX";s:3:"713";s:1:"N";s:3:"a68";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:3:"-14";i:2;s:3:"678";i:3;s:3:"705";}}s:3:"a68";a:4:{s:1:"C";s:3:"105";s:2:"WX";s:3:"713";s:1:"N";s:3:"a68";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:3:"-14";i:2;s:3:"678";i:3;s:3:"705";}}i:106;a:4:{s:1:"C";s:3:"106";s:2:"WX";s:3:"791";s:1:"N";s:3:"a69";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:3:"-14";i:2;s:3:"756";i:3;s:3:"705";}}s:3:"a69";a:4:{s:1:"C";s:3:"106";s:2:"WX";s:3:"791";s:1:"N";s:3:"a69";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:3:"-14";i:2;s:3:"756";i:3;s:3:"705";}}i:107;a:4:{s:1:"C";s:3:"107";s:2:"WX";s:3:"785";s:1:"N";s:3:"a70";s:1:"B";a:4:{i:0;s:2:"36";i:1;s:3:"-14";i:2;s:3:"751";i:3;s:3:"705";}}s:3:"a70";a:4:{s:1:"C";s:3:"107";s:2:"WX";s:3:"785";s:1:"N";s:3:"a70";s:1:"B";a:4:{i:0;s:2:"36";i:1;s:3:"-14";i:2;s:3:"751";i:3;s:3:"705";}}i:108;a:4:{s:1:"C";s:3:"108";s:2:"WX";s:3:"791";s:1:"N";s:3:"a71";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:3:"-14";i:2;s:3:"757";i:3;s:3:"705";}}s:3:"a71";a:4:{s:1:"C";s:3:"108";s:2:"WX";s:3:"791";s:1:"N";s:3:"a71";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:3:"-14";i:2;s:3:"757";i:3;s:3:"705";}}i:109;a:4:{s:1:"C";s:3:"109";s:2:"WX";s:3:"873";s:1:"N";s:3:"a72";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:3:"-14";i:2;s:3:"838";i:3;s:3:"705";}}s:3:"a72";a:4:{s:1:"C";s:3:"109";s:2:"WX";s:3:"873";s:1:"N";s:3:"a72";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:3:"-14";i:2;s:3:"838";i:3;s:3:"705";}}i:110;a:4:{s:1:"C";s:3:"110";s:2:"WX";s:3:"761";s:1:"N";s:3:"a73";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:1:"0";i:2;s:3:"726";i:3;s:3:"692";}}s:3:"a73";a:4:{s:1:"C";s:3:"110";s:2:"WX";s:3:"761";s:1:"N";s:3:"a73";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:1:"0";i:2;s:3:"726";i:3;s:3:"692";}}i:111;a:4:{s:1:"C";s:3:"111";s:2:"WX";s:3:"762";s:1:"N";s:3:"a74";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:1:"0";i:2;s:3:"727";i:3;s:3:"692";}}s:3:"a74";a:4:{s:1:"C";s:3:"111";s:2:"WX";s:3:"762";s:1:"N";s:3:"a74";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:1:"0";i:2;s:3:"727";i:3;s:3:"692";}}i:112;a:4:{s:1:"C";s:3:"112";s:2:"WX";s:3:"762";s:1:"N";s:4:"a203";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:1:"0";i:2;s:3:"727";i:3;s:3:"692";}}s:4:"a203";a:4:{s:1:"C";s:3:"112";s:2:"WX";s:3:"762";s:1:"N";s:4:"a203";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:1:"0";i:2;s:3:"727";i:3;s:3:"692";}}i:113;a:4:{s:1:"C";s:3:"113";s:2:"WX";s:3:"759";s:1:"N";s:3:"a75";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:1:"0";i:2;s:3:"725";i:3;s:3:"692";}}s:3:"a75";a:4:{s:1:"C";s:3:"113";s:2:"WX";s:3:"759";s:1:"N";s:3:"a75";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:1:"0";i:2;s:3:"725";i:3;s:3:"692";}}i:114;a:4:{s:1:"C";s:3:"114";s:2:"WX";s:3:"759";s:1:"N";s:4:"a204";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:1:"0";i:2;s:3:"725";i:3;s:3:"692";}}s:4:"a204";a:4:{s:1:"C";s:3:"114";s:2:"WX";s:3:"759";s:1:"N";s:4:"a204";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:1:"0";i:2;s:3:"725";i:3;s:3:"692";}}i:115;a:4:{s:1:"C";s:3:"115";s:2:"WX";s:3:"892";s:1:"N";s:3:"a76";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:1:"0";i:2;s:3:"858";i:3;s:3:"705";}}s:3:"a76";a:4:{s:1:"C";s:3:"115";s:2:"WX";s:3:"892";s:1:"N";s:3:"a76";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:1:"0";i:2;s:3:"858";i:3;s:3:"705";}}i:116;a:4:{s:1:"C";s:3:"116";s:2:"WX";s:3:"892";s:1:"N";s:3:"a77";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:3:"-14";i:2;s:3:"858";i:3;s:3:"692";}}s:3:"a77";a:4:{s:1:"C";s:3:"116";s:2:"WX";s:3:"892";s:1:"N";s:3:"a77";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:3:"-14";i:2;s:3:"858";i:3;s:3:"692";}}i:117;a:4:{s:1:"C";s:3:"117";s:2:"WX";s:3:"788";s:1:"N";s:3:"a78";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:3:"-14";i:2;s:3:"754";i:3;s:3:"705";}}s:3:"a78";a:4:{s:1:"C";s:3:"117";s:2:"WX";s:3:"788";s:1:"N";s:3:"a78";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:3:"-14";i:2;s:3:"754";i:3;s:3:"705";}}i:118;a:4:{s:1:"C";s:3:"118";s:2:"WX";s:3:"784";s:1:"N";s:3:"a79";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:3:"-14";i:2;s:3:"749";i:3;s:3:"705";}}s:3:"a79";a:4:{s:1:"C";s:3:"118";s:2:"WX";s:3:"784";s:1:"N";s:3:"a79";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:3:"-14";i:2;s:3:"749";i:3;s:3:"705";}}i:119;a:4:{s:1:"C";s:3:"119";s:2:"WX";s:3:"438";s:1:"N";s:3:"a81";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:3:"-14";i:2;s:3:"403";i:3;s:3:"705";}}s:3:"a81";a:4:{s:1:"C";s:3:"119";s:2:"WX";s:3:"438";s:1:"N";s:3:"a81";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:3:"-14";i:2;s:3:"403";i:3;s:3:"705";}}i:120;a:4:{s:1:"C";s:3:"120";s:2:"WX";s:3:"138";s:1:"N";s:3:"a82";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:1:"0";i:2;s:3:"104";i:3;s:3:"692";}}s:3:"a82";a:4:{s:1:"C";s:3:"120";s:2:"WX";s:3:"138";s:1:"N";s:3:"a82";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:1:"0";i:2;s:3:"104";i:3;s:3:"692";}}i:121;a:4:{s:1:"C";s:3:"121";s:2:"WX";s:3:"277";s:1:"N";s:3:"a83";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:1:"0";i:2;s:3:"242";i:3;s:3:"692";}}s:3:"a83";a:4:{s:1:"C";s:3:"121";s:2:"WX";s:3:"277";s:1:"N";s:3:"a83";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:1:"0";i:2;s:3:"242";i:3;s:3:"692";}}i:122;a:4:{s:1:"C";s:3:"122";s:2:"WX";s:3:"415";s:1:"N";s:3:"a84";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:1:"0";i:2;s:3:"380";i:3;s:3:"692";}}s:3:"a84";a:4:{s:1:"C";s:3:"122";s:2:"WX";s:3:"415";s:1:"N";s:3:"a84";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:1:"0";i:2;s:3:"380";i:3;s:3:"692";}}i:123;a:4:{s:1:"C";s:3:"123";s:2:"WX";s:3:"392";s:1:"N";s:3:"a97";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:3:"263";i:2;s:3:"357";i:3;s:3:"705";}}s:3:"a97";a:4:{s:1:"C";s:3:"123";s:2:"WX";s:3:"392";s:1:"N";s:3:"a97";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:3:"263";i:2;s:3:"357";i:3;s:3:"705";}}i:124;a:4:{s:1:"C";s:3:"124";s:2:"WX";s:3:"392";s:1:"N";s:3:"a98";s:1:"B";a:4:{i:0;s:2:"34";i:1;s:3:"263";i:2;s:3:"357";i:3;s:3:"705";}}s:3:"a98";a:4:{s:1:"C";s:3:"124";s:2:"WX";s:3:"392";s:1:"N";s:3:"a98";s:1:"B";a:4:{i:0;s:2:"34";i:1;s:3:"263";i:2;s:3:"357";i:3;s:3:"705";}}i:125;a:4:{s:1:"C";s:3:"125";s:2:"WX";s:3:"668";s:1:"N";s:3:"a99";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:3:"263";i:2;s:3:"633";i:3;s:3:"705";}}s:3:"a99";a:4:{s:1:"C";s:3:"125";s:2:"WX";s:3:"668";s:1:"N";s:3:"a99";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:3:"263";i:2;s:3:"633";i:3;s:3:"705";}}i:126;a:4:{s:1:"C";s:3:"126";s:2:"WX";s:3:"668";s:1:"N";s:4:"a100";s:1:"B";a:4:{i:0;s:2:"36";i:1;s:3:"263";i:2;s:3:"634";i:3;s:3:"705";}}s:4:"a100";a:4:{s:1:"C";s:3:"126";s:2:"WX";s:3:"668";s:1:"N";s:4:"a100";s:1:"B";a:4:{i:0;s:2:"36";i:1;s:3:"263";i:2;s:3:"634";i:3;s:3:"705";}}i:128;a:4:{s:1:"C";s:3:"128";s:2:"WX";s:3:"390";s:1:"N";s:3:"a89";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:3:"-14";i:2;s:3:"356";i:3;s:3:"705";}}s:3:"a89";a:4:{s:1:"C";s:3:"128";s:2:"WX";s:3:"390";s:1:"N";s:3:"a89";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:3:"-14";i:2;s:3:"356";i:3;s:3:"705";}}i:129;a:4:{s:1:"C";s:3:"129";s:2:"WX";s:3:"390";s:1:"N";s:3:"a90";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:3:"-14";i:2;s:3:"355";i:3;s:3:"705";}}s:3:"a90";a:4:{s:1:"C";s:3:"129";s:2:"WX";s:3:"390";s:1:"N";s:3:"a90";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:3:"-14";i:2;s:3:"355";i:3;s:3:"705";}}i:130;a:4:{s:1:"C";s:3:"130";s:2:"WX";s:3:"317";s:1:"N";s:3:"a93";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:1:"0";i:2;s:3:"283";i:3;s:3:"692";}}s:3:"a93";a:4:{s:1:"C";s:3:"130";s:2:"WX";s:3:"317";s:1:"N";s:3:"a93";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:1:"0";i:2;s:3:"283";i:3;s:3:"692";}}i:131;a:4:{s:1:"C";s:3:"131";s:2:"WX";s:3:"317";s:1:"N";s:3:"a94";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:1:"0";i:2;s:3:"283";i:3;s:3:"692";}}s:3:"a94";a:4:{s:1:"C";s:3:"131";s:2:"WX";s:3:"317";s:1:"N";s:3:"a94";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:1:"0";i:2;s:3:"283";i:3;s:3:"692";}}i:132;a:4:{s:1:"C";s:3:"132";s:2:"WX";s:3:"276";s:1:"N";s:3:"a91";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:1:"0";i:2;s:3:"242";i:3;s:3:"692";}}s:3:"a91";a:4:{s:1:"C";s:3:"132";s:2:"WX";s:3:"276";s:1:"N";s:3:"a91";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:1:"0";i:2;s:3:"242";i:3;s:3:"692";}}i:133;a:4:{s:1:"C";s:3:"133";s:2:"WX";s:3:"276";s:1:"N";s:3:"a92";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:1:"0";i:2;s:3:"242";i:3;s:3:"692";}}s:3:"a92";a:4:{s:1:"C";s:3:"133";s:2:"WX";s:3:"276";s:1:"N";s:3:"a92";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:1:"0";i:2;s:3:"242";i:3;s:3:"692";}}i:134;a:4:{s:1:"C";s:3:"134";s:2:"WX";s:3:"509";s:1:"N";s:4:"a205";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:1:"0";i:2;s:3:"475";i:3;s:3:"692";}}s:4:"a205";a:4:{s:1:"C";s:3:"134";s:2:"WX";s:3:"509";s:1:"N";s:4:"a205";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:1:"0";i:2;s:3:"475";i:3;s:3:"692";}}i:135;a:4:{s:1:"C";s:3:"135";s:2:"WX";s:3:"509";s:1:"N";s:3:"a85";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:1:"0";i:2;s:3:"475";i:3;s:3:"692";}}s:3:"a85";a:4:{s:1:"C";s:3:"135";s:2:"WX";s:3:"509";s:1:"N";s:3:"a85";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:1:"0";i:2;s:3:"475";i:3;s:3:"692";}}i:136;a:4:{s:1:"C";s:3:"136";s:2:"WX";s:3:"410";s:1:"N";s:4:"a206";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:1:"0";i:2;s:3:"375";i:3;s:3:"692";}}s:4:"a206";a:4:{s:1:"C";s:3:"136";s:2:"WX";s:3:"410";s:1:"N";s:4:"a206";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:1:"0";i:2;s:3:"375";i:3;s:3:"692";}}i:137;a:4:{s:1:"C";s:3:"137";s:2:"WX";s:3:"410";s:1:"N";s:3:"a86";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:1:"0";i:2;s:3:"375";i:3;s:3:"692";}}s:3:"a86";a:4:{s:1:"C";s:3:"137";s:2:"WX";s:3:"410";s:1:"N";s:3:"a86";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:1:"0";i:2;s:3:"375";i:3;s:3:"692";}}i:138;a:4:{s:1:"C";s:3:"138";s:2:"WX";s:3:"234";s:1:"N";s:3:"a87";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:3:"-14";i:2;s:3:"199";i:3;s:3:"705";}}s:3:"a87";a:4:{s:1:"C";s:3:"138";s:2:"WX";s:3:"234";s:1:"N";s:3:"a87";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:3:"-14";i:2;s:3:"199";i:3;s:3:"705";}}i:139;a:4:{s:1:"C";s:3:"139";s:2:"WX";s:3:"234";s:1:"N";s:3:"a88";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:3:"-14";i:2;s:3:"199";i:3;s:3:"705";}}s:3:"a88";a:4:{s:1:"C";s:3:"139";s:2:"WX";s:3:"234";s:1:"N";s:3:"a88";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:3:"-14";i:2;s:3:"199";i:3;s:3:"705";}}i:140;a:4:{s:1:"C";s:3:"140";s:2:"WX";s:3:"334";s:1:"N";s:3:"a95";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:1:"0";i:2;s:3:"299";i:3;s:3:"692";}}s:3:"a95";a:4:{s:1:"C";s:3:"140";s:2:"WX";s:3:"334";s:1:"N";s:3:"a95";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:1:"0";i:2;s:3:"299";i:3;s:3:"692";}}i:141;a:4:{s:1:"C";s:3:"141";s:2:"WX";s:3:"334";s:1:"N";s:3:"a96";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:1:"0";i:2;s:3:"299";i:3;s:3:"692";}}s:3:"a96";a:4:{s:1:"C";s:3:"141";s:2:"WX";s:3:"334";s:1:"N";s:3:"a96";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:1:"0";i:2;s:3:"299";i:3;s:3:"692";}}i:161;a:4:{s:1:"C";s:3:"161";s:2:"WX";s:3:"732";s:1:"N";s:4:"a101";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:4:"-143";i:2;s:3:"697";i:3;s:3:"806";}}s:4:"a101";a:4:{s:1:"C";s:3:"161";s:2:"WX";s:3:"732";s:1:"N";s:4:"a101";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:4:"-143";i:2;s:3:"697";i:3;s:3:"806";}}i:162;a:4:{s:1:"C";s:3:"162";s:2:"WX";s:3:"544";s:1:"N";s:4:"a102";s:1:"B";a:4:{i:0;s:2:"56";i:1;s:3:"-14";i:2;s:3:"488";i:3;s:3:"706";}}s:4:"a102";a:4:{s:1:"C";s:3:"162";s:2:"WX";s:3:"544";s:1:"N";s:4:"a102";s:1:"B";a:4:{i:0;s:2:"56";i:1;s:3:"-14";i:2;s:3:"488";i:3;s:3:"706";}}i:163;a:4:{s:1:"C";s:3:"163";s:2:"WX";s:3:"544";s:1:"N";s:4:"a103";s:1:"B";a:4:{i:0;s:2:"34";i:1;s:3:"-14";i:2;s:3:"508";i:3;s:3:"705";}}s:4:"a103";a:4:{s:1:"C";s:3:"163";s:2:"WX";s:3:"544";s:1:"N";s:4:"a103";s:1:"B";a:4:{i:0;s:2:"34";i:1;s:3:"-14";i:2;s:3:"508";i:3;s:3:"705";}}i:164;a:4:{s:1:"C";s:3:"164";s:2:"WX";s:3:"910";s:1:"N";s:4:"a104";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:2:"40";i:2;s:3:"875";i:3;s:3:"651";}}s:4:"a104";a:4:{s:1:"C";s:3:"164";s:2:"WX";s:3:"910";s:1:"N";s:4:"a104";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:2:"40";i:2;s:3:"875";i:3;s:3:"651";}}i:165;a:4:{s:1:"C";s:3:"165";s:2:"WX";s:3:"667";s:1:"N";s:4:"a106";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:3:"-14";i:2;s:3:"633";i:3;s:3:"705";}}s:4:"a106";a:4:{s:1:"C";s:3:"165";s:2:"WX";s:3:"667";s:1:"N";s:4:"a106";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:3:"-14";i:2;s:3:"633";i:3;s:3:"705";}}i:166;a:4:{s:1:"C";s:3:"166";s:2:"WX";s:3:"760";s:1:"N";s:4:"a107";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:3:"-14";i:2;s:3:"726";i:3;s:3:"705";}}s:4:"a107";a:4:{s:1:"C";s:3:"166";s:2:"WX";s:3:"760";s:1:"N";s:4:"a107";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:3:"-14";i:2;s:3:"726";i:3;s:3:"705";}}i:167;a:4:{s:1:"C";s:3:"167";s:2:"WX";s:3:"760";s:1:"N";s:4:"a108";s:1:"B";a:4:{i:0;s:1:"0";i:1;s:3:"121";i:2;s:3:"758";i:3;s:3:"569";}}s:4:"a108";a:4:{s:1:"C";s:3:"167";s:2:"WX";s:3:"760";s:1:"N";s:4:"a108";s:1:"B";a:4:{i:0;s:1:"0";i:1;s:3:"121";i:2;s:3:"758";i:3;s:3:"569";}}i:168;a:4:{s:1:"C";s:3:"168";s:2:"WX";s:3:"776";s:1:"N";s:4:"a112";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:1:"0";i:2;s:3:"741";i:3;s:3:"705";}}s:4:"a112";a:4:{s:1:"C";s:3:"168";s:2:"WX";s:3:"776";s:1:"N";s:4:"a112";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:1:"0";i:2;s:3:"741";i:3;s:3:"705";}}i:169;a:4:{s:1:"C";s:3:"169";s:2:"WX";s:3:"595";s:1:"N";s:4:"a111";s:1:"B";a:4:{i:0;s:2:"34";i:1;s:3:"-14";i:2;s:3:"560";i:3;s:3:"705";}}s:4:"a111";a:4:{s:1:"C";s:3:"169";s:2:"WX";s:3:"595";s:1:"N";s:4:"a111";s:1:"B";a:4:{i:0;s:2:"34";i:1;s:3:"-14";i:2;s:3:"560";i:3;s:3:"705";}}i:170;a:4:{s:1:"C";s:3:"170";s:2:"WX";s:3:"694";s:1:"N";s:4:"a110";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:3:"-14";i:2;s:3:"659";i:3;s:3:"705";}}s:4:"a110";a:4:{s:1:"C";s:3:"170";s:2:"WX";s:3:"694";s:1:"N";s:4:"a110";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:3:"-14";i:2;s:3:"659";i:3;s:3:"705";}}i:171;a:4:{s:1:"C";s:3:"171";s:2:"WX";s:3:"626";s:1:"N";s:4:"a109";s:1:"B";a:4:{i:0;s:2:"34";i:1;s:1:"0";i:2;s:3:"591";i:3;s:3:"705";}}s:4:"a109";a:4:{s:1:"C";s:3:"171";s:2:"WX";s:3:"626";s:1:"N";s:4:"a109";s:1:"B";a:4:{i:0;s:2:"34";i:1;s:1:"0";i:2;s:3:"591";i:3;s:3:"705";}}i:172;a:4:{s:1:"C";s:3:"172";s:2:"WX";s:3:"788";s:1:"N";s:4:"a120";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:3:"-14";i:2;s:3:"754";i:3;s:3:"705";}}s:4:"a120";a:4:{s:1:"C";s:3:"172";s:2:"WX";s:3:"788";s:1:"N";s:4:"a120";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:3:"-14";i:2;s:3:"754";i:3;s:3:"705";}}i:173;a:4:{s:1:"C";s:3:"173";s:2:"WX";s:3:"788";s:1:"N";s:4:"a121";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:3:"-14";i:2;s:3:"754";i:3;s:3:"705";}}s:4:"a121";a:4:{s:1:"C";s:3:"173";s:2:"WX";s:3:"788";s:1:"N";s:4:"a121";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:3:"-14";i:2;s:3:"754";i:3;s:3:"705";}}i:174;a:4:{s:1:"C";s:3:"174";s:2:"WX";s:3:"788";s:1:"N";s:4:"a122";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:3:"-14";i:2;s:3:"754";i:3;s:3:"705";}}s:4:"a122";a:4:{s:1:"C";s:3:"174";s:2:"WX";s:3:"788";s:1:"N";s:4:"a122";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:3:"-14";i:2;s:3:"754";i:3;s:3:"705";}}i:175;a:4:{s:1:"C";s:3:"175";s:2:"WX";s:3:"788";s:1:"N";s:4:"a123";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:3:"-14";i:2;s:3:"754";i:3;s:3:"705";}}s:4:"a123";a:4:{s:1:"C";s:3:"175";s:2:"WX";s:3:"788";s:1:"N";s:4:"a123";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:3:"-14";i:2;s:3:"754";i:3;s:3:"705";}}i:176;a:4:{s:1:"C";s:3:"176";s:2:"WX";s:3:"788";s:1:"N";s:4:"a124";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:3:"-14";i:2;s:3:"754";i:3;s:3:"705";}}s:4:"a124";a:4:{s:1:"C";s:3:"176";s:2:"WX";s:3:"788";s:1:"N";s:4:"a124";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:3:"-14";i:2;s:3:"754";i:3;s:3:"705";}}i:177;a:4:{s:1:"C";s:3:"177";s:2:"WX";s:3:"788";s:1:"N";s:4:"a125";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:3:"-14";i:2;s:3:"754";i:3;s:3:"705";}}s:4:"a125";a:4:{s:1:"C";s:3:"177";s:2:"WX";s:3:"788";s:1:"N";s:4:"a125";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:3:"-14";i:2;s:3:"754";i:3;s:3:"705";}}i:178;a:4:{s:1:"C";s:3:"178";s:2:"WX";s:3:"788";s:1:"N";s:4:"a126";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:3:"-14";i:2;s:3:"754";i:3;s:3:"705";}}s:4:"a126";a:4:{s:1:"C";s:3:"178";s:2:"WX";s:3:"788";s:1:"N";s:4:"a126";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:3:"-14";i:2;s:3:"754";i:3;s:3:"705";}}i:179;a:4:{s:1:"C";s:3:"179";s:2:"WX";s:3:"788";s:1:"N";s:4:"a127";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:3:"-14";i:2;s:3:"754";i:3;s:3:"705";}}s:4:"a127";a:4:{s:1:"C";s:3:"179";s:2:"WX";s:3:"788";s:1:"N";s:4:"a127";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:3:"-14";i:2;s:3:"754";i:3;s:3:"705";}}i:180;a:4:{s:1:"C";s:3:"180";s:2:"WX";s:3:"788";s:1:"N";s:4:"a128";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:3:"-14";i:2;s:3:"754";i:3;s:3:"705";}}s:4:"a128";a:4:{s:1:"C";s:3:"180";s:2:"WX";s:3:"788";s:1:"N";s:4:"a128";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:3:"-14";i:2;s:3:"754";i:3;s:3:"705";}}i:181;a:4:{s:1:"C";s:3:"181";s:2:"WX";s:3:"788";s:1:"N";s:4:"a129";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:3:"-14";i:2;s:3:"754";i:3;s:3:"705";}}s:4:"a129";a:4:{s:1:"C";s:3:"181";s:2:"WX";s:3:"788";s:1:"N";s:4:"a129";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:3:"-14";i:2;s:3:"754";i:3;s:3:"705";}}i:182;a:4:{s:1:"C";s:3:"182";s:2:"WX";s:3:"788";s:1:"N";s:4:"a130";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:3:"-14";i:2;s:3:"754";i:3;s:3:"705";}}s:4:"a130";a:4:{s:1:"C";s:3:"182";s:2:"WX";s:3:"788";s:1:"N";s:4:"a130";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:3:"-14";i:2;s:3:"754";i:3;s:3:"705";}}i:183;a:4:{s:1:"C";s:3:"183";s:2:"WX";s:3:"788";s:1:"N";s:4:"a131";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:3:"-14";i:2;s:3:"754";i:3;s:3:"705";}}s:4:"a131";a:4:{s:1:"C";s:3:"183";s:2:"WX";s:3:"788";s:1:"N";s:4:"a131";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:3:"-14";i:2;s:3:"754";i:3;s:3:"705";}}i:184;a:4:{s:1:"C";s:3:"184";s:2:"WX";s:3:"788";s:1:"N";s:4:"a132";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:3:"-14";i:2;s:3:"754";i:3;s:3:"705";}}s:4:"a132";a:4:{s:1:"C";s:3:"184";s:2:"WX";s:3:"788";s:1:"N";s:4:"a132";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:3:"-14";i:2;s:3:"754";i:3;s:3:"705";}}i:185;a:4:{s:1:"C";s:3:"185";s:2:"WX";s:3:"788";s:1:"N";s:4:"a133";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:3:"-14";i:2;s:3:"754";i:3;s:3:"705";}}s:4:"a133";a:4:{s:1:"C";s:3:"185";s:2:"WX";s:3:"788";s:1:"N";s:4:"a133";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:3:"-14";i:2;s:3:"754";i:3;s:3:"705";}}i:186;a:4:{s:1:"C";s:3:"186";s:2:"WX";s:3:"788";s:1:"N";s:4:"a134";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:3:"-14";i:2;s:3:"754";i:3;s:3:"705";}}s:4:"a134";a:4:{s:1:"C";s:3:"186";s:2:"WX";s:3:"788";s:1:"N";s:4:"a134";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:3:"-14";i:2;s:3:"754";i:3;s:3:"705";}}i:187;a:4:{s:1:"C";s:3:"187";s:2:"WX";s:3:"788";s:1:"N";s:4:"a135";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:3:"-14";i:2;s:3:"754";i:3;s:3:"705";}}s:4:"a135";a:4:{s:1:"C";s:3:"187";s:2:"WX";s:3:"788";s:1:"N";s:4:"a135";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:3:"-14";i:2;s:3:"754";i:3;s:3:"705";}}i:188;a:4:{s:1:"C";s:3:"188";s:2:"WX";s:3:"788";s:1:"N";s:4:"a136";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:3:"-14";i:2;s:3:"754";i:3;s:3:"705";}}s:4:"a136";a:4:{s:1:"C";s:3:"188";s:2:"WX";s:3:"788";s:1:"N";s:4:"a136";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:3:"-14";i:2;s:3:"754";i:3;s:3:"705";}}i:189;a:4:{s:1:"C";s:3:"189";s:2:"WX";s:3:"788";s:1:"N";s:4:"a137";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:3:"-14";i:2;s:3:"754";i:3;s:3:"705";}}s:4:"a137";a:4:{s:1:"C";s:3:"189";s:2:"WX";s:3:"788";s:1:"N";s:4:"a137";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:3:"-14";i:2;s:3:"754";i:3;s:3:"705";}}i:190;a:4:{s:1:"C";s:3:"190";s:2:"WX";s:3:"788";s:1:"N";s:4:"a138";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:3:"-14";i:2;s:3:"754";i:3;s:3:"705";}}s:4:"a138";a:4:{s:1:"C";s:3:"190";s:2:"WX";s:3:"788";s:1:"N";s:4:"a138";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:3:"-14";i:2;s:3:"754";i:3;s:3:"705";}}i:191;a:4:{s:1:"C";s:3:"191";s:2:"WX";s:3:"788";s:1:"N";s:4:"a139";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:3:"-14";i:2;s:3:"754";i:3;s:3:"705";}}s:4:"a139";a:4:{s:1:"C";s:3:"191";s:2:"WX";s:3:"788";s:1:"N";s:4:"a139";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:3:"-14";i:2;s:3:"754";i:3;s:3:"705";}}i:192;a:4:{s:1:"C";s:3:"192";s:2:"WX";s:3:"788";s:1:"N";s:4:"a140";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:3:"-14";i:2;s:3:"754";i:3;s:3:"705";}}s:4:"a140";a:4:{s:1:"C";s:3:"192";s:2:"WX";s:3:"788";s:1:"N";s:4:"a140";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:3:"-14";i:2;s:3:"754";i:3;s:3:"705";}}i:193;a:4:{s:1:"C";s:3:"193";s:2:"WX";s:3:"788";s:1:"N";s:4:"a141";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:3:"-14";i:2;s:3:"754";i:3;s:3:"705";}}s:4:"a141";a:4:{s:1:"C";s:3:"193";s:2:"WX";s:3:"788";s:1:"N";s:4:"a141";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:3:"-14";i:2;s:3:"754";i:3;s:3:"705";}}i:194;a:4:{s:1:"C";s:3:"194";s:2:"WX";s:3:"788";s:1:"N";s:4:"a142";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:3:"-14";i:2;s:3:"754";i:3;s:3:"705";}}s:4:"a142";a:4:{s:1:"C";s:3:"194";s:2:"WX";s:3:"788";s:1:"N";s:4:"a142";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:3:"-14";i:2;s:3:"754";i:3;s:3:"705";}}i:195;a:4:{s:1:"C";s:3:"195";s:2:"WX";s:3:"788";s:1:"N";s:4:"a143";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:3:"-14";i:2;s:3:"754";i:3;s:3:"705";}}s:4:"a143";a:4:{s:1:"C";s:3:"195";s:2:"WX";s:3:"788";s:1:"N";s:4:"a143";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:3:"-14";i:2;s:3:"754";i:3;s:3:"705";}}i:196;a:4:{s:1:"C";s:3:"196";s:2:"WX";s:3:"788";s:1:"N";s:4:"a144";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:3:"-14";i:2;s:3:"754";i:3;s:3:"705";}}s:4:"a144";a:4:{s:1:"C";s:3:"196";s:2:"WX";s:3:"788";s:1:"N";s:4:"a144";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:3:"-14";i:2;s:3:"754";i:3;s:3:"705";}}i:197;a:4:{s:1:"C";s:3:"197";s:2:"WX";s:3:"788";s:1:"N";s:4:"a145";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:3:"-14";i:2;s:3:"754";i:3;s:3:"705";}}s:4:"a145";a:4:{s:1:"C";s:3:"197";s:2:"WX";s:3:"788";s:1:"N";s:4:"a145";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:3:"-14";i:2;s:3:"754";i:3;s:3:"705";}}i:198;a:4:{s:1:"C";s:3:"198";s:2:"WX";s:3:"788";s:1:"N";s:4:"a146";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:3:"-14";i:2;s:3:"754";i:3;s:3:"705";}}s:4:"a146";a:4:{s:1:"C";s:3:"198";s:2:"WX";s:3:"788";s:1:"N";s:4:"a146";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:3:"-14";i:2;s:3:"754";i:3;s:3:"705";}}i:199;a:4:{s:1:"C";s:3:"199";s:2:"WX";s:3:"788";s:1:"N";s:4:"a147";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:3:"-14";i:2;s:3:"754";i:3;s:3:"705";}}s:4:"a147";a:4:{s:1:"C";s:3:"199";s:2:"WX";s:3:"788";s:1:"N";s:4:"a147";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:3:"-14";i:2;s:3:"754";i:3;s:3:"705";}}i:200;a:4:{s:1:"C";s:3:"200";s:2:"WX";s:3:"788";s:1:"N";s:4:"a148";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:3:"-14";i:2;s:3:"754";i:3;s:3:"705";}}s:4:"a148";a:4:{s:1:"C";s:3:"200";s:2:"WX";s:3:"788";s:1:"N";s:4:"a148";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:3:"-14";i:2;s:3:"754";i:3;s:3:"705";}}i:201;a:4:{s:1:"C";s:3:"201";s:2:"WX";s:3:"788";s:1:"N";s:4:"a149";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:3:"-14";i:2;s:3:"754";i:3;s:3:"705";}}s:4:"a149";a:4:{s:1:"C";s:3:"201";s:2:"WX";s:3:"788";s:1:"N";s:4:"a149";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:3:"-14";i:2;s:3:"754";i:3;s:3:"705";}}i:202;a:4:{s:1:"C";s:3:"202";s:2:"WX";s:3:"788";s:1:"N";s:4:"a150";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:3:"-14";i:2;s:3:"754";i:3;s:3:"705";}}s:4:"a150";a:4:{s:1:"C";s:3:"202";s:2:"WX";s:3:"788";s:1:"N";s:4:"a150";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:3:"-14";i:2;s:3:"754";i:3;s:3:"705";}}i:203;a:4:{s:1:"C";s:3:"203";s:2:"WX";s:3:"788";s:1:"N";s:4:"a151";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:3:"-14";i:2;s:3:"754";i:3;s:3:"705";}}s:4:"a151";a:4:{s:1:"C";s:3:"203";s:2:"WX";s:3:"788";s:1:"N";s:4:"a151";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:3:"-14";i:2;s:3:"754";i:3;s:3:"705";}}i:204;a:4:{s:1:"C";s:3:"204";s:2:"WX";s:3:"788";s:1:"N";s:4:"a152";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:3:"-14";i:2;s:3:"754";i:3;s:3:"705";}}s:4:"a152";a:4:{s:1:"C";s:3:"204";s:2:"WX";s:3:"788";s:1:"N";s:4:"a152";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:3:"-14";i:2;s:3:"754";i:3;s:3:"705";}}i:205;a:4:{s:1:"C";s:3:"205";s:2:"WX";s:3:"788";s:1:"N";s:4:"a153";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:3:"-14";i:2;s:3:"754";i:3;s:3:"705";}}s:4:"a153";a:4:{s:1:"C";s:3:"205";s:2:"WX";s:3:"788";s:1:"N";s:4:"a153";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:3:"-14";i:2;s:3:"754";i:3;s:3:"705";}}i:206;a:4:{s:1:"C";s:3:"206";s:2:"WX";s:3:"788";s:1:"N";s:4:"a154";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:3:"-14";i:2;s:3:"754";i:3;s:3:"705";}}s:4:"a154";a:4:{s:1:"C";s:3:"206";s:2:"WX";s:3:"788";s:1:"N";s:4:"a154";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:3:"-14";i:2;s:3:"754";i:3;s:3:"705";}}i:207;a:4:{s:1:"C";s:3:"207";s:2:"WX";s:3:"788";s:1:"N";s:4:"a155";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:3:"-14";i:2;s:3:"754";i:3;s:3:"705";}}s:4:"a155";a:4:{s:1:"C";s:3:"207";s:2:"WX";s:3:"788";s:1:"N";s:4:"a155";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:3:"-14";i:2;s:3:"754";i:3;s:3:"705";}}i:208;a:4:{s:1:"C";s:3:"208";s:2:"WX";s:3:"788";s:1:"N";s:4:"a156";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:3:"-14";i:2;s:3:"754";i:3;s:3:"705";}}s:4:"a156";a:4:{s:1:"C";s:3:"208";s:2:"WX";s:3:"788";s:1:"N";s:4:"a156";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:3:"-14";i:2;s:3:"754";i:3;s:3:"705";}}i:209;a:4:{s:1:"C";s:3:"209";s:2:"WX";s:3:"788";s:1:"N";s:4:"a157";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:3:"-14";i:2;s:3:"754";i:3;s:3:"705";}}s:4:"a157";a:4:{s:1:"C";s:3:"209";s:2:"WX";s:3:"788";s:1:"N";s:4:"a157";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:3:"-14";i:2;s:3:"754";i:3;s:3:"705";}}i:210;a:4:{s:1:"C";s:3:"210";s:2:"WX";s:3:"788";s:1:"N";s:4:"a158";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:3:"-14";i:2;s:3:"754";i:3;s:3:"705";}}s:4:"a158";a:4:{s:1:"C";s:3:"210";s:2:"WX";s:3:"788";s:1:"N";s:4:"a158";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:3:"-14";i:2;s:3:"754";i:3;s:3:"705";}}i:211;a:4:{s:1:"C";s:3:"211";s:2:"WX";s:3:"788";s:1:"N";s:4:"a159";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:3:"-14";i:2;s:3:"754";i:3;s:3:"705";}}s:4:"a159";a:4:{s:1:"C";s:3:"211";s:2:"WX";s:3:"788";s:1:"N";s:4:"a159";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:3:"-14";i:2;s:3:"754";i:3;s:3:"705";}}i:212;a:4:{s:1:"C";s:3:"212";s:2:"WX";s:3:"894";s:1:"N";s:4:"a160";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:2:"58";i:2;s:3:"860";i:3;s:3:"634";}}s:4:"a160";a:4:{s:1:"C";s:3:"212";s:2:"WX";s:3:"894";s:1:"N";s:4:"a160";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:2:"58";i:2;s:3:"860";i:3;s:3:"634";}}i:213;a:4:{s:1:"C";s:3:"213";s:2:"WX";s:3:"838";s:1:"N";s:4:"a161";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:3:"152";i:2;s:3:"803";i:3;s:3:"540";}}s:4:"a161";a:4:{s:1:"C";s:3:"213";s:2:"WX";s:3:"838";s:1:"N";s:4:"a161";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:3:"152";i:2;s:3:"803";i:3;s:3:"540";}}i:214;a:4:{s:1:"C";s:3:"214";s:2:"WX";s:4:"1016";s:1:"N";s:4:"a163";s:1:"B";a:4:{i:0;s:2:"34";i:1;s:3:"152";i:2;s:3:"981";i:3;s:3:"540";}}s:4:"a163";a:4:{s:1:"C";s:3:"214";s:2:"WX";s:4:"1016";s:1:"N";s:4:"a163";s:1:"B";a:4:{i:0;s:2:"34";i:1;s:3:"152";i:2;s:3:"981";i:3;s:3:"540";}}i:215;a:4:{s:1:"C";s:3:"215";s:2:"WX";s:3:"458";s:1:"N";s:4:"a164";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:4:"-127";i:2;s:3:"422";i:3;s:3:"820";}}s:4:"a164";a:4:{s:1:"C";s:3:"215";s:2:"WX";s:3:"458";s:1:"N";s:4:"a164";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:4:"-127";i:2;s:3:"422";i:3;s:3:"820";}}i:216;a:4:{s:1:"C";s:3:"216";s:2:"WX";s:3:"748";s:1:"N";s:4:"a196";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:2:"94";i:2;s:3:"698";i:3;s:3:"597";}}s:4:"a196";a:4:{s:1:"C";s:3:"216";s:2:"WX";s:3:"748";s:1:"N";s:4:"a196";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:2:"94";i:2;s:3:"698";i:3;s:3:"597";}}i:217;a:4:{s:1:"C";s:3:"217";s:2:"WX";s:3:"924";s:1:"N";s:4:"a165";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:3:"140";i:2;s:3:"890";i:3;s:3:"552";}}s:4:"a165";a:4:{s:1:"C";s:3:"217";s:2:"WX";s:3:"924";s:1:"N";s:4:"a165";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:3:"140";i:2;s:3:"890";i:3;s:3:"552";}}i:218;a:4:{s:1:"C";s:3:"218";s:2:"WX";s:3:"748";s:1:"N";s:4:"a192";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:2:"94";i:2;s:3:"698";i:3;s:3:"597";}}s:4:"a192";a:4:{s:1:"C";s:3:"218";s:2:"WX";s:3:"748";s:1:"N";s:4:"a192";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:2:"94";i:2;s:3:"698";i:3;s:3:"597";}}i:219;a:4:{s:1:"C";s:3:"219";s:2:"WX";s:3:"918";s:1:"N";s:4:"a166";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:3:"166";i:2;s:3:"884";i:3;s:3:"526";}}s:4:"a166";a:4:{s:1:"C";s:3:"219";s:2:"WX";s:3:"918";s:1:"N";s:4:"a166";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:3:"166";i:2;s:3:"884";i:3;s:3:"526";}}i:220;a:4:{s:1:"C";s:3:"220";s:2:"WX";s:3:"927";s:1:"N";s:4:"a167";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:2:"32";i:2;s:3:"892";i:3;s:3:"660";}}s:4:"a167";a:4:{s:1:"C";s:3:"220";s:2:"WX";s:3:"927";s:1:"N";s:4:"a167";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:2:"32";i:2;s:3:"892";i:3;s:3:"660";}}i:221;a:4:{s:1:"C";s:3:"221";s:2:"WX";s:3:"928";s:1:"N";s:4:"a168";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:3:"129";i:2;s:3:"891";i:3;s:3:"562";}}s:4:"a168";a:4:{s:1:"C";s:3:"221";s:2:"WX";s:3:"928";s:1:"N";s:4:"a168";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:3:"129";i:2;s:3:"891";i:3;s:3:"562";}}i:222;a:4:{s:1:"C";s:3:"222";s:2:"WX";s:3:"928";s:1:"N";s:4:"a169";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:3:"128";i:2;s:3:"893";i:3;s:3:"563";}}s:4:"a169";a:4:{s:1:"C";s:3:"222";s:2:"WX";s:3:"928";s:1:"N";s:4:"a169";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:3:"128";i:2;s:3:"893";i:3;s:3:"563";}}i:223;a:4:{s:1:"C";s:3:"223";s:2:"WX";s:3:"834";s:1:"N";s:4:"a170";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:3:"155";i:2;s:3:"799";i:3;s:3:"537";}}s:4:"a170";a:4:{s:1:"C";s:3:"223";s:2:"WX";s:3:"834";s:1:"N";s:4:"a170";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:3:"155";i:2;s:3:"799";i:3;s:3:"537";}}i:224;a:4:{s:1:"C";s:3:"224";s:2:"WX";s:3:"873";s:1:"N";s:4:"a171";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:2:"93";i:2;s:3:"838";i:3;s:3:"599";}}s:4:"a171";a:4:{s:1:"C";s:3:"224";s:2:"WX";s:3:"873";s:1:"N";s:4:"a171";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:2:"93";i:2;s:3:"838";i:3;s:3:"599";}}i:225;a:4:{s:1:"C";s:3:"225";s:2:"WX";s:3:"828";s:1:"N";s:4:"a172";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:3:"104";i:2;s:3:"791";i:3;s:3:"588";}}s:4:"a172";a:4:{s:1:"C";s:3:"225";s:2:"WX";s:3:"828";s:1:"N";s:4:"a172";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:3:"104";i:2;s:3:"791";i:3;s:3:"588";}}i:226;a:4:{s:1:"C";s:3:"226";s:2:"WX";s:3:"924";s:1:"N";s:4:"a173";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:2:"98";i:2;s:3:"889";i:3;s:3:"594";}}s:4:"a173";a:4:{s:1:"C";s:3:"226";s:2:"WX";s:3:"924";s:1:"N";s:4:"a173";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:2:"98";i:2;s:3:"889";i:3;s:3:"594";}}i:227;a:4:{s:1:"C";s:3:"227";s:2:"WX";s:3:"924";s:1:"N";s:4:"a162";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:2:"98";i:2;s:3:"889";i:3;s:3:"594";}}s:4:"a162";a:4:{s:1:"C";s:3:"227";s:2:"WX";s:3:"924";s:1:"N";s:4:"a162";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:2:"98";i:2;s:3:"889";i:3;s:3:"594";}}i:228;a:4:{s:1:"C";s:3:"228";s:2:"WX";s:3:"917";s:1:"N";s:4:"a174";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:1:"0";i:2;s:3:"882";i:3;s:3:"692";}}s:4:"a174";a:4:{s:1:"C";s:3:"228";s:2:"WX";s:3:"917";s:1:"N";s:4:"a174";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:1:"0";i:2;s:3:"882";i:3;s:3:"692";}}i:229;a:4:{s:1:"C";s:3:"229";s:2:"WX";s:3:"930";s:1:"N";s:4:"a175";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:2:"84";i:2;s:3:"896";i:3;s:3:"608";}}s:4:"a175";a:4:{s:1:"C";s:3:"229";s:2:"WX";s:3:"930";s:1:"N";s:4:"a175";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:2:"84";i:2;s:3:"896";i:3;s:3:"608";}}i:230;a:4:{s:1:"C";s:3:"230";s:2:"WX";s:3:"931";s:1:"N";s:4:"a176";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:2:"84";i:2;s:3:"896";i:3;s:3:"608";}}s:4:"a176";a:4:{s:1:"C";s:3:"230";s:2:"WX";s:3:"931";s:1:"N";s:4:"a176";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:2:"84";i:2;s:3:"896";i:3;s:3:"608";}}i:231;a:4:{s:1:"C";s:3:"231";s:2:"WX";s:3:"463";s:1:"N";s:4:"a177";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:3:"-99";i:2;s:3:"429";i:3;s:3:"791";}}s:4:"a177";a:4:{s:1:"C";s:3:"231";s:2:"WX";s:3:"463";s:1:"N";s:4:"a177";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:3:"-99";i:2;s:3:"429";i:3;s:3:"791";}}i:232;a:4:{s:1:"C";s:3:"232";s:2:"WX";s:3:"883";s:1:"N";s:4:"a178";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:2:"71";i:2;s:3:"848";i:3;s:3:"623";}}s:4:"a178";a:4:{s:1:"C";s:3:"232";s:2:"WX";s:3:"883";s:1:"N";s:4:"a178";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:2:"71";i:2;s:3:"848";i:3;s:3:"623";}}i:233;a:4:{s:1:"C";s:3:"233";s:2:"WX";s:3:"836";s:1:"N";s:4:"a179";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:2:"44";i:2;s:3:"802";i:3;s:3:"648";}}s:4:"a179";a:4:{s:1:"C";s:3:"233";s:2:"WX";s:3:"836";s:1:"N";s:4:"a179";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:2:"44";i:2;s:3:"802";i:3;s:3:"648";}}i:234;a:4:{s:1:"C";s:3:"234";s:2:"WX";s:3:"836";s:1:"N";s:4:"a193";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:2:"44";i:2;s:3:"802";i:3;s:3:"648";}}s:4:"a193";a:4:{s:1:"C";s:3:"234";s:2:"WX";s:3:"836";s:1:"N";s:4:"a193";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:2:"44";i:2;s:3:"802";i:3;s:3:"648";}}i:235;a:4:{s:1:"C";s:3:"235";s:2:"WX";s:3:"867";s:1:"N";s:4:"a180";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:3:"101";i:2;s:3:"832";i:3;s:3:"591";}}s:4:"a180";a:4:{s:1:"C";s:3:"235";s:2:"WX";s:3:"867";s:1:"N";s:4:"a180";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:3:"101";i:2;s:3:"832";i:3;s:3:"591";}}i:236;a:4:{s:1:"C";s:3:"236";s:2:"WX";s:3:"867";s:1:"N";s:4:"a199";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:3:"101";i:2;s:3:"832";i:3;s:3:"591";}}s:4:"a199";a:4:{s:1:"C";s:3:"236";s:2:"WX";s:3:"867";s:1:"N";s:4:"a199";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:3:"101";i:2;s:3:"832";i:3;s:3:"591";}}i:237;a:4:{s:1:"C";s:3:"237";s:2:"WX";s:3:"696";s:1:"N";s:4:"a181";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:2:"44";i:2;s:3:"661";i:3;s:3:"648";}}s:4:"a181";a:4:{s:1:"C";s:3:"237";s:2:"WX";s:3:"696";s:1:"N";s:4:"a181";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:2:"44";i:2;s:3:"661";i:3;s:3:"648";}}i:238;a:4:{s:1:"C";s:3:"238";s:2:"WX";s:3:"696";s:1:"N";s:4:"a200";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:2:"44";i:2;s:3:"661";i:3;s:3:"648";}}s:4:"a200";a:4:{s:1:"C";s:3:"238";s:2:"WX";s:3:"696";s:1:"N";s:4:"a200";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:2:"44";i:2;s:3:"661";i:3;s:3:"648";}}i:239;a:4:{s:1:"C";s:3:"239";s:2:"WX";s:3:"874";s:1:"N";s:4:"a182";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:2:"77";i:2;s:3:"840";i:3;s:3:"619";}}s:4:"a182";a:4:{s:1:"C";s:3:"239";s:2:"WX";s:3:"874";s:1:"N";s:4:"a182";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:2:"77";i:2;s:3:"840";i:3;s:3:"619";}}i:241;a:4:{s:1:"C";s:3:"241";s:2:"WX";s:3:"874";s:1:"N";s:4:"a201";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:2:"73";i:2;s:3:"840";i:3;s:3:"615";}}s:4:"a201";a:4:{s:1:"C";s:3:"241";s:2:"WX";s:3:"874";s:1:"N";s:4:"a201";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:2:"73";i:2;s:3:"840";i:3;s:3:"615";}}i:242;a:4:{s:1:"C";s:3:"242";s:2:"WX";s:3:"760";s:1:"N";s:4:"a183";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:1:"0";i:2;s:3:"725";i:3;s:3:"692";}}s:4:"a183";a:4:{s:1:"C";s:3:"242";s:2:"WX";s:3:"760";s:1:"N";s:4:"a183";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:1:"0";i:2;s:3:"725";i:3;s:3:"692";}}i:243;a:4:{s:1:"C";s:3:"243";s:2:"WX";s:3:"946";s:1:"N";s:4:"a184";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:3:"160";i:2;s:3:"911";i:3;s:3:"533";}}s:4:"a184";a:4:{s:1:"C";s:3:"243";s:2:"WX";s:3:"946";s:1:"N";s:4:"a184";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:3:"160";i:2;s:3:"911";i:3;s:3:"533";}}i:244;a:4:{s:1:"C";s:3:"244";s:2:"WX";s:3:"771";s:1:"N";s:4:"a197";s:1:"B";a:4:{i:0;s:2:"34";i:1;s:2:"37";i:2;s:3:"736";i:3;s:3:"655";}}s:4:"a197";a:4:{s:1:"C";s:3:"244";s:2:"WX";s:3:"771";s:1:"N";s:4:"a197";s:1:"B";a:4:{i:0;s:2:"34";i:1;s:2:"37";i:2;s:3:"736";i:3;s:3:"655";}}i:245;a:4:{s:1:"C";s:3:"245";s:2:"WX";s:3:"865";s:1:"N";s:4:"a185";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:3:"207";i:2;s:3:"830";i:3;s:3:"481";}}s:4:"a185";a:4:{s:1:"C";s:3:"245";s:2:"WX";s:3:"865";s:1:"N";s:4:"a185";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:3:"207";i:2;s:3:"830";i:3;s:3:"481";}}i:246;a:4:{s:1:"C";s:3:"246";s:2:"WX";s:3:"771";s:1:"N";s:4:"a194";s:1:"B";a:4:{i:0;s:2:"34";i:1;s:2:"37";i:2;s:3:"736";i:3;s:3:"655";}}s:4:"a194";a:4:{s:1:"C";s:3:"246";s:2:"WX";s:3:"771";s:1:"N";s:4:"a194";s:1:"B";a:4:{i:0;s:2:"34";i:1;s:2:"37";i:2;s:3:"736";i:3;s:3:"655";}}i:247;a:4:{s:1:"C";s:3:"247";s:2:"WX";s:3:"888";s:1:"N";s:4:"a198";s:1:"B";a:4:{i:0;s:2:"34";i:1;s:3:"-19";i:2;s:3:"853";i:3;s:3:"712";}}s:4:"a198";a:4:{s:1:"C";s:3:"247";s:2:"WX";s:3:"888";s:1:"N";s:4:"a198";s:1:"B";a:4:{i:0;s:2:"34";i:1;s:3:"-19";i:2;s:3:"853";i:3;s:3:"712";}}i:248;a:4:{s:1:"C";s:3:"248";s:2:"WX";s:3:"967";s:1:"N";s:4:"a186";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:3:"124";i:2;s:3:"932";i:3;s:3:"568";}}s:4:"a186";a:4:{s:1:"C";s:3:"248";s:2:"WX";s:3:"967";s:1:"N";s:4:"a186";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:3:"124";i:2;s:3:"932";i:3;s:3:"568";}}i:249;a:4:{s:1:"C";s:3:"249";s:2:"WX";s:3:"888";s:1:"N";s:4:"a195";s:1:"B";a:4:{i:0;s:2:"34";i:1;s:3:"-19";i:2;s:3:"853";i:3;s:3:"712";}}s:4:"a195";a:4:{s:1:"C";s:3:"249";s:2:"WX";s:3:"888";s:1:"N";s:4:"a195";s:1:"B";a:4:{i:0;s:2:"34";i:1;s:3:"-19";i:2;s:3:"853";i:3;s:3:"712";}}i:250;a:4:{s:1:"C";s:3:"250";s:2:"WX";s:3:"831";s:1:"N";s:4:"a187";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:3:"113";i:2;s:3:"796";i:3;s:3:"579";}}s:4:"a187";a:4:{s:1:"C";s:3:"250";s:2:"WX";s:3:"831";s:1:"N";s:4:"a187";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:3:"113";i:2;s:3:"796";i:3;s:3:"579";}}i:251;a:4:{s:1:"C";s:3:"251";s:2:"WX";s:3:"873";s:1:"N";s:4:"a188";s:1:"B";a:4:{i:0;s:2:"36";i:1;s:3:"118";i:2;s:3:"838";i:3;s:3:"578";}}s:4:"a188";a:4:{s:1:"C";s:3:"251";s:2:"WX";s:3:"873";s:1:"N";s:4:"a188";s:1:"B";a:4:{i:0;s:2:"36";i:1;s:3:"118";i:2;s:3:"838";i:3;s:3:"578";}}i:252;a:4:{s:1:"C";s:3:"252";s:2:"WX";s:3:"927";s:1:"N";s:4:"a189";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:3:"150";i:2;s:3:"891";i:3;s:3:"542";}}s:4:"a189";a:4:{s:1:"C";s:3:"252";s:2:"WX";s:3:"927";s:1:"N";s:4:"a189";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:3:"150";i:2;s:3:"891";i:3;s:3:"542";}}i:253;a:4:{s:1:"C";s:3:"253";s:2:"WX";s:3:"970";s:1:"N";s:4:"a190";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:2:"76";i:2;s:3:"931";i:3;s:3:"616";}}s:4:"a190";a:4:{s:1:"C";s:3:"253";s:2:"WX";s:3:"970";s:1:"N";s:4:"a190";s:1:"B";a:4:{i:0;s:2:"35";i:1;s:2:"76";i:2;s:3:"931";i:3;s:3:"616";}}i:254;a:4:{s:1:"C";s:3:"254";s:2:"WX";s:3:"918";s:1:"N";s:4:"a191";s:1:"B";a:4:{i:0;s:2:"34";i:1;s:2:"99";i:2;s:3:"884";i:3;s:3:"593";}}s:4:"a191";a:4:{s:1:"C";s:3:"254";s:2:"WX";s:3:"918";s:1:"N";s:4:"a191";s:1:"B";a:4:{i:0;s:2:"34";i:1;s:2:"99";i:2;s:3:"884";i:3;s:3:"593";}}}s:9:"_version_";i:1;}
\ No newline at end of file diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/XML/DocBook/XMLDocBookConverter.inc b/buildscripts/PhpDocumentor/phpDocumentor/Converters/XML/DocBook/XMLDocBookConverter.inc new file mode 100755 index 00000000..c0d648d2 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/XML/DocBook/XMLDocBookConverter.inc @@ -0,0 +1,1792 @@ +<?php +// +// +------------------------------------------------------------------------+ +// | phpDocumentor | +// +------------------------------------------------------------------------+ +// | Copyright (c) 2000-2003 Joshua Eichorn, Gregory Beaver | +// | Email jeichorn@phpdoc.org, cellog@phpdoc.org | +// | Web http://www.phpdoc.org | +// | Mirror http://phpdocu.sourceforge.net/ | +// | PEAR http://pear.php.net/package/PhpDocumentor | +// +------------------------------------------------------------------------+ +// | This source file is subject to version 3.00 of the PHP License, | +// | that is available at http://www.php.net/license/3_0.txt. | +// | If you did not receive a copy of the PHP license and are unable to | +// | obtain it through the world-wide-web, please send a note to | +// | license@php.net so we can mail you a copy immediately. | +// +------------------------------------------------------------------------+ +// +/** + * XML output converter for DocBook. + * This Converter takes output from the {@link Parser} and converts it to DocBook output + * + * @package Converters + * @subpackage XMLDocBook + * @see parserDocBlock, parserInclude, parserPage, parserClass, parserDefine, parserFunction, parserMethod, parserVar + * @author Greg Beaver <cellog@php.net> + * @since 1.0 + * @version $Id: XMLDocBookConverter.inc 234145 2007-04-19 20:20:57Z ashnazg $ + */ +/** + * XML DocBook converter. + * This Converter takes output from the {@link Parser} and converts it to DocBook output + * + * @package Converters + * @subpackage XMLDocBook + * @see parserDocBlock, parserInclude, parserPage, parserClass, parserDefine, parserFunction, parserMethod, parserVar + * @author Greg Beaver <cellog@php.net> + * @since 1.0 + * @version $Id: XMLDocBookConverter.inc 234145 2007-04-19 20:20:57Z ashnazg $ + * @todo indexes for other DocBook converters not based on peardoc + * @todo templates + */ +class XMLDocBookConverter extends Converter +{ + /** + * XMLDocBookConverter wants elements sorted by type as well as alphabetically + * @see Converter::$sort_page_contents_by_type + * @var boolean + */ + var $sort_page_contents_by_type = true; + /** @var string */ + var $outputformat = 'XML'; + /** @var string */ + var $name = 'DocBook'; + /** + * indexes of elements by package that need to be generated + * @var array + */ + var $leftindex = array('classes' => true, 'pages' => true, 'functions' => false, 'defines' => false, 'globals' => false); + /** + * whether a @see is going to be in the {@link $base_dir}, or in a package/subpackage subdirectory of $base_dir + * @var boolean + */ + var $local = true; + + /** + * name of current page being converted + * @var string + */ + var $page; + + /** + * path of current page being converted + * @var string + */ + var $path; + + /** + * name of current class being converted + * @var string + */ + var $class; + + /** + * template for the procedural page currently being processed + * @var Template + */ + var $page_data; + + /** + * output directory for the current procedural page being processed + * @var string + */ + var $page_dir; + + /** + * target directory passed on the command-line. + * {@link $targetDir} is malleable, always adding package/ and package/subpackage/ subdirectories onto it. + * @var string + */ + var $base_dir; + + /** + * output directory for the current class being processed + * @var string + */ + var $class_dir; + + /** + * template for the class currently being processed + * @var Template + */ + var $class_data; + + /** + * array of converted package page names. + * Used to link to the package page in the left index + * @var array Format: array(package => 1) + */ + var $package_pages = array(); + + /** + * controls formatting of parser informative output + * + * Converter prints: + * "Converting /path/to/file.php... Procedural Page Elements... Classes..." + * Since HTMLdefaultConverter outputs files while converting, it needs to send a \n to start a new line. However, if there + * is more than one class, output is messy, with multiple \n's just between class file output. This variable prevents that + * and is purely cosmetic + * @var boolean + */ + var $juststarted = false; + + /** + * contains all of the template procedural page element loop data needed for the current template + * @var array + */ + var $current; + + /** + * contains all of the template class element loop data needed for the current template + * @var array + */ + var $currentclass; + /** + * template options. Currently only 1 recognized option usepear + * + * usepear tells the getLink() function to return a package link to PEAR and PEAR_ERROR if possible, and to link directly + * to the fully-delimited link package#class.method or package#file.method in PEAR style, if possible, even if the + * package is not parsed. This will allow parsing of separate PEAR packages without parsing the entire thing at once! + * @var array + */ + var $template_options = array('usepear' => false); + + var $function_data = array(); + var $method_data = array(); + var $sourceloc = ''; + /** + * peardoc2 Category + * @var string + */ + var $category; + /** + * sets {@link $base_dir} to $targetDir + * @see Converter() + */ + function XMLDocBookConverter(&$allp, &$packp, &$classes, &$procpages, $po, $pp, $qm, $targetDir, $templateDir, $title) + { + die("XMLDocBookConverter is not supported in this development version. Use XML:DocBook/peardoc2:default"); + } + + /** + * do that stuff in $template_options + */ + function &getLink($expr, $package = false, $packages = false) + { + return Converter::getLink($expr, $package, $packages); + } + + function unmangle($s,$sourcecode) + { + return '<programlisting role="php"><![CDATA[ +'.$sourcecode.']]></programlisting>'; + } + + function type_adjust($typename) + { + if (isset($this->template_options['typechanging'][trim($typename)])) + return $this->template_options['typechanging'][trim($typename)]; + $a = $this->getLink($typename); + if (is_object($a)) + { + if (phpDocumentor_get_class($a) == 'classlink') + return '<classname>'.$typename.'</classname>'; + if (phpDocumentor_get_class($a) == 'functionlink' || phpDocumentor_get_class($a) == 'methodlink') + return '<function>'.$typename.'</function>'; + if (phpDocumentor_get_class($a) == 'definelink') + return '<constant>'.$typename.'</constant>'; + if (phpDocumentor_get_class($a) == 'varlink') + return '<varname>'.$typename.'</varname>'; + } + return $typename; + } + + function &SmartyInit(&$templ) + { + $this->makeLeft(); + $templ->assign("packageindex",$this->package_index); + return $templ; + } + + /** + * Writes out the template file of {@link $class_data} and unsets the template to save memory + * @see registerCurrentClass() + * @see parent::endClass() + */ + function endClass() + { + $a = '../'; + if (!empty($this->subpackage)) $a .= '../'; + if ($this->juststarted) + { + $this->juststarted = false; + phpDocumentor_out("\n"); + flush(); + } + foreach($this->method_data as $func) + { + $func[0]->assign("phpdocversion",PHPDOCUMENTOR_VER); + $func[0]->assign("phpdocwebsite",PHPDOCUMENTOR_WEBSITE); + $this->setTargetDir($this->base_dir . PATH_DELIMITER . strtolower($this->class_dir . PATH_DELIMITER . str_replace(array('_','.'),array('-','--'),$this->class))); + $this->writefile(strtolower($func[1] ). '.xml',$func[0]->fetch('method.tpl')); + } + if (isset($this->template_options['separatepage']) && $this->template_options['separatepage']) + { + $this->setTargetDir($this->base_dir . PATH_DELIMITER . strtolower($this->class_dir) . PATH_DELIMITER . str_replace(array('_','.'),array('-','--'),strtolower($this->class))); + $this->writefile(str_replace(array('_','.'),array('-','--'),strtolower($this->class)).'-summary.xml',$this->class_summary->fetch('class_summary.tpl')); + } + $this->setTargetDir($this->base_dir . PATH_DELIMITER . strtolower($this->class_dir)); + $this->writefile(str_replace(array('_','.'),array('-','--'),strtolower($this->class)) . '.xml',$this->class_data->fetch('class.tpl')); + unset($this->class_data); + } + + /** + * Writes out the template file of {@link $page_data} and unsets the template to save memory + * @see registerCurrent() + * @see parent::endPage() + */ + function endPage() + { + $this->package = $this->curpage->package; + $this->subpackage = $this->curpage->subpackage; + $a = '../'; + if (!empty($this->subpackage)) $a .= '../'; + foreach($this->function_data as $func) + { + $func[0]->assign("phpdocversion",PHPDOCUMENTOR_VER); + $func[0]->assign("phpdocwebsite",PHPDOCUMENTOR_WEBSITE); + $this->setTargetDir($this->base_dir . PATH_DELIMITER . strtolower($this->page_dir . PATH_DELIMITER . $this->page)); + $this->writefile(str_replace('_','-',strtolower($func[1])) . '.xml',$func[0]->fetch('function.tpl')); + } + if (isset($this->template_options['separatepage']) && $this->template_options['separatepage']) + { + $this->setTargetDir($this->base_dir . PATH_DELIMITER . strtolower($this->page_dir . PATH_DELIMITER . $this->page)); + $this->writefile(strtolower($this->page).'-summary.xml',$this->page_summary->fetch('page_summary.tpl')); + } + $this->setTargetDir($this->base_dir . PATH_DELIMITER . strtolower($this->page_dir)); + $this->writefile(strtolower($this->page) . '.xml',$this->page_data->fetch('page.tpl')); + unset($this->page_data); + } + + /** + * @param string + * @param string + * @return string <ulink url="'.$link.'">'.$text.'</ulink> + */ + function returnLink($link,$text) + { + return '<ulink url="'.$link.'">'.$text.'</ulink>'; + } + + function makeLeft() + { + static $done = false; + if ($done) return; + $done = true; + if (!isset($this->package_index)) + foreach($this->all_packages as $key => $val) + { + if (isset($this->pkg_elements[$key])) + { + if (!isset($start)) $start = $key; + $this->package_index[] = array('link' => "li_$key.html", 'title' => $key); + } + } + foreach($this->page_elements as $package => $o1) + { + foreach($o1 as $subpackage => $links) + { + for($i=0;$i<count($links);$i++) + { + $this->left[$package][$subpackage][] = + array("link" => $this->returnSee($links[$i], false, false, false), "title" => $links[$i]->name); + } + } + } + foreach($this->class_elements as $package => $o1) + { + foreach($o1 as $subpackage => $links) + { + for($i=0;$i<count($links);$i++) + { + $this->left['#class'][$package][$subpackage][] = + array("link" => $this->returnSee($links[$i], false, false, false), "title" => $links[$i]->name); + } + } + } + } + + /** + * HTMLdefaultConverter chooses to format both package indexes and the complete index here + * + * This function formats output for the elementindex.html and pkgelementindex.html template files. It then + * writes them to the target directory + * @see generateElementIndex(), generatePkgElementIndex() + */ + function formatPkgIndex() + { + // will implement in next release with other templates than peardoc2 + return; + list($package_indexes,$packages,$mletters) = $this->generatePkgElementIndexes(); + for($i=0;$i<count($package_indexes);$i++) + { + $template = &$this->newSmarty(); + $this->package = $package_indexes[$i]['package']; + $this->subpackage = ''; + $template->assign("compiledclassindex",$this->getClassLeft()); + $template->assign("compiledfileindex",$this->getPageLeft()); + $template->assign("index",$package_indexes[$i]['pindex']); + $template->assign("package",$package_indexes[$i]['package']); + $template->assign("letters",$mletters[$package_indexes[$i]['package']]); + $template->assign("title","Package ".$package_indexes[$i]['package']." Element Index"); + $template->assign("date",date("r",time())); +// $this->writefile('elementindex_'.$package_indexes[$i]['package'].'.html',$template->fetch('pkgelementindex.tpl')); + } + phpDocumentor_out("\n"); + flush(); + } + + /** + * HTMLdefaultConverter uses this function to format template index.html and packages.html + * + * This function generates the package list from {@link $all_packages}, eliminating any + * packages that don't have any entries in their package index (no files at all, due to @ignore + * or other factors). Then it uses the default package name as the first package index to display. + * It sets the right pane to be either a blank file with instructions on making package-level docs, + * or the package-level docs for the default package. + * @global string Used to set the starting package to display + */ + function formatIndex() + { + // will implement in next release with other templates than peardoc2 + return; + global $phpDocumentor_DefaultPackageName; + list($elindex,$mletters) = $this->generateElementIndex(); + $template = &$this->newSmarty(); + $template->assign("index",$elindex); + $template->assign("letters",$mletters); + $template->assign("title","Element Index"); + $template->assign("date",date("r",time())); + phpDocumentor_out("\n"); + flush(); + $this->setTargetDir($this->base_dir); +// $this->writefile('elementindex.html',$template->fetch('elementindex.tpl')); + uksort($this->package_index,"strnatcasecmp"); + $index = &$this->newSmarty(); + foreach($this->all_packages as $key => $val) + { + if (isset($this->pkg_elements[$key])) + { + if (!isset($start)) $start = $key; + if (!isset($this->package_pages[$key])) $this->writeNewPPage($key); + } + } + // Created index.html + if (isset($this->package_index[$phpDocumentor_DefaultPackageName])) $start = $phpDocumentor_DefaultPackageName; + $this->package = $start; + $this->subpackage = ''; + $index->assign("compiledclassindex",$this->getClassLeft()); + $index->assign("compiledfileindex",$this->getPageLeft()); + $index->assign("date",date("r",time())); + $index->assign("title",$this->title); + $index->assign("start","li_$start.html"); + if (isset($this->package_pages[$start])) + { + $index->assign("contents",$this->package_pages[$start]); + } + phpDocumentor_out("\n"); + flush(); + $this->setTargetDir($this->base_dir); +// $this->writefile("index.html",$index->fetch('index.tpl')); + unset($index); + + } + + function writeNewPPage($key) + { + // will implement in next release with other templates than peardoc2 + return; + $template = &$this->newSmarty(); + $this->package = $key; + $this->subpackage = ''; + $template->assign("compiledclassindex",$this->getClassLeft()); + $template->assign("compiledfileindex",$this->getPageLeft()); + $template->assign("date",date("r",time())); + $template->assign("title",$this->title); + $template->assign("package",$key); + phpDocumentor_out("\n"); + flush(); + $this->setTargetDir($this->base_dir); +// $this->writefile("li_$key.html",$template->fetch('index.tpl')); + unset($template); + } + + /** + * Generate indexes for li_package.html and classtree output files + * + * This function generates the li_package.html files from the template file left.html. It does this by + * iterating through each of the $page_elements, $class_elements and $function_elements arrays to retrieve + * the pre-sorted {@link abstractLink} descendants needed for index generation. Conversion of these links to + * text is done by {@link returnSee()}. The {@link $local} parameter is set to false to ensure that paths are correct. + * + * Then it uses {@link generateFormattedClassTrees()} to create class trees from the template file classtrees.html. Output + * filename is classtrees_packagename.html. This function also unsets {@link $elements} and {@link $pkg_elements} to free + * up the considerable memory these two class vars use + * @see $page_elements, $class_elements, $function_elements + */ + function formatLeftIndex() + { + // will implement in next release with other templates than peardoc2 + return; + phpDocumentor_out("\n"); + flush(); + $this->setTargetDir($this->base_dir); + if (!isset($this->left)) + { + debug("Nothing parsed, check the command-line"); + die(); + } + foreach($this->all_packages as $package => $rest) + { + if (!isset($this->pkg_elements[$package])) continue; + // Create class tree page + $template = &$this->newSmarty(); + $template->assign("classtrees",$this->generateFormattedClassTrees($package)); + $template->assign("package",$package); + $template->assign("date",date("r",time())); + $template->assign("title","Class Trees for Package $package"); +// $this->writefile("classtrees_$package.html",$template->fetch('classtrees.tpl')); + phpDocumentor_out("\n"); + flush(); + } + // free up considerable memory + unset($this->elements); + unset($this->pkg_elements); + } + + /** + * This function takes an {@link abstractLink} descendant and returns an html link + * + * @param abstractLink a descendant of abstractlink should be passed, and never text + * @param string text to display in the link + * @param boolean this parameter is not used, and is deprecated + * @param boolean determines whether the returned text is enclosed in an <a> tag + */ + function returnSee(&$element, $eltext = false, $local = true, $with_a = true) + { + if (!$element) return false; + if (!$eltext) + { + $eltext = ''; + switch($element->type) + { + case 'tutorial' : + $eltext = $element->title; + break; + case 'class' : + $eltext = '<classname>'.$element->name.'</classname>'; + break; + case 'method' : + $eltext .= '<function>'; + case 'var' : + if ($element->type == 'var') $eltext .= '<varname>'; + $eltext .= $element->class.'::'; + case 'page' : + case 'define' : + if ($element->type == 'define') + $eltext .= '<constant>'; + case 'function' : + if ($element->type == 'function') + $eltext .= '<function>'; + case 'global' : + default : + $eltext .= $element->name; + if ($element->type == 'function' || $element->type == 'method') $eltext .= '()</function>'; + if ($element->type == 'var') $eltext .= '</varname>'; + if ($element->type == 'define') $eltext .= '</constant>'; + break; + } + } + $a = ''; + if (!empty($element->subpackage)) + { + $a = $element->subpackage.'.'; + } + switch ($element->type) + { + case 'page' : + if ($with_a) + return '<link linkend="package.'.strtolower($element->package.'.'.$a).$element->fileAlias.'">'.$eltext.'</link>'; + else + return 'package.'.strtolower($element->package.'.'.$a).$element->fileAlias; + break; + case 'define' : + if ($with_a) + return '<link linkend="package.'.strtolower($element->package.'.'.$a).$element->fileAlias.'.'.urlencode($element->name).'">'.$eltext.'</link>'; + else + return 'package.'.strtolower($element->package.'.'.$a).$element->fileAlias.'.'.urlencode($element->name); + break; + case 'global' : + if ($with_a) + return '<link linkend="package.'.strtolower($element->package.'.'.$a).$element->fileAlias.'.'.urlencode($element->name).'">'.$eltext.'</link>'; + else + return 'package.'.strtolower($element->package.'.'.$a).$element->fileAlias.'.'.urlencode($element->name); + break; + case 'class' : + if ($with_a) + return '<link linkend="package.'.strtolower($element->package.'.'.$a.str_replace(array('_','.'),array('-','--'),$element->name)).'">'.$eltext.'</link>'; + else + return 'package.'.strtolower($element->package.'.'.$a.str_replace(array('_','.'),array('-','--'),$element->name)); + break; + case 'function' : + if ($with_a) + return '<link linkend="package.'.strtolower($element->package.'.'.$a.$element->fileAlias.'.'.str_replace('_','-',$element->name)).'">'.$eltext.'</link>'; + else + return 'package.'.strtolower($element->package.'.'.$a.$element->fileAlias.'.'.str_replace('_','-',$element->name)); + break; + case 'method' : + if ($with_a) + return '<link linkend="package.'.strtolower($element->package.'.'.$a.str_replace(array('_','.'),array('-','--'),$element->class).'.'.str_replace('_','-',$element->name)).'">'.$eltext.'</link>'; + else + return 'package.'.strtolower($element->package.'.'.$a.str_replace(array('_','.'),array('-','--'),$element->class).'.'.str_replace('_','-',$element->name)); + break; + case 'var' : + if ($with_a) + return '<link linkend="package.'.strtolower($element->package.'.'.$a.str_replace(array('_','.'),array('-','--'),$element->class).'.'.$element->name).'">'.$eltext.'</link>'; + else + return 'package.'.strtolower($element->package.'.'.$a.str_replace(array('_','.'),array('-','--'),$element->class).'.'.$element->name); + break; + case 'tutorial' : + if ($with_a) + return '<link linked="package.'.strtolower($element->package.'.'.$a.str_replace(array('_','.'),array('-','--'),$element->name).'-tutorial">'.$eltext).'</link>'; + else + return 'package.'.strtolower($element->package.'.'.$a.str_replace(array('_','.'),array('-','--'),$element->name)).'-tutorial'; + } + } + + /** + * Get the id value needed to allow linking + * @param mixed descendant of parserElement or parserData/parserPage + * @see parserElement, parserData, parserPage + * @return string the id value for this element type + */ + function getId(&$el) + { + if (phpDocumentor_get_class($el) == 'parserdata') + { + $element = $this->addLink($el->parent); + $elp = $el->parent; + } else + { + $elp = $el; + $element = $this->addLink($el); + } + $a = ''; + if (!empty($element->subpackage)) + { + $a = $element->subpackage.'.'; + } + switch ($element->type) + { + case 'page' : + return 'package.'.strtolower($element->package.'.'.$a.$element->fileAlias); + break; + case 'define' : + return 'package.'.$element->package.'.'.strtolower($a.$element->fileAlias.'.'.str_replace(array('$','_','"',"'"),array('var--','-','-','-'),$element->name)); + break; + case 'global' : + return 'package.'.strtolower($element->package.'.'.$a.$element->fileAlias.'.'.str_replace(array('$','_','"',"'"),array('var--','-','-','-'),$element->name)); + break; + case 'class' : + return 'package.'.strtolower($element->package.'.'.$a.str_replace(array('_','.'),array('-','--'),$element->name)); + break; + case 'function' : + return 'package.'.strtolower($element->package.'.'.$a.$element->fileAlias.'.'.str_replace('_','-',$element->name)); + break; + case 'method' : + return 'package.'.strtolower($element->package.'.'.$a.str_replace(array('_','.'),array('-','--'),$element->class).'.'.str_replace('_','-',$element->name)); + break; + case 'var' : + return 'package.'.strtolower($element->package.'.'.$a.str_replace(array('_','.'),array('-','--'),$element->class).'-summary.vars.'.str_replace(array('$','_'),array('var--','-'),$element->name)); + break; + case 'tutorial' : + return 'package.'.strtolower($element->package.'.'.$a.str_replace(array('_','.'),array('-','--'),$element->name)).'-tutorial'; + break; + } + } + + /** + * Create errors.html template file output + * + * This method takes all parsing errors and warnings and spits them out ordered by file and line number. + * @global ErrorTracker We'll be using it's output facility + */ + function ConvertErrorLog() + { + global $phpDocumentor_errors; + $allfiles = array(); + $files = array(); + $warnings = $phpDocumentor_errors->returnWarnings(); + $errors = $phpDocumentor_errors->returnErrors(); + $template = &$this->newSmarty(); + foreach($warnings as $warning) + { + $file = '##none'; + $linenum = 'Warning'; + if ($warning->file) + { + $file = $warning->file; + $allfiles[$file] = 1; + $linenum .= ' on line '.$warning->linenum; + } + $files[$file]['warnings'][] = array('name' => $linenum, 'listing' => $warning->data); + } + foreach($errors as $error) + { + $file = '##none'; + $linenum = 'Error'; + if ($error->file) + { + $file = $error->file; + $allfiles[$file] = 1; + $linenum .= ' on line '.$error->linenum; + } + $files[$file]['errors'][] = array('name' => $linenum, 'listing' => $error->data); + } + $i=1; + $af = array(); + foreach($allfiles as $file => $num) + { + $af[$i++] = $file; + } + $allfiles = $af; + usort($allfiles,'strnatcasecmp'); + $allfiles[0] = "Post-parsing"; + foreach($allfiles as $i => $a) + { + $allfiles[$i] = array('file' => $a); + } + $out = array(); + foreach($files as $file => $data) + { + if ($file == '##none') $file = 'Post-parsing'; + $out[$file] = $data; + } + $template->assign("files",$allfiles); + $template->assign("all",$out); + $template->assign("title","phpDocumentor Parser Errors and Warnings"); + $this->setTargetDir($this->base_dir); + $this->writefile("errors.html",$template->fetch('errors.tpl')); + unset($template); + phpDocumentor_out("\n\nTo view errors and warnings, look at ".$this->base_dir. PATH_DELIMITER . "errors.html\n"); + flush(); + } + + function postProcess($text) + { + return htmlentities($text); + } + + function prepareDocBlock(&$element, $nopackage = true) + { + return parent::prepareDocBlock($element, array('staticvar' => 'staticvar','deprec' => 'deprecated','abstract' => 'abstract','TODO' => 'todo', 'uses' => 'see', 'usedby' => 'see', 'tutorial' => 'see'), $nopackage); + } + + function getTutorialId($package,$subpackage,$tutorial,$id) + { + $subpackage = (empty($subpackage) ? '' : '.'.$subpackage); + $id = (empty($id) ? '' : '.'.$id); + return 'package.'.strtolower($package.$subpackage.str_replace(array('_','.'),array('-','--'),$tutorial).$id); + } + + function getCData($value) + { + return '<!CDATA['.$value.']]>'; + } + + /** + * Converts package page and sets its package as used in {@link $package_pages} + * @param parserPackagePage + */ + function convertPackagePage(&$element) + { + return; + phpDocumentor_out("\n"); + flush(); + $template = &$this->newSmarty(); + $this->package = $element->package; + $this->subpackage = ''; + $template->assign("compiledclassindex",$this->getClassLeft()); + $template->assign("compiledfileindex",$this->getPageLeft()); + $template->assign("date",date("r",time())); + $template->assign("title",$this->title); + $template->assign("package",$element->package); + $x = $element->Convert($this); + $x = substr($x,strpos($x,'<body')); + $template->assign("contents",trim(substr($x,strpos($x,'>') + 1))); + phpDocumentor_out("\n"); + flush(); + $this->setTargetDir($this->base_dir); +// $this->writefile("li_".$element->package.".html",$template->fetch('index.tpl')); + unset($template); + $this->package_pages[$element->package] = trim(substr($x,strpos($x,'>') + 1)); + } + + function convertTutorial(&$element) + { + $template = &parent::convertTutorial($element); + phpDocumentor_out("\n"); + flush(); + $x = $element->Convert($this,false); + if ($element->ini) + { // add child tutorial list to the tutorial through a slight hack :) + $subtutorials = ''; + $b = ''; + if (!empty($element->subpackage)) $b = '.'.$element->subpackage; + foreach($element->ini['Linked Tutorials'] as $child) + { + $subtutorials .= ' &'.$element->package.$b.'.'.str_replace(array('_','.'),array('-','--'),$child).'-'.$element->tutorial_type."-tutorial;\n"; + } + $x = str_replace('</refsect1></refentry>','</refsect1> + <refsect1> + <title>Related Docs</title> + <para> +'.$subtutorials. +' </para> + </refsect1></refentry>',$x); + } + $template->assign('contents',$x); + $contents = $template->fetch('tutorial.tpl'); + $a = ''; + if ($element->subpackage) $a = PATH_DELIMITER . $element->subpackage; + phpDocumentor_out("\n"); + flush(); + $this->setTargetDir($this->base_dir . PATH_DELIMITER . strtolower($element->package . $a)); + $this->writeFile(str_replace(array('_','.'),array('-','--'),strtolower($element->name)).'-tutorial.xml',$contents); + } + + /** + * Converts class variables for template output. + * @see prepareDocBlock(), getFormattedOverrides() + * @param parserVar + */ + function convertVar(&$element) + { + $docblock = $this->prepareDocBlock($element); + $b = 'mixed'; + if ($element->docblock->var) + { + $b = $element->docblock->var->converted_returnType; + } +// var_dump($this->getFormattedOverrides($element)); + if (isset($this->template_options['separatepage']) && $this->template_options['separatepage']) + $this->class_summary->append('vars',array('sdesc' => $docblock['sdesc'], + 'desc' => $docblock['desc'], + 'tags' => $docblock['tags'], + 'var_name' => $this->type_adjust($element->getName()), + 'var_default' => htmlspecialchars($element->getValue()), + 'var_type' => $b, + 'var_overrides' => $this->getFormattedOverrides($element), + 'line_number' => $element->getLineNumber(), + 'id' => $this->getId($element))); + else + $this->class_data->append('vars',array('sdesc' => $docblock['sdesc'], + 'desc' => $docblock['desc'], + 'tags' => $docblock['tags'], + 'var_name' => $this->type_adjust($element->getName()), + 'var_default' => htmlspecialchars($element->getValue()), + 'var_type' => $b, + 'var_overrides' => $this->getFormattedOverrides($element), + 'line_number' => $element->getLineNumber(), + 'id' => $this->getId($element))); + } + + /** + * Converts class for template output + * @see prepareDocBlock(), generateChildClassList(), generateFormattedClassTree(), getFormattedConflicts() + * @see getFormattedInheritedMethods(), getFormattedInheritedVars() + * @param parserClass + */ + function convertClass(&$element) + { + parent::convertClass($element); + $docblock = $this->prepareDocBlock($element); + $this->class_dir = $element->docblock->package; + if (!empty($element->docblock->subpackage)) $this->class_dir .= PATH_DELIMITER . $element->docblock->subpackage; + $docblock = $this->prepareDocBlock($element,false); + + $this->class_data->assign("sdesc",$docblock['sdesc']); + $this->class_data->assign("desc",$docblock['desc']); + $this->class_data->assign("tags",$docblock['tags']); + + $this->class_data->assign("source_location",$element->getSourceLocation($this,$this->template_options['usepear'])); + $this->class_data->assign("id",$this->getId($element)); + $this->class_data->assign("method_ids",array()); + if ($t = $element->getTutorial()) + { + $this->class_data->append("method_ids",$this->getId($t)); + } + + if (isset($this->template_options['separatepage']) && $this->template_options['separatepage']) + { + $this->class_summary = &$this->newSmarty(true); + if ($t = $element->getTutorial()) + { + $this->class_summary->assign("tutorial",$this->returnSee($t)); + } + + $this->class_summary->assign("class_name",$this->type_adjust($element->getName())); + $this->class_summary->assign("sdesc",$docblock['sdesc']); + $this->class_summary->assign("desc",$docblock['desc']); + $this->class_summary->assign("tags",$docblock['tags']); + $this->class_summary->assign("vars",array()); + $this->class_summary->assign("methods",array()); + $this->class_summary->assign("package",$element->docblock->package); + + $this->class_summary->assign("children", $this->generateChildClassList($element)); + $this->class_summary->assign("class_tree", $this->generateFormattedClassTree($element)); + $this->class_summary->assign("conflicts", $this->getFormattedConflicts($element,"classes")); + + $this->class_summary->assign("source_location",$element->getSourceLocation($this,$this->template_options['usepear'])); + $this->class_summary->assign("id",$this->getId($element).'-summary'); + $this->class_data->append("method_ids",$this->getId($element).'.'.strtolower(str_replace('_','-',$element->getName())).'-summary'); + $inherited_methods = $this->getFormattedInheritedMethods($element); + if (!empty($inherited_methods)) + { + $this->class_summary->assign("imethods",$inherited_methods); + } + $inherited_vars = $this->getFormattedInheritedVars($element); + if (!empty($inherited_vars)) + { + $this->class_summary->assign("ivars",$inherited_vars); + } + } + $this->sourceloc = $element->getSourceLocation($this,$this->template_options['usepear']); + } + + /** + * Converts method for template output + * @see prepareDocBlock(), parserMethod::getFunctionCall(), getFormattedDescMethods(), getFormattedOverrides() + * @param parserMethod + */ + function convertMethod(&$element) + { + $fname = $element->getName(); + if ($element->isConstructor) + { + $fname = 'constructor '.$element->getName(); + } + $docblock = $this->prepareDocBlock($element); + $returntype = 'void'; + if ($element->docblock->return) + { + $a = $element->docblock->return->Convert($this); + $returntype = $element->docblock->return->converted_returnType; + if ($returntype != $element->docblock->return->returnType) + { + $returntype = "<replaceable>$returntype</replaceable>"; + } + } + $params = array(); + if (count($element->docblock->params)) + foreach($element->docblock->params as $param => $val) + { + $a = $val->Convert($this); + $params[$param] = array("var" => $param,"datatype" => $val->converted_returnType,"data" => $a); + } + + if (isset($this->template_options['separatepage']) && $this->template_options['separatepage']) + { + $this->class_data->append('method_ids',$this->getId($element)); + $this->class_summary->append('methods',array('id' => $this->getId($element), + 'sdesc' => $docblock['sdesc'], + 'desc' => $docblock['desc'], + 'tags' => $docblock['tags'], + 'is_constructor' => $element->isConstructor, + 'function_name' => $element->getName(), + 'function_return' => $returntype, + 'function_call' => $element->getIntricateFunctionCall($this,$params), + 'descmethod' => $this->getFormattedDescMethods($element), + 'method_overrides' => $this->getFormattedOverrides($element), + 'line_number' => $element->getLineNumber(), + 'params' => $params)); + } else + { + $this->class_data->append('method_ids',$this->getId($element)); + $this->class_data->append('methods',array('id' => $this->getId($element), + 'sdesc' => $docblock['sdesc'], + 'desc' => $docblock['desc'], + 'tags' => $docblock['tags'], + 'is_constructor' => $element->isConstructor, + 'function_name' => $element->getName(), + 'function_return' => $returntype, + 'function_call' => $element->getIntricateFunctionCall($this,$params), + 'descmethod' => $this->getFormattedDescMethods($element), + 'method_overrides' => $this->getFormattedOverrides($element), + 'line_number' => $element->getLineNumber(), + 'params' => $params)); + } + if (!isset($this->method_data)) $this->method_data = array(); + $this->method_data[$i = count($this->method_data) - 1][0] = $this->newSmarty(true); + $this->method_data[$i][1] = $element->getName(); + $this->method_data[$i][0]->assign('class',$this->class); + $this->method_data[$i][0]->assign('source_location',$this->returnSee($this->getLink(basename($this->curpage->getFile())),$this->sourceloc)); + $this->method_data[$i][0]->assign('sdesc',$docblock['sdesc']); + $this->method_data[$i][0]->assign('desc',$docblock['desc']); + $this->method_data[$i][0]->assign('tags',$docblock['tags']); + $this->method_data[$i][0]->assign('function_name',$fname); + $this->method_data[$i][0]->assign('function_return',$returntype); + $this->method_data[$i][0]->assign('function_call',$element->getIntricateFunctionCall($this,$params)); + $this->method_data[$i][0]->assign('descmethod',$this->getFormattedDescMethods($element)); + $this->method_data[$i][0]->assign('method_overrides',$this->getFormattedOverrides($element)); + $this->method_data[$i][0]->assign('params',$params); + $this->method_data[$i][0]->assign('id',$this->getId($element)); + } + + /** + * Converts function for template output + * @see prepareDocBlock(), parserFunction::getFunctionCall(), getFormattedConflicts() + * @param parserFunction + */ + function convertFunction(&$element) + { + parent::convertFunction($element); + $docblock = $this->prepareDocBlock($element); + $fname = $element->getName(); + $params = array(); + if (count($element->docblock->params)) + foreach($element->docblock->params as $param => $val) + { + $a = $val->Convert($this); + $params[$param] = array("var" => $param,"datatype" => $val->converted_returnType,"data" => $a); + } + $returntype = 'void'; + if ($element->docblock->return) + { + $a = $element->docblock->return->Convert($this); + $returntype = $element->docblock->return->converted_returnType; + } + + $this->page_data->append("function_ids",$this->getId($element)); + $this->page_summary->append("function_ids",$this->getId($element)); + $this->page_summary->append('functions',array('id' => $this->getId($element), + 'sdesc' => $docblock['sdesc'], + 'desc' => $docblock['desc'], + 'tags' => $docblock['tags'], + 'function_name' => $element->getName(), + 'line_number' => $element->getLineNumber(), + 'function_return' => $returntype, + 'function_call' => $element->getIntricateFunctionCall($this,$params), + 'function_conflicts' => $this->getFormattedConflicts($element,'functions'), + 'params' => $params)); + $this->function_data[$i = count($this->function_data) - 1][0] = $this->newSmarty(true); + $this->function_data[$i][1] = $element->getName(); + $this->function_data[$i][0]->assign('sdesc',$docblock['sdesc']); + $this->function_data[$i][0]->assign('desc',$docblock['desc']); + $this->function_data[$i][0]->assign('tags',$docblock['tags']); + $this->function_data[$i][0]->assign('function_name',$fname); + $this->function_data[$i][0]->assign('line_number',$element->getLineNumber()); + $this->function_data[$i][0]->assign('function_return',$returntype); + $this->function_data[$i][0]->assign('function_call',$element->getIntricateFunctionCall($this,$params)); + $this->function_data[$i][0]->assign('function_conflicts',$this->getFormattedConflicts($element,"functions")); + $this->function_data[$i][0]->assign('params',$params); + $this->function_data[$i][0]->assign('source_location',$this->returnSee($this->getLink(basename($this->curpage->getFile())),$this->sourceloc)); + $this->function_data[$i][0]->assign('id',$this->getId($element)); + } + + /** + * Converts include elements for template output + * @see prepareDocBlock() + * @param parserInclude + */ + function convertInclude(&$element) + { + parent::convertInclude($element, array('include_file' => '-'.strtr($element->getValue(),array('"' => '', "'" => '','.' => '-')))); + $this->page_summary->append('includes',array('sdesc' => $docblock['sdesc'], + 'desc' => $docblock['desc'], + 'tags' => $docblock['tags'], + 'utags' => $docblock['utags'], + 'include_name' => $element->getName(), + 'include_value' => $per, + 'line_number' => $element->getLineNumber(), + 'include_file' => '-'.strtr($element->getValue(),array('"' => '', "'" => '','.' => '-')))); + } + + /** + * Converts defines for template output + * @see prepareDocBlock(), getFormattedConflicts() + * @param parserDefine + */ + function convertDefine(&$element) + { + $docblock = $this->prepareDocBlock($element); + parent::convertDefine($element, array('link' => urlencode($element->getName()))); + $this->page_summary->append('defines',array('sdesc' => $docblock['sdesc'], + 'desc' => $docblock['desc'], + 'tags' => $docblock['tags'], + 'name' => $element->getName(), + 'value' => $element->getValue(), + 'conflicts' => $this->getFormattedConflicts($element,"defines"), + 'line_number' => $element->getLineNumber(), + 'id' => $this->getId($element))); + } + + /** + * Converts global variables for template output + * @param parserGlobal + * @see prepareDocBlock(), getFormattedConflicts() + */ + function convertGlobal(&$element) + { + parent::convertGlobal($element, array('id' => $this->getId($element))); + $docblock = $this->prepareDocBlock($element); + $value = $this->getGlobalValue($element->getValue()); + $this->page_summary->append('globals',array('sdesc' => $docblock['sdesc'], + 'desc' => $docblock['desc'], + 'tags' => $docblock['tags'], + 'name' => $element->getName(), + 'link' => urlencode($element->getName()), + 'value' => $value, + 'type' => $element->getDataType($this), + 'line_number' => $element->getLineNumber(), + 'conflicts' => $this->getFormattedConflicts($element,"global variables"), + 'id' => $this->getId($element))); + } + + /** + * converts procedural pages for template output + * @see prepareDocBlock(), getClassesOnPage() + * @param parserData + */ + function convertPage(&$element) + { + parent::convertPage($element); + $this->juststarted = true; + $this->page_dir = $element->parent->package; + if (!empty($element->parent->subpackage)) $this->page_dir .= PATH_DELIMITER . $element->parent->subpackage; + // registering stuff on the template + $this->page_data->assign("source_location",$element->parent->getSourceLocation($this,$this->template_options['usepear'])); + $this->page_data->assign("function_ids",array()); + if ($t = $element->getTutorial()) + { + $this->page_data->append("function_ids",$this->getId($t)); + } + + $this->sourceloc = $element->parent->getSourceLocation($this,$this->template_options['usepear']); + $this->page_data->assign("id", $this->getId($element)); + if (isset($this->template_options['separatepage']) && $this->template_options['separatepage']) + { + $this->page_summary = new Smarty; + $this->page_summary->template_dir = $this->smarty_dir . PATH_DELIMITER . 'templates'; + $this->page_summary->compile_dir = $this->smarty_dir . PATH_DELIMITER . 'templates_c'; + $this->page_summary->config_dir = $this->smarty_dir . PATH_DELIMITER . 'configs'; + // registering stuff on the template + $this->page_summary->assign("source_location",$element->parent->getSourceLocation($this,$this->template_options['usepear'])); + $this->page_summary->assign("date",date("r",time())); + $this->page_summary->assign("functions",array()); + $this->page_summary->assign("includes",array()); + $this->page_summary->assign("defines",array()); + $this->page_summary->assign("globals",array()); + $this->page_summary->assign("classes",$this->getClassesOnPage($element)); + $this->page_summary->assign("name",$element->parent->getFile()); + $this->page_summary->assign("function_ids",array()); + if ($element->docblock) + { + $docblock = $this->prepareDocBlock($element, false); + $this->page_summary->assign("sdesc",$docblock['sdesc']); + $this->page_summary->assign("desc",$docblock['desc']); + $this->page_summary->assign("tags",$docblock['tags']); + $this->page_summary->assign("utags",$docblock['utags']); + } + $this->sourceloc = $element->parent->getSourceLocation($this,$this->template_options['usepear']); + $this->page_summary->assign("name", $element->parent->getFile()); + $this->page_summary->assign("id", $this->getId($element).'.'.$this->getPageName($element->parent).'-summary'); + $this->page_data->append("function_ids",$this->getId($element).'.'.strtolower($this->getPageName($element->parent)).'-summary'); + } + } + + function getPageName(&$element) + { + return str_replace(array('/','_','.'),array('-','-','---'),$element->getSourceLocation($this,$this->template_options['usepear'])); + } + + /** + * returns an array containing the class inheritance tree from the root object to the class + * + * @param parserClass class variable + * @return array Format: array(root,child,child,child,...,$class) + * @uses parserClass::getParentClassTree() + */ + + function generateFormattedClassTree($class) + { + $tree = $class->getParentClassTree($this); + $out = ''; + if (count($tree) - 1) + { + $result = array($class->getName()); + $parent = $tree[$class->getName()]; + while ($parent) + { + $subpackage = $parent->docblock->subpackage; + $package = $parent->docblock->package; + $x = $parent; + if (is_object($parent)) + $x = $parent->getLink($this); + if (!$x) $x = $parent->getName(); + $result[] = + $x; + if (is_object($parent)) + $parent = $tree[$parent->getName()]; + elseif (isset($tree[$parent])) + $parent = $tree[$parent]; + } + return array_reverse($result); + } else + { + return array($class->getName()); + } + } + + /** @access private */ + function sortVar($a, $b) + { + return strnatcasecmp($a->getName(),$b->getName()); + } + + /** @access private */ + function sortMethod($a, $b) + { + if ($a->isConstructor) return -1; + if ($b->isConstructor) return 1; + return strnatcasecmp($a->getName(),$b->getName()); + } + + /** + * returns a template-enabled array of class trees + * + * @param string $package package to generate a class tree for + * @see $roots, HTMLConverter::getRootTree() + */ + function generateFormattedClassTrees($package) + { + if (!isset($this->roots[$package])) return array(); + $roots = $trees = array(); + $roots = $this->roots[$package]; + for($i=0;$i<count($roots);$i++) + { + $trees[] = array('class' => $roots[$i],'class_tree' => "<ul>\n".$this->getRootTree($this->getSortedClassTreeFromClass($roots[$i],$package,''),$package)."</ul>\n"); + } + return $trees; + } + + /** + * return formatted class tree for the Class Trees page + * + * @param array $tree output from {@link getSortedClassTreeFromClass()} + * @see Classes::$definitechild, generateFormattedClassTrees() + * @return string + */ + function getRootTree($tree,$package) + { + if (!$tree) return ''; + $my_tree = ''; + $cur = '#root'; + $lastcur = array(false); + $kids = array(); + $dopar = false; + if ($tree[$cur]['parent']) + { + $dopar = true; + if (!is_object($tree[$cur]['parent'])) + { +// debug("parent ".$tree[$cur]['parent']." not found"); + $my_tree .= '<listitem>' . $tree[$cur]['parent'] .'<itemizedlist>'; + } + else + { +// debug("parent ".$this->returnSee($tree[$cur]['parent'], false, false)." in other package"); + $my_tree .= '<listitem>' . $this->returnSee($tree[$cur]['parent'], false, false); + if ($tree[$cur]['parent']->package != $package) $my_tree .= ' <emphasis>(Different package)</emphasis><itemizedlist>'; + } + } + do + { +// fancy_debug($cur,$lastcur,$kids); + if (count($tree[$cur]['children'])) + { +// debug("$cur has children"); + if (!isset($kids[$cur])) + { +// debug("set $cur kids"); + $kids[$cur] = 1; + $my_tree .= '<listitem>'.$this->returnSee($tree[$cur]['link'], false, false); + $my_tree .= '<itemizedlist>'."\n"; + } + array_push($lastcur,$cur); + list(,$cur) = each($tree[$cur]['children']); +// var_dump('listed',$cur); + if ($cur) + { + $cur = $cur['package'] . '#' . $cur['class']; +// debug("set cur to child $cur"); +// $my_tree .= '<li>'.$this->returnSee($tree[$cur]['link'], false, false); + continue; + } else + { +// debug("end of children for $cur"); + $cur = array_pop($lastcur); + $cur = array_pop($lastcur); + $my_tree .= '</itemizedlist></listitem>'."\n"; + if ($dopar && ($cur == '#root' || !$cur)) $my_tree .= '</itemizedlist></listitem>'; + } + } else + { +// debug("$cur has no children"); + $my_tree .= '<listitem>'.$this->returnSee($tree[$cur]['link'], false, false)."</listitem>"; + if ($dopar && $cur == '#root') $my_tree .= '</itemizedlist></listitem>'; + $cur = array_pop($lastcur); + } + } while ($cur); + return $my_tree; + } + /** + * Generate alphabetical index of all elements + * + * @see $elements, walk() + */ + function generateElementIndex() + { + $elementindex = array(); + $letters = array(); + $i = 0; + foreach($this->elements as $letter => $nutoh) + { + $letters[]['letter'] = $letter; + $elindex['letter'] = $letter; + foreach($this->elements[$letter] as $i => $yuh) + { + switch($this->elements[$letter][$i]->type) + { + case 'class': + $aa = ''; + $aa = $this->elements[$letter][$i]->docblock->getSDesc($this); + $oo['name'] = $this->elements[$letter][$i]->getName(); + $oo['listing'] = + 'in file '.$this->elements[$letter][$i]->file.', class '.$this->getClassLink($this->elements[$letter][$i]->getName(), + $this->elements[$letter][$i]->docblock->package, + $this->elements[$letter][$i]->getPath(), + $this->elements[$letter][$i]->getName() + , false + , true); + $oo['sdesc'] = "$aa"; + $elindex['index'][] = $oo; + break; + case 'define': + $aa = ''; + $aa = $this->elements[$letter][$i]->docblock->getSDesc($this); + $oo['name'] = $this->elements[$letter][$i]->getName(); + $oo['listing'] = + 'in file '.$this->elements[$letter][$i]->file.', constant '.$this->getDefineLink($this->elements[$letter][$i]->getName(), + $this->elements[$letter][$i]->docblock->package, + $this->elements[$letter][$i]->getPath(), + $this->elements[$letter][$i]->getName() + , false); + $oo['sdesc'] = "$aa"; + $elindex['index'][] = $oo; + break; + case 'global': + $aa = ''; + $aa = $this->elements[$letter][$i]->docblock->getSDesc($this); + $oo['name'] = $this->elements[$letter][$i]->getName(); + $oo['listing'] = + 'in file '.$this->elements[$letter][$i]->file.', global variable '.$this->getGlobalLink($this->elements[$letter][$i]->getName(), + $this->elements[$letter][$i]->docblock->package, + $this->elements[$letter][$i]->getPath(), + $this->elements[$letter][$i]->getName() + , false); + $oo['sdesc'] = "$aa"; + $elindex['index'][] = $oo; + break; + case 'function': + $aa = ''; + $aa = $this->elements[$letter][$i]->docblock->getSDesc($this); + $oo['name'] = $this->elements[$letter][$i]->getName(); + $oo['listing'] = + 'in file '.$this->elements[$letter][$i]->file.', function '.$this->getFunctionLink($this->elements[$letter][$i]->getName(), + $this->elements[$letter][$i]->docblock->package, + $this->elements[$letter][$i]->getPath(), + $this->elements[$letter][$i]->getName().'()' + , false); + $oo['sdesc'] = "$aa"; + $elindex['index'][] = $oo; + break; + case 'method': + $aa = ''; + $aa = $this->elements[$letter][$i]->docblock->getSDesc($this); + $oo['name'] = $this->elements[$letter][$i]->getName(); + $oo['listing'] = + 'in file '.$this->elements[$letter][$i]->file.', method '.$this->getMethodLink($this->elements[$letter][$i]->getName(), + $this->elements[$letter][$i]->class, + $this->elements[$letter][$i]->docblock->package, + $this->elements[$letter][$i]->getPath(), + $this->elements[$letter][$i]->class.'::'.$this->elements[$letter][$i]->getName().'()' + , false); + $oo['sdesc'] = "$aa"; + $elindex['index'][] = $oo; + break; + case 'var': + $aa = ''; + $aa = $this->elements[$letter][$i]->docblock->getSDesc($this); + $oo['name'] = $this->elements[$letter][$i]->getName(); + $oo['listing'] = + 'in file '.$this->elements[$letter][$i]->file.', variable '.$this->getVarLink($this->elements[$letter][$i]->getName(), + $this->elements[$letter][$i]->class, + $this->elements[$letter][$i]->docblock->package, + $this->elements[$letter][$i]->getPath(), + $this->elements[$letter][$i]->class.'::'.$this->elements[$letter][$i]->getName() + , false); + $oo['sdesc'] = "$aa"; + $elindex['index'][] = $oo; + break; + case 'page': + $oo['name'] = $this->elements[$letter][$i]->getFile(); + $oo['listing'] = + 'procedural page '.$this->getPageLink($this->elements[$letter][$i]->getFile(), + $this->elements[$letter][$i]->package, + $this->elements[$letter][$i]->getPath(), + $this->elements[$letter][$i]->getFile() + , false); + $elindex['index'][] = $oo; + break; + } + } + if (isset($elindex['index'])) + { + $elementindex[] = $elindex; + } else + { + unset($letters[count($letters) - 1]); + } + $elindex = array(); + } + return array($elementindex,$letters); + } + + function setTemplateDir($dir) + { + Converter::setTemplateDir($dir); + $this->smarty_dir = $this->templateDir; + } + + /** + * calls the converter setTargetDir, and then copies any template images and the stylesheet if they haven't been copied + * @see Converter::setTargetDir() + */ + function setTargetDir($dir) + { + Converter::setTargetDir($dir); + static $wrote = false; + if ($wrote) return; + $wrote = true; + $template_images = array(); + $stylesheets = array(); + $dir = $this->templateDir; + $this->templateDir = $this->templateDir.'templates/'; + $d = dir($this->templateDir); + $template_images = array(); + while($entry = $d->read()) + { + $sp = explode(".", $entry); + if ( preg_match("/\.(gif|jpg|png)$/i", $entry) ) + { + $template_images[] = $entry; + } + } + $d = dir($this->templateDir); + while($entry = $d->read()) + { + $sp = explode(".", $entry); + if ( preg_match("/\.css$/i", $entry) ) + { + $stylesheets[] = $entry; + } + } + phpDocumentor_out("Copying Any Stylesheets\n"); + flush(); + foreach($stylesheets as $image) + { + if (file_exists($this->templateDir.$image)) + { + phpDocumentor_out("Writing $image\n"); + flush(); + $this->copyFile($image); + } + } + phpDocumentor_out("Copying Any Template Images\n"); + flush(); + foreach($template_images as $image) + { + if (file_exists($this->templateDir.$image)) + { + phpDocumentor_out("Writing $image\n"); + flush(); + $this->copyFile($image); + } + } + $this->templateDir = $dir; + } + + /** + * Generate alphabetical index of all elements by package and subpackage + * + * @param string $package name of a package + * @see $pkg_elements, walk(), generatePkgElementIndexes() + */ + function generatePkgElementIndex($package) + { + $elementindex = array(); + $letters = array(); + $letterind = array(); + $used = array(); + $subp = ''; + foreach($this->pkg_elements[$package] as $subpackage => $els) + { + if (empty($els)) continue; + foreach($els as $letter => $yuh) + { + if (!isset($used[$letter])) + { + $letters[]['letter'] = $letter; + $letterind[$letter] = count($letters) - 1; + $used[$letter] = 1; + } + $elindex[$letter]['letter'] = $letter; + foreach($els[$letter] as $i => $yuh) + { + switch($els[$letter][$i]->type) + { + case 'class': + $aa = ''; + $aa = $els[$letter][$i]->docblock->getSDesc($this); + $oo['name'] = $els[$letter][$i]->getName(); + $oo['listing'] = + 'in file '.$els[$letter][$i]->file.', class '.$this->getClassLink($els[$letter][$i]->getName(), + $els[$letter][$i]->docblock->package, + $els[$letter][$i]->getPath(), + $els[$letter][$i]->getName() + , false + , true); + $oo['subpackage'] = $subpackage; + $oo['sdesc'] = $aa; + $elindex[$letter]['index'][] = $oo; + break; + case 'define': + $aa = $els[$letter][$i]->docblock->getSDesc($this); + $oo['name'] = $els[$letter][$i]->getName(); + $oo['listing'] = + 'in file '.$els[$letter][$i]->file.', constant '.$this->getDefineLink($els[$letter][$i]->getName(), + $els[$letter][$i]->docblock->package, + $els[$letter][$i]->getPath(), + $els[$letter][$i]->getName() + , false); + $oo['subpackage'] = $subpackage; + $oo['sdesc'] = $aa; + $elindex[$letter]['index'][] = $oo; + break; + case 'global': + $aa = $els[$letter][$i]->docblock->getSDesc($this); + $oo['name'] = $els[$letter][$i]->getName(); + $oo['listing'] = + 'in file '.$els[$letter][$i]->file.', global variable '.$this->getGlobalLink($els[$letter][$i]->getName(), + $els[$letter][$i]->docblock->package, + $els[$letter][$i]->getPath(), + $els[$letter][$i]->getName() + ,false); + $oo['subpackage'] = $subpackage; + $oo['sdesc'] = $aa; + $elindex[$letter]['index'][] = $oo; + break; + case 'function': + $aa = $els[$letter][$i]->docblock->getSDesc($this); + $oo['name'] = $els[$letter][$i]->getName(); + $oo['listing'] = + 'in file '.$els[$letter][$i]->file.', function '.$this->getFunctionLink($els[$letter][$i]->getName(), + $els[$letter][$i]->docblock->package, + $els[$letter][$i]->getPath(), + $els[$letter][$i]->getName().'()' + , false); + $oo['subpackage'] = $subpackage; + $oo['sdesc'] = $aa; + $elindex[$letter]['index'][] = $oo; + break; + case 'method': + $aa = $els[$letter][$i]->docblock->getSDesc($this); + $oo['name'] = $els[$letter][$i]->getName(); + $oo['listing'] = + 'in file '.$els[$letter][$i]->file.', method '.$this->getMethodLink($els[$letter][$i]->getName(), + $els[$letter][$i]->class, + $els[$letter][$i]->docblock->package, + $els[$letter][$i]->getPath(), + $els[$letter][$i]->class.'::'.$els[$letter][$i]->getName().'()' + , false); + $oo['subpackage'] = $subpackage; + $oo['sdesc'] = $aa; + $elindex[$letter]['index'][] = $oo; + break; + case 'var': + $aa = $els[$letter][$i]->docblock->getSDesc($this); + $oo['name'] = $els[$letter][$i]->getName(); + $oo['listing'] = + 'in file '.$els[$letter][$i]->file.', variable '.$this->getVarLink($els[$letter][$i]->getName(), + $els[$letter][$i]->class, + $els[$letter][$i]->docblock->package, + $els[$letter][$i]->getPath(), + $els[$letter][$i]->class.'::'.$els[$letter][$i]->getName() + , false); + $oo['subpackage'] = $subpackage; + $oo['sdesc'] = $aa; + $elindex[$letter]['index'][] = $oo; + break; + case 'page': + $oo['name'] = $els[$letter][$i]->getFile(); + $oo['listing'] = + 'procedural page '.$this->getPageLink($els[$letter][$i]->getFile(), + $els[$letter][$i]->package, + $els[$letter][$i]->getPath(), + $els[$letter][$i]->getFile() + , false); + $oo['subpackage'] = $subpackage; + $elindex[$letter]['index'][] = $oo; + break; + } + } + } + } + ksort($elindex); + usort($letters,'XMLDocBook_lettersort'); + if (isset($elindex)) + { + while(list($letter,$tempel) = each($elindex)) + { + if (!isset($tempel)) + { + unset($letters[$letterind[$tempel['letter']]]); + } else + $elementindex[] = $tempel; + } + } else $letters = array(); + return array($elementindex,$letters); + } + + /** + * + * @see generatePkgElementIndex() + */ + function generatePkgElementIndexes() + { + $packages = array(); + $package_names = array(); + $pkg = array(); + $letters = array(); + foreach($this->pkg_elements as $package => $trash) + { + $pkgs['package'] = $package; + $pkg['package'] = $package; + list($pkg['pindex'],$letters[$package]) = $this->generatePkgElementIndex($package); + if (count($pkg['pindex'])) + { + $packages[] = $pkg; + $package_names[] = $pkgs; + } + unset($pkgs); + unset($pkg); + } + foreach($packages as $i => $package) + { + $pnames = array(); + for($j=0;$j<count($package_names);$j++) + { + if ($package_names[$j]['package'] != $package['package']) $pnames[] = $package_names[$j]; + } + $packages[$i]['packageindexes'] = $pnames; + } + return array($packages,$package_names,$letters); + } + + /** + * @param string name of class + * @param string package name + * @param string full path to look in (used in index generation) + * @param boolean deprecated + * @param boolean return just the URL, or enclose it in an html a tag + * @return mixed false if not found, or an html a link to the class's documentation + * @see parent::getClassLink() + */ + function getClassLink($expr,$package, $file = false,$text = false, $local = true, $with_a = true) + { + $a = Converter::getClassLink($expr,$package,$file); + if (!$a) return false; + return $this->returnSee($a, $text, $local, $with_a); + } + + /** + * @param string name of function + * @param string package name + * @param string full path to look in (used in index generation) + * @param boolean deprecated + * @param boolean return just the URL, or enclose it in an html a tag + * @return mixed false if not found, or an html a link to the function's documentation + * @see parent::getFunctionLink() + */ + function getFunctionLink($expr,$package, $file = false,$text = false, $local = true) + { + $a = Converter::getFunctionLink($expr,$package,$file); + if (!$a) return false; + return $this->returnSee($a, $text, $local); + } + + /** + * @param string name of define + * @param string package name + * @param string full path to look in (used in index generation) + * @param boolean deprecated + * @param boolean return just the URL, or enclose it in an html a tag + * @return mixed false if not found, or an html a link to the define's documentation + * @see parent::getDefineLink() + */ + function getDefineLink($expr,$package, $file = false,$text = false, $local = true) + { + $a = Converter::getDefineLink($expr,$package,$file); + if (!$a) return false; + return $this->returnSee($a, $text, $local); + } + + /** + * @param string name of global variable + * @param string package name + * @param string full path to look in (used in index generation) + * @param boolean deprecated + * @param boolean return just the URL, or enclose it in an html a tag + * @return mixed false if not found, or an html a link to the global variable's documentation + * @see parent::getGlobalLink() + */ + function getGlobalLink($expr,$package, $file = false,$text = false, $local = true) + { + $a = Converter::getGlobalLink($expr,$package,$file); + if (!$a) return false; + return $this->returnSee($a, $text, $local); + } + + /** + * @param string name of procedural page + * @param string package name + * @param string full path to look in (used in index generation) + * @param boolean deprecated + * @param boolean return just the URL, or enclose it in an html a tag + * @return mixed false if not found, or an html a link to the procedural page's documentation + * @see parent::getPageLink() + */ + function getPageLink($expr,$package, $path = false,$text = false, $local = true) + { + $a = Converter::getPageLink($expr,$package,$path); + if (!$a) return false; + return $this->returnSee($a, $text, $local); + } + + /** + * @param string name of method + * @param string class containing method + * @param string package name + * @param string full path to look in (used in index generation) + * @param boolean deprecated + * @param boolean return just the URL, or enclose it in an html a tag + * @return mixed false if not found, or an html a link to the method's documentation + * @see parent::getMethodLink() + */ + function getMethodLink($expr,$class,$package, $file = false,$text = false, $local = true) + { + $a = Converter::getMethodLink($expr,$class,$package,$file); + if (!$a) return false; + return $this->returnSee($a, $text, $local); + } + + /** + * @param string name of var + * @param string class containing var + * @param string package name + * @param string full path to look in (used in index generation) + * @param boolean deprecated + * @param boolean return just the URL, or enclose it in an html a tag + * @return mixed false if not found, or an html a link to the var's documentation + * @see parent::getVarLink() + */ + function getVarLink($expr,$class,$package, $file = false,$text = false, $local = true) + { + $a = Converter::getVarLink($expr,$class,$package,$file); + if (!$a) return false; + return $this->returnSee($a, $text, $local); + } + + /** + * does a nat case sort on the specified second level value of the array + * + * @param mixed $a + * @param mixed $b + * @return int + */ + function rcNatCmp ($a, $b) + { + $aa = strtoupper($a[$this->rcnatcmpkey]); + $bb = strtoupper($b[$this->rcnatcmpkey]); + + return strnatcasecmp($aa, $bb); + } + + /** + * does a nat case sort on the specified second level value of the array. + * this one puts constructors first + * + * @param mixed $a + * @param mixed $b + * @return int + */ + function rcNatCmp1 ($a, $b) + { + $aa = strtoupper($a[$this->rcnatcmpkey]); + $bb = strtoupper($b[$this->rcnatcmpkey]); + + if (strpos($aa,'CONSTRUCTOR') === 0) + { + return -1; + } + if (strpos($bb,'CONSTRUCTOR') === 0) + { + return 1; + } + if (strpos($aa,strtoupper($this->class)) === 0) + { + return -1; + } + if (strpos($bb,strtoupper($this->class)) === 0) + { + return -1; + } + return strnatcasecmp($aa, $bb); + } + + /** + * This function is not used by HTMLdefaultConverter, but is required by Converter + */ + function Output() + { + } +} + +/** @access private */ +function XMLDocBook_lettersort($a, $b) +{ + return strnatcasecmp($a['letter'],$b['letter']); +} +?> diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/XML/DocBook/peardoc2/Beautifier.php b/buildscripts/PhpDocumentor/phpDocumentor/Converters/XML/DocBook/peardoc2/Beautifier.php new file mode 100644 index 00000000..81b2e782 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/XML/DocBook/peardoc2/Beautifier.php @@ -0,0 +1,135 @@ +<?PHP +/** + * XML/Beautifier.php + * + * Format XML files containing unknown entities (like all of peardoc) + * + * phpDocumentor :: automatic documentation generator + * + * PHP versions 4 and 5 + * + * Copyright (c) 2004-2006 Gregory Beaver + * + * LICENSE: + * + * 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, or (at your option) any + * later version. + * + * 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 + * + * @package phpDocumentor + * @subpackage Parsers + * @author Greg Beaver <cellog@php.net> + * @copyright 2004-2006 Gregory Beaver + * @license http://www.opensource.org/licenses/lgpl-license.php LGPL + * @version CVS: $Id: Beautifier.php 212211 2006-04-30 22:18:14Z cellog $ + * @filesource + * @link http://www.phpdoc.org + * @link http://pear.php.net/PhpDocumentor + * @since 1.3.0 + */ + + +/** + * This is just like XML_Beautifier, but uses {@link phpDocumentor_XML_Beautifier_Tokenizer} + * @package phpDocumentor + * @subpackage Parsers + * @since 1.3.0 + */ +class phpDocumentor_peardoc2_XML_Beautifier extends XML_Beautifier { + + /** + * format a file or URL + * + * @access public + * @param string $file filename + * @param mixed $newFile filename for beautified XML file (if none is given, the XML string will be returned.) + * if you want overwrite the original file, use XML_BEAUTIFIER_OVERWRITE + * @param string $renderer Renderer to use, default is the plain xml renderer + * @return mixed XML string of no file should be written, true if file could be written + * @throws PEAR_Error + * @uses _loadRenderer() to load the desired renderer + */ + function formatFile($file, $newFile = null, $renderer = "Plain") + { + if ($this->apiVersion() != '1.0') { + return $this->raiseError('API version must be 1.0'); + } + /** + * Split the document into tokens + * using the XML_Tokenizer + */ + require_once dirname(__FILE__) . '/Tokenizer.php'; + $tokenizer = new phpDocumentor_XML_Beautifier_Tokenizer(); + + $tokens = $tokenizer->tokenize( $file, true ); + + if (PEAR::isError($tokens)) { + return $tokens; + } + + include_once dirname(__FILE__) . '/Plain.php'; + $renderer = new PHPDoc_XML_Beautifier_Renderer_Plain($this->_options); + + $xml = $renderer->serialize($tokens); + + if ($newFile == null) { + return $xml; + } + + $fp = @fopen($newFile, "w"); + if (!$fp) { + return PEAR::raiseError("Could not write to output file", XML_BEAUTIFIER_ERROR_NO_OUTPUT_FILE); + } + + flock($fp, LOCK_EX); + fwrite($fp, $xml); + flock($fp, LOCK_UN); + fclose($fp); + return true; } + + /** + * format an XML string + * + * @access public + * @param string $string XML + * @return string formatted XML string + * @throws PEAR_Error + */ + function formatString($string, $renderer = "Plain") + { + if ($this->apiVersion() != '1.0') { + return $this->raiseError('API version must be 1.0'); + } + /** + * Split the document into tokens + * using the XML_Tokenizer + */ + require_once dirname(__FILE__) . '/Tokenizer.php'; + $tokenizer = new phpDocumentor_XML_Beautifier_Tokenizer(); + + $tokens = $tokenizer->tokenize( $string, false ); + + if (PEAR::isError($tokens)) { + return $tokens; + } + + include_once dirname(__FILE__) . '/Plain.php'; + $renderer = new PHPDoc_XML_Beautifier_Renderer_Plain($this->_options); + + $xml = $renderer->serialize($tokens); + + return $xml; + } +} +?>
\ No newline at end of file diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/XML/DocBook/peardoc2/Plain.php b/buildscripts/PhpDocumentor/phpDocumentor/Converters/XML/DocBook/peardoc2/Plain.php new file mode 100644 index 00000000..b99ced18 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/XML/DocBook/peardoc2/Plain.php @@ -0,0 +1,250 @@ +<?PHP +/* vim: set expandtab tabstop=4 shiftwidth=4: */ +// +----------------------------------------------------------------------+ +// | PHP Version 4 | +// +----------------------------------------------------------------------+ +// | Copyright (c) 1997-2002 The PHP Group | +// +----------------------------------------------------------------------+ +// | This source file is subject to version 2.0 of the PHP license, | +// | that is bundled with this package in the file LICENSE, and is | +// | available at through the world-wide-web at | +// | http://www.php.net/license/2_02.txt. | +// | If you did not receive a copy of the PHP license and are unable to | +// | obtain it through the world-wide-web, please send a note to | +// | license@php.net so we can mail you a copy immediately. | +// +----------------------------------------------------------------------+ +// | Authors: Stephan Schmidt <schst@php.net> | +// +----------------------------------------------------------------------+ + +/** + * XML/Beautifier/Renderer/Plain.php + * + * @package XML_Beautifier + * @author Stephan Schmidt <schst@php.net> + */ + +/** + * XML_Util is needed to create the tags + */ +require_once 'XML/Util.php'; + +/** + * Renderer base class + */ +require_once 'XML/Beautifier/Renderer.php'; + +/** + * Basic XML Renderer for XML Beautifier + * + * @package XML_Beautifier + * @author Stephan Schmidt <schst@php.net> + * @todo option to specify inline tags + * @todo option to specify treatment of whitespac in data sections + * @todo automatically create <![CDATA[ ]]> sections + */ +class PHPDoc_XML_Beautifier_Renderer_Plain extends XML_Beautifier_Renderer { + + /** + * Serialize the XML tokens + * + * @access public + * @param array XML tokens + * @return string XML document + */ + function serialize($tokens) + { + $tokens = $this->normalize($tokens); + + $xml = ''; + $cnt = count($tokens); + for($i = 0; $i < $cnt; $i++ ) + { + $xml .= $this->_serializeToken($tokens[$i]); + } + return $xml; + } + + /** + * serialize a token + * + * This method does the actual beautifying. + * + * @access private + * @param array $token structure that should be serialized + * @todo split this method into smaller methods + */ + function _serializeToken($token) + { + switch ($token["type"]) { + + /* + * serialize XML Element + */ + case XML_BEAUTIFIER_ELEMENT: + $indent = $this->_getIndentString($token["depth"]); + + // adjust tag case + if ($this->_options["caseFolding"] === true) { + switch ($this->_options["caseFoldingTo"]) { + case "uppercase": + $token["tagname"] = strtoupper($token["tagname"]); + $token["attribs"] = array_change_key_case($token["attribs"], CASE_UPPER); + break; + case "lowercase": + $token["tagname"] = strtolower($token["tagname"]); + $token["attribs"] = array_change_key_case($token["attribs"], CASE_LOWER); + break; + } + } + + if ($this->_options["multilineTags"] == true) { + $attIndent = $indent . str_repeat(" ", (2+strlen($token["tagname"]))); + } else { + $attIndent = null; + } + // check for children + switch ($token["contains"]) { + + // contains only CData or is empty + case XML_BEAUTIFIER_CDATA: + case XML_BEAUTIFIER_EMPTY: + if (sizeof($token["children"]) >= 1) { + $data = $token["children"][0]["data"]; + } else { + $data = ''; + } + + if( strstr( $data, "\n" ) && $token['contains'] != PHPDOC_BEAUTIFIER_CDATA) + { + $data = "\n" . $this->_indentTextBlock( $data, $token['depth']+1, true ); + } + + $xml = $indent . XML_Util::createTag($token["tagname"], $token["attribs"], $data, null, false, $this->_options["multilineTags"], $attIndent) + . $this->_options["linebreak"]; + break; + // contains mixed content + default: + $xml = $indent . XML_Util::createStartElement($token["tagname"], $token["attribs"], null, $this->_options["multilineTags"], $attIndent) + . $this->_options["linebreak"]; + + $cnt = count($token["children"]); + for ($i = 0; $i < $cnt; $i++) { + $xml .= $this->_serializeToken($token["children"][$i]); + } + $xml .= $indent . XML_Util::createEndElement($token["tagname"]) + . $this->_options["linebreak"]; + break; + break; + } + break; + + /* + * serialize <![CDATA + */ + case PHPDOC_BEAUTIFIER_CDATA: + $xml = $token['data'] . $this->_options['linebreak']; + break; + + /* + * serialize CData + */ + case XML_BEAUTIFIER_CDATA: + if ($token["depth"] > 0) { + $xml = str_repeat($this->_options["indent"], $token["depth"]); + } else { + $xml = ""; + } + + $xml .= $token["data"] . $this->_options["linebreak"]; + break; + + /* + * serialize Processing instruction + */ + case XML_BEAUTIFIER_PI: + $indent = $this->_getIndentString($token["depth"]); + + $xml = $indent."<?".$token["target"].$this->_options["linebreak"] + . $this->_indentTextBlock(rtrim($token["data"]), $token["depth"]) + . $indent."?>".$this->_options["linebreak"]; + break; + + /* + * comments + */ + case XML_BEAUTIFIER_COMMENT: + $lines = count(explode("\n",$token["data"])); + + /* + * normalize comment, i.e. combine it to one + * line and remove whitespace + */ + if ($this->_options["normalizeComments"] && $lines > 1){ + $comment = preg_replace("/\s\s+/s", " ", str_replace( "\n" , " ", $token["data"])); + $lines = 1; + } else { + $comment = $token["data"]; + } + + /* + * check for the maximum length of one line + */ + if ($this->_options["maxCommentLine"] > 0) { + if ($lines > 1) { + $commentLines = explode("\n", $comment); + } else { + $commentLines = array($comment); + } + + $comment = ""; + for ($i = 0; $i < $lines; $i++) { + if (strlen($commentLines[$i]) <= $this->_options["maxCommentLine"]) { + $comment .= $commentLines[$i]; + continue; + } + $comment .= wordwrap($commentLines[$i], $this->_options["maxCommentLine"] ); + if ($i != ($lines-1)) { + $comment .= "\n"; + } + } + $lines = count(explode("\n",$comment)); + } + + $indent = $this->_getIndentString($token["depth"]); + + if ($lines > 1) { + $xml = $indent . "<!--" . $this->_options["linebreak"] + . $this->_indentTextBlock($comment, $token["depth"]+1, true) + . $indent . "-->" . $this->_options["linebreak"]; + } else { + $xml = $indent . sprintf( "<!-- %s -->", trim($comment) ) . $this->_options["linebreak"]; + } + break; + + /* + * xml declaration + */ + case XML_BEAUTIFIER_XML_DECLARATION: + $indent = $this->_getIndentString($token["depth"]); + $xml = $indent . XML_Util::getXMLDeclaration($token["version"], $token["encoding"], $token["standalone"]); + break; + + /* + * xml declaration + */ + case XML_BEAUTIFIER_DT_DECLARATION: + $xml = $token["data"]; + break; + + /* + * all other elements + */ + case XML_BEAUTIFIER_DEFAULT: + default: + $xml = XML_Util::replaceEntities( $token["data"] ); + break; + } + return $xml; + } +} +?>
\ No newline at end of file diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/XML/DocBook/peardoc2/Tokenizer.php b/buildscripts/PhpDocumentor/phpDocumentor/Converters/XML/DocBook/peardoc2/Tokenizer.php new file mode 100644 index 00000000..f1f19e9c --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/XML/DocBook/peardoc2/Tokenizer.php @@ -0,0 +1,752 @@ +<?php +/** + * XML/Beautifier.php + * + * Format XML files containing unknown entities (like all of peardoc) + * + * phpDocumentor :: automatic documentation generator + * + * PHP versions 4 and 5 + * + * Copyright (c) 2004-2006 Gregory Beaver + * + * LICENSE: + * + * 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, or (at your option) any + * later version. + * + * 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 + * + * @package phpDocumentor + * @subpackage Parsers + * @author Greg Beaver <cellog@php.net> + * @copyright 2004-2006 Gregory Beaver + * @license http://www.opensource.org/licenses/lgpl-license.php LGPL + * @version CVS: $Id: Tokenizer.php 238276 2007-06-22 14:58:30Z ashnazg $ + * @filesource + * @link http://www.phpdoc.org + * @link http://pear.php.net/PhpDocumentor + * @since 1.3.0 + */ +/** + * From the XML_Beautifier package + */ +require_once 'XML/Beautifier/Tokenizer.php'; +/** + * Highlights source code using {@link parse()} + * @package phpDocumentor + * @subpackage Parsers + */ +class phpDocumentor_XML_Beautifier_Tokenizer extends XML_Beautifier_Tokenizer +{ + /**#@+ + * @access private + */ + var $_curthing; + var $_tag; + var $_attrs; + var $_attr; + + /**#@-*/ + /** + * @var array + */ + var $eventHandlers = array( + PHPDOC_XMLTOKEN_EVENT_NOEVENTS => 'normalHandler', + PHPDOC_XMLTOKEN_EVENT_XML => 'parseXMLHandler', + PHPDOC_XMLTOKEN_EVENT_PI => 'parsePiHandler', + PHPDOC_XMLTOKEN_EVENT_ATTRIBUTE => 'attrHandler', + PHPDOC_XMLTOKEN_EVENT_OPENTAG => 'tagHandler', + PHPDOC_XMLTOKEN_EVENT_IN_CDATA => 'realcdataHandler', + PHPDOC_XMLTOKEN_EVENT_DEF => 'defHandler', + PHPDOC_XMLTOKEN_EVENT_CLOSETAG => 'closetagHandler', + PHPDOC_XMLTOKEN_EVENT_ENTITY => 'entityHandler', + PHPDOC_XMLTOKEN_EVENT_COMMENT => 'commentHandler', + PHPDOC_XMLTOKEN_EVENT_SINGLEQUOTE => 'stringHandler', + PHPDOC_XMLTOKEN_EVENT_DOUBLEQUOTE => 'stringHandler', + PHPDOC_XMLTOKEN_EVENT_CDATA => 'parseCdataHandler', + ); + + /** + * Parse a new file + * + * The parse() method is a do...while() loop that retrieves tokens one by + * one from the {@link $_event_stack}, and uses the token event array set up + * by the class constructor to call event handlers. + * + * The event handlers each process the tokens passed to them, and use the + * {@link _addoutput()} method to append the processed tokens to the + * {@link $_line} variable. The word parser calls {@link newLineNum()} + * every time a line is reached. + * + * In addition, the event handlers use special linking functions + * {@link _link()} and its cousins (_classlink(), etc.) to create in-code + * hyperlinks to the documentation for source code elements that are in the + * source code. + * + * @uses setupStates() initialize parser state variables + * @uses configWordParser() pass $parse_data to prepare retrieval of tokens + * @param string + * @param Converter + * @param false|string full path to file with @filesource tag, if this + * is a @filesource parse + * @param false|integer starting line number from {@}source linenum} + * @staticvar integer used for recursion limiting if a handler for + * an event is not found + * @return bool + */ + function parseString ($parse_data) + { + static $endrecur = 0; + $parse_data = str_replace(array("\r\n", "\t"), array("\n", ' '), $parse_data); + $this->setupStates($parse_data); + + $this->configWordParser(PHPDOC_XMLTOKEN_EVENT_NOEVENTS); + // initialize variables so E_ALL error_reporting doesn't complain + $pevent = 0; + $word = 0; + $this->_curthing = ''; + + do + { + $lpevent = $pevent; + $pevent = $this->_event_stack->getEvent(); + if ($lpevent != $pevent) + { + $this->_last_pevent = $lpevent; + $this->configWordParser($pevent); + } + $this->_wp->setWhitespace(true); + + $dbg_linenum = $this->_wp->linenum; + $dbg_pos = $this->_wp->getPos(); + $this->_pv_last_word = $word; + $this->_pv_curline = $this->_wp->linenum; + $word = $this->_wp->getWord(); + + if (PHPDOCUMENTOR_DEBUG == true) + { + echo "LAST: "; + echo "|" . $this->_pv_last_word; + echo "|\n"; + echo "PEVENT: " . $this->getParserEventName($pevent) . "\n"; + echo "LASTPEVENT: " . $this->getParserEventName($this->_last_pevent) . "\n"; +// echo "LINE: ".$this->_line."\n"; +// echo "OUTPUT: ".$this->_output."\n"; + echo $dbg_linenum.'-'.$dbg_pos . ": "; + echo '|'.htmlspecialchars($word); + echo "|\n"; + echo "-------------------\n\n\n"; + flush(); + } + if (isset($this->eventHandlers[$pevent])) + { + $handle = $this->eventHandlers[$pevent]; + $this->$handle($word, $pevent); + } else + { + echo ('WARNING: possible error, no handler for event number '.$pevent); + if ($endrecur++ == 25) + { + return $this->raiseError("FATAL ERROR, recursion limit reached"); + } + } + } while (!($word === false)); + return true; + } + + /**#@+ + * Event Handlers + * + * All Event Handlers use {@link checkEventPush()} and + * {@link checkEventPop()} to set up the event stack and parser state. + * @access private + * @param string|array token value + * @param integer parser event from {@link Parser.inc} + */ + /** + * Most tokens only need highlighting, and this method handles them + */ + function normalHandler($word, $pevent) + { + if ($this->checkEventPush($word, $pevent)) { + $this->_wp->backupPos($word); + $this->_addoutput($pevent); + $this->_curthing = ''; + return; + } + $this->_curthing .= $word; + + if ($this->checkEventPop($word, $pevent)) { + $this->_addoutput($pevent); + $this->_curthing = ''; + } + } + + /** + * handle <!-- comments --> + */ + function commentHandler($word, $pevent) + { + if ($this->checkEventPush($word, $pevent)) { + $this->_wp->backupPos($word); + return; + } + + $this->_curthing .= $word; + if ($this->checkEventPop($word, $pevent)) { + $this->_addoutput($pevent); + $this->_curthing = ''; + } + } + + /** + * handle <?Processor instructions?> + */ + function parsePiHandler($word, $pevent) + { + if ($this->checkEventPush($word, $pevent)) { + $this->_wp->backupPos($word); + return; + } + if ($this->checkEventPop($word, $pevent)) { + $this->_addoutput($pevent); + $this->_curthing = ''; + $this->_attrs = null; + return; + } + if (!strlen($this->_curthing)) { + $this->_curthing .= str_replace('<?', '', $word); + } else { + if (!isset($this->_attrs) || !is_string($this->_attrs)) { + $this->_attrs = ''; + } + $this->_attrs .= $word; + } + } + + /** + * handle <?xml Processor instructions?> + */ + function parseXMLHandler($word, $pevent) + { + if ($this->checkEventPush($word, $pevent)) { + $this->_wp->backupPos($word); + return; + } + + $this->_curthing .= $word; + if ($this->checkEventPop($word, $pevent)) { + $this->_addoutput($pevent); + $this->_curthing = ''; + } + } + + /** + * handle <![CDATA[ unescaped text ]]> + */ + function realcdataHandler($word, $pevent) + { + $this->_curthing .= $word; + if ($this->checkEventPop($word, $pevent)) { + $this->_addoutput($pevent); + $this->_curthing = ''; + } + } + + /** + * handle <tags> + */ + function tagHandler($word, $pevent) + { + if ($this->checkEventPush($word, $pevent)) { + $this->_wp->backupPos($word); + $this->_curthing = ''; + return; + } + + if ($word{0} == '<') { + $this->_tag = substr($word, 1); + } + + if ($this->checkEventPop($word, $pevent)) { + $this->_addoutput($pevent); + $this->_tag = null; + $this->_attrs = null; + if ($word == '>') { + $this->_event_stack->pushEvent(PHPDOC_XMLTOKEN_EVENT_CDATA); + return; + } + } + } + + /** + * handle </tags> + */ + function closetagHandler($word, $pevent) + { + if ($this->checkEventPush($word, $pevent)) { + $this->_wp->backupPos($word); + return; + } + if ($this->checkEventPop($word, $pevent)) { + $this->_addoutput($pevent); + $this->_tag = ''; + return; + } + $this->_tag = trim(str_replace('</', '', $word)); + } + + /** + * handle <!def> + */ + function defHandler($word, $pevent) + { + if ($this->checkEventPush($word, $pevent)) { + $this->_wp->backupPos($word); + return; + } + + $this->_curthing .= $word; + if ($this->checkEventPop($word, $pevent)) { + $this->_addoutput($pevent); + $this->_curthing = ''; + } + } + + /** + * Most tokens only need highlighting, and this method handles them + */ + function attrHandler($word, $pevent) + { + if ($e = $this->checkEventPush($word, $pevent)) { + return; + } + if (!isset($this->_attrs) || !is_array($this->_attrs)) { + $this->_attrs = array(); + } + if (strpos($word, '=')) { + $this->_attrs[$this->_attr = trim(str_replace('=', '', $word))] = ''; + } + if ($this->checkEventPop($word, $pevent)) { + $this->_wp->backupPos($word); + return; + } + } + + /** + * handle attribute values + */ + function stringHandler($word, $pevent) + { + if ($this->checkEventPop($word, $pevent)) { + return; + } + $this->_attrs[$this->_attr] = $word; + } + + /** + * handle &entities; + */ + function entityHandler($word, $pevent) + { + if ($this->checkEventPop($word, $pevent)) { + $this->_addoutput($pevent); + $this->_curthing = ''; + return; + } + if (strlen($word) && $word{0} == '&') { + $word = substr($word, 1); + } + $this->_curthing .= $word; + } + + /** + * handle tag contents + */ + function parseCdataHandler($word, $pevent) + { + if ($this->checkEventPush($word, $pevent)) { + $this->_wp->backupPos($word); + if (strlen($this->_curthing)) { + $this->_addoutput($pevent); + } + $this->_curthing = ''; + return; + } + if ($this->checkEventPop($word, $pevent)) { + if (strlen($this->_curthing)) { + $this->_addoutput($pevent); + } + $this->_curthing = ''; + $this->_event_stack->pushEvent(PHPDOC_XMLTOKEN_EVENT_CLOSETAG); + return; + } + $this->_curthing .= $word; + } + + /**#@-*/ + + /** + * Handler for real character data + * + * @access protected + * @param object XML parser object + * @param string CDATA + * @return void + */ + function incdataHandler($parser, $cdata) + { + if ((string)$cdata === '') { + return true; + } + + $struct = array( + "type" => PHPDOC_BEAUTIFIER_CDATA, + "data" => $cdata, + "depth" => $this->_depth + ); + + $this->_appendToParent($struct); + } + /**#@+ + * Output Methods + * @access private + */ + /** + * This method adds output to {@link $_line} + * + * If a string with variables like "$test this" is present, then special + * handling is used to allow processing of the variable in context. + * @see _flush_save() + */ + function _addoutput($event) + { + $type = + array( + PHPDOC_XMLTOKEN_EVENT_NOEVENTS => '_handleXMLDefault', + PHPDOC_XMLTOKEN_EVENT_CLOSETAG => 'endHandler', + PHPDOC_XMLTOKEN_EVENT_ENTITY => 'entityrefHandler', + PHPDOC_XMLTOKEN_EVENT_DEF => '_handleXMLDefault', + PHPDOC_XMLTOKEN_EVENT_PI => 'parsePiHandler', + PHPDOC_XMLTOKEN_EVENT_XML => '_handleXMLDefault', + PHPDOC_XMLTOKEN_EVENT_OPENTAG => 'startHandler', + PHPDOC_XMLTOKEN_EVENT_COMMENT => '_handleXMLDefault', + PHPDOC_XMLTOKEN_EVENT_CDATA => 'cdataHandler', + PHPDOC_XMLTOKEN_EVENT_IN_CDATA => 'incdataHandler', + ); + $method = $type[$event]; + switch ($event) { + case PHPDOC_XMLTOKEN_EVENT_COMMENT : +// echo "comment: $this->_curthing\n"; + $this->$method(false, $this->_curthing); + break; + case PHPDOC_XMLTOKEN_EVENT_OPENTAG : +// echo "open tag: $this->_tag\n"; +// var_dump($this->_attrs); + $this->$method(false, $this->_tag, $this->_attrs); + break; + case PHPDOC_XMLTOKEN_EVENT_CLOSETAG : +// echo "close tag: $this->_tag\n"; + $this->$method(false, $this->_curthing); + break; + case PHPDOC_XMLTOKEN_EVENT_NOEVENTS : + if (!strlen($this->_curthing)) { + return; + } +// echo "default: $this->_curthing\n"; + $this->$method(false, $this->_curthing); + break; + case PHPDOC_XMLTOKEN_EVENT_DEF : +// echo "<!definition: $this->_curthing\n"; + $this->$method(false, $this->_curthing); + break; + case PHPDOC_XMLTOKEN_EVENT_PI : +// echo "<?pi: $this->_curthing\n"; +// echo "<?pi attrs: $this->_attrs\n"; + $this->$method(false, $this->_curthing, $this->_attrs); + break; + case PHPDOC_XMLTOKEN_EVENT_XML : +// echo "<?xml: $this->_curthing\n"; + $this->$method(false, $this->_curthing, $this->_attrs); + break; + case PHPDOC_XMLTOKEN_EVENT_CDATA : + case PHPDOC_XMLTOKEN_EVENT_IN_CDATA : +// echo "cdata: $this->_curthing\n"; + $this->$method(false, $this->_curthing); + break; + case PHPDOC_XMLTOKEN_EVENT_ENTITY : +// echo "entity: $this->_curthing\n"; + $this->$method(false, $this->_curthing, false, false, false); + break; + } + } + /**#@-*/ + + /** + * tell the parser's WordParser {@link $wp} to set up tokens to parse words by. + * tokens are word separators. In English, a space or punctuation are examples of tokens. + * In PHP, a token can be a ;, a parenthesis, or even the word "function" + * @param $value integer an event number + * @see WordParser + */ + + function configWordParser($e) + { + $this->_wp->setSeperator($this->tokens[($e + 100)]); + } + /** + * this function checks whether parameter $word is a token for pushing a new event onto the Event Stack. + * @return mixed returns false, or the event number + */ + + function checkEventPush($word,$pevent) + { + $e = false; + if (isset($this->pushEvent[$pevent])) + { + if (isset($this->pushEvent[$pevent][strtolower($word)])) + $e = $this->pushEvent[$pevent][strtolower($word)]; + } + if ($e) + { + $this->_event_stack->pushEvent($e); + return $e; + } else { + return false; + } + } + + /** + * this function checks whether parameter $word is a token for popping the current event off of the Event Stack. + * @return mixed returns false, or the event number popped off of the stack + */ + + function checkEventPop($word,$pevent) + { + if (!isset($this->popEvent[$pevent])) return false; + if (in_array(strtolower($word),$this->popEvent[$pevent])) + { + return $this->_event_stack->popEvent(); + } else { + return false; + } + } + + /** + * Initialize all parser state variables + * @param boolean true if we are highlighting an inline {@}source} tag's + * output + * @param false|string name of class we are going to start from + * @uses $_wp sets to a new {@link phpDocumentor_HighlightWordParser} + */ + function setupStates($parsedata) + { + $this->_output = ''; + $this->_line = ''; + unset($this->_wp); + $this->_wp = new WordParser; + $this->_wp->setup($parsedata); + $this->_event_stack = @(new EventStack); + $this->_event_stack->popEvent(); + $this->_event_stack->pushEvent(PHPDOC_XMLTOKEN_EVENT_NOEVENTS); + $this->_pv_linenum = null; + $this->_pv_next_word = false; + } + + /** + * Initialize the {@link $tokenpushEvent, $wordpushEvent} arrays + */ + function phpDocumentor_XML_Beautifier_Tokenizer() + { + $this->tokens[STATE_XMLTOKEN_CDATA] = + $this->tokens[STATE_XMLTOKEN_NOEVENTS] = array('<?xml', '<!--', '<![CDATA[', '<!', '</', '<?', '<');//, '&'); + $this->tokens[STATE_XMLTOKEN_OPENTAG] = array("\n","\t"," ", '>', '/>'); + $this->tokens[STATE_XMLTOKEN_XML] = + $this->tokens[STATE_XMLTOKEN_PI] = array("\n","\t"," ", '?>'); + $this->tokens[STATE_XMLTOKEN_IN_CDATA] = array(']]>'); + $this->tokens[STATE_XMLTOKEN_CLOSETAG] = array("\n",'>'); + $this->tokens[STATE_XMLTOKEN_COMMENT] = array("\n",'-->'); + $this->tokens[STATE_XMLTOKEN_DEF] = array("\n",']>','>'); + $this->tokens[STATE_XMLTOKEN_ENTITY] = array("\n",';'); + $this->tokens[STATE_XMLTOKEN_ATTRIBUTE] = array("\n",'"',"'",'>','/>'); + $this->tokens[STATE_XMLTOKEN_DOUBLEQUOTE] = array("\n",'"'); + $this->tokens[STATE_XMLTOKEN_SINGLEQUOTE] = array("\n","'"); +/**************************************************************/ + + $this->pushEvent[PHPDOC_XMLTOKEN_EVENT_NOEVENTS] = + array( + '<' => PHPDOC_XMLTOKEN_EVENT_OPENTAG, + '<?' => PHPDOC_XMLTOKEN_EVENT_PI, + '<?xml' => PHPDOC_XMLTOKEN_EVENT_XML, + '</' => PHPDOC_XMLTOKEN_EVENT_CLOSETAG, +// '&' => PHPDOC_XMLTOKEN_EVENT_ENTITY, + '<![cdata[' => PHPDOC_XMLTOKEN_EVENT_IN_CDATA, + '<!--' => PHPDOC_XMLTOKEN_EVENT_COMMENT, + '<!' => PHPDOC_XMLTOKEN_EVENT_DEF, + ); +/**************************************************************/ + + $this->pushEvent[PHPDOC_XMLTOKEN_EVENT_OPENTAG] = + array( + " " => PHPDOC_XMLTOKEN_EVENT_ATTRIBUTE, + "\n" => PHPDOC_XMLTOKEN_EVENT_ATTRIBUTE, + ); +/**************************************************************/ + + $this->pushEvent[PHPDOC_XMLTOKEN_EVENT_ATTRIBUTE] = + array( + "'" => PHPDOC_XMLTOKEN_EVENT_SINGLEQUOTE, + '"' => PHPDOC_XMLTOKEN_EVENT_DOUBLEQUOTE, + ); +/**************************************************************/ + + $this->popEvent[PHPDOC_XMLTOKEN_EVENT_IN_CDATA] = array(']]>'); +/**************************************************************/ + + $this->pushEvent[PHPDOC_XMLTOKEN_EVENT_CDATA] = + array( + '<' => PHPDOC_XMLTOKEN_EVENT_OPENTAG, + '<?' => PHPDOC_XMLTOKEN_EVENT_PI, +// '&' => PHPDOC_XMLTOKEN_EVENT_ENTITY, + '<!--' => PHPDOC_XMLTOKEN_EVENT_COMMENT, + '<!' => PHPDOC_XMLTOKEN_EVENT_DEF, + '<![cdata[' => PHPDOC_XMLTOKEN_EVENT_IN_CDATA, + ); +/**************************************************************/ + + $this->popEvent[PHPDOC_XMLTOKEN_EVENT_XML] = + $this->popEvent[PHPDOC_XMLTOKEN_EVENT_PI] = array('?>'); +/**************************************************************/ + + $this->popEvent[PHPDOC_XMLTOKEN_EVENT_ENTITY] = array(';'); +/**************************************************************/ + + $this->popEvent[PHPDOC_XMLTOKEN_EVENT_SINGLEQUOTE] = array("'"); +/**************************************************************/ + + $this->popEvent[PHPDOC_XMLTOKEN_EVENT_DOUBLEQUOTE] = array('"'); +/**************************************************************/ + + $this->popEvent[PHPDOC_XMLTOKEN_EVENT_OPENTAG] = array('>', '/>'); +/**************************************************************/ + + $this->popEvent[PHPDOC_XMLTOKEN_EVENT_CLOSETAG] = array('>'); +/**************************************************************/ + + $this->popEvent[PHPDOC_XMLTOKEN_EVENT_COMMENT] = array('-->'); +/**************************************************************/ + + $this->popEvent[PHPDOC_XMLTOKEN_EVENT_DEF] = array('>',']>'); +/**************************************************************/ + + $this->popEvent[PHPDOC_XMLTOKEN_EVENT_ATTRIBUTE] = array('>','/>'); +/**************************************************************/ + + $this->popEvent[PHPDOC_XMLTOKEN_EVENT_CDATA] = + array('</'); +/**************************************************************/ + } + + function getParserEventName ($value) + { + $lookup = array( + PHPDOC_XMLTOKEN_EVENT_NOEVENTS => "PHPDOC_XMLTOKEN_EVENT_NOEVENTS", + PHPDOC_XMLTOKEN_EVENT_PI => "PHPDOC_XMLTOKEN_EVENT_PI", + PHPDOC_XMLTOKEN_EVENT_OPENTAG => "PHPDOC_XMLTOKEN_EVENT_OPENTAG", + PHPDOC_XMLTOKEN_EVENT_ATTRIBUTE => "PHPDOC_XMLTOKEN_EVENT_ATTRIBUTE", + PHPDOC_XMLTOKEN_EVENT_CLOSETAG => "PHPDOC_XMLTOKEN_EVENT_CLOSETAG", + PHPDOC_XMLTOKEN_EVENT_ENTITY => "PHPDOC_XMLTOKEN_EVENT_ENTITY", + PHPDOC_XMLTOKEN_EVENT_COMMENT => "PHPDOC_XMLTOKEN_EVENT_COMMENT", + PHPDOC_XMLTOKEN_EVENT_SINGLEQUOTE => "PHPDOC_XMLTOKEN_EVENT_SINGLEQUOTE", + PHPDOC_XMLTOKEN_EVENT_DOUBLEQUOTE => "PHPDOC_XMLTOKEN_EVENT_DOUBLEQUOTE", + PHPDOC_XMLTOKEN_EVENT_CDATA => 'PHPDOC_XMLTOKEN_EVENT_CDATA', + PHPDOC_XMLTOKEN_EVENT_DEF => 'PHPDOC_XMLTOKEN_EVENT_DEF', + PHPDOC_XMLTOKEN_EVENT_XML => 'PHPDOC_XMLTOKEN_EVENT_XML', + PHPDOC_XMLTOKEN_EVENT_IN_CDATA => 'PHPDOC_XMLTOKEN_EVENT_IN_CDATA', + ); + if (isset($lookup[$value])) + return $lookup[$value]; + else return $value; + } +} + + +/** starting state */ +define("PHPDOC_XMLTOKEN_EVENT_NOEVENTS" , 1); +/** currently in starting state */ +define("STATE_XMLTOKEN_NOEVENTS" , 101); + +/** used when a processor instruction is found */ +define("PHPDOC_XMLTOKEN_EVENT_PI" , 2); +/** currently in processor instruction */ +define("STATE_XMLTOKEN_PI" , 102); + +/** used when an open <tag> is found */ +define("PHPDOC_XMLTOKEN_EVENT_OPENTAG" , 3); +/** currently parsing an open <tag> */ +define("STATE_XMLTOKEN_OPENTAG" , 103); + +/** used when a <tag attr="attribute"> is found */ +define("PHPDOC_XMLTOKEN_EVENT_ATTRIBUTE" , 4); +/** currently parsing an open <tag> */ +define("STATE_XMLTOKEN_ATTRIBUTE" , 104); + +/** used when a close </tag> is found */ +define("PHPDOC_XMLTOKEN_EVENT_CLOSETAG" , 5); +/** currently parsing a close </tag> */ +define("STATE_XMLTOKEN_CLOSETAG" , 105); + +/** used when an &entity; is found */ +define("PHPDOC_XMLTOKEN_EVENT_ENTITY" , 6); +/** currently parsing an &entity; */ +define("STATE_XMLTOKEN_ENTITY" , 106); + +/** used when a <!-- comment --> is found */ +define("PHPDOC_XMLTOKEN_EVENT_COMMENT" , 7); +/** currently parsing a <!-- comment --> */ +define("STATE_XMLTOKEN_COMMENT" , 107); + +/** used when a <!-- comment --> is found */ +define("PHPDOC_XMLTOKEN_EVENT_SINGLEQUOTE" , 8); +/** currently parsing a <!-- comment --> */ +define("STATE_XMLTOKEN_SINGLEQUOTE" , 108); + +/** used when a <!-- comment --> is found */ +define("PHPDOC_XMLTOKEN_EVENT_DOUBLEQUOTE" , 9); +/** currently parsing a <!-- comment --> */ +define("STATE_XMLTOKEN_DOUBLEQUOTE" , 109); + +/** used when a <! is found */ +define("PHPDOC_XMLTOKEN_EVENT_DEF" , 10); +/** currently parsing a <! */ +define("STATE_XMLTOKEN_DEF" , 110); + +/** used when a <! is found */ +define("PHPDOC_XMLTOKEN_EVENT_CDATA" , 11); +/** currently parsing a <! */ +define("STATE_XMLTOKEN_CDATA" , 111); + +/** used when a <?xml is found */ +define("PHPDOC_XMLTOKEN_EVENT_XML" , 12); +/** currently parsing a <?xml */ +define("STATE_XMLTOKEN_XML" , 112); + +/** used when a <![CDATA[ section is found */ +define('PHPDOC_XMLTOKEN_EVENT_IN_CDATA', 13); +/** currently parsing a <![CDATA[ ]]> */ +define('STATE_XMLTOKEN_IN_CDATA', 113); + +/** do not remove, needed in plain renderer */ +define('PHPDOC_BEAUTIFIER_CDATA', 100000); +?> diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/XML/DocBook/peardoc2/XMLDocBookpeardoc2Converter.inc b/buildscripts/PhpDocumentor/phpDocumentor/Converters/XML/DocBook/peardoc2/XMLDocBookpeardoc2Converter.inc new file mode 100755 index 00000000..f359d7d5 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/XML/DocBook/peardoc2/XMLDocBookpeardoc2Converter.inc @@ -0,0 +1,1701 @@ +<?php +/** + * Outputs documentation in XML DocBook format, in the version expected by + * pear.php.net's documentation team + * + * phpDocumentor :: automatic documentation generator + * + * PHP versions 4 and 5 + * + * Copyright (c) 2002-2006 Gregory Beaver + * + * LICENSE: + * + * 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, or (at your option) any + * later version. + * + * 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 + * + * @package Converters + * @subpackage XMLDocBook + * @author Greg Beaver <cellog@php.net> + * @copyright 2002-2006 Gregory Beaver + * @license http://www.opensource.org/licenses/lgpl-license.php LGPL + * @version CVS: $Id: XMLDocBookpeardoc2Converter.inc 234423 2007-04-24 21:32:15Z ashnazg $ + * @filesource + * @link http://www.phpdoc.org + * @link http://pear.php.net/PhpDocumentor + * @since 1.2 + */ +/** + * XML DocBook converter. + * This Converter takes output from the {@link Parser} and converts it to DocBook + * output for PEAR documentation. + * + * This Converter differs from the parent DocBook Converter in that it does not + * recognize the possibility of procedural pages or of functions! All functions + * must be defined as static methods for namespace purposes. In addition, all + * constants and global variables for a package are grouped together as per + * peardoc2 requirements. Include statements are not documented. If you want + * to document a normal project, don't use the peardoc2 converter, use the + * DocBook converter. + * @package Converters + * @subpackage XMLDocBook + * @author Greg Beaver <cellog@php.net> + * @since 1.2 + * @version $Id: XMLDocBookpeardoc2Converter.inc 234423 2007-04-24 21:32:15Z ashnazg $ + */ +class XMLDocBookpeardoc2Converter extends Converter +{ + /** + * This converter knows about the new root tree processing + * In order to fix PEAR Bug #6389 + * @var boolean + */ + var $processSpecialRoots = true; + /** + * XMLDocBookConverter wants elements sorted by type as well as alphabetically + * @see Converter::$sort_page_contents_by_type + * @var boolean + */ + var $sort_page_contents_by_type = true; + /** @var string */ + var $outputformat = 'XML'; + /** @var string */ + var $name = 'DocBook/peardoc2'; + /** + * indexes of elements by package that need to be generated + * @var array + */ + var $leftindex = array('classes' => true, 'pages' => false, 'functions' => false, 'defines' => true, 'globals' => true); + /** + * whether a @see is going to be in the {@link $base_dir}, or in a package/subpackage subdirectory of $base_dir + * @var boolean + */ + var $local = true; + + /** + * name of current page being converted + * @var string + */ + var $page; + + /** + * path of current page being converted + * @var string + */ + var $path; + + /** + * name of current class being converted + * @var string + */ + var $class; + + /** + * template for the procedural page currently being processed + * @var Template + */ + var $page_data; + + /** + * output directory for the current procedural page being processed + * @var string + */ + var $page_dir; + + /** + * Constants, used for constants.tpl + * @var array + */ + var $_peardoc2_constants = false; + + /** + * Global Variables, used for globals.tpl + * @var array + */ + var $_peardoc2_globals = false; + + /** + * target directory passed on the command-line. + * {@link $targetDir} is malleable, always adding package/ and package/subpackage/ subdirectories onto it. + * @var string + */ + var $base_dir; + + /** + * output directory for the current class being processed + * @var string + */ + var $class_dir; + + /** + * template for the class currently being processed + * @var Template + */ + var $class_data; + + /** + * array of converted package page names. + * Used to link to the package page in the left index + * @var array Format: array(package => 1) + */ + var $package_pages = array(); + + /** + * Contents of the packagename.xml file are stored in this template variable + * @var Smarty + */ + var $packagexml; + /** + * controls formatting of parser informative output + * + * Converter prints: + * "Converting /path/to/file.php... Procedural Page Elements... Classes..." + * Since HTMLdefaultConverter outputs files while converting, it needs to send a \n to start a new line. However, if there + * is more than one class, output is messy, with multiple \n's just between class file output. This variable prevents that + * and is purely cosmetic + * @var boolean + */ + var $juststarted = false; + + /** + * contains all of the template procedural page element loop data needed for the current template + * @var array + */ + var $current; + + /** + * contains all of the template class element loop data needed for the current template + * @var array + */ + var $currentclass; + + /** + * Pass elements by package, simplifies generation of package.xml/category.xml + */ + var $sort_absolutely_everything = true; + /** + * template options. Currently only 1 recognized option usepear + * + * usepear tells the getLink() function to return a package link to PEAR and PEAR_ERROR if possible, and to link directly + * to the fully-delimited link package#class.method or package#file.method in PEAR style, if possible, even if the + * package is not parsed. This will allow parsing of separate PEAR packages without parsing the entire thing at once! + * @var array + */ + var $template_options = array('usepear' => false); + + var $function_data = array(); + var $method_data = array(); + var $_write_constants_xml = array(); + var $_write_globals_xml = array(); + var $sourceloc = ''; + /** + * peardoc2 Category + * @var string + */ + var $category; + /** + * Used to re-format output so that it's easy for translators to handle + * + * @var XML_Beautifier|false + * @access private + */ + var $_beautifier = false; + + /** + * sets {@link $base_dir} to $targetDir + * @see Converter() + */ + function XMLDocBookpeardoc2Converter(&$allp, &$packp, &$classes, &$procpages, $po, $pp, $qm, $targetDir, $templateDir, $title) + { + if (!class_exists('XML_Beautifier')) { + @include_once 'XML/Beautifier.php'; + } + Converter::Converter($allp, $packp, $classes, $procpages,$po, $pp, $qm, $targetDir, $templateDir, $title); + if (class_exists('XML_Beautifier')) { + require_once 'phpDocumentor/Converters/XML/DocBook/peardoc2/Beautifier.php'; + $this->_beautifier = new phpDocumentor_peardoc2_XML_Beautifier; + $this->_beautifier->setOption('indent', ' '); + } + $this->base_dir = $targetDir; + } + + /** + * do that stuff in $template_options + */ + function &getLink($expr, $package = false, $packages = false) + { + return Converter::getLink($expr, $package, $packages); + } + + function unmangle($s,$sourcecode) + { + return '<programlisting role="php"><![CDATA[ +'.$sourcecode.']]></programlisting>'; + } + + /** + * Writes a file to target dir, beautify any .xml files first + * @param string filename + * @param string file contents + * @param boolean true if the data is binary and not text + */ + function writeFile($file,$data,$binary = false) + { + if ($this->_beautifier && substr($file, -4) == '.xml') { + $ret = $this->_beautifier->formatString($data); + if (PEAR::isError($ret)) { + addWarning(PDERROR_BEAUTIFYING_FAILED, $ret->getMessage()); + $ret = $data; + } + $data = $ret; + } + return parent::writeFile($file, $data, $binary); + } + + /** + * Used to convert the {@}example} inline tag in a docblock. + * + * By default, this just wraps ProgramExample + * @see XMLDocBookpeardoc2Converter::exampleProgramExample + * @param string + * @param boolean true if this is to highlight a tutorial <programlisting> + * @return string + */ + function exampleProgramExample($example, $tutorial = false, $inlinesourceparse = null/*false*/, + $class = null/*false*/, $linenum = null/*false*/, $filesourcepath = null/*false*/) + { + return '<example><title>Example</title><programlisting role="php"><![CDATA[' . + $example . ']]></programlisting></example>'; + $this->ProgramExample($example, $tutorial, $inlinesourceparse, $class, $linenum, $filesourcepath) + . '</example>'; + } + + function writeExample($title, $path, $source) + { + $this->_save_example = array($title, $source); + } + + function getExampleLink($unused, $title) + { + $source = $this->_save_example[1]; + return '<para><example><title>' . $title . '</title>' . $source . '</example></para>'; + } + + function type_adjust($typename) + { + if (isset($this->template_options['typechanging'][trim($typename)])) + return $this->template_options['typechanging'][trim($typename)]; + $a = $this->getLink($typename); + if (is_object($a)) + { + if (phpDocumentor_get_class($a) == 'classlink') + return '<classname>'.$typename.'</classname>'; + if (phpDocumentor_get_class($a) == 'functionlink' || phpDocumentor_get_class($a) == 'methodlink') + return '<function>'.$typename.'</function>'; + if (phpDocumentor_get_class($a) == 'definelink') + return '<constant>'.$typename.'</constant>'; + if (phpDocumentor_get_class($a) == 'varlink') + return '<varname>'.$typename.'</varname>'; + } + return $typename; + } + + /** + * Writes out the template file of {@link $class_data} and unsets the template to save memory + * @see registerCurrentClass() + * @see parent::endClass() + * @todo move class summary into an array to be written out at the end + * of parsing each package + */ + function endClass() + { + $a = '../'; + if (!empty($this->subpackage)) $a .= '../'; + if ($this->juststarted) + { + $this->juststarted = false; + phpDocumentor_out("\n"); + flush(); + } + foreach($this->method_data as $func) + { + $func[0]->assign("phpdocversion",PHPDOCUMENTOR_VER); + $func[0]->assign("phpdocwebsite",PHPDOCUMENTOR_WEBSITE); + $this->setTargetDir($this->base_dir . PATH_DELIMITER . strtolower($this->category) . PATH_DELIMITER . strtolower($this->class_dir . PATH_DELIMITER . str_replace(array('_','.'),array('-','--'),$this->class))); + $this->writefile(strtolower($func[1] ). '.xml','<!-- $' . "Revision$ -->\n" . $func[0]->fetch('method.tpl')); + } + // code below is in packagename.xml handling, see Output() +/* $this->setTargetDir($this->base_dir . PATH_DELIMITER . strtolower($this->category) . PATH_DELIMITER . strtolower($this->class_dir)); + $this->writefile(str_replace(array('_','.'),array('-','--'),strtolower($this->class)) . '.xml',$this->class_data->fetch('class.tpl'));*/ + unset($this->class_data); + } + + function addSummaryToPackageXml($template_output) + { + $this->packagexml->append('ids',$template_output); + } + + /** + * @param parserClass|false $element is false if this is the end of all conversion + */ + function flushPackageXml($element) + { + if (isset($this->packagexml)) + { + if (!$element || $element->docblock->package != $this->package) // finished with package + { + if (isset($this->_write_constants_xml[$this->category][$this->package]) && + $this->_write_constants_xml[$this->category][$this->package]) + { + $this->packagexml->append('ids', + '&package.' . + strtolower($this->category.'.' . + str_replace(array('_','.'),array('-','--'),$this->package).'.constants;')); + $this->_write_constants_xml[$this->category][$this->package] = false; + } + if (isset($this->_write_globals_xml[$this->category][$this->package]) && + $this->_write_globals_xml[$this->category][$this->package]) + { + $this->packagexml->append('ids', + '&package.'.strtolower($this->category.'.' . + str_replace(array('_','.'),array('-','--'),$this->package).'.globals;')); + $this->_write_globals_xml[$this->category][$this->package] = false; + } + $this->setTargetDir($this->base_dir . PATH_DELIMITER . strtolower($this->category)); + $this->writefile(str_replace('_','-',strtolower($this->package)).'.xml', + '<!-- $' . "Revision$ -->\n" . $this->packagexml->fetch('package.tpl')); + $this->packagexml->clear_all_assign(); + if ($element) { + $this->packagexml->assign('package',$element->docblock->package); + $this->packagexml->assign('ids',array()); + $this->packagexml->assign('id',$this->getId($element, true)); + } + } + } else + { + $this->packagexml = $this->newSmarty(); + $this->packagexml->assign('package',$element->docblock->package); + $this->packagexml->assign('ids',array()); + $this->packagexml->assign('id',$this->getId($element, true)); + } + } + + /** + * @param string + * @param string + * @return string <ulink url="'.$link.'">'.$text.'</ulink> + */ + function returnLink($link,$text) + { + return '<ulink url="'.$link.'">'.$text.'</ulink>'; + } + + function makeLeft() + { + } + + /** + * Does nothing + */ + function formatPkgIndex() + { + } + + /** + * Does nothing + */ + function formatIndex() + { + } + + /** + * Does nothing + */ + function writeNewPPage($key) + { + } + + /** + * Does nothing + */ + function writeSource() + { + } + + /** + * Creates package/lang/categoryname/packagename.xml for each package + */ + function formatLeftIndex() + { + $this->makeLeft(); + } + + /** + * This function takes an {@link abstractLink} descendant and returns an html link + * + * @param abstractLink a descendant of abstractlink should be passed, and never text + * @param string text to display in the link + * @param boolean this parameter is not used, and is deprecated + * @param boolean determines whether the returned text is enclosed in an <link> tag + */ + function returnSee(&$element, $eltext = false, $local = true, $with_a = true) + { + if (!$element) return false; + if (!$eltext) + { + $eltext = ''; + switch($element->type) + { + case 'tutorial' : + $eltext = $element->title; + break; + case 'class' : + $eltext = '<classname>'.$element->name.'</classname>'; + break; + case 'method' : + $eltext .= '<function>'; + case 'var' : + if ($element->type == 'var') $eltext .= '<varname>'; + $eltext .= $element->class.'::'; + case 'page' : + case 'define' : + if ($element->type == 'define') + $eltext .= '<constant>'; + case 'function' : + if ($element->type == 'function') + $eltext .= '<function>'; + case 'global' : + default : + $eltext .= $element->name; + if ($element->type == 'function' || $element->type == 'method') $eltext .= '</function>'; + if ($element->type == 'var') $eltext .= '</varname>'; + if ($element->type == 'define') $eltext .= '</constant>'; + break; + } + } elseif (!is_object($element)) { + return false; + } elseif ($element->type == 'method') + { + $eltext = str_replace($element->name . '()', $element->name, $eltext); + } + + if ($element->type == 'page' || $element->type == 'function' || $element->type == 'var') + { // we ignore all procedural pages, instead, constant, function and + // global variable pages are output + return $eltext; + } + if ($element->type == 'class') + { + return '<link linkend="'.$this->getId($element).'-summary">'.$eltext.'</link>'; + } + return '<link linkend="'.$this->getId($element).'">'.$eltext.'</link>'; + } + + /** + * Get the id value needed to allow linking + * @param mixed descendant of parserElement or parserData/parserPage + * @param boolean true to return the id for the package page + * @see parserElement, parserData, parserPage + * @return string the id value for this element type + */ + function getId(&$el, $returnpackage = false) + { + if (phpDocumentor_get_class($el) == 'parserdata') + { + $element = $this->addLink($el->parent); + $elp = $el->parent; + } elseif (!is_a($el,'abstractlink')) + { + $elp = $el; + $element = $this->addLink($el); + } else $element = $el; + $a = ''; + if (!empty($element->subpackage)) + { + $a = str_replace(array('_','.'),array('-','--'),$element->subpackage).'.'; + } + if ($returnpackage) return 'package.'.strtolower($element->category.'.'.str_replace(array('_','.'),array('-','--'),$element->package)); + switch ($element->type) + { + case 'page' : + return 'package.'.strtolower($element->category.'.'.str_replace(array('_','.'),array('-','--'),$element->package).'.'.$a.$element->fileAlias); + break; + case 'define' : + return 'package.'.strtolower($element->category.'.'.str_replace(array('_','.'),array('-','--'),$element->package).'.constants.details.'.$element->fileAlias); + break; + case 'global' : + return 'package.'.strtolower($element->category.'.'.str_replace(array('_','.'),array('-','--'),$element->package).'.globals.details.'.$element->fileAlias); + break; + case 'class' : + return 'package.'.strtolower($element->category.'.'.str_replace(array('_','.'),array('-','--'),$element->package).'.'.$a.str_replace(array('_','.'),array('-','--'),$element->name)); + break; + case 'function' : + return 'package.'.strtolower($element->category.'.'.str_replace(array('_','.'),array('-','--'),$element->package).'.'.$a.$element->fileAlias.'.'.str_replace('_','-',$element->name)); + break; + case 'method' : + return 'package.'.strtolower($element->category.'.'.str_replace(array('_','.'),array('-','--'),$element->package).'.'.$a.str_replace(array('_','.'),array('-','--'),$element->class).'.'.str_replace('_','-',$element->name)); + break; + case 'var' : + return 'package.'.strtolower($element->category.'.'.str_replace(array('_','.'),array('-','--'),$element->package).'.'.$a.str_replace(array('_','.'),array('-','--'),$element->class).'-summary.vars.'.str_replace(array('$','_'),array('var--','-'),$element->name)); + break; + case 'tutorial' : + return 'package.'.strtolower($element->category.'.'.str_replace(array('_','.'),array('-','--'),$element->package).'.'.$a.str_replace(array('_','.'),array('-','--'),$element->name)).'-tutorial'; + break; + } + } + + /** + * Create errors.html template file output + * + * This method takes all parsing errors and warnings and spits them out ordered by file and line number. + * @global ErrorTracker We'll be using it's output facility + */ + function ConvertErrorLog() + { + global $phpDocumentor_errors; + $allfiles = array(); + $files = array(); + $warnings = $phpDocumentor_errors->returnWarnings(); + $errors = $phpDocumentor_errors->returnErrors(); + $template = &$this->newSmarty(); + foreach($warnings as $warning) + { + $file = '##none'; + $linenum = 'Warning'; + if ($warning->file) + { + $file = $warning->file; + $allfiles[$file] = 1; + $linenum .= ' on line '.$warning->linenum; + } + $files[$file]['warnings'][] = array('name' => $linenum, 'listing' => $warning->data); + } + foreach($errors as $error) + { + $file = '##none'; + $linenum = 'Error'; + if ($error->file) + { + $file = $error->file; + $allfiles[$file] = 1; + $linenum .= ' on line '.$error->linenum; + } + $files[$file]['errors'][] = array('name' => $linenum, 'listing' => $error->data); + } + $i=1; + $af = array(); + foreach($allfiles as $file => $num) + { + $af[$i++] = $file; + } + $allfiles = $af; + usort($allfiles,'strnatcasecmp'); + $allfiles[0] = "Post-parsing"; + foreach($allfiles as $i => $a) + { + $allfiles[$i] = array('file' => $a); + } + $out = array(); + foreach($files as $file => $data) + { + if ($file == '##none') $file = 'Post-parsing'; + $out[$file] = $data; + } + $template->assign("files",$allfiles); + $template->assign("all",$out); + $template->assign("title","phpDocumentor Parser Errors and Warnings"); + $this->setTargetDir($this->base_dir); + $this->writefile("errors.html",$template->fetch('errors.tpl')); + unset($template); + phpDocumentor_out("\n\nTo view errors and warnings, look at ".$this->base_dir. PATH_DELIMITER . "errors.html\n"); + flush(); + } + + function postProcess($text) + { + return str_replace("'", ''', htmlentities($text)); + } + + function prepareDocBlock(&$element, $nopackage = true) + { + $a = new parserStringWithInlineTags; + $a->add('no exceptions thrown'); + if (!$element->docblock->getKeyword('throws')) $element->docblock->addKeyword('throws',$a); + $tags = parent::prepareDocBlock($element, + array('staticvar' => 'note','deprec' => 'deprecated', + 'abstract' => 'abstract','TODO' => 'note', 'link' => 'see', + 'uses' => 'see', 'usedby' => 'see', 'tutorial' => 'see', + 'return' => 'returns', 'access' => false), $nopackage); + $ret = array(); + foreach($tags['tags'] as $tag) + { + if ($tag['keyword'] == 'return') + { + // hack because stupid Converter isn't doing its job + $tag['keyword'] = 'returns'; + } + $ret[$tag['keyword']][] = $tag; + } + $tags['tags'] = $ret; + $tags['sdesc'] = $this->wordwrap($tags['sdesc']); + return $tags; + } + + function getTutorialId($package,$subpackage,$tutorial,$id,$category) + { + $subpackage = (empty($subpackage) ? '' : '.'.$subpackage); + $id = (empty($id) ? '' : '.'.$id); + return 'package.'.strtolower($category.'.'.$package.$subpackage.str_replace(array('_','.'),array('-','--'),$tutorial).$id); + } + + + /** + * Retrieve a Converter-specific anchor to a segment of a source code file + * parsed via a {@tutorial tags.filesource.pkg} tag. + * + * NOTE: unused + * @param string full path to source file + * @param string name of anchor + * @param string link text, if this is a link + * @param boolean returns either a link or a destination based on this + * parameter + * @return string link to an anchor, or the anchor + */ + function getSourceAnchor($sourcefile,$anchor,$text = '',$link = false) + { + return ''; + } + + function Br($input) + { + return "$input\n"; + } + + function getCData($value) + { + return '<![CDATA['.$value.']]>'; + } + + function ProgramExample($listing, $tutorial = false, $inlinesourceparse = null/*false*/, + $class = null/*false*/, $linenum = null/*false*/, $filesourcepath = null/*false*/, $origsource = null) + { + if ($origsource !== null) { + $listing = $origsource; + } + if (!tokenizer_ext) + { + $listing = $this->getCData($listing); + } + return '<programlisting role="php">' . $this->getCData($listing) . '</programlisting>'; + } + + /** + * Does nothing - use tutorials for DocBook + * @param parserPackagePage + */ + function convertPackagePage(&$element) + { + } + + /** + * Convert tutorials for output + * @param parserTutorial + */ + function convertTutorial(&$element) + { + $template = &parent::convertTutorial($element); + phpDocumentor_out("\n"); + flush(); + $x = $element->Convert($this,false); + if ($element->ini) + { // add child tutorial list to the tutorial through a slight hack :) + $subtutorials = ''; + $b = ''; + if (!empty($element->subpackage)) $b = '.'.$element->subpackage; + foreach($element->ini['Linked Tutorials'] as $child) + { + $subtutorials .= ' &'.$element->category.'.'.$element->package.$b.'.'.str_replace(array('_','.'),array('-','--'),$child).'-'.$element->tutorial_type."-tutorial;\n"; + } + $x = str_replace('</refsect1></refentry>','</refsect1> + <refsect1> + <title>Related Docs</title> + <para> +'.$subtutorials. +' </para> + </refsect1></refentry>',$x); + } + $template->assign('contents',$x); + $contents = $template->fetch('tutorial.tpl'); + $a = ''; + if ($element->subpackage) $a = PATH_DELIMITER . $element->subpackage; + phpDocumentor_out("\n"); + flush(); + $this->setTargetDir($this->base_dir . PATH_DELIMITER . str_replace(array('_','.'),array('-','--'),strtolower($element->category)) + . PATH_DELIMITER . strtolower(str_replace(array('_','.'),array('-','--'),$element->package) . $a)); + $this->writeFile(str_replace(array('_','.'),array('-','--'),strtolower($element->name)).'-tutorial.xml', + '<!-- $' . "Revision$ -->\n" . $contents); + } + + /** + * Does nothing in this converter + * @param parserVar + */ + function convertVar(&$element) + { + return; + $docblock = $this->prepareDocBlock($element); + $b = 'mixed'; + if ($element->docblock->var) + { + $b = $element->docblock->var->converted_returnType; + } +// var_dump($this->getFormattedOverrides($element)); + if (isset($this->template_options['separatepage']) && $this->template_options['separatepage']) + $this->class_summary->append('vars',array('sdesc' => $docblock['sdesc'], + 'desc' => $docblock['desc'], + 'tags' => $docblock['tags'], + 'var_name' => $this->type_adjust($element->getName()), + 'var_default' => htmlspecialchars($element->getValue()), + 'var_type' => $b, + 'var_overrides' => $this->getFormattedOverrides($element), + 'line_number' => $element->getLineNumber(), + 'id' => $this->getId($element))); + else + $this->class_data->append('vars',array('sdesc' => $docblock['sdesc'], + 'desc' => $docblock['desc'], + 'tags' => $docblock['tags'], + 'var_name' => $this->type_adjust($element->getName()), + 'var_default' => htmlspecialchars($element->getValue()), + 'var_type' => $b, + 'var_overrides' => $this->getFormattedOverrides($element), + 'line_number' => $element->getLineNumber(), + 'id' => $this->getId($element))); + } + + /** + * Converts class for template output + * @param parserClass + * @uses flushPackageXml() creates packagename.xml file when all classes in + * a package have been converted + */ + function convertClass(&$element) + { + $this->flushPackageXml($element); + parent::convertClass($element); + $docblock = $this->prepareDocBlock($element); + $this->method_data = array(); + $this->class_dir = str_replace(array('_','.'),array('-','--'),$element->docblock->package); + $this->package = $element->docblock->package; + $this->category = strtolower($element->docblock->category); + if (!empty($element->docblock->subpackage)) $this->class_dir .= PATH_DELIMITER . $element->docblock->subpackage; + $docblock = $this->prepareDocBlock($element,false); + $this->class_data->assign("sdesc",$docblock['sdesc']); + $this->class_data->assign("desc",$docblock['desc']); + $this->class_data->assign("tags",$docblock['tags']); + + $this->class_data->assign("source_location",$element->getSourceLocation($this,$this->template_options['usepear'])); + $this->class_data->assign("id",$this->getId($element)); + $this->class_data->assign("method_ids",array()); + $this->left[$this->package][] = array('link' => $this->getId($element).'-summary'); + if ($t = $element->getTutorial()) + { + $this->class_data->append("method_ids",$this->getId($t)); + } + + if (isset($this->template_options['separatepage']) && $this->template_options['separatepage']) + { + $this->class_summary = &$this->newSmarty(true); + if ($t = $element->getTutorial()) + { + $this->class_summary->assign("tutorial",$this->returnSee($t)); + } + + $this->class_summary->assign("class_name",$this->type_adjust($element->getName())); + $this->class_summary->assign("sdesc",$docblock['sdesc']); + $this->class_summary->assign("desc",$docblock['desc']); + $this->class_summary->assign("tags",$docblock['tags']); + $this->class_summary->assign("vars",array()); + $this->class_summary->assign("methods",array()); + $this->class_summary->assign("package",$element->docblock->package); + + $this->class_summary->assign("children", $this->generateChildClassList($element)); + $this->class_summary->assign("class_tree", $this->generateFormattedClassTree($element)); + $this->class_summary->assign("conflicts", $this->getFormattedConflicts($element,"classes")); + + $this->class_summary->assign("source_location",$element->getSourceLocation($this,$this->template_options['usepear'])); + $this->class_summary->assign("id",$this->getId($element).'-summary'); + $this->class_data->append("method_ids",$this->getId($element).'.'.strtolower(str_replace('_','-',$element->getName())).'-summary'); + $inherited_methods = $this->getFormattedInheritedMethods($element); + if (!empty($inherited_methods)) + { + $this->class_summary->assign("imethods",$inherited_methods); + } + $inherited_vars = $this->getFormattedInheritedVars($element); + // variables are irrelevant in peardoc2 + if (false)//!empty($inherited_vars)) + { + $this->class_summary->assign("ivars",$inherited_vars); + } + $this->addSummaryToPackageXml($this->class_summary->fetch('class_summary.tpl')); + } + $this->sourceloc = $element->getSourceLocation($this,$this->template_options['usepear']); + } + + /** + * Converts method for template output + * @see prepareDocBlock(), parserMethod::getFunctionCall(), getFormattedDescMethods(), getFormattedOverrides() + * @param parserMethod + */ + function convertMethod(&$element) + { + $docblock = $this->prepareDocBlock($element); + $returntype = 'void'; + if ($element->docblock->return) + { + $a = $element->docblock->return->Convert($this); + $returntype = $element->docblock->return->converted_returnType; + if ($returntype != $element->docblock->return->returnType) + { + $returntype = "<replaceable>$returntype</replaceable>"; + } + } + $params = array(); + if (count($element->docblock->params)) + foreach($element->docblock->params as $param => $val) + { + $a = $val->Convert($this); + $b = explode(' ',$a); + $c = ''; + foreach($b as $blah) { + if (!empty($c)) { + $c .= ' '; + } + $c .= str_replace(array('true', 'false', 'null'), array('&true;', '&false;', '&null;'), $blah); + } + $params[$param] = array("var" => $param,"datatype" => str_replace(array('true', 'false', 'null'), array('&true;', '&false;', '&null;'), + $val->returnType), "cdatatype" => $val->converted_returnType,"data" => $this->wordwrap($c)); + } + + $call = $element->getIntricateFunctionCall($this, $params); + if (isset($call['params'])) + { + foreach($call['params'] as $i => $param) + { + if (!is_string($call['params'][$i]['default'])) + { + continue; + } + $call['params'][$i]['default'] = str_replace(array('true', 'false', 'null'), array('&true;', '&false;', '&null;'), $param['default']); + } + } + $this->packagexml->append('ids','&'.$this->getId($element).';'); + $this->class_data->append('method_ids',$this->getId($element)); + $this->class_summary->append('methods',array('id' => $this->getId($element), + 'sdesc' => $docblock['sdesc'], + 'desc' => $docblock['desc'], + 'tags' => $docblock['tags'], + 'is_constructor' => $element->isConstructor, + 'function_name' => $element->getName(), + 'function_return' => $returntype, + 'function_call' => $call, + 'descmethod' => $this->getFormattedDescMethods($element), + 'method_overrides' => $this->getFormattedOverrides($element), + 'line_number' => $element->getLineNumber(), + 'params' => $params)); + $this->method_data[$i = count($this->method_data) - 1][0] = &$this->newSmarty(true); + $this->method_data[$i][1] = str_replace(array('_','.'),array('-','--'),$element->getName()); + $this->method_data[$i][0]->assign('class',$this->class); + $this->method_data[$i][0]->assign('source_location',$this->returnSee($this->getLink(basename($this->curpage->getFile())),$this->sourceloc)); + $this->method_data[$i][0]->assign('sdesc',$docblock['sdesc']); + $this->method_data[$i][0]->assign('desc',$docblock['desc']); + $this->method_data[$i][0]->assign('tags',$docblock['tags']); + $this->method_data[$i][0]->assign('function_name',$element->getName()); + $this->method_data[$i][0]->assign('function_return',$returntype); + $this->method_data[$i][0]->assign('function_call',$call); + $this->method_data[$i][0]->assign('descmethod',$this->getFormattedDescMethods($element)); + $this->method_data[$i][0]->assign('method_overrides',$this->getFormattedOverrides($element)); + $this->method_data[$i][0]->assign('params',$params); + $this->method_data[$i][0]->assign('id',$this->getId($element)); + } + + /** + * Converts function for template output - does nothing in peardoc2! + * @param parserFunction + */ + function convertFunction(&$element) + { +/* parent::convertFunction($element); + $docblock = $this->prepareDocBlock($element); + $fname = $element->getName(); + $params = array(); + if (count($element->docblock->params)) + foreach($element->docblock->params as $param => $val) + { + $a = $val->Convert($this); + $params[$param] = array("var" => $param,"datatype" => $val->converted_returnType,"data" => $a); + } + $returntype = 'void'; + if ($element->docblock->return) + { + $a = $element->docblock->return->Convert($this); + $returntype = $element->docblock->return->converted_returnType; + } + + $this->page_data->append("function_ids",$this->getId($element)); + $this->page_summary->append("function_ids",$this->getId($element)); + $this->page_summary->append('functions',array('id' => $this->getId($element), + 'sdesc' => $docblock['sdesc'], + 'desc' => $docblock['desc'], + 'tags' => $docblock['tags'], + 'function_name' => $element->getName(), + 'line_number' => $element->getLineNumber(), + 'function_return' => $returntype, + 'function_call' => $element->getIntricateFunctionCall($this,$params), + 'function_conflicts' => $this->getFormattedConflicts($element,'functions'), + 'params' => $params)); + $this->function_data[$i = count($this->function_data) - 1][0] = $this->newSmarty(true); + $this->function_data[$i][1] = $element->getName(); + $this->function_data[$i][0]->assign('sdesc',$docblock['sdesc']); + $this->function_data[$i][0]->assign('desc',$docblock['desc']); + $this->function_data[$i][0]->assign('tags',$docblock['tags']); + $this->function_data[$i][0]->assign('function_name',$fname); + $this->function_data[$i][0]->assign('line_number',$element->getLineNumber()); + $this->function_data[$i][0]->assign('function_return',$returntype); + $this->function_data[$i][0]->assign('function_call',$element->getIntricateFunctionCall($this,$params)); + $this->function_data[$i][0]->assign('function_conflicts',$this->getFormattedConflicts($element,"functions")); + $this->function_data[$i][0]->assign('params',$params); + $this->function_data[$i][0]->assign('source_location',$this->returnSee($this->getLink(basename($this->curpage->getFile())),$this->sourceloc)); + $this->function_data[$i][0]->assign('id',$this->getId($element));*/ + } + + /** + * Converts include elements for template output + * + * Completely ignored by this converter + * @param parserInclude + */ + function convertInclude(&$element) + { +/* parent::convertInclude($element, array('include_file' => '-'.strtr($element->getValue(),array('"' => '', "'" => '','.' => '-')))); + $docblock = $this->prepareDocBlock($element); + $per = $this->getIncludeValue($element->getValue(), $element->getPath()); + $this->page_summary->append('includes',array('sdesc' => $docblock['sdesc'], + 'desc' => $docblock['desc'], + 'tags' => $docblock['tags'], + 'utags' => $docblock['utags'], + 'include_name' => $element->getName(), + 'include_value' => $per, + 'line_number' => $element->getLineNumber(), + 'include_file' => '-'.strtr($element->getValue(),array('"' => '', "'" => '','.' => '-'))));*/ + } + + /** + * Converts defines for template output + * @see prepareDocBlock(), getFormattedConflicts() + * @param parserDefine + */ + function convertDefine(&$element) + { + $docblock = $this->prepareDocBlock($element); + $this->_appendDefines(array('sdesc' => $docblock['sdesc'], + 'desc' => $docblock['desc'], + 'tags' => $docblock['tags'], + 'name' => $this->postProcess($element->getName()), + 'value' => $this->postProcess($element->getValue()), + 'conflicts' => $this->getFormattedConflicts($element,"defines"), + 'line_number' => $element->getLineNumber(), + 'id' => $this->getId($element))); + } + + /** + * Append the constant information to the Smarty information + * + * Uses category, package, and current file to organize constants defined + * in a package for the constants.xml output file + * @param array + * @uses $_peardoc2_constants appends $define to them + * @access private + */ + function _appendDefines($define) + { + if (!isset($this->_peardoc2_constants[$this->category][$this->package][$this->sourceloc])) + { + $this->_peardoc2_constants[$this->category][$this->package][$this->sourceloc]['name'] = + $this->sourceloc; + $this->_peardoc2_constants[$this->category][$this->package][$this->sourceloc]['page'] = + $this->page; + } + $this->_write_constants_xml[$this->category][$this->package] = true; + $this->_peardoc2_constants[$this->category][$this->package][$this->sourceloc]['defines'][] = $define; + } + + /** + * Converts global variables for template output + * @param parserGlobal + * @see prepareDocBlock(), getFormattedConflicts() + */ + function convertGlobal(&$element) + { + $docblock = $this->prepareDocBlock($element); + $value = $this->getGlobalValue($element->getValue()); + if ($value == $element->getValue()) + { + $value = $this->ProgramExample($value); + } else + { + $value = $this->getGlobalValue('<![CDATA[' .$element->getValue() . ']]>'); + } + $this->_appendGlobals(array('sdesc' => $docblock['sdesc'], + 'desc' => $docblock['desc'], + 'tags' => $docblock['tags'], + 'name' => $this->postProcess($element->getName()), + 'link' => $element->getName(), + 'value' => $value, + 'type' => $element->getDataType($this), + 'line_number' => $element->getLineNumber(), + 'conflicts' => $this->getFormattedConflicts($element,"global variables"), + 'id' => $this->getId($element))); + } + + /** + * Append the global variable information to the Smarty information + * + * Uses category, package, and current file to organize globals defined + * in a package for the globals.xml output file + * @param array + * @uses $_peardoc2_globals appends $global to them + * @access private + */ + function _appendGlobals($global) + { + if (!isset($this->_peardoc2_globals[$this->category][$this->package][$this->sourceloc])) + { + $this->_peardoc2_globals[$this->category][$this->package][$this->sourceloc]['name'] = + $this->sourceloc; + $this->_peardoc2_globals[$this->category][$this->package][$this->sourceloc]['page'] = + $this->page; + } + $this->_write_globals_xml[$this->category][$this->package] = true; + $this->_peardoc2_globals[$this->category][$this->package][$this->sourceloc]['globals'][] = $global; + } + + /** + * converts procedural pages for template output + * @see prepareDocBlock(), getClassesOnPage() + * @param parserData + */ + function convertPage(&$element) + { + parent::convertPage($element); + $this->juststarted = true; + $this->page_dir = $element->parent->package; + $this->page = $this->getPageName($element->parent); + $this->category = strtolower($element->parent->category); + $this->sourceloc = $element->parent->getSourceLocation($this,true); + if (!empty($element->parent->subpackage)) $this->page_dir .= PATH_DELIMITER . $element->parent->subpackage; + // registering stuff on the template + } + + function getPageName(&$element) + { + return str_replace(array('/','_','.'),array('-','-','---'),$element->getSourceLocation($this,true)); + } + + /** + * returns an array containing the class inheritance tree from the root object to the class + * + * @param parserClass class variable + * @return array Format: array(root,child,child,child,...,$class) + * @uses parserClass::getParentClassTree() + */ + + function generateFormattedClassTree($class) + { + $tree = $class->getParentClassTree($this); + $out = ''; + if (count($tree) - 1) + { + $result = array($class->getName()); + $parent = $tree[$class->getName()]; + while ($parent) + { + if (is_string($parent)) { + $result[] = $parent; + break; + } + $subpackage = $parent->docblock->subpackage; + $package = $parent->docblock->package; + $x = $parent; + if (is_object($parent)) + $x = $parent->getLink($this); + if (!$x) $x = $parent->getName(); + $result[] = + $x; + if (is_object($parent)) + $parent = $tree[$parent->getName()]; + elseif (isset($tree[$parent])) + $parent = $tree[$parent]; + } + return array_reverse($result); + } else + { + return array($class->getName()); + } + } + + /** + * returns a list of child classes + * + * @param parserClass class variable + * @uses parserClass::getChildClassList() + */ + + function generateChildClassList($class) + { + $kids = $class->getChildClassList($this); + $list = array(); + if (count($kids)) + { + for($i=0; $i<count($kids); $i++) + { + $lt['link'] = '<link linkend="'.$this->getId($kids[$i]) . '-summary">'. $kids[$i]->getName().'</link>'; + $lt['sdesc'] = $kids[$i]->docblock->getSDesc($this); + $list[] = $lt; + } + } else return false; + return $list; + } + + /** @access private */ + function sortVar($a, $b) + { + return strnatcasecmp($a->getName(),$b->getName()); + } + + /** @access private */ + function sortMethod($a, $b) + { + if ($a->isConstructor) return -1; + if ($b->isConstructor) return 1; + return strnatcasecmp($a->getName(),$b->getName()); + } + + /** + * returns a template-enabled array of class trees + * + * @param string $package package to generate a class tree for + * @see $roots, HTMLConverter::getRootTree() + */ + function generateFormattedClassTrees($package) + { + if (!isset($this->roots['normal'][$package]) && + !isset($this->roots['special'][$package])) { + return array(); + } + $trees = array(); + if (isset($this->roots['normal'][$package])) { + $roots = $this->roots['normal'][$package]; + for($i=0;$i<count($roots);$i++) + { + $root = $this->classes->getClassByPackage($roots[$i], $package); + if ($root && $root->isInterface()) { + continue; + } + $trees[] = array('class' => $roots[$i],'class_tree' => "<ul>\n".$this->getRootTree($this->getSortedClassTreeFromClass($roots[$i],$package,''),$package)."</ul>\n"); + } + } + if (isset($this->roots['special'][$package])) { + $roots = $this->roots['special'][$package]; + foreach ($roots as $parent => $classes) { + $thistree = ''; + foreach ($classes as $classinfo) { + $root = $this->classes->getClassByPackage($classinfo, $package); + if ($root && $root->isInterface()) { + continue; + } + $thistree .= + $this->getRootTree( + $this->getSortedClassTreeFromClass( + $classinfo, + $package, + ''), + $package, + true); + } + if (!$thistree) { + continue; + } + $trees[] = array( + 'class' => $parent, + 'class_tree' => "<ul>\n" . $thistree . "</ul>\n" + ); + } + } + return $trees; + } + + /** + * returns a template-enabled array of interface inheritance trees + * + * @param string $package package to generate a class tree for + * @see $roots, HTMLConverter::getRootTree() + */ + function generateFormattedInterfaceTrees($package) + { + if (!isset($this->roots['normal'][$package]) && + !isset($this->roots['special'][$package])) { + return array(); + } + $trees = array(); + if (isset($this->roots['normal'][$package])) { + $roots = $this->roots['normal'][$package]; + for($i=0;$i<count($roots);$i++) + { + $root = $this->classes->getClassByPackage($roots[$i], $package); + if ($root && !$root->isInterface()) { + continue; + } + $trees[] = array('class' => $roots[$i],'class_tree' => "<ul>\n".$this->getRootTree($this->getSortedClassTreeFromClass($roots[$i],$package,''),$package)."</ul>\n"); + } + } + if (isset($this->roots['special'][$package])) { + $roots = $this->roots['special'][$package]; + foreach ($roots as $parent => $classes) { + $thistree = ''; + foreach ($classes as $classinfo) { + $root = $this->classes->getClassByPackage($classinfo, $package); + if ($root && !$root->isInterface()) { + continue; + } + $thistree .= + $this->getRootTree( + $this->getSortedClassTreeFromClass( + $classinfo, + $package, + ''), + $package, + true); + } + if (!$thistree) { + continue; + } + $trees[] = array( + 'class' => $parent, + 'class_tree' => "<ul>\n" . $thistree . "</ul>\n" + ); + } + } + return $trees; + } + + /** + * return formatted class tree for the Class Trees page + * + * @param array $tree output from {@link getSortedClassTreeFromClass()} + * @param string $package package + * @param boolean $nounknownparent if true, an object's parent will not be checked + * @see Classes::$definitechild, generateFormattedClassTrees() + * @return string + */ + function getRootTree($tree, $package, $noparent = false) + { + if (!$tree) return ''; + $my_tree = ''; + $cur = '#root'; + $lastcur = array(false); + $kids = array(); + $dopar = false; + if (!$noparent && $tree[$cur]['parent']) + { + $dopar = true; + if (!is_object($tree[$cur]['parent'])) + { +// debug("parent ".$tree[$cur]['parent']." not found"); + $my_tree .= '<listitem>' . $tree[$cur]['parent'] .'<itemizedlist>'; + } + else + { +// debug("parent ".$this->returnSee($tree[$cur]['parent'], false, false)." in other package"); + $my_tree .= '<listitem>' . $this->returnSee($tree[$cur]['parent'], false, false); + if ($tree[$cur]['parent']->package != $package) $my_tree .= ' <emphasis>(Different package)</emphasis><itemizedlist>'; + } + } + do + { +// fancy_debug($cur,$lastcur,$kids); + if (count($tree[$cur]['children'])) + { +// debug("$cur has children"); + if (!isset($kids[$cur])) + { +// debug("set $cur kids"); + $kids[$cur] = 1; + $my_tree .= '<listitem>'.$this->returnSee($tree[$cur]['link'], false, false); + $my_tree .= '<itemizedlist>'."\n"; + } + array_push($lastcur,$cur); + list(,$cur) = each($tree[$cur]['children']); +// var_dump('listed',$cur); + if ($cur) + { + $cur = $cur['package'] . '#' . $cur['class']; +// debug("set cur to child $cur"); +// $my_tree .= '<li>'.$this->returnSee($tree[$cur]['link'], false, false); + continue; + } else + { +// debug("end of children for $cur"); + $cur = array_pop($lastcur); + $cur = array_pop($lastcur); + $my_tree .= '</itemizedlist></listitem>'."\n"; + if ($dopar && ($cur == '#root' || !$cur)) $my_tree .= '</itemizedlist></listitem>'; + } + } else + { +// debug("$cur has no children"); + $my_tree .= '<listitem>'.$this->returnSee($tree[$cur]['link'], false, false)."</listitem>"; + if ($dopar && $cur == '#root') $my_tree .= '</itemizedlist></listitem>'; + $cur = array_pop($lastcur); + } + } while ($cur); + return $my_tree; + } + /** + * does nothing + */ + function generateElementIndex() + { + } + + function setTemplateDir($dir) + { + Converter::setTemplateDir($dir); + $this->smarty_dir = $this->templateDir; + } + + /** + * Generate alphabetical index of all elements by package and subpackage + * + * @param string $package name of a package + * @see $pkg_elements, walk(), generatePkgElementIndexes() + */ + function generatePkgElementIndex($package) + { + } + + /** + * + * @see generatePkgElementIndex() + */ + function generatePkgElementIndexes() + { + } + + /** + * @param string name of class + * @param string package name + * @param string full path to look in (used in index generation) + * @param boolean deprecated + * @param boolean return just the URL, or enclose it in an html a tag + * @return mixed false if not found, or an html a link to the class's documentation + * @see parent::getClassLink() + */ + function getClassLink($expr,$package, $file = false,$text = false, $local = true, $with_a = true) + { + $a = Converter::getClassLink($expr,$package,$file); + if (!$a) return false; + return $this->returnSee($a, $text, $local, $with_a); + } + + /** + * @param string name of function + * @param string package name + * @param string full path to look in (used in index generation) + * @param boolean deprecated + * @param boolean return just the URL, or enclose it in an html a tag + * @return mixed false if not found, or an html a link to the function's documentation + * @see parent::getFunctionLink() + */ + function getFunctionLink($expr,$package, $file = false,$text = false, $local = true) + { + $a = Converter::getFunctionLink($expr,$package,$file); + if (!$a) return false; + return $this->returnSee($a, $text, $local); + } + + /** + * @param string name of define + * @param string package name + * @param string full path to look in (used in index generation) + * @param boolean deprecated + * @param boolean return just the URL, or enclose it in an html a tag + * @return mixed false if not found, or an html a link to the define's documentation + * @see parent::getDefineLink() + */ + function getDefineLink($expr,$package, $file = false,$text = false, $local = true) + { + $a = Converter::getDefineLink($expr,$package,$file); + if (!$a) return false; + return $this->returnSee($a, $text, $local); + } + + /** + * @param string name of global variable + * @param string package name + * @param string full path to look in (used in index generation) + * @param boolean deprecated + * @param boolean return just the URL, or enclose it in an html a tag + * @return mixed false if not found, or an html a link to the global variable's documentation + * @see parent::getGlobalLink() + */ + function getGlobalLink($expr,$package, $file = false,$text = false, $local = true) + { + $a = Converter::getGlobalLink($expr,$package,$file); + if (!$a) return false; + return $this->returnSee($a, $text, $local); + } + + /** + * @param string name of procedural page + * @param string package name + * @param string full path to look in (used in index generation) + * @param boolean deprecated + * @param boolean return just the URL, or enclose it in an html a tag + * @return mixed false if not found, or an html a link to the procedural page's documentation + * @see parent::getPageLink() + */ + function getPageLink($expr,$package, $path = false,$text = false, $local = true) + { + $a = Converter::getPageLink($expr,$package,$path); + if (!$a) return false; + return $this->returnSee($a, $text, $local); + } + + /** + * @param string name of method + * @param string class containing method + * @param string package name + * @param string full path to look in (used in index generation) + * @param boolean deprecated + * @param boolean return just the URL, or enclose it in an html a tag + * @return mixed false if not found, or an html a link to the method's documentation + * @see parent::getMethodLink() + */ + function getMethodLink($expr,$class,$package, $file = false,$text = false, $local = true) + { + $a = Converter::getMethodLink($expr,$class,$package,$file); + if (!$a) return false; + return $this->returnSee($a, $text, $local); + } + + /** + * @param string name of var + * @param string class containing var + * @param string package name + * @param string full path to look in (used in index generation) + * @param boolean deprecated + * @param boolean return just the URL, or enclose it in an html a tag + * @return mixed false if not found, or an html a link to the var's documentation + * @see parent::getVarLink() + */ + function getVarLink($expr,$class,$package, $file = false,$text = false, $local = true) + { + $a = Converter::getVarLink($expr,$class,$package,$file); + if (!$a) return false; + return $this->returnSee($a, $text, $local); + } + + /** + * does a nat case sort on the specified second level value of the array + * + * @param mixed $a + * @param mixed $b + * @return int + */ + function rcNatCmp ($a, $b) + { + $aa = strtoupper($a[$this->rcnatcmpkey]); + $bb = strtoupper($b[$this->rcnatcmpkey]); + + return strnatcasecmp($aa, $bb); + } + + /** + * does a nat case sort on the specified second level value of the array. + * this one puts constructors first + * + * @param mixed $a + * @param mixed $b + * @return int + */ + function rcNatCmp1 ($a, $b) + { + $aa = strtoupper($a[$this->rcnatcmpkey]); + $bb = strtoupper($b[$this->rcnatcmpkey]); + + if (strpos($aa,'CONSTRUCTOR') === 0) + { + return -1; + } + if (strpos($bb,'CONSTRUCTOR') === 0) + { + return 1; + } + if (strpos($aa,strtoupper($this->class)) === 0) + { + return -1; + } + if (strpos($bb,strtoupper($this->class)) === 0) + { + return -1; + } + return strnatcasecmp($aa, $bb); + } + + function wordwrap($string) + { + return wordwrap($string); + } + + /** + * Generate the constants.xml, packagename.xml, and globals.xml files + */ + function Output() + { + $this->flushPackageXml(false); + $templ = &$this->newSmarty(); + $categories = array(); + $packages = array_flip($this->all_packages); + foreach($this->packagecategories as $package => $category) + { + $categories[$category]['package.'.$category.'.'.str_replace('_','-',strtolower($package ))] = 1; + if (isset($packages[$package])) unset($packages[$package]); + } + $category = $GLOBALS['phpDocumentor_DefaultCategoryName']; + foreach($packages as $package) + { + $categories[$category]['package.'.$category.'.'.str_replace('_','-',strtolower($package ))] = 1; + } + foreach($categories as $category => $ids) + { + $templ->assign('id','package.'.$category); + $templ->assign('ids',array()); + $templ->assign('category',$category); + $this->setTargetDir($this->base_dir); + if (file_exists($this->base_dir . PATH_DELIMITER . strtolower($category ) . '.xml')) + { + $contents = @file($this->base_dir . PATH_DELIMITER . strtolower($category ) . '.xml'); + if (is_array($contents)) + { + $found = false; + foreach($contents as $i => $line) + { + $line = trim($line); + if (strlen($line) && $line{0} == '&') + { + $found = $i; + if (in_array(str_replace(array ('&', ';'), array ('', ''), trim($line )), array_keys($ids ))) + { + unset($ids[str_replace(array('&', ';'), array('', ''), trim($line))]); + } + } + if ($found !== false && (!strlen($line) || $line{0} != '&')) + { + break; + } + } + $newids = array(); + foreach($ids as $id => $unll) + { + $newids[] = ' &' . $id . ";\n"; + } + $newcontents = array_merge(array_slice($contents, 0, $i), $newids); + $newcontents = array_merge($newcontents, array_slice($contents, $i)); + } + $categorycontents = implode($newcontents, ''); + } else + { + foreach($ids as $id => $unll) + { + if (!in_array($id, $templ->_tpl_vars['ids'])) + { + $templ->append('ids',$id); + } + } + $categorycontents = '<!-- $' . "Revision$ -->\n" . $templ->fetch('category.tpl'); + } + $this->writefile(strtolower($category) . '.xml', + $categorycontents); + phpDocumentor_out("\n"); + flush(); + } + $my = &$this->newSmarty(); + if ($this->_peardoc2_constants) + { + foreach($this->_peardoc2_constants as $category => $r) + { + foreach($r as $package => $s) + { + $my->assign('id','package.'.strtolower($category.'.'.str_replace('_','-',strtolower($package ))).'.constants'); + $my->assign('package',$package); + $defines = array(); + foreach($s as $file => $t) + { + $arr = array(); + $arr['name'] = $file; + $arr['page'] = strtolower($t['page']); + $arr['defines'] = $t['defines']; + $defines[] = $arr; + } + $my->assign('defines',$defines); + $this->setTargetDir($this->base_dir . PATH_DELIMITER . $category + . PATH_DELIMITER . strtolower(str_replace('_','-',strtolower($package )))); + $this->writefile('constants.xml', + '<!-- $' . "Revision$ -->\n" . $my->fetch('constants.tpl')); + $my->clear_all_assign(); + } + } + $this->_peardoc2_constants = false; + } + if ($this->_peardoc2_globals) + { + foreach($this->_peardoc2_globals as $category => $r) + { + foreach($r as $package => $s) + { + $my->assign('id','package.'.strtolower($category.'.'.str_replace('_','-',strtolower($package ))).'.globals'); + $my->assign('package',$package); + $defines = array(); + foreach($s as $file => $t) + { + $arr = array(); + $arr['name'] = $file; + $arr['page'] = strtolower($t['page']); + $arr['globals'] = $t['globals']; + $defines[] = $arr; + } + $my->assign('globals',$defines); + $this->setTargetDir($this->base_dir . PATH_DELIMITER . $category + . PATH_DELIMITER . strtolower(str_replace('_','-',strtolower($package )))); + $this->writefile('globals.xml', + '<!-- $' . "Revision$ -->\n" . $my->fetch('globals.tpl')); + $my->clear_all_assign(); + } + } + $this->_peardoc2_globals = false; + } + } +} +?> diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/XML/DocBook/peardoc2/templates/default/options.ini b/buildscripts/PhpDocumentor/phpDocumentor/Converters/XML/DocBook/peardoc2/templates/default/options.ini new file mode 100755 index 00000000..cdb08f38 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/XML/DocBook/peardoc2/templates/default/options.ini @@ -0,0 +1,39 @@ +;; XML DocBook peardoc2 options +usepear = true + +;; preserve package page docbook tags that don't have an entry in the ppage section +;; we preserve every tag, as this is how it works +;; this is after all a docbook converter! +preservedocbooktags = true + +;; separate file for class and page docblocks and minor details (variables, globals, defines) +separatepage = true + +[typechanging] +true = &true; +false = &false; +null = &null; + +[desctranslate] +ul = "\n<itemizedlist>" +/ul = "</itemizedlist>\n" +ol = "\n<orderedlist>" +/ol = "</orderedlist>\n" +li = "\n<listitem><para>" +/li = "</para></listitem>\n" +code = <programlisting role="php-highlighted"> +/code = "</programlisting>\n" +pre = <![CDATA[ +/pre = ]]> +p = <para> +/p = "</para>\n" +b = <emphasis> +/b = </emphasis> +i = <important> +/i = </important> +var = <varname> +/var = </varname> +kbd = <screen> +/kbd = </screen> +samp = <example> +/samp = "</example>\n" diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/XML/DocBook/peardoc2/templates/default/templates/category.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/XML/DocBook/peardoc2/templates/default/templates/category.tpl new file mode 100755 index 00000000..7c95b11e --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/XML/DocBook/peardoc2/templates/default/templates/category.tpl @@ -0,0 +1,26 @@ +<chapter id="{$id}"> +<title>{$category}</title> +{section name=ids loop=$ids} +&{$ids[ids]}; +{/section} +</chapter> +<!-- Generated by phpDocumentor v {$phpdocversion} {$phpdocwebsite} --> +<!-- Keep this comment at the end of the file +Local variables: +mode: sgml +sgml-omittag:t +sgml-shorttag:t +sgml-minimize-attributes:nil +sgml-always-quote-attributes:t +sgml-indent-step:1 +sgml-indent-data:t +sgml-parent-document:nil +sgml-default-dtd-file:"../../../../manual.ced" +sgml-exposed-tags:nil +sgml-local-catalogs:nil +sgml-local-ecat-files:nil +End: +vim600: syn=xml fen fdm=syntax fdl=2 si +vim: et tw=78 syn=sgml +vi: ts=1 sw=1 +-->
\ No newline at end of file diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/XML/DocBook/peardoc2/templates/default/templates/class.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/XML/DocBook/peardoc2/templates/default/templates/class.tpl new file mode 100755 index 00000000..72b9fea2 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/XML/DocBook/peardoc2/templates/default/templates/class.tpl @@ -0,0 +1,29 @@ +<refentry id="{$id}"> + <refnamediv> + <refname>{$class_name}</refname> + <refpurpose>{$classname}</refpurpose> + </refnamediv> +{section name=methods loop=$method_ids} +&{$method_ids[methods]}; +{/section} +</refentry> +<!-- Generated by phpDocumentor v {$phpdocversion} {$phpdocwebsite} --> +<!-- Keep this comment at the end of the file +Local variables: +mode: sgml +sgml-omittag:t +sgml-shorttag:t +sgml-minimize-attributes:nil +sgml-always-quote-attributes:t +sgml-indent-step:1 +sgml-indent-data:t +sgml-parent-document:nil +sgml-default-dtd-file:"../../../../manual.ced" +sgml-exposed-tags:nil +sgml-local-catalogs:nil +sgml-local-ecat-files:nil +End: +vim600: syn=xml fen fdm=syntax fdl=2 si +vim: et tw=78 syn=sgml +vi: ts=1 sw=1 +-->
\ No newline at end of file diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/XML/DocBook/peardoc2/templates/default/templates/class_summary.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/XML/DocBook/peardoc2/templates/default/templates/class_summary.tpl new file mode 100755 index 00000000..03b42703 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/XML/DocBook/peardoc2/templates/default/templates/class_summary.tpl @@ -0,0 +1,53 @@ +<refentry id="{$id}"> + <refnamediv> + <refname>Class Summary {$class_name}</refname> + <refpurpose>{$sdesc}</refpurpose> + </refnamediv> +<refsect1> + <title>{$sdesc}</title> + {$desc|default:"¬documented;"} +</refsect1> +<refsect1> +<title>Class Trees for {$class_name}</title> + <para> + {section name=tree loop=$class_tree} + {section name=mine loop=$class_tree[tree]} {/section}<itemizedlist> + {section name=mine loop=$class_tree[tree]} {/section} <listitem><para> + {section name=mine loop=$class_tree[tree]} {/section} {$class_tree[tree]} + {/section} + {section name=tree loop=$class_tree} + {section name=mine loop=$class_tree[tree]} {/section}</para></listitem> + </itemizedlist> + {/section} + </para> +{if $children} + <para> + <table> + <title>Classes that extend {$class_name}</title> + <tgroup cols="2"> + <thead> + <row> + <entry>Class</entry> + <entry>Summary</entry> + </row> + </thead> + <tbody> +{section name=kids loop=$children} + <row> + <entry>{$children[kids].link}</entry> + <entry>{$children[kids].sdesc}</entry> + </row> +{/section} + </tbody> + </tgroup> + </table> + </para> +{/if} +{if $imethods} + <para> + {$class_name} Inherited Methods + </para> +{include file="imethods.tpl" ivars=$ivars} +{/if} +</refsect1> +</refentry> diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/XML/DocBook/peardoc2/templates/default/templates/constants.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/XML/DocBook/peardoc2/templates/default/templates/constants.tpl new file mode 100755 index 00000000..24588e88 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/XML/DocBook/peardoc2/templates/default/templates/constants.tpl @@ -0,0 +1,68 @@ +<refentry id="{$id}"> + <refnamediv> + <refname>Package {$package} Constants</refname> + <refpurpose>Constants defined in and used by {$package}</refpurpose> + </refnamediv> + <refsect1 id="{$id}.details"> + <title>All Constants</title> +{section name=files loop=$defines} + <refsect2 id="{$id}.details.{$defines[files].page}"> + <title> + Constants defined in {$defines[files].name} + </title> + <para> + <table> + <title>Constants defined in {$defines[files].name}</title> +{section name=d loop=$defines[files].defines} +{if $defines[files].defines[d].conflicts}{assign var="defineconflict" value=true}{/if} +{/section} + <tgroup cols="{if $defineconflict}4{else}3{/if}"> + <thead> + <row> + <entry>Name</entry> + <entry>Value</entry> + <entry>Line Number</entry> +{if $defineconflict} + <entry>Conflicts with other packages</entry> +{/if} + </row> + </thead> + <tbody> +{section name=d loop=$defines[files].defines} + <row> + <entry>{$defines[files].defines[d].name}</entry> + <entry>{$defines[files].defines[d].value}</entry> + <entry>{$defines[files].defines[d].line_number}</entry> +{if $defineconflict} + <entry>{$defines[files].defines[d].conflicts}</entry> +{/if} + </row> +{/section} + </tbody> + </tgroup> + </table> + </para> + </refsect2> +{/section} + </refsect1> +</refentry> +<!-- Generated by phpDocumentor v {$phpdocversion} {$phpdocwebsite} --> +<!-- Keep this comment at the end of the file +Local variables: +mode: sgml +sgml-omittag:t +sgml-shorttag:t +sgml-minimize-attributes:nil +sgml-always-quote-attributes:t +sgml-indent-step:1 +sgml-indent-data:t +sgml-parent-document:nil +sgml-default-dtd-file:"../../../../manual.ced" +sgml-exposed-tags:nil +sgml-local-catalogs:nil +sgml-local-ecat-files:nil +End: +vim600: syn=xml fen fdm=syntax fdl=2 si +vim: et tw=78 syn=sgml +vi: ts=1 sw=1 +--> diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/XML/DocBook/peardoc2/templates/default/templates/docblock.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/XML/DocBook/peardoc2/templates/default/templates/docblock.tpl new file mode 100755 index 00000000..ab140b3b --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/XML/DocBook/peardoc2/templates/default/templates/docblock.tpl @@ -0,0 +1,116 @@ +{if $var} +{assign var="num" value="refsect3"} +{else} +{assign var="num" value="refsect1"} +{/if} + <{$num} id="{$id}.desc"> + &title.desc; +{if $line_number} + <simpara> + Source on line #: {if $class_slink}{$class_slink}{else}{$line_number}{/if} + </simpara> +{/if} +{if $var} + <simpara> + {$sdesc|default:"¬documented;"} + </simpara> +{/if} +{if $desc} + {$desc} +{else} +{if $var && $sdesc} +{else} + ¬documented; +{/if} +{/if} + </{$num}> +{if $params} + <{$num} id="{$id}.param"> + &title.param; + <para> +{section name=params loop=$params} + <variablelist> + <varlistentry> + <term> + {assign var="temp" value=$params[params].name} + {if strpos($params[params].type, '|') || + strpos($cparams.$temp.cdatatype, '>')} + <type>{$params[params].type}</type> + {else} + {if $params[params].type == 'integer'} + {assign var="paramtype" value="int"} + {elseif $params[params].type == 'boolean'} + {assign var="paramtype" value="bool"} + {else} + {assign var="paramtype" value=$params[params].type} + {/if} + {if in_array($paramtype, array('bool', 'int', 'float', 'string', 'mixed', 'object', 'resource', 'array', 'res'))} + &type.{$paramtype}; + {else} + <type>{$paramtype}</type> + {/if} + {/if} + <parameter>{$params[params].name|replace:"&":"&"}</parameter> + </term> + <listitem> + <para> + {$params[params].description} + </para> + </listitem> + </varlistentry> + </variablelist> +{/section} + </para> + </{$num}> +{/if} +{foreach from=$tags item="tag" key="tagname"} +{if $tagname != 'static' && $tagname != 'author' && $tagname != 'version' && $tagname != 'copyright' && $tagname != 'package' && $tagname != 'subpackage' && $tagname != 'example'} + <{$num} id="{$id}.{$tagname}"> + &title.{$tagname}; + {section name=t loop=$tag} + <para> + <emphasis>{$tag[t].keyword}</emphasis> {$tag[t].data} + </para> + {/section} + </{$num}> +{elseif $tagname == 'deprecated'} + <{$num} id="{$id}.{$tagname}"> + &title.note; + ¬e.deprecated; + {section name=t loop=$tag} + <para> + {$tag[t].data} + </para> + {/section} + </{$num}> +{elseif $tagname == 'static'} +{assign var="canstatic" value=true} +{elseif $tagname == 'example'} + <{$num} id="{$id}.{$tagname}"> + <title>Examples</title> + {section name=t loop=$tag} + {$tag[t].data} + {/section} + </{$num}> +{elseif $tagname != 'package' && $tagname != 'subpackage'} + <{$num} id="{$id}.{$tagname}"> + <title>{$tagname}</title>{* <-- need language snippets support for phpDocumentor, will use this instead *} + {section name=t loop=$tag} + <para> + <emphasis>{$tagname}</emphasis> {$tag[t].data} + </para> + {/section} + </{$num}> +{/if} +{/foreach} +{if $canstatic} + <{$num} id="{$id}.note"> + &title.note; + ¬e.canstatic; + </{$num}> +{else} + <{$num} id="{$id}.note"> + &title.note; + ¬e.notstatic; + </{$num}> +{/if} diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/XML/DocBook/peardoc2/templates/default/templates/errors.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/XML/DocBook/peardoc2/templates/default/templates/errors.tpl new file mode 100644 index 00000000..0f526584 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/XML/DocBook/peardoc2/templates/default/templates/errors.tpl @@ -0,0 +1,21 @@ +{include file="header.tpl" noleftindex=true} +{section name=files loop=$files} +<a href="#{$files[files].file}">{$files[files].file}</a><br> +{/section} +{foreach key=file item=issues from=$all} +<a name="{$file}"></a> +<h1>{$file}</h1> +{if count($issues.warnings)} +<h2>Warnings:</h2><br> +{section name=warnings loop=$issues.warnings} +<b>{$issues.warnings[warnings].name}</b> - {$issues.warnings[warnings].listing}<br> +{/section} +{/if} +{if count($issues.errors)} +<h2>Errors:</h2><br> +{section name=errors loop=$issues.errors} +<b>{$issues.errors[errors].name}</b> - {$issues.errors[errors].listing}<br> +{/section} +{/if} +{/foreach} +{include file="footer.tpl"} diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/XML/DocBook/peardoc2/templates/default/templates/globals.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/XML/DocBook/peardoc2/templates/default/templates/globals.tpl new file mode 100755 index 00000000..7392d87a --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/XML/DocBook/peardoc2/templates/default/templates/globals.tpl @@ -0,0 +1,69 @@ +<refentry id="{$id}"> + <refnamediv> + <refname>Package {$package} Global Variables</refname> + <refpurpose>Global Variables defined in and used by {$package}</refpurpose> + </refnamediv> + <refsect1 id="{$id}.details"> + <title>All Global Variables</title> +{section name=files loop=$globals} + <refsect2 id="{$id}.details.{$globals[files].page}"> + <title> + Global Variables defined in {$globals[files].name} + </title> + <para> + <table> + <title>Global Variables defined in {$globals[files].name}</title> +{section name=d loop=$globals[files].globals} +{if $globals[files].globals[d].conflicts}{assign var="globalconflict" value=true}{/if} +{/section} + <tgroup cols="{if $globalconflict}4{else}3{/if}"> + <thead> + <row> + <entry>Name</entry> + <entry>Value</entry> + <entry>Line Number</entry> +{if $globalconflict} + <entry>Conflicts with other packages</entry> +{/if} + </row> + </thead> + <tbody> +{section name=d loop=$globals} + <row> + +<entry>{$globals[files].globals[d].name}</entry> + <entry>{$globals[files].globals[d].value}</entry> + <entry>{$globals[files].globals[d].line_number}</entry> +{if $globalconflict} + <entry>{$globals[files].globals[d].conflicts}</entry> +{/if} + </row> +{/section} + </tbody> + </tgroup> + </table> + </para> + </refsect2> +{/section} + </refsect1> +</refentry> +<!-- Generated by phpDocumentor v {$phpdocversion} {$phpdocwebsite} --> +<!-- Keep this comment at the end of the file +Local variables: +mode: sgml +sgml-omittag:t +sgml-shorttag:t +sgml-minimize-attributes:nil +sgml-always-quote-attributes:t +sgml-indent-step:1 +sgml-indent-data:t +sgml-parent-document:nil +sgml-default-dtd-file:"../../../../manual.ced" +sgml-exposed-tags:nil +sgml-local-catalogs:nil +sgml-local-ecat-files:nil +End: +vim600: syn=xml fen fdm=syntax fdl=2 si +vim: et tw=78 syn=sgml +vi: ts=1 sw=1 +--> diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/XML/DocBook/peardoc2/templates/default/templates/imethods.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/XML/DocBook/peardoc2/templates/default/templates/imethods.tpl new file mode 100755 index 00000000..c0be1bf7 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/XML/DocBook/peardoc2/templates/default/templates/imethods.tpl @@ -0,0 +1,24 @@ + <para> +{section name=classes loop=$imethods} + <table> + <title>Inherited from {$imethods[classes].parent_class}</title> + <tgroup cols="2"> + <thead> + <row> + <entry>Method Name</entry> + <entry>Summary</entry> + </row> + </thead> + <tbody> +{section name=m loop=$imethods[classes].imethods} + <row> + <entry>{if $imethods[classes].imethods[m].constructor} Constructor{/if} {$imethods[classes].imethods[m].link}</entry> + <entry>{$imethods[classes].imethods[m].sdesc|default:"¬documented;"}</entry> + </row> +{/section} + </tbody> + </tgroup> + </table> +{/section} + </para> + diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/XML/DocBook/peardoc2/templates/default/templates/ivars.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/XML/DocBook/peardoc2/templates/default/templates/ivars.tpl new file mode 100755 index 00000000..3b9eecf9 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/XML/DocBook/peardoc2/templates/default/templates/ivars.tpl @@ -0,0 +1,26 @@ + <para> +{section name=classes loop=$ivars} + <table> + <title>Inherited from {$ivars[classes].parent_class}</title> + <tgroup cols="2"> + <thead> + <row> + <entry>Variable Name</entry> + <entry>Summary</entry> + <entry>Default Value</entry> + </row> + </thead> + <tbody> +{section name=m loop=$ivars[classes].ivars} + <row> + <entry>{if $ivars[classes].ivars[m].constructor} Constructor{/if} {$ivars[classes].ivars[m].link}</entry> + <entry>{$ivars[classes].ivars[m].sdesc|default:"¬documented;"}</entry> + <entry>{$ivars[classes].ivars[m].default|default:"&null;"}</entry> + </row> +{/section} + </tbody> + </tgroup> + </table> +{/section} + </para> + diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/XML/DocBook/peardoc2/templates/default/templates/method.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/XML/DocBook/peardoc2/templates/default/templates/method.tpl new file mode 100755 index 00000000..fc53f5dc --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/XML/DocBook/peardoc2/templates/default/templates/method.tpl @@ -0,0 +1,45 @@ +<refentry id="{$id}"> + <refnamediv> + <refname>{if $function_call.constructor}constructor {/if}<function>{$class}::{$function_name}</function></refname> + <refpurpose>{$sdesc|default:$function_name}</refpurpose> + </refnamediv> + <refsynopsisdiv> + <funcsynopsis> + <funcsynopsisinfo> + require_once '{$source_location}'; + </funcsynopsisinfo> + <funcprototype> + <funcdef>{$function_return}{if $function_call.returnsref}&{/if} + {if $function_call.constructor}constructor {/if}<function>{$class}::{$function_name}</function></funcdef> +{if count($function_call.params)} +{section name=params loop=$function_call.params} + <paramdef>{if @strpos('>',$function_call.params[params].type)}<replaceable>{/if}{$function_call.params[params].type}{if @strpos('>',$function_call.params[params].type)}</replaceable>{/if} <parameter>{if $function_call.params[params].hasdefault} <optional>{/if}{$function_call.params[params].name|replace:"&":"&"}{if $function_call.params[params].hasdefault} = {$function_call.params[params].default}</optional>{/if}</parameter></paramdef> +{/section} +{else} +<paramdef></paramdef> +{/if} + </funcprototype> + </funcsynopsis> + </refsynopsisdiv> +{include file="docblock.tpl" cparams=$params params=$function_call.params desc=$desc tags=$tags} +</refentry> +<!-- Keep this comment at the end of the file +Local variables: +mode: sgml +sgml-omittag:t +sgml-shorttag:t +sgml-minimize-attributes:nil +sgml-always-quote-attributes:t +sgml-indent-step:1 +sgml-indent-data:t +sgml-parent-document:nil +sgml-default-dtd-file:"../../../../manual.ced" +sgml-exposed-tags:nil +sgml-local-catalogs:nil +sgml-local-ecat-files:nil +End: +vim600: syn=xml fen fdm=syntax fdl=2 si +vim: et tw=78 syn=sgml +vi: ts=1 sw=1 +--> + diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/XML/DocBook/peardoc2/templates/default/templates/package.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/XML/DocBook/peardoc2/templates/default/templates/package.tpl new file mode 100755 index 00000000..5b6bfc1c --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/XML/DocBook/peardoc2/templates/default/templates/package.tpl @@ -0,0 +1,26 @@ +<sect1 id="{$id}"> +<title>{$package}</title> +{section name=ids loop=$ids} +{$ids[ids]} +{/section} +</sect1> +<!-- Generated by phpDocumentor v {$phpdocversion} {$phpdocwebsite} --> +<!-- Keep this comment at the end of the file +Local variables: +mode: sgml +sgml-omittag:t +sgml-shorttag:t +sgml-minimize-attributes:nil +sgml-always-quote-attributes:t +sgml-indent-step:1 +sgml-indent-data:t +sgml-parent-document:nil +sgml-default-dtd-file:"../../../../manual.ced" +sgml-exposed-tags:nil +sgml-local-catalogs:nil +sgml-local-ecat-files:nil +End: +vim600: syn=xml fen fdm=syntax fdl=2 si +vim: et tw=78 syn=sgml +vi: ts=1 sw=1 +-->
\ No newline at end of file diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/XML/DocBook/peardoc2/templates/default/templates/tutorial.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/XML/DocBook/peardoc2/templates/default/templates/tutorial.tpl new file mode 100755 index 00000000..e2cb70c4 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/XML/DocBook/peardoc2/templates/default/templates/tutorial.tpl @@ -0,0 +1,21 @@ +{$contents} +<!-- Generated by phpDocumentor v {$phpdocversion} {$phpdocwebsite} --> +<!-- Keep this comment at the end of the file +Local variables: +mode: sgml +sgml-omittag:t +sgml-shorttag:t +sgml-minimize-attributes:nil +sgml-always-quote-attributes:t +sgml-indent-step:1 +sgml-indent-data:t +sgml-parent-document:nil +sgml-default-dtd-file:"../../../../manual.ced" +sgml-exposed-tags:nil +sgml-local-catalogs:nil +sgml-local-ecat-files:nil +End: +vim600: syn=xml fen fdm=syntax fdl=2 si +vim: et tw=78 syn=sgml +vi: ts=1 sw=1 +-->
\ No newline at end of file diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/XML/DocBook/peardoc2/templates/default/templates/var.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/XML/DocBook/peardoc2/templates/default/templates/var.tpl new file mode 100755 index 00000000..0d490e46 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/XML/DocBook/peardoc2/templates/default/templates/var.tpl @@ -0,0 +1,15 @@ + <refsect1 id="{$my_id}.vars"> + <title>Class Variables</title> +{section name=var loop=$vars} + <refsect2 id="{$vars[vars].id}"> + <title>{$vars[var].var_type} {$vars[var].var_name}{if $vars[var].default} = {$vars[var].var_default}{/if}</title> + +{section name=v loop=$vars[var].var_overrides} + <para> + <emphasis>Overrides {$vars[var].var_overrides[v].link}</emphasis>{if $vars[var].var_overrides[v].sdesc}: {$vars[var].var_overrides[v].sdesc|default:""}{/if} + </para> +{/section} +{include file="docblock.tpl" var=true desc=$vars[var].desc sdesc=$vars[var].sdesc tags=$vars[var].tags line_number=$line_number id=$vars[var].id} + </refsect2> +{/section} + </refsect1> diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/XML/DocBook/templates/peardoc2/templates/class_summary.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/XML/DocBook/templates/peardoc2/templates/class_summary.tpl new file mode 100755 index 00000000..ca8210a7 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/XML/DocBook/templates/peardoc2/templates/class_summary.tpl @@ -0,0 +1,93 @@ +<!-- $Revision: 1.1 $ --> +<refentry id="{$id}"> + <refnamediv> + <refname>Class {$class_name} Summary</refname> + <refpurpose>{$sdesc|default:"¬documented"}</refpurpose> + </refnamediv> +{include file="docblock.tpl" desc=$desc tags=$tags line_number=$line_number params=false} +{include file="var.tpl" vars=$vars my_id=$id} + <refsect1 id="{$id}.heritage"> + <title> + Heritage for {$class_name} + </title> + <refsect2 id="{$id}.heritage.class-trees"> + <title> + Class Trees for {$class_name} + </title> + <para> + {section name=tree loop=$class_tree} + {section name=mine loop=$class_tree[tree]} {/section}<itemizedlist> + {section name=mine loop=$class_tree[tree]} {/section} <listitem> + {section name=mine loop=$class_tree[tree]} {/section} {$class_tree[tree]} + {/section} + {section name=tree loop=$class_tree} + {section name=mine loop=$class_tree[tree]} {/section}</listitem> + </itemizedlist> + {/section} + </para> + </refsect2> +{if $children} + <refsect2 id="{$id}.heritage.child-classes"> + <title> + Classes that extend {$class_name} + </title> + <para> + <table> + <tgroup cols="2"> + <thead> + <row> + <entry>Class</entry> + <entry>Summary</entry> + </row> + </thead> + <tbody> +{section name=kids loop=$children} + <row> + <entry>{$children[kids].link}</entry> + <entry>{$children[kids].sdesc}</entry> + </row> +{/section} + </tbody> + </tgroup> + </table> + </para> + </refsect2> +{/if} +{if $imethods} + <refsect2 id="{$id}.heritage.inherited-methods"> + <title> + {$class_name} Inherited Methods + </title> +{include file="imethods.tpl" ivars=$ivars} + </refsect2> +{/if} +{if $ivars} + <refsect2 id="{$id}.heritage.inherited-vars"> + <title> + {$class_name} Inherited Variables + </title> +{include file="ivars.tpl" ivars=$ivars} + </refsect2> +{/if} + </refsect1> +</refentry> +<!-- Generated by phpDocumentor v {$phpdocversion} {$phpdocwebsite} --> +<!-- Keep this comment at the end of the file +Local variables: +mode: sgml +sgml-omittag:t +sgml-shorttag:t +sgml-minimize-attributes:nil +sgml-always-quote-attributes:t +sgml-indent-step:1 +sgml-indent-data:t +sgml-parent-document:nil +sgml-default-dtd-file:"../../../../manual.ced" +sgml-exposed-tags:nil +sgml-local-catalogs:nil +sgml-local-ecat-files:nil +End: +vim600: syn=xml fen fdm=syntax fdl=2 si +vim: et tw=78 syn=sgml +vi: ts=1 sw=1 +-->
\ No newline at end of file diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/XML/DocBook/templates/peardoc2/templates/ivars.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/XML/DocBook/templates/peardoc2/templates/ivars.tpl new file mode 100755 index 00000000..3b9eecf9 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/XML/DocBook/templates/peardoc2/templates/ivars.tpl @@ -0,0 +1,26 @@ + <para> +{section name=classes loop=$ivars} + <table> + <title>Inherited from {$ivars[classes].parent_class}</title> + <tgroup cols="2"> + <thead> + <row> + <entry>Variable Name</entry> + <entry>Summary</entry> + <entry>Default Value</entry> + </row> + </thead> + <tbody> +{section name=m loop=$ivars[classes].ivars} + <row> + <entry>{if $ivars[classes].ivars[m].constructor} Constructor{/if} {$ivars[classes].ivars[m].link}</entry> + <entry>{$ivars[classes].ivars[m].sdesc|default:"¬documented;"}</entry> + <entry>{$ivars[classes].ivars[m].default|default:"&null;"}</entry> + </row> +{/section} + </tbody> + </tgroup> + </table> +{/section} + </para> + diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/XML/DocBook/templates/peardoc2/templates/tutorial.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/XML/DocBook/templates/peardoc2/templates/tutorial.tpl new file mode 100755 index 00000000..e2cb70c4 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/XML/DocBook/templates/peardoc2/templates/tutorial.tpl @@ -0,0 +1,21 @@ +{$contents} +<!-- Generated by phpDocumentor v {$phpdocversion} {$phpdocwebsite} --> +<!-- Keep this comment at the end of the file +Local variables: +mode: sgml +sgml-omittag:t +sgml-shorttag:t +sgml-minimize-attributes:nil +sgml-always-quote-attributes:t +sgml-indent-step:1 +sgml-indent-data:t +sgml-parent-document:nil +sgml-default-dtd-file:"../../../../manual.ced" +sgml-exposed-tags:nil +sgml-local-catalogs:nil +sgml-local-ecat-files:nil +End: +vim600: syn=xml fen fdm=syntax fdl=2 si +vim: et tw=78 syn=sgml +vi: ts=1 sw=1 +-->
\ No newline at end of file |